Rework Config

master
Stéphane HUC 2024-02-12 12:45:22 +01:00
parent 4670d26e0d
commit c0139d5490
Signed by: hucste
GPG Key ID: C4ED64222D9B037F
81 changed files with 1658 additions and 963 deletions

7
assets/css/grids-responsive-min.css vendored Normal file

File diff suppressed because one or more lines are too long

636
assets/css/gutenberg.css Normal file
View File

@ -0,0 +1,636 @@
/*!
* Gutenberg
*
* MIT Fabien Sa
* https://github.com/BafS/Gutenberg
*/
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
========================================================================== */
/**
* 1. Correct the line height in all browsers.
* 2. Prevent adjustments of font size after orientation changes in iOS.
*/
html {
line-height: 1.15; /* 1 */
-webkit-text-size-adjust: 100%; /* 2 */
}
/* Sections
========================================================================== */
/**
* Remove the margin in all browsers.
*/
body {
margin: 0;
}
/**
* Render the `main` element consistently in IE.
*/
main {
display: block;
}
/**
* Correct the font size and margin on `h1` elements within `section` and
* `article` contexts in Chrome, Firefox, and Safari.
*/
h1 {
font-size: 2em;
margin: 0.67em 0;
}
/* Grouping content
========================================================================== */
/**
* 1. Add the correct box sizing in Firefox.
* 2. Show the overflow in Edge and IE.
*/
hr {
box-sizing: content-box; /* 1 */
height: 0; /* 1 */
overflow: visible; /* 2 */
}
/**
* 1. Correct the inheritance and scaling of font size in all browsers.
* 2. Correct the odd `em` font sizing in all browsers.
*/
pre {
font-family: monospace, monospace; /* 1 */
font-size: 1em; /* 2 */
}
/* Text-level semantics
========================================================================== */
/**
* Remove the gray background on active links in IE 10.
*/
a {
background-color: transparent;
}
/**
* 1. Remove the bottom border in Chrome 57-
* 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
*/
abbr[title] {
border-bottom: none; /* 1 */
text-decoration: underline; /* 2 */
text-decoration: underline dotted; /* 2 */
}
/**
* Add the correct font weight in Chrome, Edge, and Safari.
*/
b,
strong {
font-weight: bolder;
}
/**
* 1. Correct the inheritance and scaling of font size in all browsers.
* 2. Correct the odd `em` font sizing in all browsers.
*/
code,
kbd,
samp {
font-family: monospace, monospace; /* 1 */
font-size: 1em; /* 2 */
}
/**
* Add the correct font size in all browsers.
*/
small {
font-size: 80%;
}
/**
* Prevent `sub` and `sup` elements from affecting the line height in
* all browsers.
*/
sub,
sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
sub {
bottom: -0.25em;
}
sup {
top: -0.5em;
}
/* Embedded content
========================================================================== */
/**
* Remove the border on images inside links in IE 10.
*/
img {
border-style: none;
}
/* Forms
========================================================================== */
/**
* 1. Change the font styles in all browsers.
* 2. Remove the margin in Firefox and Safari.
*/
button,
input,
optgroup,
select,
textarea {
font-family: inherit; /* 1 */
font-size: 100%; /* 1 */
line-height: 1.15; /* 1 */
margin: 0; /* 2 */
}
/**
* Show the overflow in IE.
* 1. Show the overflow in Edge.
*/
button,
input { /* 1 */
overflow: visible;
}
/**
* Remove the inheritance of text transform in Edge, Firefox, and IE.
* 1. Remove the inheritance of text transform in Firefox.
*/
button,
select { /* 1 */
text-transform: none;
}
/**
* Correct the inability to style clickable types in iOS and Safari.
*/
button,
[type=button],
[type=reset],
[type=submit] {
-webkit-appearance: button;
}
/**
* Remove the inner border and padding in Firefox.
*/
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
border-style: none;
padding: 0;
}
/**
* Restore the focus styles unset by the previous rule.
*/
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
outline: 1px dotted ButtonText;
}
/**
* Correct the padding in Firefox.
*/
fieldset {
padding: 0.35em 0.75em 0.625em;
}
/**
* 1. Correct the text wrapping in Edge and IE.
* 2. Correct the color inheritance from `fieldset` elements in IE.
* 3. Remove the padding so developers are not caught out when they zero out
* `fieldset` elements in all browsers.
*/
legend {
box-sizing: border-box; /* 1 */
color: inherit; /* 2 */
display: table; /* 1 */
max-width: 100%; /* 1 */
padding: 0; /* 3 */
white-space: normal; /* 1 */
}
/**
* Add the correct vertical alignment in Chrome, Firefox, and Opera.
*/
progress {
vertical-align: baseline;
}
/**
* Remove the default vertical scrollbar in IE 10+.
*/
textarea {
overflow: auto;
}
/**
* 1. Add the correct box sizing in IE 10.
* 2. Remove the padding in IE 10.
*/
[type=checkbox],
[type=radio] {
box-sizing: border-box; /* 1 */
padding: 0; /* 2 */
}
/**
* Correct the cursor style of increment and decrement buttons in Chrome.
*/
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
height: auto;
}
/**
* 1. Correct the odd appearance in Chrome and Safari.
* 2. Correct the outline style in Safari.
*/
[type=search] {
-webkit-appearance: textfield; /* 1 */
outline-offset: -2px; /* 2 */
}
/**
* Remove the inner padding in Chrome and Safari on macOS.
*/
[type=search]::-webkit-search-decoration {
-webkit-appearance: none;
}
/**
* 1. Correct the inability to style clickable types in iOS and Safari.
* 2. Change font properties to `inherit` in Safari.
*/
::-webkit-file-upload-button {
-webkit-appearance: button; /* 1 */
font: inherit; /* 2 */
}
/* Interactive
========================================================================== */
/*
* Add the correct display in Edge, IE 10+, and Firefox.
*/
details {
display: block;
}
/*
* Add the correct display in all browsers.
*/
summary {
display: list-item;
}
/* Misc
========================================================================== */
/**
* Add the correct display in IE 10+.
*/
template {
display: none;
}
/**
* Add the correct display in IE 10.
*/
[hidden] {
display: none;
}
* {
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
*,
*:before,
*:after,
p:first-letter,
div:first-letter,
blockquote:first-letter,
li:first-letter,
p:first-line,
div:first-line,
blockquote:first-line,
li:first-line {
background: transparent !important;
box-shadow: none !important;
text-shadow: none !important;
}
html {
font-size: 16px;
margin: 0;
padding: 0;
}
body {
-moz-osx-font-smoothing: grayscale;
-webkit-font-smoothing: antialiased;
background: #fff !important;
color: #000 !important;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 1rem;
line-height: 1.5;
margin: 0 auto;
text-rendering: optimizeLegibility;
}
p,
blockquote,
table,
ul,
ol,
dl {
margin-bottom: 1.5rem;
margin-top: 0;
}
p:last-child,
ul:last-child,
ol:last-child {
margin-bottom: 0;
}
h1,
h2,
h3,
h4,
h5,
h6 {
color: #000;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
line-height: 1.2;
margin-bottom: 0.75rem;
margin-top: 0;
}
h1 {
font-size: 2.5rem;
}
h2 {
font-size: 2rem;
}
h3 {
font-size: 1.75rem;
}
h4 {
font-size: 1.5rem;
}
h5 {
font-size: 1.25rem;
}
h6 {
font-size: 1rem;
}
a, a:visited {
color: #000;
text-decoration: underline;
word-wrap: break-word;
}
table {
border-collapse: collapse;
}
thead {
display: table-header-group;
}
table,
th,
td {
border-bottom: 1px solid #000;
}
td,
th {
padding: 8px 16px;
page-break-inside: avoid;
}
code,
pre,
kbd {
border: 1px solid #bbb;
font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
font-size: 85%;
}
code,
kbd {
padding: 3px;
}
pre {
margin-bottom: 1.5rem;
padding: 10px 12px;
}
pre code,
pre kbd {
border: 0;
}
::-webkit-input-placeholder {
color: transparent;
}
:-moz-placeholder {
color: transparent;
}
::-moz-placeholder {
color: transparent;
}
:-ms-input-placeholder {
color: transparent;
}
blockquote {
border: 0;
border-left: 5px solid #bbb;
margin-left: 1px;
padding: 12px 1.5rem;
}
[dir=rtl] blockquote {
border-left: 0;
border-right: 5px solid #bbb;
margin-left: 0;
margin-right: 1px;
}
blockquote:first-child {
margin-top: 0;
}
blockquote p:last-child,
blockquote ul:last-child,
blockquote ol:last-child {
margin-bottom: 0;
}
blockquote footer {
display: block;
font-size: 80%;
}
img {
border: 0;
display: block;
max-width: 100% !important;
vertical-align: middle;
}
hr {
border: 0;
border-bottom: 2px solid #bbb;
height: 0;
margin: 2.25rem 0;
padding: 0;
}
dt {
font-weight: bold;
}
dd {
margin: 0;
margin-bottom: 0.75rem;
}
abbr[title],
acronym[title] {
border: 0;
text-decoration: none;
}
table,
blockquote,
pre,
code,
figure,
li,
hr,
ul,
ol,
a,
tr {
page-break-inside: avoid;
}
h2,
h3,
h4,
p,
a {
orphans: 3;
widows: 3;
}
h1,
h2,
h3,
h4,
h5,
h6 {
page-break-after: avoid;
page-break-inside: avoid;
}
h1 + p,
h2 + p,
h3 + p {
page-break-before: avoid;
}
img {
page-break-after: auto;
page-break-before: auto;
page-break-inside: avoid;
}
pre {
white-space: pre-wrap !important;
word-wrap: break-word;
}
body {
padding-bottom: 2.54cm;
padding-left: 1.8cm;
padding-right: 1.8cm;
padding-top: 2.54cm;
}
a[href^=http]:after, a[href^=ftp]:after {
content: " (" attr(href) ")";
font-size: 80%;
}
a[href$=".jpg"]:after, a[href$=".jpeg"]:after, a[href$=".gif"]:after, a[href$=".png"]:after {
display: none;
}
abbr[title]:after,
acronym[title]:after {
content: " (" attr(title) ")";
}
.page-break,
.break-before,
.page-break-before {
page-break-before: always;
}
.break-after,
.page-break-after {
page-break-after: always;
}
.avoid-break-inside {
page-break-inside: avoid;
}
.no-print {
display: none;
}
a.no-reformat:after {
content: "";
}
abbr[title].no-reformat:after,
acronym[title].no-reformat:after {
content: "";
}
.no-reformat abbr:after,
.no-reformat acronym:after,
.no-reformat a:after {
content: "";
}
/*** perso ***/
.svg-32 { height: 32px; width: 32px; }
.svg-48 { height: 48px; width: 48px; }
.svg-64 { height: 64px; width: 64px; }
.svg-128 { height: 128px; width: 128px; }

View File

@ -426,6 +426,11 @@ section a, footer a {
text-decoration: none;
}
svg {
vertical-align: middle;
}
/*** ID Selectors ***/
#breadcrumb {
/* color: var(--white); */
@ -441,7 +446,7 @@ section a, footer a {
}
#breadcrumb li.breadcrumb-item::before {
font-family: 'FontAwesome';
content: "»";
content: " » ";
}
#breadcrumb a {
display: inline;
@ -515,6 +520,10 @@ section a, footer a {
color: var(--gray);
}
* */
#logo svg {
height: 64px;
width: 64px;
}
#marquee {
margin: 2em;
opacity: 50%;
@ -1117,7 +1126,12 @@ section a, footer a {
/*
.lang-selector:hover {
background-color: var(--black);
}*/
.m-r {
margin-right: .5rem;
}
/*
.orange {
color: var(--orange);
}
@ -1225,6 +1239,13 @@ section a, footer a {
color: var(--white);
}
*/
.svg-32 { height: 32px; width: 32px; }
.svg-48 { height: 48px; width: 48px; }
.svg-64 { height: 64px; width: 64px; }
.svg-128 { height: 128px; width: 128px; }
.tab-info, .info-tab {
display: inline-block;
margin-left: -32px;
@ -1241,6 +1262,16 @@ section a, footer a {
display: inline;
font-size: .9em;
}
.to-left {
display: flex;
float: left;
left: 0;
}
.to-right {
display: flex;
float: right;
right: 0;
}
/*** UI Autocomplete ***/
.ui-autocomplete {
/* background-color: var(--black-a75); */
@ -1420,6 +1451,9 @@ section a, footer a {
-webkit-text-fill-color: var(--white);
color: var(--white);
}
#footer-copyright svg {
background: var(--green-p);
}
#header-infos p, #txtMainSections {
-webkit-text-fill-color: var(--white-a5);
color: var(--white-a5);

7
assets/css/jquery-ui.min.css vendored Normal file

File diff suppressed because one or more lines are too long

View File

@ -37,7 +37,11 @@
list-style: none;
position: relative;
}
#main-menu ul.menu svg {
height: 24px;
vertical-align: middle;
width: 24px;
}
#main-menu ul li {
margin: 0px;
display: inline-block;
@ -195,7 +199,9 @@
{
background-color: var(--black-a75);
}
#main-menu ul.menu svg {
stroke: var(--white);
}
.toggle {
background-color: var(--black-a5);
color: var(--white);
@ -215,7 +221,9 @@
{
background-color: var(--yellow-a75);
}
#main-menu ul.menu svg {
stroke: var(--gray3);
}
.toggle {
background-color: var(--);
color: var(--white);

11
assets/css/pure-min.css vendored Normal file

File diff suppressed because one or more lines are too long

View File

@ -1,3 +1,5 @@
{{ $js := resources.Get "/js/vendor/clipboard-polyfill.promise.js" }}
function addCopyButtons(clipboard) {
document.querySelectorAll('pre > code').forEach(function (codeBlock) {
var button = document.createElement('button');
@ -35,8 +37,9 @@ if (navigator && navigator.clipboard) {
addCopyButtons(navigator.clipboard);
} else {
var script = document.createElement('script');
script.src = '/js/vendor/clipboard-polyfill.promise.js';
script.integrity = 'sha256-waClS2re9NUbXRsryKoof+F9qc1gjjIhc2eT7ZbIv94=';
script.src = "{{ $js.RelPermalink }}";
/*script.integrity = 'sha256-waClS2re9NUbXRsryKoof+F9qc1gjjIhc2eT7ZbIv94=';*/
script.integrity = "{{ $js.Data.Integrity }}";
script.crossOrigin = 'anonymous';
script.onload = function() {
addCopyButtons(clipboard);

2
assets/js/vendor/jquery-3.7.1.min.js vendored Normal file

File diff suppressed because one or more lines are too long

1
assets/js/vendor/jquery-3.7.1.min.map vendored Normal file

File diff suppressed because one or more lines are too long

6
assets/js/vendor/jquery-ui.min.js vendored Normal file

File diff suppressed because one or more lines are too long

View File

@ -1,88 +1,48 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="256mm"
height="256mm"
id="svg3108"
version="1.1"
inkscape:version="1.0.2 (e86c870879, 2021-01-15)"
sodipodi:docname="Logo_final.svg">
inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
sodipodi:docname="Logo_final.svg"
width="64"
height="64"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<sodipodi:namedview
id="namedview30"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
showgrid="false"
inkscape:zoom="3.0570583"
inkscape:cx="30.421402"
inkscape:cy="58.225909"
inkscape:window-width="1920"
inkscape:window-height="1031"
inkscape:window-x="0"
inkscape:window-y="25"
inkscape:window-maximized="1"
inkscape:current-layer="layer1" />
<title
id="title853">Logo Emblème Stéphane HUC</title>
<defs
id="defs3110" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="0.35"
inkscape:cx="375.00368"
inkscape:cy="405.71075"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="1920"
inkscape:window-height="990"
inkscape:window-x="0"
inkscape:window-y="33"
inkscape:window-maximized="1"
inkscape:document-rotation="0"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0" />
<metadata
id="metadata3113">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title>Logo Emblème Stéphane HUC</dc:title>
<cc:license
rdf:resource="http://artlibre.org/licence/lal" />
<dc:creator>
<cc:Agent>
<dc:title>Stéphane HUC</dc:title>
</cc:Agent>
</dc:creator>
<dc:rights>
<cc:Agent>
<dc:title>Stéphane HUC</dc:title>
</cc:Agent>
</dc:rights>
<dc:publisher>
<cc:Agent>
<dc:title>inkscape</dc:title>
</cc:Agent>
</dc:publisher>
<dc:description>Logo de Stéphane HUC, représentant un oiseau imaginaire, de couleur rouge, ayant des ailes en forme de pétales de roses. </dc:description>
</cc:Work>
<cc:License
rdf:about="http://artlibre.org/licence/lal">
<cc:permits
rdf:resource="http://creativecommons.org/ns#Reproduction" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#Distribution" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
<cc:requires
rdf:resource="http://creativecommons.org/ns#ShareAlike" />
<cc:requires
rdf:resource="http://creativecommons.org/ns#Notice" />
<cc:requires
rdf:resource="http://creativecommons.org/ns#Attribution" />
</cc:License>
</rdf:RDF>
</metadata>
<g
@ -91,7 +51,7 @@
id="layer1"
transform="translate(0.00367771,-0.00353708)">
<g
transform="matrix(0.36488743,0,0,0.35294901,-0.72469712,-0.06913815)"
transform="matrix(0.02413578,0,0,0.02334611,-0.05137015,-0.00127009)"
style="display:inline"
id="g4250"
inkscape:export-filename="/home/zou/Documents/Projets_sur_images/Stephane-huc.net/Logo_original.png"

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 25 KiB

View File

@ -1,19 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generator: Adobe Illustrator 10.0, SVG Export Plug-In . SVG Version: 3.0.0 Build 77) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd" [
<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
<!ENTITY ns_extend "http://ns.adobe.com/Extensibility/1.0/">
<!ENTITY ns_ai "http://ns.adobe.com/AdobeIllustrator/10.0/">
<!ENTITY ns_graphs "http://ns.adobe.com/Graphs/1.0/">
<!ENTITY ns_vars "http://ns.adobe.com/Variables/1.0/">
<!ENTITY ns_imrep "http://ns.adobe.com/ImageReplacement/1.0/">
<!ENTITY ns_sfw "http://ns.adobe.com/SaveForWeb/1.0/">
<!ENTITY ns_custom "http://ns.adobe.com/GenericCustomNamespace/1.0/">
<!ENTITY ns_adobe_xpath "http://ns.adobe.com/XPath/1.0/">
<!ENTITY ns_svg "http://www.w3.org/2000/svg">
<!ENTITY ns_xlink "http://www.w3.org/1999/xlink">
]>
<svg xmlns:x="http://ns.adobe.com/Extensibility/1.0/" xmlns:i="http://ns.adobe.com/AdobeIllustrator/10.0/" xmlns:graph="http://ns.adobe.com/Graphs/1.0/" i:viewOrigin="262 450" i:rulerOrigin="0 0" i:pageBounds="0 792 612 0" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/" width="87.041" height="108.445" viewBox="0 0 87.041 108.445" overflow="visible" enable-background="new 0 0 87.041 108.445" xml:space="preserve">
<svg xmlns:x="http://ns.adobe.com/Extensibility/1.0/" xmlns:i="http://ns.adobe.com/AdobeIllustrator/10.0/" xmlns:graph="http://ns.adobe.com/Graphs/1.0/" i:viewOrigin="262 450" i:rulerOrigin="0 0" i:pageBounds="0 792 612 0" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/" viewBox="0 0 87.041 108.445" overflow="visible" enable-background="new 0 0 87.041 108.445" xml:space="preserve">
<metadata>
<variableSets xmlns="http://ns.adobe.com/Variables/1.0/">
<variableSet varSetName="binding1" locked="none">
@ -42,4 +28,4 @@
<path i:knockout="Off" fill="#A80030" d="M0,35.215c0.563-1.728,0.665-2.766,0.88-3.766C-0.676,33.438,0.164,33.862,0,35.215"/>
</g>
</g>
</svg>
</svg>

Before

Width:  |  Height:  |  Size: 6.8 KiB

After

Width:  |  Height:  |  Size: 5.9 KiB

View File

@ -9,8 +9,6 @@
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="55.933903mm"
height="54.000595mm"
viewBox="0 0 198.191 191.34069"
id="svg3668"
version="1.1"

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 10 KiB

View File

@ -1,6 +1,5 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
@ -10,8 +9,6 @@
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="211.08221mm"
height="181.68459mm"
viewBox="0 0 211.08221 181.68459"
version="1.1"
id="svg8"

Before

Width:  |  Height:  |  Size: 96 KiB

After

Width:  |  Height:  |  Size: 96 KiB

View File

@ -7,8 +7,6 @@
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="209.26044mm"
height="250.90967mm"
viewBox="0 0 209.26044 250.90967"
version="1.1"
id="svg472"

Before

Width:  |  Height:  |  Size: 4.4 KiB

After

Width:  |  Height:  |  Size: 4.3 KiB

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg height="383.5975" id="svg3430" version="1.1" viewBox="0 0 711.20123 383.5975" width="711.20123" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg">
<svg id="svg3430" version="1.1" viewBox="0 0 711.20123 383.5975" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg">
<title id="title3510">Official PHP Logo</title>
<metadata id="metadata3436">
<rdf:RDF>
@ -93,4 +93,4 @@
</g>
</g>
</g>
<script xmlns=""/></svg>
<script xmlns=""/></svg>

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 10 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 22 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 22 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 22 KiB

View File

@ -1,5 +1,5 @@
baseURL: http://doc.huc.fr.eu.org/
copyright"Cette page est sous Licence Creative Commons Zero : (http://creativecommons.org/publicdomain/zero/1.0/deed.fr) équivalent au domaine public !"
copyright: "Cette page est sous Licence Creative Commons Zero : (http://creativecommons.org/publicdomain/zero/1.0/deed.fr) équivalent au domaine public !"
defaultContentLanguage: fr
defaultContentLanguageInSubdir: true
#enableDiscussions: true

View File

@ -8,141 +8,159 @@ menus:
main:
- identifier: home
#name: Home
pre: fa fa-home
pre: internal
url: /
weight: 10001
- identifier: blog
- identifier: news
name: Blog
pre: fa fa-plume
pre: internal
url: /post
weight: 10002
#- identifier: ah
#name: Auto-Hébergement
#pre: fa fa-plume
#pre: internal
#url: /ah
#weight: 10003
#- identifier: sec
#weight: 10003
#- identifier: security
#name: Security
#pre: fa fa-lock
#pre: internal
#url: /sec
#weight: 10004
#- identifier: firewall
#name: Firewall
#parent: sec
#pre:
#parent: security
#pre: internal
#url: /sec/firewall
#weight: 10041
#- identifier: gpg
#name: GPG
#parent: sec
#pre:
#parent: security
#pre: internal
#url: /sec/GPG
#weight: 10042
#- identifier: ssh
#name: SSH
#parent: sec
#pre:
#parent: security
#pre: internal
#url: /sec/SSH
#weight: 10043
#- identifier: secsys
#name: Secure System
#parent: sec
#pre:
#parent: security
#pre: internal
#url: /sec/sys
#weight: 10044
- identifier: sys
- identifier: system
name: System
pre: fa fa-microchip
pre: internal
url: /sys
weight: 10005
#- identifier: android
#name: Android
#parent: sys
#pre: <img alt="Logo Android" src="/svg/android.svg" width="24">
#parent: system
#pre: internal
#url: /sys/android
#weight: 10051
#- identifier: debian
#name: Debian
#parent: sys
#pre: <img alt="Logo Debian" src="/svg/debian.svg" width="24">
#parent: system
#pre: internal
#url: /sys/Debian
#weight: 10052
- identifier: devuan
name: Devuan
parent: sys
#pre: <img alt="Logo Devuan" src="/svg/Devuan-Logo.svg" width="24">
parent: system
#pre: internal
url: /sys/Devuan
weight: 10053
- identifier: openbsd
name: OpenBSD
parent: sys
#pre: <img alt="Logo OpenBSD" src="/svg/openbsd.svg" width="24">
parent: system
#pre: internal
url: /sys/OpenBSD
weight: 10054
- identifier: openwrt
name: OpenWRT
parent: sys
#pre: <img alt="Logo OpenWRT" src="/svg/openwrt.svg" width="24">
parent: system
#pre: internal
url: /sys/OpenWRT
weight: 10055
- identifier: web
- identifier: www
name: Web
pre: fa fa-cloud
pre: internal
url: /web
weight: 10006
#- identifier: http
#name: HTTP
#parent: web
#pre:
#parent: www
#pre: internal
#url: /web/http
#weight: 10061
- identifier: httpd
name: httpd
parent: web
pre:
parent: www
pre: internal
url: /web/httpd
weight: 10062
- identifier: hugo
name: Hugo
parent: web
pre:
parent: www
pre: internal
url: /web/hugo
weight: 10063
- identifier: nextcloud
name: nextcloud
parent: web
pre:
parent: www
pre: internal
url: /web/nextcloud
weight: 10064
#- identifier: nginx
#name: nginx
#parent: web
#pre:
#parent: www
#pre: internal
#url: /web/nginx
#weight: 10065
#- identifier: webphp
#name: PHP
#parent: web
#pre:
#parent: www
#pre: internal
#url: /web/PHP
#weight: 10066
#- identifier: sql
#name: SQL
#parent: web
#pre:
#parent: www
#pre: internal
#url: /web/sql
#weight: 10067
#- identifier: ssl
#name: SSL
#parent: web
#pre:
#parent: www
#pre: internal
#url: /web/SSL
#weight: 10068
#- identifier: monitor
#name: Monitoring
#pre: internal
#url: /monitor/
#weight: 10007
#- identifier: translation
#name: Trad°
#pre: internal
#url: /trad/
#weight: 10008
- identifier: tags
name: Tags
pre: fa fa-tags
pre: internal
url: tags
weight: 10007
weight: 10009
params:
copyright: "This page is licensed under a Creative Commons Zero License: (http://creativecommons.org/publicdomain/zero/1.0/deed.en), as-is: public domain!"

View File

@ -8,13 +8,13 @@ menus:
main:
- identifier: home
#name: Accueil
pre: fa fa-home
pre: internal
url: /
weight: 1001
- identifier: blog
- identifier: news
name: Blog
pre: fa fa-plume
pre: internal
url: /post
weight: 1002
@ -24,153 +24,153 @@ menus:
#url: /ah
#weight: 10003
- identifier: sec
- identifier: security
name: Sécurité
pre: fa fa-lock
pre: internal
url: /sec
weight: 1004
- identifier: firewall
name: Parefeu
parent: sec
pre:
parent: security
pre: internal
url: /sec/firewall
weight: 10041
- identifier: gpg
name: GPG
parent: sec
pre:
parent: security
pre: internal
url: /sec/GPG
weight: 10042
- identifier: linux
name: Linux
parent: sec
#pre:
parent: security
pre: internal
url: /sec/Linux
weight: 10043
- identifier: ssh
name: SSH
parent: sec
pre:
parent: security
pre: internal
url: /sec/SSH
weight: 10044
- identifier: scan
name: Audit
parent: sec
pre:
parent: security
pre: internal
url: /sec/scan
weight: 10045
- identifier: sys
- identifier: system
name: Système
pre: fa fa-microchip
pre: internal
url: /sys
weight: 10005
- identifier: android
name: Android
parent: sys
#pre: <img alt="Logo Android" src="/svg/android.svg" width="24">
parent: system
pre: internal
url: /sys/android
weight: 10051
- identifier: debian
name: Debian
parent: sys
#pre: <img alt="Logo Debian" src="/svg/debian.svg" width="24">
parent: system
pre: internal
url: /sys/Debian
weight: 10052
- identifier: devuan
name: Devuan
parent: sys
#pre: <img alt="Logo Devuan" src="/svg/Devuan-Logo.svg" width="24">
parent: system
pre: internal
url: /sys/Devuan
weight: 10053
- identifier: openbsd
name: OpenBSD
parent: sys
#pre: <img alt="Logo OpenBSD" src="/svg/openbsd.svg" width="24">
parent: system
pre: internal
url: /sys/OpenBSD
weight: 10054
- identifier: openwrt
name: OpenWRT
parent: sys
#pre: <img alt="Logo OpenWRT" src="/svg/openwrt.svg" width="24">
parent: system
pre: internal
url: /sys/OpenWRT
weight: 10055
- identifier: soft4sys
name: Logiciels
parent: sys
#pre:
parent: system
pre: internal
url: /sys/software
weight: 10056
- identifier: web
- identifier: www
name: Web
pre: fa fa-cloud
pre: internal
url: /web
weight: 10006
- identifier: http
name: HTTP
parent: web
pre:
parent: www
pre: internal
url: /web/http
weight: 10061
- identifier: httpd
name: httpd
parent: web
pre:
parent: www
pre: internal
url: /web/httpd
weight: 10062
- identifier: hugo
name: Hugo
parent: web
pre:
parent: www
pre: internal
url: /web/hugo
weight: 10063
- identifier: nextcloud
name: nextcloud
parent: web
pre:
parent: www
pre: internal
url: /web/nextcloud
weight: 10064
- identifier: nginx
name: nginx
parent: web
pre:
parent: www
pre: internal
url: /web/nginx
weight: 10065
- identifier: webphp
name: PHP
parent: web
pre:
parent: www
pre: internal
url: /web/PHP
weight: 10066
- identifier: sql
name: SQL
parent: web
pre:
parent: www
pre: internal
url: /web/sql
weight: 10067
- identifier: ssl
name: SSL
parent: web
pre:
parent: www
pre: internal
url: /web/SSL
weight: 10068
- identifier: monitor
name: Monitoring
pre:
pre: internal
url: /monitor/
weight: 10007
- identifier: trad
- identifier: translation
name: Trad°
pre:
pre: internal
url: /trad/
weight: 10008
- identifier: tags
name: Tags
pre: fa fa-tags
pre: internal
url: tags
weight: 10009

View File

@ -28,25 +28,25 @@ message…
* https://ko-fi.com/hucste
{{< svg a="One Ko-fi for Stéphane HUC" s="qrcode/ko-fi.svg" w="128" >}}
{{< figure-svg title="One Ko-fi for Stéphane HUC" src="qrcode/ko-fi.svg" width="128" >}}
### Liberapay
* https://fr.liberapay.com/HucSte/donate
{{< svg a="Donate for Stéphane HUC by Liberapay" s="qrcode/liberapay.svg" w="128" >}}
{{< figure-svg title="Donate for Stéphane HUC by Liberapay" src="qrcode/liberapay.svg" width="128" >}}
### Paypal
* https://paypal.me/hucste
{{< svg a="Donate for Stéphane HUC by Paypal" s="qrcode/paypal.svg" w="128" >}}
{{< figure-svg title="Donate for Stéphane HUC by Paypal" src="qrcode/paypal.svg" width="128" >}}
### Tip*eee*
* https://fr.tipeee.com/hucste
{{< svg a="Reward Stéphane HUC" s="qrcode/tipee.svg" w="128" >}}
{{< figure-svg title="Reward Stéphane HUC" src="qrcode/tipee.svg" width="128" >}}
## Who

View File

@ -27,25 +27,25 @@ affiché ici, avec votre accord, à la date du don.
* https://ko-fi.com/hucste
{{< svg a="Et, un Ko-fi pour Stéphane HUC" s="qrcode/ko-fi.svg" w="128" >}}
{{< figure-svg title="Et, un Ko-fi pour Stéphane HUC" src="qrcode/ko-fi.svg" width="128" >}}
### Liberapay
* https://fr.liberapay.com/HucSte/donate
{{< svg a="Un don Liberapay pour Stéphane HUC" s="qrcode/liberapay.svg" w="128" >}}
{{< figure-svg title="Un don Liberapay pour Stéphane HUC" src="qrcode/liberapay.svg" width="128" >}}
### Paypal
* https://paypal.me/hucste
{{< svg a="Un don Paypal pour Stéphane HUC" s="qrcode/paypal.svg" w="128" >}}
{{< figure-svg title="Un don Paypal pour Stéphane HUC" src="qrcode/paypal.svg" width="128" >}}
### Tip*eee*
* https://fr.tipeee.com/hucste
{{< svg a="Un soutien tipeee pour Stéphane HUC" s="qrcode/tipee.svg" w="128" >}}
{{< figure-svg title="Un soutien tipeee pour Stéphane HUC" src="qrcode/tipee.svg" width="128" >}}
## Qui

View File

@ -68,24 +68,24 @@ Section "Extensions"
EndSection
```
{{<note warning>}}
{{% note warning %}}
**ATTENTION** : Si l'ensemble peut paraître plus fluide, il faut bien
comprendre que cela désactive la gestion des ombrages de fenêtres,
entres autres…
De même, il est possible que votre interface graphique vous semble moins
"léché".
{{</note>}}
{{%/note%}}
### Exemples de configuration
{{<note warning>}}
{{% note warning %}}
**ATTENTION** : Du fait, de l'activation de l'option "HotPlug", dans la
section "Device", il n'est pas nécessaire de configurer certaines entrées,
telles que celles pour le clavier, la souris, le touchpad, etc…
ces entrées seront détectées et configurées automatiquement !
{{</note>}}
{{%/note%}}
#### minimum pour le tearfree
@ -100,10 +100,11 @@ EndSection
#### fichier de config fonctionnel
{{< note warning >}}
{{% note warning %}}
L'exemple de fichier ci-dessous est configuré pour une haute résolution
"1920x1080"
- ASSUREZ-vous que votre écran et votre GPU soit capable de gérer
- ASSUREZ-vous que votre écran et votre GPU soit capable de gérer
celle-ci ; sinon, modifiez-le en conséquence !!!
**Si votre écran ou votre GPU n'est pas capable de gérer cette résolution,
@ -111,7 +112,7 @@ L'exemple de fichier ci-dessous est configuré pour une haute résolution
configuration peut endommager irrémédiablement votre matériel !**
Préférez commencer avec l'exemple de base ci-dessus !
{{</note>}}
{{%/note%}}
```cfg
Section "Device"
@ -160,8 +161,8 @@ EndSection
## Documentation
* le [[http://man.openbsd.org/intel.4|manpage intel]](4)…
* le [[http://man.openbsd.org/inteldrm.4|manpage inteldrm]](4)
* le [[http://man.openbsd.org/intel.4|manpage intel(4)]]
* le [[http://man.openbsd.org/inteldrm.4|manpage inteldrm(4)]]
---

View File

@ -54,7 +54,7 @@ def plural(noun):
return noun + 's'
```
(1) C'est une expression régulière, mais elle utilise une syntaxe que vous n'avez pas vu dans le chapitre [*Expressions Régulières*](). Les crochets signifient "correspond exactement à un de ces caractères". Donc `[sxz]` signifie " `s`, ou `x`, ou `z` ", mais seulement à un d'entre eux. Le `$` devrait être familier ; il correspond à la fin de chaîne. Combinés, cette expression régulière vérifie si `noun` se termine avec `s`, `x` ou `z`.
(1) C'est une expression régulière, mais elle utilise une syntaxe que vous n'avez pas vu dans le chapitre [*Expressions Régulières*](#). Les crochets signifient "correspond exactement à un de ces caractères". Donc `[sxz]` signifie " `s`, ou `x`, ou `z` ", mais seulement à un d'entre eux. Le `$` devrait être familier ; il correspond à la fin de chaîne. Combinés, cette expression régulière vérifie si `noun` se termine avec `s`, `x` ou `z`.
(2) Cette fonction `re.sub()` exécute une substitution de chaînes par expression régulière.
@ -187,7 +187,7 @@ def plural(noun):
(4) Puisque les règles ont été placées dans une structure de données séparée, la nouvelle fonction `plural()` peut être réduite à quelques lignes de code. En utilisant une boucle `for`, vous pouvez extraire les règles de correspondance et les règles d'application deux à la fois (une de correspondance et une d'application) de la structure `rules`. À la première itération de la boucle `for`, `matches_rule` recevra `match_sxz`, et `apply_rule` recevra `apply_sxz`. À la seconde itération (en présumant que vous arrivez jusque là), `matches_rules` sera assignée à `match_h`, et `apply_rule` sera assignée à `apply_h`. La fonction est garantie de retourner quelque chose éventuellement, parce que la dernière règle (`match_default`) retourne simplement `True`, cela signifie que la règle d'application correspondante (`apply_default`) sera toujours appliquée.
La raison pour laquelle cette technique fonctionne est que [tout en Python est un objet](), y compris les fonctions. La structure de données `rules` contient des fonctions — pas des noms de fonctions, mais de vrais objets fonction. Quand ils sont assignés dans la boucle `for`, alors `matches_rule` et `apply_rule` sont de vraies fonctions que vous pouvez appeler. À la première itération de la boucle `for`, c'est équivalent à appeler `matches_sxz(noun)`, et si elle retourne une correspondance, à appeler `apply_sxz(noun)`.
La raison pour laquelle cette technique fonctionne est que [tout en Python est un objet](#), y compris les fonctions. La structure de données `rules` contient des fonctions — pas des noms de fonctions, mais de vrais objets fonction. Quand ils sont assignés dans la boucle `for`, alors `matches_rule` et `apply_rule` sont de vraies fonctions que vous pouvez appeler. À la première itération de la boucle `for`, c'est équivalent à appeler `matches_sxz(noun)`, et si elle retourne une correspondance, à appeler `apply_sxz(noun)`.
Si cet additionnel niveau d'abstraction prête à confusion, essayez de dérouler la fonction pour voir léquivalence. La boucle `for` complète est équivalente à :
@ -304,9 +304,9 @@ with open('plural4-rules.txt', encoding='utf-8') as pattern_file: ### (2)
(1) La fonction `build_match_and_apply_functions()` n'a pas changé. Vous utilisez toujours des closures pour construire deux fonctions dynamiquement qui utilisent les variables définies dans la fonction externe.
(2) La fonction globale `open()` ouvre un fichier et retourne un objet fichier. Dans ce cas, le fichier que nous ouvrons contient les motifs de chaînes pour mettre au pluriel des noms. L'instruction `with` crée ce qui est appelé un *contexte* : quand le bloc `with` se termine, Python va automatiquement fermer le fichier, même si une exception se produit à lintérieur du bloc `with`. Vous en apprendrez plus à-propos des blocs `with` et des objets fichier dans le chapitre [Fichiers]().
(2) La fonction globale `open()` ouvre un fichier et retourne un objet fichier. Dans ce cas, le fichier que nous ouvrons contient les motifs de chaînes pour mettre au pluriel des noms. L'instruction `with` crée ce qui est appelé un *contexte* : quand le bloc `with` se termine, Python va automatiquement fermer le fichier, même si une exception se produit à lintérieur du bloc `with`. Vous en apprendrez plus à-propos des blocs `with` et des objets fichier dans le chapitre [Fichiers](#).
(3) L'idiome `for line in <fileobject>` lit les données depuis le fichier ouvert, une ligne à la fois, et assigne le texte à la variable `line`. Vous en apprendrez plus à-propos de la lecture de fichier dans le chapitre [Fichiers]().
(3) L'idiome `for line in <fileobject>` lit les données depuis le fichier ouvert, une ligne à la fois, et assigne le texte à la variable `line`. Vous en apprendrez plus à-propos de la lecture de fichier dans le chapitre [Fichiers](#).
(4) Chaque ligne du fichier a en fait trois valeurs, mais elles sont séparées par des espaces blancs (tabulation ou espace, cela n'a pas d'importance). Pour les séparer, utilisez la méthode de chaîne `split()`. Le premier argument de la méthode `split()` est `None`, ce qui signifie "découpe à chaque espace blanc (tabulation ou espace, cela n'a pas d'importance)." Le second argument est `3`, ce qui signifie "découpe sur les espaces blancs 3 fois, puis laisse en létat le reste de la ligne." Une ligne comme `[sxz]$ $ es` sera découpée en liste `['[sxz]$', '$', 'es']`, ce qui signifie que `pattern` aura '`[sxz]$`', `search` aura '`$`', et `replace` aura '`es`'. C'est beaucoup de puissance dans une seule petite ligne de code.

81
data/SVG.yaml Normal file
View File

@ -0,0 +1,81 @@
# Please do NOT edit this file!
#
# This file stores all SVG images used by MemE.
#
# If you want to customize or add an icon, please create
# a new `SVG.toml` file in your site `data` directory.
#
# Note that you really dont need to copy the entire file
# for customization. In Hugo, data files can be
# overwritten by *key*!
#
# Also, please be sure to add `class` attribute into the SVG.
# The value, `brand` for brand; `icon` for icons, i.e.
# `<svg ... class="brand">`
# `<svg ... class="icon">`
# Brand
# Designed with Inkscape
# Font family: Linux Biolinum
brand: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 66.146 26.458" class="brand"><path d="M58.216 17.03v-2.505c1.084 0 3.793.067 5.351.225l.068-.067c-.045-.204-.068-.655-.068-.858 0-.204.023-.633.068-.836l-.068-.067c-1.332.112-2.687.225-5.35.225V11.5c0-.384.022-2.438.18-2.98 3.025 0 6.457.27 6.457.27l.045-.09c-.022-.18-.045-.722-.045-.925 0-.18 0-.474.045-.79l-.045-.068c-.361.045-.88.068-1.355.068h-6.863c-.768 0-1.897-.068-1.897-.068l-.045.068c.18 1.287.271 2.822.271 4.515v5.532c0 1.693-.09 3.296-.27 4.515l.022.068s1.129-.068 1.919-.068h7.09c.473 0 .993.023 1.354.068l.045-.068c-.045-.293-.045-.587-.045-.813 0-.225.022-1.06.045-1.241l-.045-.09s-3.658.496-6.683.496c-.158-.542-.18-2.483-.18-2.867zm-20.694-3.363l-.113-.068c0-.497-.022-1.445-.045-1.648-.045-.136-.068-.226-.203-.226-.655.113-2.123.113-2.913.068l-.045.067c.158.971.248 2.71.248 4.38v1.242c0 1.694-.09 2.845-.27 4.064l.022.068s.948-.068 1.739-.068c.767 0 1.67.068 1.67.068l.045-.068c-.18-1.287-.225-2.348-.225-4.064v-2.28c.948-1.152 1.76-1.829 2.393-1.829.858 0 1.332.316 1.332 1.829v2.28c0 1.694-.09 2.845-.27 4.064l.022.068s1.016-.068 1.806-.068c.767 0 1.648.068 1.648.068l.045-.068c-.18-1.287-.27-2.348-.27-4.064v-1.987c0-.316 0-.406-.023-.677 1.083-1.197 1.58-1.445 2.46-1.445.723 0 1.242.497 1.242 2.01v2.1c0 1.693-.09 2.844-.27 4.063l.022.068s1.016-.068 1.806-.068c.768 0 1.648.068 1.648.068l.046-.068c-.181-1.287-.271-2.348-.271-4.064v-2.258c0-2.257-.79-3.59-3.229-3.59-1.129 0-2.303.452-3.59 1.807-.451-1.129-1.084-1.806-3.093-1.806-1.106 0-2.506.925-3.364 2.032zm-12.436 2.122c.068-1.106.339-1.874.677-2.348a1.645 1.645 0 0 1 1.377-.677c.904 0 1.468 1.06 1.468 3.025zm6.209 3.341c-1.061.858-2.145.926-3.093.926-1.107 0-1.92-.293-2.461-.88-.497-.542-.745-1.332-.745-2.371h2.235c2.258 0 4.2.045 4.2.045l.135-.135c0-2.823-.79-5.08-4.268-5.08-1.241 0-2.596.406-3.5 1.129-1.083.903-1.828 2.28-1.828 4.131 0 1.332.474 2.755 1.423 3.703.767.813 2.1 1.174 3.793 1.174 1.625 0 3.228-.52 4.47-1.942 0-.293-.135-.7-.361-.7zM4 6.803c-.835 4.832-2.032 10.499-2.98 14.811.248-.068.767-.068 1.038-.068.249 0 1.016 0 1.265.068.067-2.37.632-7.157 1.241-10.68l.068.023a153.476 153.476 0 0 1 4.29 10.59h1.445c1.648-3.749 3.454-7.135 5.373-10.612h.068c.43 3.567.723 6.931 1.039 10.679.338-.068 1.422-.068 1.76-.068.34 0 1.31 0 1.649.068-.7-4.9-1.197-9.257-1.784-14.811h-2.009L10.82 17.302h-.09c-1.784-3.568-3.094-6.864-4.426-10.499z"/></svg>'
# Icons
# tabler
# https://tablericons.com/
# Simple Icons
# https://simpleicons.org/
archive: '<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-archive" width="44" height="44" viewBox="0 0 24 24" stroke-width="1.5" stroke="#2c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round" version="1.1" id="svg10"><path stroke="none" d="M0 0h24v24H0z" fill="none" id="path2"/><rect x="3" y="4" width="18" height="4" rx="2" id="rect4"/><path d="M5 8v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8" id="path6"/><line x1="10" y1="12" x2="14" y2="12" id="line8"/></svg>'
blockquote: '<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-blockquote" width="44" height="44" viewBox="0 0 24 24" stroke-width="1.5" stroke="#2c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M6 15h15" /><path d="M21 19h-15" /><path d="M15 11h6" /><path d="M21 7h-6" /><path d="M9 9h1a1 1 0 1 1 -1 1v-2.5a2 2 0 0 1 2 -2" /><path d="M3 9h1a1 1 0 1 1 -1 1v-2.5a2 2 0 0 1 2 -2" /></svg>'
book: '<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-book" width="44" height="44" viewBox="0 0 24 24" stroke-width="1.5" stroke="#2c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M3 19a9 9 0 0 1 9 0a9 9 0 0 1 9 0" /><path d="M3 6a9 9 0 0 1 9 0a9 9 0 0 1 9 0" /><line x1="3" y1="6" x2="3" y2="19" /><line x1="12" y1="6" x2="12" y2="19" /><line x1="21" y1="6" x2="21" y2="19" /></svg>'
bookmarks: '<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-bookmarks" width="44" height="44" viewBox="0 0 24 24" stroke-width="1.5" stroke="#2c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M13 7a2 2 0 0 1 2 2v12l-5 -3l-5 3v-12a2 2 0 0 1 2 -2h6z" /><path d="M9.265 4a2 2 0 0 1 1.735 -1h6a2 2 0 0 1 2 2v12l-1 -.6" /></svg>'
calendar: '<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-calendar" width="44" height="44" viewBox="0 0 24 24" stroke-width="1.5" stroke="#2c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><rect x="4" y="5" width="16" height="16" rx="2" /><line x1="16" y1="3" x2="16" y2="7" /><line x1="8" y1="3" x2="8" y2="7" /><line x1="4" y1="11" x2="20" y2="11" /><line x1="11" y1="15" x2="12" y2="15" /><line x1="12" y1="15" x2="12" y2="18" /></svg>'
calendar-off: '<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-calendar-off" width="44" height="44" viewBox="0 0 24 24" stroke-width="1.5" stroke="#2c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M19.823 19.824a2 2 0 0 1 -1.823 1.176h-12a2 2 0 0 1 -2 -2v-12a2 2 0 0 1 1.175 -1.823m3.825 -.177h9a2 2 0 0 1 2 2v9" /><line x1="16" y1="3" x2="16" y2="7" /><line x1="8" y1="3" x2="8" y2="4" /><path d="M4 11h7m4 0h5" /><line x1="11" y1="15" x2="12" y2="15" /><line x1="12" y1="15" x2="12" y2="18" /><line x1="3" y1="3" x2="21" y2="21" /></svg>'
calendar-time: '<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-calendar-time" width="44" height="44" viewBox="0 0 24 24" stroke-width="1.5" stroke="#2c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M11.795 21h-6.795a2 2 0 0 1 -2 -2v-12a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v4" /><circle cx="18" cy="18" r="4" /><path d="M15 3v4" /><path d="M7 3v4" /><path d="M3 11h16" /><path d="M18 16.496v1.504l1 1" /></svg>'
calendar-week: '<svg class="icon icon-tabler icon-tabler-calendar-week" width="44" height="44" viewBox="0 0 24 24" stroke-width="1.5" stroke="#000000" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none" id="path2" /><path d="M4 7a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v12a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2v-12z" id="path4" /><path d="M16 3v4" id="path6" /><path d="M8 3v4" id="path8" /><path d="M4 11h16" id="path10" /><path d="M 7,13.59404 H 7.013" id="path12" /><path d="m 10.01,13.59404 h 0.005" id="path14" /><path d="m 13.01,13.59404 h 0.005" id="path16" /><path d="M 16.015,13.59404 H 16.02" id="path18" style="fill:#333333;fill-opacity:1" /><path d="M 13.015,16.022727 H 13.02" id="path20" /><path d="M 7.01,16.022727 H 7.015" id="path22" /><path d="m 10.01,16.022727 h 0.005" id="path24" /><path style="opacity:0.998321;fill:#cccccc;fill-opacity:1;stroke:#cccccc;stroke-width:0.107234;stroke-linecap:round;stroke-opacity:1" d="m 15.740577,14.276407 c -0.128837,-0.05606 -0.316609,-0.234712 -0.387179,-0.368375 -0.08512,-0.161229 -0.08512,-0.466755 0,-0.627983 0.07249,-0.137297 0.260784,-0.314162 0.393504,-0.369616 0.136456,-0.05701 0.427119,-0.0497 0.568023,0.01428 0.269845,0.122547 0.422664,0.364549 0.422664,0.669321 0,0.304774 -0.152819,0.546774 -0.422664,0.669322 -0.139596,0.0634 -0.442801,0.07028 -0.574348,0.01305 z" id="path4086" /><path d="m 13.015181,18.477273 h 0.005" id="path20-3" /><path d="m 7.0101818,18.477273 h 0.005" id="path22-6" /><path d="m 10.010182,18.477273 h 0.005" id="path24-7" /><path style="opacity:0.998321;fill:#cccccc;fill-opacity:1;stroke:#cccccc;stroke-width:0.107234;stroke-linecap:round;stroke-opacity:1" d="m 15.740818,16.730952 c -0.128837,-0.05606 -0.316609,-0.234712 -0.387179,-0.368375 -0.08512,-0.161229 -0.08512,-0.466756 0,-0.627984 0.07249,-0.137297 0.260784,-0.314161 0.393505,-0.369616 0.136455,-0.05701 0.427118,-0.0497 0.568022,0.01429 0.269845,0.122547 0.422664,0.364548 0.422664,0.669321 0,0.304773 -0.152819,0.546774 -0.422664,0.669322 -0.139596,0.0634 -0.442801,0.07028 -0.574348,0.01305 z" id="path4086-5" /></svg>'
calendar-weekend: '<svg class="icon icon-tabler icon-tabler-calendar-weekend" width="44" height="44" viewBox="0 0 24 24" stroke-width="1.5" stroke="#000000" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none" id="path2" /><path d="M4 7a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v12a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2v-12z" id="path4" /><path d="M16 3v4" id="path6" /><path d="M8 3v4" id="path8" /><path d="M4 11h16" id="path10" /><path d="M 7,13.59404 H 7.013" id="path12" style="fill:#333333;fill-opacity:1;stroke:#cccccc;stroke-opacity:1" /><path d="m 10.01,13.59404 h 0.005" id="path14" style="fill:#333333;fill-opacity:1;stroke:#cccccc;stroke-opacity:1" /><path d="m 13.01,13.59404 h 0.005" id="path16" style="fill:#333333;fill-opacity:1;stroke:#cccccc;stroke-opacity:1" /><path d="M 13.015,16.022727 H 13.02" id="path20" style="fill:#333333;fill-opacity:1;stroke:#cccccc;stroke-opacity:1" /><path d="M 7.01,16.022727 H 7.015" id="path22" style="fill:#333333;fill-opacity:1;stroke:#cccccc;stroke-opacity:1" /><path d="m 10.01,16.022727 h 0.005" id="path24" style="fill:#333333;fill-opacity:1;stroke:#cccccc;stroke-opacity:1" /><path d="m 13.015181,18.477273 h 0.005" id="path20-3" style="fill:#333333;fill-opacity:1;stroke:#cccccc;stroke-opacity:1" /><path d="m 7.0101818,18.477273 h 0.005" id="path22-6" style="fill:#333333;fill-opacity:1;stroke:#cccccc;stroke-opacity:1" /><path d="m 10.010182,18.477273 h 0.005" id="path24-7" style="fill:#333333;fill-opacity:1;stroke:#cccccc;stroke-opacity:1" /><path d="m 16.165213,13.593818 h 0.005" id="path16-3" /><path d="m 16.170213,16.022505 h 0.005" id="path20-6" /></svg>'
copyright: '<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-copyright" width="44" height="44" viewBox="0 0 24 24" stroke-width="1.5" stroke="#2c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0" /><path d="M14 9.75a3.016 3.016 0 0 0 -4.163 .173a2.993 2.993 0 0 0 0 4.154a3.016 3.016 0 0 0 4.163 .173" /></svg>'
clock: '<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-clock" width="44" height="44" viewBox="0 0 24 24" stroke-width="1.5" stroke="#2c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><circle cx="12" cy="12" r="9" /><polyline points="12 7 12 12 15 15" /></svg>'
cloud: '<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-cloud" width="44" height="44" viewBox="0 0 24 24" stroke-width="1.5" stroke="#2c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M7 18a4.6 4.4 0 0 1 0 -9a5 4.5 0 0 1 11 2h1a3.5 3.5 0 0 1 0 7h-12" /></svg>'
cloud-flog: '<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-cloud-fog" width="44" height="44" viewBox="0 0 24 24" stroke-width="1.5" stroke="#2c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M7 16a4.6 4.4 0 0 1 0 -9a5 4.5 0 0 1 11 2h1a3.5 3.5 0 0 1 0 7h-12" /><line x1="5" y1="20" x2="19" y2="20" /></svg>'
cloud-share: '<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-cloud-share" width="44" height="44" viewBox="0 0 24 24" stroke-width="1.5" stroke="#000000" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M12.5 18.004h-5.843c-2.572 -.004 -4.657 -2.011 -4.657 -4.487c0 -2.475 2.085 -4.482 4.657 -4.482c.393 -1.762 1.794 -3.2 3.675 -3.773c1.88 -.572 3.956 -.193 5.444 1c1.488 1.19 2.162 3.007 1.77 4.769h.99c1.41 0 2.624 .848 3.164 2.065" /><path d="M16 22l5 -5" /><path d="M21 21.5v-4.5h-4.5" /></svg>'
css3: '<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-brand-css3" width="44" height="44" viewBox="0 0 24 24" stroke-width="1.5" stroke="#2c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M20 4l-2 14.5l-6 2l-6 -2l-2 -14.5z" /><path d="M8.5 8h7l-4.5 4h4l-.5 3.5l-2.5 .75l-2.5 -.75l-.1 -.5" /></svg>'
download: '<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-download" width="44" height="44" viewBox="0 0 24 24" stroke-width="1.5" stroke="#000000" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M4 17v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2 -2v-2" /><path d="M7 11l5 5l5 -5" /><path d="M12 4l0 12" /></svg>'
folder: '<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-folder" width="44" height="44" viewBox="0 0 24 24" stroke-width="1.5" stroke="#2c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M5 4h4l3 3h7a2 2 0 0 1 2 2v8a2 2 0 0 1 -2 2h-14a2 2 0 0 1 -2 -2v-11a2 2 0 0 1 2 -2" /></svg>'
history: '<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-history" width="44" height="44" viewBox="0 0 24 24" stroke-width="1.5" stroke="#2c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><polyline points="12 8 12 12 14 14" /><path d="M3.05 11a9 9 0 1 1 .5 4m-.5 5v-5h5" /></svg>'
home: '<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-home" width="44" height="44" viewBox="0 0 24 24" stroke-width="1.5" stroke="#2c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M5 12l-2 0l9 -9l9 9l-2 0" /><path d="M5 12v7a2 2 0 0 0 2 2h10a2 2 0 0 0 2 -2v-7" /><path d="M9 21v-6a2 2 0 0 1 2 -2h2a2 2 0 0 1 2 2v6" /></svg>'
html5: '<svg id="html5" xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-brand-html5" width="44" height="44" viewBox="0 0 24 24" stroke-width="1.5" stroke="#2c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M20 4l-2 14.5l-6 2l-6 -2l-2 -14.5z" /><path d="M15.5 8h-7l.5 4h6l-.5 3.5l-2.5 .75l-2.5 -.75l-.1 -.5" /></svg>'
language: '<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-language" width="44" height="44" viewBox="0 0 24 24" stroke-width="1.5" stroke="#2c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M4 5h7" /><path d="M9 3v2c0 4.418 -2.239 8 -5 8" /><path d="M5 9c0 2.144 2.952 3.908 6.7 4" /><path d="M12 20l4 -9l4 9" /><path d="M19.1 18h-6.2" /></svg>'
layout-grid: '<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-layout-grid" width="44" height="44" viewBox="0 0 24 24" stroke-width="1.5" stroke="#2c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><rect x="4" y="4" width="6" height="6" rx="1" /><rect x="14" y="4" width="6" height="6" rx="1" /><rect x="4" y="14" width="6" height="6" rx="1" /><rect x="14" y="14" width="6" height="6" rx="1" /></svg>'
layout-navbar-expand: '<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-layout-navbar-expand" width="44" height="44" viewBox="0 0 24 24" stroke-width="1.5" stroke="#2c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M4 18v-12a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v12a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2z" /><path d="M4 9h16" /><path d="M10 14l2 2l2 -2" /></svg>'
license: '<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-license" width="44" height="44" viewBox="0 0 24 24" stroke-width="1.5" stroke="#2c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M15 21h-9a3 3 0 0 1 -3 -3v-1h10v2a2 2 0 0 0 4 0v-14a2 2 0 1 1 2 2h-2m2 -4h-11a3 3 0 0 0 -3 3v11" /><line x1="9" y1="7" x2="13" y2="7" /><line x1="9" y1="11" x2="13" y2="11" /></svg>'
map-star: '<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-map-star" width="44" height="44" viewBox="0 0 24 24" stroke-width="1.5" stroke="#000000" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M9.718 17.359l-.718 -.359l-6 3v-13l6 -3l6 3l6 -3v7.5" /><path d="M9 4v13" /><path d="M15 7v4" /><path d="M17.8 20.817l-2.172 1.138a.392 .392 0 0 1 -.568 -.41l.415 -2.411l-1.757 -1.707a.389 .389 0 0 1 .217 -.665l2.428 -.352l1.086 -2.193a.392 .392 0 0 1 .702 0l1.086 2.193l2.428 .352a.39 .39 0 0 1 .217 .665l-1.757 1.707l.414 2.41a.39 .39 0 0 1 -.567 .411l-2.172 -1.138z" /></svg>'
menu: '<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-menu" width="44" height="44" viewBox="0 0 24 24" stroke-width="1.5" stroke="#2c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M4 8l16 0" /><path d="M4 16l16 0" /></svg>'
menu2: '<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-menu-2" width="44" height="44" viewBox="0 0 24 24" stroke-width="1.5" stroke="#2c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M4 6l16 0" /><path d="M4 12l16 0" /><path d="M4 18l16 0" /></svg>'
monitor: '<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-heart-rate-monitor" width="44" height="44" viewBox="0 0 24 24" stroke-width="1.5" stroke="#2c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M3 4m0 1a1 1 0 0 1 1 -1h16a1 1 0 0 1 1 1v10a1 1 0 0 1 -1 1h-16a1 1 0 0 1 -1 -1z" /><path d="M7 20h10" /><path d="M9 16v4" /><path d="M15 16v4" /><path d="M7 10h2l2 3l2 -6l1 3h3" /></svg>'
news: '<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-news" width="44" height="44" viewBox="0 0 24 24" stroke-width="1.5" stroke="#000000" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M16 6h3a1 1 0 0 1 1 1v11a2 2 0 0 1 -4 0v-13a1 1 0 0 0 -1 -1h-10a1 1 0 0 0 -1 1v12a3 3 0 0 0 3 3h11" /><path d="M8 8l4 0" /><path d="M8 12l4 0" /><path d="M8 16l4 0" /></svg>'
next: '<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-chevron-right" width="44" height="44" viewBox="0 0 24 24" stroke-width="1.5" stroke="#2c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><polyline points="9 6 15 12 9 18" /></svg>'
note: '<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-note" width="44" height="44" viewBox="0 0 24 24" stroke-width="1.5" stroke="#2c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><line x1="13" y1="20" x2="20" y2="13" /><path d="M13 20v-6a1 1 0 0 1 1 -1h6v-7a2 2 0 0 0 -2 -2h-12a2 2 0 0 0 -2 2v12a2 2 0 0 0 2 2h7" /></svg>'
notebook: '<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-notebook" width="44" height="44" viewBox="0 0 24 24" stroke-width="1.5" stroke="#2c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M6 4h11a2 2 0 0 1 2 2v12a2 2 0 0 1 -2 2h-11a1 1 0 0 1 -1 -1v-14a1 1 0 0 1 1 -1m3 0v18" /><line x1="13" y1="8" x2="15" y2="8" /><line x1="13" y1="12" x2="15" y2="12" /></svg>'
pencil: '<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-pencil" width="44" height="44" viewBox="0 0 24 24" stroke-width="1.5" stroke="#2c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M4 20h4l10.5 -10.5a1.5 1.5 0 0 0 -4 -4l-10.5 10.5v4" /><line x1="13.5" y1="6.5" x2="17.5" y2="10.5" /></svg>'
previous: '<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-chevron-left" width="44" height="44" viewBox="0 0 24 24" stroke-width="1.5" stroke="#2c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><polyline points="15 6 9 12 15 18" /></svg>'
search: '<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-search" width="44" height="44" viewBox="0 0 24 24" stroke-width="1.5" stroke="#2c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><circle cx="10" cy="10" r="7" /><line x1="21" y1="21" x2="15" y2="15" /></svg>'
security: '<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-lock-square-rounded" width="44" height="44" viewBox="0 0 24 24" stroke-width="1.5" stroke="#2c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M12 3c7.2 0 9 1.8 9 9s-1.8 9 -9 9s-9 -1.8 -9 -9s1.8 -9 9 -9z" /><path d="M8 11m0 1a1 1 0 0 1 1 -1h6a1 1 0 0 1 1 1v3a1 1 0 0 1 -1 1h-6a1 1 0 0 1 -1 -1z" /><path d="M10 11v-2a2 2 0 1 1 4 0v2" /></svg>'
signature: '<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-signature" width="44" height="44" viewBox="0 0 24 24" stroke-width="1.5" stroke="#2c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M3 17c3.333 -3.333 5 -6 5 -8c0 -3 -1 -3 -2 -3s-2.032 1.085 -2 3c.034 2.048 1.658 4.877 2.5 6c1.5 2 2.5 2.5 3.5 1l2 -3c.333 2.667 1.333 4 3 4c.53 0 2.639 -2 3 -2c.517 0 1.517 .667 3 2" /></svg>'
system: '<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-settings-automation" width="44" height="44" viewBox="0 0 24 24" stroke-width="1.5" stroke="#2c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M10.325 4.317c.426 -1.756 2.924 -1.756 3.35 0a1.724 1.724 0 0 0 2.573 1.066c1.543 -.94 3.31 .826 2.37 2.37a1.724 1.724 0 0 0 1.065 2.572c1.756 .426 1.756 2.924 0 3.35a1.724 1.724 0 0 0 -1.066 2.573c.94 1.543 -.826 3.31 -2.37 2.37a1.724 1.724 0 0 0 -2.572 1.065c-.426 1.756 -2.924 1.756 -3.35 0a1.724 1.724 0 0 0 -2.573 -1.066c-1.543 .94 -3.31 -.826 -2.37 -2.37a1.724 1.724 0 0 0 -1.065 -2.572c-1.756 -.426 -1.756 -2.924 0 -3.35a1.724 1.724 0 0 0 1.066 -2.573c-.94 -1.543 .826 -3.31 2.37 -2.37c1 .608 2.296 .07 2.572 -1.065z" /><path d="M10 9v6l5 -3z" /></svg>'
tabler: '<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-brand-tabler" width="44" height="44" viewBox="0 0 24 24" stroke-width="1.5" stroke="#2c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M8 9l3 3l-3 3" /><line x1="13" y1="15" x2="16" y2="15" /><rect x="4" y="4" width="16" height="16" rx="4" /></svg>'
tag: '<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-tag" width="44" height="44" viewBox="0 0 24 24" stroke-width="1.5" stroke="#2c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M11 3l9 9a1.5 1.5 0 0 1 0 2l-6 6a1.5 1.5 0 0 1 -2 0l-9 -9v-4a4 4 0 0 1 4 -4h4" /><circle cx="9" cy="9" r="2" /></svg>'
tags: '<svg class="icon icon-tabler icon-tabler-tags" width="44" height="44" fill="none" stroke="#2c3e50" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" version="1.1" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M0 0h24v24H0z" fill="none" stroke="none"/><path d="m9.9091 3 9 9a1.5 1.5 0 0 1 0 2l-6 6a1.5 1.5 0 0 1-2 0l-9-9v-4a4 4 0 0 1 4-4h4"/><circle cx="7.9091" cy="9" r="2"/><path d="m12.999 3.1335 9 9c0.50929 0.5694 0.50929 1.4306 0 2l-6 6c-0.5694 0.50929-1.4306 0.50929-2 0l-0.65842-0.54587 5.6598-5.7119c0.59144-0.59689 0.6082-1.2627-0.31263-2.1793-2.1168-2.107-6.174-6.1687-7.2612-7.2235l-1.1252-1.2713 2.6977-0.068147"/></svg>'
th: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" class="icon" stroke-width="1.5" stroke="#2c3e50" fill="none"><path d="M149.333 56v80c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24V56c0-13.255 10.745-24 24-24h101.333c13.255 0 24 10.745 24 24zm181.334 240v-80c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24h101.333c13.256 0 24.001-10.745 24.001-24zm32-240v80c0 13.255 10.745 24 24 24H488c13.255 0 24-10.745 24-24V56c0-13.255-10.745-24-24-24H386.667c-13.255 0-24 10.745-24 24zm-32 80V56c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24h101.333c13.256 0 24.001-10.745 24.001-24zm-205.334 56H24c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24h101.333c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24zM0 376v80c0 13.255 10.745 24 24 24h101.333c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H24c-13.255 0-24 10.745-24 24zm386.667-56H488c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H386.667c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24zm0 160H488c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H386.667c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24zM181.333 376v80c0 13.255 10.745 24 24 24h101.333c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24z"/></svg>'
to-top: '<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-arrow-bar-to-up" width="44" height="44" viewBox="0 0 24 24" stroke-width="1.5" stroke="#2c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><line x1="12" y1="10" x2="12" y2="20" /><line x1="12" y1="10" x2="16" y2="14" /><line x1="12" y1="10" x2="8" y2="14" /><line x1="4" y1="4" x2="20" y2="4" /></svg>'
translation: '<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-message-language" width="44" height="44" viewBox="0 0 24 24" stroke-width="1.5" stroke="#2c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M4 21v-13a3 3 0 0 1 3 -3h10a3 3 0 0 1 3 3v6a3 3 0 0 1 -3 3h-9l-4 4" /><path d="M10 14v-4a2 2 0 1 1 4 0v4" /><path d="M14 12h-4" /></svg>'
user: '<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-user" width="44" height="44" viewBox="0 0 24 24" stroke-width="1.5" stroke="#2c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><circle cx="12" cy="7" r="4" /><path d="M6 21v-2a4 4 0 0 1 4 -4h4a4 4 0 0 1 4 4v2" /></svg>'
www: '<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-world-www" width="44" height="44" viewBox="0 0 24 24" stroke-width="1.5" stroke="#2c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M19.5 7a9 9 0 0 0 -7.5 -4a8.991 8.991 0 0 0 -7.484 4" /><path d="M11.5 3a16.989 16.989 0 0 0 -1.826 4" /><path d="M12.5 3a16.989 16.989 0 0 1 1.828 4" /><path d="M19.5 17a9 9 0 0 1 -7.5 4a8.991 8.991 0 0 1 -7.484 -4" /><path d="M11.5 21a16.989 16.989 0 0 1 -1.826 -4" /><path d="M12.5 21a16.989 16.989 0 0 0 1.828 -4" /><path d="M2 10l1 4l1.5 -4l1.5 4l1 -4" /><path d="M17 10l1 4l1.5 -4l1.5 4l1 -4" /><path d="M9.5 10l1 4l1.5 -4l1.5 4l1 -4" /></svg>'
writing-sign: '<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-writing-sign" width="44" height="44" viewBox="0 0 24 24" stroke-width="1.5" stroke="#2c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M3 19c3.333 -2 5 -4 5 -6c0 -3 -1 -3 -2 -3s-2.032 1.085 -2 3c.034 2.048 1.658 2.877 2.5 4c1.5 2 2.5 2.5 3.5 1c.667 -1 1.167 -1.833 1.5 -2.5c1 2.333 2.333 3.5 4 3.5h2.5" /><path d="M20 17v-12c0 -1.121 -.879 -2 -2 -2s-2 .879 -2 2v12l2 2l2 -2z" /><path d="M16 7h4" /></svg>'
zoom-question: '<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-zoom-question" width="44" height="44" viewBox="0 0 24 24" stroke-width="1.5" stroke="#2c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M10 10m-7 0a7 7 0 1 0 14 0a7 7 0 1 0 -14 0" /><path d="M21 21l-6 -6" /><path d="M10 13l0 .01" /><path d="M10 10a1.5 1.5 0 1 0 -1.14 -2.474" /></svg>'
# Social Icons
cc: '<svg class="icon" role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Creative Commons</title><path d="M11.983 0c-3.292 0-6.19 1.217-8.428 3.485C1.25 5.819 0 8.844 0 12c0 3.189 1.217 6.148 3.522 8.45C5.827 22.75 8.822 24 11.983 24c3.16 0 6.222-1.25 8.593-3.583C22.815 18.214 24 15.287 24 12c0-3.255-1.186-6.214-3.458-8.483C18.238 1.217 15.275 0 11.983 0zm.033 2.17c2.7 0 5.103 1.02 6.98 2.893 1.843 1.841 2.83 4.274 2.83 6.937 0 2.696-.954 5.063-2.798 6.872-1.943 1.906-4.444 2.926-7.012 2.926-2.601 0-5.038-1.019-6.914-2.893-1.877-1.875-2.93-4.34-2.93-6.905 0-2.597 1.053-5.063 2.93-6.97 1.844-1.874 4.214-2.86 6.914-2.86zM8.68 8.278C6.723 8.278 5.165 9.66 5.165 12c0 2.38 1.465 3.722 3.581 3.722 1.358 0 2.516-.744 3.155-1.874l-1.491-.758c-.333.798-.839 1.037-1.478 1.037-1.105 0-1.61-.917-1.61-2.126 0-1.21.426-2.127 1.61-2.127.32 0 .96.173 1.332.97l1.597-.838c-.68-1.236-1.837-1.728-3.181-1.728zm6.932 0c-1.957 0-3.514 1.382-3.514 3.722 0 2.38 1.464 3.722 3.58 3.722 1.359 0 2.516-.744 3.155-1.874l-1.49-.758c-.333.798-.84 1.037-1.478 1.037-1.105 0-1.611-.917-1.611-2.126 0-1.21.426-2.127 1.61-2.127.32 0 .96.173 1.332.97l1.597-.838c-.68-1.236-1.837-1.728-3.181-1.728z"/></svg>'
hugo: '<svg id="hugo" class="icon" role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Hugo</title><path d="M11.754 0a3.998 3.998 0 00-2.049.596L3.33 4.532a4.252 4.252 0 00-2.017 3.615v8.03c0 1.473.79 2.838 2.067 3.574l6.486 3.733a3.88 3.88 0 003.835.018l7.043-3.966a3.817 3.817 0 001.943-3.323V7.752a3.57 3.57 0 00-1.774-3.084L13.817.541a3.998 3.998 0 00-2.063-.54zm.022 1.674c.413-.006.828.1 1.2.315l7.095 4.127c.584.34.941.96.94 1.635v8.462c0 .774-.414 1.484-1.089 1.864l-7.042 3.966a2.199 2.199 0 01-2.179-.01l-6.485-3.734a2.447 2.447 0 01-1.228-2.123v-8.03c0-.893.461-1.72 1.221-2.19l6.376-3.935a2.323 2.323 0 011.19-.347zm-4.7 3.844V18.37h2.69v-5.62h4.46v5.62h2.696V5.518h-2.696v4.681h-4.46V5.518Z"/></svg>'
json: '<svg class="icon" role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>JSON</title><path d="M12.043 23.968c.479-.004.953-.029 1.426-.094a11.805 11.805 0 003.146-.863 12.404 12.404 0 003.793-2.542 11.977 11.977 0 002.44-3.427 11.794 11.794 0 001.02-3.476c.149-1.16.135-2.346-.045-3.499a11.96 11.96 0 00-.793-2.788 11.197 11.197 0 00-.854-1.617c-1.168-1.837-2.861-3.314-4.81-4.3a12.835 12.835 0 00-2.172-.87h-.005c.119.063.24.132.345.201.12.074.239.146.351.225a8.93 8.93 0 011.559 1.33c1.063 1.145 1.797 2.548 2.218 4.041.284.982.434 1.998.495 3.017.044.743.044 1.491-.047 2.229-.149 1.27-.554 2.51-1.228 3.596a7.475 7.475 0 01-1.903 2.084c-1.244.928-2.877 1.482-4.436 1.114a3.916 3.916 0 01-.748-.258 4.692 4.692 0 01-.779-.45 6.08 6.08 0 01-1.244-1.105 6.507 6.507 0 01-1.049-1.747 7.366 7.366 0 01-.494-2.54c-.03-1.273.225-2.553.854-3.67a6.43 6.43 0 011.663-1.918c.225-.178.464-.333.704-.479l.016-.007a5.121 5.121 0 00-1.441-.12 4.963 4.963 0 00-1.228.24c-.359.12-.704.27-1.019.45a6.146 6.146 0 00-.733.494c-.211.18-.42.36-.615.555-1.123 1.153-1.768 2.682-2.022 4.256-.15.973-.15 1.96-.091 2.95.105 1.395.391 2.787.945 4.062a8.518 8.518 0 001.348 2.173 8.14 8.14 0 003.132 2.23 7.934 7.934 0 002.113.54c.074.015.149.015.209.015zm-2.934-.398a4.102 4.102 0 01-.45-.228 8.5 8.5 0 01-2.038-1.534c-1.094-1.137-1.827-2.566-2.247-4.08a15.184 15.184 0 01-.495-3.172 12.14 12.14 0 01.046-2.082c.135-1.257.495-2.501 1.124-3.58a6.889 6.889 0 011.783-2.053 6.23 6.23 0 011.633-.9 5.363 5.363 0 013.522-.045c.029 0 .029 0 .045.03.015.015.045.015.06.03.045.016.104.045.165.074.239.12.479.271.704.42a6.294 6.294 0 012.097 2.502c.42.914.615 1.934.631 2.938.014 1.079-.18 2.157-.645 3.146a6.42 6.42 0 01-2.638 2.832c.09.03.18.045.271.075.225.044.449.074.688.074 1.468.045 2.892-.66 3.94-1.647.195-.18.375-.375.54-.585.225-.27.435-.54.614-.823.239-.375.435-.75.614-1.154a8.112 8.112 0 00.509-1.664c.196-1.004.211-2.022.149-3.026-.135-2.022-.673-4.045-1.842-5.724a9.054 9.054 0 00-.555-.719 9.868 9.868 0 00-1.063-1.034 8.477 8.477 0 00-1.363-.915 9.927 9.927 0 00-1.692-.598l-.3-.06c-.209-.03-.42-.044-.634-.06a8.453 8.453 0 00-1.015.016c-.704.045-1.412.16-2.112.337C5.799 1.227 2.863 3.566 1.3 6.67A11.834 11.834 0 00.238 9.801a11.81 11.81 0 00-.104 3.775c.12 1.02.374 2.023.778 2.977.227.57.511 1.124.825 1.648 1.094 1.783 2.683 3.236 4.51 4.24.688.39 1.408.69 2.157.944.226.074.45.15.689.21z"/></svg>'
rss: '<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-rss" width="44" height="44" viewBox="0 0 24 24" stroke-width="1.5" stroke="#2c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><circle cx="5" cy="19" r="1" /><path d="M4 4a16 16 0 0 1 16 16" /><path d="M4 11a9 9 0 0 1 9 9" /></svg>'

View File

@ -1,253 +0,0 @@
[alert-danger]
other = "Danger"
[alert-dark]
other = "Dark"
[alert-info]
other = "Info"
[alert-success]
other = "Success"
[alert-tip]
other = "Tip"
[alert-warning]
other = "Warning"
[availableOnWeb]
other = "Available too, on HTTP(S): "
[btnTxtCopied]
other = 'Copied!'
[btnTxtCopy]
other = 'Copy'
[cardTextdev]
other = "Code:"
[cardTextsec]
other = "Security:"
[cardTextsys]
other = "Systems:"
[cardTextweb]
other = "Web:"
[categories]
other = "Categories:"
[codeTitle]
other = "Code:"
[commentsTitle]
other = "Comments"
[commentsText]
other = "Discussions around the web"
[countWords]
other = "This article has {{ .WordCount }} words. "
[deprecatedDoc]
other = "Probably, this documentation is deprecated. Please, take your responsability!"
[deprecatedTitle]
other = "Deprecated"
[donateTitle]
other = "Make a donation, a coffee, a beer…"
[fileTitle]
other = "File: "
[goBackHome]
other = "Go back to the homepage: "
[homepageTitle]
other = "Home"
[in]
other = "in"
[indexTitle]
other = "Go to the Index : "
[license]
other = "License"
[lnkInsideTitle]
other = "Internal link to the article: "
[manageLang]
other = "This site is multilanguage: "
[manpageTitle]
other = "OpenBSD Manual Page Server for: "
[me]
other = "Stéphane HUC"
[modified]
other = "; modified the "
[navigation]
other = "Navigation"
[nextTitleArticle]
other = "Next article: "
[on]
other = " on "
[opensearchDescription]
other = "Search into the differents articles wrote by Stephane HUC"
[pageListTitle]
other = "Tag :: "
[pagineTitle]
other = "The {{ .Count }} last articles"
[paginatorCurrent]
other = "Page Number: "
[paginatorFirst]
other = "Go to first page: "
[paginatorLast]
other = "Go to the last page: "
[paginatorNext]
other = "Go to the next page: "
[paginatorPrev]
other = "Go to the previous page: "
[prevTitleArticle]
other = "Previous article: "
[pTxtSrcMd]
other = "RAW source of the article: "
[pTxtSrcRawShortcode]
other = "RAW source of the shortcode: "
[published]
other = "Article published the "
[quoteTitle]
other = "Quotes:"
[recentContent]
other = "Recent content "
[rfcTitle]
other = "RFC Editor: Information on RFC "
[rfcVersionHTML]
other = ": HTML format"
[rfcVersionPDF]
other = ": PDF format"
[rfcVersionTXT]
other = ": TXT format"
[searchHolderTitle]
other = "Search a tutorial… on the whole site:"
[shortcodeAnchorTitle]
other = "Go to the anchor: "
[shortcodeGoHugoTitle]
other = "Link to the official site Hugo: "
[shortcodeGoHugoDocTitle]
other = "Hugo Documentation: "
[shortcodeGoRawSrcShortcode]
other = "Link to the RAW src of the shortcode: "
[tags]
other = "Tags : "
[tagsTitle]
other = "Cloud of Tags:"
[theme-default]
other = "OS Default"
[theme-dark]
other = "Dark"
[theme-light]
other = "Light"
[theme-title]
other = "CSS Modes"
[timeToRead]
one = 'One minute to read'
other = "{{.Count}} minutes to read"
[tocTitle]
other = "Table of Contents"
[txtDocSpaceHaveCountArticles]
other = "This documentation area has {{ .Count }} articles availables!"
[txtIntoSectionNbArticles]
one = "Into the '{{ .Name }}' Section, there is only one article available!"
other = "Into the '{{ .Name }}' Section, there are {{ .Nb }} articles availables!"
[txtIntoSection]
other = "Into the Section named "
[txtMainSections]
other = "Here are the Main Sections: "
[txtNoIA]
other = "0% IA; 100% human!"
[wpTitleArticle]
other = "Wikipedia Article: "
[January]
other = "January"
[February]
other = "February"
[March]
other = "March"
[April]
other = "April"
[May]
other = "May"
[June]
other = "June"
[July]
other = "July"
[August]
other = "August"
[September]
other = "September"
[October]
other = "October"
[November]
other = "November"
[December]
other = "December"

180
i18n/en.yaml Normal file
View File

@ -0,0 +1,180 @@
- id: alert-danger
translation: Danger
- id: alert-dark
translation: Dark
- id: alert-info
translation: Info
- id: alert-success
translation: Success
- id: alert-tip
translation: Tip
- id: alert-warning
translation: Warning
- id: availableOnWeb
translation: "Available too, on HTTP(S):"
- id: btnTxtCopied
translation: Copied!
- id: btnTxtCopy
translation: Copy
- id: cardTextdev
translation: "Code:"
- id: cardTextsec
translation: "Security:"
- id: cardTextsys
translation: "Systems:"
- id: cardTextweb
translation: "Web:"
- id: categories
translation: "Categories:"
- id: codeTitle
translation: "Code:"
- id: commentsTitle
translation: Comments
- id: commentsText
translation: Discussions around the web
- id: countWords
translation: This article has {{ .WordCount }} words.
- id: deprecatedDoc
translation: Probably, this documentation is deprecated. Please, take your responsability!
- id: deprecatedTitle
translation: Deprecated
- id: donateTitle
translation: Make a donation, a coffee, a beer…
- id: fileTitle
translation: "File: "
- id: goBackHome
translation: "Go back to the homepage: "
- id: homepageTitle
translation: Home
- id: in
translation: in
- id: indexTitle
translation: "Go to the Index: "
- id: license
translation: License
- id: lnkInsideTitle
translation: "Internal link to the article: "
- id: manageLang
translation: "This site is multilanguage: "
- id: manpageTitle
translation: "OpenBSD Manual Page Server for: "
- id: me
translation: Stéphane HUC
- id: modified
translation: ; modified the
- id: navigation
translation: Navigation
- id: nextTitleArticle
translation: "Next article: "
- id: on
translation: " on "
- id: opensearchDescription
translation: Search into the differents articles wrote by Stephane HUC
- id: pageListTitle
translation: "Tag :: "
- id: pagineTitle
translation: The {{ .Count }} last articles
- id: paginatorCurrent
translation: "Page Number: "
- id: paginatorFirst
translation: "Go to first page: "
- id: paginatorLast
translation: "Go to the last page: "
- id: paginatorNext
translation: "Go to the next page: "
- id: paginatorPrev
translation: "Go to the previous page: "
- id: prevTitleArticle
translation: "Previous article: "
- id: pTxtSrcMd
translation: "RAW source of the article: "
- id: pTxtSrcRawShortcode
translation: "RAW source of the shortcode: "
- id: published
translation: Article published the
- id: quoteTitle
translation: "Quotes:"
- id: recentContent
translation: Recent content
- id: rfcTitle
translation: "RFC Editor: Information on RFC "
- id: rfcVersionHTML
translation: ": HTML format"
- id: rfcVersionPDF
translation: ": PDF format"
- id: rfcVersionTXT
translation: ": TXT format"
- id: searchHolderTitle
translation: "Search a tutorial… on the whole site:"
- id: shortcodeAnchorTitle
translation: "Go to the anchor: "
- id: shortcodeGoHugoTitle
translation: "Link to the official site Hugo: "
- id: shortcodeGoHugoDocTitle
translation: "Hugo Documentation: "
- id: shortcodeGoRawSrcShortcode
translation: "Link to the RAW src of the shortcode: "
- id: siteUnder
translation: This content is under the
- id: siteCCUniversal
translation: Creative Commons 1.0 Universal Public Domain Dedication
- id: siteDomainPublic
translation: " licence, or Public Domain"
- id: siteMadeWith
translation: This site is made with
- id: tags
translation: "Tags: "
- id: tagsTitle
translation: "Cloud of Tags:"
- id: theme-default
translation: OS Default
- id: theme-dark
translation: Dark
- id: theme-light
translation: Light
- id: theme-title
translation: CSS Modes
- id: timeToRead
translation:
one: "One minute to read"
other: "{{.Count}} minutes to read"
- id: tocTitle
translation: Table of Contents
- id: txtDocSpaceHaveCountArticles
translation: This documentation area has {{ .Count }} articles availables!
- id: txtIntoSectionNbArticles
translation:
one: Into the '{{ .Name }}' Section, there is only one article available!
other: Into the '{{ .Name }}' Section, there are {{ .Nb }} articles availables!
- id: txtIntoSection
translation: Into the Section named
- id: txtMainSections
translation: "Here are the Main Sections: "
- id: txtNoIA
translation: 0% IA; 100% human!
- id: wpTitleArticle
translation: "Wikipedia Article: "
- id: January
translation: January
- id: February
translation: February
- id: March
translation: March
- id: April
translation: April
- id: May
translation: May
- id: June
translation: June
- id: July
translation: July
- id: August
translation: August
- id: September
translation: September
- id: October
translation: October
- id: November
translation: November
- id: December
translation: December

View File

@ -1,254 +0,0 @@
[alert-danger]
other = "Danger"
[alert-dark]
other = "Noir"
[alert-info]
other = "Info"
[alert-success]
other = "Succès"
[alert-tip]
other = "Astuce"
[alert-warning]
other = "Attention"
[availableOnWeb]
other = "Aussi disponible sur HTTP(S) : "
[btnTxtCopied]
other = 'Copié !'
[btnTxtCopy]
other = 'Copier'
[cardTextdev]
other = "Du Code :"
[cardTextsec]
other = "De la Sécurité :"
[cardTextsys]
other = "Des Systèmes :"
[cardTextweb]
other = "Du web :"
[categories]
other = "Catégories :"
[codeTitle]
other = "Code :"
[commentsTitle]
other = "Commentaires"
[commentsText]
other = "Discussions sur le web"
[countWords]
other = "Cet article contient {{ .WordCount }} mots."
[deprecatedDoc]
other = "Il est probable que cette documentation soit obsolète… Veuillez en tenir compte et prendre vos responsabilités !"
[deprecatedTitle]
other = "Obsolète"
[donateTitle]
other = "Faites un don, un café, une bierre…"
[fileTitle]
other = "Fichier : "
[goBackHome]
other = "Revenir à la page d'accueil "
[homepageTitle]
other = "Accueil"
[in]
other = "dans"
[indexTitle]
other = "Aller à l'index de la catégorie : "
[license]
other = "Licence"
[lnkInsideTitle]
other = "Lien interne vers l'article : "
[manageLang]
other = "Ce site est multilangue : "
[manpageTitle]
other = "Page du Manuel OpenBSD pour : "
[me]
other = "Stéphane HUC"
[modified]
other = " et modifié le "
[navigation]
other = "Navigation"
[nextTitleArticle]
other = "Nouvel Article : "
[on]
other = " sur "
[opensearchDescription]
other = "Recherche dans les différents articles écrits par Stéphane HUC"
[pageListTitle]
other = "Étiquette :: "
[pagineTitle]
other = "Les {{ .Count }} derniers articles"
[paginatorCurrent]
other = "Page numéro : "
[paginatorFirst]
other = "Aller à la première page : "
[paginatorLast]
other = "Aller à la dernière page : "
[paginatorNext]
other = "Aller à la prochaine page : "
[paginatorPrev]
other = "Aller à la page précédente : "
[prevTitleArticle]
other = "Article Précédent : "
[pTxtSrcMd]
other = "Source brute de l'article : "
[pTxtSrcRawShortcode]
other = "Source brute vers le shortcode : "
[published]
other = "Article publié, le "
[quoteTitle]
other = "Citation :"
[recentContent]
other = "Contenu récent "
[rfcTitle]
other = "RFC Editor : Information à-propos de la RFC "
[rfcVersionHTML]
other = " : au format HTML"
[rfcVersionPDF]
other = " : au format PDF"
[rfcVersionTXT]
other = " : au format Text"
[searchHolderTitle]
other = "Cherchez un article… sur l'ensemble du site :"
[shortcodeAnchorTitle]
other = "Se diriger vers l'ancre : "
[shortcodeGoHugoTitle]
other = "Lien vers la page du site officiel Hugo : "
[shortcodeGoHugoDocTitle]
other = "Hugo Documentation : "
[shortcodeGoRawSrcShortcode]
other = "Lien vers la source RAW du shortcode : "
[tags]
one = "Étiquette : "
other = "Étiquettes : "
[tagsTitle]
other = "Nuages d'Étiquettes :"
[theme-default]
other = "OS Défaut"
[theme-dark]
other = "Sombre"
[theme-light]
other = "Lumineux"
[theme-title]
other = "Thèmes CSS"
[timeToRead]
one = 'Une minute de lecture'
other = "{{ .Count }} minutes de lecture"
[tocTitle]
other = "Table des Matières"
[txtDocSpaceHaveCountArticles]
other = "Cet espace de documentation a {{ .Count }} articles disponibles…"
[txtIntoSectionNbArticles]
one = "Dans la section '{{ .Name }}', il y a un seul article disponible !"
other = "Dans la section '{{ .Name }}', il y a {{ .Nb }} articles disponibles !"
[txtMainSections]
other = "Voici les sections mises en valeur : "
[txtNbTranslatedArticles]
other = "dont {{ .Count }} traductions d'articles techniques de l'anglais vers le français !"
[txtNoIA]
other = "0% IA ; 100% humain !"
[wpTitleArticle]
other = "Article Wikipédia : "
[January]
other = "Janvier"
[February]
other = "Février"
[March]
other = "Mars"
[April]
other = "Avril"
[May]
other = "Mai"
[June]
other = "Juin"
[July]
other = "Juillet"
[August]
other = "Août"
[September]
other = "Septembre"
[October]
other = "Octobre"
[November]
other = "Novembre"
[December]
other = "Décembre"

266
i18n/fr.yaml Normal file
View File

@ -0,0 +1,266 @@
alert-danger:
other: Danger
alert-dark:
other: Noir
alert-info:
other: Info
alert-success:
other: Succès
alert-tip:
other: Astuce
alert-warning:
other: Attention
availableOnWeb:
other: "Aussi disponible sur HTTP(S) : "
btnTxtCopied:
other: Copié !
btnTxtCopy:
other: Copier
cardTextdev:
other: "Du Code :"
cardTextsec:
other: "De la Sécurité :"
cardTextsys:
other: "Des Systèmes :"
cardTextweb:
other: "Du web :"
categories:
other: "Catégories :"
codeTitle:
other: "Code :"
commentsTitle:
other: Commentaires
commentsText:
other: Discussions sur le web
countWords:
other: Cet article contient {{ .WordCount }} mots.
deprecatedDoc:
other: Il est probable que cette documentation soit obsolète… Veuillez en tenir compte et prendre vos responsabilités !
deprecatedTitle:
other: Obsolète
donateTitle:
other: Faites un don, un café, une bierre…
fileTitle:
other: "Fichier : "
goBackHome:
other: "Revenir à la page d'accueil "
homepageTitle:
other: Accueil
in:
other: dans
indexTitle:
other: "Aller à l'index de la catégorie : "
license:
other: Licence
lnkInsideTitle:
other: "Lien interne vers l'article : "
manageLang:
other: "Ce site est multilangue : "
manpageTitle:
other: "Page du Manuel OpenBSD pour : "
me:
other: Stéphane HUC
modified:
other: " et modifié le "
navigation:
other: Navigation
nextTitleArticle:
other: "Nouvel Article : "
on:
other: " sur "
opensearchDescription:
other: Recherche dans les différents articles écrits par Stéphane HUC
pageListTitle:
other: "Étiquette :: "
pagineTitle:
other: Les {{ .Count }} derniers articles
paginatorCurrent:
other: "Page numéro : "
paginatorFirst:
other: "Aller à la première page : "
paginatorLast:
other: "Aller à la dernière page : "
paginatorNext:
other: "Aller à la prochaine page : "
paginatorPrev:
other: "Aller à la page précédente : "
prevTitleArticle:
other: "Article Précédent : "
pTxtSrcMd:
other: "Source brute de l'article : "
pTxtSrcRawShortcode:
other: "Source brute vers le shortcode : "
published:
other: "Article publié, le "
quoteTitle:
other: "Citation :"
recentContent:
other: "Contenu récent "
rfcTitle:
other: "RFC Editor : Information à-propos de la RFC "
rfcVersionHTML:
other: " : au format HTML"
rfcVersionPDF:
other: " : au format PDF"
rfcVersionTXT:
other: " : au format Text"
searchHolderTitle:
other: "Cherchez un article… sur l'ensemble du site :"
shortcodeAnchorTitle:
other: "Se diriger vers l'ancre : "
shortcodeGoHugoTitle:
other: "Lien vers la page du site officiel Hugo : "
shortcodeGoHugoDocTitle:
other: "Hugo Documentation : "
shortcodeGoRawSrcShortcode:
other: "Lien vers la source RAW du shortcode : "
siteUnder:
other: "Le contenu de cette page est diffusé sous les termes de la licence "
siteCCUniversal:
other: "Creative Commons 1.0 Universal Transfert dans le Domaine Public"
siteDomainPublic:
other: ", ou domaine public."
siteMadeWith:
other: "Ce site est généré par "
tags:
one: "Étiquette : "
other: "Étiquettes : "
tagsTitle:
other: "Nuages d'Étiquettes :"
theme-default:
other: OS Défaut
theme-dark:
other: Sombre
theme-light:
other: Lumineux
theme-title:
other: Thèmes CSS
timeToRead:
one: 'Une minute de lecture'
other: "{{ .Count }} minutes de lecture"
tocTitle:
other: Table des Matières
txtDocSpaceHaveCountArticles:
other: Cet espace de documentation a {{ .Count }} articles disponibles…
txtIntoSectionNbArticles:
one: "Dans la section '{{ .Name }}', il y a un seul article disponible !"
other: "Dans la section '{{ .Name }}', il y a {{ .Nb }} articles disponibles !"
txtMainSections:
other: "Voici les sections mises en valeur : "
txtNbTranslatedArticles:
other: "dont {{ .Count }} traductions d'articles techniques de l'anglais vers le français !"
txtNoIA:
other: 0% IA ; 100% humain !
wpTitleArticle:
other: "Article Wikipédia : "
January:
other: Janvier
February:
other: Février
March:
other: Mars
April:
other: Avril
May:
other: Mai
June:
other: Juin
July:
other: Juillet
August:
other: Août
September:
other: Septembre
October:
other: Octobre
November:
other: Novembre
December:
other: Décembre

View File

@ -1,15 +1,16 @@
{{- $main := partial "func/main-variables" . -}}{{- $d := merge (dict "Dot" .) $main -}}
<!DOCTYPE html>
<html data-theme="dark" dir="ltr" lang="{{ .Site.Language.Lang | default "fr_FR" }}"
<html data-theme="dark" {{ with $main }}dir="{{ .ltr | default "ltr" }}" lang="{{ .lang | default "fr-FR" }}"{{ end }}
prefix="dc: http://purl.org/dc/elements/1.1/
dcterms: http://purl.org/dc/terms/
og: http://ogp.me/ns#
{{- if .IsPage }}article: https://ogp.me/ns/article#{{ end }}
website: https://ogp.me/ns/website#
opensearch: http://a9.com/-/spec/opensearch/1.1/">
{{- $main := partial "func/main-variables" . -}}
{{- $d := merge (dict "Dot" .) $main -}}
{{ partial "head" $d }}
<body id="top">
{{ partialCached "progress-bar" . }}
{{ partial "nav-responsive" . }}
{{ if .Site.Params.enableProgressBar }}{{ partialCached "utils/progress-bar" . }}{{ end }}
{{ partial "nav-responsive" $d }}
<main>
{{ block "main" . }}{{ end }}
</main>

View File

@ -1,12 +1,19 @@
{{ define "main" }}{{ $url := printf "%s" .Permalink | relURL }}
<section id="lists">
<div class="content-width-80">
<div class="content-width-80">{{ $s := slice "android" "debian" "devuan" "gnupg" "hugo" "nextcloud" "nginx" "openbsd" "openwrt" "php" }}{{ $current := .CurrentSection }}
{{ range $s }}
{{ if in $current . }}{{ $src := printf "%s%s%s" "/svg/" . ".svg" }}
<figure class="svg-128 to-right">
{{ partial "utils/svg" (dict "src" $src) }}
</figure>
{{ end }}
{{ end }}
<h1>{{ if in (print $url) "tags" }}{{ print ( i18n "tags" ) .Title }}{{ else }}{{ print .Title }}{{ end }}</h1>
{{ range .Paginator.Pages.ByPublishDate.Reverse }}
<article class="">
<h2><a class="" href="{{ .RelPermalink }}">{{ .Title }}</a></h2>
<p class="publish-date">{{ partial "publish-date" . }}</p>
<p class="publish-date">{{ partial "utils/publish-date" . }}</p>
<p class="publish-desc">{{ .Description | safeHTML }}</p>
{{ partial "tags" . }}
@ -15,7 +22,7 @@
<footer>
{{ partial "pagination2" . }}
</footer>
<div class="is-center">{{ partial "top" . }}</div>
<div class="is-center">{{ partial "utils/top" . }}</div>
</div>
</section>
{{ end }}

View File

@ -1,22 +0,0 @@
<!DOCTYPE html>
<html dir="ltr" lang="{{ .Site.Language.Lang | default "fr_FR" }}"
prefix="dc: http://purl.org/dc/elements/1.1/
dcterms: http://purl.org/dc/terms/
og: http://ogp.me/ns#
opensearch: http://a9.com/-/spec/opensearch/1.1/">
{{- $author := partial "func/author" . -}}{{- $baseURL := partial "func/baseURL" . -}}
{{- $desc := partial "func/description" . -}}
{{- $lang := partial "func/lang" . -}}{{- $logo := partial "func/logo" . -}}
{{- $title := partial "func/title" . -}}
{{- $d := dict "Dot" . "author" $author "baseURL" $baseURL "desc" $desc "lang" $lang "logo" $logo "title" $title -}}
{{ partial "head" $d }}
<body id="top">
{{ partial "progress-bar" . }}
{{ partial "nav-responsive" . }}
<main>
{{ block "main" . }}{{ end }}
</main>
{{ partial "footer" . }}
{{ partial "js" . }}
</body>
</html>

View File

@ -1,31 +0,0 @@
# {{ $.Title | safeHTML }}
{{ $content := .RawContent -}}
{{ $content := $content | replaceRE "`(.+)`" "$1" -}}
{{ $content := $content | replaceRE "\\*(.+)\\*" "$1" -}}
{{ $content := $content | replaceRE "(?ms)\\*\\*(.+)\\*\\*" "$1" -}}
{{ $content := $content | replaceRE "\\[(.+)\\]: (.+)" "=> $2 $1" -}}
{{ $content := $content | replaceRE " \\[(.+)\\]\\((.+)\\)" "\n\n=> $2 $1\n\n" -}}
{{ $content := $content | replaceRE "\\[(.+)\\]\\((.+)\\)" "=> $2 $1" -}}
{{ $content := $content | replaceRE "<br>" "" -}}
{{ $content | safeHTML }}
---
Publié le : {{.Date.Format "2 January 2006"}}.
{{ if .Params.tags }}Tags : {{ range .Params.tags }}{{ . }}, {{ end }} {{ end }}
=> {{ replace $.Site.BaseURL "http" "gemini" 1 }} - Revenir à la page d'accueil {{ with .OutputFormats.Get "html" }}
=> {{ .Permalink | safeURL }} - Lire l'article “{{ $.Title | safeHTML }}” sur le protocole HTTP(S)…
{{- end }}
Le contenu de ce site est diffusé sous Licence, visible sur HTTP(S) :
{{ $lic := $.Site.Copyright | safeHTML -}}
{{- $lic := $lic | replaceRE "\\[(.+)\\]\\((.+)\\)" "=> $2 $1" -}}
{{ $lic }}
---
{{ if .Next }}=> {{ replace .Next.Permalink "/gemini" "" 1}} - Article Suivant : "{{ .Next.Title | safeHTML }}" {{ end }}
{{ if .Prev -}}=> {{ replace .Prev.Permalink "/gemini" "" 1}} - Article Précédent : "{{ .Prev.Title | safeHTML }}" {{- end }}

View File

@ -1,15 +0,0 @@
{{ define "main" }}
<!-- This code need >= v0.55 -->
<h1>{{ .Title }}</h1>
<ul>
{{ range .Data.Terms.Alphabetical }}
<li>
<a class="btn btn-outline-dark font-125" href="{{ .Page.Permalink }}">
<span class="badge badge-dark">{{ .Count }}</span> {{ .Page.Title }}
</a>
</li>
{{ end }}
</ul>
{{ end }}

View File

@ -1,32 +0,0 @@
{{ define "main" }}
<!-- This code need >= v0.55 -->
<section id="lists">
<div class="container">
<h1>{{ .Title }}</h1>
<article class="bg-black">
<ul class="tags">
{{ if lt hugo.Version "0.55" }}
{{ range .Data.Terms.Alphabetical }}
<li>
<a class="btn btn-outline-dark font-125" href="{{ $.Page.Permalink }}"><span class="badge badge-dark">{{ .Count }}</span> {{ $.Page.Title }}</a>
</li>
{{ end }}
{{ else }}
{{ $type := .Type }}
{{ range $key, $value := .Site.Taxonomies.tags }}
{{ $name := .Page.Name }}
{{ $count := .Count }}
{{ with $.Site.GetPage (printf "/%s/%s" $type $name) }}
<li>
<a href="{{ .Permalink }}">{{ $name }}</a> <span class="badge badge-pill badge-info">{{ $count }}</span>
</li>
{{ end }}
{{ end }}
{{ end }}
</ul>
<hr>
</article>
</div>
</section>
{{ end }}

View File

@ -2,24 +2,31 @@
<section id="page" class="">
<div class="content-width-80">
<aside class="">
{{ partial "breadcrumb" . }}
{{ partial "breadcrumbs" . }}
{{ partial "toc" . }}
</aside>
<article class="">
<header>
<article class="">{{ $s := slice "android" "debian" "devuan" "gnupg" "hugo" "nextcloud" "nginx" "openbsd" "openwrt" "php" }}
<header>{{ $current := .CurrentSection }}
{{ range $s }}
{{ if in $current . }}{{ $src := printf "%s%s%s" "/svg/" . ".svg" }}
<figure class="svg-128 to-right">
{{ partial "utils/svg" (dict "src" $src) }}
</figure>
{{ end }}
{{ end }}
<h1>{{ .Title }}</h1>
</header>
<div id="page-article" class="is-justify">
<div id="page-article-caption">
<div id="page-article-lang-selector">
{{ partial "language-selector" . }}
{{ partial "utils/language-selector" . }}
</div>
<div class="page-article-publish">
<div class="is-right">{{ partial "publish-date" . }}</div>
<div class="is-right">{{ partial "utils/publish-date" . }}</div>
<p class="is-right">
{{ i18n "countWords" . }}<br>
{{ i18n "pTxtSrcMd" }}<a class="raw-src" href="{{ .Site.Params.git4MD }}/{{.Lang}}/{{ .File.Path }}" title="Source Markdown"><i class="fa fa-markdown" aria-hidden="true"></i></a>
{{ T "countWords" . }}<br>
{{ T "pTxtSrcMd" }}<a class="raw-src" href="{{ .Site.Params.git4MD }}/{{.Lang}}/{{ .File.Path }}" title="Source Markdown"><i class="fa fa-markdown" aria-hidden="true"></i></a>
{{ if .GitInfo }}<br><span class="no-print"Commit version : ><em><a class="raw-src" href="{{ .Site.Params.git4Commit }}{{ .GitInfo.Hash }}" title="Commit">{{ .GitInfo.AbbreviatedHash }}</a></em></span>{{ end }}
</p>
</div>
@ -29,9 +36,9 @@
</div>
</div>
<footer class="is-center">
{{ partial "prev-next" . }}
{{ partial "utils/prev-next" . }}
<div>{{ partial "tags" . }}</div>
{{ partial "top" . }}
{{ partial "utils/top" . }}
{{ partial "comments" . }}
</footer>
</article>

View File

@ -7,7 +7,7 @@
<div id="tags" class="pure-u-3-5 tags">
<!-- display tags -->
<h2><a href="{{ print "/tags" | relLangURL }}" title="" >{{ i18n "tagsTitle" }}</a></h2>
{{ partial "logarithm-tags.html" . }}
{{ partial "utils/logarithm-tags" . }}
</div>
{{- end -}}
{{- if not (eq (len .Site.Taxonomies.categories) 0) -}}

View File

@ -26,11 +26,13 @@
</p>
{{ else }}
<figure class="pagine-block-desc">
<a class="" href="{{ .Permalink }}">{{ .Description }}
<picture>
<img class="pure-img" src="{{ $class }}" style="margin-top: 1em" type="image/svg+xml" width="32">
</picture>
<a class="" href="{{ .Permalink }}">
<picture class="m-r pure-img svg-32 to-left">
{{ partial "utils/svg" (dict "src" $class) }}
</picture>
{{ .Description }}
</a>
<figcaption aria-hidden="true" class="hidden" hidden>{{ .Title }}</figcaption>
</figure>
{{ end -}}
<p class="is-right is-size-80 pagine-block-publish">{{ $dateTime := .PublishDate.Format "2006-01-02" }}
@ -43,17 +45,17 @@
</div>
{{ end }}
</div>
<div class="is-center">{{ partial "top" . }}</div>
<div class="is-center">{{ partial "utils/top" . }}</div>
</section>
{{- if eq .Site.Language.Lang "fr" }}
<section id="promote" class="projects-section fade show">
<div class="pure-g">
{{ partial "promote-openbsd" . }}
{{ partial "promote-debian" . }}
{{ partial "promote-openwrt" . }}
{{ partial "promote/openbsd" . }}
{{ partial "promote/debian" . }}
{{ partial "promote/openwrt" . }}
</div>
</section>
{{- end -}}
<div class="is-center">{{ partial "top" . }}</div>
<div class="is-center">{{ partial "utils/top" . }}</div>
{{- end -}}

View File

@ -0,0 +1,8 @@
<nav aria-label="breadcrumbs" id="breadcrumb">
<ul aria-labelledby="breadcrumb">
{{- range .Ancestors.Reverse }}
<li class="breadcrumb-item"><a href="{{ .RelPermalink }}">{{ .Title }}</a></li>
{{- end }}
<li class="active breadcrumb-item"><a aria-current="location" href="{{ .RelPermalink }}">{{ .Title }}</a></li>
</ul>
</nav>

View File

@ -1,14 +0,0 @@
<p>
Le contenu de cette page est diffusé sous les termes de la licence
<a href="http://creativecommons.org/publicdomain/zero/1.0/deed.{{ .lang }}" title="Creative Commons 1.0 Universal Transfert dans le Domaine Public">
<i aria-hidden="true" class="fa fa-creative-commons"></i> <i aria-hidden="true" class="fa fa-cc-zero"></i><span aria-hidden="true" class="hidden">CC-0</span>
</a>, ou domaine public
</p>
<p class="no-print">
Ce site est généré par <a href="http://gohugo.io">Hugo</a>,
<a href="http://purecss.io" title="Fait avec ❤️ avec PureCSS"><i aria-hidden="true" class=""></i><span class="">PureCSS</span></a> +
<a href="https://forkaweso.me" title="Les Icônes Fork Awesome"><i aria-hidden="true" class="fa fa-fork-awesome" title="Fork Awesome"></i><span aria-hidden="true" class="hidden">Fork Awesome</span></a> ;
<i aria-hidden="true" class="fa fa-html5" title="HTML 5"></i><span class="hidden">HTML 5</span>
et <i aria-hidden="true" class="fa fa-css3" title="CSS 3"></i><span aria-hidden="true" class="hidden">CSS 3</span>.
</p>
<p><i aria-hidden="true" class="fa fa-copyright"></i> <a href="http://huc.fr.eu.org">{{ i18n "me" }}</a> :: {{ .Dot.Site.Params.homeText | safeHTML }}</p>

View File

@ -1,18 +1,33 @@
<footer class="is-center footer-home">
<div class="pure-g">
<div class="pure-u-1 pure-u-md-1-5" id="footer-logo">
<figure>
<a href="{{ relLangURL "/" }}">
<picture>
<img alt="Logo" src="{{ .logo }}" type="image/svg+xml" width="64"><!-- integrity="sha512-mT7mdaD8A7CT7YEeH2V8xBRzTYsk9hGDwBaN8U3rldqCajTuFg2tIyHxyoj8Jgx7pose7Xn2h7IMg7yBTHBfAQ== sha384-Btuu5srpKJ4xoLLUdxjItnIfHrZReYObv2837eYpOGCEjM8NCXdRTCAQwqMZugRM sha256-gfrnRvdMDQlUzPCajS4J81TGDpJYcCjXQjPpKET1vEg="> -->
</picture>
</a>
<figcaption aria-hidden="true" class="hidden" hidden>Logo</figcaption>
<div class="pure-u-1 pure-u-md-1-5" id="footer-logo">
<figure>
<a class="" href="{{ .baseURL }}" rel="tooltip" title="{{ .Dot.Site.Title }} :: {{ T "homepageTitle" }}">
{{ partial "utils/svg" (dict "src" .logo) }}
</a>
<figcaption aria-hidden="true" class="hidden" hidden>{{ T "logo" }}</figcaption>
</figure>
</div>
<div class="pure-u-1 pure-u-md-3-5" id="footer-copyright">
{{ if eq .lang "en" }} {{ partial "footer.en.html" (dict "Dot" .Dot "lang" .lang) }} {{ else }} {{ partial "footer.fr.html" (dict "Dot" .Dot "lang" .lang) }} {{ end }}
<p>
{{ T "siteUnder" }}
<a href="http://creativecommons.org/publicdomain/zero/1.0/deed.{{ .lang }}" title="{{ T "siteCCUniversal" }}">
<svg class="svg-32">{{ partial "utils/icon" (dict "$" $.Dot "name" "cc" "class" "icon") }}</svg><span aria-hidden="true" class="hidden">CC</span>-0
</a>{{ T "siteDomainPublic" }}
</p>
<p class="no-print">
{{ T "siteMadeWith" }}<a href="http://gohugo.io">Hugo</a>,
<a href="http://purecss.io" title="Fait avec ❤️ avec PureCSS"><span class="">PureCSS</span></a> +
<svg class="svg-32">{{ partial "utils/icon" (dict "$" $.Dot "name" "html5" "class" "icon") }}</svg><span class="hidden">HTML 5</span>
<svg class="svg-32">{{ partial "utils/icon" (dict "$" $.Dot "name" "css3" "class" "icon") }}</svg><span aria-hidden="true" class="hidden">CSS 3</span>.
</p>
<p>
<svg class="svg-32">{{ partial "utils/icon" (dict "$" $.Dot "name" "copyright" "class" "icon") }}</svg>
<a href="http://huc.fr.eu.org">{{ T "me" }}</a>
:: {{ .Dot.Site.Params.homeText | safeHTML }}
</p>
<p class="no-print">
{{- if and .Dot.IsHome .Dot.GitInfo -}}
Commit version : <em><a class="raw-src" href="{{ $.Site.Params.git4Commit }}{{ .Dot.GitInfo.Hash }}" title="Commit">{{ .Dot.GitInfo.AbbreviatedHash }}</a></em><br>
@ -22,10 +37,10 @@
</div>
<div class="is-center no-print pure-u-1 pure-u-md-1-5" id="footer-infos">
{{/* {{- partial "switcher-themes" . -}} */}}
{{/* {{- partial "utils/switcher-themes" . -}} */}}
{{ partialCached "don" (dict "lang" .lang) }}
{{ partial "feeds" (dict "Dot" .Dot) }}
{{ partialCached "social-networks" (dict "lang" .lang) }}
{{ partialCached "utils/social-networks" (dict "lang" .lang) }}
</div>
</div>

View File

@ -0,0 +1,13 @@
<p>
Le contenu de cette page est diffusé sous les termes de la licence
<a href="http://creativecommons.org/publicdomain/zero/1.0/deed.{{ .lang }}" title="Creative Commons 1.0 Universal Transfert dans le Domaine Public">
<svg class="svg-32">{{ partial "utils/icon" (dict "$" $.Dot "name" "cc" "class" "icon") }}</svg><span aria-hidden="true" class="hidden">CC</span>-0
</a>, ou domaine public
</p>
<p class="no-print">
Ce site est généré par <a href="http://gohugo.io">Hugo</a>,
<a href="http://purecss.io" title="Fait avec ❤️ avec PureCSS"><span class="">PureCSS</span></a> +
<svg class="svg-32">{{ partial "utils/icon" (dict "$" $.Dot "name" "cc" "class" "icon") }}</svg><span class="hidden">HTML 5</span>
et <svg class="svg-32">{{ partial "utils/icon" (dict "$" $.Dot "name" "cc" "class" "icon") }}</svg><span aria-hidden="true" class="hidden">CSS 3</span>.
</p>
<p><i aria-hidden="true" class="fa fa-copyright"></i> <a href="http://huc.fr.eu.org">{{ i18n "me" }}</a> :: {{ .Dot.Site.Params.homeText | safeHTML }}</p>

View File

@ -1,4 +1,4 @@
<header class="is-center">
<header class="is-center">{{ hugo.Environment }}
<h1 class="animate delay-600">{{ i18n "me" }}</h1>
<h2>{{ .Site.Params.homeText | safeHTML }}</h2>
<div id="header-infos">
@ -13,5 +13,5 @@
{{- end -}}
</p>
</div>
{{ partialCached "section.categories" . }}
{{ partialCached "utils/section.categories" . }}
</header>

View File

@ -1,5 +1,6 @@
{{ $clipboard := resources.Get "js/clipboard.js" }}
{{/* $clipboard := resources.Get "js/clipboard.js" */}}
{{ $pgbar := resources.Get "js/progressbar.js" }}
{{ $global := slice $clipboard $pgbar | resources.Concat "js/1.js" }}
{{ $js := $global | minify | fingerprint }}
{{/* $global := slice $clipboard $pgbar | resources.Concat "js/1.js" */}}
{{ $js := $pgbar | minify | fingerprint }}
<script defer integrity="{{ $js.Data.Integrity }}" src="{{ $js.RelPermalink }}" type="text/javascript"></script>
{{ partialCached "utils/clipboard.js" . }}

View File

@ -3,6 +3,7 @@
{{ end -}}
{{- $apple_icon := resources.Get "/images/apple-icon-180px.png" -}}{{- $icon := resources.Get "/images/favicon.ico" -}}{{- $logo := resources.Get .logo -}}
{{- $img1 := resources.Get "/images/Stop_the_light_by_Mato_Rachela.jpg" -}}{{- $img2 := resources.Get "/images/Outoffocus.jpg" -}}
{{- $font1 := resources.Get "/fonts/MontserratAlternates/MontserratAlternates-Regular.otf" -}}{{- $font2 := resources.Get "/fonts/Roboto/Roboto-Regular.ttf" -}}
<link href="{{ $apple_icon.RelPermalink }}" rel="apple-touch-icon" sizes="180x180" type="{{ $apple_icon.MediaType }}"><!-- integrity="sha512-mT7mdaD8A7CT7YEeH2V8xBRzTYsk9hGDwBaN8U3rldqCajTuFg2tIyHxyoj8Jgx7pose7Xn2h7IMg7yBTHBfAQ== sha384-Btuu5srpKJ4xoLLUdxjItnIfHrZReYObv2837eYpOGCEjM8NCXdRTCAQwqMZugRM sha256-gfrnRvdMDQlUzPCajS4J81TGDpJYcCjXQjPpKET1vEg="> -->
<link href="{{ .baseURL }}" hreflang="{{ .lang }}" rel="canonical">
<link href="{{ $logo.RelPermalink }}" rel="icon" sizes="32x32" type="{{ $logo.MediaType }}"><!-- integrity="sha512-mT7mdaD8A7CT7YEeH2V8xBRzTYsk9hGDwBaN8U3rldqCajTuFg2tIyHxyoj8Jgx7pose7Xn2h7IMg7yBTHBfAQ== sha384-Btuu5srpKJ4xoLLUdxjItnIfHrZReYObv2837eYpOGCEjM8NCXdRTCAQwqMZugRM sha256-gfrnRvdMDQlUzPCajS4J81TGDpJYcCjXQjPpKET1vEg="> -->
@ -13,21 +14,33 @@
<link href="http://creativecommons.org/publicdomain/zero/1.0/deed.{{ .lang }}" rel="license">
<link href="https://{{ if eq .lang "en" }}bsd.network/@PengouinBSD{{ else }}framapiaf.org/@hucste{{ end }}" rel="me" type="text/html">
<link href="https://diaspora-fr.org/u/hucste" rel="me" type="text/html">
<link as="font" crossorigin="anonymous" href="/fonts/MontserratAlternates/MontserratAlternates-Regular.otf" rel="preload" type="font/otf">
<link as="font" crossorigin="anonymous" href="/fonts/Roboto/Roboto-Regular.ttf" rel="preload" type="font/ttf">
<link as="font" crossorigin="anonymous" href="{{ $font1.RelPermalink }}" rel="preload" type="{{ $font1.MediaType }}">
<link as="font" crossorigin="anonymous" href="{{ $font2.RelPermalink }}" rel="preload" type="{{ $font2.MediaType }}">
<link as="image" href="{{ $img1.RelPermalink }}" rel="preload" type="{{ $img1.MediaType }}">
<link as="image" href="{{ $img2.RelPermalink }}" rel="preload" type="{{ $img2.MediaType }}">
{{- if not .IsHome }}
{{ $s := slice "android" "debian" "devuan" "gnupg" "hugo" "nextcloud" "nginx" "openbsd" "openwrt" "php" "Feed-icon" }}
{{ range $s }}{{ $resources := printf "%s%s%s" "/svg/" . ".svg" }}{{ $img := resources.Get $resources -}}
<link as="image" href="{{ $img.RelPermalink }}" rel="preload" type="{{ $img.MediaType }}">
{{ end }}
{{ end }}
<link href="/{{ .lang }}/opensearch.xml" rel="search" title="HUC Websearch {{ .lang }}" type="application/opensearchdescription+xml">
<link href="{{ $icon.RelPermalink }}" rel="shortcut icon" type="{{ $icon.MediaType }}"><!-- integrity="sha512-/IZKAgWA8ajP4kTBYC2/3f+YaYmecd0W5Y38cvMQdKT8sXrjV1V1h4UoqBTnMYSykz9dD0WQYq8sWE+zePWO2Q=="> -->
<link href="{{ $icon.RelPermalink }}" rel="shortcut icon" type="image/x-icon"><!-- integrity="sha512-/IZKAgWA8ajP4kTBYC2/3f+YaYmecd0W5Y38cvMQdKT8sXrjV1V1h4UoqBTnMYSykz9dD0WQYq8sWE+zePWO2Q== sha384-CKCvkSIbj5i2uFPIQbf7HImQ/uFTNU+YbHq3aYHsR11/RgEFfv9Q3c/rwDrDajWP sha256-PoC4C1tkwXPE77pKqs30plVi6xA839nG/SNHH/N502I="> -->
<link href="{{ $logo.RelPermalink }}" rel="shortcut icon" type="{{ $logo.MediaType }}"><!-- integrity="sha512-mT7mdaD8A7CT7YEeH2V8xBRzTYsk9hGDwBaN8U3rldqCajTuFg2tIyHxyoj8Jgx7pose7Xn2h7IMg7yBTHBfAQ== sha384-Btuu5srpKJ4xoLLUdxjItnIfHrZReYObv2837eYpOGCEjM8NCXdRTCAQwqMZugRM sha256-gfrnRvdMDQlUzPCajS4J81TGDpJYcCjXQjPpKET1vEg="> -->
<link href="/sitemap.xml" rel="sitemap">
<link href="/{{ .lang }}/sitemap.xml" rel="sitemap">
<link href="{{ .baseURL }}{{ .lang }}/" hreflang="{{ .lang }}" rel="start">
<link crossorigin="anonymous" href="/css/pure-min.css" integrity="sha384-X38yfunGUhNzHpBaEBsWLO+A0HDYOQi8ufWDkZ0k9e0eXz/tH3II7uKZ9msv++Ls" rel="stylesheet">
<link crossorigin="anonymous" href="/css/grids-responsive-min.css" integrity="" rel="stylesheet">
<!-- <link rel="stylesheet" href="{{ "/css/vendor/all.min.css" | relURL }}" media="all" integrity="" crossorigin="anonymous">FontAwesome CSS -->
<link crossorigin="anonymous" href="/css/vendor/fork-awesome/fork-awesome.min.css" integrity="sha256-XoaMnoYC5TH6/+ihMEnospgm0J1PM/nioxbOUdnM8HY=" rel="stylesheet">
<link href="{{ .baseURL }}{{ .lang }}/" hreflang="{{ .lang }}" rel="start">
{{ $pure := resources.Get "css/pure-min.css" }}
{{ $grid := resources.Get "css/grids-responsive-min.css" }}
{{ $jquery := resources.Get "css/jquery-ui.min.css" }}
{{ $global := slice $pure $grid $jquery | resources.Concat "css/pure-grids-jq-min.css" }}
{{ $css := $global | fingerprint }}
<link crossorigin="anonymous" href="{{ $css.RelPermalink }}" integrity="{{ $css.Data.Integrity }}" rel="stylesheet">
<!-- <link crossorigin="anonymous" href="/css/grids-responsive-min.css" integrity="" rel="stylesheet">
<link rel="stylesheet" href="{{ "/css/vendor/all.min.css" | relURL }}" media="all" integrity="" crossorigin="anonymous">FontAwesome CSS
<link crossorigin="anonymous" href="/css/vendor/fork-awesome/fork-awesome.min.css" integrity="sha256-XoaMnoYC5TH6/+ihMEnospgm0J1PM/nioxbOUdnM8HY=" rel="stylesheet"> -->
{{ $nav := resources.Get "css/nav-responsive.css" }}
{{ $huc := resources.Get "css/huc.css" }}
@ -35,6 +48,6 @@
{{ $css := $global | minify | fingerprint }}
<link rel="stylesheet" href="{{ $css.RelPermalink }}" crossorigin="anonymous" integrity="{{ $css.Data.Integrity }}" media="screen">
{{ $css := resources.Get "css/gutenberg.min.css" | fingerprint }}
{{ $css := resources.Get "css/gutenberg.css" | minify | fingerprint }}
<link rel="stylesheet" href="{{ $css.RelPermalink }}" crossorigin="anonymous" integrity="{{ $css.Data.Integrity }}" media="print">

View File

@ -1,42 +1,46 @@
<nav id="main-menu">
<div id="logo">
<figure>
<a class="" href="{{ relLangURL "/" }}" rel="tooltip" title="{{ .Site.Title }} :: {{ i18n "homepageTitle" }}">
<!-- {{.Site.Title}} -->
<picture>
<!-- <source srcset="{{ .Site.Params.logo }}.br" type="image/svg+xml">
<source srcset="{{ .Site.Params.logo }}.gz" type="image/svg+xml"> -->
<img alt="Logo" src="{{ .Site.Params.logo }}" type="image/svg+xml" width="64"><!-- integrity="sha512-mT7mdaD8A7CT7YEeH2V8xBRzTYsk9hGDwBaN8U3rldqCajTuFg2tIyHxyoj8Jgx7pose7Xn2h7IMg7yBTHBfAQ== sha384-Btuu5srpKJ4xoLLUdxjItnIfHrZReYObv2837eYpOGCEjM8NCXdRTCAQwqMZugRM sha256-gfrnRvdMDQlUzPCajS4J81TGDpJYcCjXQjPpKET1vEg="> -->
</picture>
<div id="logo">{{- $logo := resources.Get .logo -}}
<figure>
<a class="" href="{{ .baseURL }}" rel="tooltip" title="{{ .Dot.Site.Title }} :: {{ T "homepageTitle" }}">
{{ partial "utils/svg" (dict "src" $logo.RelPermalink) }}
</a>
<figcaption aria-hidden="true" class="hidden" hidden>Logo</figcaption>
<figcaption aria-hidden="true" class="hidden" hidden>{{ T "logo" }}</figcaption>
</figure>
</div>
<label for="drop" class="no-print toggle"><i aria-hidden="true" class="fa fa-bars"></i><span aria-hidden="true" class="hidden" hidden>Menu</span></label>
<label class="no-print toggle" for="drop" id="icon-menu">
{{ partial "utils/icon" (dict "$" $.Dot "name" "menu2" "class" "post-meta-icon") }}
<span aria-hidden="true" class="hidden" hidden>Menu</span>
</label>
<input class="no-print" id="drop" type="checkbox" />
<ul aria-labelledby="main-menu" class="menu no-print">
{{- range .Site.Menus.main -}}
{{ if .HasChildren }} {{ $id := print "drop-" .Identifier }}
<li class="" role="none">{{ $icon := printf `<i aria-hidden="true" class="%s"></i>` .Pre }} {{ $text := print $icon " " .Name | safeHTML }}
{{- range .Dot.Site.Menus.main -}}
{{ if .HasChildren }} {{ $id := print "drop-" .Identifier }}{{- $name := (string .Identifier) -}}
<li class="" role="none">
<!-- <button class="menu-button" data-theme-option="os-default" type="button">
<span class="theme-switcher-option"> -->
<label for="{{ $id }}" class="toggle">{{ $text }} +</label>
<a class="" href="#">{{ $text }} <i aria-hidden="true" class="fa fa-caret-down"></i></a>
<input type="checkbox" id="{{ $id }}"/>
<ul class="menu-drop">
{{- range .Children -}}
<li class="" role="none"> {{ $icon := printf `%s` .Pre }} {{ $text := print $icon " " .Name | safeHTML }}
<a class="" href="{{ .URL | relLangURL }}" >{{ $text }}</a>
</li>
{{- end -}}
</ul>
<label for="{{ $id }}" class="toggle">{{ .Name }} +</label>
<a class="" href="#">
{{ .Name }}
{{ partial "utils/icon" (dict "$" $.Dot "name" $name "class" "post-meta-icon") }}
<!-- <i aria-hidden="true" class="fa fa-caret-down"></i> -->
</a>
<input type="checkbox" id="{{ $id }}"/>
<ul class="menu-drop">
{{- range .Children -}}
<li class="" role="none">
<a class="" href="{{ .URL | relLangURL }}" >{{ .Name }}</a>
</li>
{{- end -}}
</ul>
<!-- </span>
</button> -->
</li>
{{ else if ne .Identifier "home" }}
<li class="" role="none">
{{ $icon := printf `<i aria-hidden="true" class="%s"></i>` .Pre }} {{ $text := print $icon " " .Name | safeHTML }}
<a class="" href="{{ .URL | relLangURL }}">{{ $text }}</a>
<li class="main-menu-item" role="none">{{- $name := (string .Identifier) -}}
<a class="main-menu-link" href="{{ .URL | relLangURL }}">
{{ partial "utils/icon" (dict "$" $.Dot "name" $name "class" "post-meta-icon") }}
{{ .Name }}
</a>
</li>
{{ end }}
{{ end -}}
@ -44,7 +48,7 @@
</ul>
<ul aria-labelledby="lang-selector" class="menu no-print">
<li class="lang-selector" role="none">
{{ partial "language-selector" . }}
{{ partial "utils/language-selector" . }}
</li>
</ul>
@ -56,8 +60,7 @@
<input class="form-control" id="search" placeholder="{{ i18n "searchHolderTitle" }}">
<input aria-hidden="true" id="replyer" type="hidden">
{{- $baseURL := (printf "%s%s" $.Site.BaseURL $.Site.Language.Lang) | absLangURL -}}
{{- if not (in $baseURL "localhost:1313") -}}{{ partial "search.json.html" . }}{{ else }}{{ partial "search.js.html" . }}{{- end -}}
{{- if not (in $baseURL "localhost:1313") -}}{{ partial "utils/search.json" (dict "Dot" .Dot) }}{{ else }}{{ partial "utils/search.js" (dict "Dot" .Dot) }}{{- end -}}
</li>
</ul>
{{- end -}}

View File

@ -4,7 +4,11 @@ JQuery URL:
- https://jquery.com/download/ : to dl files
- https://releases.jquery.com/ : to get SRI
- https://jqueryui.com/download/
-->
--> <!--
<script src="{{ "/js/vendor/jquery-3.7.0.min.js" | relURL }}" integrity="sha256-2Pmvv0kuTBOenSvLm6bvfBSSHrUJ+3A7x6P5Ebd07/g=" crossorigin="anonymous"></script>
<script src="{{ "/js/vendor/jquery-ui-1.13.2/jquery-ui.min.js" | relURL }}" integrity="sha256-lSjKY0/srUM9BE3dPm+c4fBo1dky2v27Gdjm2uoZaL0=" crossorigin="anonymous"></script> <!-- JQuery UI -->
{{ partialCached "clipboard.js.html" . }}
<script src="{{ "/js/vendor/jquery-ui-1.13.2/jquery-ui.min.js" | relURL }}" integrity="sha256-lSjKY0/srUM9BE3dPm+c4fBo1dky2v27Gdjm2uoZaL0=" crossorigin="anonymous"></script>JQuery UI -->
{{ $jq := resources.Get "js/vendor/jquery-3.7.1.min.js" }}
{{ $ui := resources.Get "js/vendor/jquery-ui.min.js" }}
{{ $global := slice $jq $ui | resources.Concat "js/jq.js" }}
{{ $js := $global | fingerprint }}
<script integrity="{{ $js.Data.Integrity }}" src="{{ $js.RelPermalink }}" type="text/javascript"></script>

View File

@ -1,10 +1,11 @@
<script>
{{- $js := resources.Get "/js/vendor/clipboard-polyfill.promise.js" | minify | fingerprint -}}
<script defer>
function addCopyButtons(clipboard) {
document.querySelectorAll('pre > code').forEach(function (codeBlock) {
var button = document.createElement('button');
button.className = 'copy-code-button';
button.type = 'button';
button.innerText = "{{ i18n "btnTxtCopy" }}";
button.innerText = "{{ T "btnTxtCopy" }}";
button.addEventListener('click', function () {
clipboard.writeText(codeBlock.innerText).then(function () {
@ -12,10 +13,10 @@ function addCopyButtons(clipboard) {
leaving the button in a focused state. */
button.blur();
button.innerText = "{{ i18n "btnTxtCopied" }}";
button.innerText = "{{ T "btnTxtCopied" }}";
setTimeout(function () {
button.innerText = "{{ i18n "btnTxtCopy" }}";
button.innerText = "{{ T "btnTxtCopy" }}";
}, 2000);
}, function (error) {
button.innerText = 'Error';
@ -31,4 +32,18 @@ function addCopyButtons(clipboard) {
}
});
}
if (navigator && navigator.clipboard) {
addCopyButtons(navigator.clipboard);
} else {
var script = document.createElement('script');
script.src = "{{ $js.RelPermalink }}";
/*script.integrity = 'sha256-waClS2re9NUbXRsryKoof+F9qc1gjjIhc2eT7ZbIv94=';*/
script.integrity = "{{ $js.Data.Integrity }}";
script.crossOrigin = 'anonymous';
script.onload = function() {
addCopyButtons(clipboard);
};
document.body.appendChild(script);
}
</script>

View File

@ -0,0 +1,6 @@
{{- $ := index . "$" -}}
{{- $name := .name -}}
{{- $class := .class | default $name -}}
{{- $icon := index $.Site.Data.SVG $name -}}
{{- $class := printf "icon %s" $class -}}
{{- return (replace $icon "icon" $class | safeHTML) -}}

View File

@ -2,7 +2,8 @@
{{- $currentNode := . -}}
{{- $currentNode.Scratch.Set "pages" .Site.Pages -}}
{{- $pages := ($currentNode.Scratch.Get "pages") -}}
{{- $baseURL := (printf "%s%s/" $.Site.BaseURL $.Site.Language.Lang) | absLangURL -}}
{{/* $baseURL := (printf "%s%s/" $.Site.BaseURL $.Site.Language.Lang) | absLangURL */}}
{{- $baseURL := (partial "func/baseURL" .) | absLangURL -}}
<script>
$(function() {
var projects = [

View File

@ -1,6 +1,7 @@
<!-- Javascript -->
<script>
{{- $baseURL := (printf "%s%s" $.Site.BaseURL $.Site.Language.Lang) | absLangURL -}}
{{/* $baseURL := (printf "%s%s" $.Site.BaseURL $.Site.Language.Lang) | absLangURL */}}
{{- $baseURL := (partial "func/baseURL" .) | absLangURL -}}
{{- $feed := (printf "%s%s" $baseURL "/feed.json") | safeURL -}}
$(function() {
var projects = [

View File

@ -41,19 +41,15 @@
{{ $id := .id }}{{ $name := .name }}{{ $nb := .nb }}{{ $url := .url }}{{ $width := .width }}
{{ $src := printf "%s%s%s" "/svg/" ($name | strings.ToLower) ".svg" }}
{{ $ext := path.Ext $src | strings.TrimPrefix "." }}
{{- with $nb -}}
{{- with $nb -}}{{ $title := T "txtIntoSectionNbArticles" (dict "Name" $name "Nb" $nb) }}
<div class="pure-u-1-24">
<p class="">
<a href="{{ $url }}" title="{{ T "txtIntoSectionNbArticles" (dict "Name" $name "Nb" $nb) }}">
<picture>
{{ if eq $ext "svg" }}
<img alt="{{ $name }}" class="pure-img" src="{{ $src }}" type="image/{{ $ext }}+xml" width="{{ $width }}">
{{ else }}
<img alt="{{ $name }}" class="pure-img" src="/img/{{ $name | strings.ToLower }}.{{ $ext }}" type="image/{{ $ext }}" width="{{ $width }}">
{{ end }}
</picture>
<span aria-hidden="true" class="hidden" hidden>{{ T "txtIntoSectionNbArticles" (dict "Name" $name "Nb" $nb) }}</span>
</a>
<figure class="pure-img svg-{{ $width }}">
<a href="{{ $url }}" title="{{ $title }}">
{{ partial "utils/svg" (dict "src" $src "title" $name "width" $width) }}
</a>
<figcaption aria-hidden="true" class="hidden" hidden>{{ $title }}</figcaption>
</figure>
</p>
</div>
{{- end -}}
@ -62,7 +58,7 @@
<div class="animate delay-600 fadeInLeft search{{- if not .Site.IsServer -}} json{{- end -}}">
<input class="form-control" id="search" placeholder="{{ i18n "searchHolderTitle" }}">
<input aria-hidden="true" id="replyer" type="hidden">
{{ if not .Site.IsServer -}}{{ partial "search.json" . }}{{ else }}{{ partial "search.js" . }}{{- end }}
{{ if not .Site.IsServer -}}{{ partial "utils/search.json" . }}{{ else }}{{ partial "utils/search.js" . }}{{- end }}
</div>
<p><a href="#pagine" class="animate fadeInLeft delay-800 button-xsmall pure-button" id="sd">↓ {{ i18n "pagineTitle" (len $.Paginator.Pages) }} ↓</a></p>
</div>

View File

@ -0,0 +1,4 @@
{{/* runner for assets/image */}}{{ $resource := printf "%s%s" "/svg/" .src }}{{- $src := resources.Get .src -}}
{{- with $src }}
{{ .Content | safeHTML }}
{{ end -}}

View File

@ -0,0 +1,9 @@
{{/* runner for assets/image */}}{{- $class := .Get "class" -}}{{- $src := resources.Get (printf "%s%s" "/svg/" (.Get "src")) -}}{{ $title := .Get "title" }}
{{ with $src }}
<figure class="pure-img{{ if $class }} {{ $class }}{{ end }}">
<a href="{{ .RelPermalink }}" title="{{ $title }}">
{{ .Content | safeHTML }}
</a>
{{ if $title }}<figcaption aria-hidden="true" class="hidden" hidden>{{ $title }}</figcaption>{{ end }}
</figure>
{{ end }}

View File

@ -0,0 +1,13 @@
{{- $src := resources.Get (printf "%s%s" "/svg/" (.Get "s")) -}}{{- $alt := .Get "a" | safeHTML -}}{{- $width := printf "%s" (.Get "w") -}}
{{- with $src }}
<figure>
<a href="/{{ $src }}" title="{{ $alt }}">
<picture>
<svg xmlns="http://www.w3.org/2000/svg" width="{{ $width }}">
{{ $src.Content | safeHTML }}
</svg>
</picture>
</a>
<figcaption>{{ $alt }}</figcaption>
</figure>
{{ end -}}

View File

@ -1,13 +1,10 @@
{{- $src := resources.Get (printf "%s%s" "/svg/" (.Get "s")) -}}{{- $alt := .Get "a" | safeHTML -}}{{- $width := printf "%s" (.Get "w") -}}
{{/* runner for assets/image */}}{{- $src := resources.Get (printf "%s%s" "/svg/" (.Get "src")) -}}{{ $title := .Get "title" }}
{{ $old := "<svg height=\"24\" width=\"24\" viewBox=\"0 0 24 24\">" }}{{ $new := "" }}
{{- with $src }}
<figure>
<a href="/{{ $src }}" title="{{ $alt }}">
<picture>
<svg xmlns="http://www.w3.org/2000/svg" width="{{ $width }}">
{{ $src.Content | safeHTML }}
</svg>
</picture>
</a>
<figcaption>{{ $alt }}</figcaption>
</figure>
{{ with $title }}{{ $new = printf "<svg height=\"24\" width=\"24\" viewBox=\"0 0 24 24\"><title>%s</title>" $title }}{{ end }}
{{ if $new }}
{{ $content := replace $src.Content $old $new }}{{ $content | safeHTML}}
{{ else }}
{{ .Content | safeHTML }}
{{ end }}
{{ end -}}