Browse Source

Generate documentation with Sphinx

zrythm_meson
David Robillard 2 years ago
parent
commit
d361ce65d3
  1. 95
      doc/_static/custom.css
  2. 57
      doc/_templates/about.html
  3. 26
      doc/c/Doxyfile
  4. 5
      doc/c/index.rst
  5. 12
      doc/c/overview.rst
  6. 11
      doc/c/reference.rst
  7. 41
      doc/c/wscript
  8. 80
      doc/conf.py.in
  9. 20
      doc/footer.html
  10. 37
      doc/header.html
  11. 226
      doc/layout.xml
  12. 6
      doc/mainpage.md
  13. 2462
      doc/reference.doxygen.in
  14. 8
      doc/sratom.rst
  15. 739
      doc/style.css
  16. 6
      wscript

95
doc/_static/custom.css vendored

@ -0,0 +1,95 @@ @@ -0,0 +1,95 @@
div.document {
margin: 0;
}
div.body {
margin-top: 2em;
}
div.sphinxsidebarwrapper {
background: #EEE;
}
div.sphinxsidebarwrapper p.blurb {
text-align: center;
}
div.sphinxsidebarwrapper span.logo {
display: block;
text-align: center;
font-family: Georgia, serif;
padding: 0;
font-size: 180%;
}
div.sphinxsidebar a {
border-width: 0;
}
div.sphinxsidebar li {
color: #444;
}
div.section {
margin-top: 2.5em;
}
a.reference {
border-bottom: none;
}
code.xref {
font-weight: normal;
background-color: #F8F8F8;
padding: 0.1em 0 0.1em 0;
}
div.section > dl.c > dt:first-child,
div.section > dl.cpp > dt:first-child {
background-color: #F8F8F8;
font-family: 'Consolas', 'Menlo', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace;
font-size: 0.9em;
font-weight: normal;
margin-bottom: 0.5em;
padding: 0.1em 0 0.1em 0;
}
tt.descname, tt.descclassname, code.descname, code.descclassname {
font-size: 0.9em;
}
dl.member {
margin-top: 0.5em;
}
dl.enumerator {
margin-top: 0.5em;
}
dl.field-list > dt {
padding-left: 0;
}
pre, tt, code {
background-color: #F8F8F8;
}
.toctree-l1 {
margin-top: 1.0em;
}
img.logo {
width: 6em;
}
.class {
padding-top: 1.5em;
}
.exception {
padding-top: 1.5em;
}
.class > dd > dl.function {
padding-top: 1.0em;
}

57
doc/_templates/about.html vendored

@ -0,0 +1,57 @@ @@ -0,0 +1,57 @@
{% if theme_logo %}
<p class="logo">
<a href="{{ pathto(master_doc) }}">
<img class="logo" src="{{ pathto('_static/' ~ theme_logo, 1) }}" alt="Logo"/>
{% if theme_logo_name|lower == 'true' %}
<span class="logo logo-name">{{ project }}</span>
{% endif %}
</a>
</p>
{% else %}
<h1 class="logo"><a href="{{ pathto(master_doc) }}">{{ project }}</a></h1>
{% endif %}
{% if theme_description %}
<p class="blurb">{{ theme_description }}</p>
{% endif %}
{% if theme_github_user and theme_github_repo %}
{% if theme_github_button|lower == 'true' %}
<p>
<iframe src="https://ghbtns.com/github-btn.html?user={{ theme_github_user }}&repo={{ theme_github_repo }}&type={{ theme_github_type }}&count={{ theme_github_count }}&size=large&v=2"
allowtransparency="true" frameborder="0" scrolling="0" width="200px" height="35px"></iframe>
</p>
{% endif %}
{% endif %}
{% if theme_travis_button|lower != 'false' %}
{% if theme_travis_button|lower == 'true' %}
{% set path = theme_github_user + '/' + theme_github_repo %}
{% else %}
{% set path = theme_travis_button %}
{% endif %}
<p>
<a class="badge" href="https://travis-ci.org/{{ path }}">
<img
alt="https://secure.travis-ci.org/{{ path }}.svg?branch={{ theme_badge_branch }}"
src="https://secure.travis-ci.org/{{ path }}.svg?branch={{ theme_badge_branch }}"
/>
</a>
</p>
{% endif %}
{% if theme_codecov_button|lower != 'false' %}
{% if theme_codecov_button|lower == 'true' %}
{% set path = theme_github_user + '/' + theme_github_repo %}
{% else %}
{% set path = theme_codecov_button %}
{% endif %}
<p>
<a class="badge" href="https://codecov.io/github/{{ path }}">
<img
alt="https://codecov.io/github/{{ path }}/coverage.svg?branch={{ theme_badge_branch }}"
src="https://codecov.io/github/{{ path }}/coverage.svg?branch={{ theme_badge_branch }}"
/>
</a>
</p>
{% endif %}

26
doc/c/Doxyfile

@ -0,0 +1,26 @@ @@ -0,0 +1,26 @@
PROJECT_NAME = Sratom
PROJECT_BRIEF = "A small library for serialising LV2 atoms to and from RDF"
QUIET = YES
WARN_AS_ERROR = NO
WARN_IF_UNDOCUMENTED = NO
WARN_NO_PARAMDOC = NO
JAVADOC_AUTOBRIEF = YES
CASE_SENSE_NAMES = YES
HIDE_IN_BODY_DOCS = YES
REFERENCES_LINK_SOURCE = NO
GENERATE_HTML = NO
GENERATE_LATEX = NO
GENERATE_XML = YES
XML_PROGRAMLISTING = NO
SHOW_FILES = NO
MACRO_EXPANSION = YES
PREDEFINED = SRATOM_API
INPUT = ../../include/sratom/sratom.h
OUTPUT_DIRECTORY = .

5
doc/c/index.rst

@ -0,0 +1,5 @@ @@ -0,0 +1,5 @@
.. toctree::
sratom
overview
reference

12
doc/c/overview.rst

@ -0,0 +1,12 @@ @@ -0,0 +1,12 @@
########
Overview
########
.. default-domain:: c
.. highlight:: c
The complete API is declared in ``sratom.h``:
.. code-block:: c
#include <sratom/sratom.h>

11
doc/c/reference.rst

@ -0,0 +1,11 @@ @@ -0,0 +1,11 @@
#############
API Reference
#############
This section contains the generated documentation for all symbols in the public
API.
.. toctree::
api/sratom

41
doc/c/wscript

@ -0,0 +1,41 @@ @@ -0,0 +1,41 @@
#!/usr/bin/env python
def build(bld):
dox_to_sphinx = bld.path.find_node("../../scripts/dox_to_sphinx.py")
index_xml = bld.path.get_bld().make_node("xml/index.xml")
files = [
("../_static/custom.css", "sphinx/_static/custom.css"),
("../_templates/about.html", "sphinx/_templates/about.html"),
("../sratom.rst", "sphinx/sratom.rst"),
("index.rst", "sphinx/index.rst"),
("overview.rst", "sphinx/overview.rst"),
("reference.rst", "sphinx/reference.rst"),
]
# Run Doxygen to generate XML documentation
bld(features="doxygen", doxyfile="Doxyfile")
# Substitute variables to make Sphinx configuration file
bld(features="subst",
source="../conf.py.in",
target="sphinx/conf.py",
SERD_VERSION=bld.env.SERD_VERSION)
# Copy static documentation files to Sphinx build directory
for f in files:
bld(features="subst", is_copy=True, source=f[0], target=f[1])
# Generate Sphinx markup from Doxygen XML
bld.add_group()
bld(rule="${PYTHON} " + dox_to_sphinx.abspath() + " -f ${SRC} ${TGT}",
source=index_xml,
target="sphinx/api/")
# Run Sphinx to generate HTML documentation
doc_dir = bld.env.DOCDIR + "/sratom-%s/" % bld.env.SRATOM_MAJOR_VERSION
bld(features="sphinx",
sphinx_source=bld.path.get_bld().make_node("sphinx"),
sphinx_output_format="singlehtml",
sphinx_options=["-E", "-q"],
install_path=doc_dir + "c/singlehtml/")

80
doc/conf.py.in

@ -0,0 +1,80 @@ @@ -0,0 +1,80 @@
# Project information
project = "Sratom"
copyright = "2020, David Robillard"
author = "David Robillard"
release = "@SRATOM_VERSION@"
# General configuration
language = "en"
extensions = [
# 'sphinx_rtd_theme',
]
# Enable nitpicky mode to get warnings about broken links
# Unfortunately this means we need to explicitly ignore everything external
nitpicky = True
_opaque = [
"LV2_Atom",
"LV2_Atom_Forge",
"LV2_Atom_Forge_Ref",
"LV2_Atom_Forge_Sink_Handle",
"LV2_URID_Map",
"LV2_URID_Unmap",
"SerdEndSink",
"SerdEnv",
"SerdNode",
"SerdStatementSink",
"SordModel",
"SordNode",
"SordWorld",
"SratomImpl",
"uint32_t",
]
nitpick_ignore = list(map(lambda x: ("c:identifier", x), _opaque))
templates_path = ["_templates"]
pygments_style = "friendly"
# HTML output
exclude_patterns = ["xml"]
html_static_path = ["_static"]
html_theme = "alabaster"
# html_theme = "sphinx_rtd_theme"
if html_theme == "alabaster":
html_theme_options = {
"description": "A small library for serialising LV2 atoms to and from RDF",
"donate_url": "http://drobilla.net/pages/donate.html",
# "github_repo": "sratom",
# "github_user": "lv2",
# "logo": "sratom.svg",
"logo_name": True,
"logo_text_align": "center",
"page_width": "80em - 20em",
"sidebar_width": "20em",
}
html_sidebars = {
"**": [
"about.html",
"localtoc.html",
"donate.html",
]
}
elif html_theme == "sphinx_rtd_theme":
html_theme_options = {
"sticky_navigation": False,
"collapse_navigation": False,
"navigation_depth": 4,
"display_version": True,
}

20
doc/footer.html

@ -1,20 +0,0 @@ @@ -1,20 +0,0 @@
<!-- 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>

37
doc/header.html

@ -1,37 +0,0 @@ @@ -1,37 +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"/>
<!--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 -->

226
doc/layout.xml

@ -1,226 +0,0 @@ @@ -1,226 +0,0 @@
<doxygenlayout version="1.0">
<!-- Generated by doxygen 1.8.15 -->
<!-- Navigation index tabs for HTML output -->
<navindex>
<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="">
<tab type="namespacelist" visible="yes" title="" intro=""/>
<tab type="namespacemembers" visible="yes" title="" intro=""/>
</tab>
<tab type="interfaces" visible="yes" title="">
<tab type="interfacelist" visible="yes" title="" intro=""/>
<tab type="interfaceindex" visible="$ALPHABETICAL_INDEX" title=""/>
<tab type="interfacehierarchy" visible="yes" title="" intro=""/>
</tab>
<tab type="classes" visible="yes" title="">
<tab type="classlist" visible="yes" title="" intro=""/>
<tab type="classindex" visible="$ALPHABETICAL_INDEX" title=""/>
<tab type="hierarchy" visible="yes" title="" intro=""/>
<tab type="classmembers" visible="yes" title="" intro=""/>
</tab>
<tab type="structs" visible="yes" title="">
<tab type="structlist" visible="yes" title="" intro=""/>
<tab type="structindex" visible="$ALPHABETICAL_INDEX" title=""/>
</tab>
<tab type="exceptions" visible="yes" title="">
<tab type="exceptionlist" visible="yes" title="" intro=""/>
<tab type="exceptionindex" visible="$ALPHABETICAL_INDEX" title=""/>
<tab type="exceptionhierarchy" visible="yes" title="" intro=""/>
</tab>
<tab type="files" visible="yes" title="">
<tab type="filelist" visible="yes" title="" intro=""/>
<tab type="globals" visible="yes" title="" intro=""/>
</tab>
<tab type="examples" visible="yes" title="" intro=""/>
</navindex>
<!-- Layout definition for a class page -->
<class>
<briefdescription visible="yes"/>
<includes visible="$SHOW_INCLUDE_FILES"/>
<inheritancegraph visible="$CLASS_GRAPH"/>
<collaborationgraph visible="$COLLABORATION_GRAPH"/>
<memberdecl>
<nestedclasses visible="yes" title=""/>
<publictypes title=""/>
<services title=""/>
<interfaces title=""/>
<publicslots title=""/>
<signals title=""/>
<publicmethods title=""/>
<publicstaticmethods title=""/>
<publicattributes title=""/>
<publicstaticattributes title=""/>
<protectedtypes title=""/>
<protectedslots title=""/>
<protectedmethods title=""/>
<protectedstaticmethods title=""/>
<protectedattributes title=""/>
<protectedstaticattributes title=""/>
<packagetypes title=""/>
<packagemethods title=""/>
<packagestaticmethods title=""/>
<packageattributes title=""/>
<packagestaticattributes title=""/>
<properties title=""/>
<events title=""/>
<privatetypes title=""/>
<privateslots title=""/>
<privatemethods title=""/>
<privatestaticmethods title=""/>
<privateattributes title=""/>
<privatestaticattributes title=""/>
<friends title=""/>
<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=""/>
<variables title=""/>
<properties title=""/>
<events title=""/>
</memberdef>
<allmemberslink visible="yes"/>
<usedfiles visible="$SHOW_USED_FILES"/>
<authorsection visible="yes"/>
</class>
<!-- Layout definition for a namespace page -->
<namespace>
<briefdescription visible="yes"/>
<memberdecl>
<nestednamespaces visible="yes" title=""/>
<constantgroups visible="yes" title=""/>
<interfaces visible="yes" title=""/>
<classes visible="yes" title=""/>
<structs visible="yes" title=""/>
<exceptions visible="yes" title=""/>
<typedefs title=""/>
<sequences title=""/>
<dictionaries title=""/>
<enums title=""/>
<functions title=""/>
<variables title=""/>
<membergroups visible="yes"/>
</memberdecl>
<detaileddescription title=""/>
<memberdef>
<inlineclasses title=""/>
<typedefs title=""/>
<sequences title=""/>
<dictionaries title=""/>
<enums title=""/>
<functions title=""/>
<variables title=""/>
</memberdef>
<authorsection visible="yes"/>
</namespace>
<!-- Layout definition for a file page -->
<file>
<briefdescription visible="yes"/>
<includes visible="$SHOW_INCLUDE_FILES"/>
<includegraph visible="$INCLUDE_GRAPH"/>
<includedbygraph visible="$INCLUDED_BY_GRAPH"/>
<sourcelink visible="yes"/>
<memberdecl>
<interfaces visible="yes" title=""/>
<classes visible="yes" title=""/>
<structs visible="yes" title=""/>
<exceptions visible="yes" title=""/>
<namespaces visible="yes" title=""/>
<constantgroups visible="yes" title=""/>
<defines title=""/>
<typedefs title=""/>
<sequences title=""/>
<dictionaries title=""/>
<enums title=""/>
<functions title=""/>
<variables title=""/>
<membergroups visible="yes"/>
</memberdecl>
<detaileddescription title=""/>
<memberdef>
<inlineclasses title=""/>
<defines title=""/>
<typedefs title=""/>
<sequences title=""/>
<dictionaries title=""/>
<enums title=""/>
<functions title=""/>
<variables title=""/>
</memberdef>
<authorsection/>
</file>
<!-- Layout definition for a group page -->
<group>
<briefdescription visible="yes"/>
<detaileddescription title=""/>
<groupgraph visible="$GROUP_GRAPHS"/>
<memberdecl>
<nestedgroups visible="yes" title=""/>
<dirs visible="yes" title=""/>
<files visible="yes" title=""/>
<namespaces visible="yes" title=""/>
<classes visible="yes" title=""/>
<defines title=""/>
<typedefs title=""/>
<sequences title=""/>
<dictionaries title=""/>
<enums title=""/>
<enumvalues title=""/>
<functions title=""/>
<variables title=""/>
<signals title=""/>
<publicslots title=""/>
<protectedslots title=""/>
<privateslots title=""/>
<events title=""/>
<properties title=""/>
<friends title=""/>
<membergroups visible="yes"/>
</memberdecl>
<memberdef>
<pagedocs/>
<inlineclasses title=""/>
<defines title=""/>
<typedefs title=""/>
<sequences title=""/>
<dictionaries title=""/>
<enums title=""/>
<enumvalues title=""/>
<functions title=""/>
<variables title=""/>
<signals title=""/>
<publicslots title=""/>
<protectedslots title=""/>
<privateslots title=""/>
<events title=""/>
<properties title=""/>
<friends title=""/>
</memberdef>
<authorsection visible="yes"/>
</group>
<!-- Layout definition for a directory page -->
<directory>
<briefdescription visible="yes"/>
<directorygraph visible="yes"/>
<memberdecl>
<dirs visible="yes"/>
<files visible="yes"/>
</memberdecl>
<detaileddescription title=""/>
</directory>
</doxygenlayout>

6
doc/mainpage.md

@ -1,6 +0,0 @@ @@ -1,6 +0,0 @@
Sratom is a small library for serialising [LV2 atoms] to and from RDF, for
converting between binary and text or storing in a model.
The complete API is documented in the [sratom](@ref sratom) group.
[LV2 atoms]: http://lv2plug.in/ns/ext/atom

2462
doc/reference.doxygen.in

File diff suppressed because it is too large Load Diff

8
doc/sratom.rst

@ -0,0 +1,8 @@ @@ -0,0 +1,8 @@
######
Sratom
######
Sratom is a small library for serialising `LV2 atoms`_ to and from RDF,
for converting between binary and text or storing in a model.
.. _LV2 atoms: http://lv2plug.in/ns/ext/atom

739
doc/style.css

@ -1,739 +0,0 @@ @@ -1,739 +0,0 @@
body {
background: #FFF;
color: #222;
font-style: normal;
line-height: 1.6em;
margin-left: auto;
margin-right: auto;
padding: 1em;
max-width: 60em;
font-family: "DejaVu Serif",Palatino,serif;
text-rendering: optimizeLegibility;
}
h1, .title, #projectname, h2, h3, h4, h5, h6 {
line-height: 1.0125em;
color: #444;
font-family: "DejaVu Sans",Helvetica,Arial,sans-serif;
margin: 1em 0 0.5em 0;
}
h1, .titlearea .header .titlebox, #projectname {
font-size: 300%;
font-weight: 400;
margin-bottom: 0.25em;
margin-top: 0;
}
.header .headertitle .title {
font-size: 180%;
font-weight: 400;
margin: 0.75em 0.25em 0.5em 0;
}
.ingroups {
display: inline;
}
.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;
}
#shortdesc {
margin: 0;
color: #666;
display: inline-block;
font-style: italic;
padding: 0;
}
#titlearea {
margin: 0.25em auto 0.25em auto;
padding: 0;
position: relative;
clear: both;
line-height: 1.0em;
}
h2 {
font-size: 160%;
font-weight: 400;
}
h3 {
font-size: 140%;
font-weight: 400;
}
h4 {
font-size: 120%;
font-weight: 500;
}
h5, h6 {
font-size: 110%;
font-weight: 600;
}
h1 a, h1 a:link, h1 a:visited ,
h2 a, h2 a:link, h2 a:visited ,
h3 a, h3 a:link, h3 a:visited ,
h4 a, h4 a:link, h4 a:visited ,
h5 a, h5 a:link, h5 a:visited ,
h6 a, h6 a:link, h6 a:visited {
color: #444;
}
p {
margin: 0.5em 0 0.5em 0;
}
dt {
font-weight: 700;
}
dd {
margin-left: 2em;
}
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;
}
/* @end */
dl.el {
margin-left: -1cm;
}
.fragment {
font-family: "DejaVu Sans Mono",monospace,fixed;
}
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: .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, #content {
padding: 0 0.25em 0 0.25em;
max-width: 60em;
margin-left: auto;
margin-right: auto;
}
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: "DejaVu Sans Mono",monospace,fixed;
}
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;
}
/* @group Code Colorization */
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;
}
/* @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;
}
#footer {
bottom: 0;
clear: both;
font-size: x-small;
margin: 2em 0 0;
padding: 0 1em 1em 1em;
vertical-align: top;
color: #888;
}
/* @group Member Descriptions */
table.memberdecls {
border-spacing: 0.125em;
line-height: 1.3em;
}
.mdescLeft,.mdescRight,.memItemLeft,.memItemRight,.memTemplItemLeft,.memTemplItemRight,.memTemplParams {
margin: 0;
padding: 0;
}
.mdescLeft,.mdescRight {
color: #555;
}
.memItemLeft,.memItemRight,.memTemplParams {
border: 0;
font-family: "DejaVu Sans Mono",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: #B4C342;
}
.memtitle {
display: none;
}
/* @end */
/* @group Member Details */
/* Styles for detailed member documentation */
.memtemplate {
color: #888;
font-style: italic;
font-family: "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.25em 0.5em 0.25em 0.5em;
margin: 0 0 1em 0;
border-radius: 6px;
border: 1px solid #DDD;
}
.memproto {
font-size: 110%;
font-weight: 400;
line-height: 1em;
color: #000;
}
.memproto .paramname {
font-style: normal;
}
.memdoc {
padding: 0 0.25em 0 0.25em;
}
.paramkey {
text-align: right;
}
.paramtype {
color: #666;
padding-right: 0.5em;
white-space: nowrap;
}
.paramname {
color: #111;
white-space: nowrap;
font-family: "DejaVu Sans Mono",monospace,fixed;
font-style: italic;
padding-right: 0.5em;
}
.fieldname {
color: #000;
}
.fieldtable {
padding-top: 0.25em;
border-top: 1px dashed #DDD;
}
.fieldtable tbody tr:first-child {
display: none;
}
td.fieldname {
padding: 0 0.5em 0 0.25em;
vertical-align: top;
font-family: "DejaVu Sans Mono",monospace,fixed;
}
td.fieldtype {
color: #666;
padding: 0 0.5em 0 0;
vertical-align: top;
font-family: "DejaVu Sans Mono",monospace,fixed;
}
td.fielddoc p {
margin: 0;
vertical-align: top;
padding: 0 0.5em 0 0;
}
p.reference {
font-size: x-small;
font-style: italic;
}
/* @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%;
}
td.entry {
font-family: "DejaVu Sans",Helvetica,Arial,sans-serif;
font-weight: 400;
padding-right: 1em;
}
td.entry .arrow {
display: none;
}
td.entry b {
font-family: "DejaVu Sans",Helvetica,Arial,sans-serif;
font-weight: 400;
font-size: 130%;
}
/* 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: #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",Helvetica,Arial,sans-serif;
margin: 0;
color: #FFF; /* Hide separator bars */
border-bottom: 1px solid #DDD;
padding: 0.25em 0;
}
div.summary a {
white-space: nowrap;
}
/* Metadata box (right aligned next to title) */
#metabox {
display: inline-block;
font-size: x-small;
margin: 0 0 0.25em 0;
position: absolute;
right: 0;
top: 0;
color: #666;
font-style: italic;
padding: 0 1em;
}
#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: "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;
border-bottom: 1px solid #DDD;
font-size: small;
font-family: "DejaVu Sans",Helvetica,Arial,sans-serif;
margin: 0;
}
th {
text-align: left;
font-size: 110%;
font-weight: 500;
}
.mlabel {
padding: 0.125em;
}
/* tabs*/
.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;
font-family: "DejaVu Sans",Helvetica,Arial,sans-serif;
text-decoration: none;
outline: none;
}
.tabs3 .tablist a {
padding: 0 10px;
}
.tablist li.current a {
color: #222;
}
span.icon {
display: none;
}

6
wscript

@ -41,6 +41,9 @@ def configure(conf): @@ -41,6 +41,9 @@ def configure(conf):
if not conf.env.BUILD_SHARED and not conf.env.BUILD_STATIC:
conf.fatal('Neither a shared nor a static build requested')
if conf.env.DOCS:
conf.load('sphinx')
if Options.options.strict:
# Check for programs used by lint target
conf.find_program("flake8", var="FLAKE8", mandatory=False)
@ -171,7 +174,8 @@ def build(bld): @@ -171,7 +174,8 @@ def build(bld):
linkflags = test_linkflags)
# Documentation
autowaf.build_dox(bld, 'SRATOM', SRATOM_VERSION, top, out)
if bld.env.DOCS:
bld.recurse('doc/c')
bld.add_post_fun(autowaf.run_ldconfig)

Loading…
Cancel
Save