知識體系-打造寫做工做流

前言

我想將個人學習過程所有記錄下來,技術,工做,生活,仍是思惟片斷,全部能記的都要記下來,終生學習這個理念不單要植入本身的腦子還要造成肌肉記憶。前端

固然記錄這件事情也一直在作,可是作得並很差,單純的記錄其實意義不大,若是能分享出去,並所以而獲取一些正向的反饋,而後再激勵本身去 學習 => 記錄 => 分享 => 得到正向反饋 造成一個無限重複下去的閉環,這將是一件很是有意思的事情,就像本篇博文同樣。git

本文的重點是 記錄 => 分享 兩個環節,至於其它的,之後補充。程序員

背景

原由是個人 Hexo 博客有好久沒有更新了,由於每次寫完一篇文章要再部署到博客網站,太麻煩了。github

我全部的內容都放在了 GitHub:my-notes 這個倉庫下,而後本地使用 VS Code 去整理和編輯, Git + GitHub + VS Code 這套組合拳足以秒殺市面上的大部分筆記管理軟件。算法

固然好的軟件自有其存在的價值,好比我會使用:編程

  1. ulysses 去記錄我零散的思惟片斷,其在移動端的編輯體驗很是棒;
  2. 有道雲筆記將在微信或者在網絡中看到的有價值的資源一鍵發送到有道雲筆記進行臨時備份;
  3. 滴墨書摘將實體書或者圖片中(如:網易雲音樂圖片中的歌詞,海報文案...)的文字自動提取出來進行歸類;
  4. 從 Kindle 中導出的讀書筆記。

以上種種,全部蒐集來的素材,等空下來的時候(週末)再整理和細分到 my-notes 下。segmentfault

而後我會用 docsify 把 my-notes 中的內容放在個人 筆記:文檔網站 中展現出來;最後,將一些想要分享的文章提出來再放到個人 博客:質數的一 博客。若是有興趣話,再同步更新到簡書, 掘金,segmentfault,知乎各個平臺。數組

tip: 若是你是個技術極客,或者願意再折騰一下,那麼在 VSCode 下再集成 Cacher(Gitss 的第三方管理平臺) 的插件,固然前提是你須要把素材(代碼片斷)放到 Cache 下,你會進入到另外一個界,神界,只須要 Shift + Option + I,素材(代碼片斷)就會自動插入到當前段落下。

Cacher 官方連接bash

以上就是個人整套寫做流程了,素材的整理和蒐集,到寫文章,再到文章內容的呈現和分享。服務器

下面的內容將更多的從技術(代碼)層面進行闡述,如何讓以上流程實現自動化。

前方高能!(非程序員)

docsify 和 Hexo 數據遷移

docsify 和 Hexo 的目錄結構是不同的,docsify 中的文章按照目錄樹的結構去組織的,這也是選擇 docfisy 的緣由,my-notes 自己就是一個 project,而 docsify 能夠直接將整棵 project 樹呈現出來。可是 Hexo 須要將全部的文章所有放在 source/_posts 目錄下,而且 Hexo 的文章格式和 docsify 有差別的,這意味着在二者之間須要有一次文章格式的轉換,因而須要將 docsify 中的樹狀目錄轉換爲一維的形式,所有放在一個目錄下去。

docsify 下的文章目錄結構:

tree .
├── 算法
│   ├── 算法入門
│   │   ├── (0)Linux-C-編程.md
│   │   ├── (1)冒泡排序.md
│   │   ├── (10)-堆之隊列的優化.md
│   │   ├── (2)快速排序.md
│   │   ├── (3)去除排序中的重複元素.md
│   │   ├── (4)隊列.md
│   │   ├── (5)棧.md
│   │   ├── (6)Floyd最短路徑算法.md
│   │   ├── (7)Dijkstra最短路徑算法.md
│   │   ├── (8)鄰接鏈表的非鏈表化實現.md
│   │   └── (9)樹-二叉樹-徹底二叉樹.md
│   └── 算法收藏夾
│       └── 紅黑樹探索筆記.pdf
├── 網絡
│   └── HTTP-請求and響應.md
....more items

Hexo 下的文章目錄結構:

ls hexo-blog/source/_posts
(0)Linux-C-編程.md                                        JS對象(2)值傳遞與引用傳遞.md                              http(2)模塊之服務器端.md
(1)Linux進程基礎.md                                       JS事件(3)EventUntil對象.md                                http模塊(1)之客戶端.md
(1)冒泡排序.md                                            JS高階(3)數組去重與排序.md                                jQuery(1)選擇器.md
(10)-堆之隊列的優化.md                                    JS對象(3)經典對象建立與繼承模式.md                        jQuery(2)事件.md
(2)Linux進程空間.md                                       JS對象(4)對象方法.md                                      jQuery(3)DOM屬性與內容.md
(2)快速排序.md                                            JS對象(5)對象屬性.md                                      jQuery(4)DOM節點操做.md
(3)Linux多線程與同步.md                                   JS設計模型(1)單例模式.md                                  jQuery(5)動畫.md
...more items

嗯,須要一個腳本去完成這件事情,關於此部分的內容能夠參考個人博文 博客: Hexo博客遷移與Node.js目錄遍歷

自動生成 docsify 文章導航目錄

使用 docsify 還有一個問題是,每次添加新的文章都須要在 _sidebar.md 文件中添加一個新的文章連接, 內容大概以下:

bat _sidebar.md
   1   │ - [README](/README)
   2   │ - **migration_hexo**
   3   │   - [將Hexo部署到自有服務器](/migration_hexo/將Hexo部署到自有服務器)
   4   │   - [搭建Hexo博客站點](/migration_hexo/搭建Hexo博客站點)
   5   │ - **前端筆記**
   6   │   - **CSS**
   7   │     - **CSS-Secrets**
   8   │       - [字體排版](/前端筆記/CSS/CSS-Secrets/字體排版)
   9   │       - [形狀](/前端筆記/CSS/CSS-Secrets/形狀)
  16   │       - [FlexBox](/前端筆記/CSS/CSS3/FlexBox)

每添加一篇文章都要往這個文件裏手動添加一個新的文章導航連接,很是麻煩,並且很容易出錯,這種須要機械重複勞做的事情,顯然也是經過一段代碼就能夠解決的 auto_generate_docsify_sidebar.js。該腳本會自動遍歷當前工程下的全部目錄而後根據所在的路徑和文件名稱自動生成 _sideBar.md 文件。

自動部署

Ok, 解決了 docsify 和 Hexo 之間的文章格式,接下就是部署的問題了,N 久之前我是將 Hexo 直接部署到 GitPages 中的,此部份內容能夠參考個人博文 博客:Hexo系列之站點搭建篇 ,因爲牆的存在以及種種緣由,訪問速度以及部署體驗並很差,因此我又決定將 Hexo 部署個人騰訊雲服務器中去,此部份內容能夠參考個人博文 博客:Hexo系列之部署篇,嗯,當你能夠將 Hexo 自動化部署到服務器以後,你會以爲實現 docsify 的自動化部署將會是件多麼簡單的事情,此部份內容能夠參考 docsify 官方文檔

那麼,盡情享受碼字的快感吧!

以上每一個環節都有值得改進和優化的地方,我會不斷更新這套流程,若是你有更好的 idea,也請告訴我。

相關文章
相關標籤/搜索