如果有一个预处理器将 Markdown(可能带有自定义注释)作为输入并输出这种美观实用的格式,那就太好了
Pandoc 提供了构建模板,因此创建 Tufte pandoc 模板应该很简单。
@langford原来已经有一个用于 Pandoc 的 Tufte 模板,有关将 Markdown/Multi-Markdown 转换为 Tufte 样式的详细信息,请参阅我的评论: https :
@fasiha 干得好。 你在这里取得了有希望的开端。 :+1:
我认为 Markdown 中没有现成的 tufte-css _sections_ 等效项,即一组段落和标题。 但我想我喜欢部分的想法,我认为有一个额外的文档组织层次会有所帮助。
来自社区的任何建议如何指示 Markdown 中的部分?
@fasiha 使用标题元素和所有段落元素直到下一个标题元素的过滤器怎么样? 然后将它们包装在<section>
(或一些自定义的<div>
)标签中,并将所需的 css 应用到这个标签中?
感谢您在@vyp 中权衡。 从我对 tufte-css 首页的阅读来看, section
可以捕获多个标题,或没有标题的段落。 也就是说,它不仅仅是一个标题和内容容器。 在我的文档中,我现在只是将<section>
作为原始 HTML 嵌入到 Markdown 中——为此,我认为我可以接受原始 HTML。
@fasiha啊对不起,你是对的。 因为一节被定义为“文本和标题的逻辑分组”,所以没有人工输入就不可能确定文档中的节到底是什么(即我们实际上将节标记为语义信息,就像我们如何标记用星号或下划线强调)。 是的,我不知道任何降价风格的这些“部分”的任何预先存在的语法,所以很好。
在这种情况下,使用原始的<section>
标签是最好的选择(除了为它定义自己的类似 Markdown 的语法并为它编写解析器)。
另一种方法是利用 tufte 说它使用 h2 作为“部分标题”的事实,所以也许“部分”可以定义为 h2 标签以及下一个 h2 标签之前的所有内容,依此类推。 但我不确定这是否是 tufte 的作者的意图。
H2 元素不是截面划分的可靠来源。 例如,某些文档使用“newthought”跨度代替。 我相信其他变种会在野外出现。
2015 年 8 月 8 日 23:49,vyp [email protected]写道:
@fasiha啊对不起,你是对的。 因为一节被定义为“文本和标题的逻辑分组”,所以没有人工输入就不可能确定文档中的节到底是什么(即我们实际上将节标记为语义信息,就像我们如何标记用星号或下划线强调)。 是的,我不知道任何降价风格的这些“部分”的任何预先存在的语法,所以很好。
使用原始
在这种情况下,标签是最好的选择(除了为它定义自己的类似 Markdown 的语法并为它编写解析器)。 另一种方法是利用 tufte 说它使用 h2 作为“部分标题”的事实,所以也许“部分”可以定义为 h2 标签以及下一个 h2 标签之前的所有内容,依此类推。 但我不确定这是否是 tufte 的作者的意图。
—
直接回复此邮件或在 GitHub 上查看。
我想如果有人想避免在他们的降价中使用<section>
标签,一些类似于<hr>
的语法可能不难实现。 <hr>
的语法基本上是“三个或更多连字符、星号或下划线在一行上”。 因此,例如,您可以任意将“部分”分界定义为“三个或更多等号”(或您喜欢的任何内容),然后使用 pandoc 过滤器将这些段落的每一对之间的所有内容仅用等号包裹起来。
我只选择了“一行等号”,因为我猜这就是用纯文本分割部分_look_的样子? 并且因为 pandoc markdown 只会将其解析为一个段落,这意味着您的过滤器可以只检查每个段落是否只有等号,如果它仅由等号组成,则假设这是部分划分的一部分。
大家好(感谢@daveliepmann将我指向这个线程)。 您可能对我的glasseye包感兴趣,我在其中使用了 Tufte.css(因此感谢所有人)并且我的目标是在其中集成 Markdown、d3 和 Tufte 布局。 目前,它是一个原型,有很多切角。 当我有时间时,我想清理代码并使设计合理化(那时我将浏览您对 css 的评论)。 但我想看看它是否值得先做,我认为是的。 无论如何都会喜欢任何反馈。
reStructuredText 会比 Markdown 更适合这里需要的那种注释吗?
@coppeliaMLA感谢您提到 glasseye,这是一项了不起的工作。
@rbcarson我不是 OP,但如果问题是针对这里的每个人而你想要我的意见,我个人对重组
所以多年来,只有这么多其他类型的语法可以塞进“降价”中,因为它的全部意义在于它应该以纯文本形式可读。 您如何以纯文本形式直观地传达旁注? 尽管如此,我觉得 pandoc 的扩展降价在这方面做得非常好。
所以我认为 restructuredtext 有一些叫做指令的东西,它允许你为特定类型的数据构建语法(或什么?)? 如果情况确实如此,是的,我认为重组文本在这里可能更适合。 但正如我所说,我没有太多的经验,所以我无法进一步帮助你。
restructuredText 对我的目的毫无用处,这些项目已经记录在 markdown 中
2015 年 8 月 17 日凌晨 4:24,vyp [email protected]写道:
@coppeliaMLA感谢您提到 glasseye,这是一项了不起的工作。
@rbcarson我不是 OP,但如果问题是针对这里的每个人而你想要我的意见,我个人对重组
所以多年来,只有这么多其他类型的语法可以塞进“降价”中,因为它的全部意义在于它应该以纯文本形式可读。 您如何以纯文本形式直观地传达旁注? 尽管如此,我觉得 pandoc 的扩展降价在这方面做得非常好。
所以我认为 restructuredtext 有一些叫做指令的东西,它允许你为特定类型的数据构建语法(或什么?)? 如果情况确实如此,是的,我认为重组文本在这里可能更适合。 但正如我所说,我没有太多的经验,所以我无法进一步帮助你。
—
直接回复此邮件或在 GitHub 上查看。
@coppeliaMLA非常有趣!:使用 pandoc 输出带有特殊标签的 HTML,然后作为第二阶段,使用另一个程序将特殊标签扩展为 Javascript 和 HTML。 我的方法是制作一个使用特殊标签的 Pandoc 自定义编写器,在 Lua 中有效地执行glasseye.py
,使用 Pandoc AST 而不是 BeautifulSoup 解析,但看起来 glasseye 基本上工作得很好。 我将尝试对我的文档进行玻璃化处理,并在其 repo 中告知您任何问题。 在 Pandoc 编写器中很难做的事情可能更容易进行后期处理,反之亦然,但找出答案的唯一方法是编写一堆文档:)
@fasiha谢谢。 你的方式听起来确实更有效率,我想我最终可能会朝着那个方向前进。 我选择了 python,因为它允许我创建一个快速原型。 但是正如您所说,对大量文档进行试验将磨练出最好的方法。 我计划在我的日常工作中尽可能多地使用它,以了解它对我的帮助。 如果您可以尝试一下,那就太好了。 喜欢听听它是怎么回事!
参见 #31 和 #58
对于它的价值:我只是将tufte-pandoc-css
放在一起来解决在 Markdown 中编写边注的问题。 这只是展示如何使用我编写的名为pandoc-sidenote
的自定义 Pandoc 过滤器。
要查看它的实际效果:
@jez酷! 我会看看我是否能找到一个项目来试一试。
刚刚通过谷歌找到这个线程
你们可能想看看xmark :它通过 XSLT 将
@vieiro哇,这很好。 辛苦了👍🏻
最有用的评论
刚刚通过谷歌找到这个线程
你们可能想看看xmark :它通过 XSLT 将