• Home
Name Date Size #Lines LOC

..--

chunkindex/03-May-2024-3,9272,125

extension-highlighter/03-May-2024-304169

fonts/03-May-2024-

katex_replace/03-May-2024-4529

loadable_html/03-May-2024-7352

spec-macros/03-May-2024-308227

themes/03-May-2024-3619

vu-to-json/03-May-2024-338246

vulkan-macros/03-May-2024-222163

.gitignoreD03-May-202457 43

README.adocD03-May-20241.6 KiB4632

README.mdD03-May-2024905 2617

asciidoctor-mathematical-ext.rbD03-May-2024686 2415

attribs.txtD03-May-20242.3 KiB10894

copyright-ccby.txtD03-May-202479 42

extension-highlighter.rbD03-May-2024319 115

katex_replace.rbD03-May-2024371 124

khronos.cssD03-May-202437.2 KiB733465

loadable_html.rbD03-May-2024364 124

makeSubmit.pyD03-May-20243.5 KiB10354

mathtest.txtD03-May-202425.6 KiB954784

optimize-pdfD03-May-20243.2 KiB10045

rouge-extend-css.rbD03-May-20241.7 KiB6144

spec-macros.rbD03-May-20241.3 KiB4133

tilde_open_block.rbD03-May-20242.3 KiB7144

vu-to-json.rbD03-May-2024305 115

vuid-expander.rbD03-May-20241 KiB3018

vulkan-macros.rbD03-May-20241.7 KiB4729

README.adoc

1// Copyright 2015-2021 The Khronos Group Inc.
2//
3// SPDX-License-Identifier: CC-BY-4.0
4
5= Vulkan Asciidoc Configuration Files
6
7== Macros
8
9The macros in `spec-macros.rb` and `spec-macros/extension.rb` are described
10in the "`Vulkan Documentation and Extensions: Procedures and Conventions`"
11document (see the link:../styleguide.txt[style guide].
12
13== Support for Math
14
15Asciidoctor is customized to insert KaTeX `<script>` tags from
16`math.js` for HTML5, and properly pass through math which has
17`\begin{}\/end{}` delimiters instead of $$\[\]\(\).
18
19For PDF builds, asciidoctor-mathematical is used to generate
20images.
21
22== Stylesheets
23
24`khronos.css` is the stylesheet used for HTML output.
25It is a slightly tweaked version of the Asciidoctor 'Colony' theme.
26
27== Chunked Spec Index
28
29`chunkindex` contains scripts for building and using a search index for the
30Vulkan chunked HTML specification.
31
32== Asciidoctor Extensions
33
34We use a number of Asciidoctor customizations written in Ruby, described
35briefly below.
36
37* `asciidoctor-mathematical-ext.rb` - make latexmath: blocks work in table cells
38* `extension-highlighter.rb` - one way of constructing a diff HTML document
39* `katex_replace.rb` - substitute KaTeX for MathJax in output HTML
40* `loadable_html.rb` - add some status messages for slow-loading documents
41* `rouge-extend-css.rb` - override parts of the 'rouge' highlighter CSS
42* `spec-macros.rb` - custom asciidoctor macros used in spec markup
43* `tilde_open_block.rb` - allow '~~~~' as an open block delimiter
44* `vuid-expander.rb` - add anchors to valid usage ID tags
45* `vu-to-json.rb` - extract valid usage statements to JSON as part of a dummy spec build
46

README.md

1# Vulkan Asciidoc Configuration Files
2
3## Macros
4
5The macros in `vulkan-macros.rb` and `vulkan-macros/extension.rb` are
6described in the "Vulkan Documentation and Extensions: Procedures and
7Conventions" document (see the [styleguide](../styleguide.txt)).
8
9## Support for Math
10
11Asciidoctor is customized to insert KaTeX `<script>` tags from
12`math.js` for HTML5, and properly pass through math which has
13`\begin{}\/end{}` delimiters instead of $$\[\]\(\).
14
15For PDF builds, asciidoctor-mathematical is used to generate
16
17`math-docbook.conf` is heavily conditionalized depending on whether the
18final output format (which should be described in the a2x-format variable)
19is `pdf` or not, since Docbook passes through math differently to dblatex
20vs. the XHTML stylesheets. This could be simplified now that we're only
21using Docbook for PDFs.
22
23## Stylesheets
24
25`khronos.css` is the stylesheet used for HTML output.
26