又一个静态博客部署方案:quick-Markdown
- 本文含有部署教程,代码众多建议PC端浏览
开源项目地址: 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写文发文)。
优点
- 部署简单
- 迁移简单,直接打包带走
- 纯静态
- 部署及运行不花一分钱(github/gitlab)
- 一个markdown文件即是一个文章、页面(可以说是随意DIY)
- 配合Markdown语法以及html+css就可以构建个性化页面
- 内置7个主题,且主题编写也不麻烦仅有html,css,你可能会用到js
部署教程
作者的部署教程: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文件在开头加上
♾️ html 代码:<!--
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 @土拨许👍
💖
💯
💦
😄
🪙