personal-website/conf.py

129 lines
4.4 KiB
Python
Raw Normal View History

# Sphinx docs configuration for building project documentation
from datetime import datetime
from pygments.lexer import RegexLexer, bygroups
from pygments import token
from sphinx.highlighting import lexers
project = "lenordsNet"
author = "lenord"
copyright = f"{datetime.now().year}, lenordsNet"
extensions = [
"sphinxcontrib.youtube",
"ablog",
"sphinx.ext.intersphinx",
"sphinx_design",
"sphinxcontrib.bitfield",
]
templates_path = ["_templates"]
blog_baseurl = "https://lenord.me/"
# A path relative to the configuration directory for posts archive pages.
blog_path = "posts"
# The "title" for the posts, used in active pages. Default is ``'Blog'``.
blog_title = "lenordsNet"
fontawesome_included = True
html_baseurl = blog_baseurl
html_title = blog_title
html_theme = "pydata_sphinx_theme"
html_theme_options = {
"search_bar_text": "search ...",
"show_prev_next": False,
"navbar_center": [],
}
html_favicon = "assets/img/favicon.ico"
html_sidebars = {
"*": [
"ablog/recentposts.html",
"ablog/archives.html",
],
"posts/**": [
"ablog/postcard.html",
"ablog/recentposts.html",
"ablog/archives.html",
],
}
html_context = {"html_title": html_title}
pygments_style = "sas"
drawio_headless = True
drawio_no_sandbox = True
class CanbusDbcLexer(RegexLexer):
name = "DBC"
tokens = {
'root' : [
(r'[:\|\[\],\(\)]', token.Punctuation),
(r'[\@\-\+]', token.Operator),
("CM_", token.Keyword, 'comment'),
("SG_", token.Keyword, "signal"),
("BO_", token.Keyword, 'msg'),
("BA_DEF_DEF_", token.Keyword, 'attrdefault'),
("BA_DEF_", token.Keyword, 'attrdef'),
('BA_', token.Keyword, 'sigdefault')
],
'msg': [
(r'(\s+)(\d+)(\s+)([\w_]+)(\s*?)(:)(\s+)(\d+)(\s+)(\w+)',
bygroups(token.Whitespace, token.Number, token.Whitespace, token.Name, token.Whitespace, token.Punctuation, token.Whitespace, token.Number, token.Whitespace, token.Name)),
],
'signal': [
(r'(\s+)([\w_]+)(\s+)(:)(\s+)(\d+)(\|)(\d+)(@)(\d+)([+-])(\s+)(\()([-\d\.]+)(,)([-\d\.]+)(\))(\s+)(\[)([\d-]+)(\|)([\d-]+)(\])(\s+)(".*?")(.*?\n)',
bygroups(token.Whitespace,
token.Name,
token.Whitespace,
token.Punctuation,
token.Whitespace,
token.Number,
token.Punctuation,
token.Number,
token.Punctuation,
token.Number,
token.Punctuation,
token.Whitespace,
token.Punctuation,
token.Number,
token.Punctuation,
token.Number,
token.Punctuation,
token.Whitespace,
token.Punctuation,
token.Number,
token.Punctuation,
token.Number,
token.Punctuation,
token.Whitespace,
token.String,
token.Name,
)),
],
'comment': [
(r'(\s+)(BO_)(\s+)(\d+)(\s+)(".*?")(;)',
bygroups(token.Whitespace, token.Keyword, token.Whitespace, token.Number, token.Whitespace, token.String, token.Punctuation)),
(r'(\s+)(SG_)(\s+)(\d+)(\s+)(\w+)(\s+)(".*?")(;)',
bygroups(token.Whitespace, token.Keyword, token.Whitespace, token.Number, token.Whitespace, token.Name, token.Whitespace, token.String, token.Punctuation))
],
'attrdef': [
(r'(\s+)([\w_]+)(\s+)(".*?")(\s+)(\w+)(\s+)(.*?)(;)',
bygroups(token.Whitespace, token.Keyword, token.Whitespace, token.String, token.Whitespace, token.Keyword, token.Whitespace, token.Name, token.Punctuation))
],
'attrdefault': [
(r'(\s+)(".*?")(\s+)(.*?)(;)',
bygroups(token.Whitespace, token.String, token.Whitespace, token.Name, token.Punctuation))
],
'sigdefault': [
(r'(\s+)(".*?")(\s+)(SG_)(\s+)(\d+)(\s+)(\S+)(\s+)([0-9\-\.]+)(;)',
bygroups(token.Whitespace, token.String, token.Whitespace, token.Keyword, token.Whitespace, token.Number, token.Whitespace, token.Name, token.Whitespace, token.Number, token.Punctuation))
],
}
lexers['dbc'] = CanbusDbcLexer(startinline=True)