Compare commits

...

4 commits

Author SHA1 Message Date
Kazhnuz
9a3ad5e5f2 fix: corrige orthographe 2024-05-24 20:35:49 +02:00
Kazhnuz
c0f6bbc739 feat: supprime flux rss inutilisés 2024-05-24 20:35:41 +02:00
Kazhnuz
44239ecc82 feat: optimisation emojis 2024-05-24 20:32:25 +02:00
Kazhnuz
fc753a4eb7 feat: ajoute mascotte par withelias 2024-05-24 20:31:45 +02:00
17 changed files with 46 additions and 70 deletions

View file

@ -6,9 +6,6 @@
<title>{{ title or metadata.title }}</title>
<meta name="description" content="{{ description or metadata.description }}">
{#- Atom and JSON feeds included by default #}
<link rel="alternate" href="/feed/feed.xml" type="application/atom+xml" title="{{ metadata.title }}">
<link rel="alternate" href="/feed/feed.json" type="application/json" title="{{ metadata.title }}">
<link rel="icon" type="image/x-icon" href="/img/drgn_in_cup.png">
{#- Uncomment this if youd like folks to know that you used Eleventy to build your site! #}
@ -23,7 +20,7 @@
<a href="#skip" class="visually-hidden">Skip to main content</a>
<header>
<img src="/img/drgn_in_cup.png" alt="" height="192" width="192">
{% image "../public/img/fgfbgn.avif", "" %}
</header>
{{ content | safe }}

View file

@ -1,3 +0,0 @@
module.exports = {
eleventyExcludeFromCollections: true
}

View file

@ -1,27 +0,0 @@
---
# Metadata comes from _data/metadata.js
permalink: /feed/feed.xml
---
<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:base="{{ metadata.language }}">
<title>{{ metadata.title }}</title>
<subtitle>{{ metadata.description }}</subtitle>
<link href="{{ permalink | htmlBaseUrl(metadata.url) }}" rel="self"/>
<link href="{{ metadata.url | addPathPrefixToFullUrl }}"/>
<updated>{{ collections.posts | getNewestCollectionItemDate | dateToRfc3339 }}</updated>
<id>{{ metadata.url }}</id>
<author>
<name>{{ metadata.author.name }}</name>
<email>{{ metadata.author.email }}</email>
</author>
{%- for post in collections.posts | reverse %}
{% set absolutePostUrl %}{{ post.url | htmlBaseUrl(metadata.url) }}{% endset %}
<entry>
<title>{{ post.data.title }}</title>
<link href="{{ absolutePostUrl }}"/>
<updated>{{ post.date | dateToRfc3339 }}</updated>
<id>{{ absolutePostUrl }}</id>
<content type="html">{{ post.templateContent | transformWithHtmlBase(absolutePostUrl, post.url) }}</content>
</entry>
{%- endfor %}
</feed>

View file

@ -1,29 +0,0 @@
---
# Metadata comes from _data/metadata.js
permalink: /feed/feed.json
---
{
"version": "https://jsonfeed.org/version/1.1",
"title": "{{ metadata.title }}",
"language": "{{ metadata.language }}",
"home_page_url": "{{ metadata.url | addPathPrefixToFullUrl }}",
"feed_url": "{{ permalink | htmlBaseUrl(metadata.url) }}",
"description": "{{ metadata.description }}",
"author": {
"name": "{{ metadata.author.name }}",
"url": "{{ metadata.author.url }}"
},
"items": [
{%- for post in collections.posts | reverse %}
{%- set absolutePostUrl = post.url | htmlBaseUrl(metadata.url) %}
{
"id": "{{ absolutePostUrl }}",
"url": "{{ absolutePostUrl }}",
"title": "{{ post.data.title }}",
"content_html": {% if post.templateContent %}{{ post.templateContent | transformWithHtmlBase(absolutePostUrl, post.url) | dump | safe }}{% else %}""{% endif %},
"date_published": "{{ post.date | dateToRfc3339 }}"
}
{% if not loop.last %},{% endif %}
{%- endfor %}
]
}

View file

@ -7,13 +7,13 @@ eleventyNavigation:
# {{ metadata.title }}
Bienvenue sur {{ metadata.title }} ! <img src="/img/drgn_happy_256.png" alt="Un emoji représentant un petit dragon joyeux" height="18" width="18">
Bienvenue sur {{ metadata.title }} ! {% emoji_18 "./public/img/drgn_happy_256.avif", "Un emoji représentant un petit dragon joyeux" %}
Kobold Cafe est un serveurs qui héberge différents services, site et projets. Le but est d'être à la fois dans une optique de décentralisation d'internet, permettant d'avoir un petit service fourni par un petit serveur, et de diffuser des projets qui pourront soit amuser, soit servir à d'autre.
Kobold Cafe est un serveur qui héberge différents services, site et projets. Le but est d'être à la fois dans une optique de décentralisation d'internet, permettant d'avoir un petit service fourni par un petit serveur, et de diffuser des projets qui pourront soit amuser, soit servir à d'autre.
Faites juste attention aux kobolds qui font des bétises partout !
## <img src="/img/drgn_wrench_256.png" alt="" height="24" width="24"> Liste des sites hébergé
## {% emoji_24 "./public/img/drgn_wrench_256.avif", "" %} Liste des sites hébergé
- [Kazhnuz.space](https://kazhnuz.space) - Blog personnel de Kazhnuz et services associé ([Vault](https://vault.kazhnuz.space/), [Shaarli](https://shaarli.kazhnuz.space/))
- [Erratum](https://erratum.kazhnuz.space) - Site web du JDR de Fantasy Urbaine Erratum.
@ -25,20 +25,21 @@ Faites juste attention aux kobolds qui font des bétises partout !
- [Press Garden](https://press.fanstuff.garden) - Un petit site pour ma veille informative sur Sonic.
- [Missing Number](https://missing-number.fanstuff.garden) - Un fansite Pokémon (1G/2G).
## <img src="/img/drgn_wrench_256.png" alt="" height="24" width="24"> Liste des services
## {% emoji_24 "./public/img/drgn_wrench_256.avif", "" %} Liste des services
- [Forge Git](https://git.kobold.cafe) - Contient tout les dépots gits de projets sur kobold.cafe.
- [Instance GoToSocial](https://toot.kobold.cafe) - Contient des comptes fedivers potentiellement pour les membres.
( Les services non-visible au public ne sont pas listés ici, kobold.cafe fournis aussi mails et XMPP, grace à Yunohost )
## <img src="/img/drgn_think_confused_256.png" alt="" height="24" width="24"> Pourquoi ce site ?
## {% emoji_24 "./public/img/drgn_think_confused_256.avif", "" %} Pourquoi ce site ?
Le but de ce site est de m'offrir un petit espace internet, et d'être mon propre provider de services numériques pour _moi et mes amis_ (pour certains services tel que Mastodon ou Matrix, j'utilise toujours des services host par d'autres personnes, a voir si ça change avec le temps). J'ai décris un peu l'idée qu'il y avait derrière ça dans deux articles sur Quarante-Douze : [Ode aux sites personnels](https://quarante-douze.net/2023/01/hors-de-twitter-2-ode-aux-sites-personnels/) et [Le web indépendant et le web collectif](https://quarante-douze.net/2023/09/le-web-independant-et-le-web-collaboratif/).
Si vous voulez aussi faire de même, vous pouvez utiliser (comme j'utilise) le système d'exploitation [yunohost](https://yunohost.org), qui est simple à utiliser et possède une grande documentation. Cependant, je conseille aussi d'être prêt à devoir potentiellement mettre les mains dans le camboui si les choses font des leurs. En vrai, pour ce genre de chose, c'est mieux je pense de le faire en petit groupe, comme si on faisait un voisinage, des villages numériques. Et peut-être que c'est le bon descriptif de ce qu'est ce site et ces services : un petit village numérique autogéré.
## <img src="/img/drgn_nom_cat_heart_256.png" alt="" height="24" width="24"> Crédits
## {% emoji_24 "./public/img/drgn_nom_cat_heart_256.avif", "" %} Crédits
- Fond utilisant des Chipset/Tileset [EasyRPG](https://github.com/EasyRPG/RTP) par Jason sous licence CC-BY 4.0
- Emoji [drgns v3.0](https://volpeon.ink/emojis/drgn/) créés par [Volpeon](https://volpeon.ink/) sous licence CC-BY-NC-SA 4.0
- Emoji [drgns v3.0](https://volpeon.ink/emojis/drgn/) créés par [Volpeon](https://volpeon.ink/) sous licence CC-BY-NC-SA 4.0
- Illustration/Logo créé par [Withelias](https://withelias.kobold.cafe/)

View file

@ -31,4 +31,40 @@ module.exports = eleventyConfig => {
};
return eleventyImage.generateHTML(metadata, imageAttributes);
});
eleventyConfig.addShortcode("emoji_18", async function (src, alt, sizes) {
let metadata = await eleventyImage(src, {
widths: [18],
formats: ["avif", "webp", "png"],
outputDir: path.join(eleventyConfig.dir.output, "img"),
});
let imageAttributes = {
alt,
sizes,
loading: "lazy",
decoding: "async",
};
// You bet we throw an error on a missing alt (alt="" works okay)
return eleventyImage.generateHTML(metadata, imageAttributes);
});
eleventyConfig.addShortcode("emoji_24", async function (src, alt, sizes) {
let metadata = await eleventyImage(src, {
widths: [24],
formats: ["avif", "webp", "png"],
outputDir: path.join(eleventyConfig.dir.output, "img"),
});
let imageAttributes = {
alt,
sizes,
loading: "lazy",
decoding: "async",
};
// You bet we throw an error on a missing alt (alt="" works okay)
return eleventyImage.generateHTML(metadata, imageAttributes);
});
};

View file

@ -101,6 +101,7 @@ a[href].header-anchor:focus,
header img {
display:block;
margin: 48px auto 24px auto;
filter: drop-shadow(0px 1px 2px rgba(0 0 0 / 0.3));
}
header h1 a {

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

BIN
public/img/drgn_in_cup.avif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

BIN
public/img/fgfbgn.avif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9 KiB