diff --git a/assets/static/css/bcarlin.css b/assets/static/css/bcarlin.css index c81f84f..e0c627b 100644 --- a/assets/static/css/bcarlin.css +++ b/assets/static/css/bcarlin.css @@ -50,6 +50,7 @@ --pico-font-family-sans-serif: 'Nunito Sans', sans-serif, var(--pico-font-family-emoji); --pico-card-sectioning-background-color: transparent; --pico-typography-spacing-vertical: calc(1.5 * var(--pico-spacing)); + --markup-color: rgb(194 198 207 / 100%); } @media only screen and (prefers-color-scheme: light) { @@ -57,10 +58,6 @@ --pico-background-color: rgb(247 249 252 / 100%); --pico-card-background-color: rgb(255 255 255 / 100%); --pico-card-sectioning-background-color: transparent; - --pico-code-color: inherit; - - --color-codeblock-meta-background: rgb(255 255 255 / 100%); - --markup-color: rgb(194 198 207 / 100%); } .admonition.warning { @@ -75,13 +72,6 @@ } @media only screen and (prefers-color-scheme: dark) { - :root:not([data-theme]) { - --pico-code-color: inherit; - - --color-codeblock-meta-background: rgb(0 0 0 / 30%); - --markup-color: rgb(89 94 104 / 100%); - } - .admonition.warning { --admonition-background-color: rgb(52 46 38 / 100%); --admonition-border-color: rgb(255 208 143 / 100%); @@ -232,6 +222,11 @@ body { } } +@media (width >= 1024px) { + .metadata p { + display: inline; + } +} /* @@ -261,15 +256,6 @@ main { margin-top: 0.3em; } - @media (width >= 1024px) { - .metadata p { - display: inline; - } - } - - .tags i { - margin-inline-start: 0.5em; - } .category a { font-family: var(--pico-font-family-sans-serif); @@ -458,47 +444,3 @@ main { } } } - -/* - * Code blocks - */ - -.highlight { - position: relative; - - > div { - display: inline-block; - position: absolute; - right: 0; - top: 0; - padding: 0.5em 1.2em; - color: var(--pico-muted-color); - background-color: var(--color-codeblock-meta-background); - font-family: var(--pico-font-family-monospace); - font-size: 0.7em; - line-height: 1em; - border-end-start-radius: var(--pico-border-radius); - - span { - border-inline-start: inset 1px var(--pico-muted-color); - padding-inline-start: 1em; - margin-inline-start: 1em; - cursor: pointer; - - &::before { - content: "\ecd5"; - font-family: "remixicon"; - font-weight: normal; - margin-inline-end: 0.5em; - } - - &.copied::before { - content: "\eb7b"; - } - - &.not-copied::before { - content: "\eca1"; - } - } - } -} diff --git a/assets/static/js/bcarlin.js b/assets/static/js/bcarlin.js index 8812e9d..d728169 100644 --- a/assets/static/js/bcarlin.js +++ b/assets/static/js/bcarlin.js @@ -2,68 +2,21 @@ // Listens for clicks on the mobile menu toggle and the main menu close toggle. window.addEventListener('click', function(e) { + const menu = document.getElementById('menu'), + menuToggle = document.getElementById('menu-toggle'), + body = document.body; + if (e.target.matches('#menu-toggle, #menu-toggle i')) { - openMenu(); - } else if (e.target.matches('#menu-close, #menu-close i')) { - closeMenu(); - } else if (e.target.matches('[data-action="copy"]')) { - copyCodeToClipboard(e); + menu.classList.toggle('active'); + menu.ariaHidden = false; + menuToggle.ariaExpanded = true; + body.style.overflow = 'hidden'; + } + + if (e.target.matches('#menu-close, #menu-close i')) { + menu.classList.remove('active'); + menu.ariaHidden = true; + menuToggle.ariaExpanded = false; + body.style.overflow = 'auto'; } }); - -function openMenu() { - const menu = document.getElementById('menu'), - menuToggle = document.getElementById('menu-toggle'), - body = document.body; - - menu.classList.toggle('active'); - menu.ariaHidden = false; - menuToggle.ariaExpanded = true; - body.style.overflow = 'hidden'; -} - -function closeMenu() { - const menu = document.getElementById('menu'), - menuToggle = document.getElementById('menu-toggle'), - body = document.body; - - menu.classList.remove('active'); - menu.ariaHidden = true; - menuToggle.ariaExpanded = false; - body.style.overflow = 'auto'; -} - -function copyCodeToClipboard(e) { - const codeTag = e.target.closest('.highlight').querySelector("code"); - - if (!codeTag) return; - - const tw = document.createTreeWalker( - codeTag, - NodeFilter.SHOW_TEXT, - (node) => { - if (node.parentElement.matches(".ln")) { - return NodeFilter.FILTER_REJECT; - } - - return NodeFilter.FILTER_ACCEPT; - }, - ); - - let acc = ""; - while (tw.nextNode()) { - acc += tw.currentNode.textContent; - } - - navigator.clipboard.writeText(acc) - .then(() => { - e.target.classList.add('copied'); - - setTimeout(() => { - e.target.classList.remove('copied'); - }, 5000); - }) - .catch(() => { - e.target.classList.add('not-copied'); - }); -} diff --git a/content/blog/008-embracing-modern-css/index.en.md b/content/blog/008-embracing-modern-css/index.en.md index 439542c..b1ed39f 100644 --- a/content/blog/008-embracing-modern-css/index.en.md +++ b/content/blog/008-embracing-modern-css/index.en.md @@ -1,7 +1,7 @@ --- # vim: spell spelllang=en title: 'Embracing Modern CSS' -slug: '8-embracing-modern-css' +slug: '008-embracing-modern-css' date: '2025-07-06T14:29:26+02:00' draft: false categories: diff --git a/content/blog/008-embracing-modern-css/index.fr.md b/content/blog/008-embracing-modern-css/index.fr.md index d74e4d1..09307e3 100644 --- a/content/blog/008-embracing-modern-css/index.fr.md +++ b/content/blog/008-embracing-modern-css/index.fr.md @@ -1,7 +1,7 @@ --- # vim: spell spelllang=fr title: 'Adopter un CSS moderne' -slug: '8-adopter-css-moderne' +slug: '008-adopter-css-moderne' date: '2025-07-06T14:29:26+02:00' draft: false categories: diff --git a/layouts/_markup/render-codeblock.html b/layouts/_markup/render-codeblock.html deleted file mode 100644 index 0d31dec..0000000 --- a/layouts/_markup/render-codeblock.html +++ /dev/null @@ -1,13 +0,0 @@ -{{- $result := transform.HighlightCodeBlock . }} -
- {{- /* chomp newline */ -}}
- {{ $result.Inner }}
- {{- /* chomp newline */ -}}
-
-- {{- range . }} + {{ range . }} {{ .LinkTitle }} - {{- break }} - {{- end }} + {{ break }} + {{ end }}
{{ end }}