blog 建站之一些小細節 (主要是 submodule 的部份)
Page content
紀錄一下如何見這個網站的小細節
最近換了一個 hugo 的主題,之前的內容也好久沒更新了,最近應該會儘量放一些東西上來,為自己的學習和生活留個紀錄~~
把 content 和 blog 相關的 code 分離
我想把存放 blog 內容的 markdownn 檔案分開來放,這樣之後如果有換主題或從 hugo 換到其他的靜態網站生成器會比較方便。換句話說,這個和 blog 直接相關的 repo 結構大致如下
hugo-blog/
|-- content/ ... 想放在另一個 repo 中
|-- public/ ... leopardshadow.github.io 這個 github repo
|-- theme/ ... 選擇其他人寫的主題,並下載到這裡
|-- 其他檔案如 config.toml 等 ... 才是這個 repo 要管理的內容
想要在一個 github repo 中加入其他地方的 repo 可以用 submodule 這個功能
第一次加入 submodule
以上述的描述來說,我需要做
git submodule add https://github.com/leopardshadow/blog-contents content/
git submodule add https://github.com/leopardshadow/leopardshadow.github.io public
git submodule add https://github.com/Vimux/Mainroad themes/Mainroad
把上述三個從其他地方來的 repo 加進來
之後在其他地方時
之後如果換電腦、換環境了,直接把 blog clone 下來時,content、public、和 themes/ 內部會是空的,可以用
git submodule init
git submodule update --recursive
或一開始 clone 時用 git clone --recursive <repo>
把那些之前加的 submodule 弄回來
如果不要那個 submodule 了
移除的指令比較多步了,可以參考
https://blog.wu-boy.com/2011/09/introduction-to-git-submodule/
和
https://kmsheng.medium.com/git-submodule-%E6%95%99%E5%AD%B8-96ab0255c88c