背景※
每个编程的人,都想过写博客吧
关于为什么采用当前这种方式,等有时间了写一篇详细分析下,在博客平台写博客与自建博客站点的区别,自建站点的各种方案以及优缺点,本篇只记录本站搭建过程。
感谢※
一直没有找到让自己特别满意的工具写博客,之前使用的是Hexo生成静态页面,文章中的图片是个麻烦事儿。直到看到东东分享的使用Trilium搭建博客,非常喜欢,也很适合现在的自己,就有了这个站点。
目前为止,站点都是基于东东分享的 Ankia 搭建完成,详细内容可直接看东东的博文:以trilium分享功能搭建个人博客
Trilium 搭建
Trilium介绍※
官方介绍是: Build your personal knowledge base with Trilium Notes
其实就是一个自建的一个个人知识管理平台,可以当做个人笔记使用,除了支持主流的MarkDown格式,对其对于MarkDown的拓展,如思维导图这种的也支持。
项目主页:https://github.com/zadam/trilium
安装※
官方安装教程教程 本站直接采用基于 Docker 的方案安装。
docker pull zadam/trilium:0.60.4
# 启动服务
sudo docker run -d -p 127.0.0.1:{port}:8080 -v /path/to/data/trilium:/home/node/trilium-data zadam/trilium:0.60.4
服务配置※
配置 nginx※
server{
server_name domain.pfchai.com;
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_pass http://localhost:{port};
proxy_read_timeout 90s;
proxy_redirect http://127.0.0.1:{port} https://domain.pfchai.com;
}
}
启用 https ※
参考 coolshell 的文章 如何免费的让网站启用HTTPS
# 自动配置
sudo certbot --nginx
# 重新加载服务
sudo nginx -s reload
博客搭建
现在完全基于东东分享的方式安装,详细的官方说明见:Trilium博客主题:Ankia 使用指南
当前安装版本 V1.4
安装
下载配置
按以下步骤将主题导入 trilium:
- 在你想存放博客的笔记下方右键
- 选择【Import into note】
- 在弹出的窗口中选择第一步中下载的 zip 包,将【Options】下的「Safe import」取消勾选
- 点击【Import】
配置
基础配置※
博客的所有配置均以 trilium 属性的形式存在,在「我的博客"笔记中修改以下属性的值即可进行配置。
#siteName = xxx
- 博客的名称,会在浏览器标签页和导航栏中显示#shareDescription= xxx
- 博客的简介,用于生成网页 meta 信息#bloggerName = xxx
- 博主的昵称,会在右侧博主信息中展示#blogStartTime = xxx
- 博客的开始时间,会在 footer 中显示博客运行时间#motto = xxx
- 座右铭,会在右侧博主信息中展示#siteKeywords = xxx
- 网站关键词】
域名修改※
默认的博客地址是trilium地址 /share/
目录下,跟笔记公用域名,修改博客域名。
设置 #shareRoot
为新的博客地址,比如本站为 https://blog.pfchai.com
随后使用Nginx或caddy进行反向代理。caddy2,配置类似如下:
网址 {
@notShare {
not path /share*
}
rewrite @notShare /share{uri}
reverse_proxy localhost:8080
}
Nginx的配置如下
server {
server_name blog.pfchai.com;
location / {
rewrite ^(/share)?/(.*) /share/$2 break;
proxy_pass http://localhost:{port};
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location ~ ^/share {
proxy_pass http://localhost:{port};
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
# ssl 相关配置
}
建立博客分类
建立博客分类很简单,直接在「文章分类」笔记下方建立子笔记,然后在该笔记上赋予以下属性:
#categoryName = xxx
- (必须)这个是用于「blogStateChange」脚本查找对应分类的名称,最好与分类标题保持一致#shareAlias=category_xxx
- (必须)xxx 的值请与categoryName
中填写的值保持一致#sorted=date #sortDirection=desc
- (非必须,但推荐)使博文按发表时间降序排列
评论功能
使用twikoo评论系统,进行配置前需要先部署,部署方法见:twikoo文档 ,部署完成后添加以下属性即可:
#enableTwikoo
- 开启twikoo评论#envId = xxx
- twikoo的环境id
开启后在主面板会显示【最新评论】模块,如果不需要此功能,请在“我的博客”中添加#disableLatestCommentPane
标签
PS.
#showComments
- 在除博文之外的页面显示评论插件,比如在“关于”笔记中添加此标签,那么“关于”界面中就会出现评论系统,
博客使用
新建博文的流程:
- 右键任何你想存放博文的父笔记
- 在弹出的窗口上将鼠标移动到【Insert child note】
- 选择【博文模板】
站点优化※
robots.txt※
新建文章,设置属性标签:
- #shareAlias=robots.txt
- #shareRaw
- #shareHiddenFromTree
- #blogItemOrder=999
百度站长收录※
文件验证,失败,待解决
google 收录※
前往 https://search.google.com/ ,使用 DNS 验证网站成功。