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
cp -a static static-tmp
python3 process-templates.py static-tmp
for file in static-tmp/**/*.@(json|webmanifest); do
json_verify < "$file" >/dev/null
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"/>
</head>
<body>
<header>
<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>
{% include "header.html" %}
<main id="page-not-found">
<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
<a href="https://github.com/GrapheneOS/grapheneos.org/issues">report an issue</a>.</p>
</main>
<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>
{% include "footer.html" %}
</body>
</html>

View File

@ -30,24 +30,7 @@
<link rel="me" href="https://grapheneos.social/@GrapheneOS"/>
</head>
<body>
<header>
<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>
{% include "header.html" %}
<main id="attestation-compatibility-guide">
<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
reasoning based on security, anti-fraud, etc.</p>
</main>
<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>
{% include "footer.html" %}
</body>
</html>

View File

@ -31,24 +31,7 @@
[[js|/js/redirect.js]]
</head>
<body>
<header>
<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>
{% include "header.html" %}
<main id="grapheneos-servers">
<h1><a href="#grapheneos-servers">GrapheneOS servers</a></h1>
@ -714,16 +697,6 @@
</ul>
</section>
</main>
<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>
{% include "footer.html" %}
</body>
</html>

View File

@ -30,24 +30,9 @@
<link rel="me" href="https://grapheneos.social/@GrapheneOS"/>
</head>
<body>
<header>
<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 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>
{% with current_page="articles" %}
{% include "header.html" %}
{% endwith %}
<main id="articles">
<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>
</ul>
</main>
<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>
{% include "footer.html" %}
</body>
</html>

View File

@ -30,24 +30,7 @@
<link rel="me" href="https://grapheneos.social/@GrapheneOS"/>
</head>
<body>
<header>
<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>
{% include "header.html" %}
<main id="server-traffic-shaping">
<h1><a href="#server-traffic-shaping">Server traffic shaping</a></h1>
@ -257,16 +240,6 @@ PriorityQueueingPreset=besteffort</pre>
streams.</p>
</section>
</main>
<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>
{% include "footer.html" %}
</body>
</html>

View File

@ -30,24 +30,7 @@
<link rel="me" href="https://grapheneos.social/@GrapheneOS"/>
</head>
<body>
<header>
<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>
{% include "header.html" %}
<main id="sitewide-advertising-industry-opt-out">
<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
protect their reputation and discourage adware.</p>
</main>
<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>
{% include "footer.html" %}
</body>
</html>

View File

@ -31,24 +31,9 @@
[[js|/js/redirect.js]]
</head>
<body>
<header>
<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 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>
{% with current_page="build" %}
{% include "header.html" %}
{% endwith %}
<main id="build">
<h1><a href="#build">Build</a></h1>
@ -1487,16 +1472,6 @@ rm android-cts-media-1.5.zip</pre>
</section>
</article>
</main>
<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>
{% include "footer.html" %}
</body>
</html>

View File

@ -30,24 +30,7 @@
<link rel="me" href="https://grapheneos.social/@GrapheneOS"/>
</head>
<body>
<header>
<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>
{% include "header.html" %}
<main id="camera-privacy-policy">
<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
the resulting URL automatically.</p>
</main>
<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>
{% include "footer.html" %}
</body>
</html>

View File

@ -30,24 +30,9 @@
<link rel="me" href="https://grapheneos.social/@GrapheneOS"/>
</head>
<body>
<header>
<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 aria-current="page"><a href="/contact">Contact</a></li>
</ul>
</nav>
</header>
{% with current_page="contact" %}
{% include "header.html" %}
{% endwith %}
<main id="contact">
<h1><a href="#contact">Contact</a></h1>
@ -215,17 +200,7 @@
</section>
</section>
</main>
<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>
{% include "footer.html" %}
<script type="application/ld+json">
{
"@context": "https://schema.org",

View File

@ -30,24 +30,9 @@
<link rel="me" href="https://grapheneos.social/@GrapheneOS"/>
</head>
<body>
<header>
<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 aria-current="page"><a href="/donate">Donate</a></li>
<li><a href="/contact">Contact</a></li>
</ul>
</nav>
</header>
{% with current_page="donate" %}
{% include "header.html" %}
{% endwith %}
<main id="donate">
<h1><a href="#donate">Donate</a></h1>
@ -206,16 +191,6 @@
GrapheneOS.</p>
</section>
</main>
<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>
{% include "footer.html" %}
</body>
</html>

View File

@ -31,24 +31,9 @@
[[js|/js/redirect.js]]
</head>
<body>
<header>
<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 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>
{% with current_page="faq" %}
{% include "header.html" %}
{% endwith %}
<main id="faq">
<h1><a href="#faq">Frequently Asked Questions</a></h1>
@ -1871,16 +1856,6 @@
as a distinct OS based on GrapheneOS.</p>
</article>
</main>
<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>
{% include "footer.html" %}
</body>
</html>

View File

@ -30,24 +30,9 @@
<link rel="me" href="https://grapheneos.social/@GrapheneOS"/>
</head>
<body>
<header>
<nav id="site-menu">
<ul>
<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>
{% with current_page="features" %}
{% include "header.html" %}
{% endwith %}
<main id="features">
<h1><a href="#features">Features overview</a></h1>
@ -1051,16 +1036,6 @@
</ul>
</section>
</main>
<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>
{% include "footer.html" %}
</body>
</html>

View File

@ -30,24 +30,7 @@
<link rel="me" href="https://grapheneos.social/@GrapheneOS"/>
</head>
<body>
<header>
<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>
{% include "header.html" %}
<main id="copperheados">
<h1><a href="#copperheados">CopperheadOS is now GrapheneOS</a></h1>
@ -124,16 +107,6 @@
substantially more resources available, including significantly more funding.</p>
</section>
</main>
<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>
{% include "footer.html" %}
</body>
</html>

View File

@ -30,24 +30,9 @@
<link rel="me" href="https://grapheneos.social/@GrapheneOS"/>
</head>
<body>
<header>
<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 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>
{% with current_page="history" %}
{% include "header.html" %}
{% endwith %}
<main id="history">
<h1><a href="#history">History</a></h1>
@ -109,16 +94,6 @@
<a href="/history/legacy-changelog">legacy changelog page</a>.</p>
</section>
</main>
<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>
{% include "footer.html" %}
</body>
</html>

View File

@ -30,24 +30,7 @@
<link rel="me" href="https://grapheneos.social/@GrapheneOS"/>
</head>
<body>
<header>
<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>
{% include "header.html" %}
<main id="legacy-changelog">
<h1><a href="#legacy-changelog">Legacy changelog</a></h1>
@ -2185,16 +2168,6 @@
</section>
</main>
<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>
{% include "footer.html" %}
</body>
</html>

View File

@ -31,24 +31,9 @@
[[js|/js/redirect.js]]
</head>
<body>
<header>
<nav id="site-menu">
<ul>
<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>
{% with current_page="/" %}
{% include "header.html" %}
{% endwith %}
<main class="normalize" id="grapheneos">
<div class="content hero">
@ -136,16 +121,6 @@
</section>
</div>
</main>
<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>
{% include "footer.html" %}
</body>
</html>

View File

@ -31,24 +31,7 @@
[[js|/js/redirect.js]]
</head>
<body>
<header>
<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>
{% include "header.html" %}
<main id="cli-install">
<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>
</main>
<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>
{% include "footer.html" %}
</body>
</html>

View File

@ -31,24 +31,9 @@
[[js|/js/redirect.js]]
</head>
<body>
<header>
<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 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>
{% with current_page="install" %}
{% include "header.html" %}
{% endwith %}
<main id="install">
<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
less secure and avoids needing any software beyond a browser with WebUSB support.</p>
</main>
<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>
{% include "footer.html" %}
</body>
</html>

View File

@ -33,24 +33,7 @@
[[js|/js/web-install.js]]
</head>
<body>
<header>
<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>
{% include "header.html" %}
<main id="web-install">
<h1><a href="#web-install">Web installer</a></h1>
@ -465,16 +448,6 @@
</section>
</section>
</main>
<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>
{% include "footer.html" %}
</body>
</html>

View File

@ -30,40 +30,13 @@
<link rel="me" href="https://grapheneos.social/@GrapheneOS"/>
</head>
<body>
<header>
<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>
{% include "header.html" %}
<main id="pdfviewer-privacy-policy">
<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
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>
</main>
<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>
{% include "footer.html" %}
</body>
</html>

View File

@ -33,24 +33,9 @@
[[js|/js/redirect.js]]
</head>
<body>
<header>
<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 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>
{% with current_page="releases" %}
{% include "header.html" %}
{% endwith %}
<main id="releases">
<h1><a href="#releases">Releases</a></h1>
@ -6453,16 +6438,6 @@
</article>
</section>
</main>
<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>
{% include "footer.html" %}
</body>
</html>

View File

@ -30,24 +30,9 @@
<link rel="me" href="https://grapheneos.social/@GrapheneOS"/>
</head>
<body>
<header>
<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 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>
{% with current_page="source" %}
{% include "header.html" %}
{% endwith %}
<main id="source">
<h1><a href="#source">Source code</a></h1>
@ -302,16 +287,6 @@
the project.</p>
</section>
</main>
<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>
{% include "footer.html" %}
</body>
</html>

View File

@ -31,24 +31,9 @@
[[js|/js/redirect.js]]
</head>
<body>
<header>
<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 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>
{% with current_page="usage" %}
{% include "header.html" %}
{% endwith %}
<main id="usage">
<h1><a href="#usage">Usage guide</a></h1>
<p>This is a guide covering some aspects of using GrapheneOS. See the
@ -1289,16 +1274,6 @@
the stock operating system.</p>
</section>
</main>
<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>
{% include "footer.html" %}
</body>
</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>