Markdown 的目标是实现「易读易写」,并强调它的「可读性」,因此Markdown 的语法全由标点符号所组成,并经过严谨慎选,是为了让它们看起来就像所要表达的意思;以下是Markdown 大部分的语法。
常用语法- 文字样式
文字字体
类别 | 语法 | 显示结果 |
---|---|---|
粗体 | **我是粗体** | 我是粗体 |
斜体 | *我是 斜体* | 我是斜体 |
粗斜体 | ***我是 粗斜体*** | 我是粗斜体 |
删除线 | ~~我是 删除线~~ | 我是删除线 |
底线 | <u>我是底 线<u> | 我是底线 |
文字颜色
Markdown 并没有更改文字颜色的语法,因此只能我们靠自己加入HTML 语法来修改文字颜色,只要在欲更改文字颜色的地方加入<font color=#008000>我是深綠色</font>
:我是深绿色。
在此附上一些常用的颜色,使用者也可以到 常用颜色表 这个网站来找寻自己喜欢的颜色。
语法 | 显示结果 | 语法 | 显示结果 |
---|---|---|---|
<font color=#800000>酒紅色</font> | 酒红色 | <font color=#FF0000>紅色</font> | 红色 |
<font color=#FF6600>橘色</font> | 橘色 | <font color=#FFD700>金色</font> | 金色 |
<font color=#FFFF00>黃色</font> | 黄色 | <font color=#00FF00>綠色</font> | 绿色 |
<font color=#008000>墨綠色</font> | 墨绿色 | <font color=#00FFFF>青色</font> | 青色 |
<font color=#0000FF>深藍色</font> | 深蓝色 | <font color=#FF00FF>粉紅色</font> | 粉红色 |
<font color=#800080>紫色</font> | 紫色 | <font color=#808080>灰色</font> | 灰色 |
标题
使用 #
来表示等级一的标题,总共有六个等级,且# 字符号和文字间要空一格。语法依此类推:
1
2
3
4
5
6
| # 等级一标题
## 等级二标题
### 等级三标题
#### 等级四标题
##### 等级五标题
###### 等级六标题
|
其结果显示如下图:
代码
- 文字间代码
**插入在文字间**的代码请使用以下语法,也就是用键盘Tab 键上方的反引号来包住:
1
| C语言的输入请使用`scanf()` 函式。
|
其结果显示如下:
C语言的输入请使用 scanf()
函式。
- 段落代码
若要以整行或整段来显示代码,请使用也就是用键盘Tab 上方的三个反引号来包住,且可以在第一列最后方指定程式语言类型(也能不指定),这样会在特殊函式或语法上标示特殊颜色。
例如使用C 语言:
其结果显示如下:
1
2
3
4
5
6
7
| // HelloWorld 程式
# include <stdio.h>
int main ( )
{ printf ( "HelloWorld\n" ); }
|
笔者查到支援的程式码列表如下,在反引号后输入下面括弧前的文字(参考网站):
-
Cucumber ('*.feature') abap ('*.abap') ada (' .adb', ' .ads', '*.ada') ahk (' .ahk', ' .ahkl') apacheconf ('.htaccess', 'apache.conf', 'apache2.conf') applescript ('*.applescript') as ('*.as') as3 ('*.as') asy ('*.asy') bash (' .sh', ' .ksh', ' .bash', ' .ebuild', '*.eclass') bat (' .bat', ' .cmd') befunge ('*.befunge') blitzmax ('*.bmx') boo ('*.boo') brainfuck (' .bf', ' .b') c (' .c', ' .h') cfm (' .cfm', ' .cfml', '*.cfc') cheetah (' .tmpl', ' .spt') cl (' .cl', ' .lisp', '*.el') clojure (' .clj', ' .cljs') cmake ('*.cmake', 'CMakeLists.txt') coffeescript ('*.coffee') console ('*.sh-session') control ('control') cpp (' .cpp', ' .hpp', ' .c++', ' .h++', ' .cc', ' .hh', ' .cxx', ' .hxx', '*.pde') csharp ('*.cs') css ('*.css') cython (' .pyx', ' .pxd', '*.pxi') d (' .d', ' .di') delphi ('*.pas') diff (' .diff', ' .patch') dpatch (' .dpatch', ' .darcspatch') duel (' .duel', ' .jbst') dylan (' .dylan', ' .dyl') erb ('*.erb') erl ('*.erl-sh') erlang (' .erl', ' .hrl') evoque ('*.evoque') factor ('*.factor') felix (' .flx', ' .flxh') fortran (' .f', ' .f90') gas (' .s', ' .S') genshi ('*.kid') glsl (' .vert', ' .frag', '*.geo') gnuplot (' .plot', ' .plt') go ('*.go') groff (' .(1234567)', ' .man') haml ('*.haml') haskell ('*.hs') html (' .html', ' .htm', ' .xhtml', ' .xslt') hx ('*.hx') hybris (' .hy', ' .hyb') ini (' .ini', ' .cfg') io ('*.io') ioke ('*.ik') irc ('*.weechatlog') jade ('*.jade') java ('*.java') js ('*.js') jsp ('*.jsp') lhs ('*.lhs') llvm ('*.ll') logtalk ('*.lgt') lua (' .lua', ' .wlua') make (' .mak', 'Makefile', 'makefile', 'Makefile. ', 'GNUmakefile') mako ('*.mao') maql ('*.maql') mason (' .mhtml', ' .mc', '*.mi', 'autohandler', 'dhandler') markdown ('*.md') modelica ('*.mo') modula2 (' .def', ' .mod') moocode ('*.moo') mupad ('*.mu') mxml ('*.mxml') myghty ('*.myt', 'autodelegate') nasm (' .asm', ' .ASM') newspeak ('*.ns2') objdump ('*.objdump') objectivec ('*.m') objectivej ('*.j') ocaml (' .ml', ' .mli', ' .mll', ' .mly') ooc ('*.ooc') perl (' .pl', ' .pm') php (' .php', ' .php(345)') postscript (' .ps', ' .eps') pot (' .pot', ' .po') pov (' .pov', ' .inc') prolog (' .prolog', ' .pro', '*.pl') properties ('*.properties') protobuf ('*.proto') py3tb ('*.py3tb') pytb ('*.pytb') python (' .py', ' .pyw', ' .sc', 'SConstruct', 'SConscript', ' .tac') rb (' .rb', ' .rbw', 'Rakefile', ' .rake', ' .gemspec', ' .rbx', ' .duby') rconsole ('*.Rout') rebol (' .r', ' .r3') redcode ('*.cw') rhtml ('*.rhtml') rst (' .rst', ' .rest') sass ('*.sass') scala ('*.scala') scaml ('*.scaml') scheme ('*.scm') scss ('*.scss') smalltalk ('*.st') smarty ('*.tpl') sourceslist ('sources.list') splus (' .S', ' .R') sql ('*.sql') sqlite3 ('*.sqlite3-console') squidconf ('squid.conf') ssp ('*.ssp') tcl ('*.tcl') tcsh (' .tcsh', ' .csh') tex (' .tex', ' .aux', '*.toc') text ('*.txt') v (' .v', ' .sv') vala (' .vala', ' .vapi') vbnet (' .vb', ' .bas') velocity (' .vm', ' .fhtml') vim ('*.vim', '.vimrc') xml (' .xml', ' .xsl', ' .rss', ' .xslt', ' .xsd', ' .wsdl') xquery (' .xqy', ' .xquery') xslt (' .xsl', ' .xslt') yaml (' .yaml', ' .yml')
常用语法- 其它
分隔线
一整列中输入三个以上的 ***
或三个以上的---
,且整列不能有其它文字,结果显示如下:
项目符号/编号
项目符号可以用*
、+
或-
,放在整列的开头当作项目符号,且符号和文字间要空一格,语法范例如下:
1
2
3
| + aaa
+ bbb
+ ccc
|
其结果显示如下:
- aaa
- bbb
- ccc
而**编号就是使用数字在加上.
,且 .
和文字间要空一格**,语法范例如下:
1
2
3
| 1. aaa
2. bbb
3. ccc
|
其结果显示如下:
- aaa
- bbb
- ccc
若使用** 「阶层式」的项目符号/编号**,只要记得空的格数要整齐即可。
1
2
3
4
5
6
7
8
9
10
| + 益者三友
+ 友直
+ 友谅
+ 友多闻
+ 益矣
+ 损者三友
+ 友便辟
+ 友善柔
+ 友便佞
+ 损矣
|
其结果显示如下:
- 益者三友
- 友直
- 友谅
- 友多闻
- 益矣
- 损者三友
- 友便辟
- 友善柔
- 友便佞
- 损矣
代办事项
代办事项的语法如下,若要在框框中打勾,则需在[ ] 中输入x
。
1
2
3
4
| - [ ] 空心菜
- [x] 玉米
- [x] 酱油
- [ ] 猪肉
|
其结果显示如下:
- 空心菜
- 玉米
- 酱油
- 猪肉
引用区块
使用 >
放在整列的开头当作引用区块,且 >
和文字间要空一格,语法范例如下:
1
2
3
| > 人远比自己想象的要坚强
> 特别是当你回头看看的时候
> 你会发现自己走了一段自己都没想到的路
|
其结果显示如下:
人远比自己想象的要坚强
特别是当你回头看看的时候
你会发现自己走了一段自己都没想到的路
而”引用”也支援「阶层式」显示:
1
2
3
| > 人生就像一杯茶
> > 不会苦一辈子
> > > 但总会苦一阵子
|
其结果显示如下:
人生就像一杯茶
不会苦一辈子
但总会苦一阵子
文字超连结
1
2
3
| [奇摩首页](https://tw.yahoo.com/)
[Google首页](https://www.google.com/)
[Facebook](https://www.facebook.com/)
|
其结果显示如下:
奇摩首页
Google首页
Facebook
图片
图片的语法和文字超连结很像,只是在语法开头再加上!
,中括弧内指的是图片的”替代文字” (当图片连结失效后会显示的文字,如下面的FB Logo):
1
2
3
| ![奇摩首页Logo](https://s1.yimg.com/rz/d/yahoo_frontpage_zh-Hant-TW_s_f_p_bestfit_frontpage_2x.png)
![Google首页Logo](https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png)
![FB Logo](123.png)
|
其结果显示如下:
奇摩首页Logo
Google首页Logo
FB Logo
表格
表格的基本语法如下,第一列是表格的标题列,然后第二列固定要是以 ---
做区隔,加栏位都是使用 |
来添加。注意表格的每栏宽度会自动分配,所以可以忽略一切的空格(也就是每列的 |
没有对齐也没关系,且加多少空格也不会影响每栏的宽度)。
1
2
3
4
| | Column 1 | Column 2 | Column 3 |
| -------- | -------- | -------- |
| Text1 | Text2 | Text3 |
| Text4 | Text5 | Text6 |
|
其结果显示如下:
Column 1 | Column 2 | Column 3 |
---|---|---|
Text1 | Text2 | Text3 |
Text4 | Text5 | Text6 |
而每栏可以决定要如何对齐,对齐方式取决于第二列的---
,再加上 :
符号:
:---
靠左对齐。---:
靠右对齐。:---:
置中对齐。
1
2
3
4
5
| | 预设对齐| 靠左对齐| 靠右对齐| 置中对齐|
| ----- | :----- | -----: | :-----: |
| Text1 | Text2 | Text3 | Text4 |
| Text5 | Text6 | Text7 | Text8 |
| Text9 | Text10 | Text11 | Text12 |
|
其结果显示如下:
预设对齐 | 靠左对齐 | 靠右对齐 | 置中对齐 |
---|---|---|---|
Text1 | Text2 | Text3 | Text4 |
Text5 | Text6 | Text7 | Text8 |
Text9 | Text10 | Text11 | Text12 |
注意事项
-
某些语法的外观样式如:引用、分隔线、项目符号等,会因为使用者套用的Hexo 主题而有不同。
-
图片可以放在Hexo 资料夹一并上传到GitHub,例如图片123.jpg 放到myblog/source/images路径下,然后图片语法连结的地方输入/images/123.jpg,就会显示该图片。
不过这种方法笔者不建议(也就是不建议把GitHub 当作图床用),因为当文章一多,会有机会达到GitHub Pages 的使用限制;因此可以搜寻各大免费图床来使用,如Imgur , Upload.cc等。 -
** HTML 语法尽量包在Markdown 语法里面**,否则可能会造成一些显示上的错误,举例如下:
1
2
3
4
5
6
| 语法撰写范例一:将「今天天气真好。」显示粗体并更改为红色
**<font color=#FF0000>今天天气真好。</font>**
语法撰写范例二:将「Title」设定成等级一标题并更改为蓝色
# <font color=#0000FF>Title</font>
|
- 呈上,因为HTML 语法和Markdown 语法交错使用,在hexo-admin 文章后台的编辑区和预览区可能会有显示问题,请先publish 后,以localhost 的文章页面显示为准。