头图

我想,在我正式开始学习一些计算机课程和如何搭建个人博客网站之前,我要重新将Markdown从头到尾地学习一下。事实上,这篇文章也是使用Markdown格式来进行书写的。

很早就听说了Markdown的大名,<u>目前一些主流的博客网站或者论坛,还有一些社交媒体都支持以Markdown格式进行创作。</u>

然而我却一直没有系统学习和了解Markdown,它于我而言有些像最熟悉的陌生人。

那什么是Markdwon?为什么要学习它,它有什么用呢?

下面简单地介绍一下Markdown

Markdown是一种轻量级标记语言,创始人为约翰·格鲁伯。它允许人们使用易读易写的纯文本格式编写文档,然后转换成有效的XHTML(或者HTML)文档。[4]这种语言吸收了很多在电子邮件中已有的纯文本标记的特性。

由于Markdown的轻量化、易读易写特性,并且对于图片,图表、数学式都有支持,目前许多网站都广泛使用Markdown来撰写帮助文档或是用于论坛上发表消息。如GitHubRedditDiscordDiaspora)、Stack ExchangeOpenStreetMapSourceForge简书等,甚至还能被用来撰写电子书

这是引用自维基百科中关于Markdown的定义说明,实际上Markdown就是用来给你所写的文档添加一些格式,使其变得更加易读,但是它又不像富文本编辑器(如Word)那样繁琐,当然它的格式也远没有富文本编辑器那么丰富,它的有点在于方便快捷,可以满足写文档的基本需求,可以释放你的右手,你的双手完全不需要离开键盘,而且越来越多的网站也开始兼容Markdown,因此学习Markdown可以有利于编写你自己的文档。

刚才简单介绍了一下Markdown,下面着重介绍Markdown如何使用,也就是介绍一下Markdown的语法

标题语法

在要创建的标题前添加井号(#),井号的个数代表不同的标题等级,例如

\# 一级标题

\## 二级标题

\### 三级标题

\#### 四级标题

\##### 五级标题

\###### 六级标题

这里所展现出的效果如下:

一级标题

二级标题

三级标题

四级标题
五级标题
六级标题

它们随着级数越来越大,重要级缺越来越小,这像书本中可能会出现的,第一章、1.1节、1.1.1,有一个逐级向下细分的过程,在我使用Typora写这篇文章的时候,我发现一级和二级标题下方会有一条浅色的分割线。

正文语法

当我们写完标题后,就该写正文了,也就是自然段(段落),在Markdown中,以空白行分割出不同的段落,并且不对段落做缩进处理,就是说段落与段落之间有空行,段落不用首行缩进二字符。当你写正文时发现内容过长,需要换行,此时为了兼容性,最好在句子末尾加上\<br>以换行,或者干脆将那部分正文分成若干段落

强调语法

在文章中可能会有某些重要的词语或短句需要引起读者注意,此时可以通过加粗、倾斜、下划线、删除线来达到强调的目的,下面介绍这三种样式的语法:

1.加粗

在要加粗的内容前后分别输入两个星号(**

如:这是一个*加粗*示例

那么它呈现出来的效果应该是这样的:

这是一个加粗示例

2.倾斜

在要倾斜的内容前后分别输入一个星号(*

如:这是一个*倾斜*示例

那么它呈现出的效果应该是这样的:

这是一个倾斜示例

3.下划线

由于Markdown原生语法并不支持给文字下划线,这里我们使用HTML来完成,把要加下划线的内容放到\<u>\</u>中

如:这是一个\<u>下划线\</u>示例

它呈现出的效果是这样的:

这是一个<u>下划线</u>示例

4.删除线

在要加删除线的内容前后分别输入两个波浪号(~~)

如:这是一个\~~删除线~~示例

它呈现的效果应该是这样的:

这是一个删除线示例

引用语法

当你在写正文段落时,有时可能需要借用一下别人的话,这时引用语法就起了作用

它的用法是,在一行用一个大于号(>)来表示,如果你的引用有好几行,你需要在每行开头都加上一个大于号,就像这样:

\>这就是我要引用的话!

它呈现的效果就是这样:

这就是我要呈现的话啦!

代码语法

代码块和引用块的用法比较像,在写技术文档时,你可能会需要展示一段代码,Markdown中的代码块可以让你的代码与普通文本区分开,根据不同的语法为其添加高亮,使其便于阅读

它的语法是,在你的代码段前后分别加上三个反引号(\```),这个符号和波浪号在一个按键上,在前面三个反引号后面可以紧接着写此代码段是什么编程语言,就像这样:

\```c++
int main(){

cout>>"这是一个代码段示例";

}
\```

它呈现出的效果就是这样:

int main(){
    cout>>"这是一个代码段示例";
}

这里代码高亮的样式即为C++风格

那么Markdown中代码段都支持哪些编程语言呢?见下表

语言名称Markdown 语言声明常见文件名
1C Enterprise1c-enterprise*.bsl
4D4d*.4dm
ABAPabap*.abap
ABNFabnf*.abnf
AGS Scriptags-script, ags*.asc
AMPLampl*.ampl
ANTLRantlr*.g4
API Blueprintapi-blueprint*.apib
APLapl*.apl
ASN.1asn.1*.asn
ASPasp, aspx, aspx-vb*.asp
ATSats, ats2*.dats
ActionScriptactionscript, actionscript3, as3*.as
Adaada, ada95, ada2005*.adb
Adobe Font Metricsadobe-font-metrics, acfm, amfm*.afm
Agdaagda*.agda
Alloyalloy*.als
Alpine Abuildalpine-abuild, abuild, apkbuildAPKBUILD
Altium Designeraltium-designer, altium*.OutJob
AngelScriptangelscript*.as
Ant Build Systemant-build-systemant.xml
ApacheConfapacheconf, aconf, apache*.apacheconf, .htaccess
Apexapex*.cls
Apollo Guidance Computerapollo-guidance-computer*.agc
AppleScriptapplescript, osascript*.applescript
Arcarc*.arc
AsciiDocasciidoc*.asciidoc
AspectJaspectj*.aj
Assemblyassembly, asm, nasm*.asm
Asymptoteasymptote*.asy
Augeasaugeas*.aug
AutoHotkeyautohotkey, ahk*.ahk
AutoItautoit, au3, AutoIt3, AutoItScript*.au3
Awkawk*.awk
Ballerinaballerina*.bal
Batchfilebatchfile, bat, batch, dosbatch, winbatch*.bat
Befungebefunge*.befunge
BibTeXbibtex*.bib
Bisonbison*.bison
BitBakebitbake*.bb
Bladeblade*.blade
BlitzBasicblitzbasic, b3d, blitz3d, blitzplus, bplus*.bb
BlitzMaxblitzmax, bmax*.bmx
Bluespecbluespec*.bsv
Booboo*.boo
Brainfuckbrainfuck*.b
Brightscriptbrightscript*.brs
Cc*.c
C#c#, csharp*.cs
C++c++, cpp*.cpp
C-ObjDumpc-objdump*.c-objdump
C2hs Haskellc2hs-haskell, c2hs*.chs
CLIPSclips*.clp
CMakecmake*.cmake, CMakeLists.txt
COBOLcobol*.cob
COLLADAcollada*.dae
CSONcson*.cson
CSScss*.css
CSVcsv*.csv
CWebcweb*.w
Cabal Configcabal-config, Cabal*.cabal, cabal.config
Cap’n Protocap’n-proto*.capnp
CartoCSScartocss, Carto*.mss
Ceylonceylon*.ceylon
Chapelchapel, chpl*.chpl
Charitycharity*.ch
ChucKchuck*.ck
Cirrucirru*.cirru
Clarionclarion*.clw
Cleanclean*.icl
Clickclick*.click
Clojureclojure*.clj, riemann.config
Closure Templatesclosure-templates, soy*.soy
Cloud Firestore Security Rulescloud-firestore-security-rulesfirestore.rules
CoNLL-Uconll-u, CoNLL, CoNLL-X*.conllu
CodeQLcodeql, ql*.ql
CoffeeScriptcoffeescript, coffee, coffee-script*.coffee, Cakefile
ColdFusioncoldfusion, cfm, cfml*.cfm
ColdFusion CFCcoldfusion-cfc, cfc*.cfc
Common Lispcommon-lisp, lisp*.lisp
Common Workflow Languagecommon-workflow-language, cwl*.cwl
Component Pascalcomponent-pascal, delphi, objectpascal*.cp
Coolcool*.cl
Coqcoq*.coq
Cpp-ObjDumpcpp-objdump, c++-objdump*.cppobjdump
Creolecreole*.creole
Crystalcrystal*.cr
Csoundcsound, csound-orc*.orc
Csound Documentcsound-document, csound-csd*.csd
Csound Scorecsound-score, csound-sco*.sco
Cudacuda*.cu
Cycriptcycript*.cy
Cythoncython, pyrex*.pyx
Dd*.d
D-ObjDumpd-objdump*.d-objdump
DIGITAL Command Languagedigital-command-language, dcl*.com
DMdm, byond*.dm
DNS Zonedns-zone*.zone
DTracedtrace, dtrace-script*.d
Dafnydafny*.dfy
Darcs Patchdarcs-patch, dpatch*.darcspatch
Dartdart*.dart
DataWeavedataweave*.dwl
Dhalldhall*.dhall
Diffdiff, udiff*.diff
DirectX 3D Filedirectx-3d-file*.x
Dockerfiledockerfile*.dockerfile, Dockerfile
Dogescriptdogescript*.djs
Dylandylan*.dylan
Ee*.E
EBNFebnf*.ebnf
ECLecl*.ecl
ECLiPSeeclipse*.ecl
EJSejs*.ejs
EMLeml*.eml
EQeq*.eq
Eagleeagle*.sch
Easybuildeasybuild*.eb
Ecere Projectsecere-projects*.epj
EditorConfigeditorconfig, editor-config.editorconfig
Edje Data Collectionedje-data-collection*.edc
Eiffeleiffel*.e
Elixirelixir*.ex, mix.lock
Elmelm*.elm
Emacs Lispemacs-lisp, elisp, emacs*.el, .abbrev_defs
EmberScriptemberscript*.em
Erlangerlang*.erl, Emakefile
F#f#, fsharp*.fs
F*f*, fstar*.fst
FIGlet Fontfiglet-font, FIGfont*.flf
FLUXflux*.fx
Factorfactor*.factor, .factor-boot-rc
Fancyfancy*.fy, Fakefile
Fantomfantom*.fan
Faustfaust*.dsp
Filebench WMLfilebench-wml*.f
Filterscriptfilterscript*.fs
Formattedformatted*.for
Forthforth*.fth
Fortranfortran*.f
Fortran Free Formfortran-free-form*.f90
FreeMarkerfreemarker, ftl*.ftl
Fregefrege*.fr
Futharkfuthark*.fut
G-codeg-code*.g
GAMLgaml*.gaml
GAMSgams*.gms
GAPgap*.g
GCC Machine Descriptiongcc-machine-description*.md
GDBgdb*.gdb
GDScriptgdscript*.gd
GEDCOMgedcom*.ged
GLSLglsl*.glsl
GNgn*.gn, .gn
Game Maker Languagegame-maker-language*.gml
Geniegenie*.gs
Genshigenshi, xml+genshi, xml+kid*.kid
Gentoo Ebuildgentoo-ebuild*.ebuild
Gentoo Eclassgentoo-eclass*.eclass
Gerber Imagegerber-image, rs-274x*.gbr
Gettext Cataloggettext-catalog, pot*.po
Gherkingherkin, cucumber*.feature
Git Attributesgit-attributes, gitattributes.gitattributes
Git Configgit-config, gitconfig, gitmodules*.gitconfig, .gitconfig
Glyphglyph*.glf
Glyph Bitmap Distribution Formatglyph-bitmap-distribution-format*.bdf
Gnuplotgnuplot*.gp
Gogo, golang*.go
Gologolo*.golo
Gosugosu*.gs
Gracegrace*.grace
Gradlegradle*.gradle
Grammatical Frameworkgrammatical-framework, gf*.gf
Graph Modeling Languagegraph-modeling-language*.gml
GraphQLgraphql*.graphql
Graphviz (DOT)dot*.dot
Groovygroovy*.groovy, Jenkinsfile
Groovy Server Pagesgroovy-server-pages, gsp*.gsp
HAProxyhaproxy*.cfg, haproxy.cfg
HCLhcl, terraform*.hcl
HLSLhlsl*.hlsl
HTMLhtml, xhtml*.html
HTML+Djangohtml+django, django, html+jinja, htmldjango*.jinja
HTML+ECRhtml+ecr, ecr*.ecr
HTML+EEXhtml+eex, eex*.eex
HTML+ERBhtml+erb, erb*.erb
HTML+PHPhtml+php*.phtml
HTML+Razorhtml+razor, razor*.cshtml
HTTPhttp*.http
HXMLhxml*.hxml
Hackhack*.hack
Hamlhaml*.haml
Handlebarshandlebars, hbs, htmlbars*.handlebars
Harbourharbour*.hb
Haskellhaskell*.hs
Haxehaxe*.hx
HiveQLhiveql*.q
HolyCholyc*.hc
Hyhy, hylang*.hy
HyPhyhyphy*.bf
IDLidl*.pro
IGOR Proigor-pro, igor, igorpro*.ipf
INIini, dosini*.ini, buildozer.spec
IRC logirc-log, irc*.irclog
Idrisidris*.idr
Ignore Listignore-list, ignore, gitignore, git-ignore*.gitignore, .atomignore
Inform 7inform-7, i7, inform7*.ni
Inno Setupinno-setup*.iss
Ioio*.io
Iokeioke*.ik
Isabelleisabelle*.thy
Isabelle ROOTisabelle-rootROOT
Jj*.ijs
JFlexjflex*.flex
JSONjson*.json, .arcconfig
JSON with Commentsjson-with-comments, jsonc*.jsonc, .babelrc
JSON5json5*.json5
JSONLDjsonld*.jsonld
JSONiqjsoniq*.jq
JSXjsx*.jsx
Jasminjasmin*.j
Javajava*.java
Java Propertiesjava-properties*.properties
Java Server Pagesjava-server-pages, jsp*.jsp
JavaScriptjavascript, js, node*.js, Jakefile
JavaScript+ERBjavascript+erb*.js.erb
Jisonjison*.jison
Jison Lexjison-lex*.jisonlex
Joliejolie*.ol
Jsonnetjsonnet*.jsonnet
Juliajulia*.jl
Jupyter Notebookjupyter-notebook*.ipynb, Notebook
KRLkrl*.krl
KiCad Layoutkicad-layout, pcbnew*.kicad_pcb, fp-lib-table
KiCad Legacy Layoutkicad-legacy-layout*.brd
KiCad Schematickicad-schematic*.sch
Kitkit*.kit
Kotlinkotlin*.kt
LFElfe*.lfe
LLVMllvm*.ll
LOLCODElolcode*.lol
LSLlsl*.lsl
LTspice Symbolltspice-symbol*.asy
LabVIEWlabview*.lvproj
Lassolasso, lassoscript*.lasso
Lattelatte*.latte
Leanlean*.lean
Lessless*.less
Lexlex, flex*.l
LilyPondlilypond*.ly
Limbolimbo*.b
Linker Scriptlinker-script*.ld, ld.script
Linux Kernel Modulelinux-kernel-module*.mod
Liquidliquid*.liquid
Literate Agdaliterate-agda*.lagda
Literate CoffeeScriptliterate-coffeescript, litcoffee*.litcoffee
Literate Haskellliterate-haskell, lhaskell, lhs*.lhs
LiveScriptlivescript, live-script, ls*.ls, Slakefile
Logoslogos*.xm
Logtalklogtalk*.lgt
LookMLlookml*.lookml
LoomScriptloomscript*.ls
Lualua*.lua, .luacheckrc
Mm, mumps*.mumps
M4m4*.m4
M4Sugarm4sugar, autoconf*.m4, configure.ac
MATLABmatlab, octave*.matlab
MAXScriptmaxscript*.ms
MLIRmlir*.mlir
MQL4mql4*.mq4
MQL5mql5*.mq5
MTMLmtml*.mtml
MUFmuf*.muf
Macaulay2macaulay2, m2*.m2
Makefilemakefile, bsdmake, make, mf*.mak, BSDmakefile
Makomako*.mako
Markdownmarkdown, pandoc*.md, contents.lr
Markomarko, markojs*.marko
Maskmask*.mask
Mathematicamathematica, mma*.mathematica
Maven POMmaven-pompom.xml
Maxmax, max/msp, maxmsp*.maxpat
MediaWikimediawiki*.mediawiki
Mercurymercury*.m
Mesonmesonmeson.build
Metalmetal*.metal
Microsoft Developer Studio Projectmicrosoft-developer-studio-project*.dsp
MiniDminid*.minid
Mirahmirah*.druby
Modelicamodelica*.mo
Modula-2modula-2*.mod
Modula-3modula-3*.i3
Module Management Systemmodule-management-system*.mms, descrip.mmk
Monkeymonkey*.monkey
Moocodemoocode*.moo
MoonScriptmoonscript*.moon
Motorola 68K Assemblymotorola-68k-assembly, m68k*.asm
Musemuse, amusewiki*.muse
Myghtymyghty*.myt
NASLnasl*.nasl
NCLncl*.ncl
NEONneon, ne-on*.neon
NLnl*.nl
NPM Confignpm-config, npmrc.npmrc
NSISnsis*.nsi
Nearleynearley*.ne
Nemerlenemerle*.n
NetLinxnetlinx*.axs
NetLinx+ERBnetlinx+erb*.axs.erb
NetLogonetlogo*.nlogo
NewLispnewlisp*.nl
Nextflownextflow*.nf, nextflow.config
Nginxnginx*.nginxconf, nginx.conf
Nimnim*.nim, nim.cfg
Ninjaninja*.ninja
Nitnit*.nit
Nixnix, nixos*.nix
Nunu, nush*.nu, Nukefile
NumPynumpy*.numpy
OCamlocaml*.ml
ObjDumpobjdump*.objdump
Object Data Instance Notationobject-data-instance-notation*.odin
ObjectScriptobjectscript*.cls
Objective-Cobjective-c, obj-c, objc, objectivec*.m
Objective-C++objective-c++, obj-c++, objc++, objectivec++*.mm
Objective-Jobjective-j, obj-j, objectivej, objj*.j
Odinodin, odinlang, odin-lang*.odin
Omgroflomgrofl*.omgrofl
Opaopa*.opa
Opalopal*.opal
Open Policy Agentopen-policy-agent*.rego
OpenCLopencl*.cl
OpenEdge ABLopenedge-abl, progress, openedge, abl*.p
OpenQASMopenqasm*.qasm
OpenRC runscriptopenrc-runscript, openrc
OpenSCADopenscad*.scad
OpenStep Property Listopenstep-property-list*.plist
OpenType Feature Fileopentype-feature-file, AFDKO*.fea
Orgorg*.org
Oxox*.ox
Oxygeneoxygene*.oxygene
Ozoz*.oz
P4p4*.p4
PHPphp, inc*.php, .php
PLSQLplsql*.pls
PLpgSQLplpgsql*.pgsql
POV-Ray SDLpov-ray-sdl, pov-ray, povray*.pov
Panpan*.pan
Papyruspapyrus*.psc
Parrotparrot*.parrot
Parrot Assemblyparrot-assembly, pasm*.pasm
Parrot Internal Representationparrot-internal-representation, pir*.pir
Pascalpascal*.pas
Pawnpawn*.pwn
Pep8pep8*.pep
Perlperl, cperl*.pl, Makefile.PL
Picpic*.pic
Picklepickle*.pkl
PicoLisppicolisp*.l
PigLatinpiglatin*.pig
Pikepike*.pike
PlantUMLplantuml*.puml
Podpod*.pod
Pod 6pod-6*.pod
PogoScriptpogoscript*.pogo
Ponypony*.pony
PostCSSpostcss*.pcss
PostScriptpostscript, postscr*.ps
PowerBuilderpowerbuilder*.pbt
PowerShellpowershell, posh, pwsh*.ps1
Prismaprisma*.prisma
Processingprocessing*.pde
Proguardproguard*.pro
Prologprolog*.pl
Propeller Spinpropeller-spin*.spin
Protocol Bufferprotocol-buffer, protobuf*.proto
Public Keypublic-key*.asc
Pugpug*.jade
Puppetpuppet*.pp, Modulefile
Pure Datapure-data*.pd
PureBasicpurebasic*.pb
PureScriptpurescript*.purs
Pythonpython, python3, rusthon*.py, .gclient
Python consolepython-console, pycon
Python tracebackpython-traceback*.pytb
QMLqml*.qml
QMakeqmake*.pro
Quakequakem3makefile
Rr, R, Rscript, splus*.r, .Rprofile
RAMLraml*.raml
RDocrdoc*.rdoc
REALbasicrealbasic*.rbbas
REXXrexx, arexx*.rexx
RHTMLrhtml, html+ruby*.rhtml
RMarkdownrmarkdown*.rmd
RPCrpc, rpcgen, oncrpc, xdr*.x
RPM Specrpm-spec, specfile*.spec
RUNOFFrunoff*.rnh
Racketracket*.rkt
Ragelragel, ragel-rb, ragel-ruby*.rl
Rakuraku, perl6, perl-6*.6pl
Rascalrascal*.rsc
Raw token dataraw-token-data, raw*.raw
Readline Configreadline-config, inputrc, readline.inputrc
Reasonreason*.re
Rebolrebol*.reb
Redred, red/system*.red
Redcoderedcode*.cw
Regular Expressionregular-expression, regexp, regex*.regexp
Ren’Pyren’py, renpy*.rpy
RenderScriptrenderscript*.rs
Rich Text Formatrich-text-format*.rtf
Ringring*.ring
Riotriot*.riot
RobotFrameworkrobotframework*.robot
Roffroff, groff, mdoc, nroff, troff*.roff, eqnrc
Roff Manpageroff-manpage*.1
Rougerouge*.rg
Rubyruby, jruby, macruby, rake, rb, rbx*.rb, .irbrc
Rustrust*.rs
SASsas*.sas
SCSSscss*.scss
SMTsmt*.smt2
SPARQLsparql*.sparql
SQFsqf*.sqf
SQLsql*.sql
SQLPLsqlpl*.sql
SRecode Templatesrecode-template*.srt
SSH Configssh-configssh-config
STONston*.ston
SVGsvg*.svg
SWIGswig*.i
Sagesage*.sage
SaltStacksaltstack, saltstate, salt*.sls
Sasssass*.sass
Scalascala*.scala
Scamlscaml*.scaml
Schemescheme*.scm
Scilabscilab*.sci
Selfself*.self
ShaderLabshaderlab*.shader
Shellshell, sh, shell-script, bash, zsh*.sh, .bash_aliases
ShellSessionshellsession, console*.sh-session
Shenshen*.shen
Sievesieve*.sieve
Slashslash*.sl
Sliceslice*.ice
Slimslim*.slim
SmPLsmpl, coccinelle*.cocci
Smalismali*.smali
Smalltalksmalltalk, squeak*.st
Smartysmarty*.tpl
Soliditysolidity
SourcePawnsourcepawn, sourcemod*.sp
Spline Font Databasespline-font-database*.sfd
Squirrelsquirrel*.nut
Stanstan*.stan
Standard MLstandard-ml, sml*.ML
Starlarkstarlark, bazel, bzl*.bzl, BUCK
Statastata*.do
Stylusstylus*.styl
SubRip Textsubrip-text*.srt
SugarSSsugarss*.sss
SuperCollidersupercollider*.sc
Sveltesvelte*.svelte
Swiftswift*.swift
SystemVerilogsystemverilog*.sv
TI Programti-program*.8xp
TLAtla*.tla
TOMLtoml*.toml, Cargo.lock
TSQLtsql*.sql
TSXtsx*.tsx
TXLtxl*.txl
Tcltcl*.tcl, owh
Tcshtcsh*.tcsh
TeXtex, latex*.tex
Teatea*.tea
Terraterra*.t
Texinfotexinfo*.texinfo
Texttext, fundamental*.txt, COPYING
Textiletextile*.textile
Thriftthrift*.thrift
Turingturing*.t
Turtleturtle*.ttl
Twigtwig*.twig
Type Languagetype-language, tl*.tl
TypeScripttypescript, ts*.ts
Unified Parallel Cunified-parallel-c*.upc
Unity3D Assetunity3d-asset*.anim
Unix Assemblyunix-assembly*.s
Unouno*.uno
UnrealScriptunrealscript*.uc
UrWeburweb, Ur/Web, Ur*.ur
Vv, vlang*.v
VBAvba, vb6*.bas
VBScriptvbscript*.vbs
VCLvcl*.vcl
VHDLvhdl*.vhdl
Valavala*.vala
Verilogverilog*.v
Vim Snippetvim-snippet, SnipMate, UltiSnip, NeoSnippet*.snip
Vim scriptvim-script, vim, viml, nvim*.vim, .gvimrc
Visual Basic .NETvbnet, vb.net*.vb
Voltvolt*.volt
Vuevue*.vue
Wavefront Materialwavefront-material*.mtl
Wavefront Objectwavefront-object*.obj
Web Ontology Languageweb-ontology-language*.owl
WebAssemblywebassembly, wast, wasm*.wast
WebIDLwebidl*.webidl
WebVTTwebvtt*.vtt
Wget Configwget-config, wgetrc.wgetrc
Windows Registry Entrieswindows-registry-entries*.reg
Wollokwollok*.wlk
World of Warcraft Addon Dataworld-of-warcraft-addon-data*.toc
X BitMapx-bitmap, xbm*.xbm
X Font Directory Indexx-font-directory-indexencodings.dir
X PixMapx-pixmap, xpm*.xpm
X10x10, xten*.x10
XCxc*.xc
XComposexcompose.XCompose
XMLxml, rss, xsd, wsdl*.xml, .classpath
XML Property Listxml-property-list*.plist
XPagesxpages*.xsp-config
XProcxproc*.xpl
XQueryxquery*.xquery
XSxs*.xs
XSLTxslt, xsl*.xslt
Xojoxojo*.xojo_code
Xtendxtend*.xtend
YAMLyaml, yml*.yml, .clang-format
YANGyang*.yang
YARAyara*.yar
YASnippetyasnippet, snippet, yas*.yasnippet
Yaccyacc*.y
ZAPzap*.zap
ZILzil*.zil
Zeekzeek, bro*.zeek
ZenScriptzenscript*.zs
Zephirzephir*.zep
Zigzig*.zig
Zimplzimpl*.zimpl
cURL Configcurl-config, curlrc.curlrc
desktopdesktop*.desktop
dircolorsdircolors*.dircolors, .dir_colors
eCec*.ec
ednedn*.edn
fishfish*.fish
mIRC Scriptmirc-script*.mrc
mcfunctionmcfunction*.mcfunction
mupadmupad*.mu
nanorcnanorc*.nanorc, .nanorc
nesCnesc*.nc
oocooc*.ooc
qq*.q
reStructuredTextrestructuredtext, rst*.rst
sedsed*.sed
wdlwdl*.wdl
wispwisp*.wisp
xBasexbase, advpl, clipper, foxpro*.prg

此表转自:Markdown 代码块编程语言清单

分隔线语法

有时你可能想要一条分割线来为你的文章划成不同部分,此时,你可以通过另起一行,并且这一行只输入三个星号

就像这样:

***

那么它呈现出来的效果应该是这样的:


列表语法

列表分为有序列表和无序列表,它可以将你的内容分成一条一条的,比如此时你想写几条规定,那么列表就是一个不错的选择,或者你想举几个例子,这时可以通过引用和列表

它们的语法如下:

1.有序列表

以数字1和句号(.)开头,再输入一个空格,然后输入内容,再依次递增,就像这样:

  1. 这是有序列表示例一行
  2. 这是有序列表示例二行
  3. 这是有序列表示例三行

你会发现它和正常段落的缩进的格式不一样

2.无序列表

使用加号(+)开头,再输入一个空格,然后输入内容,就像这样:

  • 这是无序列表示例一行
  • 这是无序列表示例二行
  • 这是无序列表示例三行

你会发现无序列表的缩进也与正常段落的不同,而有序和无序之间的区别就是前面有没有数字序号,可以根据实际情况灵活选用一种

表格语法

聊完列表,再来说明一下另外一种常用的可选结构——表格

表格的用途有很多,你可以拿它来放很多东西,在Markdown中,表格的语法是这样的:

使用三个或更多减号(--)创建每列的标题,并使用管道符(|)分隔每列,此外,你可以给减号两侧添加冒号(:)来实现不同的文字对齐效果,就像这样

| 第一天 | 第二天 | 第三天 |
| :--- | :----: | ---: |
| 开心 | 愤怒 | 难过 |
| 不开心 | 不愤怒 | 不难过 |

它实现出来的效果是这样的:

第一天第二天第三天
开心愤怒难过
不开心不愤怒不难过

链接及注释语法

在写文章时可能需要给出一个跳转到其他网页的链接,或者有些词语你认为对读者来说有必要解释一下,也需要给它添加脚注、注释,就像通常的纸质书所做的那样,根据编号在页面下方查看相应的解释,这两种我认为从本质上都是链接,一个是页面外部跳转,一个是页面内部跳转而已。

它们的语法规则是这样的:

1.链接语法:

将链接文本放在中括号([])内,链接地址放在后面的括号(())中。

就像这样:[这是一个链接示例](www.baidu.com)

它呈现的效果是这样的:这是一个链接示例

此时你点击这个链接示例,你的浏览器应该会跳转到百度

2.脚注语法:

在文章中添加脚注编号,只需要使用方括号([]),在其中输入一个插入符号(^)和序号(一般是数字)即可,就像这样:[^1]

对于这个序号指向的具体内容,你需要使用对应的脚注编号,然后使用冒号(:),在后面输入对应的解释文本,就像这样:[^1]:这是一条脚注示例

它的呈现效果应该是这样的:

这是一段用于展示脚注语法1的示例

此时你将鼠标移动到1上时,可以看到对应的内容,点击1也可以跳转到脚注位置,一般解释都放在末尾

图片语法

对于一些简单的内容,单文本可能更易阅读,对于一些抽象或者复杂的内容来说,有时添加一张图片配合解释,也许会更容易让人看懂。

Markdown中,插入图片的语法是这样的:

先输入感叹号(!),再输入方括号([]),方括号中填写当图片无法正常加载时显示的信息,一般是图片内容,最后输入括号(()),括号中输入图片的链接地址,就像这样

\![Markdown](/imgs/markdown.jpg)

那么它呈现的效果,和这篇文章的头图效果是一样的

转义字符语法

我们发现Markdown主要是通过使用一些符号来给文字加上样式,那如果想显示那些语法中用到的符号该怎么办呢?此时就用到了转义字符。

只需要在你想显示的符号前面加上一个反斜杠符号(\)即可,加上这个反斜杠,原本会实现相应功能的符号,就会变成只显示那个符号样子。

总结

以上就是我认为Markdown中常用的知识点,希望能对你使用它写文章有所帮助。在我写这篇简单的Markdown教程时也熟悉了它的用法,可谓是一举两得,以上这些语法中使用的符号都应该使用英文半角符号,而不是中文全角符号,这样可以最大程度上避免出错。

参考资料

  1. 脚注语法就是这么神奇

Mecamodore
1 声望0 粉丝

爱诗歌,爱生活


引用和评论

0 条评论