Advertisement

Markdown个人学习记录

阅读量:

Markdown个人学习记录

参考书籍:《了不起的Markdown》-毕小朋-电子工业出版社

第一章 Markdown概述

  • Markdown作为现在最流行的轻量级 “写作语言”,具有更加易读、易写的特点。
  • 起初的Markdown仅用于网络写作,但本身功能有限,无法满足所有的需求和场景,由此产生了许多的扩展语法,现在最流行的扩展语法是Github Flavored Markdown,简称GFM。
  • Pandoc可以将Markdown文件转化为各种各样的文件格式,如HTML、OpenDocument等。
  • Markdown适用场景:对排版无特殊要求,并且不想花太多时间再排版上,如果对排版要求较高,仍然建议适用Word,也可以将Markdown转化为Word,随后进行个性化的排版。
  • Markdown通过编辑器进行文章的渲染、发布或导出,常用的编辑器如Typora、VS Code、GitBook以及印象笔记。
  • 语法学习
    • 基础语法
    • 扩展语法
    • 写作规范1

第二章 Markdown语法

第一节 基础语法

1. 字体
1.1 标题
  • 标题支持适用底线(-/=)和#两种标记,但由于底线(-/=)和后续的语法会出现重合,因此建议使用**#**。
  • 使用语法:#+空格+标题内容
复制代码
    # 一级标题
    ## 二级标题
    ###三级标题
    #### 四级标题
    ##### 五级标题
    ##### 六级标题
  • 语法说明:
    • #的个数表示标题的等级

    • 建议在#后加一个空格

    • Markdown最多支持前六级标题

    • 使用规范:

      • 标题的前后都要空一行,除非标题在文档开头,另外#与标题文本之间也要有一个空格。
      • 标题结尾不要有空格、标点符号
      • 标题尽量简短
复制代码
    # 文档标题
    
    参考资料
    
    摘要
    
    目录
    
    ## 第一章 XXXX
    
    ### 第一节 XXXX
    
    #### 一、XXXX
    
    ##### (一)XXXX
    
    ###### 1. xxxx
    
    ### 第二节 xxxx
    
    ## 第二章
  • 文档结构说明
    1. 文档的第一个标题应该是一级标题,写在第一行,建议与文件名相同
    2. 参考资料、摘要、目录等模块根据个人需要自行修改
    3. 正文内容,正文从二级目录开始,逐级增加,不可跳级,不可相同
      个人喜欢对标题进行添加序号,也可根据自己需要自行选择,不加序号也可
      对于层级较多的,用第X章第X节(一)1.1.1逐级递减,如果层级交少,直接选择序号从开始
1.2 段落与换行
  • 段落由一行或多行文本组成,不同的段落之间用空行来标记

  • 语法说明:

    1. 如果行与行之间没有空行,则会被视为同一段落
    2. 如果行与行之间有空行,则会被视为不同段落
    3. 空行是指行内什么都没有,或者只有空格和制表符
    4. 如果想在段内换行 ,则需要在上一行的结尾插入两个以上的空格然后回车
  • 使用规范

    • 为便于阅读,应该限制每行字符的数量,通常每行不超过80个字符,可以在编辑器中进行设置
    • 关于换行,建议如下:
      • 当超过80个字符后进行换行
      • 在一句话结束(。或!或?)之后换行
      • 当URL较长时换行2
1.2.1 列表
  • 有序列表

    • 语法:数字序号 + 英文句号 + 空格 + 列表内容
    • 范例:1. xx
  • 无序列表

    • 语法:*/+/- + 空格 + 列表内容,但是建议使用-
    • 范例:- xxxx
  • 嵌套列表

    • 有序列表和无序列表可以相互嵌套
    • 用TAB嵌入下级
  • 使用规范

    • 建议使用-来标记无序列表,因为*容易跟粗体和斜体混淆,而+不流行
    • 如果一个列表中所有的列表项都没有换行,建议使用1个空格
    • 如果列表项有换行,则建议给无序列表使用3个空格,给有序列表使用2个空格
    • 如果每个列表中的每个列表项都只有1行,建议列表项之间不要有空行
    • 如果列表项中有换行,建议在列表项之间空1行,这样会比较容易区分多行列表项的开始和结束
    • 数字、字符、符号列表使用英文半角句号,句号后加空格
复制代码
    列表项内没有换行,则建议使用1个空格
    
    - 秋(1个列表项)
    - 围
    - 软
复制代码
    如果列表项有换行,则建议给无序列表使用3个空格,给有序列表使用2个空格
    
    -   这个列表项(3个空格)
    有换行(一个列表项内部有换行)
     
    -   这个没有
     
    1.  这个有序列表(两个空格)
    有换行
     
    2.  这个没有-   这个列表项(3个空格)
    有换行(一个列表项内部有换行)
     
    -   这个没有
     
    1.  这个有序列表(两个空格)
    有换行
    
    2.  这个没有
复制代码
    如果每个列表中的每个列表项都只有1行,建议列表项之间不要有空行
    
    - 秋(1个列表项)
    - 围
    - 软
复制代码
    一个列表项内有换行,不仅要有3个空格,而且每个列表项之间要空行
    
    -   抽很多的
    烟
    
    -   喝酒
     
    -   烫头
复制代码
    数字、字符、符号列表使用英文半角句号,句号后加空格
    
    1. 我是好人(留一个空格,一个列表项出现换行,则需要2个空格)
    2. 他是好人
    3. 你也是好人
     
    a. 我是好人
    b. 他是好人
1.2.2 分割线
  • 分割线由3个以上的*/-/_来标记,建议使用-
  • 语法:---
  • 语法说明
    • 至少3个以上
    • 行内不能有其他字符
    • 可以在标记符中间加上空格
1.3 图片
  • 语法:![图片替代文字](图片地址)
  • 语法说明
    • 图片替代文字在图片无法显示时会比较有用,正常情况下可以为空
    • 图片地址可以是本地图片的路径也可以是网络图片的地址
    • 本地图片支持相对路径绝对路径 两种方式
1.4 链接
1.4.1 文字链接
  • 语法:[链接文字](链接地址)
  • 为了可读性强一些,可以采用这样一种写法,通过将链接与文字分开
复制代码
    在日常我们常使用的网址:[Google]、[GitHub]和[Stack Overflow]
    
    
    [Google]: https://www.google.com/
    [GitHub]: https://github.com/
    [Stack Overflow]: 
    https://stackoverflow.com/?utm__source=rss&utm_medium=rss
1.4.2 引用链接
  • 引用链接是指:把链接地址作为“变量”先在markdown文件的页尾定义好,然后在正文中引用
  • 在正文中引用链接标记,可以理解为引用定义好的变量
  • 在底部定义链接标记,可以理解为定义一个地址变量
复制代码
    正文
    
    XXXX[链接文字][链接标记]
    
    文档底部
    
    [链接标记]: 链接地址
  • 语法说明
    • 链接标记可以有字母、数字、空格和标点符号
    • 链接标记不区分大小写
    • 定义的链接内容可以放在当前文件的任意位置,建议放在页尾
    • 当链接地址为网络地址时要以http/https开头,否则会被识别为本地地址
1.4.3 网址链接
  • 在Markdown中,将网络地址或邮箱地址用<>包裹起来,会被自动转换为超链接
  • 语法:<URL或邮箱地址>
1.4.4 使用规范
  • 使用有意义的链接标题
  • <>包裹自动链接
  • 自动链接要http/https开头
1.5 行内代码与代码块
1.5.1 行内代码
  • 行内代码引用使用`包裹
  • 语法如下
复制代码
    `代码`
1.5.2 代码块
  • 代码块以Tab键或4个空格开头,Typora使用时要保证此从段落开头开始,否则不会实现此功能,使用```来更方便
  • 因为代码块使用Tab键或四个空格开头的效果不够直观,很多扩展语法(如GFM)提供了围栏代码块,并且支持语法高亮
1.5.3 使用规范
  • 除行内代码可以使用包裹外,如果我们想转义或强调某些字符,也可以使用包裹
  • 如果代码超过1行,使用围栏代码块(扩展语法),便于阅读
  • 很多Shell命令都要粘贴到终端中去执行,因此最好避免在Shell命令中使用任何换行操作;可以在行尾使用一个\,这样既能避免命令换行,又能提高源代码的可读性
  • 不要在没有输出内容的Shell命令加,在命令没有输出内容带情况下,是没有必要的,因为内容全是命令,我们不会把命令和输出的内容混淆
  • 建议在有输出内容的Shell命令前加上$,这样会比较容易区分命令和输出的内容。
1.6 引用
  • 语法:> XXX

  • 语法说明

    • 多行引用也可以在每一行的开头都插入>
    • 在引用中可以嵌套引用
    • 在引用中可以使用其他的Markdown语法
    • 段落与换行的格式在引用中也是适用的
  • 使用规范

    • 建议在引用的标记>后加一个空格
    • 建议每一行引用都使用>
    • 不要在引用中添加空行
1.7 转义
  • 如果想在Markdown文件中插入一些标记符号,但又不想让这些符号被渲染时,可以使用\进行转义,维持原符号的样式。

第二节 扩展语法GFM

GitHub Flavored Markdown(简称GFM)是Markdown扩展语法中最流行的语法,提供了包括表格、人物列表、删除线、围栏代码、Emoji等在内的标记语法。

  1. 删除线
  • 语法:被删除内容
  1. 表情符号
  1. 自动链接
  • 标准语法中,<>包裹的URL地址会被自动识别并解析为超链接,使用GFM扩展语法则可以不用<>
  • 自动链接只识别以www或http://开头的URL地址
  • 如果不想使用自动链接,也可以使用``包裹URL地址

表格

复制代码
 * 单元格使用`|`来分割
 * 语法说明 
   * 为了阅读更清晰,建议最前和最后都使用`|`
   * 为了阅读更清晰,建议最前和最后都使用`|`
   * 表头与其他行使用-来分割
   * 表格对其格式如下 
 * 左对齐(默认)`:----`
 * 右对齐`----:`
 * 居中对齐`:----:`

   * 块级元素(代码块区、引用块区)不能插入表格中

 * 语法规范 
   * 在表格的前后各空一行
   * 在每一行最前和最后都使用`|`,每一行中的|要都尽量都对齐
   * 不要使用庞大复杂的表格,那样会难以维护和阅读
复制代码
|表头1|表头2|表头3|
|---|---|---|
|内容1|内容2|内容3|
|内容4|内容5|内容6|

任务列表

语法:- [ ]- [x其他内容]

x可以大写也可以小写,有些编辑器可能不支持大写,因此为避免解析错误,推荐使用小写的x

方括号中的字符为空格时,复选框是未选中状态,为x是是选中状态

围栏代码块

复制代码
 * 在基础语法中,使用四个空格或Tab键,可以调用代码块;在扩展语法中,围栏代码块使用连续3个~或3个`包裹,还支持语法高亮,可读性和可维护性更强一些

锚点/书签

复制代码
 * 锚点,也称书签,使用锚点可以跳转到当前文档或其他文档中指定的标记位置
 * Markdown会被渲染成为HTML页面,在HTML页面中可以通过锚点实现跳转;GitHub、GitBook项目文档中的目录也是通过锚点实现跳转
 * 语法:`[锚点名称](#锚点名#)`
 * 语法规范 
   * 锚点名建议使用字母和数字,当然中文也是被支持的,但不排除有些网站支持不够
   * 锚点名是区分大小写的
   * 在锚点名中不能含有空格,也不能含有特殊字符

第三节 排版技巧

1. 空格
  • 建议中文和英文之间加空格,中文/英文和数字之间也要加空格
    • 一些需要加空格的情况

      • 英文标点符号与后面的字符之间需要加空格,与前的字符之间不需要加空格
      • 当再中文、英文中使用>(半角)标识路径时,两边都需要加空格
    • 不加空格的情况

      • 中文标点符号和数字、中文、英文之间不需要添加空格
      • 数字和百分号之间不需要添加空格
      • 数字和单位符号之间不需要添加空格
      • 英文和数字组合成的名字之间不需要添加空格
      • 当/()半角表示“或”、“路径”时,与前后的字符之间均不加空格
      • 货币符号后不加空格
      • 负号后不加空格
2. 全角和半角
  • 辨析

    • 全角:中文标点符号是全角,占2个字符
    • 半角:英文标点符号和数字是半角,占1个字符
  • 中文排版中,要使用全角标点符号

  • 英文排版中,要使用半角标点符号

3. 大小写
  • 正确使用专有名词的大小写

第三章 Typora

  • Typora是当下最为流行的Markdown编辑器之一
  • Typora适用场景:工作计划、学习笔记、技术博客等
  • Typora主要特性
    • 实时预览,Typora将源码和效果预览合二为一,实时查看
    • 扩展语法,Typora不仅支持GFM,还扩展了数学公式、流程图等功能
    • 快捷操作,对于各种Markdown都提供了快捷键操作
    • 界面主题,可以自定义主题或使用他人分享的主体
    • 文件转换,支持多种文件格式的导入导出功能

一、基础配置与认识

安装Typora

复制代码
 * [Typora官网](https://typora.io/download)即可下载

Typora界面预览

菜单栏

复制代码
* 文件
* 编辑
* 段落
* 格式
* 视图
* 主体
* 帮助

侧边栏

复制代码
* 大纲
* 文档列表
* 文件树
* 搜索框

编辑区

复制代码
* 文档的编辑区

状态栏

复制代码
* 普通模式切换切换到源代码模式
* 字数统计
  1. 安装Pandoc
    • Pandoc是一个标记语言转换工具,可以实现不同标记语言间的格式转换,Typora的文件导入/导出功能便是使用它转化为不同的文件格式,若不安装Pandoc,Typora仅支持导出HTML和PDF格式
    • 安装网址:https://github.com/jgm/pandoc/releases/latest

二、基础操作

(一)基础语法及其操作
  • Typora支持使用所有的Markdown语法,并且可以使用菜单栏或快捷键进行操作,建议练习使用快捷键,以便操作更加熟练
  • 在普通模式下,可以使用快捷键、语法以及菜单栏操作,但在源代码模式下,仅支持Markdown语法以及菜单栏操作,建议在普通模式下使用快捷键,源代码模式下使用语法
1.编辑
功能 鼠标操作位置3 快捷键 适用模式
撤销 >菜单栏>编辑>撤销 ctrl + z 普通/源代码
重做 >菜单栏>编辑>重做 ctrl + y 普通/源代码
剪切 >菜单栏>编辑>剪切 ctrl + x 普通/源代码
复制 >菜单栏>编辑>复制 ctrl + c 普通/源代码
粘贴 >菜单栏>编辑>粘贴 ctrl + v 普通/源代码
粘贴为文本 >菜单栏>编辑>粘贴为文本 ctrl + shift +v 普通/源代码
全选 >菜单栏>编辑>选择>全选 ctrl + a 普通/源代码
查找 >菜单栏>编辑>查找与替换>查找 ctrl + f 普通/源代码
替换 >菜单栏>编辑>查找与替换>替换 ctrl + h 普通/源代码
跳转到首页 ctrl + home 普通/源代码
跳转到尾页 ctrl + end 普通/源代码
选择当前块 ctrl + shift + p 普通/源代码
删除当前块 alt + ctrl + shift + p 普通/源代码
选择当前行或句 ctrl + shift + l 普通/源代码
删除当前行或句 alt + ctrl + shift + l 普通/源代码
选中当前格式文本 ctrl + shift + e 普通/源代码
删除当前格式文本 alt + ctrl + shift + e 普通/源代码
选中当前词(到上一个标点符号) ctrl + shift + d 普通/源代码
删除当前词 alt + ctrl + shift + d 普通/源代码
表情 win + 。 普通/源代码

2.段落

功能 快捷键 适用模式
标题 ctrl + 对应序号层级 普通模式
段落 ctrl + 0 普通模式
提升标题等级 ctrl + = 普通模式
降低标题等级 ctrl + - 普通模式
插入表格 ctrl + t 普通模式
换格 tab 普通模式
插入下一行 ctrl + enter 普通模式
删除当前行 ctrl + shift + 退格 普通模式
代码块 ctrl + shift + k 普通模式
公式块 ctrl + shift + m 普通模式
引用 ctrl + shift + q 普通模式
任务列表 ctrl + shift + x 普通模式
  • 插入强制换行符,行尾两个空格再回车

3.格式

功能 快捷键 模式
加粗 ctrl + b 普通
斜体 ctrl + i 普通
下划线 ctrl + u 普通
清除样式 ctrl + |普通

4.视图

功能 快捷键 模式
侧边栏 ctrl + shift + L 普通
大纲 ctrl + shift + 1 普通
文档列表 ctrl + shift + 2 普通
文件树 ctrl + shift + 3 普通
搜索 ctrl + shift + F 普通
模式切换 ctrl + / 普通/源代码
专注模式 F8 普通/源代码
打字机模式 F9 普通/源代码
全屏 F11 普通/源代码
(二)扩展语法及其操作
1.编辑样式

下划线:<u>下划线内容<u>,也可在普通模式下使用快捷键ctrl + u

内联数学公式

上下标

复制代码
1. 上标^
2. 下标~
3. 需要再偏好设置中勾选

高亮:=高亮内容=

注释

复制代码
1. 在编辑和预览时,注释的内容会被显示;在导出时,会被隐藏
2. `<!--- 注释内容--->`
2.编辑段落
  1. 数学公式块
  • 使用$$包裹数学公式
  1. 目录
  • 可以自动获取
  • 语法:[TOC]
  1. 脚注
  • [^内容]
  • 同时需要在结尾对对应的脚注进行定义

图表

复制代码
1. 注意事项

 * 图标是Typora支持的扩展语法,其他地方可能不支持

2. 序列图

 * 语法:````mermaid  

sequenceDiagram`

复制代码
 * 参考https://bramp.github.io/js-sequence-diagrams/

3. 流程图

 * 语法:````mermaid  

flowchat`

复制代码
 * 参考http://flowchart.js.org/

4. 支持Mermaid所支持的图表 

Mermind序列图
1. https://knsv.github.io/mermaid/#loop32

Mermind流程图
1. https://knsv.github.io/mermaid/#graph18

Mermind甘特图
1. Gante chart是将活动与时间联系起来的一种图表形势,能够显示每个活动的历史长短,用于把握项目进度
2. http://knsv.github.io/mermaid/index.html#mermaid-cli

使用HTML标签(增加了难度)

复制代码
1. 文字颜色和大小
2. 嵌入网页
3. 插入视频

https://support.typora.io/html/

3.常用功能
  • 打开文件 ctrl + o
  • 打开最近一个关闭的文件 ctrl + shift + t
  • 快速打开最近打开国的文件 ctrl + p
  • 偏好设置中设置自动保存

第四章 VS Code

一、基础配置

Visual Studio Code是微软推出的一款开源的代码编辑器,具有强大的插件提供各种功能。

  • 可以安装中文插件
  • 推荐One Dark Pro主题
  • 推荐Material Icon Theme和vscode-icons图标主题插件
  • 推荐IntelliJ IDEA Key Bindings for Visual Studio Code快捷键插件,同样适用于PyCharm
  • Prettier:代码美化
  • Wisen-Translate :翻译插件(云环境下没有)
  • Live preview :实时预览html(在云环境下改用Live Server)
  • Search/Translate Hero :搜索跳转和翻译(云环境下没有)
  • vscode-icons :美化图标

二、写作体验

  • ctrl+shift+v预览界面
  • ctrl+shift+a打开命令面板
  • 大纲处可以设置跟随光标
  • Markdown Preview Enhanced增强预览插件
    • MPE基本支持所有Typora支持的所有Markdown语法,还支持引用文件和制作幻灯片

  1. 遵循一定的写作规范,可以让源码(没有渲染过的文本)具有更强的可读性、可移植性(运用于多处)和可维护性(后续便于阅读、修改) ↩︎

  2. 通常URL较长会导致字符数量超过限制,为了提高可读性,可以在URL之前加一个换行符。 ↩︎

  3. 对于菜单栏上的不同功能,也可以使用快捷键Alt+功能对应的字母实现 ↩︎

全部评论 (0)

还没有任何评论哟~