Markdown 笔记相关

前言

学习参考

本文以[《了不起的Markdown》]为学习参考,简明阐述一下学习 Markdown 相关的问题和知识。

了不起的Markdown

学习目的

首先是学习的目的。我学习 Markdown 的目的是做笔记,在我的预期中,用 Markdown 撰写各科的笔记是我的目标。为此需要掌握一定水平的 Markdown 的用法,但并不需要特别精通,更不应该,也没有时间学到能用 Markdown 炫技的程度。

学习内容概述

其次是学习哪些内容。我预计将要进一步学习 Markdown 中能够使用的,常用的 HTML 的语法;另外还要初步学习 LaTeX,用于之后的公式书写(这个和 Markdown 本身的学习关系不大)。

首先将书通读一遍,大概了解内容。大概描述一下《了不起的Markdown》这本书的目录和我所关心的部分(看法)

  • 第 1 章:为什么要用 Markdown

    • 是简化的 HTML,使人专注于写作;但是语言不能实现的特殊功能仍然只能用 HTML 来实现
    • 有基础语法和拓展语法,并不是统一的;GFM 是我应该掌握的拓展语法
    • Markdown 只适合简单的排版
  • 第 2 章:Markdown 的基础语法和拓展语法 GFM

    • 在学习语法的时候注意两点

      • 基础语法和拓展语法 GFM 的差别
      • 使用规范
  • 第 3 章 & 第 4 章:写作软件 Typora 和宇宙第一编辑器 VS Code

    • Typora 很好,但是在看完书后更加让我决定不使用 Typora

      • 操作系统差别对待:在 macOS 上的功能、快捷键和插件都比在 Windows 完整和丰富
      • 有 Typora 自己的拓展语法,这是不能接受的(虽然图标语法也不一定用的上)
    • VS Code 堪称完美,使用的核心就是用好插件,进阶的玩法就是版本管理 Git & GitHub
  • 第 5 章 ~ 第 8 章:Markdown 写作场景和应用

    • 这几章主要介绍了如何使用 reveal.js 写幻灯片;Markdown 的相关工具;搭建自己的博客;GitBook 电子书写作。
    • 简要的说一下我的看法。大部分内容是炫技浮于形式而很少关注内容。例如“用 reveal.js 写幻灯片”这一章,明显的就是关注形式远大于内容。为了形式还要去学习很多的前端的知识,对于一个初学者或是关注内容的人而言是相当不划算的。连作者自己也有这样一段话。

      不过由于 Markdown本身语法的局限性,有时候想实现更多的效果就不得不用 HTML,因此希望大家不要排斥 HTML,我也会尽量写得通俗易懂,让大家“开箱即用”。
    • 我对 GitBook 很感兴趣。但我也深知写书重要的是内容以及之间的关联,GitBook 提供的框架倒是其次的。简单的说就是我现在还没有到能系统输出内容的水平。

所以我今天读完这本书之后决定重点学习的部分是:第 2 章和第 4 章

Markdown 的基础语法和拓展语法 GFM

接前言,在了解完语法之后,需要关注的重点是使用规范(基础语法和拓展语法的差别相比之下是其次)。因为 Markdown 的语法确实太过随意,需要有使用的规范。

这里不详细说明各个规范,因为有一个 GitHub 上的文档很详细的列举了这一章讲解的使用的规范和两种语法:[Markdown_Guide],非常适合学完之后复习和在使用时查阅。

下面就我个人而言觉得需要注意的地方(简要记录,不完全):

使用规范相关

  • 标题使用:“ # ”;前后都要空且仅空一行;标题内容尽量简短
  • 粗体和斜体都使用 常见的 “ * ” 符号;语法标记内部建议不要有空格
  • 建议使用“ - ”来标记无序列表
  • 注意行内代码和代码块的“ ` ”的使用的区别,虽然都有一样的效果
  • 转义可以使用“ \ ” 或者用" \` "包裹

    • (有趣的是这一行的这两个符号都是用对方转义表示出来的)

拓展语法相关

  • 很显然的,表情符号、表格、任务列表和锚点是拓展语法,而删除线、自动链接、围栏代码块这些语法因为已经用的很熟练了所以不容易觉察。虽然 GFM 作为最流行的拓展语言为许多编辑器所支持,但是仍然要区分它和基础语法的区别。
  • 我比较关心的一个拓展语法是锚点。因为这个功能是链接文档或其他文档的标记位置的语法,不用说肯定是有巨大的价值的。本文就在目录处使用了文档内锚点跳转。

排版技巧

这个部分的知识比较琐碎,大体上分为三个部分:空格的合理使用、全角和半角符号的使用以及正确的英文大小写。在这里就不细讲了。

宇宙第一编辑器 VS Code

玩的就是插件,插件用好了就很好。这里不讲语言插件、主题插件和快捷键插件,以及禁用/启用插件,只讲关键的,关乎写作体验的插件。(另外关于 git 的插件不在这里细讲)

插件列表

  • 增强预览插件:[Markdown Preview Enhanced]
  • 全能插件:[Markdown All in One]
  • 语法检查插件:[markdownlint]
  • 拼写检查插件:[Code Spell Checker]

具体的功能建议去看看插件的文档,千万不要一股脑的安装拿来用而不知道功能。
再就是不建议初学者使用特有语法的插件,不然会导致文档移植起来比较困难。

后记

关于本文

看完本文你会发现前言和后记的部分比正文多多了:smile:。这是因为正文中有很多的部分是引用的其他人的网页链接。他们已经写的够好了,我就不必再次重复一遍了。鲁迅在他的《魏晋风度及文章与药及酒之关系》一文中说的很好。

我今天所讲,倘若刘先生的书里已详的,我就略一点;反之,刘先生所略的,我就较详一点。

另外有一点私心。本文不是保姆式的教程,所以是按照我目前的认知来进行内容的详略程度的处理的。所以想认真学还是建议去看看书。

关于工具书

今天可以说:“我已经把这本《了不起的Markdown》学完了”。如果要加一个限定词,那应该是现阶段,现在的知识已经足够我用很长一段时间了。此外,因为我对这本书的结构了如指掌,所以之后如果有什么不会的,再来查这本书就行了。

想必今后还要阅读各种各样的工具书。对待这一类书,我的态度是:

  1. 知道自己学习技术的目的和需要掌握的程度
  2. 能通览就通览一遍(太长的话就只看目录和各章节导语)
  3. 把握各个章节之间的关系,是层层递进还是不大相关
  4. 决定你自己现阶段要学习的部分,不求所有都会,不要囫囵吞枣,要学以致用
  5. 之后在使用的过程中如果有不会或者遗忘的,再来查阅书籍(继续学习)

我在下一个阶段就要学习一本更厚的《LaTeX入门》,当然也是用一样的套路去学。这就是所谓的学习方法吧:smile:。

LATEX入门

关于自学

到现在我就结束一个阶段的 Markdown 的自学了,回顾整个自学的过程,我最想说的是自学真的不是一个一蹴而就的过程,而是一个不断积累,层层递进的过程。这些话真是老生常谈,但是我还是要说(废话,要是后记还不让说那简直没有道理了)。大家总是明白这些道理,却没有去进一步想一想。

我就来举一个例子:知乎上总是有这样的提问:如何系统的学习 xxxx。问出这种问题的人一定是刚毕业的高中生,还以为到了大学还是有人很系统的去教你知识。实际上到了大学之后,基本上所有知识都是自学的,系统的学习对于初学者而言是个伪概念。初学者就是看了别人的回答也不能深刻理解,就像看书只看了目录其实也只是对书了解了皮毛一样。

所谓系统学习

系统的学习也只有在老师细心的引导才是有效的——但是你觉得什么时候老师会对你一个人进行细心的教导?老师顶多在第一节课的时候给大家建议讲一下学习方法。而且就算老师上的是这样的大班,对一个人的照顾是如此的少,你也大概率不会认真去听,这样以来系统的学习就与空谈无异(别杠,杠就是你对)。

所以只剩下自学这一条路——是不完善的本科教育所导致的。我想,至少在自学这一方面,至少不该自欺欺人,这是基本的。此外,因为是自学了,所以基本上是“摸黑走路”。这个时候该如何去学习呢?

答案是循序渐进,不断积累,层层递进。人的认知水平不可能突变,接受新的概念是需要时间的。学习是有层次的,只有掌握(牢靠)了基础的知识,才能向更难的知识进军。比如学习数据结构和算法分析。不是上来就看《数据结构和算法分析》的,而是先看一些浅显的书籍建立相关的概念、术语和逻辑,比如《大话数据结构》;比如学习计算机网络,不是上来就看《计算机网络——自顶而下方法》的,而是先看《图解系列》......这都是很实际的例子呀。

限于篇幅原因无关话题就不再细说了。

最后修改:2021 年 08 月 23 日
如果觉得我的文章对你有用,请随意赞赏