Try reorganised docs
This commit is contained in:
parent
0f436f0738
commit
bb8dca5b88
29 changed files with 29 additions and 79 deletions
138
akka-docs/_sphinx/exts/includecode.py
Normal file
138
akka-docs/_sphinx/exts/includecode.py
Normal file
|
|
@ -0,0 +1,138 @@
|
|||
import os
|
||||
import codecs
|
||||
from os import path
|
||||
|
||||
from docutils import nodes
|
||||
from docutils.parsers.rst import Directive, directives
|
||||
|
||||
class IncludeCode(Directive):
|
||||
"""
|
||||
Include a code example from a file with sections delimited with special comments.
|
||||
"""
|
||||
|
||||
has_content = False
|
||||
required_arguments = 1
|
||||
optional_arguments = 0
|
||||
final_argument_whitespace = False
|
||||
option_spec = {
|
||||
'section': directives.unchanged_required,
|
||||
'comment': directives.unchanged_required,
|
||||
'marker': directives.unchanged_required,
|
||||
'include': directives.unchanged_required,
|
||||
'exclude': directives.unchanged_required,
|
||||
'hideexcludes': directives.flag,
|
||||
'linenos': directives.flag,
|
||||
'language': directives.unchanged_required,
|
||||
'encoding': directives.encoding,
|
||||
'prepend': directives.unchanged_required,
|
||||
'append': directives.unchanged_required,
|
||||
}
|
||||
|
||||
def run(self):
|
||||
document = self.state.document
|
||||
arg0 = self.arguments[0]
|
||||
(filename, sep, section) = arg0.partition('#')
|
||||
|
||||
if not document.settings.file_insertion_enabled:
|
||||
return [document.reporter.warning('File insertion disabled',
|
||||
line=self.lineno)]
|
||||
env = document.settings.env
|
||||
if filename.startswith('/') or filename.startswith(os.sep):
|
||||
rel_fn = filename[1:]
|
||||
else:
|
||||
docdir = path.dirname(env.doc2path(env.docname, base=None))
|
||||
rel_fn = path.join(docdir, filename)
|
||||
try:
|
||||
fn = path.join(env.srcdir, rel_fn)
|
||||
except UnicodeDecodeError:
|
||||
# the source directory is a bytestring with non-ASCII characters;
|
||||
# let's try to encode the rel_fn in the file system encoding
|
||||
rel_fn = rel_fn.encode(sys.getfilesystemencoding())
|
||||
fn = path.join(env.srcdir, rel_fn)
|
||||
|
||||
encoding = self.options.get('encoding', env.config.source_encoding)
|
||||
codec_info = codecs.lookup(encoding)
|
||||
try:
|
||||
f = codecs.StreamReaderWriter(open(fn, 'U'),
|
||||
codec_info[2], codec_info[3], 'strict')
|
||||
lines = f.readlines()
|
||||
f.close()
|
||||
except (IOError, OSError):
|
||||
return [document.reporter.warning(
|
||||
'Include file %r not found or reading it failed' % filename,
|
||||
line=self.lineno)]
|
||||
except UnicodeError:
|
||||
return [document.reporter.warning(
|
||||
'Encoding %r used for reading included file %r seems to '
|
||||
'be wrong, try giving an :encoding: option' %
|
||||
(encoding, filename))]
|
||||
|
||||
comment = self.options.get('comment', '//')
|
||||
marker = self.options.get('marker', comment + '#')
|
||||
lenm = len(marker)
|
||||
if not section:
|
||||
section = self.options.get('section')
|
||||
include_sections = self.options.get('include', '')
|
||||
exclude_sections = self.options.get('exclude', '')
|
||||
include = set(include_sections.split(',')) if include_sections else set()
|
||||
exclude = set(exclude_sections.split(',')) if exclude_sections else set()
|
||||
hideexcludes = 'hideexcludes' in self.options
|
||||
if section:
|
||||
include |= set([section])
|
||||
within = set()
|
||||
res = []
|
||||
excluding = False
|
||||
for line in lines:
|
||||
index = line.find(marker)
|
||||
if index >= 0:
|
||||
section_name = line[index+lenm:].strip()
|
||||
if section_name in within:
|
||||
within ^= set([section_name])
|
||||
if excluding and not (exclude & within):
|
||||
excluding = False
|
||||
else:
|
||||
within |= set([section_name])
|
||||
if not excluding and (exclude & within):
|
||||
excluding = True
|
||||
if not hideexcludes:
|
||||
res.append(' ' * index + comment + ' ' + section_name.replace('-', ' ') + ' ...\n')
|
||||
elif not (exclude & within) and (not include or (include & within)):
|
||||
res.append(line)
|
||||
lines = res
|
||||
|
||||
def countwhile(predicate, iterable):
|
||||
count = 0
|
||||
for x in iterable:
|
||||
if predicate(x):
|
||||
count += 1
|
||||
else:
|
||||
return count
|
||||
|
||||
nonempty = filter(lambda l: l.strip(), lines)
|
||||
tabcounts = map(lambda l: countwhile(lambda c: c == ' ', l), nonempty)
|
||||
tabshift = min(tabcounts) if tabcounts else 0
|
||||
|
||||
if tabshift > 0:
|
||||
lines = map(lambda l: l[tabshift:] if len(l) > tabshift else l, lines)
|
||||
|
||||
prepend = self.options.get('prepend')
|
||||
append = self.options.get('append')
|
||||
if prepend:
|
||||
lines.insert(0, prepend + '\n')
|
||||
if append:
|
||||
lines.append(append + '\n')
|
||||
|
||||
text = ''.join(lines)
|
||||
retnode = nodes.literal_block(text, text, source=fn)
|
||||
retnode.line = 1
|
||||
retnode.attributes['line_number'] = self.lineno
|
||||
if self.options.get('language', ''):
|
||||
retnode['language'] = self.options['language']
|
||||
if 'linenos' in self.options:
|
||||
retnode['linenos'] = True
|
||||
document.settings.env.note_dependency(rel_fn)
|
||||
return [retnode]
|
||||
|
||||
def setup(app):
|
||||
app.require_sphinx('1.0')
|
||||
app.add_directive('includecode', IncludeCode)
|
||||
19
akka-docs/_sphinx/pygments/setup.py
Normal file
19
akka-docs/_sphinx/pygments/setup.py
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
"""
|
||||
Akka syntax styles for Pygments.
|
||||
"""
|
||||
|
||||
from setuptools import setup
|
||||
|
||||
entry_points = """
|
||||
[pygments.styles]
|
||||
simple = styles.simple:SimpleStyle
|
||||
"""
|
||||
|
||||
setup(
|
||||
name = 'akkastyles',
|
||||
version = '0.1',
|
||||
description = __doc__,
|
||||
author = "Akka",
|
||||
packages = ['styles'],
|
||||
entry_points = entry_points
|
||||
)
|
||||
0
akka-docs/_sphinx/pygments/styles/__init__.py
Normal file
0
akka-docs/_sphinx/pygments/styles/__init__.py
Normal file
58
akka-docs/_sphinx/pygments/styles/simple.py
Normal file
58
akka-docs/_sphinx/pygments/styles/simple.py
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
"""
|
||||
pygments.styles.akka
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Simple style for Scala highlighting.
|
||||
"""
|
||||
|
||||
from pygments.style import Style
|
||||
from pygments.token import Keyword, Name, Comment, String, Error, \
|
||||
Number, Operator, Generic, Whitespace
|
||||
|
||||
|
||||
class SimpleStyle(Style):
|
||||
"""
|
||||
Simple style for Scala highlighting.
|
||||
"""
|
||||
|
||||
background_color = "#f0f0f0"
|
||||
default_style = ""
|
||||
|
||||
styles = {
|
||||
Whitespace: "#f0f0f0",
|
||||
Comment: "#777766",
|
||||
Comment.Preproc: "",
|
||||
Comment.Special: "",
|
||||
|
||||
Keyword: "#000080",
|
||||
Keyword.Pseudo: "",
|
||||
Keyword.Type: "",
|
||||
|
||||
Operator: "#000000",
|
||||
Operator.Word: "",
|
||||
|
||||
Name.Builtin: "#000000",
|
||||
Name.Function: "#000000",
|
||||
Name.Class: "#000000",
|
||||
Name.Namespace: "#000000",
|
||||
Name.Exception: "#000000",
|
||||
Name.Variable: "#000000",
|
||||
Name.Constant: "bold #000000",
|
||||
Name.Label: "#000000",
|
||||
Name.Entity: "#000000",
|
||||
Name.Attribute: "#000000",
|
||||
Name.Tag: "#000000",
|
||||
Name.Decorator: "#000000",
|
||||
|
||||
String: "#008000",
|
||||
String.Doc: "",
|
||||
String.Interpol: "",
|
||||
String.Escape: "",
|
||||
String.Regex: "",
|
||||
String.Symbol: "",
|
||||
String.Other: "",
|
||||
Number: "#008000",
|
||||
|
||||
Error: "border:#FF0000"
|
||||
}
|
||||
BIN
akka-docs/_sphinx/static/akka.png
Normal file
BIN
akka-docs/_sphinx/static/akka.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 5.8 KiB |
BIN
akka-docs/_sphinx/static/logo.png
Normal file
BIN
akka-docs/_sphinx/static/logo.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 6.6 KiB |
64
akka-docs/_sphinx/themes/akka/layout.html
Normal file
64
akka-docs/_sphinx/themes/akka/layout.html
Normal file
|
|
@ -0,0 +1,64 @@
|
|||
{#
|
||||
akka/layout.html
|
||||
~~~~~~~~~~~~~~~~~
|
||||
#}
|
||||
|
||||
{% extends "basic/layout.html" %}
|
||||
{% set script_files = script_files + ['_static/theme_extras.js'] %}
|
||||
{% set css_files = css_files + ['_static/print.css'] %}
|
||||
|
||||
{# do not display relbars #}
|
||||
{% block relbar1 %}{% endblock %}
|
||||
{% block relbar2 %}{% endblock %}
|
||||
|
||||
{% macro nav() %}
|
||||
<p>
|
||||
{%- block akkarel1 %}
|
||||
{%- endblock %}
|
||||
{%- if prev %}
|
||||
«  <a href="{{ prev.link|e }}">{{ prev.title }}</a>
|
||||
  ::  
|
||||
{%- endif %}
|
||||
<a class="uplink" href="{{ pathto(master_doc) }}">{{ _('Contents') }}</a>
|
||||
{%- if next %}
|
||||
  ::  
|
||||
<a href="{{ next.link|e }}">{{ next.title }}</a>  »
|
||||
{%- endif %}
|
||||
{%- block akkarel2 %}
|
||||
{%- endblock %}
|
||||
</p>
|
||||
{% endmacro %}
|
||||
|
||||
{% block content %}
|
||||
<div class="header">
|
||||
{%- block akkaheader %}
|
||||
{%- if theme_full_logo != "false" %}
|
||||
<a href="{{ pathto('index') }}">
|
||||
<img class="logo" src="{{ pathto('_static/' + logo, 1) }}" alt="Logo"/>
|
||||
</a>
|
||||
{%- else %}
|
||||
{%- if logo -%}
|
||||
<img class="rightlogo" src="{{ pathto('_static/' + logo, 1) }}" alt="Logo"/>
|
||||
{%- endif -%}
|
||||
<h1 class="heading"><a href="{{ pathto('index') }}">
|
||||
<span>{{ shorttitle|e }}</span></a></h1>
|
||||
<h2 class="heading"><span>{{ title|striptags|e }}</span></h2>
|
||||
{%- endif %}
|
||||
{%- endblock %}
|
||||
</div>
|
||||
<div class="topnav">
|
||||
{{ nav() }}
|
||||
</div>
|
||||
<div class="content">
|
||||
{#{%- if display_toc %}
|
||||
<div id="toc">
|
||||
<h3>Table Of Contents</h3>
|
||||
{{ toc }}
|
||||
</div>
|
||||
{%- endif %}#}
|
||||
{% block body %}{% endblock %}
|
||||
</div>
|
||||
<div class="bottomnav">
|
||||
{{ nav() }}
|
||||
</div>
|
||||
{% endblock %}
|
||||
350
akka-docs/_sphinx/themes/akka/static/akka.css_t
Normal file
350
akka-docs/_sphinx/themes/akka/static/akka.css_t
Normal file
|
|
@ -0,0 +1,350 @@
|
|||
/*
|
||||
* akka.css_t
|
||||
*/
|
||||
|
||||
@import url("basic.css");
|
||||
|
||||
html {
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
background: #FFF url(bg-page.png) top left repeat-x;
|
||||
}
|
||||
|
||||
body {
|
||||
line-height: 1.5;
|
||||
margin: auto;
|
||||
padding: 0px;
|
||||
font-family: Helvetica, Arial, sans-serif;
|
||||
min-width: 59em;
|
||||
max-width: 70em;
|
||||
color: {{ theme_textcolor }};
|
||||
}
|
||||
|
||||
div.footer {
|
||||
padding: 8px;
|
||||
font-size: 11px;
|
||||
text-align: center;
|
||||
letter-spacing: 0.5px;
|
||||
}
|
||||
|
||||
/* link colors and text decoration */
|
||||
|
||||
a:link {
|
||||
text-decoration: none;
|
||||
color: {{ theme_linkcolor }};
|
||||
}
|
||||
|
||||
a:visited {
|
||||
text-decoration: none;
|
||||
color: {{ theme_visitedlinkcolor }};
|
||||
}
|
||||
|
||||
a:hover, a:active {
|
||||
text-decoration: underline;
|
||||
color: {{ theme_hoverlinkcolor }};
|
||||
}
|
||||
|
||||
/* Some headers act as anchors, don't give them a hover effect */
|
||||
|
||||
h1 a:hover, a:active {
|
||||
text-decoration: none;
|
||||
color: {{ theme_headingcolor }};
|
||||
}
|
||||
|
||||
h2 a:hover, a:active {
|
||||
text-decoration: none;
|
||||
color: {{ theme_headingcolor }};
|
||||
}
|
||||
|
||||
h3 a:hover, a:active {
|
||||
text-decoration: none;
|
||||
color: {{ theme_headingcolor }};
|
||||
}
|
||||
|
||||
h4 a:hover, a:active {
|
||||
text-decoration: none;
|
||||
color: {{ theme_headingcolor }};
|
||||
}
|
||||
|
||||
a.headerlink {
|
||||
color: #a7ce38;
|
||||
padding-left: 5px;
|
||||
}
|
||||
|
||||
a.headerlink:hover {
|
||||
color: #a7ce38;
|
||||
}
|
||||
|
||||
/* basic text elements */
|
||||
|
||||
div.content {
|
||||
margin-top: 20px;
|
||||
margin-left: 40px;
|
||||
margin-right: 40px;
|
||||
margin-bottom: 50px;
|
||||
font-size: 0.9em;
|
||||
}
|
||||
|
||||
/* heading and navigation */
|
||||
|
||||
div.header {
|
||||
position: relative;
|
||||
left: 0px;
|
||||
top: 0px;
|
||||
height: 85px;
|
||||
/* background: #eeeeee; */
|
||||
padding: 0 40px;
|
||||
}
|
||||
div.header h1 {
|
||||
font-size: 1.6em;
|
||||
font-weight: normal;
|
||||
letter-spacing: 1px;
|
||||
color: {{ theme_headingcolor }};
|
||||
border: 0;
|
||||
margin: 0;
|
||||
padding-top: 15px;
|
||||
}
|
||||
div.header h1 a {
|
||||
font-weight: normal;
|
||||
color: {{ theme_headingcolor }};
|
||||
}
|
||||
div.header h2 {
|
||||
font-size: 1.3em;
|
||||
font-weight: normal;
|
||||
letter-spacing: 1px;
|
||||
text-transform: uppercase;
|
||||
color: #aaa;
|
||||
border: 0;
|
||||
margin-top: -3px;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
div.header img.rightlogo {
|
||||
float: right;
|
||||
}
|
||||
|
||||
|
||||
div.title {
|
||||
font-size: 1.3em;
|
||||
font-weight: bold;
|
||||
color: {{ theme_headingcolor }};
|
||||
border-bottom: dotted thin #e0e0e0;
|
||||
margin-bottom: 25px;
|
||||
}
|
||||
div.topnav {
|
||||
/* background: #e0e0e0; */
|
||||
}
|
||||
div.topnav p {
|
||||
margin-top: 0;
|
||||
margin-left: 40px;
|
||||
margin-right: 40px;
|
||||
margin-bottom: 0px;
|
||||
text-align: right;
|
||||
font-size: 0.8em;
|
||||
}
|
||||
div.bottomnav {
|
||||
background: #eeeeee;
|
||||
}
|
||||
div.bottomnav p {
|
||||
margin-right: 40px;
|
||||
text-align: right;
|
||||
font-size: 0.8em;
|
||||
}
|
||||
|
||||
a.uplink {
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
|
||||
/* contents box */
|
||||
|
||||
table.index {
|
||||
margin: 0px 0px 30px 30px;
|
||||
padding: 1px;
|
||||
border-width: 1px;
|
||||
border-style: dotted;
|
||||
border-color: #e0e0e0;
|
||||
}
|
||||
table.index tr.heading {
|
||||
background-color: #e0e0e0;
|
||||
text-align: center;
|
||||
font-weight: bold;
|
||||
font-size: 1.1em;
|
||||
}
|
||||
table.index tr.index {
|
||||
background-color: #eeeeee;
|
||||
}
|
||||
table.index td {
|
||||
padding: 5px 20px;
|
||||
}
|
||||
|
||||
table.index a:link, table.index a:visited {
|
||||
font-weight: normal;
|
||||
text-decoration: none;
|
||||
color: {{ theme_linkcolor }};
|
||||
}
|
||||
table.index a:hover, table.index a:active {
|
||||
text-decoration: underline;
|
||||
color: {{ theme_hoverlinkcolor }};
|
||||
}
|
||||
|
||||
|
||||
/* Akka Cloud Manual styles and layout */
|
||||
|
||||
/* Rounded corner boxes */
|
||||
/* Common declarations */
|
||||
div.admonition {
|
||||
-webkit-border-radius: 10px;
|
||||
-khtml-border-radius: 10px;
|
||||
-moz-border-radius: 10px;
|
||||
border-radius: 10px;
|
||||
border-style: dotted;
|
||||
border-width: thin;
|
||||
border-color: #dcdcdc;
|
||||
padding: 10px 15px 10px 15px;
|
||||
margin-bottom: 15px;
|
||||
margin-top: 15px;
|
||||
}
|
||||
div.note {
|
||||
padding: 10px 15px 10px 80px;
|
||||
background: #e4ffde url(alert_info_32.png) 15px 15px no-repeat;
|
||||
min-height: 42px;
|
||||
}
|
||||
div.warning {
|
||||
padding: 10px 15px 10px 80px;
|
||||
background: #fffbc6 url(alert_warning_32.png) 15px 15px no-repeat;
|
||||
min-height: 42px;
|
||||
}
|
||||
div.seealso {
|
||||
background: #e4ffde;
|
||||
}
|
||||
|
||||
/* More layout and styles */
|
||||
h1 {
|
||||
font-size: 1.3em;
|
||||
font-weight: bold;
|
||||
color: {{ theme_headingcolor }};
|
||||
border-bottom: dotted thin #e0e0e0;
|
||||
margin-top: 30px;
|
||||
}
|
||||
|
||||
h2 {
|
||||
font-size: 1.2em;
|
||||
font-weight: normal;
|
||||
color: {{ theme_headingcolor }};
|
||||
border-bottom: dotted thin #e0e0e0;
|
||||
margin-top: 30px;
|
||||
}
|
||||
|
||||
h3 {
|
||||
font-size: 1.1em;
|
||||
font-weight: normal;
|
||||
color: {{ theme_headingcolor }};
|
||||
margin-top: 30px;
|
||||
}
|
||||
|
||||
h4 {
|
||||
font-size: 1.0em;
|
||||
font-weight: normal;
|
||||
color: {{ theme_headingcolor }};
|
||||
margin-top: 30px;
|
||||
}
|
||||
|
||||
p {
|
||||
text-align: justify;
|
||||
}
|
||||
|
||||
p.last {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
ol {
|
||||
padding-left: 20px;
|
||||
}
|
||||
|
||||
ul {
|
||||
padding-left: 5px;
|
||||
margin-top: 3px;
|
||||
}
|
||||
|
||||
li {
|
||||
line-height: 1.3;
|
||||
}
|
||||
|
||||
div.content ul > li {
|
||||
-moz-background-clip:border;
|
||||
-moz-background-inline-policy:continuous;
|
||||
-moz-background-origin:padding;
|
||||
background: transparent url(bullet_orange.png) no-repeat scroll left 0.45em;
|
||||
list-style-image: none;
|
||||
list-style-type: none;
|
||||
padding: 0 0 0 1.666em;
|
||||
margin-bottom: 3px;
|
||||
}
|
||||
|
||||
td {
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
tt {
|
||||
background-color: #e2e2e2;
|
||||
font-size: 1.0em;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
pre {
|
||||
border-color: #0c3762;
|
||||
border-style: dotted;
|
||||
border-width: thin;
|
||||
margin: 0 0 12px 0;
|
||||
padding: 0.8em;
|
||||
background-color: #f0f0f0;
|
||||
}
|
||||
|
||||
hr {
|
||||
border-top: 1px solid #ccc;
|
||||
border-bottom: 0;
|
||||
border-right: 0;
|
||||
border-left: 0;
|
||||
margin-bottom: 10px;
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
/* printer only pretty stuff */
|
||||
@media print {
|
||||
.noprint {
|
||||
display: none;
|
||||
}
|
||||
/* for acronyms we want their definitions inlined at print time */
|
||||
acronym[title]:after {
|
||||
font-size: small;
|
||||
content: " (" attr(title) ")";
|
||||
font-style: italic;
|
||||
}
|
||||
/* and not have mozilla dotted underline */
|
||||
acronym {
|
||||
border: none;
|
||||
}
|
||||
div.topnav, div.bottomnav, div.header, table.index {
|
||||
display: none;
|
||||
}
|
||||
div.content {
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
}
|
||||
html {
|
||||
background: #FFF;
|
||||
}
|
||||
}
|
||||
|
||||
.viewcode-back {
|
||||
font-family: Helvetica, Arial, sans-serif;
|
||||
}
|
||||
|
||||
div.viewcode-block:target {
|
||||
background-color: #f4debf;
|
||||
border-top: 1px solid #ac9;
|
||||
border-bottom: 1px solid #ac9;
|
||||
margin: -1px -12px;
|
||||
padding: 0 12px;
|
||||
}
|
||||
BIN
akka-docs/_sphinx/themes/akka/static/alert_info_32.png
Normal file
BIN
akka-docs/_sphinx/themes/akka/static/alert_info_32.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.1 KiB |
BIN
akka-docs/_sphinx/themes/akka/static/alert_warning_32.png
Normal file
BIN
akka-docs/_sphinx/themes/akka/static/alert_warning_32.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1 KiB |
BIN
akka-docs/_sphinx/themes/akka/static/bg-page.png
Normal file
BIN
akka-docs/_sphinx/themes/akka/static/bg-page.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 164 B |
BIN
akka-docs/_sphinx/themes/akka/static/bullet_orange.png
Normal file
BIN
akka-docs/_sphinx/themes/akka/static/bullet_orange.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 365 B |
12
akka-docs/_sphinx/themes/akka/theme.conf
Normal file
12
akka-docs/_sphinx/themes/akka/theme.conf
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
[theme]
|
||||
inherit = basic
|
||||
stylesheet = akka.css
|
||||
pygments_style = friendly
|
||||
|
||||
[options]
|
||||
full_logo = false
|
||||
textcolor = #333333
|
||||
headingcolor = #0c3762
|
||||
linkcolor = #0c3762
|
||||
visitedlinkcolor = #0c3762
|
||||
hoverlinkcolor = #0c3762
|
||||
Loading…
Add table
Add a link
Reference in a new issue