#+BEGIN_EXAMPLE 里文本的渲染

#+BEGIN_EXAMPLE
#+HTML:<div align=center>
NOTICE
#+HTML:</div>
- eee
- 22
**ee**
#+END_EXAMPLE

上面这种写法,导出为 HTML 后 Example 片段里的列表、加粗等特性都没有了。

看了下文档 Literal Example,没有提怎么实现我的要求。

现在我只能勉强用下面这种方式来实现

#+BEGIN_EXPORT html
<pre class="example">
<div align=center>
NOTICE
</div>
- eee
- 22
**ee**
</pre>
#+END_EXPORT

但是这样写 HTML 太难受了,请问有没有好的方式来实现。

1 个赞

用 org 的 src 后端,example 本来就是literal输出

我记得应该用

#+begin_notes

#+end_notes

用了这个后,可以渲染 #+HTML:、列表、加粗。但是导出 HTML 后,没有外面那个框。Reddit 上有一个帖子 https://www.reddit.com/r/emacs/comments/6u4yt2/begin_notes/ 讨论 #+begin_notes 是干嘛的。

现在这么一说,我好像问了一个 XY 问题。

我想要的效果是能将一段话用像 #+BEGIN_EXAMPLE 那样的外边界来框起来,这段话里面会有列表、加粗、居中等语法,这些语法应当能被正确处理。

有没有框是输出HTML后CSS决定的,不是org决定的

我好像没有太表达清楚我想要的效果,我说的渲染不是高亮某段代码,而是将列表、加粗等标记表示出来:

**bold** -> bold

- 2
- 3

->

  • 2
  • 3

#+BEGIN_EXAMPLE 标记的一段话导出为 HTML 后会有 <pre class="example">,这个 <pre class="example"> 会被渲染成一个框。

所以一开始我想利用 #+BEGIN_EXAMPLE 这个特点来为我的文本加上框,但是发现 #+BEGIN_EXAMPLE 里文本的加粗、列表等语法都没被处理。

然后我又尝试用 #+BEGIN_EXPORT html,在里面加上 <pre class="example">。但是这样的话,列表、加粗等得直接写成 <li></li><bold></bold>。我觉得这样太麻烦了,所以想求助一下有没有更好的方法。

org可以自定义某些div block的class

#+TITLE: kjfkdfjkd

#+BEGIN_EXPORT html
<style>
.BOX {
   border: dotted orange;
   border-width: thick;
}
</style>
#+END_EXPORT

#+BEGIN_BOX
kdjfkdjf

- unorderlist
- test

#+BEGIN_SRC emacs-lisp
(message "Hello World.")
#+END_SRC

#+END_BOX

2 个赞

请教一下这个 #+BEGIN_ 后自定义一个东西还有啥用法没,没搜到相关的文档 :sweat_smile:

不知道,我是摸索到这个用法的 :money_mouth_face:

刚才搜了一下 The Org Manual

在12.9.3 HTML doctypes讲解了这个用法

谢谢 :smiling_face_with_three_hearts: