Tufte-css: 降价到这个?

创建于 2015-08-06  ·  21评论  ·  资料来源: edwardtufte/tufte-css

如果有一个预处理器将 Markdown(可能带有自定义注释)作为输入并输出这种美观实用的格式,那就太好了

help wanted other applications

最有用的评论

刚刚通过谷歌找到这个线程

你们可能想看看xmark :它通过 XSLT 将

所有21条评论

Pandoc 提供了构建模板,因此创建 Tufte pandoc 模板应该很简单。

@langford原来已经有一个用于 Pandoc 的 Tufte 模板,有关将 Markdown/Multi-Markdown 转换为 Tufte 样式的详细信息,请参阅我的评论: https :

@xHN35RQ 仔细研究了一下之后,pandoc 模板似乎是此功能的错误途径:模板被赋予了$body$字符串,并且几乎期望在它之前和之后放置文本,并且似乎没有旨在实际操作从 Markdown 生成的文本。 您将使用可以在 Lua 中编写(哈利路亚)的 pandoc自定义编写器。 我写了一个准系统的自定义编写器,它只实现了旁注并添加了article标签:请参阅 gist 。 我希望在我继续编写 tufte-css 以包含所有提供的功能时扩展它 - 理想情况下无需修改有关 pandoc markdown 或其读者的任何内容。

(为了完整起见,我可能会提到

@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哇,这很好。 辛苦了👍🏻

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

gamecubate picture gamecubate  ·  10评论

danielnixon picture danielnixon  ·  3评论

daveliepmann picture daveliepmann  ·  29评论

fustkilas picture fustkilas  ·  5评论

Saturate picture Saturate  ·  5评论