228 lines
9.7 KiB
Python
228 lines
9.7 KiB
Python
#!/usr/bin/python3
|
|
# configuration pour générer les sites web de plusieurs dossiers
|
|
global_config = {
|
|
"slug_with_year": True,
|
|
# "show_logs": False,
|
|
"show_logs": True,
|
|
"automatic_tagging_enabled": True,
|
|
"rebuild_files_filter": 2024,
|
|
"posts_per_page": 10,
|
|
"source_files_extension": "org",
|
|
"excluded_tags": ['PROPERTIES', 'CREATED', 'ID', 'END','CUSTOM_ID'],
|
|
# controlled vocabulary to find tags automatically
|
|
"auto_tag_terms": ["illustration", "tuto", "nsfw", "bd", "récit", "science",
|
|
"wtf", "yaoi", "yuri", "sondage", "entreprise", "AI", "photos",
|
|
"cosplay", "festival", "fanzine", "manif", "logiciel", "inktober",
|
|
"kotlife", "féminisme", "fantasme", "art", "sociologie", "couple", "masturbation",
|
|
"boobs", "sortirDesFossiles", "électrique", "maison", "GTD", "chat", "PIM","mastoart",
|
|
"openstreetmap", "sauvegarde", "mastodon", "voyages", "aber","atelier cocci","vidéos",
|
|
"wanda","bouffe","anniversaire","conventions","Japan Expo","3.0","cours","! Q","dessin","mariage",
|
|
"réutilisation","sketch","road trip","kot","vélo","Bruxelles","Dieppe"]
|
|
}
|
|
|
|
|
|
|
|
configs_sites = {
|
|
"cipherbliss_blog": {
|
|
"DOSSIER_SOURCE": "cipherbliss_blog",
|
|
"NDD_GEMINI": "source.cipherbliss.com",
|
|
"BANNIERE_ENTETE": "",
|
|
"BLOG_TITLE": "Cipher Bliss",
|
|
"BLOG_SUBTITLE": "Code, nouvelles technologies et entrepreneurariat par B. Lemoine",
|
|
"TITLE": "",
|
|
"AUTHOR": "Baptiste Lemoine",
|
|
"PAGE_TITLE": "",
|
|
"LOCALE": "fr_FR", # la langue principale
|
|
"DESCRIPTION": "Code, nouvelles technologies et entrepreneurariat par B. Lemoine depuis 2014",
|
|
"NDD": "https://www.cipherbliss.com",
|
|
"EMAIL": "contact@cipherbliss.com",
|
|
"SITE_ICON": "https://www.cipherbliss.com/wp-content/uploads/2016/12/rond.png",
|
|
"SITE_ICON_TYPE": "image/png",
|
|
"NAVIGATION": """
|
|
<nav>
|
|
<a href="/">Accueil</a>
|
|
<a href="https://portfolio.cipherbliss.com">Portfolio</a>
|
|
<a href="/feed">Flux RSS</a>
|
|
<a href="/ressources-de-café-vie-privée">Ressources</a>
|
|
<a href="/tags">Tags</a>
|
|
<a href="/contact">Contact</a>
|
|
</nav>
|
|
""",
|
|
"BANNIERE_ENTETE": "https://www.cipherbliss.com/wp-content/uploads/2016/11/bg.jpg",
|
|
"BANNIERE_ENTETE_ALT": "Bannière du site",
|
|
},
|
|
"tykayn_blog": {
|
|
"DOSSIER_SOURCE": "tykayn_blog",
|
|
"NDD_GEMINI": "source.tykayn.fr",
|
|
"BANNIERE_ENTETE": "",
|
|
"BLOG_TITLE": "Tykayn Blog",
|
|
"BLOG_SUBTITLE": "Le vortex à chats - Illustrations, trucs en tout genre par Tykayn",
|
|
"TITLE": "",
|
|
"AUTHOR": "Tykayn",
|
|
"PAGE_TITLE": "Baptiste Lemoine",
|
|
"LOCALE": "fr_FR", # la langue principale
|
|
"DESCRIPTION": "Illustrations, trucs en tout genre par Tykayn",
|
|
"NDD": "https://tykayn.fr",
|
|
"EMAIL": "contact@cipherbliss.com",
|
|
"SITE_ICON": "https://mastodon.cipherbliss.com/system/accounts/avatars/000/000/001/original/6388tykayn.gif",
|
|
"SITE_ICON_TYPE": "image/png",
|
|
"NAVIGATION": """
|
|
<nav>
|
|
<a href="/">Accueil</a>
|
|
<a href="https://portfolio.cipherbliss.com">Portfolio</a>
|
|
<a href="https://qzine.fr">Qzine</a>
|
|
<a href="https://www.cipherbliss.com">Cipherbliss</a>
|
|
<a href="/feed">Flux RSS</a>
|
|
<a href="https://www.cipherbliss.com/dessins/">Sources des illustrations</a>
|
|
<a href="/tags">Tags</a>
|
|
<a href="/contact">Contact</a>
|
|
</nav>
|
|
""",
|
|
"BANNIERE_ENTETE": "https://tykayn.fr/wp-content/themes/toivo-lite/images/header.jpg",
|
|
"BANNIERE_ENTETE_ALT": "Bannière du site",
|
|
},
|
|
"cil_gometz": {
|
|
"DOSSIER_SOURCE": "tykayn_blog",
|
|
"NDD_GEMINI": "gemini.cil-gometz.org",
|
|
"BANNIERE_ENTETE": "",
|
|
"BLOG_TITLE": "Cil gometz",
|
|
"BLOG_SUBTITLE": "Cil gometz",
|
|
"TITLE": "",
|
|
"AUTHOR": "Cil gometz",
|
|
"PAGE_TITLE": "Cil gometz",
|
|
"LOCALE": "fr_FR", # la langue principale
|
|
"DESCRIPTION": "Cil gometz",
|
|
"NDD": "https://cil-gometz.org",
|
|
"EMAIL": "contact@cipherbliss.com",
|
|
"SITE_ICON": "https://mastodon.cipherbliss.com/system/accounts/avatars/000/000/001/original/6388tykayn.gif",
|
|
"SITE_ICON_TYPE": "image/png",
|
|
"NAVIGATION": """
|
|
<nav>
|
|
<a href="/">Accueil</a>
|
|
<a href="/feed">Flux RSS</a>
|
|
<a href="/tags">Tags</a>
|
|
<a href="/contact">Contact</a>
|
|
</nav>
|
|
""",
|
|
"BANNIERE_ENTETE": "https://tykayn.fr/wp-content/themes/toivo-lite/images/header.jpg",
|
|
"BANNIERE_ENTETE_ALT": "Bannière du site",
|
|
},
|
|
"qzine_blog": {
|
|
"DOSSIER_SOURCE": "qzine_blog",
|
|
"NDD_GEMINI": "source.qzine.fr",
|
|
"BANNIERE_ENTETE": "",
|
|
"BLOG_TITLE": "!Qzine",
|
|
"BLOG_SUBTITLE": "La culture avec un grand !Q",
|
|
"TITLE": "",
|
|
"AUTHOR": "Tykayn",
|
|
"PAGE_TITLE": "Qzine",
|
|
"LOCALE": "fr_FR", # la langue principale
|
|
"DESCRIPTION": "Illustrations, articles de sociologie et récits autour des vies sexuelles contemporaines",
|
|
"NDD": "https://qzine.fr",
|
|
"EMAIL": "contact@qzine.fr",
|
|
"SITE_ICON": "https://mastodon.cipherbliss.com/system/accounts/avatars/000/000/001/original/6388tykayn.gif",
|
|
"SITE_ICON_TYPE": "image/png",
|
|
"NAVIGATION": """
|
|
<nav>
|
|
<a href="/">Accueil</a>
|
|
<a href="https://cloud.tykayn.fr/index.php/s/dessins_partage_blog">Sources des illustrations</a>
|
|
<a href="/tags">Tags</a>
|
|
<a href="/contact">Contact</a>
|
|
</nav>
|
|
""",
|
|
"BANNIERE_ENTETE": "https://tykayn.fr/wp-content/themes/toivo-lite/images/header.jpg",
|
|
"BANNIERE_ENTETE_ALT": "Bannière du site",
|
|
},
|
|
"helia_blog": {
|
|
"DOSSIER_SOURCE": "helia_blog",
|
|
"NDD_GEMINI": "source.helia.tykayn.fr",
|
|
"BANNIERE_ENTETE": "",
|
|
"BLOG_TITLE": "Hélia Blog",
|
|
"BLOG_SUBTITLE": "Yaya blog, les prémices parentales, puis sa vie et son oeuvre.",
|
|
"TITLE": "",
|
|
"AUTHOR": "Tykayn & Claire",
|
|
"PAGE_TITLE": "Hélia Blog",
|
|
"LOCALE": "fr_FR", # la langue principale
|
|
"DESCRIPTION": "Textes et photos",
|
|
"NDD": "https://helia.tykayn.fr",
|
|
"EMAIL": "contact@cipherbliss.com",
|
|
"SITE_ICON": "https://mastodon.cipherbliss.com/system/accounts/avatars/000/000/001/original/6388tykayn.gif",
|
|
"SITE_ICON_TYPE": "image/png",
|
|
"NAVIGATION": """
|
|
<nav>
|
|
<a href="/">Accueil</a>
|
|
<a href="/feed">Flux RSS</a>
|
|
<a href="/tags">Tags</a>
|
|
<a href="/contact">Contact</a>
|
|
</nav>
|
|
""",
|
|
"BANNIERE_ENTETE": "https://tykayn.fr/wp-content/themes/toivo-lite/images/header.jpg",
|
|
"BANNIERE_ENTETE_ALT": "Bannière du site",
|
|
},
|
|
"dragonfeu_blog": {
|
|
"DOSSIER_SOURCE": "dragonfeu_blog",
|
|
"NDD_GEMINI": "dragonfeu_blog.com",
|
|
"BANNIERE_ENTETE": "",
|
|
"BLOG_TITLE": "dragonfeu_blog",
|
|
"BLOG_SUBTITLE": "dragonfeu_blog",
|
|
"TITLE": "",
|
|
"AUTHOR": "dragonfeu_blog",
|
|
"PAGE_TITLE": "",
|
|
"LOCALE": "fr_FR", # la langue principale
|
|
"DESCRIPTION": "dragonfeu_blog",
|
|
"NDD": "https://www.dragonfeu_blog.com",
|
|
"EMAIL": "contact@dragonfeu_blog.com",
|
|
"SITE_ICON": "https://www.cipherbliss.com/wp-content/uploads/2016/12/rond.png",
|
|
"SITE_ICON_TYPE": "image/png",
|
|
"NAVIGATION": """
|
|
<nav>
|
|
<a href="/">Accueil</a>
|
|
<a href="/feed">Flux RSS</a>
|
|
<a href="/tags">Tags</a>
|
|
<a href="/contact">Contact</a>
|
|
</nav>
|
|
""",
|
|
"BANNIERE_ENTETE": "https://www.cipherbliss.com/wp-content/uploads/2016/11/bg.jpg",
|
|
"BANNIERE_ENTETE_ALT": "Bannière du site",
|
|
},
|
|
}
|
|
|
|
|
|
# Configuration par défaut
|
|
default_config = {
|
|
"BLOG_TITLE": "Titre par défaut",
|
|
"BLOG_SUBTITLE": "Sous-titre par défaut",
|
|
"AUTHOR": "Auteur par défaut",
|
|
"LOCALE": "fr_FR",
|
|
"DESCRIPTION": "Description par défaut",
|
|
"NDD": "https://example.com",
|
|
"EMAIL": "contact@example.com",
|
|
"SITE_ICON": "https://example.com/icon.png",
|
|
"SITE_ICON_TYPE": "image/png",
|
|
"NAVIGATION": """
|
|
<nav>
|
|
<a href="/">Accueil</a>
|
|
<a href="/tags">Tags</a>
|
|
<a href="/contact">Contact</a>
|
|
</nav>
|
|
""",
|
|
"BANNIERE_ENTETE": "https://example.com/banner.jpg",
|
|
"BANNIERE_ENTETE_ALT": "Bannière par défaut",
|
|
"SOUTIEN": "Si vous aimez ce que nous faisons, soutenez nous et partagez nos écrits. Vous pouvez nous faire un don sur <a href='https://liberapay.com/cipherbliss'>liberapay.com/cipherbliss</a>."
|
|
}
|
|
|
|
def fill_missing_config(site_config):
|
|
"""
|
|
Remplit les valeurs manquantes dans la configuration du site avec celles de la configuration par défaut.
|
|
|
|
:param site_config: Dictionnaire contenant la configuration du site.
|
|
:return: Dictionnaire avec les valeurs manquantes remplies.
|
|
"""
|
|
for key, value in default_config.items():
|
|
if key not in site_config:
|
|
site_config[key] = value
|
|
return site_config
|
|
|
|
# Exemple d'utilisation avec les configurations des sites
|
|
for site_name, site_config in configs_sites.items():
|
|
configs_sites[site_name] = fill_missing_config(site_config) |