前言
我想將我的學(xué)習(xí)過程全部記錄下來,技術(shù),工作,生活,還是思維片段,所有能記的都要記下來,終生學(xué)習(xí)這個(gè)理念不單要植入自己的腦子還要形成肌肉記憶。
當(dāng)然記錄這件事情也一直在做,但是做得并不好,單純的記錄其實(shí)意義不大,如果能分享出去,并因此而獲取一些正向的反饋,然后再激勵(lì)自己去 學(xué)習(xí) => 記錄 => 分享 => 獲得正向反饋 形成一個(gè)無限重復(fù)下去的閉環(huán),這將是一件非常有意思的事情,就像本篇博文一樣。
本文的重點(diǎn)是 記錄 => 分享 兩個(gè)環(huán)節(jié),至于其它的,以后補(bǔ)充。
背景
起因是我的 Hexo 博客有很久沒有更新了,因?yàn)槊看螌懲暌黄恼乱俨渴鸬讲┛途W(wǎng)站,太麻煩了。
我所有的內(nèi)容都放在了 GitHub:my-notes 這個(gè)倉庫下,然后本地使用 VS Code 去整理和編輯, Git + GitHub + VS Code 這套組合拳足以秒殺市面上的大部分筆記管理軟件。
當(dāng)然好的軟件自有其存在的價(jià)值,比如我會(huì)使用:
- ulysses 去記錄我零散的思維片段,其在移動(dòng)端的編輯體驗(yàn)非常棒;
- 有道云筆記將在微信或者在網(wǎng)絡(luò)中看到的有價(jià)值的資源一鍵發(fā)送到有道云筆記進(jìn)行臨時(shí)備份;
- 滴墨書摘將實(shí)體書或者圖片中(如:網(wǎng)易云音樂圖片中的歌詞,海報(bào)文案...)的文字自動(dòng)提取出來進(jìn)行歸類;
- 從 Kindle 中導(dǎo)出的讀書筆記。
以上種種,所有搜集來的素材,等空下來的時(shí)候(周末)再整理和細(xì)分到 my-notes 下。
然后我會(huì)用 docsify 把 my-notes 中的內(nèi)容放在我的 筆記:文檔網(wǎng)站 中展示出來;最后,將一些想要分享的文章提出來再放到我的 博客:質(zhì)數(shù)的一 博客。如果有興趣話,再同步更新到簡書, 掘金,segmentfault,知乎各個(gè)平臺(tái)。
tip: 如果你是個(gè)技術(shù)極客,或者愿意再折騰一下,那么在 VSCode 下再集成 Cacher(Gitss 的第三方管理平臺(tái)) 的插件,當(dāng)然前提是你需要把素材(代碼片段)放到 Cache 下,你會(huì)進(jìn)入到另一個(gè)界,神界,只需要
Shift + Option + I,素材(代碼片段)就會(huì)自動(dòng)插入到當(dāng)前段落下。
以上就是我的整套寫作流程了,素材的整理和搜集,到寫文章,再到文章內(nèi)容的呈現(xiàn)和分享。
下面的內(nèi)容將更多的從技術(shù)(代碼)層面進(jìn)行闡述,如何讓以上流程實(shí)現(xiàn)自動(dòng)化。
前方高能?。ǚ浅绦騿T)
docsify 和 Hexo 數(shù)據(jù)遷移
docsify 和 Hexo 的目錄結(jié)構(gòu)是不一樣的,docsify 中的文章按照目錄樹的結(jié)構(gòu)去組織的,這也是選擇 docfisy 的原因,my-notes 本身就是一個(gè) project,而 docsify 可以直接將整棵 project 樹呈現(xiàn)出來。但是 Hexo 需要將所有的文章全部放在 source/_posts 目錄下,并且 Hexo 的文章格式和 docsify 有差異的,這意味著在兩者之間需要有一次文章格式的轉(zhuǎn)換,于是需要將 docsify 中的樹狀目錄轉(zhuǎn)換為一維的形式,全部放在一個(gè)目錄下去。
docsify 下的文章目錄結(jié)構(gòu):
tree .
├── 算法
│ ├── 算法入門
│ │ ├── (0)Linux-C-編程.md
│ │ ├── (1)冒泡排序.md
│ │ ├── (10)-堆之隊(duì)列的優(yōu)化.md
│ │ ├── (2)快速排序.md
│ │ ├── (3)去除排序中的重復(fù)元素.md
│ │ ├── (4)隊(duì)列.md
│ │ ├── (5)棧.md
│ │ ├── (6)Floyd最短路徑算法.md
│ │ ├── (7)Dijkstra最短路徑算法.md
│ │ ├── (8)鄰接鏈表的非鏈表化實(shí)現(xiàn).md
│ │ └── (9)樹-二叉樹-完全二叉樹.md
│ └── 算法收藏夾
│ └── 紅黑樹探索筆記.pdf
├── 網(wǎng)絡(luò)
│ └── HTTP-請求and響應(yīng).md
....more items
Hexo 下的文章目錄結(jié)構(gòu):
ls hexo-blog/source/_posts
(0)Linux-C-編程.md JS對(duì)象(2)值傳遞與引用傳遞.md http(2)模塊之服務(wù)器端.md
(1)Linux進(jìn)程基礎(chǔ).md JS事件(3)EventUntil對(duì)象.md http模塊(1)之客戶端.md
(1)冒泡排序.md JS高階(3)數(shù)組去重與排序.md jQuery(1)選擇器.md
(10)-堆之隊(duì)列的優(yōu)化.md JS對(duì)象(3)經(jīng)典對(duì)象創(chuàng)建與繼承模式.md jQuery(2)事件.md
(2)Linux進(jìn)程空間.md JS對(duì)象(4)對(duì)象方法.md jQuery(3)DOM屬性與內(nèi)容.md
(2)快速排序.md JS對(duì)象(5)對(duì)象屬性.md jQuery(4)DOM節(jié)點(diǎn)操作.md
(3)Linux多線程與同步.md JS設(shè)計(jì)模型(1)單例模式.md jQuery(5)動(dòng)畫.md
...more items
嗯,需要一個(gè)腳本去完成這件事情,關(guān)于此部分的內(nèi)容可以參考我的博文 博客: Hexo博客遷移與Node.js目錄遍歷
自動(dòng)生成 docsify 文章導(dǎo)航目錄
使用 docsify 還有一個(gè)問題是,每次添加新的文章都需要在 _sidebar.md 文件中添加一個(gè)新的文章鏈接, 內(nèi)容大概如下:
bat _sidebar.md
1 │ - [README](/README)
2 │ - **migration_hexo**
3 │ - [將Hexo部署到自有服務(wù)器](/migration_hexo/將Hexo部署到自有服務(wù)器)
4 │ - [搭建Hexo博客站點(diǎn)](/migration_hexo/搭建Hexo博客站點(diǎn))
5 │ - **前端筆記**
6 │ - **CSS**
7 │ - **CSS-Secrets**
8 │ - [字體排版](/前端筆記/CSS/CSS-Secrets/字體排版)
9 │ - [形狀](/前端筆記/CSS/CSS-Secrets/形狀)
16 │ - [FlexBox](/前端筆記/CSS/CSS3/FlexBox)
每添加一篇文章都要往這個(gè)文件里手動(dòng)添加一個(gè)新的文章導(dǎo)航鏈接,非常麻煩,而且很容易出錯(cuò),這種需要機(jī)械重復(fù)勞作的事情,顯然也是通過一段代碼就可以解決的 auto_generate_docsify_sidebar.js。該腳本會(huì)自動(dòng)遍歷當(dāng)前工程下的所有目錄然后根據(jù)所在的路徑和文件名稱自動(dòng)生成 _sideBar.md 文件。
自動(dòng)部署
Ok, 解決了 docsify 和 Hexo 之間的文章格式,接下就是部署的問題了,N 久以前我是將 Hexo 直接部署到 GitPages 中的,此部分內(nèi)容可以參考我的博文 博客:Hexo系列之站點(diǎn)搭建篇 ,由于墻的存在以及種種原因,訪問速度以及部署體驗(yàn)并不好,所以我又決定將 Hexo 部署我的騰訊云服務(wù)器中去,此部分內(nèi)容可以參考我的博文 博客:Hexo系列之部署篇,嗯,當(dāng)你可以將 Hexo 自動(dòng)化部署到服務(wù)器之后,你會(huì)覺得實(shí)現(xiàn) docsify 的自動(dòng)化部署將會(huì)是件多么簡單的事情,此部分內(nèi)容可以參考 docsify 官方文檔
那么,盡情享受碼字的快感吧!
以上每個(gè)環(huán)節(jié)都有值得改進(jìn)和優(yōu)化的地方,我會(huì)不斷更新這套流程,如果你有更好的 idea,也請告訴我。