Installation: Configuration
Généralités#
Pour configurer un site Hugo utilisant le thème, il existe trois type de configuration:
Type | Fichier de configuration |
---|---|
Configuration standard Hugo | ./config.toml |
Configuration spécifique par le biais des variables site | ./config.toml |
Configuration par défaut du thème | .themes/shadocs/data/themeParams.toml |
Configuration spécifique#
[params]
# Chemin des fichiers logo du site
logo = "images/logo.png"
logoTouch = "images/logoTouch.png"
# Chemin du fichier de l'image affichée en cas d'erreur 404
image404 = "images/404.gif"
# Chemin du fichier du favicon du site
favicon = "images/favicon.png"
# Aperçu par défaut de la page d'accueil
homeLayout = "onboarding"
# Ordre du contenu du site (https://gohugo.io/templates/lists/#order-content)
siteContentOrder = "weight"
# Active/Désactive la table des matières de manière globale (sur tout le site)
toc = true
# Active une bannière globale sur toutes les pages du site
globalBanner = true
# Version courante du site
currentVersion = "latest"
# Url de la dernière version du site
latestVersionUrl = "https://jgazeau.github.io/shadocs/"
# Force la résolution des liens en utilisant la fonction relref (https://gohugo.io/content-management/cross-references/)
enforceRefrelLinks = true
# Désactive le bouton "Imprimer" dans la barre de navigation
navbarPrintEntry = false
# Désactive le bouton "QR code" dans la barre de navigation
navbarQRCodeEntry = false
# Désactive le bouton "Raccourcis" dans la barre de navigation
navbarSchortcutsEntry = false
# Désactive le bouton "À propos" dans la barre de navigation
navbarInfo = false
# Liste des raccourcis clavier
# Pour chaque raccourci il faut renseigner les clés suivantes:
# - keys = [Table des touches de clavier du raccourci](https://developer.mozilla.org/fr/docs/Web/API/KeyboardEvent/key/Key_Values)
# - function = "Nom de la fonction javascript à appeler par le raccourci"
[params.navbar.shortcuts]
# Définition du raccourci d'exemple
[params.navbar.shortcuts.example]
keys = ["Shift","1"]
function = "scExample"
# Liste des taxonomies
# Pour chaque taxonomie il est possible de renseigner les clés suivantes:
# - icon = "Classes fontawesome associées à la taxonomie"
[params.taxonomies]
[params.taxonomies.categories]
icon = "fa-solid fa-table-cells"
# Liste des assets (https://gohugo.io/hugo-pipes/resource-from-template/) à inclures
# Les assets gérés:
# - sass = [Liste des fichiers SASS]
# - css = [Liste des fichiers CSS]
# - js = [Liste des fichiers javascript]
# - jsModules = [Liste des fichiers modules javascript]
# - shortcodes.css = [Liste des fichiers CSS à inclure quand le shortcode associé est présent dans le contenu de la page]
# - shortcodes.js = [Liste des fichiers javascript à inclure quand le shortcode associé est présent dans le contenu de la page]
# - shortcodes.jsModules = [Liste des fichiers modules javascript à inclure quand le shortcode associé est présent dans le contenu de la page]
# - fencedcodes.css = [Liste des fichiers CSS à inclure quand le language d'un bloc de code cloisonné associé est présent dans le contenu de la page]
# - fencedcodes.js = [Liste des fichiers javascript à inclure quand le language d'un bloc de code cloisonné associé est présent dans le contenu de la page]
# - fencedcodes.jsModules = [Liste des fichiers modules javascript à inclure quand le language d'un bloc de code cloisonné associé est présent dans le contenu de la page]
#
[params.includes]
sass = [
"sass/file1.sass",
"sass/fileX.sass"
]
css = [
"css/file1.css",
"css/fileX.css"
]
js = [
"js/file1.js",
"js/fileX.js"
]
jsModules = [
"js/modules/file1.js",
"js/modules/fileX.js"
]
[params.includes.shortcodes.sass]
shortcode1 = [
"sass/shortcodes/shortcode1.sass"
]
shortcodeX = [
"sass/shortcodes/shortcodeX.sass"
]
[params.includes.shortcodes.css]
shortcode1 = [
"css/shortcodes/shortcode1.css"
]
shortcodeX = [
"css/shortcodes/shortcodeX.css"
]
[params.includes.shortcodes.js]
shortcode1 = [
"js/shortcodes/shortcode1.js"
]
shortcodeX = [
"js/shortcodes/shortcodeX.js"
]
[params.includes.shortcodes.jsModules]
shortcode1 = [
"js/shortcodes/modules/shortcode1.js"
]
shortcodeX = [
"js/shortcodes/modules/shortcodeX.js"
]
[params.includes.fencedcodes.css]
shortcode1 = [
"css/fencedcodes/shortcode1.css"
]
shortcodeX = [
"css/fencedcodes/shortcodeX.css"
]
[params.includes.fencedcodes.js]
shortcode1 = [
"js/fencedcodes/shortcode1.js"
]
shortcodeX = [
"js/fencedcodes/shortcodeX.js"
]
[params.includes.fencedcodes.jsModules]
shortcode1 = [
"js/fencedcodes/modules/shortcode1.js"
]
shortcodeX = [
"js/fencedcodes/modules/shortcodeX.js"
]
Configuration par défaut du thème#
#
# Liens GitHub affichés dans le modal d'information
#
[github]
main = "https://github.com/jgazeau/shadocs"
download = "https://github.com/jgazeau/shadocs/archive/main.zip"
issue = "https://github.com/jgazeau/shadocs/issues"
fork = "https://github.com/jgazeau/shadocs/fork"
#
# Paramètres divers du menu latéral
#
[sidebar]
homeSectionIconDefault = "fa-solid fa-house-chimney"
firstSectionIconDefault = "fa-solid fa-ban"
nestedSectionIconDefault = "fa-solid fa-turn-up fa-rotate-90 fa-xs"
#
# Liste des raccourcis clavier du thème
# Pour chaque raccourci les clés suivantes sont renseignées:
# - keys = [Table des touches de clavier du raccourci] (https://developer.mozilla.org/fr/docs/Web/API/KeyboardEvent/key/Key_Values)
# - function = "Nom de la fonction javascript à appeler pour le raccourci"
#
[navbar]
[navbar.shortcuts.1_info]
keys = ["Shift","i"]
function = "scShowInfo"
[navbar.shortcuts.2_shortcuts]
keys = ["Shift","k"]
function = "scShowShortcuts"
[navbar.shortcuts.3_home]
keys = ["Shift","h"]
function = "scGoHome"
[navbar.shortcuts.4_search]
keys = ["Shift","f"]
function = "scGoSearch"
[navbar.shortcuts.5_togglesidebar]
keys = ["Shift","m"]
function = "scToggleSidebar"
[navbar.shortcuts.6_toggletoc]
keys = ["Shift","t"]
function = "scToggleToc"
[navbar.shortcuts.7_backtotop]
keys = ["Shift","ArrowUp"]
function = "scBackToTop"
[navbar.shortcuts.8_gotobottom]
keys = ["Shift","ArrowDown"]
function = "scGoToBottom"
[navbar.shortcuts.9_print]
keys = ["Shift","p"]
function = "scPrint"
[navbar.shortcuts.10_qrcode]
keys = ["Shift","q"]
function = "scQrCode"
[navbar.shortcuts.11_closemodals]
keys = ["Escape"]
function = "scCloseModals"
#
# Liste des assets (https://gohugo.io/hugo-pipes/resource-from-template/) à inclures
# Assets gérés:
# - sass = [Liste des fichiers SASS]
# - css = [Liste des fichiers CSS]
# - js = [Liste des fichiers javascript]
# - jsModules = [Liste des fichiers modules javascript]
# - shortcodes.sass = [Liste des fichiers SASS à inclure quand le shortcode associé est présent dans le contenu de la page]
# - shortcodes.css = [Liste des fichiers CSS à inclure quand le shortcode associé est présent dans le contenu de la page]
# - shortcodes.js = [Liste des fichiers javascript à inclure quand le shortcode associé est présent dans le contenu de la page]
# - shortcodes.jsModules = [Liste des fichiers modules javascript à inclure quand le shortcode associé est présent dans le contenu de la page]
#
[includes]
sass = [
"sass/theme/main.sass"
]
css = [
"css/external/fontawesome.all.min.css",
"css/external/overlay-scrollbars/overlayscrollbars.min.css"
]
js = [
"js/theme/browserCompatibility.js",
"js/external/flexsearch/flexsearch.bundle.min.js",
"js/external/qrious/qrious.min.js",
"js/external/overlay-scrollbars/overlayscrollbars.min.js"
]
jsModules = [
"js/theme/modules/const.js",
"js/theme/modules/helpers.js",
"js/theme/modules/helpersGlobal.js",
"js/theme/init.js",
"js/theme/navbar.js",
"js/theme/print.js",
"js/theme/qrcode.js",
"js/theme/search.js",
"js/theme/shortcuts.js",
"js/theme/sidebar.js",
"js/theme/toc.js"
]
[includes.shortcodes.jsModules]
asyncapi = [
"js/shortcodes/asyncapi.js",
"js/external/asyncapi/asyncapi-web-component.min.js"
]
collapsible = [
"js/shortcodes/collapsible.js"
]
highcharts = [
"js/shortcodes/highcharts.js",
]
intro = [
"js/external/intro/intro.min.js",
"js/shortcodes/intro.js"
]
jsoneditor = [
"js/external/bulma-toast/bulma-toast.min.js",
"js/external/json-editor/jsoneditor.min.js",
"js/shortcodes/jsoneditor.js"
]
openapi = [
"js/shortcodes/openapi.js",
]
treeview = [
"js/shortcodes/treeview.js"
]
[includes.shortcodes.js]
openapi = [
"js/external/swagger-ui/swagger-ui-bundle.min.js",
"js/external/swagger-ui/swagger-ui-standalone-preset.min.js"
]
[includes.shortcodes.css]
asyncapi = [
"css/external/asyncapi/default.min.css"
]
openapi = [
"css/external/swagger-ui/swagger-ui.min.css"
]
[includes.fencedcodes.js]
mermaid = [
"js/external/mermaid/mermaid.min.js"
]
[includes.fencedcodes.jsModules]
mermaid = [
"js/fencedcodes/mermaid.js"
]
#
# Miscellaneous shortcodes parameters
#
[shortcodes]
[shortcodes.treeview]
[shortcodes.treeview.kinds]
default = "fa-solid fa-circle-question"
dir = "fa-solid fa-folder"
file = "fa-solid fa-file"
home = "fa-solid fa-house-chimney"
page = "fa-solid fa-file-lines"
section = "fa-solid fa-folder-tree"
taxonomy = "fa-solid fa-tags"
term = "fa-solid fa-tag"
archive = "fa-solid fa-file-zipper"
image = "fa-solid fa-file-image"
video = "fa-solid fa-file-video"
script = "fa-solid fa-file-code"
dockerfile = "fa-brands fa-docker"
pdf = "fa-solid fa-file-pdf"
powerpoint = "fa-solid fa-file-powerpoint"
excel = "fa-solid fa-file-excel"
csv = "fa-solid fa-file-csv"
word = "fa-solid fa-file-word"