输出中的一些场景
你可能也读了一些书,有了一些尝试,或者有过一些想法与见解,想要在这个信息爆炸的时代做一些 输出 ,毕竟没完没了太多的信息源太多输入往往只是加重了你的焦虑,而你的生活并没有从 输入 中得到什么明显的变化,这些单纯的输入往往效果并不算好。
然后你会考虑,我要在哪儿写些什么呢?
常逛的平台有很多:微信公众号,知乎,简书,掘金,个人博客,少数派等。有时看到上面的文章,会有一种感觉,自己写得也不一定比某些内容差。
你可能会建一个公众号,在它的编辑界面写过两篇文章,后来又发现简书是一个不错的练习写作的平台,可以放一些不疼不痒的文章上去,它左markdown右渲染的模式也非常友好,然后又决定去写个知乎专栏,谈论一些BG高的事情,接着又发现技术文章还是放到掘金比较合适。
在这些平台上书写会碰到几个问题:
- 有些平台的编辑器体验不好,比如知乎,经常会莫名抖动;
- 对markdown的语法支持不一,知乎的支持只是皮毛,有些支持checklist有些不支持,GitHub使用的是GitHub Flavored Markdown换行需要行尾四个空格;
- 网页编辑往往无法使用到Vim移动复制剪切的快乐,即使有些插件提供了支持,也无法使用Vim插件;
在不同平台直接书写时需要注意不同的语法支持点,有些内容想要发布到不同的平台,内容可能要稍做修改(这是必要的),但各种格式、语法兼容问题的确让人比较难受。
以上这些现象,很容易导致自己难以维护各平台自己的所有输出项,又会被一些琐碎的兼容问题恶心到,进一步会严重降低整个输出过程的愉悦感,使得一切难以持续下去。
解耦内容与平台
Ulysses是一款mac平台上很棒的写作软件。
它抽象出了一个文库的概念,不再像其他传统编辑器那样以真实目录为基,这样可以将所有的文稿放到icloud,同时根据其强大的搜索与筛选器功能来进行类似tag的分类。
根据它的启发,对于多平台发布的问题,可以专门在OneDrive或Dropbox这样的云盘上建立一个文件夹,用来存放所有的输出内容,建立git仓库加以维护,使用很多编辑器都有的全文搜索功能进行搜索。
将所有自己书写的文章,不论是个人博客,知乎回答,要发布到掘金,简书的文章,统统放到这一个地方存储,在创作内容的时候不去考虑要放到哪个平台,从而完成 内容 与 平台 的解耦。
解耦内容与排版
在少数派的一篇介绍Ulysses的文章中,提到了一个观点我觉得很有道理, 内容 与 排版 是两个维度的东西,在写作时要尽量专注于内容而非排版。
写作者在书写内容过程中,需要的往往只是借助版面和格式来更好得划分文章结构,比如根据思路先列出大纲,然后填入一些内容。
Markdown作为轻量级的标记语言,简直是为上述需求量身订制,不需要手离开键盘去点样式,同时提供了极易掌握的标语语法来完成常用的排版需求,在两者之间做到了一个很好的平衡。
它的书写语法是Markdown XL,在此语法基础上编辑出来的文章,Ulysses提供了多样的导出功能,可导出为Markdown,HTML,PDF,DOCX等格式。
而导致笔者放弃Ulysses的也正是其特有的Markdown XL,该语法与原生Markdown还不一样,比如已经写惯了的链接,图片等语法,此外,它对代码块的支持实在不够好。
但这种思想却是极具启发性的,这让笔者想到了比Markdown更为强大的org-mode,与其写Ulysses其特有的Markdown语法,还不如写org-mode,同时emacs的导出能力丝毫不逊于Ulysses。
所以笔者决定使用org-mode来做为一切输出内容的载体,同时利用emacs及其社区提供的各种导出插件来完成一次书写导出到各平台的功能。
由于emacs的高度可定制化,如果找不到对某个平台特别顺手的导出插件,也可以考虑自己使用elips实现,也是可行的,有极大的灵活性。
统一使用org-mode来书写,书写时不用考虑各平台编辑器的差异,不去使用某些平台让人有些难以忍受的编辑器,从而完成 内容 与 排版 的解耦。
org-mode写法
这里记录一些常用的org语法,当然也可以去org-mode文档查看。
* The largest heading
** The second largest heading
******* the mallest heading
字体标注:
*Bold*
/Italic/
+Strikethrough+
*/Bold and italic/*
引用:
#+BEGIN_QUOTE
可以赢,但没必要!
#+END_QUOTE
代码块:
#+BEGIN_SRC python
def printa():
print 'a'
#+END_SRC
链接:
[[https://www.baidu.com][百度]]
图片:
[[http://osriq34d5.bkt.clouddn.com/20181008174515.png]]
有序列表:
1. 条目1;
2. 条目2;
3. 条目3;
无序列表:
+ 香蕉
+ 苹果
+ 草莓
分割线:
-----
表格:
| 第一列 | 第二列 | 第三列 |
| Google | Yahoo | [https://www.baidu.com][百度]] |
task lists:
- [ ] 把冰箱门打开;
- [ ] 把大象装进去;
- [ ] 把冰箱门关上。
换行:
\\
快捷键与Tips
上面代码块与引用的输入其实有快捷方式,输入引用时键入:<q,然后按tab即可,代码块则为:<s,然后加tab。
导出使用emacs的导出命令,C-c C-e,根据提示操作。
导出格式为gfm时,需要下载ox-gfm插件,调用org-gfm-export-to-markdown方法。
效果
效果还不错,这篇文章即是使用org导出为markdown得到的,导出过程中会自动将org的语法转换到markdown。