Use simple templating for static processing

This commit is contained in:
smdyv 2023-07-13 17:06:57 +02:00 committed by Daniel Micay
parent 4430036ea2
commit 150608e016
27 changed files with 127 additions and 667 deletions

View File

@ -31,6 +31,8 @@ cp -a nginx nginx-tmp
rm -rf static-tmp rm -rf static-tmp
cp -a static static-tmp cp -a static static-tmp
python3 process-templates.py static-tmp
for file in static-tmp/**/*.@(json|webmanifest); do for file in static-tmp/**/*.@(json|webmanifest); do
json_verify < "$file" >/dev/null json_verify < "$file" >/dev/null
json_reformat -m < "$file" | sponge "$file" json_reformat -m < "$file" | sponge "$file"

26
process-templates.py Normal file
View File

@ -0,0 +1,26 @@
#!/usr/bin/env python3
from jinja2 import FileSystemLoader, Environment
import os
import sys
ROOT_DIR = sys.argv[1]
TEMPLATE_PATH_LIST = [ROOT_DIR, "templates/"]
loader = FileSystemLoader(searchpath=TEMPLATE_PATH_LIST)
environment = Environment(loader=loader, autoescape=True)
template_file_list = []
for dirpath, dirnames, filenames in os.walk(ROOT_DIR):
for filename in filenames:
if filename.endswith(".html"):
template_file_list.append(
(os.path.join(dirpath, filename)).split(sep=os.path.sep, maxsplit=1)[1]
)
for template_file in template_file_list:
template = environment.get_template(template_file)
rendered_template = template.render()
path = os.path.join(ROOT_DIR, template_file)
with open(path, mode="w") as f:
f.write(rendered_template)

View File

@ -28,40 +28,13 @@
<link rel="me" href="https://grapheneos.social/@GrapheneOS"/> <link rel="me" href="https://grapheneos.social/@GrapheneOS"/>
</head> </head>
<body> <body>
<header> {% include "header.html" %}
<nav id="site-menu">
<ul>
<li><a href="/"><img src="[[path|/mask-icon.svg]]" alt=""/>GrapheneOS</a></li>
<li><a href="/features">Features</a></li>
<li><a href="/install/">Install</a></li>
<li><a href="/build">Build</a></li>
<li><a href="/usage">Usage</a></li>
<li><a href="/faq">FAQ</a></li>
<li><a href="/releases">Releases</a></li>
<li><a href="/source">Source</a></li>
<li><a href="/history/">History</a></li>
<li><a href="/articles/">Articles</a></li>
<li><a href="/donate">Donate</a></li>
<li><a href="/contact">Contact</a></li>
</ul>
</nav>
</header>
<main id="page-not-found"> <main id="page-not-found">
<h1><a href="#page-not-found">Page not found</a></h1> <h1><a href="#page-not-found">Page not found</a></h1>
<p>The requested page does not exist. If you think this is a mistake, please <p>The requested page does not exist. If you think this is a mistake, please
<a href="https://github.com/GrapheneOS/grapheneos.org/issues">report an issue</a>.</p> <a href="https://github.com/GrapheneOS/grapheneos.org/issues">report an issue</a>.</p>
</main> </main>
<footer> {% include "footer.html" %}
<a href="/"><img src="[[path|/mask-icon.svg]]" width="512" height="512" alt=""/>GrapheneOS</a>
<ul id="social">
<li><a href="https://discuss.grapheneos.org/">Forum</a></li>
<li><a href="https://twitter.com/GrapheneOS">Twitter</a></li>
<li><a href="https://grapheneos.social/@GrapheneOS">Mastodon</a></li>
<li><a href="https://github.com/GrapheneOS">GitHub</a></li>
<li><a href="https://reddit.com/r/GrapheneOS">Reddit</a></li>
<li><a href="https://www.linkedin.com/company/grapheneos/">LinkedIn</a></li>
</ul>
</footer>
</body> </body>
</html> </html>

View File

@ -30,24 +30,7 @@
<link rel="me" href="https://grapheneos.social/@GrapheneOS"/> <link rel="me" href="https://grapheneos.social/@GrapheneOS"/>
</head> </head>
<body> <body>
<header> {% include "header.html" %}
<nav id="site-menu">
<ul>
<li><a href="/"><img src="[[path|/mask-icon.svg]]" alt=""/>GrapheneOS</a></li>
<li><a href="/features">Features</a></li>
<li><a href="/install/">Install</a></li>
<li><a href="/build">Build</a></li>
<li><a href="/usage">Usage</a></li>
<li><a href="/faq">FAQ</a></li>
<li><a href="/releases">Releases</a></li>
<li><a href="/source">Source</a></li>
<li><a href="/history/">History</a></li>
<li><a href="/articles/">Articles</a></li>
<li><a href="/donate">Donate</a></li>
<li><a href="/contact">Contact</a></li>
</ul>
</nav>
</header>
<main id="attestation-compatibility-guide"> <main id="attestation-compatibility-guide">
<h1><a href="#attestation-compatibility-guide">Attestation compatibility guide</a></h1> <h1><a href="#attestation-compatibility-guide">Attestation compatibility guide</a></h1>
@ -129,16 +112,6 @@
app security model but substantially reinforces it, so it cannot be justified with app security model but substantially reinforces it, so it cannot be justified with
reasoning based on security, anti-fraud, etc.</p> reasoning based on security, anti-fraud, etc.</p>
</main> </main>
<footer> {% include "footer.html" %}
<a href="/"><img src="[[path|/mask-icon.svg]]" width="512" height="512" alt=""/>GrapheneOS</a>
<ul id="social">
<li><a href="https://discuss.grapheneos.org/">Forum</a></li>
<li><a href="https://twitter.com/GrapheneOS">Twitter</a></li>
<li><a href="https://grapheneos.social/@GrapheneOS">Mastodon</a></li>
<li><a href="https://github.com/GrapheneOS">GitHub</a></li>
<li><a href="https://reddit.com/r/GrapheneOS">Reddit</a></li>
<li><a href="https://www.linkedin.com/company/grapheneos/">LinkedIn</a></li>
</ul>
</footer>
</body> </body>
</html> </html>

View File

@ -31,24 +31,7 @@
[[js|/js/redirect.js]] [[js|/js/redirect.js]]
</head> </head>
<body> <body>
<header> {% include "header.html" %}
<nav id="site-menu">
<ul>
<li><a href="/"><img src="[[path|/mask-icon.svg]]" alt=""/>GrapheneOS</a></li>
<li><a href="/features">Features</a></li>
<li><a href="/install/">Install</a></li>
<li><a href="/build">Build</a></li>
<li><a href="/usage">Usage</a></li>
<li><a href="/faq">FAQ</a></li>
<li><a href="/releases">Releases</a></li>
<li><a href="/source">Source</a></li>
<li><a href="/history/">History</a></li>
<li><a href="/articles/">Articles</a></li>
<li><a href="/donate">Donate</a></li>
<li><a href="/contact">Contact</a></li>
</ul>
</nav>
</header>
<main id="grapheneos-servers"> <main id="grapheneos-servers">
<h1><a href="#grapheneos-servers">GrapheneOS servers</a></h1> <h1><a href="#grapheneos-servers">GrapheneOS servers</a></h1>
@ -714,16 +697,6 @@
</ul> </ul>
</section> </section>
</main> </main>
<footer> {% include "footer.html" %}
<a href="/"><img src="[[path|/mask-icon.svg]]" width="512" height="512" alt=""/>GrapheneOS</a>
<ul id="social">
<li><a href="https://discuss.grapheneos.org/">Forum</a></li>
<li><a href="https://twitter.com/GrapheneOS">Twitter</a></li>
<li><a href="https://grapheneos.social/@GrapheneOS">Mastodon</a></li>
<li><a href="https://github.com/GrapheneOS">GitHub</a></li>
<li><a href="https://reddit.com/r/GrapheneOS">Reddit</a></li>
<li><a href="https://www.linkedin.com/company/grapheneos/">LinkedIn</a></li>
</ul>
</footer>
</body> </body>
</html> </html>

View File

@ -30,24 +30,9 @@
<link rel="me" href="https://grapheneos.social/@GrapheneOS"/> <link rel="me" href="https://grapheneos.social/@GrapheneOS"/>
</head> </head>
<body> <body>
<header> {% with current_page="articles" %}
<nav id="site-menu"> {% include "header.html" %}
<ul> {% endwith %}
<li><a href="/"><img src="[[path|/mask-icon.svg]]" alt=""/>GrapheneOS</a></li>
<li><a href="/features">Features</a></li>
<li><a href="/install/">Install</a></li>
<li><a href="/build">Build</a></li>
<li><a href="/usage">Usage</a></li>
<li><a href="/faq">FAQ</a></li>
<li><a href="/releases">Releases</a></li>
<li><a href="/source">Source</a></li>
<li><a href="/history/">History</a></li>
<li aria-current="page"><a href="/articles/">Articles</a></li>
<li><a href="/donate">Donate</a></li>
<li><a href="/contact">Contact</a></li>
</ul>
</nav>
</header>
<main id="articles"> <main id="articles">
<h1><a href="#articles">Articles</a></h1> <h1><a href="#articles">Articles</a></h1>
@ -76,16 +61,6 @@
<li><a href="/articles/sitewide-advertising-industry-opt-out">Sitewide advertising industry opt-out</a> — Using ads.txt / app-ads.txt to disallow buying or selling ads for a domain.</li> <li><a href="/articles/sitewide-advertising-industry-opt-out">Sitewide advertising industry opt-out</a> — Using ads.txt / app-ads.txt to disallow buying or selling ads for a domain.</li>
</ul> </ul>
</main> </main>
<footer> {% include "footer.html" %}
<a href="/"><img src="[[path|/mask-icon.svg]]" width="512" height="512" alt=""/>GrapheneOS</a>
<ul id="social">
<li><a href="https://discuss.grapheneos.org/">Forum</a></li>
<li><a href="https://twitter.com/GrapheneOS">Twitter</a></li>
<li><a href="https://grapheneos.social/@GrapheneOS">Mastodon</a></li>
<li><a href="https://github.com/GrapheneOS">GitHub</a></li>
<li><a href="https://reddit.com/r/GrapheneOS">Reddit</a></li>
<li><a href="https://www.linkedin.com/company/grapheneos/">LinkedIn</a></li>
</ul>
</footer>
</body> </body>
</html> </html>

View File

@ -30,24 +30,7 @@
<link rel="me" href="https://grapheneos.social/@GrapheneOS"/> <link rel="me" href="https://grapheneos.social/@GrapheneOS"/>
</head> </head>
<body> <body>
<header> {% include "header.html" %}
<nav id="site-menu">
<ul>
<li><a href="/"><img src="[[path|/mask-icon.svg]]" alt=""/>GrapheneOS</a></li>
<li><a href="/features">Features</a></li>
<li><a href="/install/">Install</a></li>
<li><a href="/build">Build</a></li>
<li><a href="/usage">Usage</a></li>
<li><a href="/faq">FAQ</a></li>
<li><a href="/releases">Releases</a></li>
<li><a href="/source">Source</a></li>
<li><a href="/history/">History</a></li>
<li><a href="/articles/">Articles</a></li>
<li><a href="/donate">Donate</a></li>
<li><a href="/contact">Contact</a></li>
</ul>
</nav>
</header>
<main id="server-traffic-shaping"> <main id="server-traffic-shaping">
<h1><a href="#server-traffic-shaping">Server traffic shaping</a></h1> <h1><a href="#server-traffic-shaping">Server traffic shaping</a></h1>
@ -257,16 +240,6 @@ PriorityQueueingPreset=besteffort</pre>
streams.</p> streams.</p>
</section> </section>
</main> </main>
<footer> {% include "footer.html" %}
<a href="/"><img src="[[path|/mask-icon.svg]]" width="512" height="512" alt=""/>GrapheneOS</a>
<ul id="social">
<li><a href="https://discuss.grapheneos.org/">Forum</a></li>
<li><a href="https://twitter.com/GrapheneOS">Twitter</a></li>
<li><a href="https://grapheneos.social/@GrapheneOS">Mastodon</a></li>
<li><a href="https://github.com/GrapheneOS">GitHub</a></li>
<li><a href="https://reddit.com/r/GrapheneOS">Reddit</a></li>
<li><a href="https://www.linkedin.com/company/grapheneos/">LinkedIn</a></li>
</ul>
</footer>
</body> </body>
</html> </html>

View File

@ -30,24 +30,7 @@
<link rel="me" href="https://grapheneos.social/@GrapheneOS"/> <link rel="me" href="https://grapheneos.social/@GrapheneOS"/>
</head> </head>
<body> <body>
<header> {% include "header.html" %}
<nav id="site-menu">
<ul>
<li><a href="/"><img src="[[path|/mask-icon.svg]]" alt=""/>GrapheneOS</a></li>
<li><a href="/features">Features</a></li>
<li><a href="/install/">Install</a></li>
<li><a href="/build">Build</a></li>
<li><a href="/usage">Usage</a></li>
<li><a href="/faq">FAQ</a></li>
<li><a href="/releases">Releases</a></li>
<li><a href="/source">Source</a></li>
<li><a href="/history/">History</a></li>
<li><a href="/articles/">Articles</a></li>
<li><a href="/donate">Donate</a></li>
<li><a href="/contact">Contact</a></li>
</ul>
</nav>
</header>
<main id="sitewide-advertising-industry-opt-out"> <main id="sitewide-advertising-industry-opt-out">
<h1><a href="#sitewide-advertising-industry-opt-out">Sitewide advertising industry opt-out</a></h1> <h1><a href="#sitewide-advertising-industry-opt-out">Sitewide advertising industry opt-out</a></h1>
@ -77,16 +60,6 @@
of ad fraud for the advertising industry, but they do offer value for domain owners to of ad fraud for the advertising industry, but they do offer value for domain owners to
protect their reputation and discourage adware.</p> protect their reputation and discourage adware.</p>
</main> </main>
<footer> {% include "footer.html" %}
<a href="/"><img src="[[path|/mask-icon.svg]]" width="512" height="512" alt=""/>GrapheneOS</a>
<ul id="social">
<li><a href="https://discuss.grapheneos.org/">Forum</a></li>
<li><a href="https://twitter.com/GrapheneOS">Twitter</a></li>
<li><a href="https://grapheneos.social/@GrapheneOS">Mastodon</a></li>
<li><a href="https://github.com/GrapheneOS">GitHub</a></li>
<li><a href="https://reddit.com/r/GrapheneOS">Reddit</a></li>
<li><a href="https://www.linkedin.com/company/grapheneos/">LinkedIn</a></li>
</ul>
</footer>
</body> </body>
</html> </html>

View File

@ -31,24 +31,9 @@
[[js|/js/redirect.js]] [[js|/js/redirect.js]]
</head> </head>
<body> <body>
<header> {% with current_page="build" %}
<nav id="site-menu"> {% include "header.html" %}
<ul> {% endwith %}
<li><a href="/"><img src="[[path|/mask-icon.svg]]" alt=""/>GrapheneOS</a></li>
<li><a href="/features">Features</a></li>
<li><a href="/install/">Install</a></li>
<li aria-current="page"><a href="/build">Build</a></li>
<li><a href="/usage">Usage</a></li>
<li><a href="/faq">FAQ</a></li>
<li><a href="/releases">Releases</a></li>
<li><a href="/source">Source</a></li>
<li><a href="/history/">History</a></li>
<li><a href="/articles/">Articles</a></li>
<li><a href="/donate">Donate</a></li>
<li><a href="/contact">Contact</a></li>
</ul>
</nav>
</header>
<main id="build"> <main id="build">
<h1><a href="#build">Build</a></h1> <h1><a href="#build">Build</a></h1>
@ -1487,16 +1472,6 @@ rm android-cts-media-1.5.zip</pre>
</section> </section>
</article> </article>
</main> </main>
<footer> {% include "footer.html" %}
<a href="/"><img src="[[path|/mask-icon.svg]]" width="512" height="512" alt=""/>GrapheneOS</a>
<ul id="social">
<li><a href="https://discuss.grapheneos.org/">Forum</a></li>
<li><a href="https://twitter.com/GrapheneOS">Twitter</a></li>
<li><a href="https://grapheneos.social/@GrapheneOS">Mastodon</a></li>
<li><a href="https://github.com/GrapheneOS">GitHub</a></li>
<li><a href="https://reddit.com/r/GrapheneOS">Reddit</a></li>
<li><a href="https://www.linkedin.com/company/grapheneos/">LinkedIn</a></li>
</ul>
</footer>
</body> </body>
</html> </html>

View File

@ -30,24 +30,7 @@
<link rel="me" href="https://grapheneos.social/@GrapheneOS"/> <link rel="me" href="https://grapheneos.social/@GrapheneOS"/>
</head> </head>
<body> <body>
<header> {% include "header.html" %}
<nav id="site-menu">
<ul>
<li><a href="/"><img src="[[path|/mask-icon.svg]]" alt=""/>GrapheneOS</a></li>
<li><a href="/features">Features</a></li>
<li><a href="/install/">Install</a></li>
<li><a href="/build">Build</a></li>
<li><a href="/usage">Usage</a></li>
<li><a href="/faq">FAQ</a></li>
<li><a href="/releases">Releases</a></li>
<li><a href="/source">Source</a></li>
<li><a href="/history/">History</a></li>
<li><a href="/articles/">Articles</a></li>
<li><a href="/donate">Donate</a></li>
<li><a href="/contact">Contact</a></li>
</ul>
</nav>
</header>
<main id="camera-privacy-policy"> <main id="camera-privacy-policy">
<h1><a href="#camera-privacy-policy">Camera privacy policy</a></h1> <h1><a href="#camera-privacy-policy">Camera privacy policy</a></h1>
@ -78,16 +61,6 @@
<p>Unlike nearly any other QR/barcode scanning apps, QR/barcode scanning does not open <p>Unlike nearly any other QR/barcode scanning apps, QR/barcode scanning does not open
the resulting URL automatically.</p> the resulting URL automatically.</p>
</main> </main>
<footer> {% include "footer.html" %}
<a href="/"><img src="[[path|/mask-icon.svg]]" width="512" height="512" alt=""/>GrapheneOS</a>
<ul id="social">
<li><a href="https://discuss.grapheneos.org/">Forum</a></li>
<li><a href="https://twitter.com/GrapheneOS">Twitter</a></li>
<li><a href="https://grapheneos.social/@GrapheneOS">Mastodon</a></li>
<li><a href="https://github.com/GrapheneOS">GitHub</a></li>
<li><a href="https://reddit.com/r/GrapheneOS">Reddit</a></li>
<li><a href="https://www.linkedin.com/company/grapheneos/">LinkedIn</a></li>
</ul>
</footer>
</body> </body>
</html> </html>

View File

@ -30,24 +30,9 @@
<link rel="me" href="https://grapheneos.social/@GrapheneOS"/> <link rel="me" href="https://grapheneos.social/@GrapheneOS"/>
</head> </head>
<body> <body>
<header> {% with current_page="contact" %}
<nav id="site-menu"> {% include "header.html" %}
<ul> {% endwith %}
<li><a href="/"><img src="[[path|/mask-icon.svg]]" alt=""/>GrapheneOS</a></li>
<li><a href="/features">Features</a></li>
<li><a href="/install/">Install</a></li>
<li><a href="/build">Build</a></li>
<li><a href="/usage">Usage</a></li>
<li><a href="/faq">FAQ</a></li>
<li><a href="/releases">Releases</a></li>
<li><a href="/source">Source</a></li>
<li><a href="/history/">History</a></li>
<li><a href="/articles/">Articles</a></li>
<li><a href="/donate">Donate</a></li>
<li aria-current="page"><a href="/contact">Contact</a></li>
</ul>
</nav>
</header>
<main id="contact"> <main id="contact">
<h1><a href="#contact">Contact</a></h1> <h1><a href="#contact">Contact</a></h1>
@ -215,17 +200,7 @@
</section> </section>
</section> </section>
</main> </main>
<footer> {% include "footer.html" %}
<a href="/"><img src="[[path|/mask-icon.svg]]" width="512" height="512" alt=""/>GrapheneOS</a>
<ul id="social">
<li><a href="https://discuss.grapheneos.org/">Forum</a></li>
<li><a href="https://twitter.com/GrapheneOS">Twitter</a></li>
<li><a href="https://grapheneos.social/@GrapheneOS">Mastodon</a></li>
<li><a href="https://github.com/GrapheneOS">GitHub</a></li>
<li><a href="https://reddit.com/r/GrapheneOS">Reddit</a></li>
<li><a href="https://www.linkedin.com/company/grapheneos/">LinkedIn</a></li>
</ul>
</footer>
<script type="application/ld+json"> <script type="application/ld+json">
{ {
"@context": "https://schema.org", "@context": "https://schema.org",

View File

@ -30,24 +30,9 @@
<link rel="me" href="https://grapheneos.social/@GrapheneOS"/> <link rel="me" href="https://grapheneos.social/@GrapheneOS"/>
</head> </head>
<body> <body>
<header> {% with current_page="donate" %}
<nav id="site-menu"> {% include "header.html" %}
<ul> {% endwith %}
<li><a href="/"><img src="[[path|/mask-icon.svg]]" alt=""/>GrapheneOS</a></li>
<li><a href="/features">Features</a></li>
<li><a href="/install/">Install</a></li>
<li><a href="/build">Build</a></li>
<li><a href="/usage">Usage</a></li>
<li><a href="/faq">FAQ</a></li>
<li><a href="/releases">Releases</a></li>
<li><a href="/source">Source</a></li>
<li><a href="/history/">History</a></li>
<li><a href="/articles/">Articles</a></li>
<li aria-current="page"><a href="/donate">Donate</a></li>
<li><a href="/contact">Contact</a></li>
</ul>
</nav>
</header>
<main id="donate"> <main id="donate">
<h1><a href="#donate">Donate</a></h1> <h1><a href="#donate">Donate</a></h1>
@ -206,16 +191,6 @@
GrapheneOS.</p> GrapheneOS.</p>
</section> </section>
</main> </main>
<footer> {% include "footer.html" %}
<a href="/"><img src="[[path|/mask-icon.svg]]" width="512" height="512" alt=""/>GrapheneOS</a>
<ul id="social">
<li><a href="https://discuss.grapheneos.org/">Forum</a></li>
<li><a href="https://twitter.com/GrapheneOS">Twitter</a></li>
<li><a href="https://grapheneos.social/@GrapheneOS">Mastodon</a></li>
<li><a href="https://github.com/GrapheneOS">GitHub</a></li>
<li><a href="https://reddit.com/r/GrapheneOS">Reddit</a></li>
<li><a href="https://www.linkedin.com/company/grapheneos/">LinkedIn</a></li>
</ul>
</footer>
</body> </body>
</html> </html>

View File

@ -31,24 +31,9 @@
[[js|/js/redirect.js]] [[js|/js/redirect.js]]
</head> </head>
<body> <body>
<header> {% with current_page="faq" %}
<nav id="site-menu"> {% include "header.html" %}
<ul> {% endwith %}
<li><a href="/"><img src="[[path|/mask-icon.svg]]" alt=""/>GrapheneOS</a></li>
<li><a href="/features">Features</a></li>
<li><a href="/install/">Install</a></li>
<li><a href="/build">Build</a></li>
<li><a href="/usage">Usage</a></li>
<li aria-current="page"><a href="/faq">FAQ</a></li>
<li><a href="/releases">Releases</a></li>
<li><a href="/source">Source</a></li>
<li><a href="/history/">History</a></li>
<li><a href="/articles/">Articles</a></li>
<li><a href="/donate">Donate</a></li>
<li><a href="/contact">Contact</a></li>
</ul>
</nav>
</header>
<main id="faq"> <main id="faq">
<h1><a href="#faq">Frequently Asked Questions</a></h1> <h1><a href="#faq">Frequently Asked Questions</a></h1>
@ -1871,16 +1856,6 @@
as a distinct OS based on GrapheneOS.</p> as a distinct OS based on GrapheneOS.</p>
</article> </article>
</main> </main>
<footer> {% include "footer.html" %}
<a href="/"><img src="[[path|/mask-icon.svg]]" width="512" height="512" alt=""/>GrapheneOS</a>
<ul id="social">
<li><a href="https://discuss.grapheneos.org/">Forum</a></li>
<li><a href="https://twitter.com/GrapheneOS">Twitter</a></li>
<li><a href="https://grapheneos.social/@GrapheneOS">Mastodon</a></li>
<li><a href="https://github.com/GrapheneOS">GitHub</a></li>
<li><a href="https://reddit.com/r/GrapheneOS">Reddit</a></li>
<li><a href="https://www.linkedin.com/company/grapheneos/">LinkedIn</a></li>
</ul>
</footer>
</body> </body>
</html> </html>

View File

@ -30,24 +30,9 @@
<link rel="me" href="https://grapheneos.social/@GrapheneOS"/> <link rel="me" href="https://grapheneos.social/@GrapheneOS"/>
</head> </head>
<body> <body>
<header> {% with current_page="features" %}
<nav id="site-menu"> {% include "header.html" %}
<ul> {% endwith %}
<li><a href="/"><img src="[[path|/mask-icon.svg]]" alt=""/>GrapheneOS</a></li>
<li aria-current="page"><a href="/features">Features</a></li>
<li><a href="/install/">Install</a></li>
<li><a href="/build">Build</a></li>
<li><a href="/usage">Usage</a></li>
<li><a href="/faq">FAQ</a></li>
<li><a href="/releases">Releases</a></li>
<li><a href="/source">Source</a></li>
<li><a href="/history/">History</a></li>
<li><a href="/articles/">Articles</a></li>
<li><a href="/donate">Donate</a></li>
<li><a href="/contact">Contact</a></li>
</ul>
</nav>
</header>
<main id="features"> <main id="features">
<h1><a href="#features">Features overview</a></h1> <h1><a href="#features">Features overview</a></h1>
@ -1051,16 +1036,6 @@
</ul> </ul>
</section> </section>
</main> </main>
<footer> {% include "footer.html" %}
<a href="/"><img src="[[path|/mask-icon.svg]]" width="512" height="512" alt=""/>GrapheneOS</a>
<ul id="social">
<li><a href="https://discuss.grapheneos.org/">Forum</a></li>
<li><a href="https://twitter.com/GrapheneOS">Twitter</a></li>
<li><a href="https://grapheneos.social/@GrapheneOS">Mastodon</a></li>
<li><a href="https://github.com/GrapheneOS">GitHub</a></li>
<li><a href="https://reddit.com/r/GrapheneOS">Reddit</a></li>
<li><a href="https://www.linkedin.com/company/grapheneos/">LinkedIn</a></li>
</ul>
</footer>
</body> </body>
</html> </html>

View File

@ -30,24 +30,7 @@
<link rel="me" href="https://grapheneos.social/@GrapheneOS"/> <link rel="me" href="https://grapheneos.social/@GrapheneOS"/>
</head> </head>
<body> <body>
<header> {% include "header.html" %}
<nav id="site-menu">
<ul>
<li><a href="/"><img src="[[path|/mask-icon.svg]]" alt=""/>GrapheneOS</a></li>
<li><a href="/features">Features</a></li>
<li><a href="/install/">Install</a></li>
<li><a href="/build">Build</a></li>
<li><a href="/usage">Usage</a></li>
<li><a href="/faq">FAQ</a></li>
<li><a href="/releases">Releases</a></li>
<li><a href="/source">Source</a></li>
<li><a href="/history/">History</a></li>
<li><a href="/articles/">Articles</a></li>
<li><a href="/donate">Donate</a></li>
<li><a href="/contact">Contact</a></li>
</ul>
</nav>
</header>
<main id="copperheados"> <main id="copperheados">
<h1><a href="#copperheados">CopperheadOS is now GrapheneOS</a></h1> <h1><a href="#copperheados">CopperheadOS is now GrapheneOS</a></h1>
@ -124,16 +107,6 @@
substantially more resources available, including significantly more funding.</p> substantially more resources available, including significantly more funding.</p>
</section> </section>
</main> </main>
<footer> {% include "footer.html" %}
<a href="/"><img src="[[path|/mask-icon.svg]]" width="512" height="512" alt=""/>GrapheneOS</a>
<ul id="social">
<li><a href="https://discuss.grapheneos.org/">Forum</a></li>
<li><a href="https://twitter.com/GrapheneOS">Twitter</a></li>
<li><a href="https://grapheneos.social/@GrapheneOS">Mastodon</a></li>
<li><a href="https://github.com/GrapheneOS">GitHub</a></li>
<li><a href="https://reddit.com/r/GrapheneOS">Reddit</a></li>
<li><a href="https://www.linkedin.com/company/grapheneos/">LinkedIn</a></li>
</ul>
</footer>
</body> </body>
</html> </html>

View File

@ -30,24 +30,9 @@
<link rel="me" href="https://grapheneos.social/@GrapheneOS"/> <link rel="me" href="https://grapheneos.social/@GrapheneOS"/>
</head> </head>
<body> <body>
<header> {% with current_page="history" %}
<nav id="site-menu"> {% include "header.html" %}
<ul> {% endwith %}
<li><a href="/"><img src="[[path|/mask-icon.svg]]" alt=""/>GrapheneOS</a></li>
<li><a href="/features">Features</a></li>
<li><a href="/install/">Install</a></li>
<li><a href="/build">Build</a></li>
<li><a href="/usage">Usage</a></li>
<li><a href="/faq">FAQ</a></li>
<li><a href="/releases">Releases</a></li>
<li><a href="/source">Source</a></li>
<li aria-current="page"><a href="/history/">History</a></li>
<li><a href="/articles/">Articles</a></li>
<li><a href="/donate">Donate</a></li>
<li><a href="/contact">Contact</a></li>
</ul>
</nav>
</header>
<main id="history"> <main id="history">
<h1><a href="#history">History</a></h1> <h1><a href="#history">History</a></h1>
@ -109,16 +94,6 @@
<a href="/history/legacy-changelog">legacy changelog page</a>.</p> <a href="/history/legacy-changelog">legacy changelog page</a>.</p>
</section> </section>
</main> </main>
<footer> {% include "footer.html" %}
<a href="/"><img src="[[path|/mask-icon.svg]]" width="512" height="512" alt=""/>GrapheneOS</a>
<ul id="social">
<li><a href="https://discuss.grapheneos.org/">Forum</a></li>
<li><a href="https://twitter.com/GrapheneOS">Twitter</a></li>
<li><a href="https://grapheneos.social/@GrapheneOS">Mastodon</a></li>
<li><a href="https://github.com/GrapheneOS">GitHub</a></li>
<li><a href="https://reddit.com/r/GrapheneOS">Reddit</a></li>
<li><a href="https://www.linkedin.com/company/grapheneos/">LinkedIn</a></li>
</ul>
</footer>
</body> </body>
</html> </html>

View File

@ -30,24 +30,7 @@
<link rel="me" href="https://grapheneos.social/@GrapheneOS"/> <link rel="me" href="https://grapheneos.social/@GrapheneOS"/>
</head> </head>
<body> <body>
<header> {% include "header.html" %}
<nav id="site-menu">
<ul>
<li><a href="/"><img src="[[path|/mask-icon.svg]]" alt=""/>GrapheneOS</a></li>
<li><a href="/features">Features</a></li>
<li><a href="/install/">Install</a></li>
<li><a href="/build">Build</a></li>
<li><a href="/usage">Usage</a></li>
<li><a href="/faq">FAQ</a></li>
<li><a href="/releases">Releases</a></li>
<li><a href="/source">Source</a></li>
<li><a href="/history/">History</a></li>
<li><a href="/articles/">Articles</a></li>
<li><a href="/donate">Donate</a></li>
<li><a href="/contact">Contact</a></li>
</ul>
</nav>
</header>
<main id="legacy-changelog"> <main id="legacy-changelog">
<h1><a href="#legacy-changelog">Legacy changelog</a></h1> <h1><a href="#legacy-changelog">Legacy changelog</a></h1>
@ -2185,16 +2168,6 @@
</section> </section>
</main> </main>
<footer> {% include "footer.html" %}
<a href="/"><img src="[[path|/mask-icon.svg]]" width="512" height="512" alt=""/>GrapheneOS</a>
<ul id="social">
<li><a href="https://discuss.grapheneos.org/">Forum</a></li>
<li><a href="https://twitter.com/GrapheneOS">Twitter</a></li>
<li><a href="https://grapheneos.social/@GrapheneOS">Mastodon</a></li>
<li><a href="https://github.com/GrapheneOS">GitHub</a></li>
<li><a href="https://reddit.com/r/GrapheneOS">Reddit</a></li>
<li><a href="https://www.linkedin.com/company/grapheneos/">LinkedIn</a></li>
</ul>
</footer>
</body> </body>
</html> </html>

View File

@ -31,24 +31,9 @@
[[js|/js/redirect.js]] [[js|/js/redirect.js]]
</head> </head>
<body> <body>
<header> {% with current_page="/" %}
<nav id="site-menu"> {% include "header.html" %}
<ul> {% endwith %}
<li aria-current="page"><a href="/"><img src="[[path|/mask-icon.svg]]" alt=""/>GrapheneOS</a></li>
<li><a href="/features">Features</a></li>
<li><a href="/install/">Install</a></li>
<li><a href="/build">Build</a></li>
<li><a href="/usage">Usage</a></li>
<li><a href="/faq">FAQ</a></li>
<li><a href="/releases">Releases</a></li>
<li><a href="/source">Source</a></li>
<li><a href="/history/">History</a></li>
<li><a href="/articles/">Articles</a></li>
<li><a href="/donate">Donate</a></li>
<li><a href="/contact">Contact</a></li>
</ul>
</nav>
</header>
<main class="normalize" id="grapheneos"> <main class="normalize" id="grapheneos">
<div class="content hero"> <div class="content hero">
@ -136,16 +121,6 @@
</section> </section>
</div> </div>
</main> </main>
<footer> {% include "footer.html" %}
<a href="/"><img src="[[path|/mask-icon.svg]]" width="512" height="512" alt=""/>GrapheneOS</a>
<ul id="social">
<li><a href="https://discuss.grapheneos.org/">Forum</a></li>
<li><a href="https://twitter.com/GrapheneOS">Twitter</a></li>
<li><a href="https://grapheneos.social/@GrapheneOS">Mastodon</a></li>
<li><a href="https://github.com/GrapheneOS">GitHub</a></li>
<li><a href="https://reddit.com/r/GrapheneOS">Reddit</a></li>
<li><a href="https://www.linkedin.com/company/grapheneos/">LinkedIn</a></li>
</ul>
</footer>
</body> </body>
</html> </html>

View File

@ -31,24 +31,7 @@
[[js|/js/redirect.js]] [[js|/js/redirect.js]]
</head> </head>
<body> <body>
<header> {% include "header.html" %}
<nav id="site-menu">
<ul>
<li><a href="/"><img src="[[path|/mask-icon.svg]]" alt=""/>GrapheneOS</a></li>
<li><a href="/features">Features</a></li>
<li><a href="/install/">Install</a></li>
<li><a href="/build">Build</a></li>
<li><a href="/usage">Usage</a></li>
<li><a href="/faq">FAQ</a></li>
<li><a href="/releases">Releases</a></li>
<li><a href="/source">Source</a></li>
<li><a href="/history/">History</a></li>
<li><a href="/articles/">Articles</a></li>
<li><a href="/donate">Donate</a></li>
<li><a href="/contact">Contact</a></li>
</ul>
</nav>
</header>
<main id="cli-install"> <main id="cli-install">
<h1><a href="#cli-install">CLI install guide</a></h1> <h1><a href="#cli-install">CLI install guide</a></h1>
@ -650,16 +633,6 @@ curl -O https://releases.grapheneos.org/<var>DEVICE_NAME</var>-factory-202111012
</section> </section>
</section> </section>
</main> </main>
<footer> {% include "footer.html" %}
<a href="/"><img src="[[path|/mask-icon.svg]]" width="512" height="512" alt=""/>GrapheneOS</a>
<ul id="social">
<li><a href="https://discuss.grapheneos.org/">Forum</a></li>
<li><a href="https://twitter.com/GrapheneOS">Twitter</a></li>
<li><a href="https://grapheneos.social/@GrapheneOS">Mastodon</a></li>
<li><a href="https://github.com/GrapheneOS">GitHub</a></li>
<li><a href="https://reddit.com/r/GrapheneOS">Reddit</a></li>
<li><a href="https://www.linkedin.com/company/grapheneos/">LinkedIn</a></li>
</ul>
</footer>
</body> </body>
</html> </html>

View File

@ -31,24 +31,9 @@
[[js|/js/redirect.js]] [[js|/js/redirect.js]]
</head> </head>
<body> <body>
<header> {% with current_page="install" %}
<nav id="site-menu"> {% include "header.html" %}
<ul> {% endwith %}
<li><a href="/"><img src="[[path|/mask-icon.svg]]" alt=""/>GrapheneOS</a></li>
<li><a href="/features">Features</a></li>
<li aria-current="page"><a href="/install/">Install</a></li>
<li><a href="/build">Build</a></li>
<li><a href="/usage">Usage</a></li>
<li><a href="/faq">FAQ</a></li>
<li><a href="/releases">Releases</a></li>
<li><a href="/source">Source</a></li>
<li><a href="/history/">History</a></li>
<li><a href="/articles/">Articles</a></li>
<li><a href="/donate">Donate</a></li>
<li><a href="/contact">Contact</a></li>
</ul>
</nav>
</header>
<main id="install"> <main id="install">
<h1><a href="#install">Install</a></h1> <h1><a href="#install">Install</a></h1>
@ -73,16 +58,6 @@
instructions from our site. For most users, the web-based installation approach is no instructions from our site. For most users, the web-based installation approach is no
less secure and avoids needing any software beyond a browser with WebUSB support.</p> less secure and avoids needing any software beyond a browser with WebUSB support.</p>
</main> </main>
<footer> {% include "footer.html" %}
<a href="/"><img src="[[path|/mask-icon.svg]]" width="512" height="512" alt=""/>GrapheneOS</a>
<ul id="social">
<li><a href="https://discuss.grapheneos.org/">Forum</a></li>
<li><a href="https://twitter.com/GrapheneOS">Twitter</a></li>
<li><a href="https://grapheneos.social/@GrapheneOS">Mastodon</a></li>
<li><a href="https://github.com/GrapheneOS">GitHub</a></li>
<li><a href="https://reddit.com/r/GrapheneOS">Reddit</a></li>
<li><a href="https://www.linkedin.com/company/grapheneos/">LinkedIn</a></li>
</ul>
</footer>
</body> </body>
</html> </html>

View File

@ -33,24 +33,7 @@
[[js|/js/web-install.js]] [[js|/js/web-install.js]]
</head> </head>
<body> <body>
<header> {% include "header.html" %}
<nav id="site-menu">
<ul>
<li><a href="/"><img src="[[path|/mask-icon.svg]]" alt=""/>GrapheneOS</a></li>
<li><a href="/features">Features</a></li>
<li><a href="/install/">Install</a></li>
<li><a href="/build">Build</a></li>
<li><a href="/usage">Usage</a></li>
<li><a href="/faq">FAQ</a></li>
<li><a href="/releases">Releases</a></li>
<li><a href="/source">Source</a></li>
<li><a href="/history/">History</a></li>
<li><a href="/articles/">Articles</a></li>
<li><a href="/donate">Donate</a></li>
<li><a href="/contact">Contact</a></li>
</ul>
</nav>
</header>
<main id="web-install"> <main id="web-install">
<h1><a href="#web-install">Web installer</a></h1> <h1><a href="#web-install">Web installer</a></h1>
@ -465,16 +448,6 @@
</section> </section>
</section> </section>
</main> </main>
<footer> {% include "footer.html" %}
<a href="/"><img src="[[path|/mask-icon.svg]]" width="512" height="512" alt=""/>GrapheneOS</a>
<ul id="social">
<li><a href="https://discuss.grapheneos.org/">Forum</a></li>
<li><a href="https://twitter.com/GrapheneOS">Twitter</a></li>
<li><a href="https://grapheneos.social/@GrapheneOS">Mastodon</a></li>
<li><a href="https://github.com/GrapheneOS">GitHub</a></li>
<li><a href="https://reddit.com/r/GrapheneOS">Reddit</a></li>
<li><a href="https://www.linkedin.com/company/grapheneos/">LinkedIn</a></li>
</ul>
</footer>
</body> </body>
</html> </html>

View File

@ -30,40 +30,13 @@
<link rel="me" href="https://grapheneos.social/@GrapheneOS"/> <link rel="me" href="https://grapheneos.social/@GrapheneOS"/>
</head> </head>
<body> <body>
<header> {% include "header.html" %}
<nav id="site-menu">
<ul>
<li><a href="/"><img src="[[path|/mask-icon.svg]]" alt=""/>GrapheneOS</a></li>
<li><a href="/features">Features</a></li>
<li><a href="/install/">Install</a></li>
<li><a href="/build">Build</a></li>
<li><a href="/usage">Usage</a></li>
<li><a href="/faq">FAQ</a></li>
<li><a href="/releases">Releases</a></li>
<li><a href="/source">Source</a></li>
<li><a href="/history/">History</a></li>
<li><a href="/articles/">Articles</a></li>
<li><a href="/donate">Donate</a></li>
<li><a href="/contact">Contact</a></li>
</ul>
</nav>
</header>
<main id="pdfviewer-privacy-policy"> <main id="pdfviewer-privacy-policy">
<h1><a href="#pdfviewer-privacy-policy">PDF Viewer privacy policy</a></h1> <h1><a href="#pdfviewer-privacy-policy">PDF Viewer privacy policy</a></h1>
<p>This app does not use any sensitive permissions, makes no internet connections and <p>This app does not use any sensitive permissions, makes no internet connections and
does not store any data other than preferences.</p> does not store any data other than preferences.</p>
<p>See the <a href="https://github.com/GrapheneOS/PdfViewer">project's page on GitHub</a> for more information.</p> <p>See the <a href="https://github.com/GrapheneOS/PdfViewer">project's page on GitHub</a> for more information.</p>
</main> </main>
<footer> {% include "footer.html" %}
<a href="/"><img src="[[path|/mask-icon.svg]]" width="512" height="512" alt=""/>GrapheneOS</a>
<ul id="social">
<li><a href="https://discuss.grapheneos.org/">Forum</a></li>
<li><a href="https://twitter.com/GrapheneOS">Twitter</a></li>
<li><a href="https://grapheneos.social/@GrapheneOS">Mastodon</a></li>
<li><a href="https://github.com/GrapheneOS">GitHub</a></li>
<li><a href="https://reddit.com/r/GrapheneOS">Reddit</a></li>
<li><a href="https://www.linkedin.com/company/grapheneos/">LinkedIn</a></li>
</ul>
</footer>
</body> </body>
</html> </html>

View File

@ -33,24 +33,9 @@
[[js|/js/redirect.js]] [[js|/js/redirect.js]]
</head> </head>
<body> <body>
<header> {% with current_page="releases" %}
<nav id="site-menu"> {% include "header.html" %}
<ul> {% endwith %}
<li><a href="/"><img src="[[path|/mask-icon.svg]]" alt=""/>GrapheneOS</a></li>
<li><a href="/features">Features</a></li>
<li><a href="/install/">Install</a></li>
<li><a href="/build">Build</a></li>
<li><a href="/usage">Usage</a></li>
<li><a href="/faq">FAQ</a></li>
<li aria-current="page"><a href="/releases">Releases</a></li>
<li><a href="/source">Source</a></li>
<li><a href="/history/">History</a></li>
<li><a href="/articles/">Articles</a></li>
<li><a href="/donate">Donate</a></li>
<li><a href="/contact">Contact</a></li>
</ul>
</nav>
</header>
<main id="releases"> <main id="releases">
<h1><a href="#releases">Releases</a></h1> <h1><a href="#releases">Releases</a></h1>
@ -6453,16 +6438,6 @@
</article> </article>
</section> </section>
</main> </main>
<footer> {% include "footer.html" %}
<a href="/"><img src="[[path|/mask-icon.svg]]" width="512" height="512" alt=""/>GrapheneOS</a>
<ul id="social">
<li><a href="https://discuss.grapheneos.org/">Forum</a></li>
<li><a href="https://twitter.com/GrapheneOS">Twitter</a></li>
<li><a href="https://grapheneos.social/@GrapheneOS">Mastodon</a></li>
<li><a href="https://github.com/GrapheneOS">GitHub</a></li>
<li><a href="https://reddit.com/r/GrapheneOS">Reddit</a></li>
<li><a href="https://www.linkedin.com/company/grapheneos/">LinkedIn</a></li>
</ul>
</footer>
</body> </body>
</html> </html>

View File

@ -30,24 +30,9 @@
<link rel="me" href="https://grapheneos.social/@GrapheneOS"/> <link rel="me" href="https://grapheneos.social/@GrapheneOS"/>
</head> </head>
<body> <body>
<header> {% with current_page="source" %}
<nav id="site-menu"> {% include "header.html" %}
<ul> {% endwith %}
<li><a href="/"><img src="[[path|/mask-icon.svg]]" alt=""/>GrapheneOS</a></li>
<li><a href="/features">Features</a></li>
<li><a href="/install/">Install</a></li>
<li><a href="/build">Build</a></li>
<li><a href="/usage">Usage</a></li>
<li><a href="/faq">FAQ</a></li>
<li><a href="/releases">Releases</a></li>
<li aria-current="page"><a href="/source">Source</a></li>
<li><a href="/history/">History</a></li>
<li><a href="/articles/">Articles</a></li>
<li><a href="/donate">Donate</a></li>
<li><a href="/contact">Contact</a></li>
</ul>
</nav>
</header>
<main id="source"> <main id="source">
<h1><a href="#source">Source code</a></h1> <h1><a href="#source">Source code</a></h1>
@ -302,16 +287,6 @@
the project.</p> the project.</p>
</section> </section>
</main> </main>
<footer> {% include "footer.html" %}
<a href="/"><img src="[[path|/mask-icon.svg]]" width="512" height="512" alt=""/>GrapheneOS</a>
<ul id="social">
<li><a href="https://discuss.grapheneos.org/">Forum</a></li>
<li><a href="https://twitter.com/GrapheneOS">Twitter</a></li>
<li><a href="https://grapheneos.social/@GrapheneOS">Mastodon</a></li>
<li><a href="https://github.com/GrapheneOS">GitHub</a></li>
<li><a href="https://reddit.com/r/GrapheneOS">Reddit</a></li>
<li><a href="https://www.linkedin.com/company/grapheneos/">LinkedIn</a></li>
</ul>
</footer>
</body> </body>
</html> </html>

View File

@ -31,24 +31,9 @@
[[js|/js/redirect.js]] [[js|/js/redirect.js]]
</head> </head>
<body> <body>
<header> {% with current_page="usage" %}
<nav id="site-menu"> {% include "header.html" %}
<ul> {% endwith %}
<li><a href="/"><img src="[[path|/mask-icon.svg]]" alt=""/>GrapheneOS</a></li>
<li><a href="/features">Features</a></li>
<li><a href="/install/">Install</a></li>
<li><a href="/build">Build</a></li>
<li aria-current="page"><a href="/usage">Usage</a></li>
<li><a href="/faq">FAQ</a></li>
<li><a href="/releases">Releases</a></li>
<li><a href="/source">Source</a></li>
<li><a href="/history/">History</a></li>
<li><a href="/articles/">Articles</a></li>
<li><a href="/donate">Donate</a></li>
<li><a href="/contact">Contact</a></li>
</ul>
</nav>
</header>
<main id="usage"> <main id="usage">
<h1><a href="#usage">Usage guide</a></h1> <h1><a href="#usage">Usage guide</a></h1>
<p>This is a guide covering some aspects of using GrapheneOS. See the <p>This is a guide covering some aspects of using GrapheneOS. See the
@ -1289,16 +1274,6 @@
the stock operating system.</p> the stock operating system.</p>
</section> </section>
</main> </main>
<footer> {% include "footer.html" %}
<a href="/"><img src="[[path|/mask-icon.svg]]" width="512" height="512" alt=""/>GrapheneOS</a>
<ul id="social">
<li><a href="https://discuss.grapheneos.org/">Forum</a></li>
<li><a href="https://twitter.com/GrapheneOS">Twitter</a></li>
<li><a href="https://grapheneos.social/@GrapheneOS">Mastodon</a></li>
<li><a href="https://github.com/GrapheneOS">GitHub</a></li>
<li><a href="https://reddit.com/r/GrapheneOS">Reddit</a></li>
<li><a href="https://www.linkedin.com/company/grapheneos/">LinkedIn</a></li>
</ul>
</footer>
</body> </body>
</html> </html>

11
templates/footer.html Normal file
View File

@ -0,0 +1,11 @@
<footer>
<a href="/"><img src="[[path|/mask-icon.svg]]" width="512" height="512" alt=""/>GrapheneOS</a>
<ul id="social">
<li><a href="https://discuss.grapheneos.org/">Forum</a></li>
<li><a href="https://twitter.com/GrapheneOS">Twitter</a></li>
<li><a href="https://grapheneos.social/@GrapheneOS">Mastodon</a></li>
<li><a href="https://github.com/GrapheneOS">GitHub</a></li>
<li><a href="https://reddit.com/r/GrapheneOS">Reddit</a></li>
<li><a href="https://www.linkedin.com/company/grapheneos/">LinkedIn</a></li>
</ul>
</footer>

18
templates/header.html Normal file
View File

@ -0,0 +1,18 @@
<header>
<nav id="site-menu">
<ul>
<li {% if current_page == "/" %}aria-current="page"{% endif %}><a href="/"><img src="[[path|/mask-icon.svg]]" alt=""/>GrapheneOS</a></li>
<li {% if current_page == "features" %}aria-current="page"{% endif %}><a href="/features">Features</a></li>
<li {% if current_page == "install" %}aria-current="page"{% endif %}><a href="/install/">Install</a></li>
<li {% if current_page == "build" %}aria-current="page"{% endif %}><a href="/build">Build</a></li>
<li {% if current_page == "usage" %}aria-current="page"{% endif %}><a href="/usage">Usage</a></li>
<li {% if current_page == "faq" %}aria-current="page"{% endif %}><a href="/faq">FAQ</a></li>
<li {% if current_page == "releases" %}aria-current="page"{% endif %}><a href="/releases">Releases</a></li>
<li {% if current_page == "source" %}aria-current="page"{% endif %}><a href="/source">Source</a></li>
<li {% if current_page == "history" %}aria-current="page"{% endif %}><a href="/history/">History</a></li>
<li {% if current_page == "articles" %}aria-current="page"{% endif %}><a href="/articles/">Articles</a></li>
<li {% if current_page == "donate" %}aria-current="page"{% endif %}><a href="/donate">Donate</a></li>
<li {% if current_page == "contact" %}aria-current="page"{% endif %}><a href="/contact">Contact</a></li>
</ul>
</nav>
</header>