Markdown 的目標是實現「易讀易寫」。

不過最需要強調的便是它的可讀性。一份使用 Markdown 格式撰寫的文件應該可以直接以純文字發佈,並且看起來不會像是由許多標籤或是格式指令所構成。

因此 Markdown 的語法全由標點符號所組成,並經過嚴謹慎選,是為了讓它們看起來就像所要表達的意思。像是在文字兩旁加上星號,看起來就像*強調*。Markdown 的清單看起來,嗯,就是清單。假如你有使用過電子郵件,區塊引言看起來就真的像是引用一段文字。

程式碼高亮顯示

Code blocks use the peppermint theme.

class Awesome < ActiveRecord::Base
  include EvenMoreAwesome

  validates_presence_of :something
  validates :email, email_format: true

  def initialize(email, name = nil)
    self.email = email
    self.name = name
  end
end
<!DOCTYPE html>
<title>Title</title>

<style>body {width: 500px;}</style>

<script type="application/javascript">
  function $init() {return true;}
</script>

<body>
  <p checked class="title" id='title'>Title</p>
  <!-- here goes the rest of the page -->
</body>

程式語言支援清單

In this way of using Liquid tag highlight, you can add language identifier (here is ruby) or its supported aliases (rb for ruby). Here is the list for supported languages:

  • actionscript: ActionScript [aliases: as,as3]
  • apache: configuration files for Apache web server
  • apiblueprint: Markdown based API description language. [aliases: apiblueprint,apib]
  • applescript: The AppleScript scripting language by Apple Inc. (http://developer.apple.com/applescript/)
  • biml: BIML, Business Intelligence Markup Language
  • c: The C programming language
  • ceylon: Say more, more clearly.
  • cfscript: CFScript, the CFML scripting language [aliases: cfc]
  • clojure: The Clojure programming language (clojure.org) [aliases: clj,cljs]
  • cmake: The cross-platform, open-source build system
  • coffeescript: The Coffeescript programming language (coffeescript.org) [aliases: coffee,coffee-script]
  • common_lisp: The Common Lisp variant of Lisp (common-lisp.net) [aliases: cl,common-lisp,elisp,emacs-lisp]
  • conf: A generic lexer for configuration files [aliases: config,configuration]
  • coq: Coq (coq.inria.fr)
  • cpp: The C++ programming language [aliases: c++]
  • csharp: a multi-paradigm language targeting .NET [aliases: c#,cs]
  • css: Cascading Style Sheets, used to style web pages
  • d: The D programming language(dlang.org) [aliases: dlang]
  • dart: The Dart programming language (dartlang.com)
  • diff: Lexes unified diffs or patches [aliases: patch,udiff]
  • eiffel: Eiffel programming language
  • elixir: Elixir language (elixir-lang.org) [aliases: elixir,exs]
  • erb: Embedded ruby template files [aliases: eruby,rhtml]
  • erlang: The Erlang programming language (erlang.org) [aliases: erl]
  • factor: Factor, the practical stack language (factorcode.org)
  • fortran: Fortran 95 Programming Language
  • gherkin: A business-readable spec DSL ( github.com/cucumber/cucumber/wiki/Gherkin ) [aliases: cucumber,behat]
  • glsl: The GLSL shader language
  • go: The Go programming language (http://golang.org) [aliases: go,golang]
  • gradle: A powerful build system for the JVM
  • groovy: The Groovy programming language (http://www.groovy-lang.org/)
  • haml: The Haml templating system for Ruby (haml.info) [aliases: HAML]
  • handlebars: the Handlebars and Mustache templating languages [aliases: hbs,mustache]
  • haskell: The Haskell programming language (haskell.org) [aliases: hs]
  • html: HTML, the markup language of the web
  • http: http requests and responses
  • ini: the INI configuration format
  • io: The IO programming language (http://iolanguage.com)
  • java: The Java programming language (java.com)
  • javascript: JavaScript, the browser scripting language [aliases: js]
  • jinja: Django/Jinja template engine (jinja.pocoo.org) [aliases: django]
  • json: JavaScript Object Notation (json.org)
  • json-doc: JavaScript Object Notation with extenstions for documentation
  • jsonnet: An elegant, formally-specified config language for JSON
  • julia: The Julia programming language [aliases: jl]
  • kotlin: Kotlin http://kotlinlang.org
  • liquid: Liquid is a templating engine for Ruby (liquidmarkup.org)
  • literate_coffeescript: Literate coffeescript [aliases: litcoffee]
  • literate_haskell: Literate haskell [aliases: lithaskell,lhaskell,lhs]
  • llvm: The LLVM Compiler Infrastructure (http://llvm.org/)
  • lua: Lua (http://www.lua.org)
  • make: Makefile syntax [aliases: makefile,mf,gnumake,bsdmake]
  • markdown: Markdown, a light-weight markup language for authors [aliases: md,mkd]
  • matlab: Matlab [aliases: m]
  • moonscript: Moonscript (http://www.moonscript.org) [aliases: moon]
  • nasm: Netwide Assembler
  • nginx: configuration files for the nginx web server (nginx.org)
  • nim: The Nim programming language (http://nim-lang.org/) [aliases: nimrod]
  • objective_c: an extension of C commonly used to write Apple software [aliases: objc]
  • ocaml: Objective CAML (ocaml.org)
  • pascal: a procedural programming language commonly used as a teaching language.
  • perl: The Perl scripting language (perl.org) [aliases: pl]
  • php: The PHP scripting language (php.net) [aliases: php,php3,php4,php5]
  • plaintext: A boring lexer that doesn’t highlight anything [aliases: text]
  • powershell: powershell [aliases: posh]
  • praat: The Praat scripting language (praat.org)
  • prolog: The Prolog programming language (http://en.wikipedia.org/wiki/Prolog) [aliases: prolog]
  • properties: .properties config files for Java
  • protouf: Google’s language-neutral, platform-neutral, extensible mechanism for serializing structured data [aliases: proto]
  • puppet: The Puppet configuration management language (puppetlabs.org) [aliases: pp]
  • python: The Python programming language (python.org) [aliases: py]
  • qml: QML, a UI markup language [aliases: qml]
  • r: The R statistics language (r-project.org) [aliases: r,R,s,S]
  • racket: Racket is a Lisp descended from Scheme (racket-lang.org)
  • ruby: The Ruby programming language (ruby-lang.org) [aliases: rb]
  • rust: The Rust programming language (rust-lang.org) [aliases: rs]
  • sass: The Sass stylesheet language language (sass-lang.com)
  • scala: The Scala programming language (scala-lang.org) [aliases: scala]
  • scheme: The Scheme variant of Lisp
  • scss: SCSS stylesheets (sass-lang.com)
  • sed: sed, the ultimate stream editor
  • shell: Various shell languages, including sh and bash [aliases: bash,zsh,ksh,sh]
  • shell_session: A generic lexer for shell session and command line [aliases: terminal,console]
  • slim: The Slim template language
  • smalltalk: The Smalltalk programming language [aliases: st,squeak]
  • smarty: Smarty Template Engine [aliases: smarty]
  • sml: Standard ML [aliases: ml]
  • sql: Structured Query Language, for relational databases
  • swift: Multi paradigm, compiled programming language developed by Apple for iOS and OS X development.(developer.apple.com/swift)
  • tap: Test Anything Protocol [aliases: tap]
  • tcl: The Tool Command Language (tcl.tk)
  • tex: The TeX typesetting system [aliases: TeX,LaTeX,latex]
  • toml: the TOML configuration format (https://github.com/mojombo/toml)
  • tulip: The tulip programming language http://github.com/jneen/tulip [aliases: tlp]
  • twig: Twig template engine (twig.sensiolabs.org)
  • typescript: TypeScript, a superset of JavaScript [aliases: ts]
  • vb: Visual Basic [aliases: visualbasic]
  • verilog: The System Verilog hardware description language
  • viml: VimL, the scripting language for the Vim editor (vim.org) [aliases: vim,vimscript,ex]
  • xml: XML
  • yaml: Yaml Ain’t Markup Language (yaml.org) [aliases: yml]

Headings!

They’re responsive, and well-proportioned (in padding, line-height, margin, and font-size).

They draw the perfect amount of attention

This allows your content to have the proper informational and contextual hierarchy. Yay.

清單

  • Apples
  • Oranges
  • Potatoes
  • Milk
  1. Mow the lawn
  2. Feed the dog
  3. Dance

圖片

Thumper

引用文字

You can use the markdown quote syntax, > for simple quotes.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse quis porta mauris.

LaTeX 支援

The default math delimiters are $$. Hence $$ E = m \cdot c^2 $$ yields \(E = m \cdot c^2\)

And here’s something more fancy:

\[\zeta(s) = \frac{1}{\Gamma(s)} \int \limits_0^\infty x^{s-1} \sum_{n=1}^\infty e^{-nx} \mathrm{d}x = \frac{1}{\Gamma(s)} \int \limits_0^\infty \frac{x^{s-1}}{e^x - 1} \mathrm{d}x\]

There’s more being added all the time

Checkout the Github repository to request, or add, features.

Happy writing.