2013-04-08 150 views
0

AsciiDoc输入.txt文件中寻求一种简单的指令,用于指定默认输出字体(即将字体族更改为Calibri;但也希望控制粗体,斜体和其他样式)以更改HTML输出。AsciiDoc:如何指定HTML输出字体?

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

如果需要css控件,我可以处理它,但需要在过程/设置中列出每个功能步骤。

+0

我看到:http://powerman.name/doc/asciidoc-index#_my_compact_css_styles,但不知道如何格式化输入.txt文件以匹配.css和任何其他需要的“管道连接”。 – 2013-04-08 02:02:37

回答

1

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

最简单的选择似乎是创建自己的主题。该AsciiDoc用户手册里有关于如何做到这一点(八九不离十)的说明,但本质:

  1. 查找下无论AsciiDoc是一个安装
  2. 复制现有主题themes目录(“烧瓶”似乎是默认) 。在版本8.6.6之前,它只是一组CSS文件。 8.6.6及以上版本,它是一组目录。
  3. 编辑主题以符合您的喜好。
  4. 使用theme文档属性或--theme <name>命令行选项(8.6.6和更高版本)或--attribute theme=<name>(8.6.6之前)指定样式表。

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

另一种可能性是更极端的一点,但如果您愿意的话,可以让您保留自己的风格和数据。有一点免责声明:我通过查看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不太熟悉,建议更好。

0

我刚开始我看Asciidoc和被激怒没有找到

  1. 链接自定义CSS样式表
  2. 排除在输出文件的标头中的CSS部分中的记录方式。

如果不采取所有这些在Write your own AsciiDoc theme for HTML5 backend with SASS中描述的步骤,我发现至少为命令行以下操作:

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

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

+0

您可以添加“-a stylesheet = mystyle.css”来覆盖默认样式表名称。 – DrFriedParts 2015-05-05 06:57:34