Commits (22)
......@@ -7,7 +7,7 @@ SPHINXBUILD = sphinx-build
PAPER =
BUILDDIR = build
MAHARA =
TRANSLATIONS = en de fr nl
TRANSLATIONS = en de fr ja nl
# TRANSLATIONS_UNSUPPORTED = ja
# TODO: Building Japanese language PDFs with LaTeX is non-trivial and poorly documented.
......@@ -66,6 +66,7 @@ html: fetchtranslations
$(SPHINXBUILD) -a -D language=$(TRANSLATION) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html/$(TRANSLATION)/$(MAHARA); \
echo "---------------"; \
)
@cp manual-build/source/index.html $(BUILDDIR)/html/
@echo
@echo "Build finished. The HTML pages are in $(BUILDDIR)/html/<language>/$(MAHARA)."
......@@ -128,10 +129,10 @@ devhelp:
@echo "# devhelp"
epub: fetchtranslations
#TODO delete the cp below when doc publishing no longer needs it. Because epub should depend on html
@$(foreach TRANSLATION,$(TRANSLATIONS), \
$(SPHINXBUILD) -a -D language=$(TRANSLATION) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub/$(TRANSLATION)/$(MAHARA); \
cp $(BUILDDIR)/epub/$(TRANSLATION)/$(MAHARA)/Mahara.epub $(BUILDDIR)/html/$(TRANSLATION)/$(MAHARA)/Mahara.epub; \
rm -r $(BUILDDIR)/epub/$(TRANSLATION)/$(MAHARA)/; \
echo "---------------"; \
)
@echo
......@@ -149,10 +150,12 @@ latex: fetchtranslations
"(use \`make latexpdf' here to do that automatically)."
# build the pdf twice to ensure the table of contents is generated
latexpdf: latex
@$(foreach TRANSLATION,$(TRANSLATIONS), \
echo "Translation [$(TRANSLATION)]..."; \
sed -i s/,dvipdfmx// $(BUILDDIR)/latex/$(TRANSLATION)/$(MAHARA)/Mahara.tex; \
$(MAKE) PDFLATEX="xelatex -halt-on-error -file-line-error" -C $(BUILDDIR)/latex/$(TRANSLATION)/$(MAHARA) all-pdf|grep -P -A2 ":[0-9]+:\ .*|Error:"; \
$(MAKE) PDFLATEX="xelatex -halt-on-error -file-line-error" -C $(BUILDDIR)/latex/$(TRANSLATION)/$(MAHARA) all-pdf|grep -P -A2 ":[0-9]+:\ .*|Error:"; \
echo "---------------"; \
)
......@@ -189,3 +192,11 @@ doctest:
$(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
@echo "Testing of doctests in the sources finished, look at the " \
"results in $(BUILDDIR)/doctest/output.txt."
bundle: html epub
@$(foreach TRANSLATION,$(TRANSLATIONS), \
cp $(BUILDDIR)/epub/$(TRANSLATION)/$(MAHARA)/Mahara.epub $(BUILDDIR)/html/$(TRANSLATION)/$(MAHARA)/Mahara.epub; \
)
@tar -czf $(BUILDDIR)/mahara-manual$(MAHARA).tar.gz -C $(BUILDDIR)/html $(TRANSLATIONS)
@echo
@echo "Created bundle: $(BUILDDIR)/mahara-manual$(MAHARA).tar.gz"
......@@ -16,7 +16,9 @@ import sys, os, datetime
html_context = {
#mahara_releases is used to build the user manual links
'mahara_releases': ['18.04', '17.10', '17.04', '16.10', '16.04', '15.10', '15.04', '1.10', '1.9', '1.8', '1.7', '1.6', '1.5', '1.4']
'mahara_releases': ['19.04', '18.10', '18.04', '17.10'],
#all_mahara_releases is used to build the full list of user manual links on all_releases.html
'all_mahara_releases': ['19.04', '18.10', '18.04', '17.10', '17.04', '16.10', '16.04', '15.10', '15.04', '1.10', '1.9', '1.8', '1.7', '1.6', '1.5', '1.4']
}
# If extensions (or modules to document with autodoc) are in another directory,
......@@ -119,7 +121,7 @@ html_theme = 'mahara'
# Theme options are theme-specific and customize the look and feel of a theme
# further. For a list of options available for each theme, see the
# documentation.
html_theme_options = {'googlewebfont': True, 'googlewebfont_url': 'http://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i,800,800i', 'googlewebfont_style': "font-family: 'Open Sans', sans-serif",}
html_theme_options = {'googlewebfont': True, 'googlewebfont_url': 'https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i,800,800i', 'googlewebfont_style': "font-family: 'Open Sans', sans-serif",}
# Add any paths that contain custom themes here, relative to this directory.
# html_theme_path = ['.']
......@@ -156,6 +158,9 @@ html_last_updated_fmt = '%b %d, %Y'
# typographically correct entities.
#html_use_smartypants = True
# prevent multiple backslashes (in Japanese)
smartquotes_excludes = ({'languages': [], 'builders': ['man', 'text']})
# Custom sidebar templates, maps document names to template names.
html_sidebars = {'**':['localtoc.html', 'relations.html', 'searchbox.html', 'links.html', 'translations.html']}
# html_sidebars = {'**':['localtoc.html', 'relations.html', 'searchbox.html', 'translations.html']}
......@@ -163,7 +168,7 @@ html_sidebars = {'**':['localtoc.html', 'relations.html', 'searchbox.html', 'lin
# Additional templates that should be rendered to pages, maps page names to
# template names.
#html_additional_pages = {}
html_additional_pages = {'all-releases': 'all-releases.html'}
# If false, no module index is generated.
#html_domain_indices = True
......@@ -242,11 +247,13 @@ LATEX_PREAMBLE = '''
\\usepackage{verbatim}
\\usepackage{url}
\\usepackage{fontspec}
\\setmainfont{%s}
\\usepackage{opensans}
\\usepackage{sectsty}
\\setmainfont{%(font)s}
\\usepackage{amsmath}
\\usepackage{amsfonts}
\\usepackage{xunicode}
''' % (LATEX_MAINFONT)
''' % {'font': LATEX_MAINFONT}
latex_elements = {
'papersize': 'a4',
......
<!doctype html>
<html lang="en">
<head>
<title>Mahara user manuals</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
</head>
<body>
<div class="container-fluid">
<h1 style="margin: 20px;">Mahara user manuals</h1>
</div>
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>
<script type="text/javascript">
$(document).ready(function() {
var lang = window.navigator.language.substr(0, 2).toLowerCase();
if (! ["en", "de", "fr", "ja", "nl"].includes(lang)) {
lang = "en";
}
window.location = "https://manual.mahara.org/" + lang + "/18.10/";
});
</script>
</body>
</html>
{% extends "!layout.html" %}
{% block document %}
<h3>All Mahara user manuals</h3>
<ul class="square">
{% for release in all_mahara_releases %}
<li>
<b><a href="https://manual.mahara.org/{{ language }}/{{ release }}/index.html" aria-label="Mahara user manual {{ release }} HTML">{{ release }}</a></b>
{#<a href="https://manual.mahara.org/{{ language }}/{{ release }}/Mahara.epub" aria-label="Mahara user manual {{ release }} EPUB"><i class="fa fa-fw fa-lg fa-book" aria-hidden="true"></i></a>#}
{#<a href="https://manual.mahara.org/{{ language }}/{{ release }}/Mahara.pdf" aria-label="Mahara user manual {{ release }} PDF"><i class="fa fa-fw fa-lg fa-file-pdf-o" aria-hidden="true"></i></a>#}
</li>
{% endfor %}
</ul>
{% endblock %}
......@@ -5,11 +5,12 @@
<ul class="square">
{% for release in mahara_releases %}
<li>
<b><a href="http://manual.mahara.org/{{ language }}/{{ release }}/index.html" aria-label="Mahara user manual {{ release }} HTML">{{ release }} <i class="fa fa-fw fa-lg fa-globe" aria-hidden="true"></i></a></b>
<a href="http://manual.mahara.org/{{ language }}/{{ release }}/Mahara.epub" aria-label="Mahara user manual {{ release }} EPUB"><i class="fa fa-fw fa-lg fa-book" aria-hidden="true"></i></a>
{#<a href="http://manual.mahara.org/{{ language }}/{{ release }}/Mahara.pdf" aria-label="Mahara user manual {{ release }} PDF"><i class="fa fa-fw fa-lg fa-file-pdf-o" aria-hidden="true"></i></a>#}
<b><a href="https://manual.mahara.org/{{ language }}/{{ release }}/index.html" aria-label="Mahara user manual {{ release }} HTML">{{ release }}</a></b>
{#<a href="https://manual.mahara.org/{{ language }}/{{ release }}/Mahara.epub" aria-label="Mahara user manual {{ release }} EPUB"><i class="fa fa-fw fa-lg fa-book" aria-hidden="true"></i></a>#}
{#<a href="https://manual.mahara.org/{{ language }}/{{ release }}/Mahara.pdf" aria-label="Mahara user manual {{ release }} PDF"><i class="fa fa-fw fa-lg fa-file-pdf-o" aria-hidden="true"></i></a>#}
</li>
{% endfor %}
<li><a href="all-releases.html">All releases</a></li>
</ul>
</div>
{% endblock %}
......@@ -54,6 +54,7 @@ a, a:visited, a:link, a .pre {
word-wrap: break-word;
}
a:hover, a:hover .pre {
color: #566d31;
text-decoration: underline;
}
em {
......@@ -277,45 +278,62 @@ div.admonition p.last {
div.admonition p.admonition-title {
display: none;
}
div.note,
div.important {
background-color: #d1ecf1;
border-color: #bee5eb;
}
div.note:before,
div.important:before {
content: "\f05a\00a0";
color: #468847;
color: #0c5460;
}
div.note a,
div.important a {
color: #3C763D;
color: #062c33;
}
div.warning:before,
div.caution:before,
div.attention:before,
div.seealso:before {
div.attention:before {
content: "\f071\00a0";
color: #c09853;
}
div.warning a,
div.caution a,
div.attention a,
div.seealso a {
div.attention a {
color: #886B3A;
}
div.hint,
div.tip,
div.seealso {
background-color: #fff3cd;
border-color: #ffeeba;
}
div.hint:before,
div.tip:before {
div.tip:before,
div.seealso:before {
content: "\f0eb\00a0";
color: #3a87ad;
color: #856404;
}
div.hint a,
div.tip a {
color: #31708F;
div.tip a,
div.seealso a {
color: #533f03;
}
div.warning,
div.danger,
div.error {
background-color: #f8d7da;
border-color: #f5c6cb;
}
div.warning:before,
div.danger:before,
div.error:before {
content: "\f06a\00a0";
color: #b94a48;
content: "\f071\00a0";
color: #721c24;
}
div.warning a,
div.danger a,
div.error a {
color: #A94442;
color: #491217;
}
tt.xref {
......@@ -402,6 +420,24 @@ input[type="submit"]:before {
color: #f04f50;
}
.sign-off_yes {
color: #449d44;
}
.sign-off_no {
color: #f04f50;
}
.timeline_icon_active {
color: #556d32;
}
.timeline_icon_inactive {
color: #eeeeee;
}
.new_icon {
color: #423017;
}
.link-blocktype {
font-size: 0.9178em;
margin: 10px 0;
......@@ -464,6 +500,29 @@ a.incognito:hover {
line-height: 1.5;
padding: 2.3px 10px;
}
.btn-primary,
.form-inline input.btn-primary {
color:#fff;
background-color:#556d32;
border-color:#556d32;
-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075);
box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075)
}
.btn-primary:hover,
.form-inline input.btn-primary:hover {
color:#fff;
background-color:#415326;
border-color:#3a4a22
}
.btn-primary.focus,
.btn-primary:focus,
.form-inline input.btn-primary:focus,
.form-inline input.focus.btn-primary {
-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075),0 0 0 .2rem rgba(111,131,81,.5);
box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075),0 0 0 .2rem rgba(111,131,81,.5)
}
/* -- footer ---------------------------------------------------------------- */
.footer-relbar {
margin: 0;
......
......@@ -4,10 +4,11 @@
<h3>Languages</h3>
<p>Some of these may be incomplete.</p>
<ul>
<li><a href="http://manual.mahara.org/de/{{version}}/" title="de" alt="de">Deutsch</a></li>
<li><a href="http://manual.mahara.org/en/{{version}}/" title="en" alt="en">English</a></li>
<li><a href="http://manual.mahara.org/fr/{{version}}/" title="fr" alt="fr">Français</a></li>
<li><a href="http://manual.mahara.org/nl/{{version}}/" title="nl" alt="nl">Nederlands</a></li>
<li><a href="https://manual.mahara.org/de/{{version}}/" title="de" alt="de">Deutsch</a></li>
<li><a href="https://manual.mahara.org/en/{{version}}/" title="en" alt="en">English</a></li>
<li><a href="https://manual.mahara.org/fr/{{version}}/" title="fr" alt="fr">Français</a></li>
<li><a href="https://manual.mahara.org/ja/{{version}}/" title="ja" alt="ja">日本語</a></li>
<li><a href="https://manual.mahara.org/nl/{{version}}/" title="nl" alt="nl">Nederlands</a></li>
</ul>
</div>
{% endblock %}