# -*- coding: utf-8 -*- import os import ablog project = 'Nerv Project' basename = 'nervproject' project_uid = basename # ISBN, etc. baseurl = 'https://www.nerv-project.eu/' copyright = '2020, Nerv Project ASBL' author = 'Nerv Project ASBL' publisher = 'Nerv Project ASBL' site_url = 'https://www.nerv-project.eu/' vcs_uri = "https://procrastinator.nerv-project.eu/" repository_name = 'nerv-project/' repository_name += 'nerv_website' use_ablog = True use_bibtex = False use_git = True language = 'fr' html_favicon = '_static/favicon.ico' version = "0.1" release = "0.1" if use_ablog: blog_title = project blog_baseurl = baseurl blog_default_author = 'kujiu' blog_default_location = 'BLA' blog_authors = { 'kujiu': ('Kujiu', 'https://www.kujiu.org'), 'ptitgnu': ('PtitGNU', 'https://www.it4freedom.net/blog.html'), 'springouille': ('Springouille', 'https://www.instagram.com/springouille/'), } blog_locations = { 'BLA': ( "Braine-l'Alleud", "https://fr.wikipedia.org/wiki/Braine-l'Alleud" ), } post_date_format = 'Le %d %b %Y à %H:%M' post_auto_excerpt = 1 post_auto_image = 1 post_redirect_refresh = 5 post_always_section = False post_auto_orphan = True blog_feed_fulltext = False blog_feed_subtitle = None blog_feed_titles = False blog_feed_length = 30 fontawesome_link_cdn = None fontawesome_included = True fontawesome_css_file = '' show_authors = True if use_git: from git import Repo repo = Repo( os.path.join( os.path.dirname(os.path.realpath(__file__)), '..' ) ) repo.config_reader() if not repo.head.is_detached: version = repo.head.ref.name release = version + ' [' + repo.commit().hexsha[:20] + ']' repository_uri = vcs_uri + repository_name issues_uri = repository_uri + "/issues/{issue}" issues_pr_uri = repository_uri + "/merge_requests/{pr}" issues_commit_uri = repository_uri + "/commit/{commit}" issues_user_uri = vcs_uri + "/{user}" extensions = [ 'sphinxemoji.sphinxemoji', 'sphinxcontrib.actdiag', 'sphinxcontrib.blockdiag', 'sphinxcontrib.nwdiag', 'sphinxcontrib.seqdiag', 'sphinxcontrib.images', 'sphinx.ext.extlinks', 'sphinx.ext.intersphinx', 'sphinx.ext.todo', 'sphinx_issues', 'sphinx_sitemap', 'sphinx_fasvg', ] if use_ablog: extensions.append('ablog') if use_git: extensions.append('sphinx_git') if use_bibtex: extensions.append('sphinxcontrib.bibtex') locale_dirs = ['locale/'] if use_ablog: locale_dirs.append( os.path.join(ablog.get_html_templates_path(), '..', 'locale'), ) images_config = { "default_show_title": True, "override_image_directive": True, "show_caption": True, } templates_path = ['_templates'] source_suffix = '.rst' master_doc = 'index' exclude_patterns = [] pygments_style = 'sphinx' html_logo = '_static/logo.svg' html_theme = 'nervproject' html_theme_options = { "logoalt": "Deux ronds bleu et orange s'entre-déchirent pour former la lettre N.", "social": [ ('brands', 'twitter', 'twitter', 'http://twitter.com/@nerv_project'), ('solid', 'mug-hot', 'gitea', 'https://procrastinator.nerv-project.eu/nerv-project'), ('solid', 'hashtag', 'xmpp', 'xmpp:asbl@clac.nerv-project.eu'), ('regular', 'comments', 'movim', 'https://clac.nerv-project.eu/'), ('solid', 'film', 'peertube', 'https://clap.nerv-project.eu/video-channels/kujiu_channel/videos'), ('brands', 'youtube', 'youtube', 'https://www.youtube.com/channel/UC6LcFMVZUOs4WbKvV3p1xVw'), ('solid', 'podcast', 'podcasts', 'https://kreskenn.nerv-project.eu'), ('solid', 'rss', 'rss', 'https://www.nerv-project.eu/blog/atom.xml'), ('solid', 'rss', 'newsletter (rss)', 'https://morpork.nerv-project.eu/blog/atom.xml'), ('solid', 'envelope', 'newsletter', 'https://e8eb781a.sibforms.com/serve/MUIEAJvJnY3tRS7Nh4RvCneup4b6zYrTqGw3TUsq3igy7_QACEbhSd8G26qTXES6uJS-fGtcGBaji0Os0eWK2CY2it80LrbbXL7WRdNibWlpKtLD2sv43rRROQxdBktxF0qci_7hXvkRuAKLRk_X3NtNCkRUV2prn0BHb4g4tr8vck_yic-nw_ZQlmAPWSrFd1FwGBGTqf1M_Frm'), ], "twitter_user": "nerv_project", "fathom": { 'url': '//casanabo.nerv-project.eu', 'id': 'CVTXH', }, 'isso': { 'prefix': '/isso/nervproject', 'url': baseurl + '/isso/nervproject', 'require_author': "true", 'reply_to_self': "true", 'require_author': "true", 'require_email': "false", 'reply_notif': "true", 'max_comments_top': 20, 'max_comments_nested': 20, 'reveal_on_click': 20, 'avatar': "true", 'vote': "false", 'vote_levels': "", 'feed': "true", }, "license": { 'type': 'CC', 'subtype': 'BY-SA', 'version': '4.0', 'url': 'https://creativecommons.org/licenses/by-sa/4.0/legalcode' } } html_static_path = ['_static'] html_sidebars = { '**': [ 'about.html', 'postcard.html', 'util/sidetoc.html', 'recentposts.html', 'tagcloud.html', 'categories.html', 'archives.html', 'social.html', 'util/searchbox.html', ], } html_baseurl = baseurl htmlhelp_basename = basename pyppeteer_pdf_options = { 'printBackground': True, 'format': 'A4', 'margin': { 'top': '0mm', 'bottom': '0mm', 'left': '0mm', 'right': '0mm' } } latex_engine = 'xelatex' latex_toplevel_sectioning = 'chapter' latex_show_urls = 'footnote' latex_elements = { # 'figure_align': 'htbp', # 'extraclassoptions': '', 'papersize': 'a4paper', 'pointsize': '12pt', 'extraclassoptions': 'twoside', 'fontpkg': r''' \defaultfontfeatures{Ligatures=TeX} \setmainfont{Linux Biolinum O} \setsansfont{Linux Biolinum O} ''' } latex_show_pagerefs = True latex_documents = [ (master_doc, basename + '.tex', project, author, 'book'), ] man_pages = [ (master_doc, basename.lower(), project, [author], 1) ] texinfo_documents = [ (master_doc, basename, project, author, basename, '', 'Miscellaneous'), ] epub_title = project epub_author = author epub_publisher = publisher epub_copyright = copyright epub_identifier = project_uid epub_uid = '' epub_exclude_files = [ 'index.xhtml', 'search.xhtml', 'blog.xhtml', 'submit_success.xhtml', 'contact.xhtml', '403.xhtml', '404.xhtml', 'blog/archive.xhtml', 'blog/category.xhtml', 'blog/drafts.xhtml', 'blog/author.xhtml', 'blog/language.xhtml', 'blog/location.xhtml', 'blog/location/braine-lalleud.xhtml', 'blog/language/francais.xhtml', 'blog/author/kujiu.xhtml', 'blog/author/ptitgnu.xhtml', 'blog/2014.xhtml', 'blog/2015.xhtml', 'blog/2016.xhtml', 'blog/2017.xhtml', 'blog/2018.xhtml', 'blog/2019.xhtml', 'blog/2020.xhtml', 'blog/2021.xhtml', 'blog/2022.xhtml', 'blog/2023.xhtml', 'blog/2024.xhtml', 'blog/category/accueil.xhtml', 'blog/category/outils.xhtml', 'blog/category/la-victoire-des-grelots.xhtml', 'blog/category/series.xhtml', 'blog/category/one-shots.xhtml', 'publications/index.xhtml', 'publications/series/la_victoire_des_grelots/index.xhtml', 'publications/series/la_victoire_des_grelots/progression.xhtml', 'outils/index.xhtml', 'outils/sphinx_storymaker.xhtml', 'outils/sphinx_studiowriter.xhtml', 'google82f190054a773ed9.xhtml', 'genindex.xhtml', 'historique.xhtml', 'apropos.xhtml', 'nav.xhtml' ] epub_theme = 'nervproject' epub_theme_options = html_theme_options epub_show_urls = 'footnote' diag_antialias = True diag_transparency = True diag_html_image_format = "SVG" diag_latex_image_format = "PDF" diag_fontpath = os.path.dirname(os.path.realpath(__file__)) diag_fontpath = os.path.join(diag_fontpath, '_static', 'biolinumrah.ttf') diag_debug = False actdiag_antialias = diag_antialias actdiag_transparency = diag_transparency actdiag_html_image_format = diag_html_image_format actdiag_latex_image_format = diag_latex_image_format actdiag_fontpath = diag_fontpath actdiag_debug = diag_debug blockdiag_antialias = diag_antialias blockdiag_transparency = diag_transparency blockdiag_html_image_format = diag_html_image_format blockdiag_fontpath = diag_fontpath blockdiag_latex_image_format = diag_latex_image_format blockdiag_debug = diag_debug nwdiag_antialias = diag_antialias nwdiag_transparency = diag_transparency nwdiag_html_image_format = diag_html_image_format nwdiag_latex_image_format = diag_latex_image_format nwdiag_fontpath = diag_fontpath nwdiag_debug = diag_debug seqdiag_antialias = diag_antialias seqdiag_transparency = diag_transparency seqdiag_html_image_format = diag_html_image_format seqdiag_latex_image_format = diag_latex_image_format seqdiag_fontpath = diag_fontpath seqdiag_debug = diag_debug if use_bibtex: import pybtex.style.formatting from pybtex.richtext import Text, Tag class NervPybtexStyle(pybtex.style.formatting.BaseStyle): def format_article(self, entry): return Text(Tag('em', entry.fields['key']))