美文网首页工具癖
用org-mode维护自己的所有输出

用org-mode维护自己的所有输出

作者: 古二白 | 来源:发表于2018-10-08 22:33 被阅读52次

    输出中的一些场景

    你可能也读了一些书,有了一些尝试,或者有过一些想法与见解,想要在这个信息爆炸的时代做一些 输出 ,毕竟没完没了太多的信息源太多输入往往只是加重了你的焦虑,而你的生活并没有从 输入 中得到什么明显的变化,这些单纯的输入往往效果并不算好。
    然后你会考虑,我要在哪儿写些什么呢?
    常逛的平台有很多:微信公众号,知乎,简书,掘金,个人博客,少数派等。有时看到上面的文章,会有一种感觉,自己写得也不一定比某些内容差。
    你可能会建一个公众号,在它的编辑界面写过两篇文章,后来又发现简书是一个不错的练习写作的平台,可以放一些不疼不痒的文章上去,它左markdown右渲染的模式也非常友好,然后又决定去写个知乎专栏,谈论一些BG高的事情,接着又发现技术文章还是放到掘金比较合适。

    在这些平台上书写会碰到几个问题:

    1. 有些平台的编辑器体验不好,比如知乎,经常会莫名抖动;
    2. 对markdown的语法支持不一,知乎的支持只是皮毛,有些支持checklist有些不支持,GitHub使用的是GitHub Flavored Markdown换行需要行尾四个空格;
    3. 网页编辑往往无法使用到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。

    相关文章

      网友评论

        本文标题:用org-mode维护自己的所有输出

        本文链接:https://www.haomeiwen.com/subject/ctdsaftx.html