一直想做一个自己的网站(非博客),但是又不知道做什么内容的好,又一次看到了w3schools,萌发了开发一个在线java学习的网站,好可以像w3schools网站一样可以在线执行,想法是很好,是要填的坑有点多。
  技术选择
  使用过wordpress和jekyll两个工具。wordpress是需要php的支持,由于没有php开发经验的,没有很强烈的使用意愿。
  jekyll是使用ruby开发的静态博客生成系统,阅读完官网上的文档之后开始搭建环境,过程还是很顺利,但是在使用jekyll提供的功能开发模板的时候感觉不是很顺手,又开始了漫无目的的搜索。
  搜索“static website generator” 意外的发现了两个比jekyll更新更潮流的静态网站生成器,一个是hexo,一个是hugo。
  hexo台湾人使用nodejs开发的,hugo是外国人使用go语言开发的,两者都很轻量级,由于近买了一本《深入浅出node.js》
  对nodejs比较熟, 先试验hexo,发现确实很好用, hexo的插件系统很方便能编写自己的插件,由于代码写的不是很成熟,这里不贴了。
  hexo比jekyll是简单方便很多,但是从源码和文档两方面看都不算特别成熟的项目,加上开发者只有一个人,功能更新方面也很慢,执行速度比jekyll是块了很多,用来生成博客基本是可以了,但是我的计划是网站少也有几千页面,还是想找一个更快的工具,而且heox运行不太稳定,会有些意料之外的错误(sorry,具体错误没有记录下来)。
  hugo号称是速度快的静态网站生成器,只能把希望寄托在hugo上面。 开始了阅读hugo文档, 看过几页文档之后心想————这是我要找的东西。
  hugo比jekyll安装方便,执行速度快,功能上略少点,但是稳定性,更新速度,文档丰富程度都算的上很。
  虽然出现时间差不多,但是hugo比hexo成熟很多,原因是 hugo是一个大神开发的,而且是真正开源,不是只开放源代码。
  怎么编辑java?
  简单的方式是使用editarea,但是界面太丑陋了,又上网搜索,发现了一个叫aceeditor的在线代码编辑器,支持嵌入到任何网页,支持多大几十种编程语言以及几十种语法高亮主题。
  开源的东西也很强大啊,多探索总是会有意外的收获。
  怎么执行java?
  像js,css,html这种技术,在线编辑和展现都很简单,但是java在线执行要复杂很多。
  查找很多网站,只发现几个可以在线编译和执行java的网站,有一个ideone的网站提供api可以远程调用,传入源码,返回java代码执行结果, 但是每一个月只有1000次的免费调用次数。目前用的是ideone的api。
  网站模板
  几个关键问题解决之后,剩下的是怎么组织和展现网站内容了, 网站样式的话由于不熟悉前端,偷懒使用了laravel的文档页面的样式。
  网站内容这块,引文静态网站生成和动态网站一样支持模板, 只需要编写几个模板文件大功告成。
  参考了一下hugo官网提供的主题源码之后, 会写了。现在考虑要不要放到github上面去。
  后贴下hugo生成的这个网站: java union, 还有很多不成熟的地方,大家轻点喷
  想学习hugo的同学可以参考我前几天发了一个hugo的安装教程, 参考 hugo - 好用的静态网站生成器