Compare commits

...

10 Commits
0.1 ... main

Author SHA1 Message Date
fha 2e8f2fd9c1 small color update 2024-10-16 12:45:25 +02:00
fha bdc1017a73 Dark/light mode Toggle 2024-10-14 21:54:59 +02:00
fha 1a45dfe010 Adding root content to git ignore. To prevent accidently uploading it again when working on the template. 2024-09-21 21:07:26 +02:00
fha 9a12c4543d cleaning root content folder 2024-09-21 21:05:41 +02:00
fha 383b1c85f0 Added SampleSite to generate sample website and preventing content from being added to project using the theme 2024-09-21 21:00:30 +02:00
fha 10c70b0133 Added support for BlockQuotes customization. 2024-09-20 22:18:52 +02:00
Trekathlon 8a208b47a6 Background color update 2024-09-03 23:40:25 +02:00
Trekathlon 020e47d45c Setting sample posts Draft to true 2024-09-01 21:18:00 +02:00
Trekathlon ce0de4889f gitignore 2024-09-01 20:15:11 +02:00
Trekathlon 6c4f64b29a Fixed Tag decorations 2024-09-01 19:35:00 +02:00
57 changed files with 1388 additions and 240 deletions

6
.gitignore vendored
View File

@ -1,2 +1,4 @@
public/**
.vscode/**
/public/**
/exampleSite//public/**
/content/**
/.vscode/**

View File

@ -16,6 +16,11 @@ Support for Mermaid schemas.
### Photos (soon)
Support photos albums based on Folders.
### Dark / Light mode
Possibility to enable Dark or Light mode.
It will auto detect the current user setting and choose the right mode.
Colors can be adapted using the variables.css file.
### Syntax Hightlighting
Required configuration to copy paste code :
```toml
@ -52,6 +57,17 @@ It is possible to add cv in other languages
* Add the content is section (ex:cvfr.html).
* Add an entry in the nav menu.
## BlockQuotes Render Hook
Block quotes are now customizable in the markdown files.
The format is the following :
``` md
> [!IMPORTANT]
> Key information users need to know to achieve their goal.
```
Those are customizable in `assets/theme.css`.
Currently, the supported Tags are : CAUTION, Important, NOTE, TIP, WARNING, NATURE, CAMPING, METEO, MONEY, DANGER, WIFI.
New Tags can be added by customizing 'render-blockquote-alert.html'.
## Installation

Binary file not shown.

258
assets/css/chroma.css Normal file
View File

@ -0,0 +1,258 @@
/* Background */ .bg { color:#272822;background-color:#fafafa; }
/* PreWrapper */ .chroma { color:#272822;background-color:#fafafa; }
/* Other */ .chroma .x { }
/* Error */ .chroma .err { color:#960050;background-color:#1e0010 }
/* CodeLine */ .chroma .cl { }
/* LineLink */ .chroma .lnlinks { outline:none;text-decoration:none;color:inherit }
/* LineTableTD */ .chroma .lntd { vertical-align:top;padding:0;margin:0;border:0; }
/* LineTable */ .chroma .lntable { border-spacing:0;padding:0;margin:0;border:0; }
/* LineHighlight */ .chroma .hl { background-color:#e1e1e1 }
/* LineNumbersTable */ .chroma .lnt { white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f }
/* LineNumbers */ .chroma .ln { white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f }
/* Line */ .chroma .line { display:flex; }
/* Keyword */ .chroma .k { color:#00a8c8 }
/* KeywordConstant */ .chroma .kc { color:#00a8c8 }
/* KeywordDeclaration */ .chroma .kd { color:#00a8c8 }
/* KeywordNamespace */ .chroma .kn { color:#f92672 }
/* KeywordPseudo */ .chroma .kp { color:#00a8c8 }
/* KeywordReserved */ .chroma .kr { color:#00a8c8 }
/* KeywordType */ .chroma .kt { color:#00a8c8 }
/* Name */ .chroma .n { color:#111 }
/* NameAttribute */ .chroma .na { color:#75af00 }
/* NameBuiltin */ .chroma .nb { color:#111 }
/* NameBuiltinPseudo */ .chroma .bp { color:#111 }
/* NameClass */ .chroma .nc { color:#75af00 }
/* NameConstant */ .chroma .no { color:#00a8c8 }
/* NameDecorator */ .chroma .nd { color:#75af00 }
/* NameEntity */ .chroma .ni { color:#111 }
/* NameException */ .chroma .ne { color:#75af00 }
/* NameFunction */ .chroma .nf { color:#75af00 }
/* NameFunctionMagic */ .chroma .fm { color:#111 }
/* NameLabel */ .chroma .nl { color:#111 }
/* NameNamespace */ .chroma .nn { color:#111 }
/* NameOther */ .chroma .nx { color:#75af00 }
/* NameProperty */ .chroma .py { color:#111 }
/* NameTag */ .chroma .nt { color:#f92672 }
/* NameVariable */ .chroma .nv { color:#111 }
/* NameVariableClass */ .chroma .vc { color:#111 }
/* NameVariableGlobal */ .chroma .vg { color:#111 }
/* NameVariableInstance */ .chroma .vi { color:#111 }
/* NameVariableMagic */ .chroma .vm { color:#111 }
/* Literal */ .chroma .l { color:#ae81ff }
/* LiteralDate */ .chroma .ld { color:#d88200 }
/* LiteralString */ .chroma .s { color:#d88200 }
/* LiteralStringAffix */ .chroma .sa { color:#d88200 }
/* LiteralStringBacktick */ .chroma .sb { color:#d88200 }
/* LiteralStringChar */ .chroma .sc { color:#d88200 }
/* LiteralStringDelimiter */ .chroma .dl { color:#d88200 }
/* LiteralStringDoc */ .chroma .sd { color:#d88200 }
/* LiteralStringDouble */ .chroma .s2 { color:#d88200 }
/* LiteralStringEscape */ .chroma .se { color:#8045ff }
/* LiteralStringHeredoc */ .chroma .sh { color:#d88200 }
/* LiteralStringInterpol */ .chroma .si { color:#d88200 }
/* LiteralStringOther */ .chroma .sx { color:#d88200 }
/* LiteralStringRegex */ .chroma .sr { color:#d88200 }
/* LiteralStringSingle */ .chroma .s1 { color:#d88200 }
/* LiteralStringSymbol */ .chroma .ss { color:#d88200 }
/* LiteralNumber */ .chroma .m { color:#ae81ff }
/* LiteralNumberBin */ .chroma .mb { color:#ae81ff }
/* LiteralNumberFloat */ .chroma .mf { color:#ae81ff }
/* LiteralNumberHex */ .chroma .mh { color:#ae81ff }
/* LiteralNumberInteger */ .chroma .mi { color:#ae81ff }
/* LiteralNumberIntegerLong */ .chroma .il { color:#ae81ff }
/* LiteralNumberOct */ .chroma .mo { color:#ae81ff }
/* Operator */ .chroma .o { color:#f92672 }
/* OperatorWord */ .chroma .ow { color:#f92672 }
/* Punctuation */ .chroma .p { color:#111 }
/* Comment */ .chroma .c { color:#75715e }
/* CommentHashbang */ .chroma .ch { color:#75715e }
/* CommentMultiline */ .chroma .cm { color:#75715e }
/* CommentSingle */ .chroma .c1 { color:#75715e }
/* CommentSpecial */ .chroma .cs { color:#75715e }
/* CommentPreproc */ .chroma .cp { color:#75715e }
/* CommentPreprocFile */ .chroma .cpf { color:#75715e }
/* Generic */ .chroma .g { }
/* GenericDeleted */ .chroma .gd { }
/* GenericEmph */ .chroma .ge { font-style:italic }
/* GenericError */ .chroma .gr { }
/* GenericHeading */ .chroma .gh { }
/* GenericInserted */ .chroma .gi { }
/* GenericOutput */ .chroma .go { }
/* GenericPrompt */ .chroma .gp { }
/* GenericStrong */ .chroma .gs { font-weight:bold }
/* GenericSubheading */ .chroma .gu { }
/* GenericTraceback */ .chroma .gt { }
/* GenericUnderline */ .chroma .gl { }
/* TextWhitespace */ .chroma .w { }
/* Background */ .bg { color:#f8f8f2;background-color:#272822; }
/* PreWrapper */ .chroma { color:#f8f8f2;background-color:#272822; }
/* Other */ .chroma .x { }
/* Error */ .chroma .err { color:#960050;background-color:#1e0010 }
/* CodeLine */ .chroma .cl { }
/* LineLink */ .chroma .lnlinks { outline:none;text-decoration:none;color:inherit }
/* LineTableTD */ .chroma .lntd { vertical-align:top;padding:0;margin:0;border:0; }
/* LineTable */ .chroma .lntable { border-spacing:0;padding:0;margin:0;border:0; }
/* LineHighlight */ .chroma .hl { background-color:#3c3d38 }
/* LineNumbersTable */ .chroma .lnt { white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f }
/* LineNumbers */ .chroma .ln { white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f }
/* Line */ .chroma .line { display:flex; }
/* Keyword */ .chroma .k { color:#66d9ef }
/* KeywordConstant */ .chroma .kc { color:#66d9ef }
/* KeywordDeclaration */ .chroma .kd { color:#66d9ef }
/* KeywordNamespace */ .chroma .kn { color:#f92672 }
/* KeywordPseudo */ .chroma .kp { color:#66d9ef }
/* KeywordReserved */ .chroma .kr { color:#66d9ef }
/* KeywordType */ .chroma .kt { color:#66d9ef }
/* Name */ .chroma .n { }
/* NameAttribute */ .chroma .na { color:#a6e22e }
/* NameBuiltin */ .chroma .nb { }
/* NameBuiltinPseudo */ .chroma .bp { }
/* NameClass */ .chroma .nc { color:#a6e22e }
/* NameConstant */ .chroma .no { color:#66d9ef }
/* NameDecorator */ .chroma .nd { color:#a6e22e }
/* NameEntity */ .chroma .ni { }
/* NameException */ .chroma .ne { color:#a6e22e }
/* NameFunction */ .chroma .nf { color:#a6e22e }
/* NameFunctionMagic */ .chroma .fm { }
/* NameLabel */ .chroma .nl { }
/* NameNamespace */ .chroma .nn { }
/* NameOther */ .chroma .nx { color:#a6e22e }
/* NameProperty */ .chroma .py { }
/* NameTag */ .chroma .nt { color:#f92672 }
/* NameVariable */ .chroma .nv { }
/* NameVariableClass */ .chroma .vc { }
/* NameVariableGlobal */ .chroma .vg { }
/* NameVariableInstance */ .chroma .vi { }
/* NameVariableMagic */ .chroma .vm { }
/* Literal */ .chroma .l { color:#ae81ff }
/* LiteralDate */ .chroma .ld { color:#e6db74 }
/* LiteralString */ .chroma .s { color:#e6db74 }
/* LiteralStringAffix */ .chroma .sa { color:#e6db74 }
/* LiteralStringBacktick */ .chroma .sb { color:#e6db74 }
/* LiteralStringChar */ .chroma .sc { color:#e6db74 }
/* LiteralStringDelimiter */ .chroma .dl { color:#e6db74 }
/* LiteralStringDoc */ .chroma .sd { color:#e6db74 }
/* LiteralStringDouble */ .chroma .s2 { color:#e6db74 }
/* LiteralStringEscape */ .chroma .se { color:#ae81ff }
/* LiteralStringHeredoc */ .chroma .sh { color:#e6db74 }
/* LiteralStringInterpol */ .chroma .si { color:#e6db74 }
/* LiteralStringOther */ .chroma .sx { color:#e6db74 }
/* LiteralStringRegex */ .chroma .sr { color:#e6db74 }
/* LiteralStringSingle */ .chroma .s1 { color:#e6db74 }
/* LiteralStringSymbol */ .chroma .ss { color:#e6db74 }
/* LiteralNumber */ .chroma .m { color:#ae81ff }
/* LiteralNumberBin */ .chroma .mb { color:#ae81ff }
/* LiteralNumberFloat */ .chroma .mf { color:#ae81ff }
/* LiteralNumberHex */ .chroma .mh { color:#ae81ff }
/* LiteralNumberInteger */ .chroma .mi { color:#ae81ff }
/* LiteralNumberIntegerLong */ .chroma .il { color:#ae81ff }
/* LiteralNumberOct */ .chroma .mo { color:#ae81ff }
/* Operator */ .chroma .o { color:#f92672 }
/* OperatorWord */ .chroma .ow { color:#f92672 }
/* Punctuation */ .chroma .p { }
/* Comment */ .chroma .c { color:#75715e }
/* CommentHashbang */ .chroma .ch { color:#75715e }
/* CommentMultiline */ .chroma .cm { color:#75715e }
/* CommentSingle */ .chroma .c1 { color:#75715e }
/* CommentSpecial */ .chroma .cs { color:#75715e }
/* CommentPreproc */ .chroma .cp { color:#75715e }
/* CommentPreprocFile */ .chroma .cpf { color:#75715e }
/* Generic */ .chroma .g { }
/* GenericDeleted */ .chroma .gd { color:#f92672 }
/* GenericEmph */ .chroma .ge { font-style:italic }
/* GenericError */ .chroma .gr { }
/* GenericHeading */ .chroma .gh { }
/* GenericInserted */ .chroma .gi { color:#a6e22e }
/* GenericOutput */ .chroma .go { }
/* GenericPrompt */ .chroma .gp { }
/* GenericStrong */ .chroma .gs { font-weight:bold }
/* GenericSubheading */ .chroma .gu { color:#75715e }
/* GenericTraceback */ .chroma .gt { }
/* GenericUnderline */ .chroma .gl { }
/* TextWhitespace */ .chroma .w { }
/* Background */ .bg { color:#272822;background-color:#fafafa; }
/* PreWrapper */ .chroma { color:#272822;background-color:#fafafa; }
/* Other */ .chroma .x { }
/* Error */ .chroma .err { color:#960050;background-color:#1e0010 }
/* CodeLine */ .chroma .cl { }
/* LineLink */ .chroma .lnlinks { outline:none;text-decoration:none;color:inherit }
/* LineTableTD */ .chroma .lntd { vertical-align:top;padding:0;margin:0;border:0; }
/* LineTable */ .chroma .lntable { border-spacing:0;padding:0;margin:0;border:0; }
/* LineHighlight */ .chroma .hl { background-color:#e1e1e1 }
/* LineNumbersTable */ .chroma .lnt { white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f }
/* LineNumbers */ .chroma .ln { white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f }
/* Line */ .chroma .line { display:flex; }
/* Keyword */ .chroma .k { color:#00a8c8 }
/* KeywordConstant */ .chroma .kc { color:#00a8c8 }
/* KeywordDeclaration */ .chroma .kd { color:#00a8c8 }
/* KeywordNamespace */ .chroma .kn { color:#f92672 }
/* KeywordPseudo */ .chroma .kp { color:#00a8c8 }
/* KeywordReserved */ .chroma .kr { color:#00a8c8 }
/* KeywordType */ .chroma .kt { color:#00a8c8 }
/* Name */ .chroma .n { color:#111 }
/* NameAttribute */ .chroma .na { color:#75af00 }
/* NameBuiltin */ .chroma .nb { color:#111 }
/* NameBuiltinPseudo */ .chroma .bp { color:#111 }
/* NameClass */ .chroma .nc { color:#75af00 }
/* NameConstant */ .chroma .no { color:#00a8c8 }
/* NameDecorator */ .chroma .nd { color:#75af00 }
/* NameEntity */ .chroma .ni { color:#111 }
/* NameException */ .chroma .ne { color:#75af00 }
/* NameFunction */ .chroma .nf { color:#75af00 }
/* NameFunctionMagic */ .chroma .fm { color:#111 }
/* NameLabel */ .chroma .nl { color:#111 }
/* NameNamespace */ .chroma .nn { color:#111 }
/* NameOther */ .chroma .nx { color:#75af00 }
/* NameProperty */ .chroma .py { color:#111 }
/* NameTag */ .chroma .nt { color:#f92672 }
/* NameVariable */ .chroma .nv { color:#111 }
/* NameVariableClass */ .chroma .vc { color:#111 }
/* NameVariableGlobal */ .chroma .vg { color:#111 }
/* NameVariableInstance */ .chroma .vi { color:#111 }
/* NameVariableMagic */ .chroma .vm { color:#111 }
/* Literal */ .chroma .l { color:#ae81ff }
/* LiteralDate */ .chroma .ld { color:#d88200 }
/* LiteralString */ .chroma .s { color:#d88200 }
/* LiteralStringAffix */ .chroma .sa { color:#d88200 }
/* LiteralStringBacktick */ .chroma .sb { color:#d88200 }
/* LiteralStringChar */ .chroma .sc { color:#d88200 }
/* LiteralStringDelimiter */ .chroma .dl { color:#d88200 }
/* LiteralStringDoc */ .chroma .sd { color:#d88200 }
/* LiteralStringDouble */ .chroma .s2 { color:#d88200 }
/* LiteralStringEscape */ .chroma .se { color:#8045ff }
/* LiteralStringHeredoc */ .chroma .sh { color:#d88200 }
/* LiteralStringInterpol */ .chroma .si { color:#d88200 }
/* LiteralStringOther */ .chroma .sx { color:#d88200 }
/* LiteralStringRegex */ .chroma .sr { color:#d88200 }
/* LiteralStringSingle */ .chroma .s1 { color:#d88200 }
/* LiteralStringSymbol */ .chroma .ss { color:#d88200 }
/* LiteralNumber */ .chroma .m { color:#ae81ff }
/* LiteralNumberBin */ .chroma .mb { color:#ae81ff }
/* LiteralNumberFloat */ .chroma .mf { color:#ae81ff }
/* LiteralNumberHex */ .chroma .mh { color:#ae81ff }
/* LiteralNumberInteger */ .chroma .mi { color:#ae81ff }
/* LiteralNumberIntegerLong */ .chroma .il { color:#ae81ff }
/* LiteralNumberOct */ .chroma .mo { color:#ae81ff }
/* Operator */ .chroma .o { color:#f92672 }
/* OperatorWord */ .chroma .ow { color:#f92672 }
/* Punctuation */ .chroma .p { color:#111 }
/* Comment */ .chroma .c { color:#75715e }
/* CommentHashbang */ .chroma .ch { color:#75715e }
/* CommentMultiline */ .chroma .cm { color:#75715e }
/* CommentSingle */ .chroma .c1 { color:#75715e }
/* CommentSpecial */ .chroma .cs { color:#75715e }
/* CommentPreproc */ .chroma .cp { color:#75715e }
/* CommentPreprocFile */ .chroma .cpf { color:#75715e }
/* Generic */ .chroma .g { }
/* GenericDeleted */ .chroma .gd { }
/* GenericEmph */ .chroma .ge { font-style:italic }
/* GenericError */ .chroma .gr { }
/* GenericHeading */ .chroma .gh { }
/* GenericInserted */ .chroma .gi { }
/* GenericOutput */ .chroma .go { }
/* GenericPrompt */ .chroma .gp { }
/* GenericStrong */ .chroma .gs { font-weight:bold }
/* GenericSubheading */ .chroma .gu { }
/* GenericTraceback */ .chroma .gt { }
/* GenericUnderline */ .chroma .gl { }
/* TextWhitespace */ .chroma .w { }

14
assets/css/main.css Normal file
View File

@ -0,0 +1,14 @@
body {
background-color: var(--background-color);
color: var(--primary-color);
}
nav {
background-color: var(--bs-dark-bg-subtle);
}
.bi {
width: 1em;
height: 1em;
vertical-align: -.125em;
fill: currentcolor;
}

77
assets/css/theme.css Normal file
View File

@ -0,0 +1,77 @@
:root {
--c-divers: #7c2ef9;
--c-success: #03862b;
--c-danger: #d10015;
--c-caution: #ff8d01;
--c-warning: #ffea00;
--c-info: #246ede;
}
body {
font-family: sans-serif;
line-height: 1.5;
margin: 1rem;
}
.md-blockquote,
.md-alert {
margin-bottom: 1rem;
padding: 0 1rem;
border-radius: 5px;
border-left: 4px solid var(--bs-tertiary-color);
}
.md-blockquote>p:last-child,
.md-alert>p:last-child {
margin-bottom: 0;
}
.md-alert>p {
color: var(--bs-secondary-text-emphasis);
}
.md-alert-heading {
margin-bottom: 0.5rem;
display: flex;
align-items: center;
font-weight: 500;
font-size: 1rem;
}
.md-alert-note {
border-left: 4px solid var(--c-info);
color: var(--c-info);
}
.md-alert-nature,
.md-alert-camping,
.md-alert-tip {
border-left-color: var(--c-success);
color: var(--c-success);
}
.md-alert-important {
border-left-color: var(--c-danger);
color: var(--c-danger);
border-bottom: 1px solid var(--c-danger);
border-top: 1px solid var(--c-danger);
border-right: 1px solid var(--c-danger);
width : 90%;
padding-top: 0.2rem;
padding-bottom: 0.3rem;
}
.md-alert-money,
.md-alert-warning {
border-left-color: var(--c-warning);
color: var(--c-warning);
background-color: var(--bs-tertiary-color);
width : 90%;
padding-top: 0.2rem;
padding-bottom: 0.3rem;
}
.md-alert-caution {
border-left-color: var(--c-caution);
color: var(--c-caution);
}

171
assets/css/variables.css Normal file
View File

@ -0,0 +1,171 @@
:root,
[data-bs-theme=light] {
--bs-blue: #0d6efd;
--bs-indigo: #6610f2;
--bs-purple: #6f42c1;
--bs-pink: #d63384;
--bs-red: #dc3545;
--bs-orange: #fd7e14;
--bs-yellow: #ffc107;
--bs-green: #198754;
--bs-teal: #20c997;
--bs-cyan: #0dcaf0;
--bs-black: #000;
--bs-white: #fff;
--bs-gray: #6c757d;
--bs-gray-dark: #343a40;
--bs-gray-100: #f8f9fa;
--bs-gray-200: #e9ecef;
--bs-gray-300: #dee2e6;
--bs-gray-400: #ced4da;
--bs-gray-500: #adb5bd;
--bs-gray-600: #6c757d;
--bs-gray-700: #495057;
--bs-gray-800: #343a40;
--bs-gray-900: #212529;
--bs-primary: #0d6efd;
--bs-secondary: #6c757d;
--bs-success: #198754;
--bs-info: #0dcaf0;
--bs-warning: #ffc107;
--bs-danger: #dc3545;
--bs-light: #f8f9fa;
--bs-dark: #212529;
--bs-primary-rgb: 13, 110, 253;
--bs-secondary-rgb: 108, 117, 125;
--bs-success-rgb: 25, 135, 84;
--bs-info-rgb: 13, 202, 240;
--bs-warning-rgb: 255, 193, 7;
--bs-danger-rgb: 220, 53, 69;
--bs-light-rgb: 248, 249, 250;
--bs-dark-rgb: 33, 37, 41;
--bs-primary-text-emphasis: #052c65;
--bs-secondary-text-emphasis: #2b2f32;
--bs-success-text-emphasis: #0a3622;
--bs-info-text-emphasis: #055160;
--bs-warning-text-emphasis: #664d03;
--bs-danger-text-emphasis: #58151c;
--bs-light-text-emphasis: #495057;
--bs-dark-text-emphasis: #495057;
--bs-primary-bg-subtle: #cfe2ff;
--bs-secondary-bg-subtle: #e2e3e5;
--bs-success-bg-subtle: #d1e7dd;
--bs-info-bg-subtle: #cff4fc;
--bs-warning-bg-subtle: #fff3cd;
--bs-danger-bg-subtle: #f8d7da;
--bs-light-bg-subtle: #fcfcfd;
--bs-dark-bg-subtle: #ced4da;
--bs-primary-border-subtle: #9ec5fe;
--bs-secondary-border-subtle: #c4c8cb;
--bs-success-border-subtle: #a3cfbb;
--bs-info-border-subtle: #9eeaf9;
--bs-warning-border-subtle: #ffe69c;
--bs-danger-border-subtle: #f1aeb5;
--bs-light-border-subtle: #e9ecef;
--bs-dark-border-subtle: #adb5bd;
--bs-white-rgb: 255, 255, 255;
--bs-black-rgb: 0, 0, 0;
--bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
--bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
--bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
--bs-body-font-family: var(--bs-font-sans-serif);
--bs-body-font-size: 1rem;
--bs-body-font-weight: 400;
--bs-body-line-height: 1.5;
--bs-body-color: #212529;
--bs-body-color-rgb: 33, 37, 41;
--bs-body-bg: #fff;
--bs-body-bg-rgb: 255, 255, 255;
--bs-emphasis-color: #000;
--bs-emphasis-color-rgb: 0, 0, 0;
--bs-secondary-color: rgba(33, 37, 41, 0.75);
--bs-secondary-color-rgb: 33, 37, 41;
--bs-secondary-bg: #e9ecef;
--bs-secondary-bg-rgb: 233, 236, 239;
--bs-tertiary-color: rgba(33, 37, 41, 0.5);
--bs-tertiary-color-rgb: 33, 37, 41;
--bs-tertiary-bg: #f8f9fa;
--bs-tertiary-bg-rgb: 248, 249, 250;
--bs-heading-color: inherit;
--bs-link-color: #0d6efd;
--bs-link-color-rgb: 13, 110, 253;
--bs-link-decoration: none;
--bs-link-hover-color: #0a58ca;
--bs-link-hover-color-rgb: 10, 88, 202;
--bs-code-color: #d63384;
--bs-highlight-color: #212529;
--bs-highlight-bg: #fff3cd;
--bs-border-width: 1px;
--bs-border-style: solid;
--bs-border-color: #dee2e6;
--bs-border-color-translucent: rgba(0, 0, 0, 0.175);
--bs-border-radius-2xl: var(--bs-border-radius-xxl);
--bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
--bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
--bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);
--bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);
--bs-focus-ring-width: 0.25rem;
--bs-focus-ring-opacity: 0.25;
--bs-focus-ring-color: rgba(13, 110, 253, 0.25);
--bs-form-valid-color: #198754;
--bs-form-valid-border-color: #198754;
--bs-form-invalid-color: #dc3545;
--bs-form-invalid-border-color: #dc3545;
}
[data-bs-theme=dark] {
color-scheme: dark;
--bs-body-color: #dee2e6;
--bs-body-color-rgb: 222, 226, 230;
--bs-body-bg: #262921;
--bs-body-bg-rgb: 33, 37, 41;
--bs-emphasis-color: #fff;
--bs-emphasis-color-rgb: 255, 255, 255;
--bs-secondary-color: rgba(222, 226, 230, 0.75);
--bs-secondary-color-rgb: 222, 226, 230;
--bs-secondary-bg: #343a40;
--bs-secondary-bg-rgb: 52, 58, 64;
--bs-tertiary-color: rgba(222, 226, 230, 0.5);
--bs-tertiary-color-rgb: 222, 226, 230;
--bs-tertiary-bg: #2b3035;
--bs-tertiary-bg-rgb: 43, 48, 53;
--bs-primary-text-emphasis: #6ea8fe;
--bs-secondary-text-emphasis: #a7acb1;
--bs-success-text-emphasis: #75b798;
--bs-info-text-emphasis: #6edff6;
--bs-warning-text-emphasis: #ffda6a;
--bs-danger-text-emphasis: #ea868f;
--bs-light-text-emphasis: #f8f9fa;
--bs-dark-text-emphasis: #dee2e6;
--bs-primary-bg-subtle: #031633;
--bs-secondary-bg-subtle: #161719;
--bs-success-bg-subtle: #051b11;
--bs-info-bg-subtle: #032830;
--bs-warning-bg-subtle: #332701;
--bs-danger-bg-subtle: #2c0b0e;
--bs-light-bg-subtle: #343a40;
--bs-dark-bg-subtle: #1a1d20;
--bs-primary-border-subtle: #084298;
--bs-secondary-border-subtle: #41464b;
--bs-success-border-subtle: #0f5132;
--bs-info-border-subtle: #087990;
--bs-warning-border-subtle: #997404;
--bs-danger-border-subtle: #842029;
--bs-light-border-subtle: #495057;
--bs-dark-border-subtle: #343a40;
--bs-heading-color: inherit;
--bs-link-color: #6ea8fe;
--bs-link-hover-color: #8bb9fe;
--bs-link-color-rgb: 110, 168, 254;
--bs-link-hover-color-rgb: 139, 185, 254;
--bs-code-color: #e685b5;
--bs-highlight-color: #dee2e6;
--bs-highlight-bg: #664d03;
--bs-border-color: #495057;
--bs-border-color-translucent: rgba(255, 255, 255, 0.15);
--bs-form-valid-color: #75b798;
--bs-form-valid-border-color: #75b798;
--bs-form-invalid-color: #ea868f;
--bs-form-invalid-border-color: #ea868f;
}

View File

@ -1,9 +0,0 @@
+++
title = 'Home'
date = 2023-01-01T08:00:00-07:00
draft = false
+++
Laborum voluptate pariatur ex culpa magna nostrud est incididunt fugiat
pariatur do dolor ipsum enim. Consequat tempor do dolor eu. Non id id anim anim
excepteur excepteur pariatur nostrud qui irure ullamco.

View File

View File

View File

@ -1,7 +1,7 @@
+++
title = 'Posts'
date = 2023-01-01T08:30:00-07:00
draft = false
draft = true
+++
Tempor est exercitation ad qui pariatur quis adipisicing aliquip nisi ea consequat ipsum occaecat. Nostrud consequat ullamco laboris fugiat esse esse adipisicing velit laborum ipsum incididunt ut enim. Dolor pariatur nulla quis fugiat dolore excepteur. Aliquip ad quis aliqua enim do consequat.

View File

@ -1,10 +1,12 @@
+++
title = 'Post 1'
date = 2023-01-15T09:00:00-07:00
draft = false
draft = true
tags = ['red']
+++
Tempor proident minim aliquip reprehenderit dolor et ad anim Lorem duis sint eiusmod. Labore ut ea duis dolor. Incididunt consectetur proident qui occaecat incididunt do nisi Lorem. Tempor do laborum elit laboris excepteur eiusmod do. Eiusmod nisi excepteur ut amet pariatur adipisicing Lorem.
Occaecat nulla excepteur dolore excepteur duis eiusmod ullamco officia anim in voluptate ea occaecat officia. Cillum sint esse velit ea officia minim fugiat. Elit ea esse id aliquip pariatur cupidatat id duis minim incididunt ea ea. Anim ut duis sunt nisi. Culpa cillum sit voluptate voluptate eiusmod dolor. Enim nisi Lorem ipsum irure est excepteur voluptate eu in enim nisi. Nostrud ipsum Lorem anim sint labore consequat do.

View File

@ -1,7 +1,7 @@
+++
title = 'Post 2'
date = 2023-02-15T10:00:00-07:00
draft = false
draft = true
tags = ['red','green']
+++

View File

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 19 KiB

View File

@ -1,7 +1,7 @@
+++
title = 'Post 3'
date = 2023-03-15T11:00:00-07:00
draft = false
draft = true
tags = ['red','green','blue']
+++

View File

@ -0,0 +1,36 @@
+++
title = 'Post 4'
date = 2023-02-15T10:00:00-07:00
draft = true
tags = ['blue','red']
+++
Exercitation voluptate irure in irure tempor mollit Lorem nostrud ad officia. Velit id fugiat occaecat do tempor. Sit officia Lorem aliquip eu deserunt consectetur. Aute proident deserunt in nulla aliquip dolore ipsum Lorem ut cupidatat consectetur sit sint laborum. Esse cupidatat sit sint sunt tempor exercitation deserunt. Labore dolor duis laborum est do nisi ut veniam dolor et nostrud nostrud.
> This is a normal quote
> [!NOTE]
> Useful information that users should know, even when skimming content.
> [!TIP]
> Helpful advice for doing things better or more easily.
> [!IMPORTANT]
> Key information users need to know to achieve their goal.
> [!WARNING]
> Urgent info that needs immediate user attention to avoid problems.
> [!CAUTION]
> Advises about risks or negative outcomes of certain actions.
> [!CAMPING]
> Advises about risks or negative outcomes of certain actions.
> [!NATURE]
> Advises about risks or negative outcomes of certain actions.
> [!MONEY]
> Advises about risks or negative outcomes of certain actions.
Anim eiusmod irure incididunt sint cupidatat. Incididunt irure irure irure nisi ipsum do ut quis fugiat consectetur proident cupidatat incididunt cillum. Dolore voluptate occaecat qui mollit laborum ullamco et. Ipsum laboris officia anim laboris culpa eiusmod ex magna ex cupidatat anim ipsum aute. Mollit aliquip occaecat qui sunt velit ut cupidatat reprehenderit enim sunt laborum. Velit veniam in officia nulla adipisicing ut duis officia.

139
exampleSite/hugo.toml Normal file
View File

@ -0,0 +1,139 @@
baseURL = 'https://example.org/'
languageCode = 'en-us'
title = 'My New Hugo Site'
enableEmoji = true
summaryLength = 50
[permalinks]
post = "/:filename/"
[params]
description = "FHA's Theme for coding and blogging !"
includeBootstrapJs = true
search = true
search_minify = true
contentBackgroundColor = "#CFCFCF"
contentTextColor = "#212529"
contentLinkColor = "#5e807fff"
contentLinkHoverColor = "#5e807fff"
navbarBackgroundColor = "#2a2d34ff"
navbarForegroundColor = "#5e807fff"
navbarLinkColor = "rgba(236, 200, 175, 0.75)"
navbarLinkHoverColor = "rgba(206, 121, 107, 1)"
wrapperMaxWidth = "1280px"
customDateFormat = "Jan 2, 2006"
customCodeStyle = true
customBlockquoteStyle = true
showPostSummary = false
[menu]
[[menu.nav]]
name = 'Home'
pageRef = '/'
weight = 10
[[menu.nav]]
name = 'Posts'
pageRef = '/posts'
weight = 20
[[menu.nav]]
name = 'Tags'
pageRef = '/tags'
weight = 30
[[menu.nav]]
name = 'About'
pageRef = '/about'
weight = 100
[[menu.nav]]
identifier = "pAbout"
name = "About"
url = "/about"
parent = "About"
weight = 10
[[menu.nav]]
identifier = "pCv"
name = "CV"
url = "/cv"
parent = "About"
weight = 20
[module]
[module.hugoVersion]
extended = false
min = "0.133.0"
[markup]
[markup.goldmark]
duplicateResourceFiles = false
[markup.goldmark.extensions]
definitionList = true
footnote = true
linkify = true
linkifyProtocol = 'https'
strikethrough = true
table = true
taskList = true
[markup.goldmark.extensions.cjk]
eastAsianLineBreaks = false
eastAsianLineBreaksStyle = 'simple'
enable = false
escapedSpace = false
[markup.goldmark.extensions.extras]
[markup.goldmark.extensions.extras.delete]
enable = false
[markup.goldmark.extensions.extras.insert]
enable = false
[markup.goldmark.extensions.extras.mark]
enable = false
[markup.goldmark.extensions.extras.subscript]
enable = false
[markup.goldmark.extensions.extras.superscript]
enable = false
[markup.goldmark.extensions.passthrough]
enable = false
[markup.goldmark.extensions.passthrough.delimiters]
block = []
inline = []
[markup.goldmark.extensions.typographer]
apostrophe = '’'
disable = false
ellipsis = '…'
emDash = '—'
enDash = '–'
leftAngleQuote = '«'
leftDoubleQuote = '“'
leftSingleQuote = '‘'
rightAngleQuote = '»'
rightDoubleQuote = '”'
rightSingleQuote = '’'
[markup.goldmark.parser]
autoHeadingID = true
autoHeadingIDType = 'github'
wrapStandAloneImageWithinParagraph = true
[markup.goldmark.parser.attribute]
block = true
title = true
[markup.goldmark.renderHooks]
[markup.goldmark.renderHooks.image]
enableDefault = false
[markup.goldmark.renderHooks.link]
enableDefault = false
[markup.goldmark.renderer]
hardWraps = false
unsafe = false
xhtml = false
[markup.highlight]
anchorLineNos = false
codeFences = true
guessSyntax = false
lineAnchors = ' '
lineNoStart = 1
lineNos=true
lineNumbersInTable=true
noClasses = false
noHl = false
style = 'monokai'
tabWidth = 4
[outputs]
home = ["HTML", "RSS", "JSON"]

View File

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Categories on My New Hugo Site</title>
<link>http://localhost:52343/categories/</link>
<description>Recent content in Categories on My New Hugo Site</description>
<generator>Hugo</generator>
<language>en-us</language>
<atom:link href="http://localhost:52343/categories/index.xml" rel="self" type="application/rss+xml" />
</channel>
</rss>

View File

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>My New Hugo Site</title>
<link>http://localhost:52343/cv/</link>
<description>Recent content on My New Hugo Site</description>
<generator>Hugo</generator>
<language>en-us</language>
<atom:link href="http://localhost:52343/cv/index.xml" rel="self" type="application/rss+xml" />
</channel>
</rss>

View File

@ -0,0 +1,47 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>My New Hugo Site</title>
<link>http://localhost:52343/</link>
<description>Recent content on My New Hugo Site</description>
<generator>Hugo</generator>
<language>en-us</language>
<lastBuildDate>Sun, 01 Sep 2024 00:00:00 +0000</lastBuildDate>
<atom:link href="http://localhost:52343/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>About</title>
<link>http://localhost:52343/about/</link>
<pubDate>Sun, 01 Sep 2024 00:00:00 +0000</pubDate>
<guid>http://localhost:52343/about/</guid>
<description>&lt;h2 id=&#34;hugo&#34;&gt;Hugo&lt;/h2&gt;&#xA;&lt;p&gt;This template is created to be used with Hugo, a static site generator.&#xA;Hugo is the &lt;strong&gt;worlds fastest framework for building websites&lt;/strong&gt;. It is written in Go.&lt;/p&gt;&#xA;&lt;p&gt;Learn more and contribute on &lt;a href=&#34;https://github.com/gohugoio&#34;&gt;GitHub&lt;/a&gt;.&#xA;Official WebSite : &lt;a href=&#34;https://gohugo.io/&#34;&gt;GoHugo.io&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;p&gt;This template is issued from my own blog : &lt;a href=&#34;https://fhanotes.netlify.app&#34;&gt;Fha-Notes&lt;/a&gt;&#xA;After a few year using Hugo, enriching my blog with functionalities that I kept copying all over the place, I decided to create my own template.&lt;/p&gt;</description>
</item>
<item>
<title>Post 3</title>
<link>http://localhost:52343/posts/post-3/</link>
<pubDate>Wed, 15 Mar 2023 11:00:00 -0700</pubDate>
<guid>http://localhost:52343/posts/post-3/</guid>
<description>&lt;p&gt;Occaecat aliqua consequat laborum ut ex aute aliqua culpa quis irure esse magna dolore quis. Proident fugiat labore eu laboris officia Lorem enim. Ipsum occaecat cillum ut tempor id sint aliqua incididunt nisi incididunt reprehenderit. Voluptate ad minim sint est aute aliquip esse occaecat tempor officia qui sunt. Aute ex ipsum id ut in est velit est laborum incididunt. Aliqua qui id do esse sunt eiusmod id deserunt eu nostrud aute sit ipsum. Deserunt esse cillum Lorem non magna adipisicing mollit amet consequat.&lt;/p&gt;</description>
</item>
<item>
<title>Post 2</title>
<link>http://localhost:52343/posts/post-2/</link>
<pubDate>Wed, 15 Feb 2023 10:00:00 -0700</pubDate>
<guid>http://localhost:52343/posts/post-2/</guid>
<description>&lt;p&gt;Anim eiusmod irure incididunt sint cupidatat. Incididunt irure irure irure nisi ipsum do ut quis fugiat consectetur proident cupidatat incididunt cillum. Dolore voluptate occaecat qui mollit laborum ullamco et. Ipsum laboris officia anim laboris culpa eiusmod ex magna ex cupidatat anim ipsum aute. Mollit aliquip occaecat qui sunt velit ut cupidatat reprehenderit enim sunt laborum. Velit veniam in officia nulla adipisicing ut duis officia.&lt;/p&gt;</description>
</item>
<item>
<title>Post 4</title>
<link>http://localhost:52343/posts/post-4/</link>
<pubDate>Wed, 15 Feb 2023 10:00:00 -0700</pubDate>
<guid>http://localhost:52343/posts/post-4/</guid>
<description>&lt;p&gt;Exercitation voluptate irure in irure tempor mollit Lorem nostrud ad officia. Velit id fugiat occaecat do tempor. Sit officia Lorem aliquip eu deserunt consectetur. Aute proident deserunt in nulla aliquip dolore ipsum Lorem ut cupidatat consectetur sit sint laborum. Esse cupidatat sit sint sunt tempor exercitation deserunt. Labore dolor duis laborum est do nisi ut veniam dolor et nostrud nostrud.&lt;/p&gt;</description>
</item>
<item>
<title>Post 1</title>
<link>http://localhost:52343/posts/post-1/</link>
<pubDate>Sun, 15 Jan 2023 09:00:00 -0700</pubDate>
<guid>http://localhost:52343/posts/post-1/</guid>
<description>&lt;p&gt;Tempor proident minim aliquip reprehenderit dolor et ad anim Lorem duis sint eiusmod. Labore ut ea duis dolor. Incididunt consectetur proident qui occaecat incididunt do nisi Lorem. Tempor do laborum elit laboris excepteur eiusmod do. Eiusmod nisi excepteur ut amet pariatur adipisicing Lorem.&lt;/p&gt;&#xA;&lt;p&gt;Occaecat nulla excepteur dolore excepteur duis eiusmod ullamco officia anim in voluptate ea occaecat officia. Cillum sint esse velit ea officia minim fugiat. Elit ea esse id aliquip pariatur cupidatat id duis minim incididunt ea ea. Anim ut duis sunt nisi. Culpa cillum sit voluptate voluptate eiusmod dolor. Enim nisi Lorem ipsum irure est excepteur voluptate eu in enim nisi. Nostrud ipsum Lorem anim sint labore consequat do.&lt;/p&gt;</description>
</item>
</channel>
</rss>

View File

@ -0,0 +1,40 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Posts on My New Hugo Site</title>
<link>http://localhost:52343/posts/</link>
<description>Recent content in Posts on My New Hugo Site</description>
<generator>Hugo</generator>
<language>en-us</language>
<lastBuildDate>Wed, 15 Mar 2023 11:00:00 -0700</lastBuildDate>
<atom:link href="http://localhost:52343/posts/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Post 3</title>
<link>http://localhost:52343/posts/post-3/</link>
<pubDate>Wed, 15 Mar 2023 11:00:00 -0700</pubDate>
<guid>http://localhost:52343/posts/post-3/</guid>
<description>&lt;p&gt;Occaecat aliqua consequat laborum ut ex aute aliqua culpa quis irure esse magna dolore quis. Proident fugiat labore eu laboris officia Lorem enim. Ipsum occaecat cillum ut tempor id sint aliqua incididunt nisi incididunt reprehenderit. Voluptate ad minim sint est aute aliquip esse occaecat tempor officia qui sunt. Aute ex ipsum id ut in est velit est laborum incididunt. Aliqua qui id do esse sunt eiusmod id deserunt eu nostrud aute sit ipsum. Deserunt esse cillum Lorem non magna adipisicing mollit amet consequat.&lt;/p&gt;</description>
</item>
<item>
<title>Post 2</title>
<link>http://localhost:52343/posts/post-2/</link>
<pubDate>Wed, 15 Feb 2023 10:00:00 -0700</pubDate>
<guid>http://localhost:52343/posts/post-2/</guid>
<description>&lt;p&gt;Anim eiusmod irure incididunt sint cupidatat. Incididunt irure irure irure nisi ipsum do ut quis fugiat consectetur proident cupidatat incididunt cillum. Dolore voluptate occaecat qui mollit laborum ullamco et. Ipsum laboris officia anim laboris culpa eiusmod ex magna ex cupidatat anim ipsum aute. Mollit aliquip occaecat qui sunt velit ut cupidatat reprehenderit enim sunt laborum. Velit veniam in officia nulla adipisicing ut duis officia.&lt;/p&gt;</description>
</item>
<item>
<title>Post 4</title>
<link>http://localhost:52343/posts/post-4/</link>
<pubDate>Wed, 15 Feb 2023 10:00:00 -0700</pubDate>
<guid>http://localhost:52343/posts/post-4/</guid>
<description>&lt;p&gt;Exercitation voluptate irure in irure tempor mollit Lorem nostrud ad officia. Velit id fugiat occaecat do tempor. Sit officia Lorem aliquip eu deserunt consectetur. Aute proident deserunt in nulla aliquip dolore ipsum Lorem ut cupidatat consectetur sit sint laborum. Esse cupidatat sit sint sunt tempor exercitation deserunt. Labore dolor duis laborum est do nisi ut veniam dolor et nostrud nostrud.&lt;/p&gt;</description>
</item>
<item>
<title>Post 1</title>
<link>http://localhost:52343/posts/post-1/</link>
<pubDate>Sun, 15 Jan 2023 09:00:00 -0700</pubDate>
<guid>http://localhost:52343/posts/post-1/</guid>
<description>&lt;p&gt;Tempor proident minim aliquip reprehenderit dolor et ad anim Lorem duis sint eiusmod. Labore ut ea duis dolor. Incididunt consectetur proident qui occaecat incididunt do nisi Lorem. Tempor do laborum elit laboris excepteur eiusmod do. Eiusmod nisi excepteur ut amet pariatur adipisicing Lorem.&lt;/p&gt;&#xA;&lt;p&gt;Occaecat nulla excepteur dolore excepteur duis eiusmod ullamco officia anim in voluptate ea occaecat officia. Cillum sint esse velit ea officia minim fugiat. Elit ea esse id aliquip pariatur cupidatat id duis minim incididunt ea ea. Anim ut duis sunt nisi. Culpa cillum sit voluptate voluptate eiusmod dolor. Enim nisi Lorem ipsum irure est excepteur voluptate eu in enim nisi. Nostrud ipsum Lorem anim sint labore consequat do.&lt;/p&gt;</description>
</item>
</channel>
</rss>

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

View File

@ -0,0 +1,42 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:xhtml="http://www.w3.org/1999/xhtml">
<url>
<loc>http://localhost:52343/</loc>
<lastmod>2024-09-01T00:00:00+00:00</lastmod>
</url><url>
<loc>http://localhost:52343/about/</loc>
<lastmod>2024-09-01T00:00:00+00:00</lastmod>
</url><url>
<loc>http://localhost:52343/tags/blue/</loc>
<lastmod>2023-03-15T11:00:00-07:00</lastmod>
</url><url>
<loc>http://localhost:52343/tags/green/</loc>
<lastmod>2023-03-15T11:00:00-07:00</lastmod>
</url><url>
<loc>http://localhost:52343/posts/post-3/</loc>
<lastmod>2023-03-15T11:00:00-07:00</lastmod>
</url><url>
<loc>http://localhost:52343/tags/red/</loc>
<lastmod>2023-03-15T11:00:00-07:00</lastmod>
</url><url>
<loc>http://localhost:52343/tags/</loc>
<lastmod>2023-03-15T11:00:00-07:00</lastmod>
</url><url>
<loc>http://localhost:52343/posts/post-2/</loc>
<lastmod>2023-02-15T10:00:00-07:00</lastmod>
</url><url>
<loc>http://localhost:52343/posts/post-4/</loc>
<lastmod>2023-02-15T10:00:00-07:00</lastmod>
</url><url>
<loc>http://localhost:52343/posts/post-1/</loc>
<lastmod>2023-01-15T09:00:00-07:00</lastmod>
</url><url>
<loc>http://localhost:52343/posts/</loc>
<lastmod>2023-01-01T08:30:00-07:00</lastmod>
</url><url>
<loc>http://localhost:52343/cv/</loc>
</url><url>
<loc>http://localhost:52343/categories/</loc>
</url>
</urlset>

View File

@ -0,0 +1,26 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Blue on My New Hugo Site</title>
<link>http://localhost:52343/tags/blue/</link>
<description>Recent content in Blue on My New Hugo Site</description>
<generator>Hugo</generator>
<language>en-us</language>
<lastBuildDate>Wed, 15 Mar 2023 11:00:00 -0700</lastBuildDate>
<atom:link href="http://localhost:52343/tags/blue/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Post 3</title>
<link>http://localhost:52343/posts/post-3/</link>
<pubDate>Wed, 15 Mar 2023 11:00:00 -0700</pubDate>
<guid>http://localhost:52343/posts/post-3/</guid>
<description>&lt;p&gt;Occaecat aliqua consequat laborum ut ex aute aliqua culpa quis irure esse magna dolore quis. Proident fugiat labore eu laboris officia Lorem enim. Ipsum occaecat cillum ut tempor id sint aliqua incididunt nisi incididunt reprehenderit. Voluptate ad minim sint est aute aliquip esse occaecat tempor officia qui sunt. Aute ex ipsum id ut in est velit est laborum incididunt. Aliqua qui id do esse sunt eiusmod id deserunt eu nostrud aute sit ipsum. Deserunt esse cillum Lorem non magna adipisicing mollit amet consequat.&lt;/p&gt;</description>
</item>
<item>
<title>Post 4</title>
<link>http://localhost:52343/posts/post-4/</link>
<pubDate>Wed, 15 Feb 2023 10:00:00 -0700</pubDate>
<guid>http://localhost:52343/posts/post-4/</guid>
<description>&lt;p&gt;Exercitation voluptate irure in irure tempor mollit Lorem nostrud ad officia. Velit id fugiat occaecat do tempor. Sit officia Lorem aliquip eu deserunt consectetur. Aute proident deserunt in nulla aliquip dolore ipsum Lorem ut cupidatat consectetur sit sint laborum. Esse cupidatat sit sint sunt tempor exercitation deserunt. Labore dolor duis laborum est do nisi ut veniam dolor et nostrud nostrud.&lt;/p&gt;</description>
</item>
</channel>
</rss>

View File

@ -0,0 +1,26 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Green on My New Hugo Site</title>
<link>http://localhost:52343/tags/green/</link>
<description>Recent content in Green on My New Hugo Site</description>
<generator>Hugo</generator>
<language>en-us</language>
<lastBuildDate>Wed, 15 Mar 2023 11:00:00 -0700</lastBuildDate>
<atom:link href="http://localhost:52343/tags/green/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Post 3</title>
<link>http://localhost:52343/posts/post-3/</link>
<pubDate>Wed, 15 Mar 2023 11:00:00 -0700</pubDate>
<guid>http://localhost:52343/posts/post-3/</guid>
<description>&lt;p&gt;Occaecat aliqua consequat laborum ut ex aute aliqua culpa quis irure esse magna dolore quis. Proident fugiat labore eu laboris officia Lorem enim. Ipsum occaecat cillum ut tempor id sint aliqua incididunt nisi incididunt reprehenderit. Voluptate ad minim sint est aute aliquip esse occaecat tempor officia qui sunt. Aute ex ipsum id ut in est velit est laborum incididunt. Aliqua qui id do esse sunt eiusmod id deserunt eu nostrud aute sit ipsum. Deserunt esse cillum Lorem non magna adipisicing mollit amet consequat.&lt;/p&gt;</description>
</item>
<item>
<title>Post 2</title>
<link>http://localhost:52343/posts/post-2/</link>
<pubDate>Wed, 15 Feb 2023 10:00:00 -0700</pubDate>
<guid>http://localhost:52343/posts/post-2/</guid>
<description>&lt;p&gt;Anim eiusmod irure incididunt sint cupidatat. Incididunt irure irure irure nisi ipsum do ut quis fugiat consectetur proident cupidatat incididunt cillum. Dolore voluptate occaecat qui mollit laborum ullamco et. Ipsum laboris officia anim laboris culpa eiusmod ex magna ex cupidatat anim ipsum aute. Mollit aliquip occaecat qui sunt velit ut cupidatat reprehenderit enim sunt laborum. Velit veniam in officia nulla adipisicing ut duis officia.&lt;/p&gt;</description>
</item>
</channel>
</rss>

View File

@ -0,0 +1,33 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Tags on My New Hugo Site</title>
<link>http://localhost:52343/tags/</link>
<description>Recent content in Tags on My New Hugo Site</description>
<generator>Hugo</generator>
<language>en-us</language>
<lastBuildDate>Wed, 15 Mar 2023 11:00:00 -0700</lastBuildDate>
<atom:link href="http://localhost:52343/tags/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Blue</title>
<link>http://localhost:52343/tags/blue/</link>
<pubDate>Wed, 15 Mar 2023 11:00:00 -0700</pubDate>
<guid>http://localhost:52343/tags/blue/</guid>
<description></description>
</item>
<item>
<title>Green</title>
<link>http://localhost:52343/tags/green/</link>
<pubDate>Wed, 15 Mar 2023 11:00:00 -0700</pubDate>
<guid>http://localhost:52343/tags/green/</guid>
<description></description>
</item>
<item>
<title>Red</title>
<link>http://localhost:52343/tags/red/</link>
<pubDate>Wed, 15 Mar 2023 11:00:00 -0700</pubDate>
<guid>http://localhost:52343/tags/red/</guid>
<description></description>
</item>
</channel>
</rss>

View File

@ -0,0 +1,40 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Red on My New Hugo Site</title>
<link>http://localhost:52343/tags/red/</link>
<description>Recent content in Red on My New Hugo Site</description>
<generator>Hugo</generator>
<language>en-us</language>
<lastBuildDate>Wed, 15 Mar 2023 11:00:00 -0700</lastBuildDate>
<atom:link href="http://localhost:52343/tags/red/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Post 3</title>
<link>http://localhost:52343/posts/post-3/</link>
<pubDate>Wed, 15 Mar 2023 11:00:00 -0700</pubDate>
<guid>http://localhost:52343/posts/post-3/</guid>
<description>&lt;p&gt;Occaecat aliqua consequat laborum ut ex aute aliqua culpa quis irure esse magna dolore quis. Proident fugiat labore eu laboris officia Lorem enim. Ipsum occaecat cillum ut tempor id sint aliqua incididunt nisi incididunt reprehenderit. Voluptate ad minim sint est aute aliquip esse occaecat tempor officia qui sunt. Aute ex ipsum id ut in est velit est laborum incididunt. Aliqua qui id do esse sunt eiusmod id deserunt eu nostrud aute sit ipsum. Deserunt esse cillum Lorem non magna adipisicing mollit amet consequat.&lt;/p&gt;</description>
</item>
<item>
<title>Post 2</title>
<link>http://localhost:52343/posts/post-2/</link>
<pubDate>Wed, 15 Feb 2023 10:00:00 -0700</pubDate>
<guid>http://localhost:52343/posts/post-2/</guid>
<description>&lt;p&gt;Anim eiusmod irure incididunt sint cupidatat. Incididunt irure irure irure nisi ipsum do ut quis fugiat consectetur proident cupidatat incididunt cillum. Dolore voluptate occaecat qui mollit laborum ullamco et. Ipsum laboris officia anim laboris culpa eiusmod ex magna ex cupidatat anim ipsum aute. Mollit aliquip occaecat qui sunt velit ut cupidatat reprehenderit enim sunt laborum. Velit veniam in officia nulla adipisicing ut duis officia.&lt;/p&gt;</description>
</item>
<item>
<title>Post 4</title>
<link>http://localhost:52343/posts/post-4/</link>
<pubDate>Wed, 15 Feb 2023 10:00:00 -0700</pubDate>
<guid>http://localhost:52343/posts/post-4/</guid>
<description>&lt;p&gt;Exercitation voluptate irure in irure tempor mollit Lorem nostrud ad officia. Velit id fugiat occaecat do tempor. Sit officia Lorem aliquip eu deserunt consectetur. Aute proident deserunt in nulla aliquip dolore ipsum Lorem ut cupidatat consectetur sit sint laborum. Esse cupidatat sit sint sunt tempor exercitation deserunt. Labore dolor duis laborum est do nisi ut veniam dolor et nostrud nostrud.&lt;/p&gt;</description>
</item>
<item>
<title>Post 1</title>
<link>http://localhost:52343/posts/post-1/</link>
<pubDate>Sun, 15 Jan 2023 09:00:00 -0700</pubDate>
<guid>http://localhost:52343/posts/post-1/</guid>
<description>&lt;p&gt;Tempor proident minim aliquip reprehenderit dolor et ad anim Lorem duis sint eiusmod. Labore ut ea duis dolor. Incididunt consectetur proident qui occaecat incididunt do nisi Lorem. Tempor do laborum elit laboris excepteur eiusmod do. Eiusmod nisi excepteur ut amet pariatur adipisicing Lorem.&lt;/p&gt;&#xA;&lt;p&gt;Occaecat nulla excepteur dolore excepteur duis eiusmod ullamco officia anim in voluptate ea occaecat officia. Cillum sint esse velit ea officia minim fugiat. Elit ea esse id aliquip pariatur cupidatat id duis minim incididunt ea ea. Anim ut duis sunt nisi. Culpa cillum sit voluptate voluptate eiusmod dolor. Enim nisi Lorem ipsum irure est excepteur voluptate eu in enim nisi. Nostrud ipsum Lorem anim sint labore consequat do.&lt;/p&gt;</description>
</item>
</channel>
</rss>

View File

@ -2,16 +2,20 @@ baseURL = 'https://example.org/'
languageCode = 'en-us'
title = 'My New Hugo Site'
enableEmoji = true
summaryLength = 50
[permalinks]
post = "/:filename/"
[params]
description = "FHA's Tech-Notes to not forget what took me ages to troubleshoot !"
description = "FHA's Theme for coding and blogging !"
darklighttogglemode = true
includeBootstrapJs = true
search = true
includejQueryJs = true
enablesearch = true
enablecopycode = true
search_minify = true
contentBackgroundColor = "#fff"
contentBackgroundColor = "#CFCFCF"
contentTextColor = "#212529"
contentLinkColor = "#5e807fff"
contentLinkHoverColor = "#5e807fff"
@ -59,7 +63,7 @@ enableEmoji = true
[module]
[module.hugoVersion]
extended = false
min = "0.116.0"
min = "0.135.0"
[markup]
[markup.goldmark]
@ -110,7 +114,7 @@ enableEmoji = true
autoHeadingIDType = 'github'
wrapStandAloneImageWithinParagraph = true
[markup.goldmark.parser.attribute]
block = false
block = true
title = true
[markup.goldmark.renderHooks]
[markup.goldmark.renderHooks.image]

View File

@ -0,0 +1,25 @@
{{ $emojis := dict
"caution" ":warning:"
"important" ":exclamation:"
"note" ":information_source:"
"tip" ":bulb:"
"warning" ":radioactive:"
"nature" ":evergreen_tree:"
"camping" ":tent:"
"meteo" ":sun_behind_small_cloud:"
"money" ":money_with_wings:"
"danger" ":no_entry:"
"wifi" ":wireless:"
}}
<blockquote class="md-alert md-alert-{{ .AlertType }}">
<div class="md-alert-heading">
{{ transform.Emojify (index $emojis .AlertType) }}
{{ with .AlertTitle }}
{{ . }}
{{ else }}
{{ or (i18n .AlertType) (title .AlertType) }}
{{ end }}
</div>
{{ .Text }}
</blockquote>

View File

@ -1,43 +1,33 @@
<!DOCTYPE html>
<html lang="en">
{{ partial "head.html" . }}
<div class="container-xxl">
<body class="mb-5">
{{ partial "nav.html" . }}
<div class="container">
{{ if or
(eq .Page.Section "cv" )
}}
<div class="row mt-3">
{{ block "main" . }}{{ end }}
</div>
{{ else }}
<div class="container mt-2">
<div class="row">
<div class="col-lg-9 mt-5">
<article>
{{ block "main" . }}{{ end }}
</article>
</div>
<div class="col-lg-3 ">
<div class="row mt-5">
{{ partial "cloudtag.html" . }}
</div>
</div>
<html lang="en" data-bs-theme="dark">
{{- partial "head.html" . -}}
<body class="mb-5">
{{- partial "svg.html" . -}}
{{- partial "nav.html" . -}}
<div class="container-xxl">
{{ if eq .Page.Section "cv" }}
<div class="row">
{{ block "main" . }}{{ end }}
</div>
{{ else }}
<div class="row">
<div class="col-lg-9 mt-4">
<article>
{{ block "main" . }}{{ end }}
</article>
</div>
<div class="col-lg-3 mt-4">
{{ partial "cloudtag.html" . }}
</div>
</div>
{{ end }}
</div>
{{ partialCached "footer.html" . }}
{{ if .Page.Store.Get "hasMermaid" }}
<script src="/js/mermaid.min.js"></script>
<script>
mermaid.initialize({ startOnLoad: true });
</script>
{{ end }}
</div>
</div>
{{ partial "footer.html" . }}
{{ if .Page.Store.Get "hasMermaid" }}
<script src="/js/mermaid.min.js"></script>
<script>
mermaid.initialize({ startOnLoad: true });
</script>
{{ end }}
{{ partial "cookie-consent.html" . }}
</body>
</body>
</html>

View File

@ -10,7 +10,7 @@
{{ with .Site.Params.customDateFormat }}{{ $customDateFormat = . }}{{ end }}
<br>
<small class="text-secondary">{{ .PublishDate.Format $customDateFormat }}</small>
{{ partialCached "tags" . }}
{{ partial "tags" . }}
{{ if eq .Site.Params.showPostSummary true }}
<br>
{{ .Summary }}

View File

@ -3,7 +3,7 @@
<h1>{{ .Title }}</h1>
<div class="d-flex flex-wrap flex-row">
{{ range .Data.Terms.Alphabetical }}
<div class="w-25 m-1"><a href="{{ .Page.RelPermalink }}"><code>{{ .Page.Title }}</code></a> {{ .Count }}</div>
<div class="w-25 m-1"><a href="{{ .Page.RelPermalink }}" class="text-decoration-none"><code>{{ .Page.Title }}</code></a> {{ .Count }}</div>
{{ end }}
</div>

3
layouts/index.html Normal file
View File

@ -0,0 +1,3 @@
{{- define "main" -}}
<h1>Sample</h1>
{{- end -}}

View File

@ -1,19 +1,21 @@
{{- $post := slice -}}
{{- if eq .Site.Params.enablesearch true -}}
{{- $post := slice -}}
{{- range where site.RegularPages.ByDate.Reverse "Section" "==" "posts" -}}
{{- $item := dict
"Title" .Title
"PlainContent" .Plain
"RelPermalink" .RelPermalink
-}}
{{- $post = $post | append $item -}}
{{- end -}}
{{- range where site.RegularPages.ByDate.Reverse "Section" "==" "posts" -}}
{{- $item := dict
"Title" .Title
"PlainContent" .Plain
"RelPermalink" .RelPermalink
-}}
{{- $post = $post | append $item -}}
{{- end -}}
{{- $object := dict "post" $post -}}
{{- $object := dict "post" $post -}}
{{- if (eq site.Params.search_minify true) -}}
{{- $object | jsonify -}}
{{- else -}}
{{- $jsonifyOptions := dict "indent" " " -}}
{{- $object | jsonify $jsonifyOptions -}}
{{- if (eq site.Params.search_minify true) -}}
{{- $object | jsonify -}}
{{- else -}}
{{- $jsonifyOptions := dict "indent" " " -}}
{{- $object | jsonify $jsonifyOptions -}}
{{- end -}}
{{- end -}}

View File

@ -1,6 +1,12 @@
{{ if eq .Site.Params.includeBootstrapJs true}}
{{ $jqueryJs := "js/jquery-3.7.1.min.js" -}}
<script src="{{ $jqueryJs | absURL }}"></script>
{{ $bootstrapJs := "js/bootstrap.bundle.min.js" -}}
{{- if eq $.Site.Params.includeBootstrapJs true -}}
{{- $bootstrapJs := "js/bootstrap.bundle.min.js" -}}
<script src="{{ $bootstrapJs | absURL }}"></script>
{{ end }}
{{- if eq $.Site.Params.darklighttogglemode true -}}
{{- $colormodeJs := "js/color-mode.js" -}}
<script src="{{ $colormodeJs | absURL }}"></script>
{{- end -}}
{{- end -}}
{{- if eq .Site.Params.includejQueryJs true -}}
{{- $jqueryJs := "js/jquery-3.7.1.min.js" -}}
<script src="{{ $jqueryJs | absURL }}"></script>
{{- end -}}

View File

@ -11,7 +11,7 @@
<div id="tag-cloud col" class="card" style="margin:0;padding:0;">
<div class="card-header card-titl text-bg-secondary mb-3">
<div class="card-header card-title mb-3">
<h3>Tags</h3>
</div>
<div class="card-body card-text" style="margin:0;padding:0.4em;text-align: center;">
@ -23,7 +23,7 @@
{{ $currentFontSize := (add $smallestFontSize (mul (sub $largestFontSize $smallestFontSize) $weigth) ) }}
<!--Current font size: {{$currentFontSize}}-->
<a href="{{ "tags/" | relLangURL }}{{ $name | urlize }}"
style="font-size:{{$currentFontSize}}{{$fontUnit}}">{{ $name }}</a>
style="font-size:{{$currentFontSize}}{{$fontUnit}}" class="text-decoration-none">{{ $name }}</a>
{{ end }}
</div>
</div>

View File

@ -1,42 +1,8 @@
<div class="container-xxl">
<footer>
<nav class="navbar fixed-bottom navbar-expand-lg bg-dark mt-auto py-3">
<div class="text-muted container-xl">Last Update : {{ dateFormat "2006-01-02 15:04 MST" now.Local }}</div>
</nav>
</footer>
</div>
{{ partialCached "bootstrap-js.html" . }}
{{ if (findRE "<code" .Content 1) }} {{ $jsCopy :=resources.Get "copycode.js" | minify }}
<script src="{{ $jsCopy.RelPermalink }}"></script>
{{ end }}
{{ if site.Params.search }}
{{ $searchJs := resources.Get "search.js"
| resources.ExecuteAsTemplate "search.js" .
| fingerprint
}}
<script src="{{ $searchJs.RelPermalink }}"></script>
<script>
$(document).ready(function () {
// Show the Modal on load
$("#searchBtn").click(function () {
$("#searchModal").modal("show");
});
// Hide the Modal
$("#hideBtn").click(function () {
$("#searchModal").modal("hide");
});
// Show the Modal on pressing enter
$("#search").keypress(function (event) {
var keycode = (event.keyCode ? event.keyCode : event.which);
if (keycode == '13') {
$("#searchBtn").click();
event.preventDefault();
}
});
});
</script>
{{ end }}
{{ partial "google-analytics-async.html" . }}
<footer>
<nav class="navbar fixed-bottom navbar-expand-lg bg-dark mt-auto py-3">
<div class="text-muted container-xl">Last Update : {{ dateFormat "2006-01-02 15:04 MST" now.Local }}</div>
</nav>
</footer>
</div>
{{ partial "script-js.html" . }}

View File

@ -1,45 +1,33 @@
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
{{ hugo.Generator }}
{{ with .Site.Params.description }}
<meta name="description" content="{{ . }}">
{{ end }}
{{ $appleTouchIcon := "apple-touch-icon.png" }}
<link rel="apple-touch-icon" sizes="180x180" href="{{ $appleTouchIcon | absURL }}">
{{ $favicon32x32 := "favicon-32x32.png" }}
<link rel="icon" type="image/png" sizes="32x32" href="{{ $favicon32x32 | absURL }}">
{{ $favicon16x16 := "favicon-16x16.png" }}
<link rel="icon" type="image/png" sizes="16x16" href="{{ $favicon16x16 | absURL }}">
{{ $siteWebmanifest := "site.webmanifest" }}
<link rel="manifest" href="{{ $siteWebmanifest | absURL }}">
{{ $safariPinnedTab := "safari-pinned-tab.svg" }}
<link rel="mask-icon" href="{{ $safariPinnedTab | absURL }}" color="{{ .Site.Params.faviconSafariPinnedTabColor }}">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.7.2/font/bootstrap-icons.css">
<meta name="msapplication-TileColor" content="{{ .Site.Params.faviconMsApplicationTileColor }}">
<meta name="theme-color" content="{{ .Site.Params.faviconThemeColor }}">
{{ if (findRE "<code" .Content 1) }}
{{ $syntax := resources.Get "chroma.css" | minify }}
<link href="{{ $syntax.RelPermalink }}" rel="stylesheet">
{{ $copyCss := resources.Get "copycodebtn.css" | minify }}
<link href="{{ $copyCss.RelPermalink }}" rel="stylesheet">
{{ end }}
{{ $bootstrapCss := "css/bootstrap.min.css" }}
<link rel="stylesheet" href="{{ $bootstrapCss | absURL }}" />
{{ partial "style.html" . }}
</head>
<link rel="stylesheet" href="{{ $bootstrapCss | absURL }}" />
{{- if eq $.Site.Params.darklighttogglemode true -}}
{{ $varCss := resources.Get "css/variables.css" | resources.Minify }}
<link rel="stylesheet" href="{{ $varCss.RelPermalink }}" />
{{- end -}}
{{ $mainCss := resources.Get "css/main.css" | resources.Minify }}
<link rel="stylesheet" href="{{ $mainCss.RelPermalink }}" />
{{ $themeCss := resources.Get "css/theme.css" | resources.Minify }}
<link rel="stylesheet" href="{{ $themeCss.RelPermalink }}" />
{{ $chromaCss := resources.Get "css/chroma.css" | resources.Minify }}
<link rel="stylesheet" href="{{ $chromaCss.RelPermalink }}" />
{{- if eq $.Site.Params.enablecopycode true -}}
{{ $copyCss := resources.Get "css/copycodebtn.css" | resources.Minify }}
<link rel="stylesheet" href="{{ $copyCss.RelPermalink }}" />
{{- end -}}
{{ partial "bootstrap-js.html" . }}
</head>

View File

@ -1,61 +1,70 @@
<nav class="navbar fixed-top navbar-expand-lg bg-dark mt-auto py-3">
<div class="container" style="color: #5e807fff">
<a class="navbar-brand" style="color: #5e807fff" href="/">{{ .Site.Title}}</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarTogglerDemo03"
aria-controls="navbarTogglerDemo03" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarTogglerDemo03">
<ul class="navbar-nav me-auto mb-2 mb-lg-0">
{{- $currentNode := . }}
{{- range .Site.Menus.nav }}
{{- if .Name }}
{{- if .HasChildren }}
<li class="nav_item dropdown">
<a class="nav-link dropdown-toggle" style="color: #5e807fff" href="#" id="dropdown08" data-bs-toggle="dropdown" aria-expanded="false">{{ .Name }}</a>
<ul class="dropdown-menu" aria-labelledby="dropdown08">
{{ range .Children }}
<li><a class="dropdown-item {{ if or ($currentNode.IsMenuCurrent "nav" .) ($currentNode.HasMenuCurrent "nav" .)}} active{{ end }}" aria-current="page" href="{{ .URL }}" {{ if ( and ( strings.HasPrefix .URL "http") ( strings.Contains .URL "globe")) }} target="_blank" rel="noopener noreferrer" {{ end }}>{{ .Name }}</a></li>
{{- end }}
</ul>
</li>
{{- else }}
<li class="nav-item">
<a class="nav-link {{ if or ($currentNode.IsMenuCurrent "nav" .) ($currentNode.HasMenuCurrent "nav" .)}} active{{ end }}" aria-current="page" style="color: #5e807fff" href="{{ .URL }}">{{ .Name }}</a>
</li>
{{- end }}
{{- end }}
{{- end }}
</ul>
</div>
<nav class="navbar sticky-top navbar-expand-lg mt-auto py-2">
<div class="container-xxl">
<a class="navbar-brand" href="/">{{ .Site.Title}}</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarTogglerDemo03"
aria-controls="navbarTogglerDemo03" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarTogglerDemo03">
<ul class="navbar-nav me-auto mb-2 mb-lg-0">
{{- $currentNode := . -}}
{{- range .Site.Menus.nav -}}
{{- if .Name -}}
{{- if .HasChildren -}}
<li class="nav_item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="dropdown08" data-bs-toggle="dropdown" aria-expanded="false">{{ .Name }}</a>
<ul class="dropdown-menu" aria-labelledby="dropdown08">
{{ range .Children }}
<li><a class="dropdown-item {{ if or ($currentNode.IsMenuCurrent "nav" .) ($currentNode.HasMenuCurrent "nav" .)}} active{{ end }}" aria-current="page" href="{{ .URL }}" {{ if ( and ( strings.HasPrefix .URL "http") ( strings.Contains .URL "globe")) }} target="_blank" rel="noopener noreferrer" {{ end }}>{{ .Name }}</a></li>
{{- end -}}
</ul>
</li>
{{- else -}}
<li class="nav-item">
<a class="nav-link {{ if or ($currentNode.IsMenuCurrent "nav" .) ($currentNode.HasMenuCurrent "nav" .)}} active{{ end }}" aria-current="page" href="{{ .URL }}">{{ .Name }}</a>
</li>
{{- end -}}
{{- end -}}
{{- end -}}
</ul>
</div>
{{- if eq .Site.Params.enablesearch true -}}
<!-- Search Addition-->
<div class="bd-search" id="docsearch" data-bd-docs-version="5.2" style="margin-left: auto;">
<form class="d-flex" role="search">
<input id="search" class="form-control me-2" type="text" placeholder="press '/' to search"
aria-label="Search" >
<button id="searchBtn" class="btn btn-outline-secondary" type="button" data-bs-toggle="modal"
style="margin-left: 1em;" data-bs-target="#searchModal">Search</button>
<div class="form-check d-none">
<input class="form-check-input" type="checkbox" value="" id="enable_search" checked>
<label class="form-check-label" for="enable_search">Search</label>
</div>
<div class="form-check d-none">
<input class="form-check-input" type="checkbox" value="" id="regex_mode" >
<label class="form-check-label" for="regex_mode">Regex</label>
</div>
</form>
<form class="d-flex" role="search">
<input id="search" class="form-control me-2" type="text" placeholder="press '/' to search"
aria-label="Search" >
<button id="searchBtn" class="btn btn-outline-secondary" type="button" data-bs-toggle="modal"
style="margin-left: 1em;" data-bs-target="#searchModal">Search</button>
<div class="form-check d-none">
<input class="form-check-input" type="checkbox" value="" id="enable_search" checked>
<label class="form-check-label" for="enable_search">Search</label>
</div>
<div class="form-check d-none">
<input class="form-check-input" type="checkbox" value="" id="regex_mode" >
<label class="form-check-label" for="regex_mode">Regex</label>
</div>
</form>
</div>
</div>
{{- end -}}
{{ partial "navcolormode.html" . }}
</nav>
<nav class="navbar navbar-expand-lg navbar-dark bg-dark px-3 py-1 d-flex flex-row mt-0">
<ol class="breadcrumb m-0 text-secondary">
{{- range .Ancestors.Reverse }}
<li class="breadcrumb-item"><a class="text-decoration-none text-secondary" href="{{ .RelPermalink }}">{{ .Title }}</a> >> </li>
<span class="" aria-hidden="true"> </span>
{{- end }}
<li class="breadcrumb-item active "><a class="text-decoration-none text-secondary" href="{{ .RelPermalink }}">{{ .Title }}</a></li>
</ol></div>
</nav>
{{- if eq .Site.Params.enablebreadcrump true -}}
<nav class="navbar navbar-expand-lg sticky-top px-3 py-1 d-flex flex-row mt-0">
<ol class="breadcrumb m-0 text-secondary">
{{- range .Ancestors.Reverse }}
<li class="breadcrumb-item"><a class="text-decoration-none text-secondary" href="{{ .RelPermalink }}">{{ .Title }}</a> >> </li>
<span class="" aria-hidden="true"> </span>
{{- end }}
<li class="breadcrumb-item active "><a class="text-decoration-none text-secondary" href="{{ .RelPermalink }}">{{ .Title }}</a></li>
</ol>
</nav>
{{- end -}}
{{- if eq .Site.Params.enablesearch true -}}
<!-- Modal -->
<div class="modal fade" id="searchModal" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1"
aria-labelledby="staticBackdropLabel" aria-hidden="true">
@ -76,4 +85,5 @@
</div>
</div>
</div>
</div>
</div>
{{- end -}}

View File

@ -0,0 +1,38 @@
{{- if eq $.Site.Params.darklighttogglemode true -}}
<div class="d-flex align-items-center gap-3" >
<div class="d-flex align-items-center dropdown color-modes" >
<button class="btn btn-link nav-link py-2 px-0 px-lg-2 dropdown-toggle d-flex align-items-center"
id="bd-theme"
type="button"
aria-expanded="false"
data-bs-toggle="dropdown"
data-bs-display="static">
<svg class="bi my-1 me-2 theme-icon-active" ><use href="#circle-half" ></use></svg>
<span class="d-lg-none ms-2" id="bd-theme-text"></span>
</button>
<ul class="dropdown-menu dropdown-menu-end" aria-labelledby="bd-theme-text" style="--bs-dropdown-min-width: 3rem;">
<li>
<button type="button" class="dropdown-item d-flex align-items-center" data-bs-theme-value="light">
<svg class="bi me-2 opacity-50"><use href="#sun-fill"></use></svg>
Light
<svg class="bi ms-auto d-none"><use href="#check2"></use></svg>
</button>
</li>
<li>
<button type="button" class="dropdown-item d-flex align-items-center" data-bs-theme-value="dark">
<svg class="bi me-2 opacity-50"><use href="#moon-stars-fill"></use></svg>
Dark
<svg class="bi ms-auto d-none"><use href="#check2"></use></svg>
</button>
</li>
<li>
<button type="button" class="dropdown-item d-flex align-items-center active" data-bs-theme-value="auto">
<svg class="bi me-2 opacity-50"><use href="#circle-half"></use></svg>
Auto
<svg class="bi ms-auto d-none"><use href="#check2"></use></svg>
</button>
</li>
</ul>
</div>
</div>
{{- end -}}

View File

@ -0,0 +1,40 @@
{{- if eq .Site.Params.enablecopycode true -}}
{{- $copyJs := "js/copycode.js" -}}
{{ if (findRE "<code" .Content 1) }}
{{ $jsCopy :=resources.Get "js/copycode.js" | minify }}
<script src="{{ $jsCopy.RelPermalink }}"></script>
{{ end }}
{{- end -}}
{{ if eq .Site.Params.enablesearch true }}
{{ $searchJs := resources.Get "js/search.js"
| minify
| resources.ExecuteAsTemplate "search.js" .
| fingerprint
}}
<script src="{{ $searchJs.RelPermalink }}"></script>
<script>
$(document).ready(function () {
// Show the Modal on load
$("#searchBtn").click(function () {
$("#searchModal").modal("show");
});
// Hide the Modal
$("#hideBtn").click(function () {
$("#searchModal").modal("hide");
});
// Show the Modal on pressing enter
$("#search").keypress(function (event) {
var keycode = (event.keyCode ? event.keyCode : event.which);
if (keycode == '13') {
$("#searchBtn").click();
event.preventDefault();
}
});
});
</script>
{{ end }}

20
layouts/partials/svg.html Normal file
View File

@ -0,0 +1,20 @@
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
<symbol id="bootstrap" viewBox="0 0 118 94">
<path fill="currentColor" fill-rule="evenodd" d="M24.509 0c-6.733 0-11.715 5.893-11.492 12.284.214 6.14-.064 14.092-2.066 20.577C8.943 39.365 5.547 43.485 0 44.014v5.972c5.547.529 8.943 4.649 10.951 11.153 2.002 6.485 2.28 14.437 2.066 20.577C12.794 88.106 17.776 94 24.51 94H93.5c6.733 0 11.714-5.893 11.491-12.284-.214-6.14.064-14.092 2.066-20.577 2.009-6.504 5.396-10.624 10.943-11.153v-5.972c-5.547-.529-8.934-4.649-10.943-11.153-2.002-6.484-2.28-14.437-2.066-20.577C105.214 5.894 100.233 0 93.5 0H24.508zM80 57.863C80 66.663 73.436 72 62.543 72H44a2 2 0 0 1-2-2V24a2 2 0 0 1 2-2h18.437c9.083 0 15.044 4.92 15.044 12.474 0 5.302-4.01 10.049-9.119 10.88v.277C75.317 46.394 80 51.21 80 57.863M60.521 28.34H49.948v14.934h8.905c6.884 0 10.68-2.772 10.68-7.727 0-4.643-3.264-7.207-9.012-7.207M49.948 49.2v16.458H60.91c7.167 0 10.964-2.876 10.964-8.281s-3.903-8.178-11.425-8.178H49.948z" clip-rule="evenodd"/>
</symbol>
<symbol id="check2" viewBox="0 0 16 16">
<path d="M13.854 3.646a.5.5 0 0 1 0 .708l-7 7a.5.5 0 0 1-.708 0l-3.5-3.5a.5.5 0 1 1 .708-.708L6.5 10.293l6.646-6.647a.5.5 0 0 1 .708 0z"/>
</symbol>
{{- if eq $.Site.Params.darklighttogglemode true -}}
<symbol id="circle-half" viewBox="0 0 16 16">
<path d="M8 15A7 7 0 1 0 8 1v14zm0 1A8 8 0 1 1 8 0a8 8 0 0 1 0 16z"/>
</symbol>
<symbol id="moon-stars-fill" viewBox="0 0 16 16">
<path d="M6 .278a.768.768 0 0 1 .08.858 7.208 7.208 0 0 0-.878 3.46c0 4.021 3.278 7.277 7.318 7.277.527 0 1.04-.055 1.533-.16a.787.787 0 0 1 .81.316.733.733 0 0 1-.031.893A8.349 8.349 0 0 1 8.344 16C3.734 16 0 12.286 0 7.71 0 4.266 2.114 1.312 5.124.06A.752.752 0 0 1 6 .278z"/>
<path d="M10.794 3.148a.217.217 0 0 1 .412 0l.387 1.162c.173.518.579.924 1.097 1.097l1.162.387a.217.217 0 0 1 0 .412l-1.162.387a1.734 1.734 0 0 0-1.097 1.097l-.387 1.162a.217.217 0 0 1-.412 0l-.387-1.162A1.734 1.734 0 0 0 9.31 6.593l-1.162-.387a.217.217 0 0 1 0-.412l1.162-.387a1.734 1.734 0 0 0 1.097-1.097l.387-1.162zM13.863.099a.145.145 0 0 1 .274 0l.258.774c.115.346.386.617.732.732l.774.258a.145.145 0 0 1 0 .274l-.774.258a1.156 1.156 0 0 0-.732.732l-.258.774a.145.145 0 0 1-.274 0l-.258-.774a1.156 1.156 0 0 0-.732-.732l-.774-.258a.145.145 0 0 1 0-.274l.774-.258c.346-.115.617-.386.732-.732L13.863.1z"/>
</symbol>
<symbol id="sun-fill" viewBox="0 0 16 16">
<path d="M8 12a4 4 0 1 0 0-8 4 4 0 0 0 0 8zM8 0a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 0zm0 13a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 13zm8-5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2a.5.5 0 0 1 .5.5zM3 8a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2A.5.5 0 0 1 3 8zm10.657-5.657a.5.5 0 0 1 0 .707l-1.414 1.415a.5.5 0 1 1-.707-.708l1.414-1.414a.5.5 0 0 1 .707 0zm-9.193 9.193a.5.5 0 0 1 0 .707L3.05 13.657a.5.5 0 0 1-.707-.707l1.414-1.414a.5.5 0 0 1 .707 0zm9.193 2.121a.5.5 0 0 1-.707 0l-1.414-1.414a.5.5 0 0 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .707zM4.464 4.465a.5.5 0 0 1-.707 0L2.343 3.05a.5.5 0 1 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .708z"/>
</symbol>
{{- end -}}
</svg>

After

Width:  |  Height:  |  Size: 3.1 KiB

View File

@ -1,21 +1,10 @@
{{- /*
For a given taxonomy, renders a list of terms assigned to the page.
{{- define "main" -}}
@context {page} page The current page.
@context {string} taxonomy The taxonomy.
<h1>{{ .Title }}</h1>
<div class="d-flex flex-wrap flex-row">
{{ range .Data.Terms.Alphabetical }}
<div class="w-25 m-1"><a href="{{ .Page.RelPermalink }}" class="text-decoration-none"><code>{{ .Page.Title }}</code></a> {{ .Count }}</div>
{{ end }}
</div>
@example: {{ partial "terms.html" (dict "taxonomy" "tags" "page" .) }}
*/}}
{{- $page := .page }}
{{- $taxonomy := .taxonomy }}
{{- with $page.GetTerms $taxonomy }}
{{- $label := (index . 0).Parent.LinkTitle }}
<div>
<div>{{ $label }}:</div>
{{- range . }}
<small><code><a href="{{ .RelPermalink }}" class="text-decoration-none">{{ .LinkTitle }}</a></code></small>
{{- end }}
</div>
{{- end }}
{{- end -}}

View File

@ -0,0 +1 @@
.highlight-wrapper{display:block}.highlight-wrapper .lntd pre{padding:0}.chroma .lntd pre{border:0 solid #ccc}.chroma .lntd:first-child{padding:7px 7px 7px 10px;margin:0}.chroma .lntd:last-child{padding:7px 10px 7px 7px;margin:0}.highlight{position:relative;z-index:0;padding:0;margin:40px 0 10px;border-radius:4px}.highlight>.chroma{position:static;z-index:1;border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:4px;border-bottom-right-radius:4px;padding:10px}.btn-copy{position:absolute;z-index:2;right:0;top:-29px;font-size:13px;font-weight:700;line-height:14px;letter-spacing:.5px;width:65px;color:#fff;background-color:#000;border:1.25px solid #232326;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0;white-space:nowrap;padding:6px 6px 7px;margin:0 0 0 1px;cursor:pointer;opacity:.6}.btn-copy:hover,.btn-copy:focus,.btn-copy:active,.btn-copy:active:hover{color:#222225;background-color:#b3b3b3;opacity:.8}.copyable-text-area{position:absolute;height:0;z-index:-1;opacity:.01}.chroma [data-lang]:before{position:absolute;z-index:0;top:-29px;left:0;content:attr(data-lang);font-size:13px;font-weight:700;color:#fff;background-color:#000;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-left-radius:0;border-bottom-right-radius:0;padding:6px 6px 7px;line-height:14px;opacity:.6;position:absolute;letter-spacing:.5px;border:1.25px solid #232326;margin:0 0 0 1px}

View File

@ -0,0 +1 @@
{"Target":"/css/copycodebtn.min.3bf2d3ca291f60770446f43d32fc60a4a54ed5625ea1b081a5f605941a858aa0.css","MediaType":"text/css","Data":{"Integrity":"sha256-O/LTyikfYHcERvQ9MvxgpKVO1WJeobCBpfYFlBqFiqA="}}

View File

@ -0,0 +1 @@
body{background-color:var(--background-color);color:var(--primary-color)}nav{background-color:var(--bs-dark-bg-subtle)}.bi{width:1em;height:1em;vertical-align:-.125em;fill:currentcolor}

View File

@ -0,0 +1 @@
{"Target":"/css/main.min.b28f42967967e83f25940a172785b693e69fb953bc90c1d85465e3b9c4e2a445.css","MediaType":"text/css","Data":{"Integrity":"sha256-so9Clnln6D8llAoXJ4W2k+afuVO8kMHYVGXjucTipEU="}}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
{"Target":"/css/variables.min.2447aadee203cb95ed5dd653ce6bc298672a0e3c4e6b9b873aa8b81e958e9076.css","MediaType":"text/css","Data":{"Integrity":"sha256-JEeq3uIDy5XtXdZTzmvCmGcqDjxOa5uHOqi4HpWOkHY="}}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

80
static/js/color-mode.js Normal file
View File

@ -0,0 +1,80 @@
/*!
* Color mode toggler for Bootstrap's docs (https://getbootstrap.com/)
* Copyright 2011-2023 The Bootstrap Authors
* Licensed under the Creative Commons Attribution 3.0 Unported License.
*/
(() => {
'use strict'
const getStoredTheme = () => localStorage.getItem('theme')
const setStoredTheme = theme => localStorage.setItem('theme', theme)
const getPreferredTheme = () => {
const storedTheme = getStoredTheme()
if (storedTheme) {
return storedTheme
}
return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light'
}
const setTheme = theme => {
if (theme === 'auto') {
document.documentElement.setAttribute('data-bs-theme', (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light'))
} else {
document.documentElement.setAttribute('data-bs-theme', theme)
}
}
setTheme(getPreferredTheme())
const showActiveTheme = (theme, focus = false) => {
const themeSwitcher = document.querySelector('#bd-theme')
if (!themeSwitcher) {
return
}
const themeSwitcherText = document.querySelector('#bd-theme-text')
const activeThemeIcon = document.querySelector('.theme-icon-active use')
const btnToActive = document.querySelector(`[data-bs-theme-value="${theme}"]`)
const svgOfActiveBtn = btnToActive.querySelector('svg use').getAttribute('href')
document.querySelectorAll('[data-bs-theme-value]').forEach(element => {
element.classList.remove('active')
element.setAttribute('aria-pressed', 'false')
})
btnToActive.classList.add('active')
btnToActive.setAttribute('aria-pressed', 'true')
activeThemeIcon.setAttribute('href', svgOfActiveBtn)
const themeSwitcherLabel = `${themeSwitcherText.textContent} (${btnToActive.dataset.bsThemeValue})`
themeSwitcher.setAttribute('aria-label', themeSwitcherLabel)
if (focus) {
themeSwitcher.focus()
}
}
window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', () => {
const storedTheme = getStoredTheme()
if (storedTheme !== 'light' && storedTheme !== 'dark') {
setTheme(getPreferredTheme())
}
})
window.addEventListener('DOMContentLoaded', () => {
showActiveTheme(getPreferredTheme())
document.querySelectorAll('[data-bs-theme-value]')
.forEach(toggle => {
toggle.addEventListener('click', () => {
const theme = toggle.getAttribute('data-bs-theme-value')
setStoredTheme(theme)
setTheme(theme)
showActiveTheme(theme, true)
})
})
})
})()