# README
🍭 Markdown-Blog
Markdown-Blog 是一款小而美的Markdown静态博客程序
如果你和我一样,平时喜欢使用
markdown
文件来记录自己的工作与生活中的点滴,又希望把这些记录生成个人博客,那Markdown-Blog再适合不过了。它简洁、轻快,部署简单,可以把markdown文件快速变为个人博客,它不需要管理后台,无需进行文章的二次发布。
案例
Web端
Style | Preveiw |
---|---|
Dark | ![]() |
Light | ![]() |
移动端
Dark | Light |
---|---|
![]() | ![]() |
支持平台
Windows、Linux、Mac OS
更新
-
[v0.1.1]
2022-11-12- 新增第三方分析统计配置,包括:百度、谷歌
- 支持配置页面缓存时间
- 移动端样式优化
- 其他已知问题修复
-
[v0.0.5]
2022-11-06- 支持 TOC 语法,当文件内容首行使用
[toc]
会自动解析 - 新增明亮🔆主题,支持明暗切换
- 其他已知问题修复
- 支持 TOC 语法,当文件内容首行使用
安装
-
下载 release
-
解压
tar zxf markdown-blog-v0.0.5-linux-amd64.tar.gz
- 创建 markdown 文件目录
cd markdown-blog-linux-amd64
mkdir md
echo "### Hello World" > ./md/主页.md
- 运行
./markdown-blog web
使用
命令
- markdown-blog
- -h 查看版本
- web 运行博客服务
- markdown-blog web
- --dir value, -d value 指定markdown文件夹,默认:./md/
- --title value, -t value web服务标题,默认:"Blog"
- --port value, -p value web服务端口,默认:5006
- --env value, -e value 运行环境, 可选:dev,test,prod,默认:"prod"
- --index value, -i value 设置默认首页的文件名称, 默认为空
- --cache value, -c value 设置页面缓存时间,单位分钟,默认3分钟
- --analyzer-baidu value 设置百度分析统计器
- --analyzer-google value 设置谷歌分析统计器
- -h 查看版本
关于默认首页
如果启动是未指定
index
,程序默认以导航中的第一个文件作为首页
关于分析统计器
百度
1. 访问 https://tongji.baidu.com 创建站点,获取官方代码中的参数 0952befd5b7da358ad12fae3437515b1
<script>
var _hmt = _hmt || [];
(function() {
var hm = document.createElement("script");
hm.src = "https://hm.baidu.com/hm.js?0952befd5b7da358ad12fae3437515b1";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(hm, s);
})();
</script>
2. 配置
./markdown-blog web --analyzer-baidu 0952befd5b7da358ad12fae3437515b1
谷歌
1. 访问 https://analytics.google.com 创建站点,获取官方代码中的参数 G-MYSMYSMYS
<script async="" src="https://www.googletagmanager.com/gtag/js?id=G-MYSMYSMYS"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-MYSMYSMYS');
</script>
2. 配置
./markdown-blog web --analyzer-google G-MYSMYSMYS
导航排序
博客导航默认按照
字典
排序,可以通过@
前面的数字来自定义顺序
个人博客目录如下图

博客导航展示如下图

部署
Nginx 反向代理配置文件参考
HTTP协议
server {
listen 80;
listen [::]:80;
server_name yourhost.com;
location / {
proxy_pass http://127.0.0.1:5006;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
HTTPS 协议(80端口自动跳转至443)
server {
listen 80;
listen [::]:80;
server_name yourhost.com;
location / {
rewrite ^ https://$host$request_uri? permanent;
}
}
server {
listen 443 ssl;
server_name yourhost.com;
access_log /var/log/nginx/markdown-blog.access.log main;
#证书文件名称
ssl_certificate /etc/nginx/certs/yourhost.com_bundle.crt;
#私钥文件名称
ssl_certificate_key /etc/nginx/certs/yourhost.com.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://127.0.0.1:5006;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
升级
-
下载最新版 release
-
停止程序,解压替换
markdown-blog
文件 和web
文件夹 -
重新启动程序
开发
-
安装
Golang
开发环境 -
Fork 源码
-
启动 web服务
运行之后访问地址 http://localhost:5006,API请求会转发给 markdown-blog
make run
-
编译
make
-
打包
在 markdown-blog-package 生成当前系统的压缩包 markdown-blog-v0.0.5-darwin-amd64.tar
make package
-
生成 Windows、Linux、Mac 的压缩包
在 markdown-blog-package 生成压缩包 markdown-blog-v0.0.5-darwin-amd64.tar markdown-blog-v0.0.5-linux-amd64.tar.gz markdown-blog-v0.0.5-windows-amd64.zip*
make package-all
授权许可
本项目采用 MIT 开源授权许可证,完整的授权说明已放置在 LICENSE 文件中。
# Constants
web服务器默认端口.
# Variables
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author