diff options
Diffstat (limited to 'doc')
| -rw-r--r-- | doc/c/doxy-style.css | 1091 | ||||
| -rw-r--r-- | doc/c/footer.html | 20 | ||||
| -rw-r--r-- | doc/c/header.html | 37 | ||||
| -rw-r--r-- | doc/c/layout.xml (renamed from doc/DoxygenLayout.xml) | 44 | ||||
| -rw-r--r-- | doc/c/mainpage.md | 3 | ||||
| -rw-r--r-- | doc/c/meson.build | 39 | ||||
| -rw-r--r-- | doc/c/reference.doxygen.in (renamed from doc/reference.doxygen.in) | 543 | ||||
| -rw-r--r-- | doc/doxy-style.css | 691 | ||||
| -rw-r--r-- | doc/header.html | 23 | ||||
| -rw-r--r-- | doc/htaccess.in | 7 | ||||
| -rw-r--r-- | doc/index.html.in | 79 | ||||
| -rw-r--r-- | doc/mainpage.dox | 21 | ||||
| -rw-r--r-- | doc/ns/ext/meson.build | 68 | ||||
| -rw-r--r-- | doc/ns/extensions/meson.build | 49 | ||||
| -rw-r--r-- | doc/ns/meson.build | 81 | ||||
| -rw-r--r-- | doc/pygments.css | 62 | ||||
| -rw-r--r-- | doc/style.css | 694 | ||||
| -rw-r--r-- | doc/style/asciidoc.css (renamed from doc/asciidoc.css) | 2 | ||||
| -rw-r--r-- | doc/style/meson.build | 13 | ||||
| -rw-r--r-- | doc/style/pygments.css | 558 | ||||
| -rw-r--r-- | doc/style/style.css | 805 |
21 files changed, 3108 insertions, 1822 deletions
diff --git a/doc/c/doxy-style.css b/doc/c/doxy-style.css new file mode 100644 index 0000000..6f15ee4 --- /dev/null +++ b/doc/c/doxy-style.css @@ -0,0 +1,1091 @@ +html { + background: #FFF; + color: #222; +} + +body { + font-style: normal; + line-height: 1.6em; + margin-left: auto; + margin-right: auto; + padding: 1em; + max-width: 60em; + font-family: "SF Pro Text", Verdana, "DejaVu Sans", sans-serif; + text-rendering: optimizeLegibility; +} + +h1 { + font-size: 1.68em; + font-weight: 500; + font-family: Helvetica, Arial, "DejaVu Sans Condensed", Verdana, sans-serif; + line-height: 2em; + margin: 0 0 0.25em 0; +} + +h2 { + line-height: 1.68em; + font-size: 1.41em; + font-weight: 600; + font-family: Helvetica, Arial, "DejaVu Sans Condensed", Verdana, sans-serif; + margin: 1.25em 0 0.5em 0; +} + +h3 { + line-height: 1.41em; + font-size: 1.18em; + font-weight: 600; + font-family: Helvetica, Arial, "DejaVu Sans Condensed", Verdana, sans-serif; + margin: 1.25em 0 0.5em 0; +} + +h4 { + line-height: 1.18em; + font-size: 1em; + font-weight: 600; + font-family: Helvetica, Arial, "DejaVu Sans Condensed", Verdana, sans-serif; + margin: 1.25em 0 0.5em 0; +} + +h5, h6 { + font-size: 0.7em; + font-weight: 600; + font-family: Helvetica, Arial, "DejaVu Sans Condensed", Verdana, sans-serif; + margin: 1.25em 0 0.5em 0; +} + +a { + color: #546E00; + text-decoration: none; +} + +h1 a, h2 a, h3 a, h4 a, h5 a, h6 a { + color: #444; +} + +a:hover { + text-decoration: underline; +} + +h1 a:link, h2 a:link, h3 a:link, h4 a:link, h5 a:link, h6 a:link { + color: #444; +} + +h1 a:visited, h2 a:visited, h3 a:visited, h4 a:visited, h5 a:visited, h6 a:visited { + color: #444; +} + +p { + margin: 0.5em 0 0.5em 0; +} + +dt { + font-weight: 600; +} + +dd { + margin-left: 2em; +} + +caption { + font-weight: 700; +} + +.title, #projectname { + line-height: 1.0125em; + margin: 0.75em 0 0 0; +} + +.titlearea .header .titlebox, #projectname { + font-size: 1.68em; + font-weight: 400; + margin-bottom: 0.25em; + margin-top: 0; +} + +#header { + padding: 0 0 0.5em 0; + border-bottom: 1px solid #EEE; +} + +.header .headertitle .title { + line-height: 1.68em; + font-size: 1.68em; + font-weight: 600; + font-family: Helvetica, Arial, "DejaVu Sans Condensed", Verdana, sans-serif; +} + +.ingroups { + display: none; +} + +.title .ingroups a { + font-size: small; + margin-left: 1em; +} + +#titlebox, #metabox { + display: inline-block; +} + +#titlebox { + display: inline-block; + width: 75%; + left: 0; + top: 0; +} + +#title { + margin-bottom: 0.25em; + line-height: 1.25em; + font-size: 2.5em; + color: #333; + font-weight: 600; +} + +.PageDoc { + margin-top: 1.5em; +} + +.PageDoc .header .headertitle .title { + display: none; +} + +#shortdesc { + margin: 0; + color: #666; + display: inline-block; + font-style: italic; + font-family: Helvetica, Arial, "DejaVu Sans Condensed", Verdana, sans-serif; + padding: 0; +} + +#titlearea { + margin: 0.25em auto 0 auto; + padding: 0; + position: relative; + clear: both; + line-height: 1em; +} + +.legend { + font-size: small; + text-align: center; +} + +.version { + font-size: small; + text-align: center; +} + +div.qindex,div.navtab { + background-color: #EBEFF6; + border: 1px solid #A3B4D7; + text-align: center; + margin: 2px; + padding: 2px; +} + +div.navtab { + margin-right: 15px; +} + +a.qindexHL { + background-color: #9CAFD4; + color: #FFF; + border: 1px double #869DCA; +} + +code { + color: #444; + font-family: "SF Mono", Menlo, Consolas, "DejaVu Sans Mono", monospace, fixed; +} + +dl.el { + margin-left: -1cm; +} + +.fragment { + font-family: "SF Mono", Menlo, Consolas, "DejaVu Sans Mono", monospace, fixed; +} + +.ttc { + display: none; +} + +pre.fragment { + border: 1px solid #C4C4C4; + background-color: #F9F9F9; + padding: 0.5em; + overflow: auto; +} + +div.ah { + background-color: #000; + font-weight: 700; + color: #FFF; + margin-bottom: 3px; + margin-top: 3px; + padding: 0.2em; + border: thin solid #333; +} + +div.groupHeader { + margin-left: 16px; + margin-top: 12px; + margin-bottom: 6px; + font-weight: 700; +} + +h2.groupheader { + line-height: 1.18em; + font-size: 1em; + font-weight: 600; + font-family: Helvetica, Arial, "DejaVu Sans Condensed", Verdana, sans-serif; + margin: 1.25em 0 0.5em 0; +} + +a + h2.groupheader { + display: none; +} + +div.groupText { + margin-left: 16px; + font-style: italic; +} + +div.contents, #content { + max-width: 60em; + margin-left: auto; + margin-right: auto; +} + +.groupheader + p { + font-style: italic; + color: #666; + margin: 0 0 1em 0; +} + +td.indexkey { + background-color: #EBEFF6; + font-weight: 700; + border: 1px solid #C4CFE5; + margin: 2px 0; + padding: 2px 10px; +} + +td.indexvalue { + background-color: #EBEFF6; + border: 1px solid #C4CFE5; + padding: 2px 10px; + margin: 2px 0; +} + +table.memname { + font-family: "SF Mono", Menlo, Consolas, "DejaVu Sans Mono", monospace, fixed; + border-spacing: 0; +} + +table.memname tbody tr:last-child { + display: none; +} + +table.memname tbody tr:only-child { + display: table-cell; +} + +table.memname tbody tr:nth-last-child(2)::after { + content: ")"; +} + +tr.memlist { + background-color: #EEF1F7; +} + +p.formulaDsp { + text-align: center; +} + +img.formulaInl { + vertical-align: middle; +} + +div.center { + text-align: center; + margin-top: 0; + margin-bottom: 0; + padding: 0; +} + +div.center img { + border: 0; +} + +address.footer { + text-align: right; +} + +img.footer { + border: 0; + vertical-align: middle; +} + +span.keyword { + color: #586E75; +} + +span.keywordtype { + color: #546E00; +} + +span.keywordflow { + color: #586E75; +} + +span.comment { + color: #6C71C4; +} + +span.preprocessor { + color: #D33682; +} + +span.stringliteral { + color: #CB4B16; +} + +span.charliteral { + color: #CB4B16; +} + +td.tiny { + font-size: x-small; +} + +.dirtab { + padding: 4px; + border-collapse: collapse; + border: 1px solid #A3B4D7; +} + +th.dirtab { + background: #EBEFF6; + font-weight: 700; +} + +hr { + height: 0; + border: none; + border-top: 1px solid #DDD; + margin: 2em 0; +} + +#footer { + bottom: 0; + clear: both; + font-size: x-small; + margin: 2em 0 0; + padding: 0 1em 1em 1em; + vertical-align: top; + color: #888; +} + +td.ititle { + padding-bottom: 0.75em; +} + +table.memberdecls { + border-spacing: 0.125em; + line-height: 1.3em; +} + +table.memberdecls h3 { + line-height: 1.18em; + font-size: 1em; + font-weight: 600; + font-family: Helvetica, Arial, "DejaVu Sans Condensed", Verdana, sans-serif; + margin: 1.25em 0 0.5em 0; +} + +tr.inherit_header td { + padding: 1em 0 0.5em 0; +} + +.mdescLeft,.mdescRight,.memItemLeft,.memItemRight,.memTemplItemLeft,.memTemplItemRight,.memTemplParams { + margin: 0; + padding: 0; +} + +.mdescLeft,.mdescRight { + color: #555; +} + +.memItemLeft,.memItemRight,.memTemplParams { + border: 0; + font-family: "SF Mono", Menlo, Consolas, "DejaVu Sans Mono", monospace, fixed; +} + +.memItemLeft,.memTemplItemLeft { + white-space: nowrap; + padding-left: 2em; +} + +.memItemLeft a.el { + font-weight: bold; +} + +.memTemplParams { + color: #464646; + white-space: nowrap; +} + +td.memSeparator { + display: none; +} + +td.mlabels-left { + margin-left: 0; + padding-left: 0; +} + +td.mlabels-right { + color: #B4C342; + font-weight: normal; + margin-left: 1em; + vertical-align: bottom; +} + +.memtitle { + border-bottom: 1px solid #EEE; + font-family: Helvetica, Arial, "DejaVu Sans Condensed", Verdana, sans-serif; + font-size: 1.18em; + font-weight: 600; + line-height: 1.41em; + margin: 1.5em 0 0 0; +} + +.permalink { + display: none; +} + +.memtemplate { + color: #888; + font-style: italic; + font-family: "SF Mono", Menlo, Consolas, "DejaVu Sans Mono", monospace, fixed; + font-size: small; +} + +.memnav { + background-color: #EEE; + border: 1px solid #B4C342; + text-align: center; + margin: 2px; + margin-right: 15px; + padding: 2px; +} + +.memitem { + padding: 0; + margin: 0 0 3em 0; +} + +.memproto { + border-bottom: 1px solid #EEE; + border-left: 1px solid #EEE; + color: #444; + float: right; + font-family: "SF Mono", Menlo, Consolas, "DejaVu Sans Mono", monospace, fixed; + font-size: small; + margin-bottom: 1em; + margin-left: 1em; + padding: 0.25em 0 0.25em 0.25em; +} + +.memproto .paramname { + font-style: normal; + padding-right: 0.25em; +} + +.mlabels { + padding-left: 0; + padding-right: 0; +} + +.memdoc { + padding: 0; +} + +.memdoc > p:first-child, .memdoc .textblock > p:first-child { + font-style: italic; + color: #444; + margin-bottom: 0.75em; + margin-top: 0; + padding-top: 0.25em; + font-weight: normal; +} + +.memdoc > p:first-child, .memdoc .textblock > h3:first-child { + color: #444; + margin-bottom: 0.75em; + margin-top: 0; + padding-top: 0.25em; + font-weight: normal; + font-size: 0.9em; +} + +.paramkey { + text-align: right; +} + +.paramtype { + color: #666; + padding: 0 0.25em 0 0.25em; + white-space: nowrap; +} + +.params .paramname { + color: #111; + white-space: nowrap; + font-family: "SF Mono", Menlo, Consolas, "DejaVu Sans Mono", monospace, fixed; + font-style: italic; + padding-right: 0.5em; + vertical-align: top; +} + +.fieldname { + color: #000; +} + +.fieldtable { + margin-top: 1em; + border-collapse: collapse; +} + +.fieldtable tbody tr:first-child { + display: none; +} + +td.fieldname { + vertical-align: top; + font-family: "SF Mono", Menlo, Consolas, "DejaVu Sans Mono", monospace, fixed; +} + +td.fielddoc { + padding: 0.125em 0.5em 0 0.5em; + vertical-align: top; +} + +.fieldtable tbody tr td { + border-top: 1px dashed #DDD; + border-bottom: 1px dashed #DDD; +} + +td.fieldtype { + color: #666; + padding: 0 0.5em 0 0; + vertical-align: top; + font-family: "SF Mono", Menlo, Consolas, "DejaVu Sans Mono", monospace, fixed; +} + +td.fielddoc p { + margin: 0; + padding: 0 0.5em 0 0; +} + +p.reference { + font-size: x-small; + font-style: italic; +} + +.ftvtree { + font-family: "DejaVu Sans", Verdana, Helvetica, Arial, sans-serif; + margin: 0; +} + +.directory { + margin: 0.5em; +} + +.directory h3 { + margin: 0; + margin-top: 1em; + font-size: 11pt; +} + +.directory > h3 { + margin-top: 0; +} + +.directory p { + margin: 0; + white-space: nowrap; +} + +.directory div { + display: none; + margin: 0; +} + +.directory img { + vertical-align: -30%; +} + +td.entry { + font-family: "DejaVu Sans", Verdana, Helvetica, Arial, sans-serif; + font-weight: 400; + padding-right: 1em; +} + +.arrow { + color: #CCC; + user-select: none; + font-size: 80%; + display: inline-block; + width: 16px; + height: 22px; + vertical-align: top; + visibility: hidden; +} + +td.entry b { + font-family: "DejaVu Sans", Verdana, Helvetica, Arial, sans-serif; + font-weight: 400; + font-size: 130%; +} + +.directory-alt { + font-size: 100%; + font-weight: bold; +} + +.directory-alt h3 { + margin: 0; + margin-top: 1em; + font-size: 11pt; +} + +.directory-alt > h3 { + margin-top: 0; +} + +.directory-alt p { + margin: 0; + white-space: nowrap; +} + +.directory-alt div { + display: none; + margin: 0; +} + +.directory-alt img { + vertical-align: -30%; +} + +div.dynheader { + margin-top: 8px; +} + +address { + font-style: normal; + color: #444; +} + +table.doxtable { + border-collapse: collapse; + margin: 0.5em; +} + +table.doxtable td,table.doxtable th { + border: 1px solid #DDD; + padding: 3px 7px 2px; +} + +table.doxtable th { + background-color: #F3F3F3; + color: #000; + padding-bottom: 4px; + padding-top: 5px; + text-align: left; + font-weight: bold; +} + +.tabsearch { + top: 0; + left: 10px; + height: 36px; + z-index: 101; + overflow: hidden; + font-size: 13px; +} + +div.navpath { + color: #DDD; +} + +.navpath ul { + overflow: hidden; + margin: 0; + padding: 0; +} + +.navpath li { + float: left; + padding-left: 0; + margin-left: 0.5em; + padding-right: 1em; +} + +.navpath a { + display: block; + text-decoration: none; + outline: none; +} + +div.summary { + font-size: small; + font-family: "DejaVu Sans", Verdana, Helvetica, Arial, sans-serif; + margin: 0; + padding: 0.25em 0; + display: none; +} + +div.summary a { + white-space: nowrap; +} + +#metabox { + display: inline-block; + font-size: x-small; + font-family: Helvetica, Arial, "DejaVu Sans Condensed", Verdana, sans-serif; + position: absolute; + right: 0; + bottom: 0.25em; + color: #666; + font-style: italic; +} + +#meta { + border-style: hidden; + margin-right: 0.25em; +} + +#meta tr, #meta th, #meta td { + background-color: transparent; + border: 0; + margin: 0; + font-weight: normal; +} + +#meta th { + text-align: right; +} + +#meta th::after { + content: ":"; +} + +div.line { + font-family: "SF Mono", Menlo, Consolas, "DejaVu Sans Mono", monospace, fixed; + line-height: 1.4em; + white-space: pre-wrap; +} + +.glow { + background-color: #2AA198; + box-shadow: 0 0 10px #2AA198; +} + +span.lineno { + padding-right: 4px; + text-align: right; + border-right: 2px solid #546E00; + background-color: #E8E8E8; + white-space: pre; +} + +span.lineno a { + background-color: #D8D8D8; +} + +span.lineno a:hover { + background-color: #C8C8C8; +} + +.tabs, .tabs2, .navpath { + padding: 0.25em 0; + font-size: small; + font-family: Helvetica, Arial, "DejaVu Sans Condensed", Verdana, sans-serif; + margin: 0; +} + +th { + text-align: left; + font-size: 110%; + font-weight: 500; +} + +.mlabel { + padding: 0.125em; +} + +#navrow1, #navrow2 { + /* Disable menu from Doxygen 1.8.15, it is faked in the template */ + display: none; +} + +.tablist { + margin: 0; + padding: 0; + display: table; +} + +.tablist li { + display: table-cell; + line-height: 2em; + list-style: none; + border-bottom: 0; +} + +.tablist a { + display: block; + padding: 0 1em 0 0; + text-decoration: none; + outline: none; +} + +.tabs3 .tablist a { + padding: 0 10px; +} + +.tablist li.current a { + color: #222; +} + +span.icon { + display: none; +} + +/* Dark mode */ +@media (prefers-color-scheme: dark) { + html { + background: #222; + color: #DDD; + } + + a { + color: #B4C342; + } + + h1 a, h2 a, h3 a, h4 a, h5 a, h6 a { + color: #DDD; + } + + h1 a:link, h2 a:link, h3 a:link, h4 a:link, h5 a:link, h6 a:link { + color: #DDD; + } + + h1 a:visited, h2 a:visited, h3 a:visited, h4 a:visited, h5 a:visited, h6 a:visited { + color: #DDD; + } + + #header { + border-bottom-color: #333; + } + + #title { + color: #CCC; + } + + #shortdesc { + color: #BBB; + } + + code { + color: #DDD; + } + + pre.fragment { + border: 1px solid #444; + background-color: #333; + } + + div.ah { + background-color: #000; + color: #FFF; + border-color: #333; + } + + .groupheader + p { + color: #BBB; + } + + td.indexkey { + background-color: #EBEFF6; + border: 1px solid #C4CFE5; + } + + td.indexvalue { + background-color: #EBEFF6; + border: 1px solid #C4CFE5; + } + + tr.memlist { + background-color: #EEF1F7; + } + + span.keyword { + color: #586E75; + } + + span.keywordtype { + color: #546E00; + } + + span.keywordflow { + color: #586E75; + } + + span.comment { + color: #6C71C4; + } + + span.preprocessor { + color: #D33682; + } + + span.stringliteral { + color: #CB4B16; + } + + span.charliteral { + color: #CB4B16; + } + + .dirtab { + border: 1px solid #A3B4D7; + } + + th.dirtab { + background: #EBEFF6; + } + + hr { + border-top: 1px solid #DDD; + } + + #footer { + color: #888; + } + + .mdescLeft,.mdescRight { + color: #555; + } + + .memTemplParams { + color: #464646; + } + + td.mlabels-right { + color: #B4C342; + } + + .memtitle { + border-bottom: 1px solid #666; + } + + .memtemplate { + color: #888; + } + + .memnav { + background-color: #666; + border: 1px solid #B4C342; + } + + .memproto { + border-bottom: 1px solid #666; + border-left: 1px solid #666; + color: #BBB; + } + + .memdoc > p:first-child, .memdoc .textblock > p:first-child { + color: #BBB; + } + + .memdoc > p:first-child, .memdoc .textblock > h3:first-child { + color: #BBB; + } + + .paramtype { + color: #BBB; + } + + .params .paramname { + color: #E8E8E8; + } + + .fieldname { + color: #FFF; + } + + .fieldtable tbody tr td { + border-top-color: #555; + border-bottom-color: #555; + } + + td.fieldtype { + color: #BBB; + } + + .arrow { + color: #666; + } + + address { + color: #444; + } + + table.doxtable td,table.doxtable th { + border-color: #DDD; + } + + table.doxtable th { + background-color: #F3F3F3; + color: #000; + } + + div.navpath { + color: #444; + } + + #metabox { + color: #666; + } + + .glow { + background-color: #00736F; + box-shadow: 0 0 10px #00736F; + } + + span.lineno { + border-right: 2px solid #B4C342; + background-color: #383838; + } + + span.lineno a { + background-color: #404040; + } + + span.lineno a:hover { + background-color: #484848; + } + +} + +/* Hard black for dark mode on mobile (since it's likely to be an OLED screen) */ +@media only screen and (hover: none) and (pointer: coarse) and (prefers-color-scheme: dark) { + html { + background: #000; + color: #CCC; + } +} diff --git a/doc/c/footer.html b/doc/c/footer.html new file mode 100644 index 0000000..0dc6919 --- /dev/null +++ b/doc/c/footer.html @@ -0,0 +1,20 @@ +<!-- HTML footer for doxygen 1.8.15--> +<!-- start footer part --> +<!--BEGIN GENERATE_TREEVIEW--> +<div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> + <ul> + $navpath + <li class="footer">$generatedby + <a href="http://www.doxygen.org/index.html">Doxygen $doxygenversion</li> + </ul> +</div> +<!--END GENERATE_TREEVIEW--> +<!--BEGIN !GENERATE_TREEVIEW--> +<div id="footer"> + <address class="footer">$generatedby + <a href="http://www.doxygen.org/">Doxygen</a> $doxygenversion + </address> +</div> +<!--END !GENERATE_TREEVIEW--> +</body> +</html> diff --git a/doc/c/header.html b/doc/c/header.html new file mode 100644 index 0000000..2e419e3 --- /dev/null +++ b/doc/c/header.html @@ -0,0 +1,37 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> + <!--BEGIN PROJECT_NAME--><title>$projectname: $title</title><!--END PROJECT_NAME--> + <!--BEGIN !PROJECT_NAME--><title>$title</title><!--END !PROJECT_NAME--> + <link href="$relpath^$stylesheet" rel="stylesheet" type="text/css" /> + $extrastylesheet + </head> + <body> + <div id="top"><!-- do not remove this div, it is closed by doxygen! --> + + <!--BEGIN TITLEAREA--> + <div id="titlearea"> + <div id="header"> + <div id="titlebox"> + <!--BEGIN PROJECT_LOGO--> + <div id="projectlogo"><img alt="Logo" src="$relpath^$projectlogo"/></div> + <!--END PROJECT_LOGO--> + <!--BEGIN PROJECT_NAME--> + <h1 id="title">$projectname</h1> + <!--END PROJECT_NAME--> + <!--BEGIN PROJECT_BRIEF--> + <div id="shortdesc">$projectbrief</div> + <!--END PROJECT_BRIEF--> + </div> + <div id="metabox"> + <table id="meta"> + <!--BEGIN PROJECT_NUMBER--> + <tr><th>Version</th><td>$projectnumber</td></tr> + <!--END PROJECT_NUMBER--> + </table> + </div> + </div> + </div> + <!--END TITLEAREA--> + <!-- end header part --> diff --git a/doc/DoxygenLayout.xml b/doc/c/layout.xml index 3b3d6c7..938dbce 100644 --- a/doc/DoxygenLayout.xml +++ b/doc/c/layout.xml @@ -1,9 +1,8 @@ <doxygenlayout version="1.0"> - <!-- Generated by doxygen 1.8.8 --> + <!-- Generated by doxygen 1.8.17 --> <!-- Navigation index tabs for HTML output --> <navindex> - <tab type="user" url="../../ns/index.html" title="Index"/> - <tab type="mainpage" visible="no" title=""/> + <tab type="mainpage" visible="yes" title=""/> <tab type="pages" visible="yes" title="" intro=""/> <tab type="modules" visible="yes" title="" intro=""/> <tab type="namespaces" visible="yes" title=""> @@ -12,7 +11,7 @@ </tab> <tab type="classes" visible="yes" title=""> <tab type="classlist" visible="yes" title="" intro=""/> - <tab type="classindex" visible="$ALPHABETICAL_INDEX" title=""/> + <tab type="classindex" visible="$ALPHABETICAL_INDEX" title=""/> <tab type="hierarchy" visible="yes" title="" intro=""/> <tab type="classmembers" visible="yes" title="" intro=""/> </tab> @@ -20,12 +19,13 @@ <tab type="filelist" visible="yes" title="" intro=""/> <tab type="globals" visible="yes" title="" intro=""/> </tab> - <tab type="examples" visible="yes" title="" intro=""/> + <tab type="examples" visible="yes" title="" intro=""/> </navindex> <!-- Layout definition for a class page --> <class> <briefdescription visible="yes"/> + <detaileddescription title=""/> <includes visible="$SHOW_INCLUDE_FILES"/> <inheritancegraph visible="$CLASS_GRAPH"/> <collaborationgraph visible="$COLLABORATION_GRAPH"/> @@ -33,7 +33,6 @@ <nestedclasses visible="yes" title=""/> <publictypes title=""/> <services title=""/> - <interfaces title=""/> <publicslots title=""/> <signals title=""/> <publicmethods title=""/> @@ -63,13 +62,11 @@ <related title="" subtitle=""/> <membergroups visible="yes"/> </memberdecl> - <detaileddescription title=""/> <memberdef> <inlineclasses title=""/> <typedefs title=""/> <enums title=""/> <services title=""/> - <interfaces title=""/> <constructors title=""/> <functions title=""/> <related title=""/> @@ -82,33 +79,10 @@ <authorsection visible="yes"/> </class> - <!-- Layout definition for a namespace page --> - <namespace> - <briefdescription visible="yes"/> - <memberdecl> - <nestednamespaces visible="yes" title=""/> - <constantgroups visible="yes" title=""/> - <classes visible="yes" title=""/> - <typedefs title=""/> - <enums title=""/> - <functions title=""/> - <variables title=""/> - <membergroups visible="yes"/> - </memberdecl> - <detaileddescription title=""/> - <memberdef> - <inlineclasses title=""/> - <typedefs title=""/> - <enums title=""/> - <functions title=""/> - <variables title=""/> - </memberdef> - <authorsection visible="yes"/> - </namespace> - <!-- Layout definition for a file page --> <file> <briefdescription visible="yes"/> + <detaileddescription title=""/> <includes visible="$SHOW_INCLUDE_FILES"/> <includegraph visible="$INCLUDE_GRAPH"/> <includedbygraph visible="$INCLUDED_BY_GRAPH"/> @@ -124,7 +98,6 @@ <variables title=""/> <membergroups visible="yes"/> </memberdecl> - <detaileddescription title=""/> <memberdef> <inlineclasses title=""/> <defines title=""/> @@ -138,6 +111,7 @@ <!-- Layout definition for a group page --> <group> + <briefdescription visible="yes"/> <detaileddescription title=""/> <groupgraph visible="$GROUP_GRAPHS"/> <memberdecl> @@ -146,12 +120,12 @@ <files visible="yes" title=""/> <namespaces visible="yes" title=""/> <classes visible="yes" title=""/> + <defines title=""/> <typedefs title=""/> <enums title=""/> <enumvalues title=""/> <functions title=""/> <variables title=""/> - <defines title=""/> <signals title=""/> <publicslots title=""/> <protectedslots title=""/> @@ -184,11 +158,11 @@ <!-- Layout definition for a directory page --> <directory> <briefdescription visible="yes"/> + <detaileddescription title=""/> <directorygraph visible="yes"/> <memberdecl> <dirs visible="yes"/> <files visible="yes"/> </memberdecl> - <detaileddescription title=""/> </directory> </doxygenlayout> diff --git a/doc/c/mainpage.md b/doc/c/mainpage.md new file mode 100644 index 0000000..561bc93 --- /dev/null +++ b/doc/c/mainpage.md @@ -0,0 +1,3 @@ +This is the API documentation for LV2. + +For an index and higher level documentation, see the corresponding [specification documentation](../../ns/index.html). diff --git a/doc/c/meson.build b/doc/c/meson.build new file mode 100644 index 0000000..2642c3a --- /dev/null +++ b/doc/c/meson.build @@ -0,0 +1,39 @@ +# Copyright 2022 David Robillard <d@drobilla.net> +# SPDX-License-Identifier: 0BSD OR ISC + +if doxygen.found() + reference_doxygen_in = files('reference.doxygen.in') + + config = configuration_data( + { + 'LV2_SRCDIR': lv2_source_root, + 'LV2_BUILDDIR': lv2_build_root, + 'LV2_VERSION': meson.project_version(), + }, + ) + + reference_doxygen = configure_file( + configuration: config, + input: reference_doxygen_in, + output: 'reference.doxygen', + ) + + docs = custom_target( + 'html', + command: [doxygen, '@INPUT@'], + input: reference_doxygen, + install: true, + install_dir: lv2_docdir / 'c', + output: ['html', 'tags'], + ) + + # TODO: doc_deps is needed because Meson did not support using custom target + # outputs as dependencies until 0.60.0. When 0.60.0 is required, this can be + # cleaned up by removing doc_deps and using lv2_tags (not its path) as a + # command argument, which Meson will correctly make a dependency for. + + lv2_tags = docs[1] + doc_deps = [docs] +else + doc_deps = [] +endif diff --git a/doc/reference.doxygen.in b/doc/c/reference.doxygen.in index ff210f4..333fe1c 100644 --- a/doc/reference.doxygen.in +++ b/doc/c/reference.doxygen.in @@ -1,4 +1,4 @@ -# Doxyfile 1.8.12 +# Doxyfile 1.9.3 # This file describes the settings to be used by the documentation system # doxygen (www.doxygen.org) for a project. @@ -17,11 +17,11 @@ # Project related configuration options #--------------------------------------------------------------------------- -# This tag specifies the encoding used for all characters in the config file -# that follow. The default is UTF-8 which is also the encoding used for all text -# before the first occurrence of this tag. Doxygen uses libiconv (or the iconv -# built into libc) for the transcoding. See http://www.gnu.org/software/libiconv -# for the list of possible encodings. +# This tag specifies the encoding used for all characters in the configuration +# file that follow. The default is UTF-8 which is also the encoding used for all +# text before the first occurrence of this tag. Doxygen uses libiconv (or the +# iconv built into libc) for the transcoding. See +# https://www.gnu.org/software/libiconv/ for the list of possible encodings. # The default value is: UTF-8. DOXYFILE_ENCODING = UTF-8 @@ -44,7 +44,7 @@ PROJECT_NUMBER = @LV2_VERSION@ # for a project that appears at the top of each page and should give viewer a # quick idea about the purpose of the project. Keep the description short. -PROJECT_BRIEF = +PROJECT_BRIEF = "An open and extensible audio plugin standard" # With the PROJECT_LOGO tag one can specify a logo or an icon that is included # in the documentation. The maximum height of the logo should not exceed 55 @@ -58,7 +58,7 @@ PROJECT_LOGO = # entered, it will be relative to the location where doxygen was started. If # left blank the current directory will be used. -OUTPUT_DIRECTORY = . +OUTPUT_DIRECTORY = @LV2_BUILDDIR@ # If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub- # directories (in 2 levels) under the output directory of each output format and @@ -222,20 +222,19 @@ TAB_SIZE = 4 # the documentation. An alias has the form: # name=value # For example adding -# "sideeffect=@par Side Effects:\n" +# "sideeffect=@par Side Effects:^^" # will allow you to put the command \sideeffect (or @sideeffect) in the # documentation, which will result in a user-defined paragraph with heading -# "Side Effects:". You can put \n's in the value part of an alias to insert -# newlines. +# "Side Effects:". Note that you cannot put \n's in the value part of an alias +# to insert newlines (in the resulting output). You can put ^^ in the value part +# of an alias to insert a newline as if a physical newline was in the original +# file. When you need a literal { or } or , in the value part of an alias you +# have to escape them by means of a backslash (\), this can lead to conflicts +# with the commands \{ and \} for these it is advised to use the version @{ and +# @} or use a double escape (\\{ and \\}) ALIASES = -# This tag can be used to specify a number of word-keyword mappings (TCL only). -# A mapping has the form "name=value". For example adding "class=itcl::class" -# will allow you to use the command class in the itcl::class meaning. - -TCL_SUBST = - # Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources # only. Doxygen will then generate output that is more tailored for C. For # instance, some of the names that are used will be different. The list of all @@ -268,24 +267,28 @@ OPTIMIZE_OUTPUT_VHDL = NO # parses. With this tag you can assign which parser to use for a given # extension. Doxygen has a built-in mapping, but you can override or extend it # using this tag. The format is ext=language, where ext is a file extension, and -# language is one of the parsers supported by doxygen: IDL, Java, Javascript, -# C#, C, C++, D, PHP, Objective-C, Python, Fortran (fixed format Fortran: -# FortranFixed, free formatted Fortran: FortranFree, unknown formatted Fortran: -# Fortran. In the later case the parser tries to guess whether the code is fixed -# or free formatted code, this is the default for Fortran type files), VHDL. For -# instance to make doxygen treat .inc files as Fortran files (default is PHP), -# and .f files as C (default is Fortran), use: inc=Fortran f=C. +# language is one of the parsers supported by doxygen: IDL, Java, JavaScript, +# Csharp (C#), C, C++, Lex, D, PHP, md (Markdown), Objective-C, Python, Slice, +# VHDL, Fortran (fixed format Fortran: FortranFixed, free formatted Fortran: +# FortranFree, unknown formatted Fortran: Fortran. In the later case the parser +# tries to guess whether the code is fixed or free formatted code, this is the +# default for Fortran type files). For instance to make doxygen treat .inc files +# as Fortran files (default is PHP), and .f files as C (default is Fortran), +# use: inc=Fortran f=C. # # Note: For files without extension you can use no_extension as a placeholder. # # Note that for custom extensions you also need to set FILE_PATTERNS otherwise -# the files are not read by doxygen. +# the files are not read by doxygen. When specifying no_extension you should add +# * to the FILE_PATTERNS. +# +# Note see also the list of default file extension mappings. EXTENSION_MAPPING = # If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments # according to the Markdown format, which allows for more readable -# documentation. See http://daringfireball.net/projects/markdown/ for details. +# documentation. See https://daringfireball.net/projects/markdown/ for details. # The output of markdown processing is further processed by doxygen, so you can # mix doxygen, HTML, and XML commands with Markdown formatting. Disable only in # case of backward compatibilities issues. @@ -297,7 +300,7 @@ MARKDOWN_SUPPORT = YES # to that level are automatically included in the table of contents, even if # they do not have an id attribute. # Note: This feature currently applies only to Markdown headings. -# Minimum value: 0, maximum value: 99, default value: 0. +# Minimum value: 0, maximum value: 99, default value: 5. # This tag requires that the tag MARKDOWN_SUPPORT is set to YES. TOC_INCLUDE_HEADINGS = 0 @@ -327,7 +330,7 @@ BUILTIN_STL_SUPPORT = NO CPP_CLI_SUPPORT = NO # Set the SIP_SUPPORT tag to YES if your project consists of sip (see: -# http://www.riverbankcomputing.co.uk/software/sip/intro) sources only. Doxygen +# https://www.riverbankcomputing.com/software/sip/intro) sources only. Doxygen # will parse them like normal C++ but will assume all classes use public instead # of private inheritance when no explicit protection keyword is present. # The default value is: NO. @@ -487,8 +490,8 @@ HIDE_UNDOC_MEMBERS = NO HIDE_UNDOC_CLASSES = NO # If the HIDE_FRIEND_COMPOUNDS tag is set to YES, doxygen will hide all friend -# (class|struct|union) declarations. If set to NO, these declarations will be -# included in the documentation. +# declarations. If set to NO, these declarations will be included in the +# documentation. # The default value is: NO. HIDE_FRIEND_COMPOUNDS = NO @@ -507,11 +510,18 @@ HIDE_IN_BODY_DOCS = NO INTERNAL_DOCS = NO -# If the CASE_SENSE_NAMES tag is set to NO then doxygen will only generate file -# names in lower-case letters. If set to YES, upper-case letters are also -# allowed. This is useful if you have classes or files whose names only differ -# in case and if your file system supports case sensitive file names. Windows -# and Mac users are advised to set this option to NO. +# With the correct setting of option CASE_SENSE_NAMES doxygen will better be +# able to match the capabilities of the underlying filesystem. In case the +# filesystem is case sensitive (i.e. it supports files in the same directory +# whose names only differ in casing), the option must be set to YES to properly +# deal with such files in case they appear in the input. For filesystems that +# are not case sensitive the option should be be set to NO to properly deal with +# output files written for symbols that only differ in casing, such as for two +# classes, one named CLASS and the other named Class, and to also support +# references to files without having to specify the exact matching casing. On +# Windows (including Cygwin) and MacOS, users should typically set this option +# to NO, whereas on Linux or other Unix flavors it should typically be set to +# YES. # The default value is: system dependent. CASE_SENSE_NAMES = YES @@ -687,18 +697,19 @@ FILE_VERSION_FILTER = # output files in an output format independent way. To create the layout file # that represents doxygen's defaults, run doxygen with the -l option. You can # optionally specify a file name after the option, if omitted DoxygenLayout.xml -# will be used as the name of the layout file. +# will be used as the name of the layout file. See also section "Changing the +# layout of pages" for information. # # Note that if you run doxygen from a directory containing a file called # DoxygenLayout.xml, doxygen will parse it automatically even if the LAYOUT_FILE # tag is left empty. -LAYOUT_FILE = @LV2_SRCDIR@/doc/DoxygenLayout.xml +LAYOUT_FILE = @LV2_SRCDIR@/doc/c/layout.xml # The CITE_BIB_FILES tag can be used to specify one or more bib files containing # the reference definitions. This must be a list of .bib files. The .bib # extension is automatically appended if omitted. This requires the bibtex tool -# to be installed. See also http://en.wikipedia.org/wiki/BibTeX for more info. +# to be installed. See also https://en.wikipedia.org/wiki/BibTeX for more info. # For LaTeX the style of the bibliography can be controlled using # LATEX_BIB_STYLE. To use this feature you need bibtex and perl available in the # search path. See also \cite for info how to create references. @@ -733,23 +744,28 @@ WARNINGS = YES WARN_IF_UNDOCUMENTED = YES # If the WARN_IF_DOC_ERROR tag is set to YES, doxygen will generate warnings for -# potential errors in the documentation, such as not documenting some parameters -# in a documented function, or documenting parameters that don't exist or using -# markup commands wrongly. +# potential errors in the documentation, such as documenting some parameters in +# a documented function twice, or documenting parameters that don't exist or +# using markup commands wrongly. # The default value is: YES. WARN_IF_DOC_ERROR = YES # This WARN_NO_PARAMDOC option can be enabled to get warnings for functions that # are documented, but have no documentation for their parameters or return -# value. If set to NO, doxygen will only warn about wrong or incomplete -# parameter documentation, but not about the absence of documentation. +# value. If set to NO, doxygen will only warn about wrong parameter +# documentation, but not about the absence of documentation. If EXTRACT_ALL is +# set to YES then this flag will automatically be disabled. See also +# WARN_IF_INCOMPLETE_DOC # The default value is: NO. WARN_NO_PARAMDOC = NO # If the WARN_AS_ERROR tag is set to YES then doxygen will immediately stop when -# a warning is encountered. +# a warning is encountered. If the WARN_AS_ERROR tag is set to FAIL_ON_WARNINGS +# then doxygen will continue running as if WARN_AS_ERROR tag is set to NO, but +# at the end of the doxygen process doxygen will return with a non-zero status. +# Possible values are: NO, YES and FAIL_ON_WARNINGS. # The default value is: NO. WARN_AS_ERROR = NO @@ -766,7 +782,10 @@ WARN_FORMAT = "$file:$line: $text" # The WARN_LOGFILE tag can be used to specify a file to which warning and error # messages should be written. If left blank the output is written to standard -# error (stderr). +# error (stderr). In case the file specified cannot be opened for writing the +# warning and error messages are written to standard error. When as file - is +# specified the warning and error messages are written to standard output +# (stdout). WARN_LOGFILE = @@ -780,41 +799,42 @@ WARN_LOGFILE = # spaces. See also FILE_PATTERNS and EXTENSION_MAPPING # Note: If this tag is empty the current directory is searched. -INPUT = @LV2_SRCDIR@/doc/mainpage.dox \ - @LV2_SRCDIR@/lv2/lv2plug.in/ns/ext/atom/atom.h \ - @LV2_SRCDIR@/lv2/lv2plug.in/ns/ext/atom/forge.h \ - @LV2_SRCDIR@/lv2/lv2plug.in/ns/ext/atom/util.h \ - @LV2_SRCDIR@/lv2/lv2plug.in/ns/ext/buf-size/buf-size.h \ - @LV2_SRCDIR@/lv2/lv2plug.in/ns/ext/data-access/data-access.h \ - @LV2_SRCDIR@/lv2/lv2plug.in/ns/ext/dynmanifest/dynmanifest.h \ - @LV2_SRCDIR@/lv2/lv2plug.in/ns/ext/event/event-helpers.h \ - @LV2_SRCDIR@/lv2/lv2plug.in/ns/ext/event/event.h \ - @LV2_SRCDIR@/lv2/lv2plug.in/ns/ext/instance-access/instance-access.h \ - @LV2_SRCDIR@/lv2/lv2plug.in/ns/ext/log/log.h \ - @LV2_SRCDIR@/lv2/lv2plug.in/ns/ext/log/logger.h \ - @LV2_SRCDIR@/lv2/lv2plug.in/ns/ext/midi/midi.h \ - @LV2_SRCDIR@/lv2/lv2plug.in/ns/ext/morph/morph.h \ - @LV2_SRCDIR@/lv2/lv2plug.in/ns/ext/options/options.h \ - @LV2_SRCDIR@/lv2/lv2plug.in/ns/ext/parameters/parameters.h \ - @LV2_SRCDIR@/lv2/lv2plug.in/ns/ext/patch/patch.h \ - @LV2_SRCDIR@/lv2/lv2plug.in/ns/ext/port-groups/port-groups.h \ - @LV2_SRCDIR@/lv2/lv2plug.in/ns/ext/port-props/port-props.h \ - @LV2_SRCDIR@/lv2/lv2plug.in/ns/ext/presets/presets.h \ - @LV2_SRCDIR@/lv2/lv2plug.in/ns/ext/resize-port/resize-port.h \ - @LV2_SRCDIR@/lv2/lv2plug.in/ns/ext/state/state.h \ - @LV2_SRCDIR@/lv2/lv2plug.in/ns/ext/time/time.h \ - @LV2_SRCDIR@/lv2/lv2plug.in/ns/ext/uri-map/uri-map.h \ - @LV2_SRCDIR@/lv2/lv2plug.in/ns/ext/urid/urid.h \ - @LV2_SRCDIR@/lv2/lv2plug.in/ns/ext/worker/worker.h \ - @LV2_SRCDIR@/lv2/lv2plug.in/ns/extensions/ui/ui.h \ - @LV2_SRCDIR@/lv2/lv2plug.in/ns/extensions/units/units.h \ - @LV2_SRCDIR@/lv2/lv2plug.in/ns/lv2core/lv2.h +INPUT = @LV2_SRCDIR@/doc/c/mainpage.md \ + @LV2_SRCDIR@/include/lv2/atom/atom.h \ + @LV2_SRCDIR@/include/lv2/atom/forge.h \ + @LV2_SRCDIR@/include/lv2/atom/util.h \ + @LV2_SRCDIR@/include/lv2/buf-size/buf-size.h \ + @LV2_SRCDIR@/include/lv2/core/lv2.h \ + @LV2_SRCDIR@/include/lv2/core/lv2_util.h \ + @LV2_SRCDIR@/include/lv2/data-access/data-access.h \ + @LV2_SRCDIR@/include/lv2/dynmanifest/dynmanifest.h \ + @LV2_SRCDIR@/include/lv2/event/event-helpers.h \ + @LV2_SRCDIR@/include/lv2/event/event.h \ + @LV2_SRCDIR@/include/lv2/instance-access/instance-access.h \ + @LV2_SRCDIR@/include/lv2/log/log.h \ + @LV2_SRCDIR@/include/lv2/log/logger.h \ + @LV2_SRCDIR@/include/lv2/midi/midi.h \ + @LV2_SRCDIR@/include/lv2/morph/morph.h \ + @LV2_SRCDIR@/include/lv2/options/options.h \ + @LV2_SRCDIR@/include/lv2/parameters/parameters.h \ + @LV2_SRCDIR@/include/lv2/patch/patch.h \ + @LV2_SRCDIR@/include/lv2/port-groups/port-groups.h \ + @LV2_SRCDIR@/include/lv2/port-props/port-props.h \ + @LV2_SRCDIR@/include/lv2/presets/presets.h \ + @LV2_SRCDIR@/include/lv2/resize-port/resize-port.h \ + @LV2_SRCDIR@/include/lv2/state/state.h \ + @LV2_SRCDIR@/include/lv2/time/time.h \ + @LV2_SRCDIR@/include/lv2/ui/ui.h \ + @LV2_SRCDIR@/include/lv2/units/units.h \ + @LV2_SRCDIR@/include/lv2/uri-map/uri-map.h \ + @LV2_SRCDIR@/include/lv2/urid/urid.h \ + @LV2_SRCDIR@/include/lv2/worker/worker.h # This tag can be used to specify the character encoding of the source files # that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses # libiconv (or the iconv built into libc) for the transcoding. See the libiconv -# documentation (see: http://www.gnu.org/software/libiconv) for the list of -# possible encodings. +# documentation (see: +# https://www.gnu.org/software/libiconv/) for the list of possible encodings. # The default value is: UTF-8. INPUT_ENCODING = UTF-8 @@ -827,11 +847,15 @@ INPUT_ENCODING = UTF-8 # need to set EXTENSION_MAPPING for the extension otherwise the files are not # read by doxygen. # +# Note the list of default checked file patterns might differ from the list of +# default file extension mappings. +# # If left blank the following patterns are tested:*.c, *.cc, *.cxx, *.cpp, # *.c++, *.java, *.ii, *.ixx, *.ipp, *.i++, *.inl, *.idl, *.ddl, *.odl, *.h, -# *.hh, *.hxx, *.hpp, *.h++, *.cs, *.d, *.php, *.php4, *.php5, *.phtml, *.inc, -# *.m, *.markdown, *.md, *.mm, *.dox, *.py, *.pyw, *.f90, *.f95, *.f03, *.f08, -# *.f, *.for, *.tcl, *.vhd, *.vhdl, *.ucf and *.qsf. +# *.hh, *.hxx, *.hpp, *.h++, *.l, *.cs, *.d, *.php, *.php4, *.php5, *.phtml, +# *.inc, *.m, *.markdown, *.md, *.mm, *.dox (to be provided as doxygen C +# comment), *.py, *.pyw, *.f90, *.f95, *.f03, *.f08, *.f18, *.f, *.for, *.vhd, +# *.vhdl, *.ucf, *.qsf and *.ice. FILE_PATTERNS = @@ -870,7 +894,7 @@ EXCLUDE_PATTERNS = # (namespaces, classes, functions, etc.) that should be excluded from the # output. The symbol name can be a fully qualified name, a word, or if the # wildcard * is used, a substring. Examples: ANamespace, AClass, -# AClass::ANamespace, ANamespace::*Test +# ANamespace::AClass, ANamespace::*Test # # Note that the wildcards are matched against the file with absolute path, so to # exclude all test directories use the pattern */test/* @@ -957,7 +981,7 @@ FILTER_SOURCE_PATTERNS = # (index.html). This can be useful if you have a project on for instance GitHub # and want to reuse the introduction page also for the doxygen output. -USE_MDFILE_AS_MAINPAGE = +USE_MDFILE_AS_MAINPAGE = @LV2_SRCDIR@/doc/c/mainpage.md #--------------------------------------------------------------------------- # Configuration options related to source browsing @@ -986,7 +1010,7 @@ INLINE_SOURCES = NO STRIP_CODE_COMMENTS = YES # If the REFERENCED_BY_RELATION tag is set to YES then for each documented -# function all documented functions referencing it will be listed. +# entity all documented functions referencing it will be listed. # The default value is: NO. REFERENCED_BY_RELATION = NO @@ -1018,12 +1042,12 @@ SOURCE_TOOLTIPS = YES # If the USE_HTAGS tag is set to YES then the references to source code will # point to the HTML generated by the htags(1) tool instead of doxygen built-in # source browser. The htags tool is part of GNU's global source tagging system -# (see http://www.gnu.org/software/global/global.html). You will need version +# (see https://www.gnu.org/software/global/global.html). You will need version # 4.8.6 or higher. # # To use it do the following: # - Install the latest version of global -# - Enable SOURCE_BROWSER and USE_HTAGS in the config file +# - Enable SOURCE_BROWSER and USE_HTAGS in the configuration file # - Make sure the INPUT points to the root of the source tree # - Run doxygen as normal # @@ -1056,13 +1080,6 @@ VERBATIM_HEADERS = NO ALPHABETICAL_INDEX = NO -# The COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns in -# which the alphabetical index list will be split. -# Minimum value: 1, maximum value: 20, default value: 5. -# This tag requires that the tag ALPHABETICAL_INDEX is set to YES. - -COLS_IN_ALPHA_INDEX = 5 - # In case all classes in a project start with a common prefix, all classes will # be put under the same header in the alphabetical index. The IGNORE_PREFIX tag # can be used to specify a prefix (or a list of prefixes) that should be ignored @@ -1086,7 +1103,7 @@ GENERATE_HTML = YES # The default directory is: html. # This tag requires that the tag GENERATE_HTML is set to YES. -HTML_OUTPUT = html +HTML_OUTPUT = @LV2_BUILDDIR@/doc/c/html # The HTML_FILE_EXTENSION tag can be used to specify the file extension for each # generated HTML page (for example: .htm, .php, .asp). @@ -1113,7 +1130,7 @@ HTML_FILE_EXTENSION = .html # of the possible markers and block names see the documentation. # This tag requires that the tag GENERATE_HTML is set to YES. -HTML_HEADER = @LV2_SRCDIR@/doc/header.html +HTML_HEADER = @LV2_SRCDIR@/doc/c/header.html # The HTML_FOOTER tag can be used to specify a user-defined HTML footer for each # generated HTML page. If the tag is left blank doxygen will generate a standard @@ -1123,7 +1140,7 @@ HTML_HEADER = @LV2_SRCDIR@/doc/header.html # that doxygen normally uses. # This tag requires that the tag GENERATE_HTML is set to YES. -HTML_FOOTER = +HTML_FOOTER = @LV2_SRCDIR@/doc/c/footer.html # The HTML_STYLESHEET tag can be used to specify a user-defined cascading style # sheet that is used by each HTML page. It can be used to fine-tune the look of @@ -1135,7 +1152,7 @@ HTML_FOOTER = # obsolete. # This tag requires that the tag GENERATE_HTML is set to YES. -HTML_STYLESHEET = @LV2_SRCDIR@/doc/doxy-style.css +HTML_STYLESHEET = @LV2_SRCDIR@/doc/c/doxy-style.css # The HTML_EXTRA_STYLESHEET tag can be used to specify additional user-defined # cascading style sheets that are included after the standard style sheets @@ -1162,8 +1179,8 @@ HTML_EXTRA_FILES = # The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen # will adjust the colors in the style sheet and background images according to -# this color. Hue is specified as an angle on a colorwheel, see -# http://en.wikipedia.org/wiki/Hue for more information. For instance the value +# this color. Hue is specified as an angle on a color-wheel, see +# https://en.wikipedia.org/wiki/Hue for more information. For instance the value # 0 represents red, 60 is yellow, 120 is green, 180 is cyan, 240 is blue, 300 # purple, and 360 is red again. # Minimum value: 0, maximum value: 359, default value: 220. @@ -1172,7 +1189,7 @@ HTML_EXTRA_FILES = HTML_COLORSTYLE_HUE = 160 # The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of the colors -# in the HTML output. For a value of 0 the output will use grayscales only. A +# in the HTML output. For a value of 0 the output will use gray-scales only. A # value of 255 will produce the most vivid colors. # Minimum value: 0, maximum value: 255, default value: 100. # This tag requires that the tag GENERATE_HTML is set to YES. @@ -1190,14 +1207,16 @@ HTML_COLORSTYLE_SAT = 30 HTML_COLORSTYLE_GAMMA = 100 -# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML -# page will contain the date and time when the page was generated. Setting this -# to YES can help to show when doxygen was last run and thus if the -# documentation is up to date. -# The default value is: NO. +# If the HTML_DYNAMIC_MENUS tag is set to YES then the generated HTML +# documentation will contain a main index with vertical navigation menus that +# are dynamically created via JavaScript. If disabled, the navigation index will +# consists of multiple levels of tabs that are statically embedded in every HTML +# page. Disable this option to support browsers that do not have JavaScript, +# like the Qt help browser. +# The default value is: YES. # This tag requires that the tag GENERATE_HTML is set to YES. -HTML_TIMESTAMP = NO +HTML_DYNAMIC_MENUS = NO # If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML # documentation will contain sections that can be hidden and shown after the @@ -1222,13 +1241,14 @@ HTML_INDEX_NUM_ENTRIES = 100 # If the GENERATE_DOCSET tag is set to YES, additional index files will be # generated that can be used as input for Apple's Xcode 3 integrated development -# environment (see: http://developer.apple.com/tools/xcode/), introduced with -# OSX 10.5 (Leopard). To create a documentation set, doxygen will generate a -# Makefile in the HTML output directory. Running make will produce the docset in -# that directory and running make install will install the docset in +# environment (see: +# https://developer.apple.com/xcode/), introduced with OSX 10.5 (Leopard). To +# create a documentation set, doxygen will generate a Makefile in the HTML +# output directory. Running make will produce the docset in that directory and +# running make install will install the docset in # ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find it at -# startup. See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html -# for more information. +# startup. See https://developer.apple.com/library/archive/featuredarticles/Doxy +# genXcode/_index.html for more information. # The default value is: NO. # This tag requires that the tag GENERATE_HTML is set to YES. @@ -1267,8 +1287,12 @@ DOCSET_PUBLISHER_NAME = Publisher # If the GENERATE_HTMLHELP tag is set to YES then doxygen generates three # additional HTML index files: index.hhp, index.hhc, and index.hhk. The # index.hhp is a project file that can be read by Microsoft's HTML Help Workshop -# (see: http://www.microsoft.com/en-us/download/details.aspx?id=21138) on -# Windows. +# on Windows. In the beginning of 2021 Microsoft took the original page, with +# a.o. the download links, offline the HTML help workshop was already many years +# in maintenance mode). You can download the HTML help workshop from the web +# archives at Installation executable (see: +# http://web.archive.org/web/20160201063255/http://download.microsoft.com/downlo +# ad/0/A/9/0A939EF6-E31C-430F-A3DF-DFAE7960D564/htmlhelp.exe). # # The HTML Help Workshop contains a compiler that can convert all HTML output # generated by doxygen into a single compiled HTML file (.chm). Compiled HTML @@ -1298,7 +1322,7 @@ CHM_FILE = HHC_LOCATION = # The GENERATE_CHI flag controls if a separate .chi index file is generated -# (YES) or that it should be included in the master .chm file (NO). +# (YES) or that it should be included in the main .chm file (NO). # The default value is: NO. # This tag requires that the tag GENERATE_HTMLHELP is set to YES. @@ -1343,7 +1367,8 @@ QCH_FILE = # The QHP_NAMESPACE tag specifies the namespace to use when generating Qt Help # Project output. For more information please see Qt Help Project / Namespace -# (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#namespace). +# (see: +# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#namespace). # The default value is: org.doxygen.Project. # This tag requires that the tag GENERATE_QHP is set to YES. @@ -1351,8 +1376,8 @@ QHP_NAMESPACE = # The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating Qt # Help Project output. For more information please see Qt Help Project / Virtual -# Folders (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#virtual- -# folders). +# Folders (see: +# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#virtual-folders). # The default value is: doc. # This tag requires that the tag GENERATE_QHP is set to YES. @@ -1360,30 +1385,30 @@ QHP_VIRTUAL_FOLDER = doc # If the QHP_CUST_FILTER_NAME tag is set, it specifies the name of a custom # filter to add. For more information please see Qt Help Project / Custom -# Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom- -# filters). +# Filters (see: +# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#custom-filters). # This tag requires that the tag GENERATE_QHP is set to YES. QHP_CUST_FILTER_NAME = # The QHP_CUST_FILTER_ATTRS tag specifies the list of the attributes of the # custom filter to add. For more information please see Qt Help Project / Custom -# Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom- -# filters). +# Filters (see: +# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#custom-filters). # This tag requires that the tag GENERATE_QHP is set to YES. QHP_CUST_FILTER_ATTRS = # The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this # project's filter section matches. Qt Help Project / Filter Attributes (see: -# http://qt-project.org/doc/qt-4.8/qthelpproject.html#filter-attributes). +# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#filter-attributes). # This tag requires that the tag GENERATE_QHP is set to YES. QHP_SECT_FILTER_ATTRS = -# The QHG_LOCATION tag can be used to specify the location of Qt's -# qhelpgenerator. If non-empty doxygen will try to run qhelpgenerator on the -# generated .qhp file. +# The QHG_LOCATION tag can be used to specify the location (absolute path +# including file name) of Qt's qhelpgenerator. If non-empty doxygen will try to +# run qhelpgenerator on the generated .qhp file. # This tag requires that the tag GENERATE_QHP is set to YES. QHG_LOCATION = @@ -1426,11 +1451,11 @@ DISABLE_INDEX = NO # to work a browser that supports JavaScript, DHTML, CSS and frames is required # (i.e. any modern browser). Windows users are probably better off using the # HTML help feature. Via custom style sheets (see HTML_EXTRA_STYLESHEET) one can -# further fine-tune the look of the index. As an example, the default style -# sheet generated by doxygen has an example that shows how to put an image at -# the root of the tree instead of the PROJECT_NAME. Since the tree basically has -# the same information as the tab index, you could consider setting -# DISABLE_INDEX to YES when enabling this option. +# further fine tune the look of the index (see "Fine-tuning the output"). As an +# example, the default style sheet generated by doxygen has an example that +# shows how to put an image at the root of the tree instead of the PROJECT_NAME. +# Since the tree basically has the same information as the tab index, you could +# consider setting DISABLE_INDEX to YES when enabling this option. # The default value is: NO. # This tag requires that the tag GENERATE_HTML is set to YES. @@ -1469,19 +1494,8 @@ EXT_LINKS_IN_WINDOW = NO FORMULA_FONTSIZE = 10 -# Use the FORMULA_TRANPARENT tag to determine whether or not the images -# generated for formulas are transparent PNGs. Transparent PNGs are not -# supported properly for IE 6.0, but are supported on all modern browsers. -# -# Note that when changing this option you need to delete any form_*.png files in -# the HTML output directory before the changes have effect. -# The default value is: YES. -# This tag requires that the tag GENERATE_HTML is set to YES. - -FORMULA_TRANSPARENT = YES - # Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see -# http://www.mathjax.org) which uses client side Javascript for the rendering +# https://www.mathjax.org) which uses client side JavaScript for the rendering # instead of using pre-rendered bitmaps. Use this if you do not have LaTeX # installed or if you want to formulas look prettier in the HTML output. When # enabled you may also need to install MathJax separately and configure the path @@ -1492,10 +1506,17 @@ FORMULA_TRANSPARENT = YES USE_MATHJAX = NO # When MathJax is enabled you can set the default output format to be used for -# the MathJax output. See the MathJax site (see: -# http://docs.mathjax.org/en/latest/output.html) for more details. +# the MathJax output. For more details about the output format see MathJax +# version 2 (see: +# http://docs.mathjax.org/en/v2.7-latest/output.html) and MathJax version 3 +# (see: +# http://docs.mathjax.org/en/latest/web/components/output.html). # Possible values are: HTML-CSS (which is slower, but has the best -# compatibility), NativeMML (i.e. MathML) and SVG. +# compatibility. This is the name for Mathjax version 2, for MathJax version 3 +# this will be translated into chtml), NativeMML (i.e. MathML. Only supported +# for NathJax 2. For MathJax version 3 chtml will be used instead.), chtml (This +# is the name for Mathjax version 3, for MathJax version 2 this will be +# translated into HTML-CSS) and SVG. # The default value is: HTML-CSS. # This tag requires that the tag USE_MATHJAX is set to YES. @@ -1508,22 +1529,29 @@ MATHJAX_FORMAT = HTML-CSS # MATHJAX_RELPATH should be ../mathjax. The default value points to the MathJax # Content Delivery Network so you can quickly see the result without installing # MathJax. However, it is strongly recommended to install a local copy of -# MathJax from http://www.mathjax.org before deployment. -# The default value is: http://cdn.mathjax.org/mathjax/latest. +# MathJax from https://www.mathjax.org before deployment. The default value is: +# - in case of MathJax version 2: https://cdn.jsdelivr.net/npm/mathjax@2 +# - in case of MathJax version 3: https://cdn.jsdelivr.net/npm/mathjax@3 # This tag requires that the tag USE_MATHJAX is set to YES. MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest # The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax # extension names that should be enabled during MathJax rendering. For example +# for MathJax version 2 (see +# https://docs.mathjax.org/en/v2.7-latest/tex.html#tex-and-latex-extensions): # MATHJAX_EXTENSIONS = TeX/AMSmath TeX/AMSsymbols +# For example for MathJax version 3 (see +# http://docs.mathjax.org/en/latest/input/tex/extensions/index.html): +# MATHJAX_EXTENSIONS = ams # This tag requires that the tag USE_MATHJAX is set to YES. MATHJAX_EXTENSIONS = # The MATHJAX_CODEFILE tag can be used to specify a file with javascript pieces # of code that will be used on startup of the MathJax code. See the MathJax site -# (see: http://docs.mathjax.org/en/latest/output.html) for more details. For an +# (see: +# http://docs.mathjax.org/en/v2.7-latest/output.html) for more details. For an # example see the documentation. # This tag requires that the tag USE_MATHJAX is set to YES. @@ -1551,7 +1579,7 @@ MATHJAX_CODEFILE = SEARCHENGINE = NO # When the SERVER_BASED_SEARCH tag is enabled the search engine will be -# implemented using a web server instead of a web client using Javascript. There +# implemented using a web server instead of a web client using JavaScript. There # are two flavors of web server based searching depending on the EXTERNAL_SEARCH # setting. When disabled, doxygen will generate a PHP script for searching and # an index file used by the script. When EXTERNAL_SEARCH is enabled the indexing @@ -1570,7 +1598,8 @@ SERVER_BASED_SEARCH = NO # # Doxygen ships with an example indexer (doxyindexer) and search engine # (doxysearch.cgi) which are based on the open source search engine library -# Xapian (see: http://xapian.org/). +# Xapian (see: +# https://xapian.org/). # # See the section "External Indexing and Searching" for details. # The default value is: NO. @@ -1583,8 +1612,9 @@ EXTERNAL_SEARCH = NO # # Doxygen ships with an example indexer (doxyindexer) and search engine # (doxysearch.cgi) which are based on the open source search engine library -# Xapian (see: http://xapian.org/). See the section "External Indexing and -# Searching" for details. +# Xapian (see: +# https://xapian.org/). See the section "External Indexing and Searching" for +# details. # This tag requires that the tag SEARCHENGINE is set to YES. SEARCHENGINE_URL = @@ -1635,16 +1665,20 @@ LATEX_OUTPUT = latex # The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be # invoked. # -# Note that when enabling USE_PDFLATEX this option is only used for generating -# bitmaps for formulas in the HTML output, but not in the Makefile that is -# written to the output directory. -# The default file is: latex. +# Note that when not enabling USE_PDFLATEX the default is latex when enabling +# USE_PDFLATEX the default is pdflatex and when in the later case latex is +# chosen this is overwritten by pdflatex. For specific output languages the +# default can have been set differently, this depends on the implementation of +# the output language. # This tag requires that the tag GENERATE_LATEX is set to YES. LATEX_CMD_NAME = latex # The MAKEINDEX_CMD_NAME tag can be used to specify the command name to generate # index for LaTeX. +# Note: This tag is used in the Makefile / make.bat. +# See also: LATEX_MAKEINDEX_CMD for the part in the generated output file +# (.tex). # The default file is: makeindex. # This tag requires that the tag GENERATE_LATEX is set to YES. @@ -1665,7 +1699,7 @@ COMPACT_LATEX = NO # The default value is: a4. # This tag requires that the tag GENERATE_LATEX is set to YES. -PAPER_TYPE = a4wide +PAPER_TYPE = a4 # The EXTRA_PACKAGES tag can be used to specify one or more LaTeX package names # that should be included in the LaTeX output. The package can be specified just @@ -1679,29 +1713,31 @@ PAPER_TYPE = a4wide EXTRA_PACKAGES = -# The LATEX_HEADER tag can be used to specify a personal LaTeX header for the -# generated LaTeX document. The header should contain everything until the first -# chapter. If it is left blank doxygen will generate a standard header. See -# section "Doxygen usage" for information on how to let doxygen write the -# default header to a separate file. +# The LATEX_HEADER tag can be used to specify a user-defined LaTeX header for +# the generated LaTeX document. The header should contain everything until the +# first chapter. If it is left blank doxygen will generate a standard header. It +# is highly recommended to start with a default header using +# doxygen -w latex new_header.tex new_footer.tex new_stylesheet.sty +# and then modify the file new_header.tex. See also section "Doxygen usage" for +# information on how to generate the default header that doxygen normally uses. # -# Note: Only use a user-defined header if you know what you are doing! The -# following commands have a special meaning inside the header: $title, -# $datetime, $date, $doxygenversion, $projectname, $projectnumber, -# $projectbrief, $projectlogo. Doxygen will replace $title with the empty -# string, for the replacement values of the other commands the user is referred -# to HTML_HEADER. +# Note: Only use a user-defined header if you know what you are doing! +# Note: The header is subject to change so you typically have to regenerate the +# default header when upgrading to a newer version of doxygen. The following +# commands have a special meaning inside the header (and footer): For a +# description of the possible markers and block names see the documentation. # This tag requires that the tag GENERATE_LATEX is set to YES. LATEX_HEADER = -# The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for the -# generated LaTeX document. The footer should contain everything after the last -# chapter. If it is left blank doxygen will generate a standard footer. See +# The LATEX_FOOTER tag can be used to specify a user-defined LaTeX footer for +# the generated LaTeX document. The footer should contain everything after the +# last chapter. If it is left blank doxygen will generate a standard footer. See # LATEX_HEADER for more information on how to generate a default footer and what -# special commands can be used inside the footer. -# -# Note: Only use a user-defined footer if you know what you are doing! +# special commands can be used inside the footer. See also section "Doxygen +# usage" for information on how to generate the default footer that doxygen +# normally uses. Note: Only use a user-defined footer if you know what you are +# doing! # This tag requires that the tag GENERATE_LATEX is set to YES. LATEX_FOOTER = @@ -1734,9 +1770,11 @@ LATEX_EXTRA_FILES = PDF_HYPERLINKS = YES -# If the USE_PDFLATEX tag is set to YES, doxygen will use pdflatex to generate -# the PDF file directly from the LaTeX files. Set this option to YES, to get a -# higher quality PDF documentation. +# If the USE_PDFLATEX tag is set to YES, doxygen will use the engine as +# specified with LATEX_CMD_NAME to generate the PDF file directly from the LaTeX +# files. Set this option to YES, to get a higher quality PDF documentation. +# +# See also section LATEX_CMD_NAME for selecting the engine. # The default value is: YES. # This tag requires that the tag GENERATE_LATEX is set to YES. @@ -1744,8 +1782,7 @@ USE_PDFLATEX = YES # If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \batchmode # command to the generated LaTeX files. This will instruct LaTeX to keep running -# if errors occur, instead of asking the user for help. This option is also used -# when generating formulas in HTML. +# if errors occur, instead of asking the user for help. # The default value is: NO. # This tag requires that the tag GENERATE_LATEX is set to YES. @@ -1758,32 +1795,14 @@ LATEX_BATCHMODE = NO LATEX_HIDE_INDICES = NO -# If the LATEX_SOURCE_CODE tag is set to YES then doxygen will include source -# code with syntax highlighting in the LaTeX output. -# -# Note that which sources are shown also depends on other settings such as -# SOURCE_BROWSER. -# The default value is: NO. -# This tag requires that the tag GENERATE_LATEX is set to YES. - -LATEX_SOURCE_CODE = NO - # The LATEX_BIB_STYLE tag can be used to specify the style to use for the # bibliography, e.g. plainnat, or ieeetr. See -# http://en.wikipedia.org/wiki/BibTeX and \cite for more info. +# https://en.wikipedia.org/wiki/BibTeX and \cite for more info. # The default value is: plain. # This tag requires that the tag GENERATE_LATEX is set to YES. LATEX_BIB_STYLE = plain -# If the LATEX_TIMESTAMP tag is set to YES then the footer of each generated -# page will contain the date and time when the page was generated. Setting this -# to NO can help when comparing the output of multiple runs. -# The default value is: NO. -# This tag requires that the tag GENERATE_LATEX is set to YES. - -LATEX_TIMESTAMP = NO - #--------------------------------------------------------------------------- # Configuration options related to the RTF output #--------------------------------------------------------------------------- @@ -1823,9 +1842,9 @@ COMPACT_RTF = NO RTF_HYPERLINKS = NO -# Load stylesheet definitions from file. Syntax is similar to doxygen's config -# file, i.e. a series of assignments. You only have to provide replacements, -# missing definitions are set to their default value. +# Load stylesheet definitions from file. Syntax is similar to doxygen's +# configuration file, i.e. a series of assignments. You only have to provide +# replacements, missing definitions are set to their default value. # # See also section "Doxygen usage" for information on how to generate the # default style sheet that doxygen normally uses. @@ -1834,22 +1853,12 @@ RTF_HYPERLINKS = NO RTF_STYLESHEET_FILE = # Set optional variables used in the generation of an RTF document. Syntax is -# similar to doxygen's config file. A template extensions file can be generated -# using doxygen -e rtf extensionFile. +# similar to doxygen's configuration file. A template extensions file can be +# generated using doxygen -e rtf extensionFile. # This tag requires that the tag GENERATE_RTF is set to YES. RTF_EXTENSIONS_FILE = -# If the RTF_SOURCE_CODE tag is set to YES then doxygen will include source code -# with syntax highlighting in the RTF output. -# -# Note that which sources are shown also depends on other settings such as -# SOURCE_BROWSER. -# The default value is: NO. -# This tag requires that the tag GENERATE_RTF is set to YES. - -RTF_SOURCE_CODE = NO - #--------------------------------------------------------------------------- # Configuration options related to the man page output #--------------------------------------------------------------------------- @@ -1939,23 +1948,14 @@ GENERATE_DOCBOOK = NO DOCBOOK_OUTPUT = docbook -# If the DOCBOOK_PROGRAMLISTING tag is set to YES, doxygen will include the -# program listings (including syntax highlighting and cross-referencing -# information) to the DOCBOOK output. Note that enabling this will significantly -# increase the size of the DOCBOOK output. -# The default value is: NO. -# This tag requires that the tag GENERATE_DOCBOOK is set to YES. - -DOCBOOK_PROGRAMLISTING = NO - #--------------------------------------------------------------------------- # Configuration options for the AutoGen Definitions output #--------------------------------------------------------------------------- # If the GENERATE_AUTOGEN_DEF tag is set to YES, doxygen will generate an -# AutoGen Definitions (see http://autogen.sf.net) file that captures the -# structure of the code including all documentation. Note that this feature is -# still experimental and incomplete at the moment. +# AutoGen Definitions (see http://autogen.sourceforge.net/) file that captures +# the structure of the code including all documentation. Note that this feature +# is still experimental and incomplete at the moment. # The default value is: NO. GENERATE_AUTOGEN_DEF = NO @@ -2015,7 +2015,7 @@ ENABLE_PREPROCESSING = YES # The default value is: NO. # This tag requires that the tag ENABLE_PREPROCESSING is set to YES. -MACRO_EXPANSION = NO +MACRO_EXPANSION = YES # If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES then # the macro expansion is limited to the macros specified with the PREDEFINED and @@ -2023,7 +2023,7 @@ MACRO_EXPANSION = NO # The default value is: NO. # This tag requires that the tag ENABLE_PREPROCESSING is set to YES. -EXPAND_ONLY_PREDEF = NO +EXPAND_ONLY_PREDEF = YES # If the SEARCH_INCLUDES tag is set to YES, the include files in the # INCLUDE_PATH will be searched if a #include is found. @@ -2055,7 +2055,7 @@ INCLUDE_FILE_PATTERNS = # recursively expanded use the := operator instead of the = operator. # This tag requires that the tag ENABLE_PREPROCESSING is set to YES. -PREDEFINED = +PREDEFINED = LV2_DISABLE_DEPRECATION_WARNINGS # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this # tag can be used to specify a list of macro names that should be expanded. The @@ -2099,7 +2099,7 @@ TAGFILES = # tag file that is based on the input files it reads. See section "Linking to # external documentation" for more information about the usage of tag files. -GENERATE_TAGFILE = tags +GENERATE_TAGFILE = @LV2_BUILDDIR@/doc/c/tags # If the ALLEXTERNALS tag is set to YES, all external class will be listed in # the class index. If set to NO, only the inherited external classes will be @@ -2122,34 +2122,10 @@ EXTERNAL_GROUPS = YES EXTERNAL_PAGES = YES -# The PERL_PATH should be the absolute path and name of the perl script -# interpreter (i.e. the result of 'which perl'). -# The default file (with absolute path) is: /usr/bin/perl. - -PERL_PATH = /usr/bin/perl - #--------------------------------------------------------------------------- # Configuration options related to the dot tool #--------------------------------------------------------------------------- -# If the CLASS_DIAGRAMS tag is set to YES, doxygen will generate a class diagram -# (in HTML and LaTeX) for classes with base or super classes. Setting the tag to -# NO turns the diagrams off. Note that this option also works with HAVE_DOT -# disabled, but it is recommended to install and use dot, since it yields more -# powerful graphs. -# The default value is: YES. - -CLASS_DIAGRAMS = YES - -# You can define message sequence charts within doxygen comments using the \msc -# command. Doxygen will then run the mscgen tool (see: -# http://www.mcternan.me.uk/mscgen/)) to produce the chart and insert it in the -# documentation. The MSCGEN_PATH tag allows you to specify the directory where -# the mscgen tool resides. If left empty the tool is assumed to be found in the -# default search path. - -MSCGEN_PATH = - # You can include diagrams made with dia in doxygen documentation. Doxygen will # then run dia to produce the diagram and insert it in the documentation. The # DIA_PATH tag allows you to specify the directory where the dia binary resides. @@ -2182,23 +2158,6 @@ HAVE_DOT = NO DOT_NUM_THREADS = 0 -# When you want a differently looking font in the dot files that doxygen -# generates you can specify the font name using DOT_FONTNAME. You need to make -# sure dot is able to find the font, which can be done by putting it in a -# standard location or by setting the DOTFONTPATH environment variable or by -# setting DOT_FONTPATH to the directory containing the font. -# The default value is: Helvetica. -# This tag requires that the tag HAVE_DOT is set to YES. - -DOT_FONTNAME = - -# The DOT_FONTSIZE tag can be used to set the size (in points) of the font of -# dot graphs. -# Minimum value: 4, maximum value: 24, default value: 10. -# This tag requires that the tag HAVE_DOT is set to YES. - -DOT_FONTSIZE = 10 - # By default doxygen will tell dot to use the default font as specified with # DOT_FONTNAME. If you specify a different font using DOT_FONTNAME you can set # the path where dot can find it using this tag. @@ -2206,11 +2165,14 @@ DOT_FONTSIZE = 10 DOT_FONTPATH = -# If the CLASS_GRAPH tag is set to YES then doxygen will generate a graph for -# each documented class showing the direct and indirect inheritance relations. -# Setting this tag to YES will force the CLASS_DIAGRAMS tag to NO. +# If the CLASS_GRAPH tag is set to YES (or GRAPH) then doxygen will generate a +# graph for each documented class showing the direct and indirect inheritance +# relations. In case HAVE_DOT is set as well dot will be used to draw the graph, +# otherwise the built-in generator will be used. If the CLASS_GRAPH tag is set +# to TEXT the direct and indirect inheritance relations will be shown as texts / +# links. +# Possible values are: NO, YES, TEXT and GRAPH. # The default value is: YES. -# This tag requires that the tag HAVE_DOT is set to YES. CLASS_GRAPH = YES @@ -2247,7 +2209,7 @@ UML_LOOK = NO # but if the number exceeds 15, the total amount of fields shown is limited to # 10. # Minimum value: 0, maximum value: 100, default value: 10. -# This tag requires that the tag HAVE_DOT is set to YES. +# This tag requires that the tag UML_LOOK is set to YES. UML_LIMIT_NUM_FIELDS = 10 @@ -2370,13 +2332,18 @@ MSCFILE_DIRS = DIAFILE_DIRS = # When using plantuml, the PLANTUML_JAR_PATH tag should be used to specify the -# path where java can find the plantuml.jar file. If left blank, it is assumed -# PlantUML is not used or called during a preprocessing step. Doxygen will -# generate a warning when it encounters a \startuml command in this case and -# will not generate output for the diagram. +# path where java can find the plantuml.jar file or to the filename of jar file +# to be used. If left blank, it is assumed PlantUML is not used or called during +# a preprocessing step. Doxygen will generate a warning when it encounters a +# \startuml command in this case and will not generate output for the diagram. PLANTUML_JAR_PATH = +# When using plantuml, the PLANTUML_CFG_FILE tag can be used to specify a +# configuration file for plantuml. + +PLANTUML_CFG_FILE = + # When using plantuml, the specified paths are searched for files specified by # the !include statement in a plantuml block. @@ -2406,18 +2373,6 @@ DOT_GRAPH_MAX_NODES = 50 MAX_DOT_GRAPH_DEPTH = 0 -# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent -# background. This is disabled by default, because dot on Windows does not seem -# to support this out of the box. -# -# Warning: Depending on the platform used, enabling this option may lead to -# badly anti-aliased labels on the edges of a graph (i.e. they become hard to -# read). -# The default value is: NO. -# This tag requires that the tag HAVE_DOT is set to YES. - -DOT_TRANSPARENT = NO - # Set the DOT_MULTI_TARGETS tag to YES to allow dot to generate multiple output # files in one run (i.e. multiple -o and -T options on the command line). This # makes dot run faster, but since only newer versions of dot (>1.8.10) support @@ -2430,14 +2385,18 @@ DOT_MULTI_TARGETS = YES # If the GENERATE_LEGEND tag is set to YES doxygen will generate a legend page # explaining the meaning of the various boxes and arrows in the dot generated # graphs. +# Note: This tag requires that UML_LOOK isn't set, i.e. the doxygen internal +# graphical representation for inheritance and collaboration diagrams is used. # The default value is: YES. # This tag requires that the tag HAVE_DOT is set to YES. GENERATE_LEGEND = YES -# If the DOT_CLEANUP tag is set to YES, doxygen will remove the intermediate dot +# If the DOT_CLEANUP tag is set to YES, doxygen will remove the intermediate # files that are used to generate the various graphs. +# +# Note: This setting is not only used for dot files but also for msc temporary +# files. # The default value is: YES. -# This tag requires that the tag HAVE_DOT is set to YES. DOT_CLEANUP = YES diff --git a/doc/doxy-style.css b/doc/doxy-style.css deleted file mode 100644 index f6ff8bb..0000000 --- a/doc/doxy-style.css +++ /dev/null @@ -1,691 +0,0 @@ -body { - max-width: 80em; - margin: 0; - margin-left: auto; - margin-right: auto; - background: #FFF; - color: #000; -} - -#titlearea { - display: none; -} - -h1 { - font-size: 180%; - font-weight: 900; -} - -h2 { - font-size: 140%; - font-weight: 700; -} - -h3 { - font-size: 120%; - font-weight: 700; -} - -h4 { - font-size: 110%; - font-weight: 700; -} - -h5 { - font-size: 100%; - font-weight: 700; -} - -h6 { - font-size: 100%; - font-weight: 600; -} - -p { - margin: 0 0 1em 0; -} - -dt { - font-weight: 700; -} - -p.startli,p.startdd,p.starttd { - margin-top: 2px; -} - -p.endli { - margin-bottom: 0; -} - -p.enddd { - margin-bottom: 4px; -} - -p.endtd { - margin-bottom: 2px; -} - -caption { - font-weight: 700; -} - -span.legend { - font-size: small; - text-align: center; -} - -h3.version { - font-size: small; - text-align: center; -} - -div.qindex,div.navtab { - background-color: #EBEFF6; - border: 1px solid #A3B4D7; - text-align: center; - margin: 2px; - padding: 2px; -} - -div.navtab { - margin-right: 15px; -} - -/* @group Link Styling */ -a { - color: #546E00; - text-decoration: none; -} - -.contents a:visited { - color: #344E00; -} - -a:hover { - text-decoration: underline; -} - -a.qindexHL { - background-color: #9CAFD4; - color: #FFF; - border: 1px double #869DCA; -} - -code { - color: #444; -} - -a.code { - color: #4665A2; -} - -a.codeRef { - color: #4665A2; -} - -/* @end */ -dl.el { - margin-left: -1cm; -} - -.fragment { - font-family: monospace, fixed; -} - -pre.fragment { - border: 1px solid #C4C4C4; - background-color: #F9F9F9; - padding: 4px 6px; - margin: 4px 8px 4px 2px; - overflow: auto; - line-height: 125%; -} - -div.ah { - background-color: #000; - font-weight: 700; - color: #FFF; - margin-bottom: 3px; - margin-top: 3px; - padding: .2em; - border: thin solid #333; -} - -div.groupHeader { - margin-left: 16px; - margin-top: 12px; - margin-bottom: 6px; - font-weight: 700; -} - -a + h2.groupheader { - display: none; -} - -div.groupText { - margin-left: 16px; - font-style: italic; -} - -div.contents { - margin-top: 10px; - margin-left: 10px; - margin-right: 10px; -} - -td.indexkey { - background-color: #EBEFF6; - font-weight: 700; - border: 1px solid #C4CFE5; - margin: 2px 0; - padding: 2px 10px; -} - -td.indexvalue { - background-color: #EBEFF6; - border: 1px solid #C4CFE5; - padding: 2px 10px; - margin: 2px 0; -} - -tr.memlist { - background-color: #EEF1F7; -} - -p.formulaDsp { - text-align: center; -} - -img.formulaInl { - vertical-align: middle; -} - -div.center { - text-align: center; - margin-top: 0; - margin-bottom: 0; - padding: 0; -} - -div.center img { - border: 0; -} - -address.footer { - text-align: right; - padding-right: 12px; -} - -img.footer { - border: 0; - vertical-align: middle; -} - -/* @group Code Colorization */ -span.keyword { - color: green; -} - -span.keywordtype { - color: #3E873E; -} - -span.keywordflow { - color: #e08000; -} - -span.comment { - color: maroon; -} - -span.preprocessor { - color: #806020; -} - -span.stringliteral { - color: #002080; -} - -span.charliteral { - color: teal; -} - -span.vhdldigit { - color: #F0F; -} - -span.vhdlkeyword { - color: #700070; -} - -span.vhdllogic { - color: red; -} - -/* @end */ -td.tiny { - font-size: x-small; -} - -.dirtab { - padding: 4px; - border-collapse: collapse; - border: 1px solid #A3B4D7; -} - -th.dirtab { - background: #EBEFF6; - font-weight: 700; -} - -hr { - height: 0; - border: none; - border-top: 1px solid #DDD; - margin: 2em 0 1em; -} - -hr.footer { - height: 1px; -} - -/* @group Member Descriptions */ -table.memberdecls { - border-spacing: 0.125em; -} - -h2.groupheader { - margin: 0.5em 0 0.25em 0; -} - -.mdescLeft,.mdescRight,.memItemLeft,.memItemRight,.memTemplItemLeft,.memTemplItemRight,.memTemplParams { - margin: 0; - padding: 0; -} - -.mdescLeft,.mdescRight { - color: #555; -} - -.memItemLeft,.memItemRight,.memTemplParams { - border: 0; - font-family: monospace, fixed; -} - -.memItemLeft,.memTemplItemLeft { - white-space: nowrap; - padding-left: 2em; - padding-right: 1em; -} - -.memItemLeft a.el { - font-weight: bold; -} - -.memTemplParams { - color: #464646; - white-space: nowrap; -} - -td.memSeparator { - display: none; -} - -td.mlabels-right { - vertical-align: top; - padding-top: 4px; - color: #AA6; -} - -.memtitle { - display: none; -} - -/* @end */ -/* @group Member Details */ -/* Styles for detailed member documentation */ -.memtemplate { - color: #4665A2; - font-weight: bold; -} - -.memnav { - background-color: #EBEFF6; - border: 1px solid #A3B4D7; - text-align: center; - margin: 2px; - margin-right: 15px; - padding: 2px; -} - -.memitem { - padding: 0; - margin: 1em 0 1em 0; -} - -.memproto { - padding: 0; - font-weight: bold; - color: #000; -} - -.memproto .paramname { - color: #444; - font-style: normal; -} - -.memdoc { - padding: 0 0 0.5em 2em; -} - -.paramkey { - text-align: right; -} - -.paramtype { - color: #3E873E; - white-space: nowrap; -} - -.paramname { - color: #444; - white-space: nowrap; - font-weight: bold; -} - -td.paramname { - vertical-align: top; -} - -.fieldname { - color: #000; -} - -td.fieldname { - padding-right: 1em; - vertical-align: top; -} - -td.fieldtype { - vertical-align: top; - color: #444; - padding-right: 0.5em; -} - -td.fielddoc p { - margin: 0; -} - -/* @end */ -/* @group Directory (tree) */ -/* for the tree view */ -.ftvtree { - font-family: sans-serif; - margin: 0; -} - -/* these are for tree view when used as main index */ -.directory { - font-size: small; - margin: 0.5em; -} - -.directory h3 { - margin: 0; - margin-top: 1em; - font-size: 11pt; -} - -.directory > h3 { - margin-top: 0; -} - -.directory p { - margin: 0; - white-space: nowrap; -} - -.directory div { - display: none; - margin: 0; -} - -.directory img { - vertical-align: -30%; -} - -/* these are for tree view when not used as main index */ -.directory-alt { - font-size: 100%; - font-weight: bold; -} - -.directory-alt h3 { - margin: 0; - margin-top: 1em; - font-size: 11pt; -} - -.directory-alt > h3 { - margin-top: 0; -} - -.directory-alt p { - margin: 0; - white-space: nowrap; -} - -.directory-alt div { - display: none; - margin: 0; -} - -.directory-alt img { - vertical-align: -30%; -} - -/* @end */ -div.dynheader { - margin-top: 8px; -} - -address { - font-style: normal; - color: #2A3D61; -} - -table.doxtable { - border-collapse: collapse; - margin: 0.5em; -} - -table.doxtable td,table.doxtable th { - border: 1px solid #DDD; - padding: 3px 7px 2px; -} - -table.doxtable th { - background-color: #F3F3F3; - color: #000; - padding-bottom: 4px; - padding-top: 5px; - text-align: left; - font-weight: bold; -} - -.tabsearch { - top: 0; - left: 10px; - height: 36px; - z-index: 101; - overflow: hidden; - font-size: 13px; -} - -div.navpath { - padding: 0.25em; -} - -.navpath ul { - font-size: x-small; - color: #8AA0CC; - overflow: hidden; - margin: 0; - padding: 0; -} - -.navpath li { - list-style-type: none; - float: left; - padding-left: 10px; - padding-right: 15px; - color: #364D7C; -} - -.navpath a { - display: block; - text-decoration: none; - outline: none; -} - -.navpath a:hover { - color: #6884BD; -} - -div.summary { - float: right; - font-size: x-small; - padding: 0.25em 0.5em 0 0; - width: 50%; - text-align: right; -} - -div.summary a { - white-space: nowrap; -} - -div.header { - background-color: #F3F3F3; - margin: 0; - border: 0; -} - -div.headertitle { - font-size: 180%; - font-weight: bold; - color: #FFF; - padding: 0.125em 0.25em 0.125em 0.25em; - background-color: #333; - background: linear-gradient(to bottom, #333 0%, #111 100%); - border: solid 1px #444; - border-top: 0; - border-radius: 0 0 6px 6px; -} - -div.line { - font-family: monospace, fixed; - font-size: 13px; - min-height: 13px; - line-height: 1.0; - text-wrap: avoid; - white-space: pre-wrap; - text-indent: -53px; - padding-left: 53px; - padding-bottom: 0; - margin: 0; -} - -.glow { - background-color: cyan; - box-shadow: 0 0 10px cyan; -} - -span.lineno { - padding-right: 4px; - text-align: right; - border-right: 2px solid #0F0; - background-color: #E8E8E8; - white-space: pre; -} -span.lineno a { - background-color: #D8D8D8; -} - -span.lineno a:hover { - background-color: #C8C8C8; -} - -.tabs, .tabs2, .navpath { - background-image: none; - background-color: #333; - background: linear-gradient(to bottom, #333 0%, #111 100%); - border: 0; - border-bottom: solid 2px #000; - padding: 0; - padding-top: 2px; - font-size: small; -} - -#navrow1 { - border: 0; -} - -th { - text-align: left; -} - -.mlabel { - padding: 0.125em; -} - -/* tabs*/ - -.tablist { - margin: 0; - padding: 0; - display: table; -} - -.tablist li { - display: table-cell; - line-height: 2em; - list-style: none; - background-color: #333; - background: linear-gradient(to bottom, #444 0%, #222 100%); - border: 1px solid #222; - border-bottom: 0; - border-radius: 6px 6px 0 0; - color: #DDD; -} - -.tablist a { - display: block; - padding: 0 20px; - font-weight: bold; - color: #859900; - text-decoration: none; - outline: none; -} - -.header a { - color: #859900; -} - -.tabs3 .tablist a { - padding: 0 10px; -} - -.tablist a:hover { - color: #fff; - text-shadow: 0 1px 1px rgba(0, 0, 0, 1.0); - text-decoration: none; -} - -.tablist li.current a { - color: #fff; - text-shadow: 0 1px 1px rgba(0, 0, 0, 1.0); -} - -span.icon { - display: none; -} diff --git a/doc/header.html b/doc/header.html deleted file mode 100644 index d91ed6a..0000000 --- a/doc/header.html +++ /dev/null @@ -1,23 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml"> -<head> -<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> -<title>LV2: File List</title> -<link href="doxy-style.css" rel="stylesheet" type="text/css" /> -</head> -<body> -<div id="top"><!-- do not remove this div, it is closed by doxygen! --> -<div id="titlearea"> -<table cellspacing="0" cellpadding="0"> - <tbody> - <tr style="height: 56px;"> - <td style="padding-left: 0.5em;"> - <div id="projectname">LV2 -  <span id="projectnumber">1.0.13</span> - </div> - </td> - </tr> - </tbody> -</table> -</div> -<!-- end header part --> diff --git a/doc/htaccess.in b/doc/htaccess.in index 7a21951..ae5affe 100644 --- a/doc/htaccess.in +++ b/doc/htaccess.in @@ -13,12 +13,13 @@ RewriteCond %{HTTP_ACCEPT} !application/rdf\+xml.*(text/html|application/xhtml\+ RewriteCond %{HTTP_ACCEPT} text/html [OR] RewriteCond %{HTTP_ACCEPT} application/xhtml\+xml [OR] RewriteCond %{HTTP_USER_AGENT} ^Mozilla/.* -RewriteRule ^$ @NAME@.html [L] +RewriteRule ^([^.]+)$ $1.html [L] # Rewrite rule to serve Turtle content from the vocabulary URI if requested RewriteCond %{HTTP_ACCEPT} text/turtle [OR] RewriteCond %{HTTP_ACCEPT} application/x-turtle -RewriteRule ^$ @NAME@.ttl [L] +RewriteRule ^([^.]*)$ $1.ttl [L] # Serve HTML page by default -RewriteRule ^$ @NAME@.html [L] +RewriteRule ^$ index.html [L] +RewriteRule ^([^.]+)$ $1.html [L] diff --git a/doc/index.html.in b/doc/index.html.in new file mode 100644 index 0000000..3be99f4 --- /dev/null +++ b/doc/index.html.in @@ -0,0 +1,79 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <title>LV2 Specifications</title> + <meta http-equiv="Content-Type" + content="application/xhtml+xml;charset=utf-8" /> + <link rel="stylesheet" type="text/css" + href="../style/style.css" /> + </head> + <body> + + <!-- HEADER --> + <div id="topbar"> + <div id="header"> + <div id="titlebox"> + <h1 id="title">LV2 Specifications</h1> + </div> + <div id="metabox"> + <table id="meta"> + <tr><th>Version</th><td>@LV2_VERSION@</td></tr> + <tr><th>Discuss</th> + <td> + <a href="mailto:devel@lists.lv2plug.in">devel@lists.lv2plug.in</a> + <a href="http://lists.lv2plug.in/listinfo.cgi/devel-lv2plug.in">(subscribe)</a> + </td> + </tr> + </table> + </div> + </div> + </div> + + <div id="content"> + + <!-- INDEX --> + <div class="section"> + <a id="sec-index"></a> + <table class="index" summary="An index of LV2 specifications"> + <thead> + <tr> + <th>Specification</th> + <th>API</th> + <th>Description</th> + <th>Version</th> + <th>Status</th> + </tr> + </thead> + <tbody> + @ROWS@ + </tbody> + </table> + </div> + + <!-- FOOTER --> + <div id="footer"> + <div> + This document is available under the + <a about="" rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/"> + Creative Commons Attribution-ShareAlike License + </a> + </div> + <div> + Valid + <a about="" rel="dcterms:conformsTo" resource="http://www.w3.org/TR/rdfa-syntax" + href="http://validator.w3.org/check?uri=referer"> + XHTML+RDFa + </a> + and + <a about="" rel="dcterms:conformsTo" resource="http://www.w3.org/TR/CSS2" + href="http://jigsaw.w3.org/css-validator/check/referer"> + CSS + </a> + generated from the LV2 source distribution. + </div> + </div> + + </div> + </body> +</html> diff --git a/doc/mainpage.dox b/doc/mainpage.dox deleted file mode 100644 index 920ef1d..0000000 --- a/doc/mainpage.dox +++ /dev/null @@ -1,21 +0,0 @@ -/** @mainpage - * - * This is the documentation for the LV2 specification and its - * official extensions. - * - * An LV2 extension generally has two parts: the specification in - * <a href="http://www.w3.org/TeamSubmission/turtle/">Turtle</a> - * (e.g. ext.lv2/ext.ttl), and an accompanying - * <a href="http://en.wikipedia.org/wiki/C99">C</a> header (e.g. ext.lv2/ext.h). - * The header documentation is generated with <a href="http://doxygen.org"> - * Doxygen</a> and hyperlinked (in both directions) with the specification - * documentation generated from Turtle with - * <a href="http://drobilla.net/software/lv2specgen">lv2specgen</a>. - * - * \li <a href="../../ns/index.html">LV2 Specifications</a> - * \li <a href="annotated.html">Data Structures</a> - * \li <a href="files.html">Headers</a> - */ - -#define NOTHING_HERE - diff --git a/doc/ns/ext/meson.build b/doc/ns/ext/meson.build new file mode 100644 index 0000000..58aa40d --- /dev/null +++ b/doc/ns/ext/meson.build @@ -0,0 +1,68 @@ +# Copyright 2022-2025 David Robillard <d@drobilla.net> +# SPDX-License-Identifier: 0BSD OR ISC + +config = configuration_data({'BASE': '/ns/ext'}) + +spec_names = [ + 'atom', + 'buf-size', + 'data-access', + 'dynmanifest', + 'event', + 'instance-access', + 'log', + 'midi', + 'morph', + 'options', + 'parameters', + 'patch', + 'port-groups', + 'port-props', + 'presets', + 'resize-port', + 'state', + 'time', + 'uri-map', + 'urid', + 'worker', +] + +if build_docs + if get_option('online_docs') + htaccess = configure_file( + configuration: config, + input: files('..' / '..' / 'htaccess.in'), + install_dir: lv2_docdir / 'ns' / 'ext', + output: '.htaccess', + ) + endif + + foreach name : spec_names + spec_file = files(lv2_source_root / 'lv2' / name + '.lv2' / name + '.ttl') + + custom_target( + name + '.html', + command: lv2specgen_command_prefix + [ + '--docdir=../../c/html', + '--style-uri=../../style/style.css', + ] + [ + '@INPUT@', + '@OUTPUT@', + ], + depends: doc_deps, + input: spec_file, + install: true, + install_dir: lv2_docdir / 'ns' / 'ext', + output: name + '.html', + ) + + if get_option('online_docs') + configure_file( + copy: true, + input: spec_file, + install_dir: lv2_docdir / 'ns' / 'ext', + output: '@PLAINNAME@', + ) + endif + endforeach +endif diff --git a/doc/ns/extensions/meson.build b/doc/ns/extensions/meson.build new file mode 100644 index 0000000..3bf66b4 --- /dev/null +++ b/doc/ns/extensions/meson.build @@ -0,0 +1,49 @@ +# Copyright 2022-2025 David Robillard <d@drobilla.net> +# SPDX-License-Identifier: 0BSD OR ISC + +config = configuration_data({'BASE': '/ns/extensions'}) + +spec_names = [ + 'ui', + 'units', +] + +if build_docs + if get_option('online_docs') + htaccess = configure_file( + configuration: config, + input: files('..' / '..' / 'htaccess.in'), + install_dir: lv2_docdir / 'ns' / 'extensions', + output: '.htaccess', + ) + endif + + foreach name : spec_names + spec_file = files(lv2_source_root / 'lv2' / name + '.lv2' / name + '.ttl') + + custom_target( + name + '.html', + command: lv2specgen_command_prefix + [ + '--docdir=../../c/html', + '--style-uri=../../style/style.css', + ] + [ + '@INPUT@', + '@OUTPUT@', + ], + depends: doc_deps, + input: spec_file, + install: true, + install_dir: lv2_docdir / 'ns' / 'extensions', + output: name + '.html', + ) + + if get_option('online_docs') + configure_file( + copy: true, + input: spec_file, + install_dir: lv2_docdir / 'ns' / 'ext', + output: '@PLAINNAME@', + ) + endif + endforeach +endif diff --git a/doc/ns/meson.build b/doc/ns/meson.build new file mode 100644 index 0000000..3189cc2 --- /dev/null +++ b/doc/ns/meson.build @@ -0,0 +1,81 @@ +# Copyright 2022 David Robillard <d@drobilla.net> +# SPDX-License-Identifier: 0BSD OR ISC + +config = configuration_data({'BASE': '/ns'}) + +###################### +# Core Documentation # +###################### + +if build_docs + spec_file = files(lv2_source_root / 'lv2' / 'core.lv2' / 'lv2core.ttl') + + lv2_core_docs = custom_target( + 'lv2core.html', + command: lv2specgen_command_prefix + [ + '--docdir=../c/html', + '--style-uri=../style/style.css', + ] + [ + '@INPUT@', + '@OUTPUT@', + ], + input: spec_file, + output: 'lv2core.html', + depends: doc_deps, + install: true, + install_dir: lv2_docdir / 'ns', + ) + + if get_option('online_docs') + htaccess = configure_file( + configuration: config, + input: files('..' / 'htaccess.in'), + install_dir: lv2_docdir / 'ns', + output: '.htaccess', + ) + + configure_file( + copy: true, + input: spec_file, + install_dir: lv2_docdir / 'ns' / 'ext', + output: '@PLAINNAME@', + ) + endif +endif + +########################### +# Extension Documentation # +########################### + +subdir('ext') +subdir('extensions') + +######### +# Index # +######### + +lv2_build_index = find_program( + lv2_source_root / 'scripts' / 'lv2_build_index.py', +) + +lv2_build_index_command = [ + lv2_build_index, + ['--lv2-version', meson.project_version()], + ['--lv2-source-root', lv2_source_root], +] + +if get_option('online_docs') + lv2_build_index_command += [ + '--online', + ] +endif + +index = custom_target( + 'index.html', + capture: true, + command: lv2_build_index_command + ['@INPUT@'], + input: spec_files, + install: true, + install_dir: lv2_docdir / 'ns', + output: 'index.html', +) diff --git a/doc/pygments.css b/doc/pygments.css deleted file mode 100644 index 18dd6c2..0000000 --- a/doc/pygments.css +++ /dev/null @@ -1,62 +0,0 @@ -.hll { background-color: #ffffcc } -.c { color: #408080; font-style: italic } /* Comment */ -.err { border: 1px solid #FF0000 } /* Error */ -.k { color: #BB712B; } /* Keyword */ -.o { color: #666666 } /* Operator */ -.cm { color: #408080; font-style: italic } /* Comment.Multiline */ -.cp { color: #D33682 } /* Comment.Preproc */ -.c1 { color: #408080; font-style: italic } /* Comment.Single */ -.cs { color: #408080; font-style: italic } /* Comment.Special */ -.gd { color: #A00000 } /* Generic.Deleted */ -.ge { font-style: italic } /* Generic.Emph */ -.gr { color: #FF0000 } /* Generic.Error */ -.gh { color: #000080; font-weight: bold } /* Generic.Heading */ -.gi { color: #00A000 } /* Generic.Inserted */ -.go { color: #808080 } /* Generic.Output */ -.gp { color: #000080; font-weight: bold } /* Generic.Prompt */ -.gs { font-weight: bold } /* Generic.Strong */ -.gu { color: #800080; font-weight: bold } /* Generic.Subheading */ -.gt { color: #0040D0 } /* Generic.Traceback */ -.kc { color: #008000; font-weight: bold } /* Keyword.Constant */ -.kd { color: #008000; font-weight: bold } /* Keyword.Declaration */ -.kn { color: #008000; font-weight: bold } /* Keyword.Namespace */ -.kp { color: #008000 } /* Keyword.Pseudo */ -.kr { color: #008000; font-weight: bold } /* Keyword.Reserved */ -.kt { color: #3E873E } /* Keyword.Type */ -.m { color: #666666 } /* Literal.Number */ -.s { color: #BA2121 } /* Literal.String */ -.na { color: #7D9029 } /* Name.Attribute */ -.nb { color: #008000 } /* Name.Builtin */ -.nc { color: #000000; font-weight: bold } /* Name.Class */ -.no { color: #880000 } /* Name.Constant */ -.nd { color: #AA22FF } /* Name.Decorator */ -.ni { color: #999999; font-weight: bold } /* Name.Entity */ -.ne { color: #D2413A; font-weight: bold } /* Name.Exception */ -.nf { color: #222222; font-weight: bold } /* Name.Function */ -.nl { color: #A0A000 } /* Name.Label */ -.nn { color: #000000 } /* Name.Namespace */ -.nt { color: #334433; } /* Name.Tag */ -.nv { color: #19177C } /* Name.Variable */ -.ow { color: #AA22FF; font-weight: bold } /* Operator.Word */ -.w { color: #bbbbbb } /* Text.Whitespace */ -.mf { color: #666666 } /* Literal.Number.Float */ -.mh { color: #666666 } /* Literal.Number.Hex */ -.mi { color: #666666 } /* Literal.Number.Integer */ -.mo { color: #666666 } /* Literal.Number.Oct */ -.sb { color: #BA2121 } /* Literal.String.Backtick */ -.sc { color: #BA2121 } /* Literal.String.Char */ -.sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */ -.s2 { color: #BA2121 } /* Literal.String.Double */ -.se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */ -.sh { color: #BA2121 } /* Literal.String.Heredoc */ -.si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */ -.sx { color: #008000 } /* Literal.String.Other */ -.sr { color: #BB6688 } /* Literal.String.Regex */ -.s1 { color: #BA2121 } /* Literal.String.Single */ -.ss { color: #19177C } /* Literal.String.Symbol */ -.bp { color: #008000 } /* Name.Builtin.Pseudo */ -.vc { color: #19177C } /* Name.Variable.Class */ -.vg { color: #19177C } /* Name.Variable.Global */ -.vi { color: #19177C } /* Name.Variable.Instance */ -.il { color: #666666 } /* Literal.Number.Integer.Long */ -.p { color: #999999 } /* Punctuation */ diff --git a/doc/style.css b/doc/style.css deleted file mode 100644 index 7f154ec..0000000 --- a/doc/style.css +++ /dev/null @@ -1,694 +0,0 @@ -/* Pygments Style */ - -.hll { background-color: #ffffcc } -.c { color: #408080; font-style: italic } /* Comment */ -.err { border: 1px solid #FF0000 } /* Error */ -.k { color: #BB712B; } /* Keyword */ -.o { color: #666666 } /* Operator */ -.cm { color: #408080; font-style: italic } /* Comment.Multiline */ -.cp { color: #D33682 } /* Comment.Preproc */ -.c1 { color: #408080; font-style: italic } /* Comment.Single */ -.cs { color: #408080; font-style: italic } /* Comment.Special */ -.gd { color: #A00000 } /* Generic.Deleted */ -.ge { font-style: italic } /* Generic.Emph */ -.gr { color: #FF0000 } /* Generic.Error */ -.gh { color: #000080; font-weight: bold } /* Generic.Heading */ -.gi { color: #00A000 } /* Generic.Inserted */ -.go { color: #808080 } /* Generic.Output */ -.gp { color: #000080; font-weight: bold } /* Generic.Prompt */ -.gs { font-weight: bold } /* Generic.Strong */ -.gu { color: #800080; font-weight: bold } /* Generic.Subheading */ -.gt { color: #0040D0 } /* Generic.Traceback */ -.kc { color: #008000; font-weight: bold } /* Keyword.Constant */ -.kd { color: #008000; font-weight: bold } /* Keyword.Declaration */ -.kn { color: #008000; font-weight: bold } /* Keyword.Namespace */ -.kp { color: #008000 } /* Keyword.Pseudo */ -.kr { color: #008000; font-weight: bold } /* Keyword.Reserved */ -.kt { color: #3E873E } /* Keyword.Type */ -.m { color: #666666 } /* Literal.Number */ -.s { color: #BA2121 } /* Literal.String */ -.na { color: #7D9029 } /* Name.Attribute */ -.nb { color: #008000 } /* Name.Builtin */ -.nc { color: #000000; font-weight: bold } /* Name.Class */ -.no { color: #880000 } /* Name.Constant */ -.nd { color: #AA22FF } /* Name.Decorator */ -.ni { color: #999999; font-weight: bold } /* Name.Entity */ -.ne { color: #D2413A; font-weight: bold } /* Name.Exception */ -.nf { color: #222222; font-weight: bold } /* Name.Function */ -.nl { color: #A0A000 } /* Name.Label */ -.nn { color: #000000 } /* Name.Namespace */ -.nt { color: #334433; } /* Name.Tag */ -.nv { color: #19177C } /* Name.Variable */ -.ow { color: #AA22FF; font-weight: bold } /* Operator.Word */ -.w { color: #bbbbbb } /* Text.Whitespace */ -.mf { color: #666666 } /* Literal.Number.Float */ -.mh { color: #666666 } /* Literal.Number.Hex */ -.mi { color: #666666 } /* Literal.Number.Integer */ -.mo { color: #666666 } /* Literal.Number.Oct */ -.sb { color: #BA2121 } /* Literal.String.Backtick */ -.sc { color: #BA2121 } /* Literal.String.Char */ -.sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */ -.s2 { color: #BA2121 } /* Literal.String.Double */ -.se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */ -.sh { color: #BA2121 } /* Literal.String.Heredoc */ -.si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */ -.sx { color: #008000 } /* Literal.String.Other */ -.sr { color: #BB6688 } /* Literal.String.Regex */ -.s1 { color: #BA2121 } /* Literal.String.Single */ -.ss { color: #19177C } /* Literal.String.Symbol */ -.bp { color: #008000 } /* Name.Builtin.Pseudo */ -.vc { color: #19177C } /* Name.Variable.Class */ -.vg { color: #19177C } /* Name.Variable.Global */ -.vi { color: #19177C } /* Name.Variable.Instance */ -.il { color: #666666 } /* Literal.Number.Integer.Long */ -.p { color: #999999 } /* Punctuation */ - -/* Specgen style */ - -html, body { - background: #FFF; - color: #000; - margin: 0; - padding: 0; - max-width: 60em; - margin-left: auto; - margin-right: auto; -} -a:link, a:visited { - text-decoration: none; -} -a:link { - color: #546E00; -} -a:visited { - color: #354500; -} -a:hover { - text-decoration: underline; -} -img { - border: 0; -} -h1, h2, h3, h4, h5, h6 { - line-height: 1em; - margin: 0.75em 0 0.5em 0; -} -h1 { - font-size: 180%; - font-weight: 900; -} -h2 { - font-size: 140%; - font-weight: 700; -} -h3 { - font-size: 120%; - font-weight: 700; -} -h4 { - font-size: 110%; - font-weight: 700; -} -h5 { - font-size: 100%; - font-weight: 700; -} -h6 { - font-size: 100%; - font-weight: 600; -} -#titlebox, #meta { - display: inline-block; -} -#titlebox{ - display: inline-block; - width: 75%; - left: 0; - top: 0; -} -#meta { - display: inline-block; - position: absolute; - right: 0; - top: 0; - padding: 0.125em; - font-size: x-small; - border-style: hidden; -} -#meta tr, #meta th, #meta td { - border: 0; - font-weight: normal; - padding: 0.125em 0.25em 0.125em 0.25em; - background-color: transparent; -} -#meta th { - text-align: right; -} -#meta th:after { - content: ": "; -} -#subtitle { - font-size: small; -} -#shortdesc { - font-size: small; - margin-top: 0.25em; -} -#logo { - height: 63px; - margin-left: 1em; - margin-top: 10px; - width: 100px; -} -#content-body { - border-bottom: 0; - display: block; - font-size: 75%; - left: 0; - margin-left: 2em; - min-width: 660px; - padding: 3px 10px 0 0; - position: absolute; - top: 63px; - width: 93.900002%; - z-index: 0; -} -#body-main { - font-size: 100%; - line-height: 1.4em; - margin-left: 19em; - padding: 0 .55em 40px 0; -} -#left-hand-navigation { - left: 1ex; - position: absolute; - top: 100px; - z-index: 1; -} -#menu { - font-size: 75%; - margin-bottom: 5px; - padding: 0; - width: 16em; -} -#menu ul { - border: 0; - list-style: none; - margin: 0; - padding: 0; -} -#menu ul.level-one a { - background-color: #f5f5f5; - border: 1px solid #dadada; - color: #4b5a6a; - display: block; - margin: 0 0 4px 1.4em; - padding: 2px 2px 2px 4px; - text-transform: uppercase; - width: 13.4em!important; -} -#menu ul.level-one a.selected { - background-color: #FFF; - border-left: 3px solid #ffdb4c; - color: #000; -} -#menu ul.level-two li:first-child a { - border-top: 0; -} -#menu ul.level-two a { - background: none; - background-color: transparent; - border: 0; - border-top: 1px solid #ddd; - color: #3c4b7b; - display: block; - margin: 0 3em 0 1.5em; - padding: .1em; - text-transform: none; - width: 11em!important; -} -#menu ul.level-two a:visited { - color: #4c3b5b; -} -#menu ul.level-one ul.level-two a.selected { - background-color: #FFF; - border-left: 0; - color: #000; - font-weight: 700; -} -#menu li ul { - margin-bottom: 7px; -} -#menu a { - text-decoration: none; -} -#menu ul.level-three a { - border: 0; - color: #5e72a5; - display: block; - font-size: 95%; - margin: 0 3em 0 1.8em; - padding: .1em .1em .1em 1em; - width: 10em!important; -} -#menu ul.level-three li.selected a.selected { - color: #000; - font-weight: 400; -} -#menu ul.level-three { - margin-top: 5px; -} -#left-hand-navigation h4 { - color: #4c5b6b; - font-size: 77%; - margin: .2em 0 .3em; - padding: .4em 0 0 1.5em; -} -#left-hand-navigation h4 a { - color: #4c5b6b; - font-weight: 700; - text-decoration: none; -} -#body-main ul, #body-main li { - margin-left: 1em; - padding-left: 0; -} -#utility-menu { - font-size: 88%; - height: 85px; - margin: 0; - padding: 0; - position: absolute; - right: 4%; - top: 0; - width: 400px; - z-index: 1; -} -#utility-menu a { - color: #436a85; - padding: 0 .5em; - text-decoration: none; -} -#utility-menu a:hover { - text-decoration: underline; -} -#utility-menu #screen-switcher { - bottom: 0; - margin: 0; - padding: 0; - position: absolute; - right: 0; -} -#screen-switcher dl { - margin: 0; - padding: 0; -} -#searchbox { - font-weight: 700; - position: absolute; - right: 0; - text-align: right; - top: 0; - vertical-align: middle; - white-space: nowrap; - width: 28.1em; -} -#search { - color: #a38e60; - padding: 5px 5px 0 0; -} -#search .input-text { - background-color: #FFF; - border: 1px solid #c4cccc; - font-size: 116%; - font-weight: 400; - margin-top: 3px; - vertical-align: top; - width: 11em; -} -#search .input-button { - background-color: #f8f7f7; - border-bottom: 1px solid #6f7777; - border-left: 1px solid #c4cccc; - border-right: 1px solid #6f7777; - border-top: 1px solid #c4cccc; - color: #234; - font-weight: 700; - margin: 3px .4em 0; - padding: 0 .2em; - vertical-align: text-top; -} -input.formbutton { - background-color: #f8f7f7; - border-bottom: 1px solid #6f7777; - border-left: 1px solid #c4cccc; - border-right: 1px solid #6f7777; - border-top: 1px solid #c4cccc; - color: #234; - font-weight: 700; - vertical-align: text-top; -} -.formtextinput { - background-color: #FFF; - border: 1px solid #c4cccc; - font-size: 116%; - font-weight: 400; - vertical-align: top; -} -#content table { - clear: right; -} -#body-main h1.pageheading { - margin: 40px 0 10px; -} -.content-section { - margin-top: 15px; -} -.content-section h1 { - margin: 0 0 10px; -} -.content-section p { - margin: 0 0 5px; - padding-left: 12px; -} -.content-section .pubdate { - color: #696969; - margin: 0 0 8px; - padding: 0 0 0 12px; -} -blockquote { - border-left: 1px solid #ccc; - margin-left: 1em; - padding-left: 1em; -} -#utility-menu dl { - font-size: 80%; - font-weight: 700; - text-align: right; -} -#utility-menu dd { - display: inline; - font-weight: 400; - padding: 0 0 0 8px; -} -#utility-menu dd a { - color: #888; - margin: 0; - padding: 0; -} -#utility-menu dt { - margin: 0; -} -#footer { - bottom: 0; - clear: both; - font-size: x-small; - margin: 2em 0 0; - padding: 0 1em 1em 1em; - vertical-align: top; - color: #888; -} - -#searchbox a.reference, #searchbox span.reference { - color: #339; - font-size: 85%; - font-weight: 400; - position: absolute; - right: 8.3em; - text-decoration: none; - top: 2.9em; -} -#body-main .success p { - margin: 4px 8px; -} -body { - background: #FFF; - color: #000; - margin: 0; -} -:link { - background: transparent; - color: #00C; -} -:visited { - background: transparent; - color: #609; -} -a:active { - background: transparent; - color: #C00; -} -.sec { - color: #000; - margin: 0.5em 0 0.5em 0; - padding: 1ex 0 0.5ex 0; -} -ul, ol { - margin-top: 0; - padding-top: 0; - margin: 0 0 0.5ex 0; -} -@media print { - #topbar { - color: #000; - margin: 0; - margin-left: auto; - margin-right: auto; - padding: 0.25em 0.5em 0.5em 0.5em; - max-width: 60em; - position: relative; - border-bottom: solid 1px #DDD; - } - #topbar a, #topbar a:visited { - color: #000 - } - #title a, #title a:visited { - color: #000; - } - #contents { - display: none; - } -} -@media screen { - #topbar { - background-color: #222; - background: linear-gradient(to bottom, #333 0%, #111 100%); - border-bottom: solid 2px #333; - border-left: solid 2px #333; - border-right: solid 2px #333; - border-radius: 0 0 6px 6px; - color: #EEE; - margin: 0; - margin-left: auto; - margin-right: auto; - padding: 0.25em 0.5em 0 0.5em; - max-width: 60em; - position: relative; - } - #topbar a, #topbar a:visited { - color: #9DB359; - } - #title a, #title a:visited { - color: #FFF; - } - #contents { - margin-top: 0.25em; - padding: 0.25ex 0 0 0; - vertical-align: middle; - font-size: small; - } - #contents li { - display: inline; - list-style-type: none; - margin-right: 1.25em; - padding: 0.25ex; - } -} -#title { - font-size: 200%; - font-weight: 700; - margin: 0; - padding: 0; -} -.content { - padding: 0 0.5em 0 0.5em; - margin: 0; - max-width: 60em; - margin-left: auto; - margin-right: auto; -} -.label { - font-style: italic; -} -.index, table { - border-collapse: initial; - border-spacing: 0; - border-radius: 6px; -} -table th { - border: 0; - border-right: 1px solid #666; - border-bottom: 1px solid #666; -} -table tr:first-child th { - border-top: 1px solid #666; -} -table td { - vertical-align: top; - border: 0; - border-right: 1px solid #666; - border-bottom: 1px solid #666; -} -table td:first-child { - border-left: 1px solid #666; -} -.index ul { - padding-left: 1em; - border-collapse: initial; -} -table thead tr th:first-child, -table tbody:first-child tr:first-child th:first-child { - border-top-left-radius: 6px; - border-left: 1px solid #666; -} -table thead tr th:last-child, -table tbody:first-child tr:first-child th:last-child, -table tbody:first-child tr:first-child td:last-child { - border-top: 1px solid #666; - border-top-right-radius: 6px; -} -table tbody tr:last-child td:first-child, -table tbody tr:last-child th:first-child { - border-bottom-left-radius: 6px; - border-left: 1px solid #666; -} -table tbody tr th:first-child { - border-left: 1px solid #666; -} -table tbody tr:last-child td:last-child, -table tr:last-child td:last-child { - border-bottom-right-radius: 6px; -} -.prop { - margin: 0; - padding: 0; -} -.description { - margin-top: 0.25em; - margin-bottom: 0.75em; -} -.blankdesc { - margin: 0 0 0.5em 0; - padding: 0 0 0.5em 0; -} -.blankdesc tbody tr td, .blankdef { - border: 0!important; -} -.terminfo, .restriction { - border-collapse: collapse; - border-style: hidden; -} -.restriction { - margin: 0 0 0.5ex 0; - padding: 0; - vertical-align: text-top; -} -.restriction td { - vertical-align: text-top; -} -.terminfo th { - padding: 0 0.75em 0.125em 0; - border: 0; - vertical-align: top; -} -.terminfo td, .terminfo td:first-child { - padding: 0 1em 0 0; - border: 0; -} -.specterm { - border: 0; - margin: 0; - padding: 0; - margin-bottom: 1em; -} -.specterm h3 { - font-size: large; - font-weight: bold; - margin: 0; -} -.spectermbody { - padding: 0 1em 1em 2em; -} -dl { - margin: 0; - padding: 0; -} -dt { - font-weight: 700; - margin-top: .75ex; -} -hr { - background-color: #DDD; - border: 0; - color: gray; - height: 1px; - margin-bottom: 1.5ex; - margin-top: 1.5ex; -} -div.head { - margin-bottom: 1em; -} -div.head h1 { - clear: both; - margin-top: 2em; -} -div.head table { - margin-left: 2em; - margin-top: 2em; -} -table { - border-collapse: initial; - border-spacing: 0; - margin: 0; - border: 0; -} -td, th { - border: 1px solid #666; - padding: 0.25em 0.5em 0.25em 0.5em; -} -th { - font-weight: bold; - text-align: left; -} -pre { - margin: 1em 1em 1em 4em; - padding: 0; - color: #444; - font-family: fixed,monospace; -} -code { - color: #444; - font-family: fixed,monospace; -} -#menu li, #searchbox form, #iconbar li, #body-main .success p a { - display: inline; -} -#menu ul.level-one a:hover, #menu ul.level-two a:hover, #menu ul.level-three a:hover, #left-hand-navigation h4 a:hover { - color: #000; - text-decoration: underline; -} -h1, h2, h3, h4, h5, h6, th { - text-align: left; -} -.error { - color: #DC322F; - font-weight: bold; -} -.warning { - color: #B58900; - font-weight: bold; -} -.success { - color: #859900; - font-weight: bold; -} diff --git a/doc/asciidoc.css b/doc/style/asciidoc.css index 59bf677..2e64544 100644 --- a/doc/asciidoc.css +++ b/doc/style/asciidoc.css @@ -435,7 +435,7 @@ th.tableblock { td.tableblock, th.tableblock { border: 1px dashed #ccc; } -/* Because the table frame attribute is overriden by CSS in most browsers. */ +/* Because the table frame attribute is overridden by CSS in most browsers. */ div.tableblock > table[frame="void"] { border-style: none; } diff --git a/doc/style/meson.build b/doc/style/meson.build new file mode 100644 index 0000000..39e9242 --- /dev/null +++ b/doc/style/meson.build @@ -0,0 +1,13 @@ +# Copyright 2022 David Robillard <d@drobilla.net> +# SPDX-License-Identifier: 0BSD OR ISC + +style_files = files('pygments.css', 'style.css') + +foreach file : style_files + configure_file( + copy: true, + input: file, + install_dir: lv2_docdir / 'style', + output: '@PLAINNAME@', + ) +endforeach diff --git a/doc/style/pygments.css b/doc/style/pygments.css new file mode 100644 index 0000000..2472b1a --- /dev/null +++ b/doc/style/pygments.css @@ -0,0 +1,558 @@ +/* Light (default) theme */ + +.n { + color: #222; +} + +.c { + color: #3F4D91; + font-style: italic; +} + +.err { + border: 1px solid #DC322F; +} + +.k { + color: #586E75; +} + +.o { + color: #586E75; +} + +.cm { + color: #3F4D91; + font-style: italic; +} + +.cp { + color: #586E75; +} + +.cpf { + color: #93115C; +} + +.c1 { + color: #3F4D91; + font-style: italic; +} + +.cs { + color: #3F4D91; + font-style: italic; +} + +.gd { + color: #990A1B; +} + +.ge { + font-style: italic; +} + +.gr { + color: #DC322F; +} + +.gh { + color: #3F4D91; + font-weight: bold; +} + +.gi { + color: #859900; +} + +.go { + color: #666; +} + +.gp { + color: #666; + font-weight: bold; +} + +.gs { + font-weight: bold; +} + +.gu { + color: #444; + font-weight: bold; +} + +.gt { + color: #268BD2; +} + +.kc { + color: #586E75; + font-weight: bold; +} + +.kd { + color: #586E75; + font-weight: bold; +} + +.kn { + color: #586E75; + font-weight: bold; +} + +.kp { + color: #586E75; +} + +.kr { + color: #586E75; + font-weight: bold; +} + +.kt { + color: #586E75; +} + +.m { + color: #666; +} + +.s { + color: #93115C; +} + +.na { + color: #444; +} + +.nb { + color: #3F4D91; +} + +.nc { + color: #000; +} + +.no { + color: #880; +} + +.nd { + color: #A2F; +} + +.ni { + color: #666; + font-weight: bold; +} + +.ne { + color: #D2413A; + font-weight: bold; +} + +.nf { + color: #000; +} + +.nl { + color: #546E00; +} + +.nn { + color: #444; +} + +.nt { + color: #444; +} + +.nv { + color: #222; +} + +.ow { + color: #3F4D91; +} + +.w { + color: #BBB; +} + +.mb { + color: #93115C; + font-weight: bold; +} + +.mf { + color: #93115C; +} + +.mh { + color: #93115C; + font-weight: bold; +} + +.mi { + color: #93115C; +} + +.mo { + color: #93115C; + font-weight: bold; +} + +.sb { + color: #93115C; +} + +.sc { + color: #93115C; +} + +.sd { + color: #3F4D91; + font-style: italic; +} + +.s2 { + color: #93115C; +} + +.se { + color: #93115C; + font-weight: bold; +} + +.sh { + color: #93115C; +} + +.si { + color: #93115C; + font-weight: bold; +} + +.sx { + color: #93115C; +} + +.sr { + color: #93115C; + font-weight: bold; +} + +.s1 { + color: #93115C; +} + +.ss { + color: #444; + font-weight: bold; +} + +.bp { + color: #859900; +} + +.vc { + color: #00629D; +} + +.vg { + color: #00629D; +} + +.vi { + color: #00629D; +} + +.il { + color: #000; +} + +.p { + color: #444; +} + +/* Dark theme */ +@media (prefers-color-scheme: dark) { + .n { + color: #BBB; + } + + .c { + color: #6C71C4; + font-style: italic; + } + + .err { + border: 1px solid #FF6E64; + } + + .k { + color: #93A1A1; + } + + .o { + color: #93A1A1; + } + + .cm { + color: #6C71C4; + font-style: italic; + } + + .cp { + color: #93A1A1; + } + + .cpf { + color: #D33682; + } + + .c1 { + color: #6C71C4; + font-style: italic; + } + + .cs { + color: #6C71C4; + font-style: italic; + } + + .gd { + color: #DC322F; + } + + .ge { + font-style: italic; + } + + .gr { + color: #FF6E64; + } + + .gh { + color: #6C71C4; + font-weight: bold; + } + + .gi { + color: #859900; + } + + .go { + color: #666; + } + + .gp { + color: #666; + font-weight: bold; + } + + .gs { + font-weight: bold; + } + + .gu { + color: #BBB; + font-weight: bold; + } + + .gt { + color: #69B7F0; + } + + .kc { + color: #93A1A1; + font-weight: bold; + } + + .kd { + color: #93A1A1; + font-weight: bold; + } + + .kn { + color: #93A1A1; + font-weight: bold; + } + + .kp { + color: #93A1A1; + } + + .kr { + color: #93A1A1; + font-weight: bold; + } + + .kt { + color: #93A1A1; + } + + .m { + color: #999; + } + + .s { + color: #D33682; + } + + .na { + color: #BBB; + } + + .nb { + color: #6C71C4; + } + + .nc { + color: #FFF; + } + + .no { + color: #880; + } + + .nd { + color: #A2F; + } + + .ni { + color: #999; + font-weight: bold; + } + + .ne { + color: #D2413A; + font-weight: bold; + } + + .nf { + color: #FFF; + } + + .nl { + color: #546E00; + } + + .nn { + color: #BBB; + } + + .nt { + color: #BBB; + } + + .nv { + color: #DDD; + } + + .ow { + color: #6C71C4; + } + + .w { + color: #BBB; + } + + .mb { + color: #D33682; + font-weight: bold; + } + + .mf { + color: #D33682; + } + + .mh { + color: #D33682; + font-weight: bold; + } + + .mi { + color: #D33682; + } + + .mo { + color: #D33682; + font-weight: bold; + } + + .sb { + color: #D33682; + } + + .sc { + color: #D33682; + } + + .sd { + color: #6C71C4; + font-style: italic; + } + + .s2 { + color: #D33682; + } + + .se { + color: #D33682; + font-weight: bold; + } + + .sh { + color: #D33682; + } + + .si { + color: #D33682; + font-weight: bold; + } + + .sx { + color: #D33682; + } + + .sr { + color: #D33682; + font-weight: bold; + } + + .s1 { + color: #D33682; + } + + .ss { + color: #BBB; + font-weight: bold; + } + + .bp { + color: #859900; + } + + .vc { + color: #268BD2; + } + + .vg { + color: #268BD2; + } + + .vi { + color: #268BD2; + } + + .il { + color: #FFF; + } + + .p { + color: #BBB; + } +} diff --git a/doc/style/style.css b/doc/style/style.css new file mode 100644 index 0000000..fca399e --- /dev/null +++ b/doc/style/style.css @@ -0,0 +1,805 @@ +@import "./pygments.css"; + +/* Generic page style */ + +html { + background: #FFF; + color: #222; +} + +body { + font-family: "DejaVu Sans", "SF Pro Text", Verdana, sans-serif; + font-style: normal; + line-height: 1.6em; + margin-left: auto; + margin-right: auto; + max-width: 60em; + padding: 1em; +} + +h1 { + font-family: "DejaVu Sans Condensed", Helvetica, Arial, sans-serif; + font-size: 2.38em; + font-weight: 600; + line-height: 1.41em; + margin: 0 0 0.25em; +} + +h2 { + font-family: "DejaVu Sans Condensed", Helvetica, Arial, sans-serif; + font-size: 1.68em; + font-weight: 600; + line-height: 1.3em; + margin: 1.25em 0 0.5em; +} + +h3 { + font-family: "DejaVu Sans Condensed", Helvetica, Arial, sans-serif; + font-size: 1.41em; + font-weight: 600; + line-height: 1.19em; + margin: 1.25em 0 0.5em; +} + +h4 { + font-family: "DejaVu Sans Condensed", Helvetica, Arial, sans-serif; + font-size: 1.19em; + font-weight: 600; + line-height: 1.09em; + margin: 1.25em 0 0.5em; +} + +h5, h6 { + font-family: "DejaVu Sans Condensed", Helvetica, Arial, sans-serif; + font-size: 1em; + font-weight: 600; + line-height: 1em; + margin: 1.25em 0 0.5em; +} + +a { + color: #546E00; + text-decoration: none; +} + +h1 a, h2 a, h3 a, h4 a, h5 a, h6 a { + color: #222; +} + +a:link { + color: #546E00; + text-decoration: none; +} + +a:visited { + color: #546E00; +} + +a:hover { + text-decoration: underline; +} + +h1 a:link, h2 a:link, h3 a:link, h4 a:link, h5 a:link, h6 a:link { + color: #222; +} + +h1 a:visited, h2 a:visited, h3 a:visited, h4 a:visited, h5 a:visited, h6 a:visited { + color: #222; +} + +img { + border: 0; +} + +p { + margin: 0.5em 0; +} + +blockquote { + border-left: 1px solid #CCC; + margin-left: 1em; + padding-left: 1em; +} + +pre, code, kbd, samp { + color: #444; + font-family: "DejaVu Sans Mono", "SF Mono", Consolas, monospace; + margin: 1em 0; + white-space: pre; +} + +ul, ol { + margin: 0 0 0.5em; + padding-top: 0; +} + +dt { + font-weight: 600; + margin: 0.75em 0 0.125em; +} + +dt::after { + content: ": "; + margin-right: 0.5em; +} + +hr { + background-color: #EEE; + border: 0; + color: #666; + height: 1px; + margin-bottom: 1.5ex; + margin-top: 1.5ex; +} + +table { + border-collapse: collapse; + border-spacing: 1em 1em; + border-style: hidden; + border: 0; + margin: 0; +} + +th { + border: 1px solid #EEE; + padding: 0.25em 0.5em; + text-align: left; +} + +table tbody tr th { + text-align: left; +} + +td { + border: 1px solid #EEE; + padding: 0.25em 0.5em; + vertical-align: top; +} + +caption { + caption-side: bottom; + font-size: small; + font-style: italic; + margin: 0.75em 0; +} + +footer { + color: #444; + font-size: small; +} + +/* Specgen style */ + +#titlebox { + display: inline-block; + max-width: 60%; + left: 0; + top: 0; +} + +#metabox { + display: inline-block; + font-size: x-small; + font-family: "DejaVu Sans Condensed", Helvetica, Arial, sans-serif; + position: absolute; + right: 0; + bottom: 0.25em; + color: #666; + font-style: italic; +} + +#meta { + border-style: hidden; +} + +#meta tr, #meta th, #meta td { + border: 0; + font-weight: normal; + padding: 0 0 0.125em; + background-color: transparent; +} + +#meta th { + padding-right: 0.5em; + text-align: right; +} + +#meta th::after { + content: ": "; +} + +#subtitle { + font-size: small; +} + +#shortdesc { + padding: 0; + margin: 0 0 0.5em; + font-style: italic; + color: #666; + display: inline-block; +} + +#logo { + height: 63px; + margin-left: 1em; + margin-top: 10px; + width: 100px; +} + +#titlesep { + color: #EEE; +} + +#content-body { + border-bottom: 0; + display: block; + font-size: 75%; + left: 0; + margin-left: 2em; + min-width: 660px; + padding: 3px 10px 0 0; + position: absolute; + top: 63px; + width: 93.9%; + z-index: 0; +} + +#menu { + font-size: 75%; + margin-bottom: 5px; + padding: 0; + width: 16em; +} + +#menu ul { + border: 0; + list-style: none; + margin: 0; + padding: 0; +} + +#menu a { + text-decoration: none; +} + +#menu ul.level-one a { + background-color: #F5F5F5; + border: 1px solid #DADADA; + color: #4B5A6A; + display: block; + margin: 0 0 4px 1.4em; + padding: 2px 2px 2px 4px; + text-transform: uppercase; + width: 13.4em !important; +} + +#menu ul.level-two a { + background: none; + background-color: transparent; + border: 0; + border-top: 1px solid #DDD; + color: #3C4B7B; + display: block; + margin: 0 3em 0 1.5em; + padding: 0.1em; + text-transform: none; + width: 11em !important; +} + +#menu ul.level-three a { + border: 0; + color: #5E72A5; + display: block; + font-size: 95%; + margin: 0 3em 0 1.8em; + padding: 0.1em 0.1em 0.1em 1em; + width: 10em !important; +} + +#menu ul.level-one a:hover, +#menu ul.level-two a:hover, +#menu ul.level-three a:hover { + color: #000; + text-decoration: underline; +} + +#menu ul.level-one a.selected { + background-color: #FFF; + border-left: 3px solid #FFDB4C; + color: #000; +} + +#menu ul.level-two a:visited { + color: #4C3B5B; +} + +#menu ul.level-two li:first-child a { + border-top: 0; +} + +#menu ul.level-one ul.level-two a.selected { + background-color: #FFF; + border-left: 0; + color: #000; + font-weight: 700; +} + +#menu li ul { + margin-bottom: 7px; +} + +#menu ul.level-three li.selected a.selected { + color: #000; + font-weight: 400; +} + +#menu ul.level-three { + margin-top: 5px; +} + +#searchbox { + font-weight: 700; + position: absolute; + right: 0; + text-align: right; + top: 0; + vertical-align: middle; + white-space: nowrap; + width: 28.1em; +} + +#search { + color: #A38E60; + padding: 5px 5px 0 0; +} + +#search .input-text { + background-color: #FFF; + border: 1px solid #C4CCCC; + font-size: 116%; + font-weight: 400; + margin-top: 3px; + vertical-align: top; + width: 11em; +} + +#search .input-button { + background-color: #F8F7F7; + border-bottom: 1px solid #6F7777; + border-left: 1px solid #C4CCCC; + border-right: 1px solid #6F7777; + border-top: 1px solid #C4CCCC; + color: #234; + font-weight: 700; + margin: 3px 0.4em 0; + padding: 0 0.2em; + vertical-align: text-top; +} + +input.formbutton { + background-color: #F8F7F7; + border-bottom: 1px solid #6F7777; + border-left: 1px solid #C4CCCC; + border-right: 1px solid #6F7777; + border-top: 1px solid #C4CCCC; + color: #234; + font-weight: 700; + vertical-align: text-top; +} + +.formtextinput { + background-color: #FFF; + border: 1px solid #C4CCCC; + font-size: 116%; + font-weight: 400; + vertical-align: top; +} + +#content table { + clear: right; +} + +.content-section { + margin-top: 15px; +} + +.content-section h1 { + margin: 0 0 10px; +} + +.content-section p { + margin: 0 0 5px; + padding-left: 12px; +} + +.content-section .pubdate { + color: #696969; + margin: 0 0 8px; + padding: 0 0 0 12px; +} + +#footer { + bottom: 0; + clear: both; + font-size: x-small; + margin: 2em 0 0; + padding: 0; + color: #888; +} + +#searchbox a.reference, #searchbox span.reference { + color: #339; + font-size: 85%; + font-weight: 400; + position: absolute; + right: 8.3em; + text-decoration: none; + top: 2.9em; +} + +#topbar { + line-height: 1em; + border-bottom: 1px solid #EEE; +} + +@media print { + #topbar { + color: #000; + margin: 0.25em auto; + padding: 0.25em 0.5em 0.5em; + max-width: 60em; + position: relative; + } + + #contentsbox { + display: none; + } + + #topbar a, #title a, #topbar a:visited, #title a:visited { + color: #000; + } + + #contents { + display: none; + } +} + +@media screen { + #topbar { + margin: 0.25em auto; + padding: 0; + max-width: 60em; + position: relative; + } + + #contentsbox { + color: #546E00; + font-size: small; + margin: 0 0 1.5em; + } + + #contents { + display: inline; + padding: 0; + } + + #contents li { + display: inline; + list-style-type: none; + margin-left: 0; + margin-right: 0.5em; + padding: 0.25ex 0.25ex 0.25ex 0; + } +} + +#content { + clear: both; + padding: 0; + max-width: 60em; + margin-left: auto; + margin-right: auto; +} + +.section { + clear: right; + padding: 0 0 1.5em; +} + +.category { + font-size: small; + color: #AAA; + float: right; + vertical-align: bottom; + padding: 0; + margin: 0; + padding-right: 0.25em; +} + +.label { + font-style: italic; + margin-top: 0.25em; + color: #666; +} + +table.index { + border: 0; + line-height: 1.5em; + margin-top: 2em; +} + +.index ul { + padding-left: 1.25em; + margin-left: 0; + list-style-type: circle; +} + +.index ul li { + padding-left: 0; + color: #888; +} + +.prop { + margin: 0; + padding: 0; +} + +.description { + margin-top: 0; + margin-bottom: 0.75em; +} + +.blankdesc, .blankdef { + border-spacing: 0; + margin: 0; + padding-left: 0; + padding-right: 0; +} + +.blankdesc tbody tr td, .blankdef { + border: 0 !important; +} + +.blankdesc td { + padding-right: 0.5em; +} + +.blankdesc tbody tr td:first-child { + border-left: 1px solid #BBB; + text-align: right; +} + +.terminfo, .restriction { + border-collapse: collapse; + border-spacing: 0; + font-size: small; + color: #666; + border-radius: 0; + border-bottom-left-radius: 6px; +} + +table.terminfo { + border-top: 0; + border-collapse: collapse; + margin: -1px 0 2em 2em; + padding: 0.25em 0; + float: right; + border-bottom: 1px solid #EEE; + border-left: 1px solid #EEE; + border-bottom-left-radius: 6px; + max-width: 50%; + line-height: 1.4em; + min-width: 25%; +} + +table.terminfo td { + padding: 0 0.5em; +} + +.restriction { + border-style: hidden; + margin: 0 0 0.5ex; + padding: 0; + vertical-align: text-top; +} + +.restriction td { + vertical-align: text-top; +} + +.terminfo th { + padding: 0 0.5em; + text-align: right; + vertical-align: top; +} + +.specterm { + border: 0; + margin: 0; + padding: 1em 0; + clear: both; +} + +.specterm h3 { + display: inline-block; + margin-bottom: 0.25em; + width: 80%; +} + +.spectermtype { + color: #888; + display: inline-block; + font-size: small; + font-style: italic; + box-sizing: border-box; + margin: 0; + padding: 0 0.25em 0 0; + text-align: right; + vertical-align: bottom; + width: 20%; +} + +.spectermbody { + border-top: 1px solid #EEE; + padding: 0; +} + +.spectermbody .description .comment > p:first-child { + color: #444; + font-style: italic; + margin-bottom: 0.75em; +} + +dl { + margin: 0; + padding: 0; +} + +div.head { + margin-bottom: 1em; +} + +div.head h1 { + clear: both; + margin-top: 2em; +} + +div.head table { + margin-left: 2em; + margin-top: 2em; +} + +#menu li { + display: inline; +} + +.error { + color: #990A1B; +} + +.warning { + color: #7B6000; +} + +.success { + color: #546E00; +} + +.highlight, .codehilite { + margin-left: 2em; +} + +/* Dark mode */ +@media (prefers-color-scheme: dark) { + /* Dark generic page style */ + + html { + background: #222; + color: #DDD; + } + + a { + color: #B4C342; + } + + a:link { + color: #B4C342; + } + + a:visited { + color: #B4C342; + } + + h1 a, h2 a, h3 a, h4 a, h5 a, h6 a { + color: #DDD; + } + + h1 a:link, h2 a:link, h3 a:link, h4 a:link, h5 a:link, h6 a:link { + color: #DDD; + } + + h1 a:visited, h2 a:visited, h3 a:visited, h4 a:visited, h5 a:visited, h6 a:visited { + color: #DDD; + } + + blockquote { + border-left: 1px solid #444; + } + + pre, code, kbd, samp { + color: #DDD; + } + + hr { + background-color: #333; + border: 0; + color: #666; + } + + th { + border: 1px solid #444; + } + + td { + border: 1px solid #444; + } + + footer { + color: #BBB; + } + + /* Dark specgen style */ + + #metabox { + color: #999; + } + + #shortdesc { + color: #999; + } + + #titlesep { + color: #444; + } + + .terminfo, .restriction { + color: #999; + } + + table.terminfo { + border-bottom: 1px solid #444; + border-left: 1px solid #444; + } + + .spectermbody { + border-top: 1px solid #444; + } + + .spectermbody .description .comment > p:first-child { + color: #BBB; + } + + .error { + color: #DC322F; + } + + .warning { + color: #B58900; + } + + .success { + color: #859900; + } + + #topbar { + border-bottom: 1px solid #444; + } +} + +/* Hard black for dark mode on mobile (since it's likely to be an OLED screen) */ +@media only screen and (hover: none) and (pointer: coarse) and (prefers-color-scheme: dark) { + html { + background: #000; + color: #CCC; + } +} |