1

在AsciiDoc输入 .txt 文件中寻求简单的方法来指定默认输出字体(即将字体系列更改为类似 Calibri 的字体;但也希望控制粗体、斜体和其他样式)以更改 HTML 输出.

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

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

4

3 回答 3

1

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

最简单的选择似乎是创建自己的主题。AsciiDoc 用户指南有关于如何执行此操作的说明(排序),但本质上是:

  1. 找到themes安装 AsciiDoc 的目录
  2. 复制现有主题(“flask”似乎是默认主题)。8.6.6 之前的版本,它只是一组 CSS 文件。对于 8.6.6 及更高版本,它是一组目录。
  3. 根据自己的喜好编辑主题。
  4. theme使用文档属性或--theme <name>命令行选项(8.6.6. 及更高版本)或(8.6.6 之前)指定样式表--attribute theme=<name>

这种方法的缺点是您的主题必须与其他主题一起存在。似乎没有办法改变它,或者我只是不知道。如果您的情况可以选择,符号链接可能会起作用。

另一种可能性更极端一些,但如果您愿意,可以让您的风格与数据保持一致。一点免责声明:我通过查看 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 使用您的配置文件。

尝试后一种方法从我尝试过的示例中“删除”XHTML 标头,但我没有超越。如果第一种方法不符合您的喜好,希望第二种方法可以解决。

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

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

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

于 2013-05-14T23:17:30.537 回答
0

我刚开始自己​​看 Asciidoc 并且很恼火没有找到记录在案的方式

  1. 链接到自定义 CSS 样式表
  2. 不包括输出文件标题中的 CSS 部分。

在没有采取使用 SASS 为 HTML5 后端编写您自己的 AsciiDoc 主题中描述的所有步骤的情况下,我在命令行中至少找到了以下内容:

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

在这种情况下,样式表的名称必须是默认的,即 asciidoc.css 这满足了上面提到的要求。

于 2014-04-26T23:21:39.790 回答
0

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

++++
<style>
body { font-family: Calibri,sans-serif; }
</style>
++++
于 2021-02-16T19:59:56.923 回答