没啥特别的意义,源于自然风景,天气的名称,像 rain ,thunder ,feng 。。。都是好名称
首先下载二进制文件到本地, 然后执行初始化
└──╼ ./snow init mysnow
Welcome to snow 0.1.0.
> Where do you want to create your new web site? [mysnow]
> What will be the title of this web site? [snow]
> Who will be the author of this web site? [snow]
> What is your URL prefix? (no trailing slash) [http://127.0.0.1:8000]
> Do you want to create first page? [Y/n]
这时会生成一个 mysnow
的目录, 进入该目录,然后执行 snow server
就可以访问 http://127.0.0.1:8000/posts/index.html
查看第一篇文章了
└──╼ cd mysnow
└──╼ ./../snow server
INFO Done: Static Processed 0 static files in 39.691µs
INFO Done: Page Processed 1 normal pages in 12.218357ms
INFO Done: Section Processed 1 posts in 12.327303ms
INFO Done: Taxonomy Processed 1 authors, 1 categories, 3 tags in 12.33494ms
INFO Listen http://127.0.0.1:8000 ...
Hugo
使用的主题模版,虽然它很快,Snow
采用的是类 Django 的 Pongo2Go
的问题,不是 Hugo
的问题,很早之前就想从 Pelican
迁移到 Hugo
,但有一个加密功能一直没法实现, 有第三方插件都是需要先生成 html ,再调用第三方工具来进行加密, 原本想直接改一下 Hugo 的源码自己编译一个二进制来支持, 但后来只能说声打扰了支持 orgmode:hugo 也支持,但 snow 用的解析库是我自己写的org-golang,功能少,但对于只把 orgmode 作为标记语言来使用已经足够了
shortcode: 有点像 hugo 的 shortcode ,但支持对渲染后的 HTML 进行修改,比如我有一系列的图片需要添加 fancybox ,传统方式一是自定义 markdown 渲染函数,二是使用 JS 进行处理,而在 Snow 中只需要创建一个 shortcodes/img.html
{%- set show = attr.src %}
{%- set thumb = attr.src + "-thumb" %}
<a href="{{ show }}" data-fancybox="image">
<img data-src="{{ thumb }}" class="lazyload" />
</a>
就可以直接生成带data-fancybox
的标签
hooks: 虽然很鸡肋,如果要添加插件就得重新编译二进制,但有总比没有的好,有需要的人也可以自己写插件然后单独编译,现在的 shortcode, i18n 等功能都是基于 hooks 实现的, 像是 pelican 的 hook 可以让我不需要修改原来的 .md
或者 .org
文件就能直接使用 Snow
, 关于 Go
插件如果有其它想法的可以告诉我
build file: 直接命令行筛选文章,不仅仅是草稿, 比如直接隐藏所有 tag 为 life
的文章
snow server -F 'not ("life" in tags)'
当然,Snow 本身是基于我之前使用 Pelican 的需求,比如 orgmode 的支持,文章加密, 子分类等, 没有太多复杂的功能,如果需要更复杂的功能还是推荐 Hugo,毕竟用的人多,主题也多
如果之前使用的是 Pelican
,又对 Snow 感兴趣的可以参考我写的《博客系统从 Pelican 迁移至 Snow 》
1
kele999 2023-03-08 19:28:36 +08:00 1
此类名称,除非特别出名了,比如 apple ,搜索引擎排不上号,导致传播成本很高。
|