Compare commits
4 commits
168876a50f
...
9a3ad5e5f2
Author | SHA1 | Date | |
---|---|---|---|
|
9a3ad5e5f2 | ||
|
c0f6bbc739 | ||
|
44239ecc82 | ||
|
fc753a4eb7 |
|
@ -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 you’d 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 }}
|
||||
|
||||
|
|
|
@ -1,3 +0,0 @@
|
|||
module.exports = {
|
||||
eleventyExcludeFromCollections: true
|
||||
}
|
|
@ -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>
|
|
@ -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 %}
|
||||
]
|
||||
}
|
|
@ -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/)
|
|
@ -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);
|
||||
});
|
||||
};
|
||||
|
|
|
@ -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 {
|
||||
|
|
BIN
public/img/drgn_happy_256.avif
Normal file
After Width: | Height: | Size: 4.2 KiB |
Before Width: | Height: | Size: 24 KiB |
BIN
public/img/drgn_in_cup.avif
Normal file
After Width: | Height: | Size: 4 KiB |
BIN
public/img/drgn_nom_cat_heart_256.avif
Normal file
After Width: | Height: | Size: 5.3 KiB |
Before Width: | Height: | Size: 25 KiB |
BIN
public/img/drgn_think_confused_256.avif
Normal file
After Width: | Height: | Size: 4.7 KiB |
Before Width: | Height: | Size: 26 KiB |
BIN
public/img/drgn_wrench_256.avif
Normal file
After Width: | Height: | Size: 5.1 KiB |
Before Width: | Height: | Size: 28 KiB |
BIN
public/img/fgfbgn.avif
Normal file
After Width: | Height: | Size: 9 KiB |