Vulkan-Docs/doc/specs/vulkan/config
Jon Leech d204ac2f69 Vulkan 1.0 branch 1.0 for release 2016-02-16 01:53:44 -08:00
..
docbook-xsl Vulkan 1.0 branch 1.0 for release 2016-02-16 01:53:44 -08:00
README Vulkan 1.0 branch 1.0 for release 2016-02-16 01:53:44 -08:00
manpages.conf Vulkan 1.0 branch 1.0 for release 2016-02-16 01:53:44 -08:00
mathjax-asciidoc.conf Vulkan 1.0 branch 1.0 for release 2016-02-16 01:53:44 -08:00
mathjax-docbook.conf Vulkan 1.0 branch 1.0 for release 2016-02-16 01:53:44 -08:00
mathjax.js Vulkan 1.0 branch 1.0 for release 2016-02-16 01:53:44 -08:00
vkspec-dblatex.sty Vulkan 1.0 branch 1.0 for release 2016-02-16 01:53:44 -08:00
vkspec-dblatex.xsl Vulkan 1.0 branch 1.0 for release 2016-02-16 01:53:44 -08:00
vkspec-xhtml.css Vulkan 1.0 branch 1.0 for release 2016-02-16 01:53:44 -08:00
vkspec.conf Vulkan 1.0 branch 1.0 for release 2016-02-16 01:53:44 -08:00

README

There's apparently some sort of parsing issue with comments in vkspec.conf,
so they are pulled out here for now.

// The [efs]link macros insert named xrefs to the specified target
// enumerated type, function, or structure name, and are also used
// for validation.
// Could also use <xref linkend="{target}"/>

// The [efsp]text macros insert the specified target enumerant, function,
// structure or parameter name, and are NOT used for validation. They are
// otherwise identical to the [efsp]name macros above, and are intended
// to get the proper formatting for terms that are *not* actually API
// features, e.g. wildcards or partial names.

// The [efsp]name macros insert the specified target enumerant, function,
// structure or parameter name, and are also used for validation.

// The basetype macro inserts text for the specified base (scalar) type. It
// is not currently used for validation, but will be eventually

// The code macro inserts text for the specified shader code function or
// variable.

// I have no idea what the old 'vkkeyword' macro does, but it appears
// to be unused, so removed it and archived here for the moment.
//
// (?u)^(?P<name>):(?P<subslist>\S*?)(\[(?P<passtext>.*?)\])$=vkkeyword
//
// [vkkeyword-inlinemacro]
// {passtext}

--------------- PDF Generation ----------------

vkspec-dblatex.xsl is XSL specific to a2x->dblatex->PDF spec generation.
It is a very slightly modified version of
/etc/asciidoc/dblatex/asciidoc-dblatex.xsl, as follows:

>   <xsl:param name="latex.hyperparam">colorlinks,linkcolor=black,pdfstartview=FitH</xsl:param>
>   <xsl:param name="doc.publisher.show">0</xsl:param>
>   <xsl:param name="latex.output.revhistory">0</xsl:param>

and has been simplified to just those parameters. Additional templates
replacing those under
    /usr/share/xml/docbook/stylesheet/dblatex/xsl/* can be added here.

--------------- XHTML Generation ----------------

vkspec-xhtml.css is CSS for the xhtml and chunked targets. It is pulled
in from docbook-xsl/common.xsl. This gives us direct control over the
CSS for the document, including support for markup styles.

--------------- Asciibook Stylesheets ----------------

docbook-xsl/chunked.xsl
docbook-xsl/common.xsl
docbook-xsl/xhtml.xsl
    replace parts of the asciibook stylesheets normally found under
/etc/asciidoc/docbook-xsl
    in order to generate consistent IDs on sections and to insert
MathJax <script> tags into HTML headers. More will be required for other
HTML output types.

--------------- Support for Math ----------------

mathjax-asciidoc.conf
mathjax-docbook.conf
mathjax.js
    customize asciidoc macros for HTML and Docbook output to insert
    MathJax <script> tags from mathjax.js, and properly pass through
    math which has \begin{}\/end{} delimiters instead of $$\[\]\(\),
    using the <?texmath delimiters="user"?> processing instruction.

    Note that mathjax-docbook.conf is heavily conditionalized depending
    on whether the final output format (which should be described in the
    a2x-format variable) is 'pdf' or not, since Docbook passes through
    math differently to dblatex vs. the HTML stylesheets.