发布数字花园

阅读量:

主要参考

https://garden.oldwinter.top/obsidian-%E7%9B%AE%E5%89%8D%E6%9C%80%E5%AE%8C%E7%BE%8E%E7%9A%84%E5%85%8D%E8%B4%B9%E5%8F%91%E5%B8%83%E6%96%B9%E6%A1%88-%E6%B8%90%E8%BF%9B%E5%BC%8F%E6%95%99%E7%A8%8B#%E4%B8%80%E6%AD%A5%E6%AD%A5%E6%9D%A5%E8%AF%B4

不过其中有几个点需要注意

如果使用 submodule 的话,submodule 如果使用的 ssh 的方式(private 只能用 ssh 的方式),需要配置 deploy key

https://answers.netlify.com/t/support-guide-how-do-i-access-private-repositories-in-the-build-environment/723

如果需要 submodule 更新的同时 rebuild 站点

https://mtsknn.fi/blog/netlify-updating-private-git-submodule/#deploy-key-ssh-key

如果需要使用本地图片,build 的命令应该是

mv _notes/Extras/* . && jekyll build --trace

需要有一个 * 号

如果路径中有空格的话

mv '_notes/Extras Files'/* . && jekyll build --trace

星号不能写在引号里面

本地图片的链接需要更换为原生 Markdown 的形式,写了一个简单的 Python script 来批量更换

import os
import re


reg = r"!\[\[(.*?)\]\]"
for root, dirs, files in os.walk(".", topdown=False):
    for name in files:
        file_path = os.path.join(root, name)
        content = ""
        flag = False
        if file_path.endswith(".md"):
            with open(file_path, "r", encoding="utf-8") as f:
                lines = f.readlines()
            for line in lines:
                if "![[" in line:
                    text = re.findall(reg, line)[0]
                    path = text.replace(" ", "%20")
                    new = line.replace(f"!<span title='There is no note that matches this link.' class='invalid-link'>  <span class='invalid-link-brackets'>[[</span>  {text}  <span class='invalid-link-brackets'>]]</span></span>", f"![{text}]({path})")
                    content += new
                    flag = True
                else:
                    content += line
        if flag:
            with open(file_path, "w", encoding="utf-8") as f:
                f.write(content)
            print(file_path)
            print("----------")

设置全文搜索

https://knightyun.github.io/2019/03/04/articles-search

对样式进行了修改,同样仿照了 https://garden.oldwinter.top/

域名

namecheap 上面买了一个一年的域名,rainver.top,暂时买了一年,先看看情况

评论系统

Waline+Mongodb

Mongodb 的设置需要特别注意,如果使用的时 Altas 的服务,host name 需要用 primary 的 host name。可以在 Altas 登录后从 cluster overview 中查看。MONGO_REPLICASET 可以不用设置,MONGO_AUTHSOURCE 和 MONGO_OPT_SSL 应该需要设置,没有再进行删除验证,折腾变量折腾了好久,让人有些烦恼。

划线批注功能

Hypothes 有比较完整的功能,但是直接用的话网站上的产生的划线和批注都不是自己能够控制的,还是希望这个网站的所有数据都是自己可以控制的。因为他是开源的工具,也是可以自己部署的,感觉这个没办法部署到 Netlify 上面了,可能需要到 AWS 或者 Google 上面去部署了

设置最近更新,如果采用在笔记中添加的最后更新时间的方式,注意 jekyll 中插件的写法,是否能够处理未添加日期的情况

反向链接

到头儿啦~

局部关系图