org-mode 转 html 时, 代码段缩进与否引起的异常现象

当代码段在 org 中缩进后, 某些情况下会导致转化的 html 存在异常:

  1. 代码段在 html 中缩进了. 本人理解不该缩进
  2. 还会导致 list 列表成员间距异常
  3. 其他代码测试时, 还出现过 list 列表成员的不正常缩进

emacs -Q 也存在这个现象. Emacs version: 26.1, Org-mode version: 9.1.9. 大家看一下会不会也有这个问题?

注: 为了能让代码段显示出来, Emacs 只加载了 htmlize.el. Emacs 完全空载启动时, 错误 2 仍然存在

正常的显示效果:

normal

正常显示情况下对应的 org-mode 源码:

- 接下来是代码高亮
- 这是第二行列表
- 第三行

#+begin_src bash
cd ~
ls -la
#+end_src

异常的显示效果:

error

异常显示效果对应的 org-mode 源码:

- 接下来是代码高亮
- 这是第二行列表
- 第三行

        #+begin_src bash
        cd ~
        ls -la
        #+end_src

缩进代码也不用缩进代码标签啊,直接缩进内容就是了。

说得也是啊, 只缩进代码内容就可以使用. 本来一直是这么干的, 偶然间发现这个问题.

不也知道是我的操作存在什么问题, 还是 Org-mode 存在这么个小 bug.

对org不是很了解,但我觉得他还是有它的内容缩进规则的,不止是code block,其他内容也是这样,不规则的格式肯定会影响它的解析。

你如果经常这样写org文件的话:

- 接下来是代码高亮
- 这是第二行列表
  #+begin_src bash
  cd ~
  ls -la
  #+end_src
- 第三行

#+begin_src bash
cd ~
ls -la
#+end_src

就会知道这样的缩进还是有点用的。

哦, 貌似我很少有这样的需求

- 接下来是代码高亮
- 这是第二行列表
- 第三行


#+begin_src bash
cd ~
ls -la
#+end_src

要隔两个空行,隔一个空行的内容会被当成是列表下的

Many thanks!