【发布时间】:2012-07-04 11:06:23
【问题描述】:
我正在使用神奇的 Pandoc 从 Markdown 转换为 Slidy 幻灯片格式。我想编辑 Slidy CSS,但我一生都无法弄清楚 CSS 文件在哪里被使用。我在这里和那里找到了一堆 slidy.css 文件并尝试修改它们,但 Pandoc 的 Slidy 输出永远不会改变。
有谁知道 slidy.css 在 OSX 上默认在哪里?谢谢!
【问题讨论】:
我正在使用神奇的 Pandoc 从 Markdown 转换为 Slidy 幻灯片格式。我想编辑 Slidy CSS,但我一生都无法弄清楚 CSS 文件在哪里被使用。我在这里和那里找到了一堆 slidy.css 文件并尝试修改它们,但 Pandoc 的 Slidy 输出永远不会改变。
有谁知道 slidy.css 在 OSX 上默认在哪里?谢谢!
【问题讨论】:
默认情况下 pandoc 使用来自 slidy 网站的 CSS 和 javascript 文件。如果您想使用本地版本,请创建一个目录,例如myslidy,其中包含子目录scripts 和styles。将slidy.js.gz 放入scripts 并将slidy.css 放入styles。然后使用以下选项调用 pandoc:
pandoc -s -t slidy -V slidy-url=myslidy
然后,Pandoc 将链接到您的本地 CSS 文件。如果您想将所有这些都包含在 HTML 文件本身中,因此它不依赖于外部 myslidy 目录,请添加选项--self-contained。
另一种选择是继续使用来自 slidy 网站的 slidy 脚本,但替换为您自己的 CSS 文件。为此,您必须创建一个具有不同样式表链接的自定义滑动模板。要获取您自己的默认模板副本,请执行
pandoc -D slidy > my.slidy
编辑此文件中的 CSS 链接,并调用 pandoc
pandoc -s -t slidy --template my.slidy
【讨论】:
$ pandoc -s -t slidy --self-contained -V slidy-url=myslidy -o Desktop/pandoc_output.html slidy-test.md 但 Slidy 输出仍然具有默认样式!我做错了什么?
--self-contained 选项将slidy-url 变量设置为slidy。我想我这样做是为了避免依赖网络连接,但这可能是个坏主意。无论如何,(a) 调用您的目录 slidy 而不是 myslidy 或 (b) 编辑系统默认值 /usr/local/share/pandoc-1.9.4.2/slidy/styles/slidy.css,或通过将修改后的 slidy 目录放在 ~/.pandoc 下创建本地默认值。
$slidy-url$/styles/slidy.css 更改为 $slidy-css-url$。然后使用pandoc -s -t slidy --template my.slidy -V slidy-css-url /path/to/custom-slidy-css.css 调用pandoc。或者您可以硬编码模板中的路径并使用多个模板。一个更简单的想法:如果您的 css 自定义不是极端的,您可以尝试使用 --css 选项包含的另一个 CSS 文件简单地覆盖默认滑动 CSS 的各个方面。
使用 pandoc -t slidy --css my.css ... 指定其他 css 文件。
这不需要修改 pandoc 的默认滑动模板。
(这是 John MacFarlane 之前的评论。我只是将其发布为 答案以获得更高的知名度。)
【讨论】: