M site.py => site.py +0 -1
@@ 1,7 1,6 @@
# TODO:
# - Improve templates
# + https://indielogin.com/setup
-# + footer: github, RSS, linkedin, bsky, srht, source of the site
# + encrypted page: context/summary
# - minimalist/gemini/text-only version??
# - Turn it into a nix flake? :)
M static/css/style.css => static/css/style.css +21 -0
@@ 147,6 147,7 @@
html {
font-family: 'League Spartan', sans-serif;
font-size: 14pt;
+ min-height: 100%;
}
@@ 154,11 155,31 @@ body {
color: var(--foreground);
background-color: var(--background);
padding: 0 30px;
+ display: flex;
+ min-height: calc(100vh - 30px);
+ flex-direction: column;
}
main {
max-width: calc(1000px - (30px * 2));
margin: auto;
+ flex: 1;
+}
+
+body>hr {
+ width: 100%;
+}
+
+footer {
+ width: 60%;
+ margin: auto;
+ display: flex;
+ justify-content: space-between;
+}
+
+footer svg {
+ width: 2em;
+ height: auto;
}
h2{
M templates/base.html => templates/base.html +11 -2
@@ 23,7 23,6 @@
<script type="text/javascript" defer src="/static/vendor/copy-tex.min.js"></script>
<script type="text/javascript" defer src="/static/vendor/auto-render.min.js"></script>
- <link rel="stylesheet" href="/static/vendor/pygments-nord.css">
<script>
document.addEventListener('DOMContentLoaded', (event) => {
document.querySelectorAll('math>semantics>annotation').forEach((node) => {
@@ 34,6 33,8 @@
renderMathInElement(document.body, katex_options);
});
</script>
+
+ <link rel="stylesheet" href="/static/vendor/pygments-nord.css">
{% block head %}{% endblock %}
</head>
<body>
@@ 54,6 55,14 @@
<main>
{% block body %}{% endblock %}
</main>
- <footer></footer>
+ <hr />
+ <footer>
+ <a href="/rss.xml" title="RSS feed">{% include "icons/rss.svg" %}</a>
+ <a href="https://github.com/RobinJadoul" rel="me" title="Github">{% include "icons/github.svg" %}</a>
+ <a href="https://git.sr.ht/~robin_jadoul" rel="me" title="Sourcehut">{% include "icons/sourcehut.svg" %}</a>
+ <a href="https://bsky.app/profile/ur4ndom.dev" rel="me" title="Bluesky">{% include "icons/bsky.svg" %}</a>
+ <a href="https://www.linkedin.com/in/robin-jadoul" rel="me" title="LinkedIn">{% include "icons/linkedin.svg" %}</a>
+ <a href="https://git.sr.ht/~robin_jadoul/blog/tree" title="This page's source">{% include "icons/source.svg" %}</a>
+ </footer>
</body>
</html>
A templates/icons/bsky.svg => templates/icons/bsky.svg +1 -0
@@ 0,0 1,1 @@
+<svg width="1024" height="1024" viewBox="0 0 1024 1024" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M351.121 315.106C416.241 363.994 486.281 463.123 512 516.315C537.719 463.123 607.759 363.994 672.879 315.106C719.866 279.83 796 252.536 796 339.388C796 356.734 786.055 485.101 780.222 505.943C759.947 578.396 686.067 596.876 620.347 585.691C735.222 605.242 764.444 670.002 701.333 734.762C581.473 857.754 529.061 703.903 515.631 664.481C513.169 657.254 512.017 653.873 512 656.748C511.983 653.873 510.831 657.254 508.369 664.481C494.939 703.903 442.527 857.754 322.667 734.762C259.556 670.002 288.778 605.242 403.653 585.691C337.933 596.876 264.053 578.396 243.778 505.943C237.945 485.101 228 356.734 228 339.388C228 252.536 304.134 279.83 351.121 315.106Z" fill="#1185FE"/> </svg>
A templates/icons/github.svg => templates/icons/github.svg +1 -0
@@ 0,0 1,1 @@
+<svg viewbox="0 0 98 98" width="98" height="96" xmlns="http://www.w4.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M48.854 0C21.839 0 0 22 0 49.217c0 21.756 13.993 40.172 33.405 46.69 2.427.49 3.316-1.059 3.316-2.362 0-1.141-.08-5.052-.08-9.127-13.59 2.934-16.42-5.867-16.42-5.867-2.184-5.704-5.42-7.17-5.42-7.17-4.448-3.015.324-3.015.324-3.015 4.934.326 7.523 5.052 7.523 5.052 4.367 7.496 11.404 5.378 14.235 4.074.404-3.178 1.699-5.378 3.074-6.6-10.839-1.141-22.243-5.378-22.243-24.283 0-5.378 1.94-9.778 5.014-13.2-.485-1.222-2.184-6.275.486-13.038 0 0 4.125-1.304 13.426 5.052a46.97 46.97 0 0 1 12.214-1.63c4.125 0 8.33.571 12.213 1.63 9.302-6.356 13.427-5.052 13.427-5.052 2.67 6.763.97 11.816.485 13.038 3.155 3.422 5.015 7.822 5.015 13.2 0 18.905-11.404 23.06-22.324 24.283 1.78 1.548 3.316 4.481 3.316 9.126 0 6.6-.08 11.897-.08 13.526 0 1.304.89 2.853 3.316 2.364 19.412-6.52 33.405-24.935 33.405-46.691C97.707 22 75.788 0 48.854 0z" fill="#24292f"/></svg>
A templates/icons/linkedin.svg => templates/icons/linkedin.svg +1 -0
@@ 0,0 1,1 @@
+<svg width="800px" height="800px" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg" fill="none"><path fill="#0A66C2" d="M12.225 12.225h-1.778V9.44c0-.664-.012-1.519-.925-1.519-.926 0-1.068.724-1.068 1.47v2.834H6.676V6.498h1.707v.783h.024c.348-.594.996-.95 1.684-.925 1.802 0 2.135 1.185 2.135 2.728l-.001 3.14zM4.67 5.715a1.037 1.037 0 01-1.032-1.031c0-.566.466-1.032 1.032-1.032.566 0 1.031.466 1.032 1.032 0 .566-.466 1.032-1.032 1.032zm.889 6.51h-1.78V6.498h1.78v5.727zM13.11 2H2.885A.88.88 0 002 2.866v10.268a.88.88 0 00.885.866h10.226a.882.882 0 00.889-.866V2.865a.88.88 0 00-.889-.864z"/></svg>
A => +1 -0
@@ 0,0 1,1 @@
<svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 455.731 455.731" xml:space="preserve"> <g> <rect x="0" y="0" style="fill:#F78422;" width="455.731" height="455.731"/> <g> <path style="fill:#FFFFFF;" d="M296.208,159.16C234.445,97.397,152.266,63.382,64.81,63.382v64.348 c70.268,0,136.288,27.321,185.898,76.931c49.609,49.61,76.931,115.63,76.931,185.898h64.348 C391.986,303.103,357.971,220.923,296.208,159.16z"/> <path style="fill:#FFFFFF;" d="M64.143,172.273v64.348c84.881,0,153.938,69.056,153.938,153.939h64.348 C282.429,270.196,184.507,172.273,64.143,172.273z"/> <circle style="fill:#FFFFFF;" cx="109.833" cy="346.26" r="46.088"/> </g> </g> </svg>
A templates/icons/source.svg => templates/icons/source.svg +1 -0
@@ 0,0 1,1 @@
+<svg width="800px" height="800px" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" clip-rule="evenodd" d="M7.68 11.6L10.44 14.36L9.6 15.2L6 11.6L9.6 8L10.44 8.84L7.68 11.6ZM16.32 11.6L13.56 14.36L14.4 15.2L18 11.6L14.4 8L13.56 8.84L16.32 11.6Z" fill="#000000"/> <path fill-rule="evenodd" clip-rule="evenodd" d="M12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22ZM12 20C16.4183 20 20 16.4183 20 12C20 7.58172 16.4183 4 12 4C7.58172 4 4 7.58172 4 12C4 16.4183 7.58172 20 12 20Z" fill="#000000"/> </svg>
A templates/icons/sourcehut.svg => templates/icons/sourcehut.svg +1 -0
@@ 0,0 1,1 @@
+<svg viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><path d="M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200z"></path></svg>