知识体系-打造写做工做流

前言

我想将个人学习过程所有记录下来,技术,工做,生活,仍是思惟片断,全部能记的都要记下来,终生学习这个理念不单要植入本身的脑子还要造成肌肉记忆。前端

固然记录这件事情也一直在作,可是作得并很差,单纯的记录其实意义不大,若是能分享出去,并所以而获取一些正向的反馈,而后再激励本身去 学习 => 记录 => 分享 => 得到正向反馈 造成一个无限重复下去的闭环,这将是一件很是有意思的事情,就像本篇博文同样。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,也请告诉我。

相关文章
相关标签/搜索