mirror of
https://github.com/status-im/Vulkan-Docs.git
synced 2025-02-20 18:18:06 +00:00
* Bump API patch number and header version number to 20 for this update. Github Issues: * Replaced existing reference pages by text automatically extracted from the specification source, or generated from vk.xml in some cases. This isn't a complete solution for the reference pages, but puts them in a much better state. The ref pages (only) are now placed under a CC BY open source license, which is more current than the obsolete license previously used. Further improvements to the pages should not edit them directly, but instead concentrate on the specification source from which the ref pages are being extracted (public issues 44, 55, 160; internal issue 389).
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.