AsciiDoc:如何指定HTML输出字体?

时间:2013-04-08 00:18:23

标签: fonts asciidoc

AsciiDoc输入.txt文件中寻找简单的指令,以简单的方式指定默认输出字体(即将字体系列更改为类似Calibri;但也想控制粗体,斜体和其他样式)为了更改HTML输出。

可选:希望为文档的特定部分(例如内容中的一行或两行)进行自定义字体更改标注。

如果需要css控制,我可以处理,但需要在过程/设置中详细说明每个功能步骤。

3 个答案:

答案 0 :(得分:1)

我自己是AsciiDoc的新手,但这可能足以让你前进。不幸的是,似乎没有一种非常简单的方法可以在AsciiDoc输入文件中使用简单的指令设置自定义样式。最终,AsciiDoc只是include输出的样式表文件(在一些相当复杂的逻辑之后,取决于后端)。

最简单的替代方案似乎是创建自己的主题。 “AsciiDoc用户指南”提供了有关如何执行此操作的说明(sorta),但基本上是:

  1. 在AsciiDoc安装的任何位置找到themes目录
  2. 复制现有主题(“flask”似乎是默认主题)。在8.6.6版之前,它只是一组CSS文件。使用8.6.6及更高版本,它是一组目录。
  3. 根据自己的喜好编辑主题。
  4. 使用theme文档属性或--theme <name>命令行选项(8.6.6。及更高版本)或--attribute theme=<name>(8.6.6之前版本)指定样式表。
  5. 这种方法的缺点是你的主题必须与其他主题一起存在。似乎没有办法改变它,或者我只是不知道它。符号链接可以工作,如果这是你的情况的选项。

    另一种可能性更为极端,但如果您愿意,可以让您将自己的风格与数据保持一致。一点免责声明:我通过探索AsciiDoc源代码来解决这个问题,而且没有记录,所以它可能会在以后的版本中发生变化。我对此表示怀疑,但值得注意。我也只是用它进行了快速测试,但它似乎有效。

    1. 如果您还没有配置文件,请创建配置文件。
    2. 在其中,创建一个[header]部分(不是文档化的配置文件部分,但我已在后端的.conf文件中注意到它。)
    3. 我不知道您使用的是哪个后端,但不管是哪个,找到.conf文件,查找[header]部分,复制整个部分,然后将其粘贴到您的配置中文件。可能有倍数,所以寻找“看起来正确”的东西。
    4. 编辑配置文件的[header]部分。您的目标是提取任何类型的决策代码。例如,对于html后端,它只是xhtml11的别名,我会移除ifdef宏,并将其替换为include1宏以包含我的CSS文件。所以我最终得到的是这样的:

      [header]
      <DOCTYPE html ... yadda yadda
      <!-- snip: a bunch of meta elements and such -->
      <title>{title}</title>
      <style type="text/css">
      include1::style.css[]
      </style>
      
    5. 使用命令行选项或文档属性告诉AsciiDoc使用您的配置文件。
    6. 尝试了后一种方法从我试过的样本中“删除”XHTML标题,但我没有超越它。如果第一种方法不符合您的喜好,希望第二种方法可以解决。

      至于自定义字体更改标注,我可能会使用passthrough块:

      ++++++++++++++
      <span id="foo">content goes here</span>
      ++++++++++++++
      

      但请注意,它是特定于后端的,并且该示例是HTML,如果我说得对(我有点生疏)。我对AsciiDoc不太熟悉,无法提出更好的建议。

答案 1 :(得分:0)

我刚刚开始看Asciidoc并且因为没有找到记录的

方式而感到恼火
  1. 链接与自定义CSS样式表
  2. 排除输出文件标题中的CSS部分。
  3. 如果没有采用Write your own AsciiDoc theme for HTML5 backend with SASS中描述的所有步骤,我至少发现以下命令行:

    asciidoc -b html5 -a linkcss -a stylesdir=$PWD myfile.txt
    

    在这种情况下,样式表的名称必须是默认名称,即asciidoc.css 这符合上述要求。

答案 2 :(得分:0)

扩展我刚刚从 https://stackoverflow.com/a/29456923/200509 学到的 passthrough 块(也在上面提到过)技巧,将它放在您的 .adoc 文件中应该能够覆盖任何主题样式(请参阅 /etc/asciidoc/themes/flask/flask.css默认值),包括字体:

++++
<style>
body { font-family: Calibri,sans-serif; }
</style>
++++