#!/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,
"lang_default": "fr",
"automatic_tagging_enabled": True,
"automatic_tagging_org_files": True,
"rebuild_files_filter": 2024,
"posts_per_page": 10,
"source_files_extension": "org",
"excluded_tags": ['PROPERTIES', 'CREATED', 'ID', 'END','CUSTOM_ID','CLASS'],
# 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 = {
"other_blog" : {
"DOSSIER_SOURCE": "helia_blog",
"NDD_GEMINI": "social.cipherbliss.com",
"BANNIERE_ENTETE": "",
"BLOG_TITLE": "Hélia Blog",
"BLOG_SUBTITLE": "Yaya blog, les prémices parentales, puis sa vie et son oeuvre.",
"TITLE": "Hélia blog",
"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": """
""",
"BANNIERE_ENTETE": "https://tykayn.fr/wp-content/themes/toivo-lite/images/header.jpg",
"BANNIERE_ENTETE_ALT": "Bannière du site",
},
"cipherbliss_blog": {
"SOURCE": "https://forge.chapril.org/tykayn/orgmode-to-gemini-blog/src/branch/main/sources/cipherbliss_blog",
"DOSSIER_SOURCE": "cipherbliss_blog",
"NDD_GEMINI": "social.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",
"SOUTIEN": """
Si vous aimez ce que nous faisons à Cipher Bliss, vous pouvez nous soutenir de plusieurs façons: en faisant un micro don sur liberapay , ou en cryptomonnaies. Le plus simple nous pour nous faire connaître étant de partager cet article.
Suivez moi sur Mastodon @tykayn@mastodon.cipherbliss.com.
Ce site restera libre comme un gnou dans la nature et sans pubs, parce qu'on vous aime. Que la source soit avec vous!
Cipher Bliss, entreprise individuelle en ingénierie informatique spécialisé dans le front-end, à Orsay.
Faire un don à CipherBliss :
https://liberapay.com/cipherbliss/donate
""",
"NAVIGATION": """
""",
"BANNIERE_ENTETE": "https://www.cipherbliss.com/wp-content/uploads/2016/11/bg.jpg",
"BANNIERE_ENTETE_ALT": "Bannière du site",
},
"tykayn_blog": {
"SOURCE": "https://forge.chapril.org/tykayn/orgmode-to-gemini-blog/src/branch/main/sources/tykayn_blog",
"DOSSIER_SOURCE": "tykayn_blog",
"NDD_GEMINI": "gemini.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": """
""",
"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": """
""",
"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": """
""",
"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": """
""",
"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": "blog de dragonfeu",
"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": """
""",
"BANNIERE_ENTETE": "https://www.cipherbliss.com/wp-content/uploads/2016/11/bg.jpg",
"BANNIERE_ENTETE_ALT": "Bannière du site",
},
}
# Configuration par défaut
forge_source = "https://forge.chapril.org/tykayn/orgmode-to-gemini-blog"
default_config = {
"SOURCE": forge_source,
"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",
"STYLE": "style_general.css", # issu au choix des styles du dossier templates/styles
"NDD": "https://demo.cipherbliss.fr",
"EMAIL": "contact@demo.cipherbliss.fr",
"SITE_ICON": "https://www.cipherbliss.com/icon.png",
"SITE_ICON_TYPE": "image/png",
"NAVIGATION": """
""",
"BANNIERE_ENTETE": "https://www.cipherbliss.com/banner.jpg",
"BANNIERE_ENTETE_ALT": "Bannière par défaut",
"SERIES": {
"SERIE_1": {
"TITLE": "Série 1",
"ARTICLES": [
{
"TITLE": "Article 1",
"slug": "2024/article-1"
}
]
}
},
"WEBSITE_GENERATOR": forge_source,
"WEBSITE_GENERATOR_DESCRIPTION": f"Site généré avec le générateur de site web pour Gemini par Tykayn \n=> {forge_source} Code source, licence AGPLv3+",
"SOUTIEN": "Si vous aimez ce que nous faisons, soutenez nous et partagez nos écrits. Vous pouvez nous faire un don sur liberapay.com/cipherbliss."
}
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)