又一个静态博客部署方案:quick-markdown

又一个静态博客部署方案:quick-Markdown

开源项目地址: https://github.com/mengrru/quick-markdown https://github.com/mengrru/hut
详细使用文档:点我进入
作者:@ mengru的空间

  偶然间发现了作者的博客,当时没觉得有什么奇怪的地方,直到发现下面用的是quick-markdown,看了他的部署博文,我才知道这是一个静态博客。与hexo相似的地方在于部署在github或gitlab(不知道hexo可不可以部署在这里)作者部署在gitlab所以速度上并不慢。早些时候也折腾过hexo,不能说麻烦吧,光是本地装软件,提交命令写博文就让我头大,即便后来出了一些自动化的教程,但还是喜欢不起来(我真觉得繁琐)。
  quick-markdown 是一个 markdown 展示工具,能够快速为你的 markdown 文件生成展示页面,也就是说将.md文件上传以后,直接访问这个文件这个项目便会将它解析成网页,那么便有了之后把它部署成博客的用处了(如果是跟作者一样用gitlab部署甚至不用下载任何软件上传文件等,直接就可以在gitlab写文发文)。

优点

部署教程

作者的部署教程:https://mengru.space/?posts/2021/11/blog-with-markdown
[details sum="简化版"]
简化版版:
1.首先在你用这个项目之前你要有github账号,并建立 你的github ID.github.io仓库
2.fork项目到你刚才建立的那个仓库 项目地址https://github.com/mengrru/quick-markdown
3.选择Settings -> Pages,在 Source 一栏的 Branch 里勾选gh-pages,保存。然后选择上方菜单中的Actions,点击中间的绿色按钮打开 Action 功能,绑定自定义域名也在page页面里。

到这里实际上已经部署完成了。
  gitlab的部署办法可以参照作者的教程,相比于github的好处是它不会暴露博客原始仓库,Gitlab 原生提供 WebIDE可以直接当成博客后台用来发布文章,而且速度上也不需要什么特殊的东西
[/details]
  当时看到的是gitlab启动CI/CD -> Pipelines这个功能(类似action作用就是自动部署)需要验证信用卡来确保你是真人而不是机器人,这让我犯难,即便现在成年但确实也没办信用卡。看了文档后了解到,这个博客的首页文章列表就是依靠files-list 作者内置的文章列表插件,通过运行这个插件来对博客首页的文章列表进行更新,gitlab可以通过检测文件更新情况来启动运行提前设置好的插件命令。不能使用Gitlab那么同样的服务器也可以完成这个功能。

服务器部署

我用的环境是:Debian10,+宝塔纯净版7.6 +插件pm2 +计划任务
服务器部署就可以说是非常的简单了,虽然这个静态博客的初心是部署不用花一分钱,碍于github速度慢,而且我部署完发现相比前两个服务器似乎更加简单。
1.把项目下载到本地上传到服务器解压,将quick-markdown里面的所有文件剪切到网站根目录wwwroot里
2.博客核心配置文件是config.js ,这个文件里有设置主题,博客名字,博文存放目录等等具体参看下面的解释

var Config = {
    docRoot: 'pages/',              页面目录名
    homepage: 'blog/index.md',      page目录下,博客所显示的首页文档
    notFoundText: '404页面显示的文字',
    defaultTitle: '这里填你的博客名',
    notFoundPage: '404页面.md',
    theme: '主题名',
    showFooterText: true,           是否开启底部文字显示true/false
    footerText: '底部显示的文字',
    rootPath: '/'                    这里直接填/
}
Typora

关于config.js作者文档:https://mengrru.github.io/quick-markdown/?docs/usage
3.定时任务
在此之前,在软件商店下载pm2插件部署nodejs环境
在网站根目录或者你喜欢的目录,新建一个文件后缀为.sh例如up.sh
内容填写如下

#/
cd /www/wwwroot/xxxx.cn/
node plugins/index.js

cd后面的路径就是你网站根目录路径
4.打开宝塔计划任务,任务名称随便,时间我设定的是每1小时运行一次,当然也可以设定4个定时任务时间分别是早上八点中午十二点下午六点和凌晨12点,这样不需要一直执行,在四个时间段内写文章都会在这几个时间点刷新文章列表。
脚本内容填写

. /www/wwwroot/xxxx.cn/up.sh

注意这里不能使用sh命令以及单独指向sh文件,都不会生效。路径是sh文件所在位置。虽然仅仅一行代码,但是这个脚本内容却折腾我两天,这个定时任务就是去运行列表插件用来更新首页文章列表,尝试了好几种写法用终端运行命令生效但是用计划任务始终不生效。后来发现那个index.js用绝对路径不好使,才有了cd命令的尝试。(还是太菜了)

[tip type="blue"]在这里你可能会遇到计划任务提示node 命令没找到,只需要在终端执行which node,复制那个路径再执行
ln -s /www/server/nvm/versions/node/v14.19.0/bin/node /usr/bin/node
就可以了(都是宝塔前面的node路径基本一样就是注意版本号){/cat_tips_warning}
5.到此为止部署结束

写博文

一个Markdown文件在开头加上

<!--
title: <标题>
time: <时间>
tags: <标签;多个标签用空格分开>
abstract: <摘要>
-->

然后下面写正文即可,作者也融合了其他功能,两个样式的提示框,文章大纲(目录)短代码
具体参看文档https://mengrru.github.io/quick-markdown/?docs/usage

注意

按照上面的config.js配置
博文就存放在page/blog/post目录下,其他页面放在blog/目录下就可以。像作者那样的显示首页,项目等在主题更改即可。
有人觉得繁琐,实际上无论是手机还是电脑的markdown编辑器比如电脑上的typora,写完文章后配合XFTP或其他ftp软件便可以直接上传过去,gitlab更是可以直接发布。没有多余的东西,那些万年不变的地方改一次就行。

部署小结

一个装了宝塔的服务器,加一个pm2插件,写一个sh文件,添加一个计划任务。

结语

虽然主题是html和css但是对于小白来说可能还是不太友好,但是这个项目无人问津也没人开发主题。
我觉得这个项目特别适合纯写作记录生活的人使用,纯静态文件速度也飞快。想象着晚上在家一个人用typora记录一些事情,保存以后直接丢服务器上,甚至可以写完保存睡觉下次写完把好几个文件一起丢上去,由于不需要数据库以后想要迁移直接打包带走。

没什么其他复杂的配置,只是重拾写作的乐趣,文件决定页面,高度自定义

推荐指数:⭐⭐⭐⭐⭐

本文著作权归作者 [ Meteor ] 享有,未经作者书面授权,禁止转载,封面图片来源于 [ 互联网 ] ,本文仅供个人学习、研究和欣赏使用。如有异议,请联系博主及时处理。

发表留言

读者留言3

  1. [secret]  哈哈~又发现一个折腾的好东西。[/secret]

  2. 大佬有空帮我安排上:@(击掌)

    1. :&(蛆音娘_不愧是我)小事一桩