2015年10月22日 星期四

寫文件神器 Markdown:一個輕量的標記語言

 


Welcome to Markdown!


Markdown是一個輕量的標記語言, 主要用於讓人們可以不用HTML複雜繁長的語法就能夠標記格式而達到管理文件的目的。

Markdown是由John Gruber跟Aaron Swartz所創造出來的. 他們希望能夠讓人們可以用易讀,易寫的簡單文件格式,透過工具格式化轉成HTML。經過多年的發展,Markdown已經成為許多人做筆記的第一選擇了。

知名的源碼版本控制服務網站GitHub用Markdown作為他們預設支援的文本格式。其它還有許多的服務都支援Markdown作為他們優先支援的格式。




一、Markdown 語法



1. Header


如果想要定義標題元素,Markdown支援數種方式:

This is an H1
=============
This is an H2
-------------

# This is an H1
## This is an H2
###### This is an H6

# This is an H1 #
## This is an H2 ##
### This is an H3 ######



2. Block Quotes


Markdown可以用>來標示文字區塊,就像在email裡一樣:

> 這是一個block quote的文塊, 用來示範如何使用block quote的一個例子.
> 如果在email裡用過block quote, 就應該覺得這不陌生.
> 下一行空著就變新的一個段落
>
> 新的段落.



3. Bullet Points


在編寫的過程中經常需要列舉,Markdown提供了一個很方便的標記方式:

* item 1
* item 2
- item 3
- item 4
+ item 5
+ item 6

1. pen
2. pencil
3. marker


4. Code Blocks


對於有時候需要寫編碼的人,Markdown讓使用者可以用 “` 來包圍住所要註釋為編碼的文字區塊


5. Horizontal Rules


使用者可以用以下幾種方式來製造一個橫軸直線:

* * *

***

*****

- - -

---------------------------------------


6. 連結


如果想要嵌入連結可以使用以下的語法:


This is [an example](http://example.com/ "Title") inline link.

[This link](http://example.net/) has no title attribute.


7. 粗體與斜體


如果想要設定文字為斜體,如下:

*斜體*
_斜體_
**粗體**
__粗體__




二、Markdown 編輯工具



1. Pandoc


Pandoc在許多主流的作業系統上都有發佈安裝包方便使用者安裝。這包含了Linux, Windows, BSD, and Mac OS X。安裝和使用方法如下:


安裝 Pandoc :
$ cabal update
$ cabal install pandoc

轉成 HTML 或 pdf :
$ pandoc test.markdown -o test.html
$ markdown2pdf test.markdown -o test.pdf


2. 網頁線上編輯器:DILLINGER、STACKEDIT


市面上的Markdown編輯器很多,下面提供兩個網頁式的Markdown編輯器,都非常好用!

  • DILLINGER ( http://dillinger.io/ ) :輕量的線上編輯器,簡潔好用介面乾淨美觀
  • STACKEDIT ( https://stackedit.io/editor ):整合了更多的同步甚至blogger發布的功能,是現在我編輯這個文章的編輯器,非常好用!



3. 其他著名 Markdown 編輯器



其他還有像是Mac上面最著名的markdown editor : MOU ( http://25.io/mou/ )
或是 Evernote 用的 MARXICO ( http://marxi.co/ )
選一個自己最順手的吧!





gitbook
https://wastemobile.gitbooks.io/gitbook-chinese/content/book/nogitisok.html



三、Markdown 樣板示範


下面提供兩個範例,可以用單元二的程式來模擬看看,排版非常美觀:)

1. 簡單筆記


下面以一個筆記的樣板作為範例


Introduction to XXXX
===============
This is an introduction to _markdown_.
1. Chapter 1 Syntax
2. Chapter 2 Advanced Techniques

***

# Chapter 1 - Syntax #
Write the intro for chapter 1 here.

## 1.1 Subsection ##
**Here** comes more details on the subject. Attach some code here:
      run _code_
Try to fill in `_code_` with the program that you want to run.

## 1.2 Subsection 2 ##
This is a demo text paragraph

***

# Chapter 2 - Advanced Techniques ##
Intro for chapter 2 here ...



2. Meeting Minutes Template


軟體工程常需要的文件撰寫,用 Markdown 寫真是暢快無比!稍微改造一下會議記錄格式用來追蹤自己的工作進度,還滿好用的:)


Weekly Project Progress Report
==============================
* Record Date :
* manager :
* owner :
* recorder :

### A. Goal ###
------------------
1. development and deployment
2. MIS training

### B. Progress Report ###
------------------
1. System Deployment : using Application Server
...[in detail](http://mropengate.blogspot.tw/)

2. MIS training :
 1. DHCP & DNS Server
 ...[in detail](http://mropengate.blogspot.tw/)
 2. IDC
 3. Proximity Access Control System
 * information

### C. Action Item
------------------
NumID | Action        | Owner   | Deadline | status
---- | ----          | ----    | ----     | ----
 NUM | SAMPLE TASK | CHONG | DATE | ONGOING






References


Markdown 文件 (非常清楚易用的中文說明文件)
http://markdown.tw/

OpenFoundary
https://www.openfoundry.org/tw/resourcecatalog/Program-Development/Markup-Languages/markdown

Markdown 資源分享
http://yuhua-chen.logdown.com/tags/StackEdit






技術提供:Blogger.