又一个静态博客诞生了!

继标记语言帖子的讨论之后,折腾静态博客的想法又蠢蠢欲动。经过几天的拷贝粘贴之后 :rofl: 成功上线了一个 Nikola 静态博客!:tada:

https://macplay.github.io

目前博客样式还比较素,设计和前端技能一般般 ¯_(ツ)_/¯ 后面慢慢改吧。

但还是有一些亮点值得说:

  1. 模版基本从零构建,脱离 Bootstrap 的魔掌;

  2. 支持 reST、Markdown(及其扩展)、Jupyter Notebook 等格式的写作;

  3. 支持代码片段和图册,直接把代码/图片扔到对应文件夹就行;

  4. 评论系统采用 Gitalk,直接 Github issue 当评论;

  5. 使用 TravisCI 自动构建,这样不必电脑上安装 Nikola,网页或者手机上也能写博客。

目前还没想好博客要写啥,慢慢来吧。欢迎参观、评论、入坑…… :new_moon_with_face:

2赞

很酷炫,我比较感兴趣的是你怎样将 org 纳入你的工作流?还是说只用 md?

用以上提到的三种语言都可以写呀。当然官方说用 org 也能写,不过支持程度如何就不清楚了。

org 的大部分特性在 markdown 和 reST 中都可以实现,甚至支持特性更多,可用的编辑器也多。

明后天我计划写一下踩过的坑(自己做总结,也方便大家自己定制),还有基本写作流程(这个倒简单)。

上周末试了下 Farbox 的升级版 Bitcron ,使用非常舒服,推荐一下。折腾主题和工具什么的虽然也挺有意思,不过还是要多写东西啊 :grimacing:

将 org 导出成 markdown,也足够应付大部分场景的吧

评论系统 利用Gittalk,是否要每篇文章都要手动创建一个issue?,目前我博客使用gitment作为评论系统,新发布一篇博文就要init一下生成一个issue,这样评论才能用,你这个要这样吗?

赞!我之前折腾过Next, 但还是感觉要操心的事情有点多。现在直接做wordpress 的付费用户了,只关心写作。

@darcylee 需要博客所有者或者 collaborator 访问下页面才行,比如我的博客就是 #ashfinal 或者 #macplay。访问一次就行,不需要做别的。这个是可以接受的,发完帖子检查下最终效果没毛病。gitment 是需要你手动 init 个 issue?

@zmonster 你说的多写东西是对的 :pray: 不过折腾静态博客的一大诱因是:避免平台锁定。哪天平台让你不爽了直接卷细软跑路 :joy: 稍微花点时间折腾下还是可以的。上文说的几天,实际上时间(陆陆续续)花在“从零”构建模版上。直接使用现有模版的话,顶多一个小时就上线了。

@songpeng 还行吧,模板弄好别的就不用操心了。随便用哪个编辑器写完,把 markdown/reST 文档丢上去就不用管了。另外,wordpress 不大可能支持 Jupyter notebook 渲染。

嗯,我也是静态博客,只是看着友链里一个个博客更新越来越少甚至 404 了,有点感慨。

不用手动在github上创建issue,就是评论框上有一个init按钮,按一下就可以

@zmonster 确实写作更多的是需要坚持,而不仅仅是激情。我正在想也许可以引入多个作者共同协作,保证博客的稳定产出。

@darcylee 和 Gitalk 估计差不多,不需要点那一下,稍微简单了一点点。

虽然布局还不够漂亮,但是颜色的选择啥的都很和谐,“你还说你不会武功?”

@JJPandari 哈哈,我能不能理解为称赞?:laughing:

不过说真的,没有设计稿的情况下,样式肯定还得慢慢调。

现在感觉呢,能满足基本需求,但是,呃……缺乏设计感

新文章:静态博客 Nikola 之写作实践 初步介绍了下写作流程。

只需把 .rst, .md, .ipynb 等源文件扔到 GitHub 上,就会自动生成博文。

手机上也能搞定静态博客。

2赞

学习了,期待后续啊

Pelican 貌似也支持 jupyter notebook:

你能比较一下吗?

两者其实大同小异,因为都是使用基本相同的轮子建造起来的。具体到 Jupyter Notebook,都是使用 nbconvert 实现静态化的。真的不用太过纠结。

细微的差别从作者的设置步骤逐个来看:

  1. Nikola 开箱支持 nb,而 Pelican 则是通过第三方插件。第三方插件的问题在于,第一,可能会年久失修,第二,设置要麻烦些,Nikola 会自个把一些第三方依赖装上,比如 matplotlib 等等,而链接的博客中需要设置一堆东东。另外,我估计即使能使用 TravisCI 持续构建,也得写一个巨复杂的脚本。
  2. 博客中的 meta 信息是另外建了一个新文件 blog_with_jupyter.ipynb-meta ,nb 本身是支持 meta 信息的,感觉还是不要额外建一个增加管理负担。
  3. 发布到 GitHub pages,Nikola 自己封装了一个命令:nikola github_deploy
  4. .ipynb 文件也同步到 Github。Nikola 默认将源文件复制到输出目录,并在帖子里链接到源文件。我觉得没有必要,就给删掉了……

其实以上说的几点,相对于底层来说没啥技术含量,算是用户体验层次的东西。如果底层设计漂亮,稳健又易于扩展,这些都不是事儿。不过我个人没有深入看过 Pelican 的文档,也没有用它写过主题,就只能说说以上这些东西了……个人意见,仅供参考。 :grinning:

1赞

新文章:30 分钟搭建一个 Nikola 博客

本地毋需安装任何静态博客程序,搭建一个云端 Nikola 博客的方法。:new_moon_with_face:

要敲命令对新手不太友好,不过一次设置成功就再也不用动了。:heart_eyes:

1赞

刚知道原来 GitHub 支持 Jupyter notebook 的渲染。有点震惊。:kissing_heart:

有兴趣的童鞋也可以看看 posts 文件夹下的其它帖子。总体上 reST 的预览支持很好,包括 footnote 也正确生成了。反倒是 Markdown 有点着急,footnote 和 toc 等都统统没有渲染出来。

原来 Hugo 和 spf13-vim 项目发起人都有 spf13。

之前 spf13-vim 放着 1000 个 issues 不解决,玩失踪,原来跑去搞静态博客了。