diff options
Diffstat (limited to 'content/weekly')
| -rw-r--r-- | content/weekly/72.md | 51 |
1 files changed, 40 insertions, 11 deletions
diff --git a/content/weekly/72.md b/content/weekly/72.md index b884762b..e959fc05 100644 --- a/content/weekly/72.md +++ b/content/weekly/72.md @@ -1,14 +1,14 @@ ---- -title: 稻草人周刊 Vol. -subtitle: -tags: -date: -categories: 稻草人周刊 -draft: true -toc: true ---- - -{{< music cover="" title="" artist="" apple="" spotify="" netease="" >}} ++++ +title = "稻草人周刊 Vol.72" +subtitle = "" +tags = [] +date = 2026-03-11 19:02:39 +categories = "稻草人周刊" +draft = true +toc = true ++++ + +{{< music cover="https://r2.eltr.ac/geedeapro/weekly/72/f1bfa131-bb00-4a47-b3a2-c70fbf082b9c.jpg" title="Nothing's About To Happen To Me" artist="Mitski" apple="https://music.apple.com/cn/album/nothings-about-to-happen-to-me/1860622550" spotify="https://open.spotify.com/album/2M9F3AsbWy7n4LwmJ8pqEu" >}} <!--more--> @@ -37,6 +37,35 @@ toc: true 以前我认为这些人是没有教养,现在看来,他们有可能并不是想要这样做,而是因为觉得不这样做很困难。我想我可以多一些包容和理解吧。 +### Org Mode 是最好的标记语言吗? + +> [!note] 📜 +> [Org Mode Syntax Is One of the Most Reasonable Markup Languages to Use for Text](https://karl-voit.at/2017/09/23/orgmode-as-markup-only/) + +> I did not find any tool support for Markdown, AsciiDoc, Wikitext or reStructuredText anywhere that could compete with the cozy Org mode syntax support within Emacs. + +*Well, look harder.* + +作者在这篇文章中对比了 Org Mode 和其他标记语言(Markdown、AsciiDoc、Wikitext 和 reStructuredText)的区别,以及为什么他认为 Org Mode 比这些标记语言更具优势、更合理。 + +文章前半部分的观点我很认同。首先,Org Mode 是规范化的,而 Markdown 却有很多不同的 Flavor,在不同的平台上输入 Markdown 得到的结果不总是一样的,比如 Markdown 很常见的表格就是拓展语法而非最初的标准。我自己也依赖一些并不常见的 Markdown 拓展语法,比如 Obsidan 里常用的 `==高亮标记==` 和 GitHub 上常用的 [Alert](https://github.blog/changelog/2023-12-14-new-markdown-extension-alerts-provide-distinctive-styling-for-significant-content/),这两个语法都被 Hugo 支持,所以我在博客里也经常用,但是在其他地方就不一定了。这的确是 Markdown 的缺陷之一,不够标准化。 + +其次,Org Mode 的行内标记是符合直觉的,`*加粗*` `/斜体/` `_下划线_` `~代码~` 和 `=等宽字=` 都很容易记住,是唯一的语法,而且都是一前一后的单个字符,不像 Markdown 有 `_斜体_` 和 `*斜体*` 两种写法,而 `**加粗**` 和 `~~删除线~~` 居然需要一前一后的双字符进行标记,和其他行内标记不统一。说实话,我之前尝试 Org Mode 时,就挺搀它的行内标记语法的。 + +接下来是我不太赞同的部分。 + +作者说他认为 Markdown 的链接语法令人疑惑,它会忘记 `[文字]` 和 `(链接)` 哪个在前、哪个在后,并且它不理解为什么要用到两种括号。Org Mode 里的链接写作 `[[链接][文字]]`。我可以用相同的逻辑论述为什么 Org Mode 的链接语法令人疑惑。在 Markdown 里,`[]` 是用来包裹文字的,`()` 是用来包裹链接的,至少我永远不会搞错文字和链接各自的括号是什么;我相信大部分 Markdown 用户记住哪边是链接、哪边是文字的方式都是这样的,`[]()` 这样的形式看得多了,就会知道谁在前在后;如此一来,我就不会搞错链接和文字的位置了。反观 Org Mode,链接和文字都用 `[]` 包裹,谁在前在后就更难记住。 + +我认为「我容易忘记语法的顺序」并不是很有说服力的论据,因为我认为 Org Mode 用户能记住 `[[链接][文字]]`,和 Markdown 用户能记住 `[文字](链接)` 的方式一样:见多了就记住了,不是因为哪个语法更符合直觉。两边都有各自的优势和缺陷,仅仅是个人偏好和习惯问题。 + +我尝试过 Org Mode,其中一部分我很喜欢,另一部分则很不习惯。我最不能接受的是 Org Mode 对中日韩文字的支持,它不能解析 `这样的*加粗*文字`,因为 Org Mode 的行内标记前后必须有空格,这显然是欧洲语言的使用逻辑,中文里就是很少用空格。其次,它不支持我很爱用的 `~~删除线~~`。再次,标准化是好事,但拓展性差也是问题,我没办法用 `==高亮标记==` 这种拓展语法。 + +不过,读完这篇文章过后,我的确产生了很多思考,其中之一是:标记语言本身真的有好坏之分吗?我认为,就和代码风格一样,有的风格固然是不好的,比如可读性很差的风格,但有的风格很难分个高下,比如 `{}` 应不应该换行写、缩进应该用空格还是制表符、文件末尾应该不应有空行,标记语言也有很难说是好是坏的语法。用于写配置的标记语言 YAML 和 TOML 也是一样,有人认为 [YAML 有诸多缺陷](https://www.arp242.net/yaml-config.html),而 [TOML 的缺陷](https://hitchdev.com/strictyaml/why-not/toml/)也有人能列出来不少。 + +你猜怎么着?没有一门标记语言是完美的,包括 Org Mode 和 Markdown。 + +如何选择标记语言,应该由使用者自己尝试、权衡和决定,不存在「最合理且对所有人都同样合理」的语言。或许,可以开发一种与 Vim 和 Emacs 类似的标记语言,人们可以自己写配置,调整各种语法,自己创造最适合自己的语言。 + ## 星群 ## 切片 |
