Part 1: 我的 Workflow

这篇文章总结我工作流程中每一个环节,包括事务 & 日程管理、计划总结、学习沉淀、文档输出,以及使用到的工具,还有我如何高效的使用这些工具,以及如何自动化整个过程,提高我的生产力。

比如拿工作来说,通常遇到一个问题去查一些资料,然后找到具体的解决方案,或者问题的原因,然后把它解决掉,最终会形成一个文档或者经验总结,这个是典型的工作中的一个场景。

再拿学习来说,一般都是去看书或者去看别人的博客、微信公众号之类的,然后会提炼出一些比较重点的或者是有用的信息,保存到我的个人笔记里面去,有时候也会形成一篇博客。

输入

微信读书

读书的过程中我会去把每篇文章里面的关键信息做一些标注,有时候也会去写一些自己的想法。

我没有去写读书笔记的习惯,基本上都是读书的过程中做的一些标注,或者是简单的想法。没有写读书笔记的主要原因,可能是我读完以后就忘记了,然后没有很好的去整理整个读书过程中的一些想法细节。

这里需要解决的问题就是能把我在微信读书这里面做的标注或者想法同步到我的一个我笔记系统里面去,这样的话长期有助于沉淀或者是形成读书笔记。

微信公众号

微信公众号里面通常会读一些技术文章,我关注了不少技术博客或者是公众号或者是别人在群里共分享的一些文章。

微信公众号文章有一个特点就是比较碎片。我的微信的收藏夹里面收藏了很多之前没有看完的文章,通常添加到收藏夹里面去,以后基本上后面也不会打开看。

需要解决的问题跟微信读书里面的类似。就是我们在读完微信公众号里面的文章以后,要记一些笔记,提炼出来一些重点,然后同步到自己的笔记系统里面去。只有这样才可以沉淀积累一些知识。不然的话就是单纯的看了很多,然后丢了就忘记了。

网页

网页里面看到的一些文章,我的浏览器收藏夹里面也收藏了很多文章,通常也不会去看。

电子书

电子书一般是下载的 PDF 文档或者是一些论文。也有类似的问题,我没有在读书的过程中记笔记。提炼重点信息。

沉淀与输出

不管是读书读论文还是看一些技术文章,最好是需要有一些对应的输出,比如形成一篇博客,或者是使用一些重点的笔记,想法总结。

我把输出主要分成下面几部分:

读书笔记

一般就是微信读书里面我看过的一些书的摘要或者是自己的想法。

重点摘要

看网上的一些文章或者是微信公众号的时候,提炼出来一些重点。

工作笔记

平时工作过程中解决的一些具体问题,后面做的一些总结。

Blog

对某一个技术的方向,或者是某一些思考做的一些沉淀或者是总结。

以上就是我学习或者工作过程中输入或者输出的一些习惯。第2部分是针对我这些习惯,我然后找了哪些工具,怎么来高效利用这些工具,怎么尽可能做到自动化,提高效率。

Part 2: 生产力工具

All-in-one workspace: Notion

这个是最主要的生产的工具, 包括我的笔记、事务管理、日程管理,还有一些零散的信息的保存等等,都是放在这里面。
我以前在另一篇文章里面也写过我的笔记,演化的一些历程。 个人事务管理,我也用过很多的工具,最终我发现这个工具功能比较强大,然后我所有的需求都可以满足。

我目前用 Notion 主要做下面这几件事情:

Weekly Review

每周的工作计划,每天的具体的做的事情记录,还有这一周要做的事情的列表,每周的总结反思,还有每周娱乐项目的一些记录。
有了 Weekly Review 以后,更加的明确每天要做什么什么东西重要,什么东西不重要,写周报的时候也更轻松方便一点。

PBL

项目或者问题驱动式去学习,这个效率最高,效果最好。我目前的做法是在我的 Notion 里面创建一个具体的项目,然后在里面增加一些 TODO

工作笔记

记录项目中遇到的一些问题,以及解决了这些问题以后做的一些总结。
目前集中在用户的问题的总结上,这个还是很有用的,方便我以后排查问题的时候,能借鉴以前的经验,也有助于文档化之前的工作。

碎片知识库

在网上读一些文章或者是看书的时候提炼出来的一些东西,目前不是很多,因为我之前没有自动化的一个工作流程,导致我每次看完一些文章,其实并没有沉淀出来多少碎片化知识。

阅读笔记系统

综合上面的分析,还有我的个人习惯,我的笔记系统具体的几点需求,总结如下。
具体需求:

  • Read Later 延迟阅读

    • 比如我有一些公众号文章我当前读不完或者是不想读,那我就把它放到这个延迟阅读列表里面,而不是简单的一个收藏夹。我需要把我所有的当前发现的好文章,统一放到一起来。最好都是放到 Notion 里面。
  • Highlight 我在看一些网页文章

    • 通过鼠标来去标注一些文章的东西,类似于微信读书里面的标注,然后标注完了以后可以自动同步到Notion 的碎片知识管理区里面。
  • Sync to Notion

    • 把我的读书笔记,还有我想读的文章自动同步到某一个数据库里面去,这样我就能把一些碎片化的知识整沉淀下来。
  • 零碎想法记录

    • 平时的突然冒出来的一些想法,能快速的整理出来。比如我正在走路的时候,跑步的时候,吃饭的时候等等,经常会冒出来一些很短的一些想法,这个需要比较高效的记录下来。
      下面的这几个工具,就是我在实践过程中发现比较适合我用的几个工具:

Flomo 做碎片化沉淀

这是一个小众产品,目前用的人不多,但是做的还是挺好的,我目前把它跟我的微信绑定了,可以支持微信输入一些临时的琐碎的想法,然后自动同步到 Flomo 的账号里面。
支持的功能挺多的,包括可以收藏微信公众号的文章,可以把文章同步到 Notion 里,也可以做一些文章的标注。原本我是打算用它做完整的工作流管理,但如果需要定制一些个性化需求的时候可能会有受限。所以我只用它来记录我平时想法的碎片。
这样可以形成我的一些碎片化思维的或者是碎片化输出的一个总结,比如周报或者是日记。

Kami 做 PDF 标注

PDF 标注的话是很有用的,我之前去读 PDF 版本的书或者论文的时候。通常读完以后,没有任何的想法的沉淀或者是重点的提炼。后来发现了 Kami 这个平台工具,我觉得挺适合做 PDF 标注的。
现在我通常把会要读的论文或者是书籍的 PDF 版本传到 Google Drive 上,然后用 Kami 打开,做一些重点标注和笔记。

微信读书笔记同步到 Notion

微信读书的笔记是保存在 APP 上面的,我在网上找到了一个浏览器插件,可以提取当前这本书里标注的重点,还有个人的想法。所以我在每读完一本书,就把这本书的标记提取出来,然后同步到 Notion 上。

自研 Chrome 插件用于网页 Highlight 和 Sync to Notion

这个工具是自己开发的,主要用来同步网页,还有微信公众号的文章到 Notion 上,还支持网页内容标注。使用这个工具有助于碎片化知识的沉淀。

博客系统

我的博客是基于 GitHub 和 Hexo 搭建的。更新频率比较低,有一方面的原因是我的之前的工作流没有形成高效的闭环;还有一点就是我的博客的生成发布比较麻烦:需要搭建环境,写好博客以后,还需要执行好几个命令才能发布一篇博客。我的知识获取和输出这中间存在一些断裂环节,导致我更新的频率并不高。
这里的一个诉求就是能否把知识的获取和最终的输出,形成一个自动化或者半自动化的流程。

如何把 Notion 上的文章自动部署到博客

需要解决几个问题:

  • 获取 Notion 里面某个数据库的文章
  • 生成 Hexo 格式的文章
  • 发布到博客
  • 定时触发 & 自动化构建

经过调研了一番,我发现 GitHub Actions 特别适合做这个事情,刚好我的 Blog 也是部署在 GitHub 上。参考一些教程,我逐个解决了上面提到的几个问题,实现了 Notion 文章自动化部署到 Blog 的需求。
这里贴出 GitHub Actions

name: Build and Deploy
on:
# Triggers the workflow on push or pull request events but only for the master branch
push:
branches: [ master ]
schedule:
- cron: '0 21 * * *'

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
inputs:
name:
description: 'Person to greet'
required: true
default: 'Mona the Octocat'
home:
description: 'location'
required: false
default: 'The Octoverse'

jobs:
build-and-deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@master

- name: Setup Python
uses: actions/setup-python@v2.3.0

- name: Python Pip Install
uses: logikal-code/pip-install@v1.0.0
with:
requirements: ./notion-down/requirements.txt

- name: notion to markdown
run: PYTHONPATH=./notion-down python ./notion-down/main.py --blog_url https://www.notion.so/Blog-**__** --token_v2 **********

- name: copy markdown files
run: cp notion-down/build/Hexo/_posts/*.md source/_posts/

- name: Build and Deploy
uses: ustcqidi/hexo-deploy-github-pages-action@master # Use specialized deployment Hexo To GitHub pages Of action
env:
PERSONAL_TOKEN: *******************
PUBLISH_REPOSITORY: ustcqidi/ustcqidi.github.io
BRANCH: master
PUBLISH_DIR: ./public