Move to asciidoc
The core library documentation has been converted to use asciidoc. It provides better flexibility in creating documentation such as tables and more powerful formatting rules. The doxygen based API reference remains and three scripts have been added to: - gen-tags.sh: extract tag information from doxygen reference - tags2dict.sh: generate a name=link dictionary file - doxygen-link.py: replace all references in the asciidoc documentation refering to API functions, struct, etc. with a link into the doxygen API reference. 'make gendoc' continue to generate all documentation. The following tools are required to generate documentation: - asciidoc - mscgen - asciidoc mscgen plugin - pygments - xmlstarlet
2
doc/.gitignore
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
*.html
|
||||
libnl.dict
|
|
@ -662,7 +662,7 @@ EXAMPLE_RECURSIVE = NO
|
|||
# directories that contain image that are included in the documentation (see
|
||||
# the \image command).
|
||||
|
||||
IMAGE_PATH = src/img
|
||||
IMAGE_PATH =
|
||||
|
||||
# The INPUT_FILTER tag can be used to specify a program that doxygen should
|
||||
# invoke to filter for each input file. Doxygen will invoke the filter program
|
||||
|
@ -784,7 +784,7 @@ GENERATE_HTML = YES
|
|||
# If a relative path is entered the value of OUTPUT_DIRECTORY will be
|
||||
# put in front of it. If left blank `html' will be used as the default path.
|
||||
|
||||
HTML_OUTPUT = html
|
||||
HTML_OUTPUT = api
|
||||
|
||||
# The HTML_FILE_EXTENSION tag can be used to specify the file extension for
|
||||
# each generated HTML page (for example: .htm,.php,.asp). If it is left blank
|
||||
|
|
|
@ -2,8 +2,16 @@
|
|||
|
||||
.PHONY: gendoc
|
||||
|
||||
ASCIIDOCOPTS=-n -a pygments -a toc -a language=c -a icons \
|
||||
-a imagesdir="images/" \
|
||||
-a stylesdir="${abs_srcdir}/stylesheets/"
|
||||
|
||||
gendoc:
|
||||
doxygen Doxyfile;
|
||||
./gen-tags.sh | ./tags2dict.sh > libnl.dict
|
||||
asciidoc $(ASCIIDOCOPTS) core.txt
|
||||
./doxygen-link.py libnl.dict core.html > core.tmp.html
|
||||
mv core.tmp.html core.html
|
||||
|
||||
distclean-local:
|
||||
rm -f html/*;
|
||||
rm -f api/* libnl.tags *.html;
|
||||
|
|
6
doc/api/.gitignore
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
*.html
|
||||
*.png
|
||||
*.css
|
||||
*.map
|
||||
*.md5
|
||||
formula.repository
|
2802
doc/core.txt
Normal file
20
doc/doxygen-link.py
Executable file
|
@ -0,0 +1,20 @@
|
|||
#!/usr/bin/env python
|
||||
|
||||
import fileinput
|
||||
import re
|
||||
import sys
|
||||
|
||||
links = {}
|
||||
|
||||
for line in open(sys.argv[1], 'r'):
|
||||
m = re.match('^([^=]+)=([^\n]+)$', line);
|
||||
if m:
|
||||
link = "<a href=\"" + m.group(2) + "\" class=\"dg\">" + m.group(1) + "</a>"
|
||||
links[m.group(1)] = link
|
||||
|
||||
def translate(match):
|
||||
return links[match.group(0)]
|
||||
|
||||
rc = re.compile('|'.join(map(re.escape, sorted(links, reverse=True))))
|
||||
for line in open(sys.argv[2], 'r'):
|
||||
print rc.sub(translate, line),
|
20
doc/gen-tags.sh
Executable file
|
@ -0,0 +1,20 @@
|
|||
#!/bin/bash
|
||||
|
||||
#
|
||||
# Based on a script found on the englinemtn-devel mailinglist
|
||||
# written by Carsten Haitzler <ras...@rasterman.com>
|
||||
#
|
||||
|
||||
echo '<libnltags>'
|
||||
for f in api/group__*.html
|
||||
do
|
||||
bf=$(basename $f)
|
||||
|
||||
grep -oE '<!-- doxytag.* -->' $f |
|
||||
sed 's/<!-- doxytag:/<libnltag/' |
|
||||
sed "s/-->/file=\"$bf\" \/>/" |
|
||||
sed "s/ ref=\"/ href=\"$bf#/" |
|
||||
sed 's/ member="\([^:]*::\)\([^"]*\)"/ member="\2"/' |
|
||||
sed 's/ member="\([^"]*\)"/ short="\1"/'
|
||||
done
|
||||
echo '</libnltags>'
|
1
doc/html/.gitignore
vendored
|
@ -1 +0,0 @@
|
|||
*
|
1
doc/images/.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
core__*
|
BIN
doc/images/classful_qdisc.png
Normal file
After Width: | Height: | Size: 31 KiB |
BIN
doc/images/classless_qdisc.png
Normal file
After Width: | Height: | Size: 15 KiB |
5
doc/images/icons/README
Normal file
|
@ -0,0 +1,5 @@
|
|||
Replaced the plain DocBook XSL admonition icons with Jimmac's DocBook
|
||||
icons (http://jimmac.musichall.cz/ikony.php3). I dropped transparency
|
||||
from the Jimmac icons to get round MS IE and FOP PNG incompatibilies.
|
||||
|
||||
Stuart Rackham
|
BIN
doc/images/icons/callouts/1.png
Normal file
After Width: | Height: | Size: 329 B |
BIN
doc/images/icons/callouts/10.png
Normal file
After Width: | Height: | Size: 361 B |
BIN
doc/images/icons/callouts/11.png
Normal file
After Width: | Height: | Size: 565 B |
BIN
doc/images/icons/callouts/12.png
Normal file
After Width: | Height: | Size: 617 B |
BIN
doc/images/icons/callouts/13.png
Normal file
After Width: | Height: | Size: 623 B |
BIN
doc/images/icons/callouts/14.png
Normal file
After Width: | Height: | Size: 411 B |
BIN
doc/images/icons/callouts/15.png
Normal file
After Width: | Height: | Size: 640 B |
BIN
doc/images/icons/callouts/2.png
Normal file
After Width: | Height: | Size: 353 B |
BIN
doc/images/icons/callouts/3.png
Normal file
After Width: | Height: | Size: 350 B |
BIN
doc/images/icons/callouts/4.png
Normal file
After Width: | Height: | Size: 345 B |
BIN
doc/images/icons/callouts/5.png
Normal file
After Width: | Height: | Size: 348 B |
BIN
doc/images/icons/callouts/6.png
Normal file
After Width: | Height: | Size: 355 B |
BIN
doc/images/icons/callouts/7.png
Normal file
After Width: | Height: | Size: 344 B |
BIN
doc/images/icons/callouts/8.png
Normal file
After Width: | Height: | Size: 357 B |
BIN
doc/images/icons/callouts/9.png
Normal file
After Width: | Height: | Size: 357 B |
BIN
doc/images/icons/caution.png
Normal file
After Width: | Height: | Size: 2.7 KiB |
BIN
doc/images/icons/example.png
Normal file
After Width: | Height: | Size: 2.5 KiB |
BIN
doc/images/icons/home.png
Normal file
After Width: | Height: | Size: 1.3 KiB |
BIN
doc/images/icons/important.png
Normal file
After Width: | Height: | Size: 2.9 KiB |
BIN
doc/images/icons/next.png
Normal file
After Width: | Height: | Size: 1.3 KiB |
BIN
doc/images/icons/note.png
Normal file
After Width: | Height: | Size: 2.4 KiB |
BIN
doc/images/icons/prev.png
Normal file
After Width: | Height: | Size: 1.3 KiB |
BIN
doc/images/icons/tip.png
Normal file
After Width: | Height: | Size: 2.7 KiB |
BIN
doc/images/icons/up.png
Normal file
After Width: | Height: | Size: 1.3 KiB |
BIN
doc/images/icons/warning.png
Normal file
After Width: | Height: | Size: 3.1 KiB |
BIN
doc/images/qdisc_default.png
Normal file
After Width: | Height: | Size: 14 KiB |
BIN
doc/images/qdisc_mq.png
Normal file
After Width: | Height: | Size: 26 KiB |
BIN
doc/images/tc_obj.png
Normal file
After Width: | Height: | Size: 30 KiB |
BIN
doc/images/tc_overview.png
Normal file
After Width: | Height: | Size: 47 KiB |
2303
doc/src/core.c
62
doc/stylesheets/pygments.css
Normal file
|
@ -0,0 +1,62 @@
|
|||
.highlight .hll { background-color: #ffffcc }
|
||||
.highlight .c { color: #808080 } /* Comment */
|
||||
.highlight .err { color: #F00000; background-color: #F0A0A0 } /* Error */
|
||||
.highlight .k { color: #008000; font-weight: bold } /* Keyword */
|
||||
.highlight .o { color: #303030 } /* Operator */
|
||||
.highlight .cm { color: #808080 } /* Comment.Multiline */
|
||||
.highlight .cp { color: #507090 } /* Comment.Preproc */
|
||||
.highlight .c1 { color: #808080 } /* Comment.Single */
|
||||
.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
|
||||
.highlight .gd { color: #A00000 } /* Generic.Deleted */
|
||||
.highlight .ge { font-style: italic } /* Generic.Emph */
|
||||
.highlight .gr { color: #FF0000 } /* Generic.Error */
|
||||
.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
|
||||
.highlight .gi { color: #00A000 } /* Generic.Inserted */
|
||||
.highlight .go { color: #808080 } /* Generic.Output */
|
||||
.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
|
||||
.highlight .gs { font-weight: bold } /* Generic.Strong */
|
||||
.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
|
||||
.highlight .gt { color: #0040D0 } /* Generic.Traceback */
|
||||
.highlight .kc { color: #008000; font-weight: bold } /* Keyword.Constant */
|
||||
.highlight .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
|
||||
.highlight .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
|
||||
.highlight .kp { color: #003080; font-weight: bold } /* Keyword.Pseudo */
|
||||
.highlight .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
|
||||
.highlight .kt { color: #303090; font-weight: bold } /* Keyword.Type */
|
||||
.highlight .m { color: #6000E0; font-weight: bold } /* Literal.Number */
|
||||
.highlight .s { background-color: #fff0f0 } /* Literal.String */
|
||||
.highlight .na { color: #0000C0 } /* Name.Attribute */
|
||||
.highlight .nb { color: #007020 } /* Name.Builtin */
|
||||
.highlight .nc { color: #B00060; font-weight: bold } /* Name.Class */
|
||||
.highlight .no { color: #003060; font-weight: bold } /* Name.Constant */
|
||||
.highlight .nd { color: #505050; font-weight: bold } /* Name.Decorator */
|
||||
.highlight .ni { color: #800000; font-weight: bold } /* Name.Entity */
|
||||
.highlight .ne { color: #F00000; font-weight: bold } /* Name.Exception */
|
||||
.highlight .nf { color: #0060B0; font-weight: bold } /* Name.Function */
|
||||
.highlight .nl { color: #907000; font-weight: bold } /* Name.Label */
|
||||
.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
|
||||
.highlight .nt { color: #007000 } /* Name.Tag */
|
||||
.highlight .nv { color: #906030 } /* Name.Variable */
|
||||
.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
|
||||
.highlight .w { color: #bbbbbb } /* Text.Whitespace */
|
||||
.highlight .mf { color: #6000E0; font-weight: bold } /* Literal.Number.Float */
|
||||
.highlight .mh { color: #005080; font-weight: bold } /* Literal.Number.Hex */
|
||||
.highlight .mi { color: #0000D0; font-weight: bold } /* Literal.Number.Integer */
|
||||
.highlight .mo { color: #4000E0; font-weight: bold } /* Literal.Number.Oct */
|
||||
.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
|
||||
.highlight .sc { color: #0040D0 } /* Literal.String.Char */
|
||||
.highlight .sd { color: #D04020 } /* Literal.String.Doc */
|
||||
.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
|
||||
.highlight .se { color: #606060; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
|
||||
.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
|
||||
.highlight .si { background-color: #e0e0e0 } /* Literal.String.Interpol */
|
||||
.highlight .sx { color: #D02000; background-color: #fff0f0 } /* Literal.String.Other */
|
||||
.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
|
||||
.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
|
||||
.highlight .ss { color: #A06000 } /* Literal.String.Symbol */
|
||||
.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
|
||||
.highlight .vc { color: #306090 } /* Name.Variable.Class */
|
||||
.highlight .vg { color: #d07000; font-weight: bold } /* Name.Variable.Global */
|
||||
.highlight .vi { color: #3030B0 } /* Name.Variable.Instance */
|
||||
.highlight .il { color: #0000D0; font-weight: bold } /* Literal.Number.Integer.Long */
|
||||
.highlight .dg { color: #990000; font-weight: bold }
|
428
doc/stylesheets/xhtml11.css
Normal file
|
@ -0,0 +1,428 @@
|
|||
/* Sans-serif font. */
|
||||
h1, h2, h3, h4, h5, h6,
|
||||
div.title, caption.title,
|
||||
thead, p.table.header,
|
||||
div#toctitle,
|
||||
span#author, span#revnumber, span#revdate, span#revremark,
|
||||
div#footer {
|
||||
font-family: Lucida Grande, Verdana, Geneva, Arial, sans-serif;
|
||||
}
|
||||
|
||||
/* Serif font. */
|
||||
div.sectionbody {
|
||||
font-family: Lucida Grande, Verdana, Geneva, Arial, sans-serif;
|
||||
}
|
||||
|
||||
/* Monospace font. */
|
||||
tt {
|
||||
font-size: inherit;
|
||||
}
|
||||
|
||||
body {
|
||||
margin: 1em 5% 1em 5%;
|
||||
}
|
||||
|
||||
a {
|
||||
color: #990000;
|
||||
text-decoration: underline;
|
||||
}
|
||||
a:visited {
|
||||
color: #990000;
|
||||
}
|
||||
|
||||
.dg { color: #990000; }
|
||||
|
||||
em {
|
||||
font-style: italic;
|
||||
/* color: navy; */
|
||||
}
|
||||
|
||||
strong {
|
||||
font-weight: bold;
|
||||
color: black;
|
||||
/* color: #083194; */
|
||||
}
|
||||
|
||||
tt {
|
||||
font-size: inherit;
|
||||
color: navy;
|
||||
}
|
||||
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
color: #990000;
|
||||
margin-top: 1.2em;
|
||||
margin-bottom: 0.5em;
|
||||
line-height: 1.3;
|
||||
}
|
||||
|
||||
h1 {
|
||||
border-bottom: 2px solid silver;
|
||||
color: #990000;
|
||||
}
|
||||
h2 {
|
||||
padding-top: 0.5em;
|
||||
}
|
||||
h3 {
|
||||
float: left;
|
||||
}
|
||||
h3 + * {
|
||||
clear: left;
|
||||
}
|
||||
|
||||
div.sectionbody {
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
hr {
|
||||
border: 1px solid silver;
|
||||
}
|
||||
|
||||
p {
|
||||
margin-top: 0.5em;
|
||||
margin-bottom: 0.5em;
|
||||
}
|
||||
|
||||
ul, ol, li > p {
|
||||
margin-top: 0;
|
||||
}
|
||||
ul > li { color: #aaa; }
|
||||
ul > li > * { color: black; }
|
||||
|
||||
pre {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
span#author {
|
||||
color: #990000;
|
||||
font-weight: bold;
|
||||
font-size: 1.1em;
|
||||
}
|
||||
span#email {
|
||||
}
|
||||
span#revnumber, span#revdate, span#revremark {
|
||||
}
|
||||
|
||||
div#footer {
|
||||
font-size: small;
|
||||
border-top: 2px solid silver;
|
||||
padding-top: 0.5em;
|
||||
margin-top: 4.0em;
|
||||
}
|
||||
div#footer-text {
|
||||
float: left;
|
||||
padding-bottom: 0.5em;
|
||||
}
|
||||
div#footer-badges {
|
||||
float: right;
|
||||
padding-bottom: 0.5em;
|
||||
}
|
||||
|
||||
div#preamble {
|
||||
margin-top: 1.5em;
|
||||
margin-bottom: 1.5em;
|
||||
}
|
||||
div.tableblock, div.imageblock, div.exampleblock, div.verseblock,
|
||||
div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
|
||||
div.admonitionblock {
|
||||
margin-top: 1.0em;
|
||||
margin-bottom: 1.5em;
|
||||
}
|
||||
div.admonitionblock {
|
||||
margin-top: 2.0em;
|
||||
margin-bottom: 2.0em;
|
||||
margin-right: 10%;
|
||||
color: #606060;
|
||||
}
|
||||
|
||||
div.content { /* Block element content. */
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
/* Block element titles. */
|
||||
div.title, caption.title {
|
||||
color: #990000;
|
||||
font-weight: bold;
|
||||
text-align: left;
|
||||
margin-top: 1.0em;
|
||||
margin-bottom: 0.5em;
|
||||
}
|
||||
div.title + * {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
td div.title:first-child {
|
||||
margin-top: 0.0em;
|
||||
}
|
||||
div.content div.title:first-child {
|
||||
margin-top: 0.0em;
|
||||
}
|
||||
div.content + div.title {
|
||||
margin-top: 0.0em;
|
||||
}
|
||||
|
||||
div.sidebarblock > div.content {
|
||||
background: #ffffee;
|
||||
border: 1px solid #dddddd;
|
||||
border-left: 4px solid #f0f0f0;
|
||||
padding: 0.5em;
|
||||
}
|
||||
|
||||
div.listingblock > div.content {
|
||||
border: 1px solid #dddddd;
|
||||
border-left: 5px solid #f0f0f0;
|
||||
background: #f8f8f8;
|
||||
padding: 0.5em;
|
||||
}
|
||||
|
||||
div.quoteblock, div.verseblock {
|
||||
padding-left: 1.0em;
|
||||
margin-left: 1.0em;
|
||||
margin-right: 10%;
|
||||
border-left: 5px solid #f0f0f0;
|
||||
color: #777777;
|
||||
}
|
||||
|
||||
div.quoteblock > div.attribution {
|
||||
padding-top: 0.5em;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
div.verseblock > pre.content {
|
||||
font-family: inherit;
|
||||
font-size: inherit;
|
||||
}
|
||||
div.verseblock > div.attribution {
|
||||
padding-top: 0.75em;
|
||||
text-align: left;
|
||||
}
|
||||
/* DEPRECATED: Pre version 8.2.7 verse style literal block. */
|
||||
div.verseblock + div.attribution {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
div.admonitionblock .icon {
|
||||
vertical-align: top;
|
||||
font-size: 1.1em;
|
||||
font-weight: bold;
|
||||
text-decoration: underline;
|
||||
color: #527bbd;
|
||||
padding-right: 0.5em;
|
||||
}
|
||||
div.admonitionblock td.content {
|
||||
padding-left: 0.5em;
|
||||
border-left: 3px solid #dddddd;
|
||||
}
|
||||
|
||||
div.exampleblock > div.content {
|
||||
border-left: 3px solid #dddddd;
|
||||
padding-left: 0.5em;
|
||||
}
|
||||
|
||||
div.imageblock div.content { padding-left: 0; }
|
||||
span.image img { border-style: none; }
|
||||
a.image:visited { color: white; }
|
||||
|
||||
dl {
|
||||
margin-top: 0.8em;
|
||||
margin-bottom: 0.8em;
|
||||
}
|
||||
dt {
|
||||
margin-top: 0.5em;
|
||||
margin-bottom: 0;
|
||||
font-style: normal;
|
||||
color: #990000;
|
||||
}
|
||||
dd > *:first-child {
|
||||
margin-top: 0.1em;
|
||||
}
|
||||
|
||||
ul, ol {
|
||||
list-style-position: outside;
|
||||
}
|
||||
ol.arabic {
|
||||
list-style-type: decimal;
|
||||
}
|
||||
ol.loweralpha {
|
||||
list-style-type: lower-alpha;
|
||||
}
|
||||
ol.upperalpha {
|
||||
list-style-type: upper-alpha;
|
||||
}
|
||||
ol.lowerroman {
|
||||
list-style-type: lower-roman;
|
||||
}
|
||||
ol.upperroman {
|
||||
list-style-type: upper-roman;
|
||||
}
|
||||
|
||||
div.compact ul, div.compact ol,
|
||||
div.compact p, div.compact p,
|
||||
div.compact div, div.compact div {
|
||||
margin-top: 0.1em;
|
||||
margin-bottom: 0.1em;
|
||||
}
|
||||
|
||||
div.tableblock > table {
|
||||
border: 3px solid #990000;
|
||||
}
|
||||
thead, p.table.header {
|
||||
font-weight: bold;
|
||||
color: #990000;
|
||||
}
|
||||
tfoot {
|
||||
font-weight: bold;
|
||||
}
|
||||
td > div.verse {
|
||||
white-space: pre;
|
||||
}
|
||||
p.table {
|
||||
margin-top: 0;
|
||||
}
|
||||
/* Because the table frame attribute is overriden by CSS in most browsers. */
|
||||
div.tableblock > table[frame="void"] {
|
||||
border-style: none;
|
||||
}
|
||||
div.tableblock > table[frame="hsides"] {
|
||||
border-left-style: none;
|
||||
border-right-style: none;
|
||||
}
|
||||
div.tableblock > table[frame="vsides"] {
|
||||
border-top-style: none;
|
||||
border-bottom-style: none;
|
||||
}
|
||||
|
||||
|
||||
div.hdlist {
|
||||
margin-top: 0.8em;
|
||||
margin-bottom: 0.8em;
|
||||
}
|
||||
div.hdlist tr {
|
||||
padding-bottom: 15px;
|
||||
}
|
||||
dt.hdlist1.strong, td.hdlist1.strong {
|
||||
font-weight: bold;
|
||||
}
|
||||
td.hdlist1 {
|
||||
vertical-align: top;
|
||||
font-style: normal;
|
||||
padding-right: 0.8em;
|
||||
color: #990000;
|
||||
}
|
||||
td.hdlist2 {
|
||||
vertical-align: top;
|
||||
}
|
||||
div.hdlist.compact tr {
|
||||
margin: 0;
|
||||
padding-bottom: 0;
|
||||
}
|
||||
|
||||
.comment {
|
||||
background: yellow;
|
||||
}
|
||||
|
||||
.footnote, .footnoteref {
|
||||
font-size: 0.8em;
|
||||
}
|
||||
|
||||
span.footnote, span.footnoteref {
|
||||
vertical-align: super;
|
||||
}
|
||||
|
||||
#footnotes {
|
||||
margin: 20px 0 20px 0;
|
||||
padding: 7px 0 0 0;
|
||||
}
|
||||
|
||||
#footnotes div.footnote {
|
||||
margin: 0 0 5px 0;
|
||||
}
|
||||
|
||||
#footnotes hr {
|
||||
border: none;
|
||||
border-top: 1px solid silver;
|
||||
height: 1px;
|
||||
text-align: left;
|
||||
margin-left: 0;
|
||||
width: 20%;
|
||||
min-width: 100px;
|
||||
}
|
||||
|
||||
div.colist td {
|
||||
padding-right: 0.5em;
|
||||
padding-bottom: 0.3em;
|
||||
vertical-align: top;
|
||||
}
|
||||
div.colist td img {
|
||||
margin-top: 0.3em;
|
||||
}
|
||||
|
||||
@media print {
|
||||
div#footer-badges { display: none; }
|
||||
}
|
||||
|
||||
div#toc {
|
||||
margin-bottom: 2.5em;
|
||||
}
|
||||
|
||||
div#toctitle {
|
||||
color: black;
|
||||
font-size: 1.1em;
|
||||
font-weight: bold;
|
||||
margin-top: 1.0em;
|
||||
margin-bottom: 0.1em;
|
||||
}
|
||||
|
||||
div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {
|
||||
margin-top: 0;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
div.toclevel2 {
|
||||
margin-left: 2em;
|
||||
font-size: 0.9em;
|
||||
}
|
||||
div.toclevel3 {
|
||||
margin-left: 4em;
|
||||
font-size: 0.9em;
|
||||
}
|
||||
div.toclevel4 {
|
||||
margin-left: 6em;
|
||||
font-size: 0.9em;
|
||||
}
|
||||
|
||||
span.aqua { color: aqua; }
|
||||
span.black { color: black; }
|
||||
span.blue { color: blue; }
|
||||
span.fuchsia { color: fuchsia; }
|
||||
span.gray { color: gray; }
|
||||
span.green { color: green; }
|
||||
span.lime { color: lime; }
|
||||
span.maroon { color: maroon; }
|
||||
span.navy { color: navy; }
|
||||
span.olive { color: olive; }
|
||||
span.purple { color: purple; }
|
||||
span.red { color: red; }
|
||||
span.silver { color: silver; }
|
||||
span.teal { color: teal; }
|
||||
span.white { color: white; }
|
||||
span.yellow { color: yellow; }
|
||||
|
||||
span.aqua-background { background: aqua; }
|
||||
span.black-background { background: black; }
|
||||
span.blue-background { background: blue; }
|
||||
span.fuchsia-background { background: fuchsia; }
|
||||
span.gray-background { background: gray; }
|
||||
span.green-background { background: green; }
|
||||
span.lime-background { background: lime; }
|
||||
span.maroon-background { background: maroon; }
|
||||
span.navy-background { background: navy; }
|
||||
span.olive-background { background: olive; }
|
||||
span.purple-background { background: purple; }
|
||||
span.red-background { background: red; }
|
||||
span.silver-background { background: silver; }
|
||||
span.teal-background { background: teal; }
|
||||
span.white-background { background: white; }
|
||||
span.yellow-background { background: yellow; }
|
||||
|
||||
span.big { font-size: 2em; }
|
||||
span.small { font-size: 0.6em; }
|
8
doc/tags2dict.sh
Executable file
|
@ -0,0 +1,8 @@
|
|||
#!/bin/bash
|
||||
xmlstarlet sel -t \
|
||||
-m "/libnltags/libnltag[@href]" \
|
||||
-v "@short" \
|
||||
-o "=api/" \
|
||||
-v "@href" \
|
||||
-n
|
||||
|