2016年8月24日 星期三

使用 Stackedit 編輯 Markdown

Stackedit提供線上編輯Markdown的服務,而Markdown是什麼?可以吃嗎?



Stackedit

什麼是 Markdown

其實它非常類似大家熟知的HTML,它們都擁有約定的語法標籤,可以幫助我們將文件給「格式化」。
以下舉幾個常用的例子。

標題階層

例如想要做出不同階層的標題,
只需要在標題前面加上#就會自動產生各標題的字型大小、行距了。
#標題一
##標題二
###標題三
####標題四

標題一

標題二

標題三

標題四

插入圖片

想要在文件內插入圖片,可以透過![]()來插入圖片。圖片可以放在免費的網路圖床,例如dropbox的Public資料夾,或者google drive。
![圖片描述](https://xxx.jpg)
裝可愛胖虎

插入分隔線

Markdown也可以插入美美的分隔線,做法非常簡單,只要打上三個橫線:
---

有看到分隔線嗎?
多寫幾個------------也沒有什麼差別

插入清單

很常用到的編號清單,請你跟我這樣做:
1.編號一
2.編號二
3.編號三
  1. 編號一
  2. 編號二
  3. 編號三
而一般的清單只要:
-清單一
-清單二
-清單三
  • 清單一
  • 清單二
  • 清單三
……就醬子,沒什麼需要補充的。

強調標示

有時候行文,需要偶爾強調一下,觀眾才不會睡著,這時候可以用粗體以及斜體來做強調。
我是*很重要*的**粗體**
我是很重要粗體

程式碼嵌入

當我還是個剛進入coding world的青澀小女孩時,曾經花費無數時間研究如何在部落格中嵌入漂亮的程式碼……(遠目看向青春)
只需要用```把程式碼包起來就可以囉>
GitHub’s fenced code blocks are also supported with Highlight.js syntax highlighting:
// Foo
var bar = 0;
哎,早知道用 Markdown 可以這麼快速的啦~
要特別提一下, Markdown 預設使用 Highlight.js 作為程式碼套用的樣本,也可以改成由 google 開發的 google-code-prettify CSS 樣式。
備註: 更多關於程式碼上色的資訊請參考:
- about Prettify syntax highlighting here.
- about Highlight.js syntax highlighting here.
看到這邊,是不是有點想要嘗試 Markdown 來編輯文件了呢?
讓自己所發表的文件總是保持相同的格式,除了可以滿足整齊強迫症之外,也可以讓部落格更美觀喔!

那 Stackedit 可以做什麼呢?

Stackedit 提供的 Markdown 編輯器,除了可以即時預覽成果之外,
也有類似我們在寫部落格時文字編輯器所內建的 html 編輯按鈕,
只要點選就自動生成前面那一堆 tag 標籤啦!

此外, Stackedit 還有幾項特點:

雲端同步功能

支援 Google Drive、 Dropbox 的線上同步功能,隨時可以編輯不怕文件搞丟

線上發佈功能

在 Stackedit 編輯完成之後,可以直接發佈至Blogger, Dropbox, Gist, GitHub, Google Drive, Tumblr, WordPress 等平台,連複製貼上都不需要!

Blogger 版面的設定

雖然 Stackedit 可以直接將編輯好的文章發佈到你的 Blogger ,看看文章雖然上面寫到的大綱條目、項目列表、程式區塊都有出現,但就是醜醜的,不好看。這時候就需要套用一些模板啦
首先進入網誌 > 範本 > 編輯 HTML
這邊看到的 HTML 就是你的 Blogger 網誌的版面設定,可以透過ctrl+F搜尋</head>,在</head>前面放入以下程式碼
<link href='https://miaochien.github.io/MyBlogger/template/css_template/markDown.css?raw=1' rel='stylesheet' type='text/css'/>

<script src='https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML' type='text/javascript'/>

<script src='https://cdnjs.cloudflare.com/ajax/libs/highlight.js/8.9.1/highlight.min.js'/>

<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/8.9.1/styles/monokai_sublime.min.css" />
其中第一行讀入的是規範 Markdown 各標籤的 CSS 文件。我搜尋了很久才找到這個漂亮的模板,感謝網友 Jeffyon 將中文版面重新調整,閱讀起來相當漂亮。
第二行是協助產出數學公式的 MathJax.js
第三、四行是前面提過的 Highlight.js ,可協助將程式碼上色,這邊套用的是 sublime monokai 顏色主題
如果想要換成 google-code-prettify 程式碼顏色主題的話,就把第三、四行代換成這行就可以惹。
<script src="https://cdn.rawgit.com/google/code-prettify/master/loader/run_prettify.js?skin=desert"></script>
以上是對於 Stackedit 和 Markdown 的簡單介紹,大家有空可以玩看看啊~
後面附上更詳細的 Markdown 語法,包括如何建立表格、 建立文件目錄、數學公式,甚至還有超快速建立 UML diagrams !真是神物啊~

Markdown Extra

StackEdit supports Markdown Extra, which extends Markdown syntax with some nice features.
Tip: You can disable any Markdown Extra feature in the Extensions tab of the Settings dialog.
Note: You can find more information about Markdown syntax here and Markdown Extra extension here.

Tables

Markdown Extra has a special syntax for tables:
Item Value
Computer $1600
Phone $12
Pipe $1
You can specify column alignment with one or two colons:
Item Value Qty
Computer $1600 5
Phone $12 12
Pipe $1 234

Definition Lists

Markdown Extra has a special syntax for definition lists too:
Term 1
Term 2
Definition A
Definition B
Term 3
Definition C
Definition D
part of definition D

Footnotes

You can create footnotes like this1.

SmartyPants

SmartyPants converts ASCII punctuation characters into “smart” typographic punctuation HTML entities. For example:
ASCII HTML
Single backticks 'Isn't this fun?' ‘Isn’t this fun?’
Quotes "Isn't this fun?" “Isn’t this fun?”
Dashes -- is en-dash, --- is em-dash – is en-dash, — is em-dash

Table of contents

You can insert a table of contents using the marker [TOC]:

MathJax

You can render LaTeX mathematical expressions using MathJax, as on math.stackexchange.com:
The Gamma function satisfying is via the Euler integral

Tip: To make sure mathematical expressions are rendered properly on your website, include MathJax into your template:
<script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML"></script>
Note: You can find more information about LaTeX mathematical expressions here.

UML diagrams

You can also render sequence diagrams like this:
Created with Raphaël 2.1.2AliceAliceBobBobHello Bob, how are you?Bob thinksI am good thanks!
And flow charts like this:
Created with Raphaël 2.1.2StartMy OperationYes or No?Endyesno
Note: You can find more information:
  • about Sequence diagrams syntax here,
  • about Flow charts syntax here.

Support StackEdit



  1. Here is the text of the footnote.