[心得] 使用Groovy自动生成网站


周末忽然心血来潮,决定重建一下bestunix,为了不再出安全问题,这次决定完全使用静态页面。

基本思路是这样的:

  1. 使用crontab定期从space上面下载feed.rss
  2. 使用groovy脚本解析feed.rss,生成静态页面
  3. 每次生成的页面覆盖以前的页面。

看起来很简单,但是因为以前没有用过groovy,而且groovy又没有好的ide工具,完全使用ultraEdit来做的,大概花了一天半时间。

基本上写程序半天,做页面半天,配置服务器半天(jdk,groovy,apache)。

通 过这个小东西,基本上理解groovy的闭包了,另外对groovy的优点也有了进一步认识,进行io操作非常方便,语法习惯了以后写起来也很爽,虽然使 用ultraEdit,但因为基本上没有重复的代码,ide生成代码的功能也显得不那么重要。缺点也很明显,没有好用的ide,调试程序非常麻烦,比js 难调多了。另外就是性能太差,慢得要死,当工具来使还行,大项目上这东西还是不敢用。

做页面本身不是我的长项,花半天也是可以理解的。

配置服务器之所以要这么长时间,主要是因为编码的问题。通过iconv转换程序代码,设置apache默认编码等若干次尝试后,终于不再出乱码了。另外一个要注意的地方是groovy在linux下必须设置classpath,否则会找不到类。

现在设好以后,每次我在msn space上写了东西,bestunix上就会生成相应的静态页面了,呵呵,还是很有成就感的。

10月22日更新:

今天整理了一下程序,主要做了下面几点

  1. 程序功能分工更清晰,文件由原来的两个急剧增加到6个
  2. 增加了配置文件,适应性更好
  3. 程序和模板,生成的网站可以分离了
  4. 增加了RSS输出
  5. 增加了自动生成sitemap
  6. 修改了原来日期显示的问题

今天用了一下groovy的eclipse插件,还不错,有部分的代码自动完成功能和部分的语法检查,可以进行很简单的调试。另外一个感觉就是非常慢。

11月6日更新

  1. 重构了代码,使功能分工更清晰
  2. 增加了一个DataFactory,所有磁盘资源都只需要读取一次,减少了因为重复读取数据造成的性能问题
  3. 增加了tag的功能,使得导航更方便
  4. 解决了非utf-8环境下测试的问题
  5. 其他地方的性能也做了一些优化
  6. 网页模板改用绝对链接,这样模板文件更容易管理
  7. 程序与模板,生成的完全分离,可以在Config中指定。

11月8日更新

  1. 增加了taglist页

11月11日更新

  1. 增加了站内搜索,使用google ajax api,折腾了半天,还算好用
  2. 对上面的一级栏目做了调整,不再放分类了
  3. 修改了rss中一个链接错误

11月12日更新

  1. 终于实现分页了,确实有点麻烦,自己写了个分页类。
  2. 对网站的整体样式做了一些调整,使用大字体了,这样看着不会那么费劲。
  3. 把源代码放到 google code 上了。

TODO:

  1. 合并rss.因为网站上的rss只输出最近的几十条。内容多了就会丢失以前的数据。需要写个程序来增量合并更新的内容。
  2. 自动生成对应的繁体中文网站
  3. 根据tag自动生成专题
  4. 生成pdf
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值