再见,slzite.rb
salenzo.github.io
salenzo website
slzite.rb
⚠ 警告:对网站内容的修改请在 src 目录中进行。该目录外的内容会随时被 slzite.rb 覆盖!Programming by Squirrel
这是2020年8月至今一直挂在salenzo.github.io仓库首页的readme。
我编写slzite.rb的初衷便是不满于Jekyll缺乏逻辑的配置方法,也是为了通过只消一天时间就能做出一个静态网站生成器来说明这类工具只是在处理琐事,并没有什么技术含量。我不知道我自己编写的工具是否真的做到了配置起来更自然,但在我的印象中,slzite.rb的核心确实是花了一个下午完成的。
欢迎!slzite是将使用Markdown、SASS、HTML模板技术制作的网站生成为浏览器可以直接查看的网页文件集的工具。
警告:网站内容在src目录中。该目录外的内容会随时被本工具覆盖!
请选择你的英雄:
- [1] 预览
- [2] 上传
- [3] 只生成而不预览或上传
- [4] 开始编写一篇博客文章
- [9] slzite的原理
- [0] 退出
为了容易上手,工具采用了交互式控制台界面。
那个时候GitHub Actions还是个刚结束公测不到一年的新鲜玩意儿,部署Hexo之类的非Jekyll站点的统一方式是本地编译后上传,用无意义的提交消息污染gh-pages分支(如果有)的历史记录,所以才会有程序帮忙创建Git提交并上传的操作。
按下9(不用回车——调用的是$stdin.getch
)后,会在控制台显示下列帮助信息。
假如你是李华,你要基于GitHub Pages服务制作静态个人网站,但是觉得Jekyll太难用,又不想直接写HTML和CSS。你在lihua.github.io存储库的
src/index.md
里写好自我介绍,在src/stylesheet.scss
里编写好网站样式,在src/modules/navbar.html
里制作好网站导航条,写出网页模板src/modules/main.html
:<title>李华的个人网站</title> <link rel="stylesheet" src="/stylesheet.css"> <body> #include "navbar.html" <main> #pragma CONTENTS
假如你的英语作文放在
src/essay/english/001.md
,如果你愿意,可为之使用模板src/modules/essay_english.html
,而不是src/modules/main.html
。slzblog会处理src
目录,自动转换Markdown和SASS文件并套上模板。模板中常见的以/开头的链接也会被替换为相对路径,这样就能直接打开本地网页预览了。如果要直接发布,生成、提交、推送也能自动一气呵成。按任意键继续……
这些信息很快就被@akhialomgir改成了英文。
虽然静态网站生成器的原理十分简单,但是面对无穷无尽的不同需求,每种生成器都有不优雅的时候。Jekyll宣传“blog-aware”,其规定的项目结构对非博客类网站支持度很糟糕。上周尝试的MkDocs如Python本身一样追求简单,常见的CSS预处理等任务也要找插件来实现。我编写的slzite.rb压根没有插件系统,任何不足都无法弥补。
今天,根据Jamstack上的名单,知名的、不知名的静态网站生成器多达三百多种。这是一个轻易涉足的领域,这是一个竞争激烈的领域。随着静态网站的概念从以前的天方夜谭到现在的家喻户晓,有许多比slzite.rb更强大、更受支持和欢迎的工具,也一定会有比slzite.rb更简洁、更易用和上手的工具。今后,Ŝalenzo将尝试各种静态网站生成工具和托管服务。salenzo.github.io接下来的旅程,就从回归Jekyll开始。