Skip to content

Commit

Permalink
Initialize footer and credit
Browse files Browse the repository at this point in the history
  • Loading branch information
xvw committed Nov 19, 2024
1 parent bae3206 commit b6022cb
Show file tree
Hide file tree
Showing 10 changed files with 371 additions and 11 deletions.
41 changes: 41 additions & 0 deletions CREDITS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# Credits

Lists the resources used to build this website. This page will be used
to supply the colophon page.

## Typography

- [Inria Serif](https://black-foundry.com/case-studies/inria-identity-font/)
- [Fira Code](https://github.com/tonsky/FiraCode)
- [Libre Franklin](https://github.com/impallari/Libre-Franklin?tab=readme-ov-file)

## Iconography

- [Simple Icons](https://simpleicons.org/)
- [Creative Commons Icons](https://creativecommons.org/mission/downloads/)

## Generator

The site is built using the [YOCaml static blog
generator](https://github.com/xhtmlboi/yocaml) and the following
plugins (the dependencies of each package are listed on the package
description pages):

- [yocaml](https://ocaml.org/p/yocaml/latest) and
[yocaml_runtime](https://ocaml.org/p/yocaml_runtime/latest)
- [yocaml_eio](https://ocaml.org/p/yocaml_eio/latest) (based on
[eio](https://ocaml.org/p/eio/latest) and
[cohttp](https://ocaml.org/p/cohttp-eio/latest))
- [yocaml_cmarkit](https://ocaml.org/p/yocaml_cmarkit/latest) (based
on [cmarkit](https://ocaml.org/p/cmarkit/latest))
- [yocaml_jingoo](https://ocaml.org/p/yocaml_jingoo/latest) (based on
[jingoo](https://ocaml.org/p/jingoo/latest))
- [yocaml_syndication](https://ocaml.org/p/yocaml_syndication/latest)
- [yocaml_otoml](https://ocaml.org/p/yocaml_otoml/latest) (based on
[otoml](https://ocaml.org/p/otoml/latest))

In addition, [OCaml](https://ocaml.org), [Dune](https://dune.build),
[ppx_expect](https://ocaml.org/p/ppx_expect/latest) and
[mdx](https://ocaml.org/p/mdx/latest),
[cmdliner](https://ocaml.org/p/cmdliner/latest) are used. Please refer
to the project description ([dune-project](dune-project)).
142 changes: 137 additions & 5 deletions assets/css/capsule.css
Original file line number Diff line number Diff line change
Expand Up @@ -2,32 +2,164 @@
--font-sans-serif: "Libre Franklin", sans-serif;
--font-serif: "Inria Serif", serif;
--font-mono: "Fira Code", monospace;

--lightest-color: #ffffff;
--middle-color: #444444;
--darkest-color: #111111;
}

body {
display: flex;
flex-direction: column;
font-family: var(--font-sans-serif);

/* Overall layout structure. The aim is not to nest all the CSS in
these blocks but to provide the overall logic of the layout (which
is very simple) in a single place. */

& > header,
& > footer {
flex: none;
background-color: yellow;
background-color: #ccc;
}

& > main {
flex: 1 0 auto;
flex: 1 0 auto;
background-color: #eee;
}

& > footer {
background-color: #111111;
color: #ffffff;
background-color: var(--darkest-color);
color: var(--lightest-color);

& a:not(:has(svg)) {
text-decoration: none;
color: var(--lightest-color);
border-bottom: 1px dotted var(--lightest-color);
}
}

& > main > div,
& > header > div,
& > footer > div {
width: min(960px, 100%);
width: min(1024px, 100%);
margin: 0 auto;
}
}

#footer-content {
margin-top: 4rem;
margin-bottom: 2rem;

& > div {
padding: 0.2rem 1.2rem;
}

& section {
& h3 {
font-size: 1.4rem;
font-weight: 700;
}

& p {
margin-top: 1rem;
}

& nav {
margin-top: 1rem;

& a {
display: inline-block;
}

& svg {
width: 1.5rem;
}
}

& .btn {
background-color: var(--lightest-color);
color: var(--darkest-color);
font-size: 1rem;
font-weight: 700;
}
}

& > div:first-child {
margin-bottom: 2rem;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 1rem;
}

& > div:last-child {

padding-top: 1.5rem;
border-top: 1px solid var(--middle-color);
display: grid;
grid-template-columns: 2fr 1fr;
gap: 2rem;

& svg {
display: inline-block;
width: 2rem;
}

& > div > a {
font-weight: 700;
border-style: none;
}



& > div:last-child {
text-align: right;
}

}
}

.set {

& > * {
margin-left: 0.5rem;
}

& > :first-child {
margin-left: 0;
}
}

.stack {
& > * {
margin-top: 2rem;
}

& > :first-child {
margin-top: 0;
}
}

.svg-light {
& svg {
fill: var(--lightest-color);
}
}

.svg-cc-light {
/* Since the icon does not rely on path... */
& circle {
fill: var(--lightest-color);
}
}


.btn {
display: inline-block;
padding: 0.1rem 0.5rem;
border-radius: 0.4rem;
background-color: var(--darkest-color);
color: var(--lightest-color);
font-family: var(--font-sans-serif);
text-decoration: none;
}
137 changes: 136 additions & 1 deletion assets/templates/layout.html
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,142 @@
</div>
</main>
<footer>
<div>footer</div>
<div>
<div id="footer-content">
<div>
<div class="stack">
<section>
<h3>Ring.muhokama.fun</h3>
<p>
Ce site fait partie du
<a href="https://ring.muhokama.fun">webring Muhokama</a> !
Je vous invite à le parcourir !
</p>
<nav class="set">
<a class="btn" href="https://ring.muhokama.fun/u/xvw/pred">
prédécesseur
</a>
<a class="btn" href="https://ring.muhokama.fun/u/xvw/succ">
successeur
</a>
</nav>
</section>
<section>
<h3>Flux</h3>
<nav class="set svg-light">
<a href="">
<svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>RSS</title><path d="M19.199 24C19.199 13.467 10.533 4.8 0 4.8V0c13.165 0 24 10.835 24 24h-4.801zM3.291 17.415c1.814 0 3.293 1.479 3.293 3.295 0 1.813-1.485 3.29-3.301 3.29C1.47 24 0 22.526 0 20.71s1.475-3.294 3.291-3.295zM15.909 24h-4.665c0-6.169-5.075-11.245-11.244-11.245V8.09c8.727 0 15.909 7.184 15.909 15.91z"/></svg>
</a>
<a href="https://x.com/vdwxv">
<svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>X</title><path d="M18.901 1.153h3.68l-8.04 9.19L24 22.846h-7.406l-5.8-7.584-6.638 7.584H.474l8.6-9.83L0 1.154h7.594l5.243 6.932ZM17.61 20.644h2.039L6.486 3.24H4.298Z"/></svg>
</a>

<a href="https://github.com/xvw">
<svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>GitHub</title><path d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"/></svg>
</a>
<a href="https://merveilles.town/@xvw">
<svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Mastodon</title><path d="M23.268 5.313c-.35-2.578-2.617-4.61-5.304-5.004C17.51.242 15.792 0 11.813 0h-.03c-3.98 0-4.835.242-5.288.309C3.882.692 1.496 2.518.917 5.127.64 6.412.61 7.837.661 9.143c.074 1.874.088 3.745.26 5.611.118 1.24.325 2.47.62 3.68.55 2.237 2.777 4.098 4.96 4.857 2.336.792 4.849.923 7.256.38.265-.061.527-.132.786-.213.585-.184 1.27-.39 1.774-.753a.057.057 0 0 0 .023-.043v-1.809a.052.052 0 0 0-.02-.041.053.053 0 0 0-.046-.01 20.282 20.282 0 0 1-4.709.545c-2.73 0-3.463-1.284-3.674-1.818a5.593 5.593 0 0 1-.319-1.433.053.053 0 0 1 .066-.054c1.517.363 3.072.546 4.632.546.376 0 .75 0 1.125-.01 1.57-.044 3.224-.124 4.768-.422.038-.008.077-.015.11-.024 2.435-.464 4.753-1.92 4.989-5.604.008-.145.03-1.52.03-1.67.002-.512.167-3.63-.024-5.545zm-3.748 9.195h-2.561V8.29c0-1.309-.55-1.976-1.67-1.976-1.23 0-1.846.79-1.846 2.35v3.403h-2.546V8.663c0-1.56-.617-2.35-1.848-2.35-1.112 0-1.668.668-1.67 1.977v6.218H4.822V8.102c0-1.31.337-2.35 1.011-3.12.696-.77 1.608-1.164 2.74-1.164 1.311 0 2.302.5 2.962 1.498l.638 1.06.638-1.06c.66-.999 1.65-1.498 2.96-1.498 1.13 0 2.043.395 2.74 1.164.675.77 1.012 1.81 1.012 3.12z"/></svg>
</a>
<a href="">Autres flux</a>
</nav>
</section>
</div>
<div class="stack">
<section>
<h3>Diffusion</h3>
<p>
Le <a href="{{ config.repository.homepage.url}}">code source</a>
du générateur est diffusé sous
<a href="{{ config.software_license.url.url }}">
license {{ config.software_license.title }}</a>
et le contenu est diffusé (<i>sauf mention</i>) sous
<a href="{{ config.content_license.url.url }}">
license {{ config.content_license.title }}</a>.
</p>
<nav class="set">
<a class="btn" href="{{ build_info.repo_url.url }}">
sources de la page
</a>
</nav>
</section>
</div>
</div>
<div>
<div class="set svg-light">
<a href="https://ocaml.org">
<svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>OCaml</title><path d="M12.178 21.637c-.085-.17-.187-.524-.255-.676-.067-.135-.27-.506-.37-.625-.22-.253-.27-.27-.338-.608-.12-.574-.405-1.588-.76-2.296-.187-.372-.49-.677-.761-.947-.236-.236-.777-.624-.878-.607-.895.169-1.166 1.046-1.587 1.739-.237.388-.473.71-.66 1.115-.167.371-.151.793-.439 1.115a2.952 2.952 0 00-.624 1.097c-.034.084-.101.929-.186 1.131l1.318-.084c1.233.085.877.557 2.787.456l3.022-.1a5.376 5.376 0 00-.27-.71zM20.96 1.539H3.023A3.02 3.02 0 000 4.56v6.587c.44-.152 1.047-1.08 1.25-1.3.337-.389.405-.895.574-1.2.389-.709.456-1.215 1.334-1.215.406 0 .575.1.845.473.186.253.523.743.675 1.064.186.371.474.86.609.962.1.068.185.136.27.17.135.05.253-.051.354-.12.118-.1.17-.286.287-.556.17-.39.339-.827.44-.997.169-.27.236-.608.422-.76.27-.236.641-.253.743-.27.557-.118.81.27 1.08.507.186.168.423.49.609.91.135.339.304.661.388.846.068.185.237.49.338.86.101.322.337.575.44.744 0 0 .152.406 1.03.778a7.505 7.505 0 00.81.286c.39.135.76.12 1.233.068.338 0 .524-.49.676-.878.084-.237.185-.895.236-1.081.05-.185-.085-.32.034-.49.135-.186.22-.203.287-.439.17-.523 1.114-.54 1.655-.54.456 0 .389.44 1.149.287.439-.085.86.05 1.318.185.388.102.76.22.98.473.134.17.489.997.134 1.031.033.033.067.118.118.151-.085.322-.422.085-.625.051-.253-.05-.44 0-.693.118-.439.187-1.063.17-1.452.49-.32.271-.32.861-.473 1.2 0 0-.422 1.063-1.317 1.722-.237.17-.692.574-1.672.726-.44.068-.86.068-1.318.05-.22-.016-.438-.016-.658-.016-.136 0-.575-.017-.558.034l-.05.119a.6.6 0 00.033.169c.017.1.017.185.034.27 0 .185-.017.388 0 .574.017.388.17.743.186 1.148.017.44.236.913.456 1.267.085.135.203.152.254.32.067.186 0 .406.033.609.118.794.355 1.638.71 2.364v.017c.439-.067.895-.236 1.47-.32 1.063-.153 2.532-.085 3.478-.17 2.399-.22 3.7.98 5.844.49V4.562a3.045 3.045 0 00-3.04-3.023zm-8.951 14.187c0-.034 0-.034 0 0zm-6.47 2.769c.17-.372.271-.778.406-1.15.135-.354.337-.86.693-1.046-.05-.05-.744-.068-.929-.085a7.406 7.406 0 01-.608-.084 22.976 22.976 0 01-1.15-.236c-.22-.051-.979-.322-1.13-.39-.39-.168-.642-.658-.93-.607-.185.034-.37.101-.49.287-.1.152-.134.423-.202.608-.084.203-.22.405-.32.608-.238.354-.626.676-.795 1.03-.033.085-.05.169-.084.254v4.07c.202.034.405.068.624.135 1.69.456 2.095.49 3.75.304l.152-.017c.118-.27.22-1.165.304-1.435.067-.22.153-.39.187-.591.033-.203 0-.406-.017-.59-.034-.491.354-.661.54-1.065z"/></svg>
</a>
<span>Fièrement généré par
<a href="https://github.com/xhtmlboi/yocaml">YOCaml
</a></span>
</div>
<div class="svg-cc-light">
<a href="{{ config.content_license.url.url }}">
<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="32px" height="32px" viewBox="5.5 -3.5 64 64" enable-background="new 5.5 -3.5 64 64" xml:space="preserve">
<g>
<circle cx="37.785" cy="28.501" r="28.836"/>
<path d="M37.441-3.5c8.951,0,16.572,3.125,22.857,9.372c3.008,3.009,5.295,6.448,6.857,10.314
c1.561,3.867,2.344,7.971,2.344,12.314c0,4.381-0.773,8.486-2.314,12.313c-1.543,3.828-3.82,7.21-6.828,10.143
c-3.123,3.085-6.666,5.448-10.629,7.086c-3.961,1.638-8.057,2.457-12.285,2.457s-8.276-0.808-12.143-2.429
c-3.866-1.618-7.333-3.961-10.4-7.027c-3.067-3.066-5.4-6.524-7-10.372S5.5,32.767,5.5,28.5c0-4.229,0.809-8.295,2.428-12.2
c1.619-3.905,3.972-7.4,7.057-10.486C21.08-0.394,28.565-3.5,37.441-3.5z M37.557,2.272c-7.314,0-13.467,2.553-18.458,7.657
c-2.515,2.553-4.448,5.419-5.8,8.6c-1.354,3.181-2.029,6.505-2.029,9.972c0,3.429,0.675,6.734,2.029,9.913
c1.353,3.183,3.285,6.021,5.8,8.516c2.514,2.496,5.351,4.399,8.515,5.715c3.161,1.314,6.476,1.971,9.943,1.971
c3.428,0,6.75-0.665,9.973-1.999c3.219-1.335,6.121-3.257,8.713-5.771c4.99-4.876,7.484-10.99,7.484-18.344
c0-3.543-0.648-6.895-1.943-10.057c-1.293-3.162-3.18-5.98-5.654-8.458C50.984,4.844,44.795,2.272,37.557,2.272z M37.156,23.187
l-4.287,2.229c-0.458-0.951-1.019-1.619-1.685-2c-0.667-0.38-1.286-0.571-1.858-0.571c-2.856,0-4.286,1.885-4.286,5.657
c0,1.714,0.362,3.084,1.085,4.113c0.724,1.029,1.791,1.544,3.201,1.544c1.867,0,3.181-0.915,3.944-2.743l3.942,2
c-0.838,1.563-2,2.791-3.486,3.686c-1.484,0.896-3.123,1.343-4.914,1.343c-2.857,0-5.163-0.875-6.915-2.629
c-1.752-1.752-2.628-4.19-2.628-7.313c0-3.048,0.886-5.466,2.657-7.257c1.771-1.79,4.009-2.686,6.715-2.686
C32.604,18.558,35.441,20.101,37.156,23.187z M55.613,23.187l-4.229,2.229c-0.457-0.951-1.02-1.619-1.686-2
c-0.668-0.38-1.307-0.571-1.914-0.571c-2.857,0-4.287,1.885-4.287,5.657c0,1.714,0.363,3.084,1.086,4.113
c0.723,1.029,1.789,1.544,3.201,1.544c1.865,0,3.18-0.915,3.941-2.743l4,2c-0.875,1.563-2.057,2.791-3.541,3.686
c-1.486,0.896-3.105,1.343-4.857,1.343c-2.896,0-5.209-0.875-6.941-2.629c-1.736-1.752-2.602-4.19-2.602-7.313
c0-3.048,0.885-5.466,2.658-7.257c1.77-1.79,4.008-2.686,6.713-2.686C51.117,18.558,53.938,20.101,55.613,23.187z"/>
</g>
</svg>
<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="32px" height="32px" viewBox="5.5 -3.5 64 64" enable-background="new 5.5 -3.5 64 64" xml:space="preserve">
<g>
<circle cx="37.637" cy="28.806" r="28.276"/>
<g>
<path d="M37.443-3.5c8.988,0,16.57,3.085,22.742,9.257C66.393,11.967,69.5,19.548,69.5,28.5c0,8.991-3.049,16.476-9.145,22.456
C53.879,57.319,46.242,60.5,37.443,60.5c-8.649,0-16.153-3.144-22.514-9.43C8.644,44.784,5.5,37.262,5.5,28.5
c0-8.761,3.144-16.342,9.429-22.742C21.101-0.415,28.604-3.5,37.443-3.5z M37.557,2.272c-7.276,0-13.428,2.553-18.457,7.657
c-5.22,5.334-7.829,11.525-7.829,18.572c0,7.086,2.59,13.22,7.77,18.398c5.181,5.182,11.352,7.771,18.514,7.771
c7.123,0,13.334-2.607,18.629-7.828c5.029-4.838,7.543-10.952,7.543-18.343c0-7.276-2.553-13.465-7.656-18.571
C50.967,4.824,44.795,2.272,37.557,2.272z M46.129,20.557v13.085h-3.656v15.542h-9.944V33.643h-3.656V20.557
c0-0.572,0.2-1.057,0.599-1.457c0.401-0.399,0.887-0.6,1.457-0.6h13.144c0.533,0,1.01,0.2,1.428,0.6
C45.918,19.5,46.129,19.986,46.129,20.557z M33.042,12.329c0-3.008,1.485-4.514,4.458-4.514s4.457,1.504,4.457,4.514
c0,2.971-1.486,4.457-4.457,4.457S33.042,15.3,33.042,12.329z"/>
</g>
</g>
</svg>
<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="32px" height="32px" viewBox="5.5 -3.5 64 64" enable-background="new 5.5 -3.5 64 64" xml:space="preserve">
<g>
<circle cx="36.944" cy="28.631" r="29.105"/>
<g>
<path d="M37.443-3.5c8.951,0,16.531,3.105,22.742,9.315C66.393,11.987,69.5,19.548,69.5,28.5c0,8.954-3.049,16.457-9.145,22.514
C53.918,57.338,46.279,60.5,37.443,60.5c-8.649,0-16.153-3.143-22.514-9.429C8.644,44.786,5.5,37.264,5.5,28.501
c0-8.723,3.144-16.285,9.429-22.685C21.138-0.395,28.643-3.5,37.443-3.5z M37.557,2.272c-7.276,0-13.428,2.572-18.457,7.715
c-5.22,5.296-7.829,11.467-7.829,18.513c0,7.125,2.59,13.257,7.77,18.4c5.181,5.182,11.352,7.771,18.514,7.771
c7.123,0,13.334-2.609,18.629-7.828c5.029-4.876,7.543-10.99,7.543-18.343c0-7.313-2.553-13.485-7.656-18.513
C51.004,4.842,44.832,2.272,37.557,2.272z M23.271,23.985c0.609-3.924,2.189-6.962,4.742-9.114
c2.552-2.152,5.656-3.228,9.314-3.228c5.027,0,9.029,1.62,12,4.856c2.971,3.238,4.457,7.391,4.457,12.457
c0,4.915-1.543,9-4.627,12.256c-3.088,3.256-7.086,4.886-12.002,4.886c-3.619,0-6.743-1.085-9.371-3.257
c-2.629-2.172-4.209-5.257-4.743-9.257H31.1c0.19,3.886,2.533,5.829,7.029,5.829c2.246,0,4.057-0.972,5.428-2.914
c1.373-1.942,2.059-4.534,2.059-7.771c0-3.391-0.629-5.971-1.885-7.743c-1.258-1.771-3.066-2.657-5.43-2.657
c-4.268,0-6.667,1.885-7.2,5.656h2.343l-6.342,6.343l-6.343-6.343L23.271,23.985L23.271,23.985z"/>
</g>
</g>
</svg>
</a>
</div>
</div>
</div>
</div>
</footer>
</body>
</html>
10 changes: 9 additions & 1 deletion capsule.toml
Original file line number Diff line number Diff line change
@@ -1,3 +1,11 @@
title = "xvw.lol"
repository = "github/xvw/capsule"
branch = "main"
branch = "main"

[software_license]
title = "MIT"
url = "https://opensource.org/license/mit"

[content_license]
title = "CC BY-SA"
url = "https://creativecommons.org/licenses/by-sa/4.0/"
2 changes: 1 addition & 1 deletion dune-project
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@
mdx ;; maybe because I probably want to use `mdx` in some articles

;; Test utils
(ppx_expect :with-test)
ppx_expect

;; Dev setup
(utop :with-dev-setup)
Expand Down
Loading

0 comments on commit b6022cb

Please sign in to comment.