1. 程式人生 > >Sublime for Markdown

Sublime for Markdown

所需外掛

  • Package Control
  • Monokai Extended & Markdown Extended
  • MarkdownEditing
  • MarkdownTOC
  • Table Editor
  • Markdown Preview
  • AcademicMarkdown
  • Citer
  • Pandoc

Monokai Extended 高亮 & Markdown Extended 語法

  • Markdown 格式在 Sublime 中預設無高亮,很多主題也不支援 Markdown 的高亮(包括 Markdown 程式碼塊內的程式碼),Monokai Extended 和 Markdown Extended 是一套解決方案。
  • 注意需要將 Markdown 的檔案格式與 Markdown Extended 這種語法關聯起來,做法是點選 Sublime 右下角文件格式,在列表最上方名為 Open all with current extension as 二級列表中選擇 Markdown Extended
  • 另一種臨時設定方式可以是 Shift + Command + P 調出 Command Palette,輸入 ssm,選擇 Set Syntax: Markdown Extended
  • 一定要在Open all with current extension as 二級列表中選擇 Markdown Extended,這樣以後開啟相同字尾的檔案就會自動選擇了
  • 在Preferences -> Color Scheme -> Monokai Extended -> Monokai Extended Bright 就會顯示高亮

MarkdownEditing 輔助提示 配色方案

  • 在 Sublime 中編寫 Markdown 還有一個直觀的不適就是缺少輔助提示,比如輸入 ,編輯器應當自動補上一個 ,並使游標保持在兩 * 之間,又比如應當支援選中一段文字快捷鍵新增連結
  • Markdown Editing 提供了這些支援,它也提供配色方案(略醜)
  • 個人常用的三個快捷鍵是:
  • Ctrl + Win + K 插入連結
  • Ctrl + Win + V 貼上為連結格式
  • Ctrl + Win + K 插入圖片

MarkdownTOC 自動生成目錄

  • 編寫 heading 較多的長文件,希望能夠自動生成目錄方便跳轉,MarkdownTOC 可以幫助我們實現。
  • 安裝完成需要對其做一定配置,方法是開啟 Preferences -> Package Settings -> MarkdownTOC -> Setting - User,鍵入以下配置:
{
    "default_autolink": true, //目錄以連結形式呈現
    "default_bracket": "round", //連結以圓括號包裹
    "default_depth": 0 //無限目錄深度
}
  • User Setting 覆蓋 Default Setting,修改 User Setting 而非 Default Setting 是為了將來外掛升級使用者配置不被覆蓋。配置檔案都是 json 格式
  • 將游標置於文件首部,點選 Tools -> MarkdownTOC -> Insert TOC,會自動在文首生成目錄,效果如下圖。這個目錄會隨文件內容改變自動更新(可能需要儲存來觸發)

Table Editor 鍵入表格

  • 鍵入表格是個體力活,Table Editor 可以幫助我們減輕工作量
  • Ctrl + Shift + P 輸入 teecv,進入Enable模式
  • 詳細的請檢視 Preferences -> Package Settings -> Table Editor -> README

Markdown Preview 渲染文件格式為HTML

  • 現在,程式碼、公式、表格、圖片、連結、目錄都齊活兒了,最後一步就是將 Markdown 文件渲染成我們想要的文件格式,Markdown Preview 責無旁貸
  • 安裝後也需要進行一定配置: Preferences -> Package Settings -> Markdown Preview -> Settings - Users
{
    "parser": "github",
    "build_action": "browser",
    "enable_mathjax": true,
    "enable_uml": true,
    // "enable_highlight": true, //這句話加上去會不能渲染
    "enable_pygments": true,
    // "enabled_extensions": "github", //這個會影響表格
    "enabled_parsers": ["github"],
    "github_mode": "markdown",
    "github_inject_header_ids": true,
    "enable_autoreload": false,
    //"browser": "E:\\Program Files (x86)\\360 chrome\\360Chrome\\Chrome\\Application\\360chrome.exe""browser": "/usr/bin/google-chrome"
}
  • 在以上配置中我們設定渲染樣式為 github
  • 渲染結束後用瀏覽器開啟,開啟 uml、mathjax、pygments 等支援
  • 最重要的一個配置項是 “github_inject_header_ids”: true,保證 heading 的 id 與 heading 內容一致,也就與 MarkdownTOC 生成的一致,也就恰好能夠錨點定位
  • 最後我們關閉了 autoreload,否則每當儲存 Markdown 檔案,後臺都會進行一次渲染操作,你就會看到一顆彩虹糖在打轉。
  • 使用快捷鍵 Shift + Command + B,選擇 Build with Markdown,一會兒就能在彈出的瀏覽器框裡看到渲染結果了。
  • 開啟Preferences->Key Binding User,新增下面一句話
    { "keys" : ["f6"], "command": "markdown_preview", "args": {"target": "browser", "parser":"markdown"} },
  • 不進行這些配置的話,因為我們在前面實現儲存自動重新整理使用了一些操作,按ctrl+b,就會在該目錄下,建立一個同名的html檔案,這個設定是在Sublime for WEB中的。
  • 選中該html檔案,再次按Ctrl + B可以達到同樣的預覽效果,不過還是F6簡單不是嗎

AcademicMarkdown 渲染為符合指定論文格式的文章

  • 在查詢資料的過程中發現可以用 Sublime + Markdown 寫論文,就跟著學了一把。
  • AcademicMarkdown 通過在 Markdown 文件中新增一定的資訊,具體說是檔案頭,來幫助我們將 Markdown 文件渲染為符合指定論文格式的文章。
  • 以下檔案頭摘自外掛作者給出的 樣例
title: A sample paper
author: Donald Duck
date: October 1, 2014
csl: /Users/frank/Documents/My Markdown/sample-paper/chicago.csl
abstract: Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enimad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
  • csl 是論文模板格式,更多格式可在 Zotero Style Repository 尋找。
  • Academic 還允許指定 bib 檔案,在 Markdown 文件內新增引用,格式是 @citation_key,下面介紹的 Citer 可以幫助我們管理引用。

Citer 搜尋、插入引用

  • 安裝後需要進行一定配置:
{
    //REQUIRED:
    "bibtex_file_path": "/Users/frank/Documents/Mendeley/reference.bib",

    //OPTIONAL:

    //By default Citer Search looks for your keyword in the
    //author, title, year, and Citekey (id) feilds
    "search_fields": ["author", "title", "year", "id"] ,
    //Default format is @Citekey
    "citation_format": "@%s",
    //list of scopes. Could be top level "text" or "source", or limit to
    // e.g "text.html.markdown"
    "completions_scopes": ["text"],
    "enable_completions": true
}
  • 只要修改 bibtex_file_path 即可,其它都是預設配置項,
  • 我的 bib 檔案是由 Mendeley 維護的。
  • 值得一提的是,AcademicMarkdown 支援在檔案頭指定其它 bib 檔案,Citer 中的 bib 是全域性的
  • Shift + Command + P 調出 Command Palette,
  • 輸入 Citer,Show All 會列舉全域性 bib 檔案中的所有項(如果是剛配置好可能結果為空,請稍作等待或重啟 Sublime),Search 則顯然用於搜尋。

Pandoc 文件編譯成論文

  • 最終由神器 Pandoc 將 AcademicMarkdown 文件編譯成論文
  • 這個外掛只是 Pandoc 的使用配置介面,需要在系統中手動安裝 Pandoc,OS X 下我使用 brew install pandoc 安裝。我們要用到的兩個命令是 pandoc 和 pandoc-citeproc。除了 Pandoc,我們還需要配置 Latex 編譯環境,我使用的是 TeX Live。
  • 接下來配置 Pandoc 外掛
{
  "default": {
    **"pandoc-path": "/usr/local/bin/pandoc"**,

    "transformations": {

    ...

      "PDF": {
        "scope": {
          "text.html": "html",
          "text.html.markdown": "markdown"
        },
        "pandoc-arguments": [
          "-t", "pdf", **"--latex-engine=/usr/texbin/pdflatex"**,
          **"--filter=/usr/local/bin/pandoc-citeproc"**,
          **"--bibliography=/Users/frank/Documents/Mendeley/reference.bib"**
        ]
      },

      "Microsoft Word": {
        "scope": {
          "text.html": "html",
          "text.html.markdown": "markdown"
        },
        "pandoc-arguments": [
          "-t", "docx",
          **"--filter=/usr/local/bin/pandoc-citeproc"**,
          **"--bibliography=/Users/frank/Documents/Mendeley/reference.bib"**
        ]
      }
    },

    "pandoc-format-file": ["docx", "epub", "pdf", "odt"]
  }
}
  • 修改內容以 ** 標出,主要是指定相關命令、檔案的路徑作為 pandoc 命令的引數。
  • Shift + Command + P 調出 Command Palette,輸入 Pandoc、選擇 PDF 作為輸出格式即可,這是一個示例。

推薦拿七牛做圖床