Initial commit
This commit is contained in:
commit
d9aef58594
3
.gitmodules
vendored
Normal file
3
.gitmodules
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
[submodule "themes/anubis2"]
|
||||
path = themes/anubis2
|
||||
url = https://github.com/Junyi-99/hugo-theme-anubis2.git
|
||||
0
.hugo_build.lock
Normal file
0
.hugo_build.lock
Normal file
5
archetypes/default.md
Normal file
5
archetypes/default.md
Normal file
@ -0,0 +1,5 @@
|
||||
+++
|
||||
date = '{{ .Date }}'
|
||||
draft = true
|
||||
title = '{{ replace .File.ContentBaseName "-" " " | title }}'
|
||||
+++
|
||||
2
deploy.sh
Executable file
2
deploy.sh
Executable file
@ -0,0 +1,2 @@
|
||||
#!/usr/bin/env bash
|
||||
hugo && rsync -avz --delete public/ shinobi.thanwer.com:/srv/www/blog/
|
||||
26
hugo.toml
Normal file
26
hugo.toml
Normal file
@ -0,0 +1,26 @@
|
||||
baseURL = 'https://blog.thanwer.com/'
|
||||
languageCode = 'en-us'
|
||||
theme = "anubis2"
|
||||
title = "Thanwer's Blog"
|
||||
|
||||
[params]
|
||||
author.name = "Pietro Arancibia"
|
||||
author.email = "admin@thanwer.com"
|
||||
author.location = "Germany"
|
||||
colorTheme = "auto"
|
||||
colorThemeSwitcher = true
|
||||
social = [
|
||||
{ id = "github", url = "https://github.com/thanwer" },
|
||||
{ id = "linkedin", url = "https://www.linkedin.com/in/thanwer/" },
|
||||
{ id = "email", url = "mailto:admin@thanwer.com" },
|
||||
{ id = "facebook", url = "https://facebook.com/thanwer" },
|
||||
{ id = "instagram", url = "https://www.instagram.com/thanwer/" },
|
||||
{ id = "telegram", url = "https://t.me/thanwer" },
|
||||
{ id = "x", url = "https://x.com/thanwer" },
|
||||
{ id = "youtube", url = "https://youtube.com/lordthanwer" }
|
||||
]
|
||||
[markup.goldmark.renderer]
|
||||
unsafe = true # true | false; Enable unsafe mode to have a better experience
|
||||
|
||||
[markup.highlight]
|
||||
style = 'base16-snazzy' # Highlight.js style
|
||||
562
public/404.html
Normal file
562
public/404.html
Normal file
@ -0,0 +1,562 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
|
||||
<html lang="en-us" data-theme="">
|
||||
<head>
|
||||
|
||||
|
||||
<meta charset="utf-8">
|
||||
<meta name="HandheldFriendly" content="True">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="referrer" content="no-referrer-when-downgrade">
|
||||
|
||||
<title>404 Page not found - Thanwer’s Blog</title>
|
||||
|
||||
<meta name="description" content="">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link rel="icon" type="image/x-icon" href="https://blog.thanwer.com/favicon.ico">
|
||||
<link rel="apple-touch-icon-precomposed" href="https://blog.thanwer.com/favicon.png">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<style>
|
||||
body {
|
||||
visibility: hidden;
|
||||
opacity: 0;
|
||||
}
|
||||
</style>
|
||||
|
||||
<noscript>
|
||||
<style>
|
||||
body {
|
||||
visibility: visible;
|
||||
opacity: 1;
|
||||
}
|
||||
</style>
|
||||
</noscript>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="/css/style.min.184a655c5ad8596648622468e6696abf0cf0a2cf8266df17b4f7a36fe9c97551.css" integrity="sha256-GEplXFrYWWZIYiRo5mlqvwzwos+CZt8XtPejb+nJdVE=">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="/css/style.min.c4c04b3ef88e3d619ad4c7ee5e03048422bc55c4fefdc1f07657c1133670aa22.css" integrity="sha256-xMBLPviOPWGa1MfuXgMEhCK8VcT+/cHwdlfBEzZwqiI=">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="/css/style.min.21c5d8fe0a79d623b0adc1ce4bd4f6dd2c05cd939c9aaaa966ba7186b1464f4d.css" integrity="sha256-IcXY/gp51iOwrcHOS9T23SwFzZOcmqqpZrpxhrFGT00=">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<script src="/js/script.min.08f04d96386c73c9bf4d160333f8f448c05a6e01c06770542ee0e013954ce930.js" type="text/javascript" charset="utf-8" integrity="sha256-CPBNljhsc8m/TRYDM/j0SMBabgHAZ3BULuDgE5VM6TA="></script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<a class="skip-main" href="#main">Skip to main content</a>
|
||||
<div class="container">
|
||||
<header class="common-header">
|
||||
|
||||
<div class="header-top">
|
||||
<div class="header-top-left">
|
||||
<h1 class="site-title noselect">
|
||||
<a href="/">Thanwer's Blog</a>
|
||||
</h1>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="theme-switcher">
|
||||
<span class="inline-svg">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-sun-high"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M14.828 14.828a4 4 0 1 0 -5.656 -5.656a4 4 0 0 0 5.656 5.656z" /><path d="M6.343 17.657l-1.414 1.414" /><path d="M6.343 6.343l-1.414 -1.414" /><path d="M17.657 6.343l1.414 -1.414" /><path d="M17.657 17.657l1.414 1.414" /><path d="M4 12h-2" /><path d="M12 4v-2" /><path d="M20 12h2" /><path d="M12 20v2" /></svg>
|
||||
|
||||
|
||||
</span>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<script>
|
||||
const STORAGE_KEY = 'user-color-scheme'
|
||||
const defaultTheme = "auto"
|
||||
|
||||
let currentTheme
|
||||
let switchButton
|
||||
let autoDefinedScheme = window.matchMedia('(prefers-color-scheme: dark)')
|
||||
|
||||
function switchTheme(e) {
|
||||
currentTheme = (currentTheme === 'dark') ? 'light' : 'dark';
|
||||
if (localStorage) localStorage.setItem(STORAGE_KEY, currentTheme);
|
||||
document.documentElement.setAttribute('data-theme', currentTheme);
|
||||
changeGiscusTheme(currentTheme);
|
||||
document.body.dispatchEvent(new CustomEvent(currentTheme + "-theme-set"));
|
||||
}
|
||||
|
||||
const autoChangeScheme = e => {
|
||||
currentTheme = e.matches ? 'dark' : 'light'
|
||||
document.documentElement.setAttribute('data-theme', currentTheme);
|
||||
changeGiscusTheme(currentTheme);
|
||||
document.body.dispatchEvent(new CustomEvent(currentTheme + "-theme-set"));
|
||||
}
|
||||
|
||||
document.addEventListener('DOMContentLoaded', function () {
|
||||
switchButton = document.querySelector('.theme-switcher')
|
||||
currentTheme = detectCurrentScheme()
|
||||
|
||||
if (currentTheme === 'auto') {
|
||||
autoChangeScheme(autoDefinedScheme);
|
||||
autoDefinedScheme.addListener(autoChangeScheme);
|
||||
} else {
|
||||
document.documentElement.setAttribute('data-theme', currentTheme)
|
||||
}
|
||||
|
||||
if (switchButton) {
|
||||
switchButton.addEventListener('click', switchTheme, false)
|
||||
}
|
||||
|
||||
showContent();
|
||||
})
|
||||
|
||||
function detectCurrentScheme() {
|
||||
if (localStorage !== null && localStorage.getItem(STORAGE_KEY)) {
|
||||
return localStorage.getItem(STORAGE_KEY)
|
||||
}
|
||||
if (defaultTheme) {
|
||||
return defaultTheme
|
||||
}
|
||||
return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
|
||||
}
|
||||
|
||||
function showContent() {
|
||||
document.body.style.visibility = 'visible';
|
||||
document.body.style.opacity = 1;
|
||||
}
|
||||
|
||||
function changeGiscusTheme (theme) {
|
||||
function sendMessage(message) {
|
||||
const iframe = document.querySelector('iframe.giscus-frame');
|
||||
if (!iframe) return;
|
||||
iframe.contentWindow.postMessage({ giscus: message }, 'https://giscus.app');
|
||||
}
|
||||
|
||||
sendMessage({
|
||||
setConfig: {
|
||||
theme: theme
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
<ul class="social-icons noselect">
|
||||
|
||||
|
||||
|
||||
<li>
|
||||
<a href="https://github.com/thanwer" title="Github" rel="me">
|
||||
<span class="inline-svg">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-brand-github"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M9 19c-4.3 1.4 -4.3 -2.5 -6 -3m12 5v-3.5c0 -1 .1 -1.4 -.5 -2c2.8 -.3 5.5 -1.4 5.5 -6a4.6 4.6 0 0 0 -1.3 -3.2a4.2 4.2 0 0 0 -.1 -3.2s-1.1 -.3 -3.5 1.3a12.3 12.3 0 0 0 -6.2 0c-2.4 -1.6 -3.5 -1.3 -3.5 -1.3a4.2 4.2 0 0 0 -.1 3.2a4.6 4.6 0 0 0 -1.3 3.2c0 4.6 2.7 5.7 5.5 6c-.6 .6 -.6 1.2 -.5 2v3.5" /></svg>
|
||||
|
||||
|
||||
</span>
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
<li>
|
||||
<a href="https://www.linkedin.com/in/thanwer/" title="Linkedin" rel="me">
|
||||
<span class="inline-svg">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-brand-linkedin"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M4 4m0 2a2 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="M8 11l0 5" /><path d="M8 8l0 .01" /><path d="M12 16l0 -5" /><path d="M16 16v-3a2 2 0 0 0 -4 0" /></svg>
|
||||
|
||||
|
||||
</span>
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
<li>
|
||||
<a href="mailto:admin@thanwer.com" title="Email" rel="me">
|
||||
<span class="inline-svg">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-mail"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M3 7a2 2 0 0 1 2 -2h14a2 2 0 0 1 2 2v10a2 2 0 0 1 -2 2h-14a2 2 0 0 1 -2 -2v-10z" /><path d="M3 7l9 6l9 -6" /></svg>
|
||||
|
||||
|
||||
</span>
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
<li>
|
||||
<a href="https://facebook.com/thanwer" title="Facebook" rel="me">
|
||||
<span class="inline-svg">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-brand-facebook"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M7 10v4h3v7h4v-7h3l1 -4h-4v-2a1 1 0 0 1 1 -1h3v-4h-3a5 5 0 0 0 -5 5v2h-3" /></svg>
|
||||
|
||||
|
||||
</span>
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
<li>
|
||||
<a href="https://www.instagram.com/thanwer/" title="Instagram" rel="me">
|
||||
<span class="inline-svg">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-brand-instagram"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M4 4m0 4a4 4 0 0 1 4 -4h8a4 4 0 0 1 4 4v8a4 4 0 0 1 -4 4h-8a4 4 0 0 1 -4 -4z" /><path d="M12 12m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0" /><path d="M16.5 7.5l0 .01" /></svg>
|
||||
|
||||
|
||||
</span>
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
<li>
|
||||
<a href="https://t.me/thanwer" title="Telegram" rel="me">
|
||||
<span class="inline-svg">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-brand-telegram"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M15 10l-4 4l6 6l4 -16l-18 7l4 2l2 6l3 -4" /></svg>
|
||||
|
||||
|
||||
</span>
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
<li>
|
||||
<a href="https://x.com/thanwer" title="X" rel="me">
|
||||
<span class="inline-svg">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-brand-x"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M4 4l11.733 16h4.267l-11.733 -16z" /><path d="M4 20l6.768 -6.768m2.46 -2.46l6.772 -6.772" /></svg>
|
||||
|
||||
|
||||
</span>
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
<li>
|
||||
<a href="https://youtube.com/lordthanwer" title="Youtube" rel="me">
|
||||
<span class="inline-svg">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-brand-youtube"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M2 8a4 4 0 0 1 4 -4h12a4 4 0 0 1 4 4v8a4 4 0 0 1 -4 4h-12a4 4 0 0 1 -4 -4v-8z" /><path d="M10 9l5 3l-5 3z" /></svg>
|
||||
|
||||
|
||||
</span>
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li>
|
||||
<a href="/index.xml" title="RSS" rel="me">
|
||||
<span class="inline-svg">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-rss"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M5 19m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0" /><path d="M4 4a16 16 0 0 1 16 16" /><path d="M4 11a9 9 0 0 1 9 9" /></svg>
|
||||
|
||||
|
||||
</span>
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
<div class="header-top-right">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<nav></nav>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</header>
|
||||
<main id="main" tabindex="-1">
|
||||
|
||||
<main id="main">
|
||||
<div>
|
||||
<h1 id="title"><a href="/">Go Home</a></h1>
|
||||
Sorry, this Page is not available.
|
||||
</div>
|
||||
</main>
|
||||
|
||||
</main>
|
||||
|
||||
<footer class="common-footer noselect">
|
||||
|
||||
|
||||
|
||||
<div class="common-footer-bottom">
|
||||
|
||||
|
||||
<div style="display: flex; align-items: center; gap:8px">
|
||||
© Pietro Arancibia, 2024
|
||||
|
||||
</div>
|
||||
<div style="display:flex;align-items: center">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div>
|
||||
Powered by <a target="_blank" rel="noopener noreferrer" href="https://gohugo.io/">Hugo</a>, theme <a target="_blank" rel="noopener noreferrer" href="https://github.com/Junyi-99/hugo-theme-anubis2">Anubis2</a>.<br>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<p class="h-card vcard">
|
||||
|
||||
<a href=https://blog.thanwer.com/ class="p-name u-url url fn" rel="me">map[email:admin@thanwer.com location:Germany name:Pietro Arancibia]</a>
|
||||
|
||||
|
||||
|
||||
|
||||
</p>
|
||||
|
||||
</footer>
|
||||
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
566
public/categories/index.html
Normal file
566
public/categories/index.html
Normal file
@ -0,0 +1,566 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
|
||||
<html lang="en-us" data-theme="">
|
||||
<head>
|
||||
|
||||
|
||||
<meta charset="utf-8">
|
||||
<meta name="HandheldFriendly" content="True">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="referrer" content="no-referrer-when-downgrade">
|
||||
|
||||
<title>Categories - Thanwer’s Blog</title>
|
||||
|
||||
<meta name="description" content="">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link rel="alternate" type="application/rss+xml" href="/categories/index.xml" title="Thanwer's Blog" />
|
||||
<link rel="icon" type="image/x-icon" href="https://blog.thanwer.com/favicon.ico">
|
||||
<link rel="apple-touch-icon-precomposed" href="https://blog.thanwer.com/favicon.png">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<style>
|
||||
body {
|
||||
visibility: hidden;
|
||||
opacity: 0;
|
||||
}
|
||||
</style>
|
||||
|
||||
<noscript>
|
||||
<style>
|
||||
body {
|
||||
visibility: visible;
|
||||
opacity: 1;
|
||||
}
|
||||
</style>
|
||||
</noscript>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="/css/style.min.184a655c5ad8596648622468e6696abf0cf0a2cf8266df17b4f7a36fe9c97551.css" integrity="sha256-GEplXFrYWWZIYiRo5mlqvwzwos+CZt8XtPejb+nJdVE=">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="/css/style.min.c4c04b3ef88e3d619ad4c7ee5e03048422bc55c4fefdc1f07657c1133670aa22.css" integrity="sha256-xMBLPviOPWGa1MfuXgMEhCK8VcT+/cHwdlfBEzZwqiI=">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="/css/style.min.21c5d8fe0a79d623b0adc1ce4bd4f6dd2c05cd939c9aaaa966ba7186b1464f4d.css" integrity="sha256-IcXY/gp51iOwrcHOS9T23SwFzZOcmqqpZrpxhrFGT00=">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<script src="/js/script.min.08f04d96386c73c9bf4d160333f8f448c05a6e01c06770542ee0e013954ce930.js" type="text/javascript" charset="utf-8" integrity="sha256-CPBNljhsc8m/TRYDM/j0SMBabgHAZ3BULuDgE5VM6TA="></script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<a class="skip-main" href="#main">Skip to main content</a>
|
||||
<div class="container">
|
||||
<header class="common-header">
|
||||
|
||||
<div class="header-top">
|
||||
<div class="header-top-left">
|
||||
<h1 class="site-title noselect">
|
||||
<a href="/">Thanwer's Blog</a>
|
||||
</h1>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="theme-switcher">
|
||||
<span class="inline-svg">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-sun-high"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M14.828 14.828a4 4 0 1 0 -5.656 -5.656a4 4 0 0 0 5.656 5.656z" /><path d="M6.343 17.657l-1.414 1.414" /><path d="M6.343 6.343l-1.414 -1.414" /><path d="M17.657 6.343l1.414 -1.414" /><path d="M17.657 17.657l1.414 1.414" /><path d="M4 12h-2" /><path d="M12 4v-2" /><path d="M20 12h2" /><path d="M12 20v2" /></svg>
|
||||
|
||||
|
||||
</span>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<script>
|
||||
const STORAGE_KEY = 'user-color-scheme'
|
||||
const defaultTheme = "auto"
|
||||
|
||||
let currentTheme
|
||||
let switchButton
|
||||
let autoDefinedScheme = window.matchMedia('(prefers-color-scheme: dark)')
|
||||
|
||||
function switchTheme(e) {
|
||||
currentTheme = (currentTheme === 'dark') ? 'light' : 'dark';
|
||||
if (localStorage) localStorage.setItem(STORAGE_KEY, currentTheme);
|
||||
document.documentElement.setAttribute('data-theme', currentTheme);
|
||||
changeGiscusTheme(currentTheme);
|
||||
document.body.dispatchEvent(new CustomEvent(currentTheme + "-theme-set"));
|
||||
}
|
||||
|
||||
const autoChangeScheme = e => {
|
||||
currentTheme = e.matches ? 'dark' : 'light'
|
||||
document.documentElement.setAttribute('data-theme', currentTheme);
|
||||
changeGiscusTheme(currentTheme);
|
||||
document.body.dispatchEvent(new CustomEvent(currentTheme + "-theme-set"));
|
||||
}
|
||||
|
||||
document.addEventListener('DOMContentLoaded', function () {
|
||||
switchButton = document.querySelector('.theme-switcher')
|
||||
currentTheme = detectCurrentScheme()
|
||||
|
||||
if (currentTheme === 'auto') {
|
||||
autoChangeScheme(autoDefinedScheme);
|
||||
autoDefinedScheme.addListener(autoChangeScheme);
|
||||
} else {
|
||||
document.documentElement.setAttribute('data-theme', currentTheme)
|
||||
}
|
||||
|
||||
if (switchButton) {
|
||||
switchButton.addEventListener('click', switchTheme, false)
|
||||
}
|
||||
|
||||
showContent();
|
||||
})
|
||||
|
||||
function detectCurrentScheme() {
|
||||
if (localStorage !== null && localStorage.getItem(STORAGE_KEY)) {
|
||||
return localStorage.getItem(STORAGE_KEY)
|
||||
}
|
||||
if (defaultTheme) {
|
||||
return defaultTheme
|
||||
}
|
||||
return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
|
||||
}
|
||||
|
||||
function showContent() {
|
||||
document.body.style.visibility = 'visible';
|
||||
document.body.style.opacity = 1;
|
||||
}
|
||||
|
||||
function changeGiscusTheme (theme) {
|
||||
function sendMessage(message) {
|
||||
const iframe = document.querySelector('iframe.giscus-frame');
|
||||
if (!iframe) return;
|
||||
iframe.contentWindow.postMessage({ giscus: message }, 'https://giscus.app');
|
||||
}
|
||||
|
||||
sendMessage({
|
||||
setConfig: {
|
||||
theme: theme
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
<ul class="social-icons noselect">
|
||||
|
||||
|
||||
|
||||
<li>
|
||||
<a href="https://github.com/thanwer" title="Github" rel="me">
|
||||
<span class="inline-svg">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-brand-github"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M9 19c-4.3 1.4 -4.3 -2.5 -6 -3m12 5v-3.5c0 -1 .1 -1.4 -.5 -2c2.8 -.3 5.5 -1.4 5.5 -6a4.6 4.6 0 0 0 -1.3 -3.2a4.2 4.2 0 0 0 -.1 -3.2s-1.1 -.3 -3.5 1.3a12.3 12.3 0 0 0 -6.2 0c-2.4 -1.6 -3.5 -1.3 -3.5 -1.3a4.2 4.2 0 0 0 -.1 3.2a4.6 4.6 0 0 0 -1.3 3.2c0 4.6 2.7 5.7 5.5 6c-.6 .6 -.6 1.2 -.5 2v3.5" /></svg>
|
||||
|
||||
|
||||
</span>
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
<li>
|
||||
<a href="https://www.linkedin.com/in/thanwer/" title="Linkedin" rel="me">
|
||||
<span class="inline-svg">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-brand-linkedin"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M4 4m0 2a2 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="M8 11l0 5" /><path d="M8 8l0 .01" /><path d="M12 16l0 -5" /><path d="M16 16v-3a2 2 0 0 0 -4 0" /></svg>
|
||||
|
||||
|
||||
</span>
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
<li>
|
||||
<a href="mailto:admin@thanwer.com" title="Email" rel="me">
|
||||
<span class="inline-svg">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-mail"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M3 7a2 2 0 0 1 2 -2h14a2 2 0 0 1 2 2v10a2 2 0 0 1 -2 2h-14a2 2 0 0 1 -2 -2v-10z" /><path d="M3 7l9 6l9 -6" /></svg>
|
||||
|
||||
|
||||
</span>
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
<li>
|
||||
<a href="https://facebook.com/thanwer" title="Facebook" rel="me">
|
||||
<span class="inline-svg">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-brand-facebook"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M7 10v4h3v7h4v-7h3l1 -4h-4v-2a1 1 0 0 1 1 -1h3v-4h-3a5 5 0 0 0 -5 5v2h-3" /></svg>
|
||||
|
||||
|
||||
</span>
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
<li>
|
||||
<a href="https://www.instagram.com/thanwer/" title="Instagram" rel="me">
|
||||
<span class="inline-svg">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-brand-instagram"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M4 4m0 4a4 4 0 0 1 4 -4h8a4 4 0 0 1 4 4v8a4 4 0 0 1 -4 4h-8a4 4 0 0 1 -4 -4z" /><path d="M12 12m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0" /><path d="M16.5 7.5l0 .01" /></svg>
|
||||
|
||||
|
||||
</span>
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
<li>
|
||||
<a href="https://t.me/thanwer" title="Telegram" rel="me">
|
||||
<span class="inline-svg">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-brand-telegram"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M15 10l-4 4l6 6l4 -16l-18 7l4 2l2 6l3 -4" /></svg>
|
||||
|
||||
|
||||
</span>
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
<li>
|
||||
<a href="https://x.com/thanwer" title="X" rel="me">
|
||||
<span class="inline-svg">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-brand-x"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M4 4l11.733 16h4.267l-11.733 -16z" /><path d="M4 20l6.768 -6.768m2.46 -2.46l6.772 -6.772" /></svg>
|
||||
|
||||
|
||||
</span>
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
<li>
|
||||
<a href="https://youtube.com/lordthanwer" title="Youtube" rel="me">
|
||||
<span class="inline-svg">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-brand-youtube"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M2 8a4 4 0 0 1 4 -4h12a4 4 0 0 1 4 4v8a4 4 0 0 1 -4 4h-12a4 4 0 0 1 -4 -4v-8z" /><path d="M10 9l5 3l-5 3z" /></svg>
|
||||
|
||||
|
||||
</span>
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li>
|
||||
<a href="/index.xml" title="RSS" rel="me">
|
||||
<span class="inline-svg">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-rss"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M5 19m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0" /><path d="M4 4a16 16 0 0 1 16 16" /><path d="M4 11a9 9 0 0 1 9 9" /></svg>
|
||||
|
||||
|
||||
</span>
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
<div class="header-top-right">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<nav></nav>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</header>
|
||||
<main id="main" tabindex="-1">
|
||||
|
||||
<div class="index-content">
|
||||
|
||||
</div>
|
||||
|
||||
<h1>Categories</h1>
|
||||
<ul class="terms">
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
</main>
|
||||
|
||||
<footer class="common-footer noselect">
|
||||
|
||||
|
||||
|
||||
<div class="common-footer-bottom">
|
||||
|
||||
|
||||
<div style="display: flex; align-items: center; gap:8px">
|
||||
© Pietro Arancibia, 2024
|
||||
|
||||
</div>
|
||||
<div style="display:flex;align-items: center">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div>
|
||||
Powered by <a target="_blank" rel="noopener noreferrer" href="https://gohugo.io/">Hugo</a>, theme <a target="_blank" rel="noopener noreferrer" href="https://github.com/Junyi-99/hugo-theme-anubis2">Anubis2</a>.<br>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<p class="h-card vcard">
|
||||
|
||||
<a href=https://blog.thanwer.com/ class="p-name u-url url fn" rel="me">map[email:admin@thanwer.com location:Germany name:Pietro Arancibia]</a>
|
||||
|
||||
|
||||
|
||||
|
||||
</p>
|
||||
|
||||
</footer>
|
||||
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
27
public/categories/index.xml
Normal file
27
public/categories/index.xml
Normal file
@ -0,0 +1,27 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
|
||||
<channel>
|
||||
<title>Categories on Thanwer's Blog</title>
|
||||
<link>/categories/</link>
|
||||
<description>Thanwer's Blog (Categories)</description>
|
||||
<generator>Hugo -- gohugo.io</generator>
|
||||
<language>en-us</language>
|
||||
|
||||
|
||||
<managingEditor>admin@thanwer.com
|
||||
|
||||
(Pietro Arancibia)
|
||||
|
||||
</managingEditor>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<atom:link href="/categories/index.xml" rel="self" type="application/rss+xml" />
|
||||
|
||||
|
||||
</channel>
|
||||
</rss>
|
||||
@ -0,0 +1,951 @@
|
||||
/* Basic */
|
||||
|
||||
:root {
|
||||
--card-border-radius: 0.5em;
|
||||
--card-margin: 1.5em;
|
||||
--icon-margin-left: 1em;
|
||||
--icon-margin-top: 1em;
|
||||
}
|
||||
|
||||
html {
|
||||
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
||||
/* 1 */
|
||||
-ms-text-size-adjust: 100%;
|
||||
/* 2 */
|
||||
-webkit-text-size-adjust: 100%;
|
||||
/* 2 */
|
||||
scroll-behavior: smooth;
|
||||
}
|
||||
|
||||
body {
|
||||
margin: 0;
|
||||
font-size: 18px;
|
||||
line-height: 1.5;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
color: var(--font-color);
|
||||
background: var(--bg-color);
|
||||
}
|
||||
|
||||
article,
|
||||
aside,
|
||||
details,
|
||||
figcaption,
|
||||
figure,
|
||||
footer,
|
||||
header,
|
||||
hgroup,
|
||||
main,
|
||||
menu,
|
||||
nav,
|
||||
section {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.container {
|
||||
max-width: 42em;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
main {
|
||||
outline: none;
|
||||
}
|
||||
|
||||
/* Table of Contents */
|
||||
|
||||
.toc {
|
||||
cursor: zoom-in;
|
||||
display: block;
|
||||
|
||||
margin-top: 1em;
|
||||
margin-bottom: 1em;
|
||||
padding: 0.5em 1em;
|
||||
/* top & bottom, left & right */
|
||||
|
||||
border: 1px solid var(--card-border-color);
|
||||
border-radius: var(--card-border-radius);
|
||||
background: var(--card-color);
|
||||
|
||||
font-size: 14px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.toc.expanded {
|
||||
cursor: zoom-out;
|
||||
}
|
||||
|
||||
.toc .inner {
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
}
|
||||
|
||||
/* Headers */
|
||||
h1 {
|
||||
font-size: 1.35em;
|
||||
}
|
||||
|
||||
h2 {
|
||||
font-size: 1.2em;
|
||||
margin-top: 3em;
|
||||
}
|
||||
|
||||
h2:first-of-type {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
h3 {
|
||||
font-size: 1.1em;
|
||||
}
|
||||
|
||||
/* Links */
|
||||
|
||||
a {
|
||||
color: var(--link-color);
|
||||
text-decoration: none;
|
||||
border-bottom: 1px solid transparent;
|
||||
}
|
||||
|
||||
a:hover,
|
||||
a:focus,
|
||||
a:active {
|
||||
color: var(--link-state-color);
|
||||
border-bottom: 1px solid var(--link-state-border-color);
|
||||
}
|
||||
|
||||
a:active,
|
||||
a:hover {
|
||||
outline: 0;
|
||||
}
|
||||
|
||||
a:active {
|
||||
opacity: 0.9;
|
||||
}
|
||||
|
||||
a.skip-main {
|
||||
left: -999px;
|
||||
position: absolute;
|
||||
top: auto;
|
||||
width: 1px;
|
||||
height: 1px;
|
||||
overflow: hidden;
|
||||
z-index: -999;
|
||||
}
|
||||
|
||||
a.skip-main:focus,
|
||||
a.skip-main:active {
|
||||
left: auto;
|
||||
top: 0px;
|
||||
width: auto;
|
||||
height: auto;
|
||||
overflow: auto;
|
||||
z-index: 999;
|
||||
padding: 4px 6px 4px 6px;
|
||||
text-decoration: underline;
|
||||
border: none;
|
||||
}
|
||||
|
||||
/* Table */
|
||||
thead {
|
||||
background: var(--thead-bg-color);
|
||||
}
|
||||
|
||||
.table-wrapper {
|
||||
overflow-x: auto;
|
||||
}
|
||||
|
||||
table {
|
||||
max-width: 100%;
|
||||
border-spacing: 0;
|
||||
}
|
||||
|
||||
|
||||
th,
|
||||
td {
|
||||
padding: 0.5em 1em;
|
||||
border: 1px double var(--table-border-color);
|
||||
}
|
||||
|
||||
/* Code */
|
||||
mark {
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
code,
|
||||
pre,
|
||||
kbd {
|
||||
color: var(--pre-color);
|
||||
background-color: var(--pre-bg-color);
|
||||
font-family: 'Menlo', 'Courier New', 'Consolas', monospace;
|
||||
font-size: 14.4px; /* 18px * 0.6 */
|
||||
line-height: 154%;
|
||||
border-radius: 6px;
|
||||
border: 1px solid var(--pre-border-color);
|
||||
overflow: scroll;
|
||||
}
|
||||
|
||||
/* <code> tag */
|
||||
code {
|
||||
font-size: 14.4px; /* 18px * 0.6 */
|
||||
padding: 0.1em 0.3em;
|
||||
}
|
||||
|
||||
pre {
|
||||
padding: 0.3em;
|
||||
}
|
||||
|
||||
/* <kbd> inside <p> */
|
||||
/* <kbd> inside <pre> */
|
||||
/* p kbd,
|
||||
pre kbd {
|
||||
background-color: transparent;
|
||||
border: none;
|
||||
} */
|
||||
p kbd,
|
||||
pre kbd,
|
||||
p kbd kbd,
|
||||
pre kbd kbd {
|
||||
font-size: 14.4px; /* 18px * 0.6 */
|
||||
background-color: var(--kbd-bg-color);
|
||||
border: 1px solid var(--pre-border-color);
|
||||
border-width: 1px 2px 2px 1px;
|
||||
padding: 0.1em 0.3em;
|
||||
margin-left: 0.2em;
|
||||
margin-right: 0.2em;
|
||||
}
|
||||
|
||||
p code,
|
||||
p kbd {
|
||||
padding: 0.1em 0.3em;
|
||||
/* top, bottom */
|
||||
/* margin-right: 4px; */
|
||||
}
|
||||
|
||||
td pre {
|
||||
border: none;
|
||||
/* padding: 0px; */
|
||||
border-radius: 0px;
|
||||
}
|
||||
|
||||
td:first-child pre {
|
||||
padding-right: 0;
|
||||
}
|
||||
|
||||
td:last-child pre {
|
||||
padding-left: 0;
|
||||
}
|
||||
|
||||
td pre code {
|
||||
/* when there is a line number grid */
|
||||
padding: 0px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
border-radius: 0px;
|
||||
/* padding-top: 4px; */
|
||||
/* padding-bottom: 4px; */
|
||||
}
|
||||
|
||||
div.highlight {
|
||||
border-radius: 6px;
|
||||
border: 1px solid var(--pre-border-color);
|
||||
margin-bottom: 14px;
|
||||
}
|
||||
|
||||
div.highlight pre {
|
||||
border: none;
|
||||
display: grid;
|
||||
margin: 0px;
|
||||
overflow: auto; /* Have to add this line, otherwise the "pre" and "code" will have different width */
|
||||
/* padding-left: 10px; */
|
||||
/* padding-right: 10px; */
|
||||
/* padding-top: 10px; */
|
||||
/* padding-bottom: 10px; */
|
||||
}
|
||||
|
||||
div.highlight code {
|
||||
padding-left: 0px;
|
||||
padding-right: 0px;
|
||||
overflow: unset;
|
||||
}
|
||||
|
||||
div.highlight code a:hover,
|
||||
div.highlight code a:focus {
|
||||
color: white;
|
||||
border-bottom: 1px solid white;
|
||||
/*for markup.highlight.anchorLineNos = true*/
|
||||
}
|
||||
|
||||
pre code,
|
||||
pre kbd {
|
||||
color: inherit;
|
||||
background-color: inherit;
|
||||
border: none;
|
||||
padding: 0em;
|
||||
}
|
||||
|
||||
/* Styles */
|
||||
|
||||
blockquote {
|
||||
border-left: 2px solid var(--bq-color);
|
||||
padding: 0.1em 1em;
|
||||
margin-left: 0.75em;
|
||||
}
|
||||
|
||||
p {
|
||||
margin-top: 0.5em;
|
||||
margin-bottom: 0.5em;
|
||||
}
|
||||
|
||||
hr {
|
||||
color: var(--hr-color);
|
||||
background-color: var(--hr-color);
|
||||
border: none;
|
||||
height: 1px;
|
||||
}
|
||||
|
||||
/* Header */
|
||||
|
||||
.common-header {
|
||||
padding-bottom: 1.5em;
|
||||
/* border-bottom: thin solid var(--hr-color); */
|
||||
}
|
||||
|
||||
header a {
|
||||
color: var(--font-color);
|
||||
}
|
||||
|
||||
header h1 {
|
||||
font-size: 1em;
|
||||
margin-top: 1em;
|
||||
margin-bottom: 0;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
header h2 {
|
||||
font-size: 1em;
|
||||
margin: 0;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
.header-top {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
vertical-align: middle;
|
||||
margin-top: 1em;
|
||||
}
|
||||
|
||||
.header-top-left {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
.site-title {
|
||||
display: inline;
|
||||
white-space: nowrap;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
header nav:not(:empty) {
|
||||
background: var(--nav-bg-color);
|
||||
margin-top: var(--card-margin);
|
||||
max-width: 100%;
|
||||
text-align: center;
|
||||
padding: 0.5em 0;
|
||||
border: 1px solid var(--card-border-color);
|
||||
border-radius: var(--card-border-radius);
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
header nav a {
|
||||
display: inline-block;
|
||||
margin: 0 2.5%;
|
||||
}
|
||||
|
||||
/* Social icons */
|
||||
.social-icons {
|
||||
display: inline;
|
||||
margin: var(--icon-margin-top) 0 0 var(--icon-margin-left);
|
||||
padding: 0;
|
||||
list-style-type: none;
|
||||
}
|
||||
|
||||
.social-icons li {
|
||||
display: inline;
|
||||
}
|
||||
|
||||
.social-icons li:not(:first-of-type) {
|
||||
margin-left: var(--icon-margin-left);
|
||||
}
|
||||
|
||||
.social-icons a:hover,
|
||||
.social-icons a:focus,
|
||||
.social-icons a:active {
|
||||
color: inherit;
|
||||
border-bottom: none;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.inline-svg {
|
||||
display: inline-block;
|
||||
height: 1.15rem;
|
||||
width: 1.15rem;
|
||||
top: 0.15rem;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
|
||||
/* Pages */
|
||||
main h1 {
|
||||
margin-top: 1em;
|
||||
font-weight: normal;
|
||||
line-height: 1.1em;
|
||||
margin-bottom: 0.5em;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.post-card {
|
||||
border: 1px solid var(--card-border-color) !important;
|
||||
border-radius: 0.5em;
|
||||
padding: 0em 1em 1em 1em;
|
||||
background: var(--card-color);
|
||||
}
|
||||
|
||||
article:not(:last-of-type) {
|
||||
margin-bottom: var(--card-margin);
|
||||
}
|
||||
|
||||
.post-short-list:first-of-type {
|
||||
margin-top: 1em;
|
||||
}
|
||||
|
||||
.post-short-list img {
|
||||
max-width: 100%;
|
||||
display: block;
|
||||
height: auto;
|
||||
margin: 0 auto .5em;
|
||||
}
|
||||
|
||||
.post-short-list video {
|
||||
max-width: 100%;
|
||||
display: block;
|
||||
height: auto;
|
||||
margin: 0 auto .5em;
|
||||
}
|
||||
|
||||
/* Articles */
|
||||
|
||||
.post-header {
|
||||
margin-top: 1em;
|
||||
line-height: 1.1em;
|
||||
margin-bottom: 1em;
|
||||
}
|
||||
|
||||
.post-header header {
|
||||
display: inline;
|
||||
}
|
||||
|
||||
.post-navigation {
|
||||
background: var(--nav-bg-color);
|
||||
text-align: center;
|
||||
margin-top: 1em;
|
||||
max-width: 100%;
|
||||
padding: 0.5em 0;
|
||||
}
|
||||
|
||||
.post-navigation a:first-of-type {
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
.post-navigation a {
|
||||
color: var(--nav-link-color);
|
||||
margin-left: 2em;
|
||||
}
|
||||
|
||||
.post-navigation a:hover,
|
||||
.post-navigation a:focus,
|
||||
.post-navigation a:active {
|
||||
color: var(--link-state-color);
|
||||
}
|
||||
|
||||
.post-list {
|
||||
border: #777;
|
||||
}
|
||||
|
||||
.post-short-list .post-title {
|
||||
display: inline;
|
||||
}
|
||||
|
||||
.post-title.favorite::after {
|
||||
content: "🌟";
|
||||
display: inline-block;
|
||||
margin-left: 0.2em;
|
||||
}
|
||||
|
||||
.post-title.draft::after {
|
||||
content: "✏️";
|
||||
display: inline-block;
|
||||
margin-left: 0.2em;
|
||||
}
|
||||
|
||||
.post-title.favorite.draft::after {
|
||||
content: "🌟 ✏️";
|
||||
display: inline-block;
|
||||
margin-left: 0.2em;
|
||||
}
|
||||
|
||||
/* article:not(:last-of-type) {
|
||||
border-bottom: thin solid var(--hr-color);
|
||||
padding-bottom: 2em;
|
||||
} */
|
||||
|
||||
article header h1 {
|
||||
font-size: 1.35em;
|
||||
line-height: 1.1em;
|
||||
margin-bottom: 0.5em;
|
||||
font-weight: 600;
|
||||
display: inline;
|
||||
}
|
||||
|
||||
article header h1 a {
|
||||
color: var(--font-color);
|
||||
border: none;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.post h1,
|
||||
.post h2,
|
||||
.post h3,
|
||||
.post h4,
|
||||
.post h5,
|
||||
.post h6 {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.post h1 a,
|
||||
.post h2 a,
|
||||
.post h3 a,
|
||||
.post h4 a,
|
||||
.post h5 a,
|
||||
.post h6 a {
|
||||
opacity: 1;
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
.post h1:hover a,
|
||||
.post h2:hover a,
|
||||
.post h3:hover a,
|
||||
.post h4:hover a,
|
||||
.post h5:hover a,
|
||||
.post h6:hover a {
|
||||
opacity: 1;
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
.post h1 a:hover,
|
||||
.post h1 a:focus,
|
||||
.post h1 a:active,
|
||||
.post h2 a:hover,
|
||||
.post h2 a:focus,
|
||||
.post h2 a:active,
|
||||
.post h3 a:hover,
|
||||
.post h3 a:focus,
|
||||
.post h3 a:active,
|
||||
.post h4 a:hover,
|
||||
.post h4 a:focus,
|
||||
.post h4 a:active,
|
||||
.post h5 a:hover,
|
||||
.post h5 a:focus,
|
||||
.post h5 a:active,
|
||||
.post h6 a:hover,
|
||||
.post h6 a:focus,
|
||||
.post h6 a:active {
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
.post h1 svg,
|
||||
.post h2 svg,
|
||||
.post h3 svg,
|
||||
.post h4 svg,
|
||||
.post h5 svg,
|
||||
.post h6 svg {
|
||||
stroke: var(--svg-color);
|
||||
}
|
||||
|
||||
.post h1 svg:hover,
|
||||
.post h1 svg:focus,
|
||||
.post h1 svg:active,
|
||||
.post h2 svg:hover,
|
||||
.post h2 svg:focus,
|
||||
.post h2 svg:active,
|
||||
.post h3 svg:hover,
|
||||
.post h3 svg:focus,
|
||||
.post h3 svg:active,
|
||||
.post h4 svg:hover,
|
||||
.post h4 svg:focus,
|
||||
.post h4 svg:active,
|
||||
.post h5 svg:hover,
|
||||
.post h5 svg:focus,
|
||||
.post h5 svg:active,
|
||||
.post h6 svg:hover,
|
||||
.post h6 svg:focus,
|
||||
.post h6 svg:active {
|
||||
stroke: var(--svg-state-color);
|
||||
}
|
||||
|
||||
.post-list .post-info {
|
||||
color: var(--post-info-color);
|
||||
font-size: 0.75em;
|
||||
margin-top: 1em;
|
||||
margin-bottom: 1em;
|
||||
display: block;
|
||||
gap: 1em;
|
||||
}
|
||||
|
||||
.post-info {
|
||||
color: var(--post-info-color);
|
||||
font-size: 0.75em;
|
||||
margin-top: 1em;
|
||||
margin-bottom: 1em;
|
||||
display: flex;
|
||||
gap: 1em;
|
||||
}
|
||||
|
||||
.post-info a {
|
||||
color: var(--post-info-color);
|
||||
}
|
||||
|
||||
.post-info a:hover {
|
||||
color: var(--link-state-color);
|
||||
}
|
||||
|
||||
.post-short-list .post-info {
|
||||
margin-top: 0;
|
||||
margin-bottom: 1.5em;
|
||||
}
|
||||
|
||||
.post-taxonomies {
|
||||
display: inline;
|
||||
}
|
||||
|
||||
.post-hidden-url {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.post-hidden-author {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.post-date {
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.post-categories {
|
||||
display: inline;
|
||||
list-style-type: none;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.post-categories li {
|
||||
display: inline;
|
||||
margin-right: 1em;
|
||||
}
|
||||
|
||||
.post-tags {
|
||||
display: inline;
|
||||
list-style-type: none;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.post-tags li {
|
||||
display: inline;
|
||||
margin-right: 1em;
|
||||
}
|
||||
|
||||
.post-authors {
|
||||
display: inline;
|
||||
list-style-type: none;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.post-authors li {
|
||||
display: inline;
|
||||
margin-right: 1em;
|
||||
}
|
||||
|
||||
article img {
|
||||
max-width: 100%;
|
||||
display: block;
|
||||
height: auto;
|
||||
margin: 0 auto .5em;
|
||||
}
|
||||
|
||||
article figcaption {
|
||||
color: grey;
|
||||
text-align: center;
|
||||
font-size: 0.85em;
|
||||
margin-bottom: 2em;
|
||||
}
|
||||
|
||||
article video {
|
||||
max-width: 100%;
|
||||
display: block;
|
||||
height: auto;
|
||||
margin: 0 auto .5em;
|
||||
}
|
||||
|
||||
code.has-jax {
|
||||
-webkit-font-smoothing: antialiased;
|
||||
background: inherit !important;
|
||||
border: none !important;
|
||||
font-size: 100%;
|
||||
}
|
||||
|
||||
.read-more {
|
||||
margin: 1em 0;
|
||||
}
|
||||
|
||||
.divider {
|
||||
border-top: thin solid var(--hr-color);
|
||||
display: block;
|
||||
height: 1px;
|
||||
border: 0;
|
||||
width: 25%;
|
||||
margin: 1em auto;
|
||||
}
|
||||
|
||||
.post-summary {
|
||||
margin-top: 0.5em;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.post-summary>p {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.post-translations {
|
||||
margin-left: 0.5em;
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
display: inline;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.post-translations>li {
|
||||
display: inline;
|
||||
}
|
||||
|
||||
.post-translations>li:not(:last-child)::after {
|
||||
content: "|";
|
||||
display: inline-block;
|
||||
margin-left: 4px;
|
||||
margin-right: 4px;
|
||||
}
|
||||
|
||||
.post-translations>li a {
|
||||
color: var(--link-color);
|
||||
}
|
||||
|
||||
.post-translations>li a:hover,
|
||||
.post-translations>li a:focus {
|
||||
color: var(--link-state-color);
|
||||
}
|
||||
|
||||
.read-next-title {
|
||||
margin-bottom: 0;
|
||||
margin-top: 3em;
|
||||
padding-top: 1em;
|
||||
border-top: 1px dashed var(--thead-bg-color);
|
||||
}
|
||||
|
||||
.read-next-posts {
|
||||
margin-top: 5px;
|
||||
list-style-type: "- ";
|
||||
padding-inline-start: 20px;
|
||||
}
|
||||
|
||||
/* Other pages */
|
||||
.terms {
|
||||
list-style-type: none;
|
||||
padding: 0;
|
||||
line-height: 2em;
|
||||
}
|
||||
|
||||
/* Pagination */
|
||||
|
||||
.pagination {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
margin-top: 3em;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.pagination-item {
|
||||
border: 1px solid var(--pagination-border-color);
|
||||
border-radius: var(--pagination-border-radius);
|
||||
background: var(--pagination-bg-color);
|
||||
padding: 0.25em 0.75em;
|
||||
}
|
||||
|
||||
.pagination-item a {
|
||||
color: var(--pagination-link-color);
|
||||
}
|
||||
|
||||
.pagination-item a:hover,
|
||||
.pagination-item a:focus {
|
||||
color: var(--link-state-color);
|
||||
}
|
||||
|
||||
.disabled {
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
.pagination-item a:hover,
|
||||
.pagination-item a:focus {
|
||||
border-bottom: 0;
|
||||
}
|
||||
|
||||
.post-pagination .pagination-item {
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
max-width: 16em;
|
||||
}
|
||||
|
||||
/* Footer */
|
||||
|
||||
.common-footer {
|
||||
padding-top: 1.5em;
|
||||
margin-top: 3em;
|
||||
font-size: 12px;
|
||||
margin-bottom: 1.5em;
|
||||
color: var(--pagination-link-color);
|
||||
}
|
||||
|
||||
.common-footer-bottom {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
ul.language-select,
|
||||
ul.footer-menu {
|
||||
padding-left: 0;
|
||||
list-style: none;
|
||||
display: flex;
|
||||
}
|
||||
|
||||
ul.language-select>li,
|
||||
ul.footer-menu>li {
|
||||
margin-right: 1em;
|
||||
}
|
||||
|
||||
.theme-switcher {
|
||||
color: var(--switcher-color);
|
||||
/* padding: 0.5em 1em; */
|
||||
margin: var(--icon-margin-top) 0 0 var(--icon-margin-left);
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.h-card {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* Copy code */
|
||||
.highlight {
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.highlight:hover .highlight-copy-btn {
|
||||
display: inline-block;
|
||||
border: 1px solid rgba(0, 0, 0, 0.5);
|
||||
}
|
||||
|
||||
.highlight-copy-btn {
|
||||
display: none;
|
||||
position: absolute;
|
||||
top: 0px;
|
||||
right: 0px;
|
||||
border: 1px solid rgba(0, 0, 0, 0.5);
|
||||
border-radius: 6px;
|
||||
padding: 1px;
|
||||
font-size: 0.7em;
|
||||
line-height: 1.8;
|
||||
color: #fff;
|
||||
background-color: rgba(255, 255, 255, 0.1);
|
||||
min-width: 22px;
|
||||
text-align: center;
|
||||
transition: border 0.3s;
|
||||
transition: background-color 0.3s;
|
||||
}
|
||||
|
||||
.highlight-copy-btn:hover {
|
||||
transition-duration: .1s;
|
||||
background-color: rgba(255, 255, 255, 0.3);
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.highlight-copy-btn,
|
||||
.highlight-copy-btn svg {
|
||||
vertical-align: middle;
|
||||
margin: 8px;
|
||||
}
|
||||
|
||||
/* Others */
|
||||
.noselect {
|
||||
-webkit-touch-callout: none;
|
||||
/* iOS Safari */
|
||||
-webkit-user-select: none;
|
||||
/* Safari */
|
||||
-khtml-user-select: none;
|
||||
/* Konqueror HTML */
|
||||
-moz-user-select: none;
|
||||
/* Firefox */
|
||||
-ms-user-select: none;
|
||||
/* Internet Explorer/Edge */
|
||||
user-select: none;
|
||||
/* Non-prefixed version, currently
|
||||
supported by Chrome and Opera */
|
||||
}
|
||||
|
||||
|
||||
/* Media Queries */
|
||||
|
||||
@media (max-width: 840px) {
|
||||
.main-wrapper {
|
||||
margin: 0;
|
||||
max-width: none;
|
||||
overflow-x: hidden;
|
||||
padding-left: 25px;
|
||||
padding-right: 25px;
|
||||
}
|
||||
|
||||
.container {
|
||||
max-width: 90%;
|
||||
margin: 0 auto;
|
||||
word-wrap: break-word;
|
||||
}
|
||||
|
||||
.pagination-item {
|
||||
padding: 0.5em 0.5em;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.post-navigation {
|
||||
background: var(--pagination-bg-color);
|
||||
text-align: center;
|
||||
padding: 0.5em 0;
|
||||
}
|
||||
|
||||
.post-navigation a {
|
||||
margin-left: 0.5em;
|
||||
}
|
||||
|
||||
.post-pagination .pagination-item {
|
||||
max-width: 10em;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,76 @@
|
||||
@media (prefers-color-scheme: light) {
|
||||
html {
|
||||
--font-color: #1e1e1e;
|
||||
--bg-color: #ffffff;
|
||||
|
||||
--card-color: #fafafa;
|
||||
--card-border-color: #eeeeee;
|
||||
|
||||
--link-color: #1d60a3;
|
||||
--link-state-color: rgb(163, 29, 29);
|
||||
--link-state-border-color: rgba(163, 29, 29, 0.5);
|
||||
|
||||
--thead-bg-color: lightgrey;
|
||||
--table-border-color: lightgrey;
|
||||
|
||||
--nav-bg-color: #fafafa;
|
||||
--nav-link-color: #696969;
|
||||
|
||||
--pre-color: rgb(31, 35, 40);
|
||||
--pre-bg-color: #eff1f2;
|
||||
--pre-border-color: #e1e5e9;
|
||||
--kbd-bg-color: #f7f7f7;
|
||||
|
||||
--bq-color: #ccc;
|
||||
--hr-color: #ccc;
|
||||
|
||||
--pagination-bg-color: #fafafa;
|
||||
--pagination-link-color: #696969;
|
||||
--pagination-border-color: #eeeeee;
|
||||
--pagination-border-radius: 5px;
|
||||
|
||||
--post-info-color: grey;
|
||||
|
||||
--switcher-color: #333;
|
||||
|
||||
--svg-color: #333;
|
||||
--svg-state-color: #a31d1d;
|
||||
}
|
||||
}
|
||||
html[data-theme="light"] {
|
||||
--font-color: #1e1e1e;
|
||||
--bg-color: #ffffff;
|
||||
|
||||
--card-color: #fafafa;
|
||||
--card-border-color: #eeeeee;
|
||||
|
||||
--link-color: #1d60a3;
|
||||
--link-state-color: rgb(163, 29, 29);
|
||||
--link-state-border-color: rgba(163, 29, 29, 0.5);
|
||||
|
||||
--thead-bg-color: lightgrey;
|
||||
--table-border-color: lightgrey;
|
||||
|
||||
--nav-bg-color: #fafafa;
|
||||
--nav-link-color: #696969;
|
||||
|
||||
--pre-color: rgb(31, 35, 40);
|
||||
--pre-bg-color: #eff1f2;
|
||||
--pre-border-color: #e1e5e9;
|
||||
--kbd-bg-color: #f7f7f7;
|
||||
|
||||
--bq-color: #ccc;
|
||||
--hr-color: #ccc;
|
||||
|
||||
--pagination-bg-color: #fafafa;
|
||||
--pagination-link-color: #696969;
|
||||
--pagination-border-color: #eeeeee;
|
||||
--pagination-border-radius: 5px;
|
||||
|
||||
--post-info-color: grey;
|
||||
|
||||
--switcher-color: #333;
|
||||
|
||||
--svg-color: #333;
|
||||
--svg-state-color: #a31d1d;
|
||||
}
|
||||
@ -0,0 +1,77 @@
|
||||
@media (prefers-color-scheme: dark) {
|
||||
html {
|
||||
--font-color: #dadadb;
|
||||
--bg-color: #1d1e20;
|
||||
|
||||
--card-color: #2e2e33;
|
||||
--card-border-color: #333333;
|
||||
|
||||
--link-color: #599ada;
|
||||
--link-state-color: #ff5858;
|
||||
--link-state-border-color: rgba(238, 54, 54, 0.5);
|
||||
|
||||
--thead-bg-color: #343a40;
|
||||
--table-border-color: lightgrey;
|
||||
|
||||
--nav-bg-color: #2e2e33;
|
||||
--nav-link-color: #b6b6b6;
|
||||
|
||||
--pre-color: #f8f8f2;
|
||||
--pre-bg-color: #292b2d;
|
||||
--pre-border-color: rgba(175, 184, 193, 0.3);
|
||||
--kbd-bg-color: #404347;
|
||||
|
||||
--bq-color: #ccc;
|
||||
--hr-color: #333;
|
||||
|
||||
--pagination-bg-color: #2e2e33;
|
||||
--pagination-link-color: #b6b6b6;
|
||||
--pagination-border-color: #333333;
|
||||
--pagination-border-radius: 5px;
|
||||
|
||||
--post-info-color: grey;
|
||||
|
||||
--switcher-color: #fff;
|
||||
|
||||
--svg-color: #ccc;
|
||||
--svg-state-color: #ff5858;
|
||||
}
|
||||
}
|
||||
/* Same as above. */
|
||||
html[data-theme='dark'] {
|
||||
--font-color: #dadadb;
|
||||
--bg-color: #1d1e20;
|
||||
|
||||
--card-color: #2e2e33;
|
||||
--card-border-color: #333333;
|
||||
|
||||
--link-color: #599ada;
|
||||
--link-state-color: #ff5858;
|
||||
--link-state-border-color: rgba(238, 54, 54, 0.5);
|
||||
|
||||
--thead-bg-color: #343a40;
|
||||
--table-border-color: lightgrey;
|
||||
|
||||
--nav-bg-color: #2e2e33;
|
||||
--nav-link-color: #b6b6b6;
|
||||
|
||||
--pre-color: #f8f8f2;
|
||||
--pre-bg-color: #292b2d;
|
||||
--pre-border-color: rgba(175, 184, 193, 0.3);
|
||||
--kbd-bg-color: #404347;
|
||||
|
||||
--bq-color: #ccc;
|
||||
--hr-color: #333;
|
||||
|
||||
--pagination-bg-color: #2e2e33;
|
||||
--pagination-link-color: #b6b6b6;
|
||||
--pagination-border-color: #333333;
|
||||
--pagination-border-radius: 5px;
|
||||
|
||||
--post-info-color: grey;
|
||||
|
||||
--switcher-color: #fff;
|
||||
|
||||
--svg-color: #ccc;
|
||||
--svg-state-color: #ff5858;
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
@ -0,0 +1 @@
|
||||
@media(prefers-color-scheme:dark){html{--font-color:#dadadb;--bg-color:#1d1e20;--card-color:#2e2e33;--card-border-color:#333333;--link-color:#599ada;--link-state-color:#ff5858;--link-state-border-color:rgba(238, 54, 54, 0.5);--thead-bg-color:#343a40;--table-border-color:lightgrey;--nav-bg-color:#2e2e33;--nav-link-color:#b6b6b6;--pre-color:#f8f8f2;--pre-bg-color:#292b2d;--pre-border-color:rgba(175, 184, 193, 0.3);--kbd-bg-color:#404347;--bq-color:#ccc;--hr-color:#333;--pagination-bg-color:#2e2e33;--pagination-link-color:#b6b6b6;--pagination-border-color:#333333;--pagination-border-radius:5px;--post-info-color:grey;--switcher-color:#fff;--svg-color:#ccc;--svg-state-color:#ff5858}}html[data-theme=dark]{--font-color:#dadadb;--bg-color:#1d1e20;--card-color:#2e2e33;--card-border-color:#333333;--link-color:#599ada;--link-state-color:#ff5858;--link-state-border-color:rgba(238, 54, 54, 0.5);--thead-bg-color:#343a40;--table-border-color:lightgrey;--nav-bg-color:#2e2e33;--nav-link-color:#b6b6b6;--pre-color:#f8f8f2;--pre-bg-color:#292b2d;--pre-border-color:rgba(175, 184, 193, 0.3);--kbd-bg-color:#404347;--bq-color:#ccc;--hr-color:#333;--pagination-bg-color:#2e2e33;--pagination-link-color:#b6b6b6;--pagination-border-color:#333333;--pagination-border-radius:5px;--post-info-color:grey;--switcher-color:#fff;--svg-color:#ccc;--svg-state-color:#ff5858}
|
||||
@ -0,0 +1 @@
|
||||
@media(prefers-color-scheme:light){html{--font-color:#1e1e1e;--bg-color:#ffffff;--card-color:#fafafa;--card-border-color:#eeeeee;--link-color:#1d60a3;--link-state-color:rgb(163, 29, 29);--link-state-border-color:rgba(163, 29, 29, 0.5);--thead-bg-color:lightgrey;--table-border-color:lightgrey;--nav-bg-color:#fafafa;--nav-link-color:#696969;--pre-color:rgb(31, 35, 40);--pre-bg-color:#eff1f2;--pre-border-color:#e1e5e9;--kbd-bg-color:#f7f7f7;--bq-color:#ccc;--hr-color:#ccc;--pagination-bg-color:#fafafa;--pagination-link-color:#696969;--pagination-border-color:#eeeeee;--pagination-border-radius:5px;--post-info-color:grey;--switcher-color:#333;--svg-color:#333;--svg-state-color:#a31d1d}}html[data-theme=light]{--font-color:#1e1e1e;--bg-color:#ffffff;--card-color:#fafafa;--card-border-color:#eeeeee;--link-color:#1d60a3;--link-state-color:rgb(163, 29, 29);--link-state-border-color:rgba(163, 29, 29, 0.5);--thead-bg-color:lightgrey;--table-border-color:lightgrey;--nav-bg-color:#fafafa;--nav-link-color:#696969;--pre-color:rgb(31, 35, 40);--pre-bg-color:#eff1f2;--pre-border-color:#e1e5e9;--kbd-bg-color:#f7f7f7;--bq-color:#ccc;--hr-color:#ccc;--pagination-bg-color:#fafafa;--pagination-link-color:#696969;--pagination-border-color:#eeeeee;--pagination-border-radius:5px;--post-info-color:grey;--switcher-color:#333;--svg-color:#333;--svg-state-color:#a31d1d}
|
||||
569
public/index.html
Normal file
569
public/index.html
Normal file
@ -0,0 +1,569 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
|
||||
<html lang="en-us" data-theme="">
|
||||
<head>
|
||||
<meta name="generator" content="Hugo 0.136.2">
|
||||
|
||||
|
||||
<meta charset="utf-8">
|
||||
<meta name="HandheldFriendly" content="True">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="referrer" content="no-referrer-when-downgrade">
|
||||
|
||||
<title>Thanwer’s Blog</title>
|
||||
|
||||
<meta name="description" content="">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link rel="alternate" type="application/rss+xml" href="/index.xml" title="Thanwer's Blog" />
|
||||
<link rel="icon" type="image/x-icon" href="https://blog.thanwer.com/favicon.ico">
|
||||
<link rel="apple-touch-icon-precomposed" href="https://blog.thanwer.com/favicon.png">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<style>
|
||||
body {
|
||||
visibility: hidden;
|
||||
opacity: 0;
|
||||
}
|
||||
</style>
|
||||
|
||||
<noscript>
|
||||
<style>
|
||||
body {
|
||||
visibility: visible;
|
||||
opacity: 1;
|
||||
}
|
||||
</style>
|
||||
</noscript>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="/css/style.min.184a655c5ad8596648622468e6696abf0cf0a2cf8266df17b4f7a36fe9c97551.css" integrity="sha256-GEplXFrYWWZIYiRo5mlqvwzwos+CZt8XtPejb+nJdVE=">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="/css/style.min.c4c04b3ef88e3d619ad4c7ee5e03048422bc55c4fefdc1f07657c1133670aa22.css" integrity="sha256-xMBLPviOPWGa1MfuXgMEhCK8VcT+/cHwdlfBEzZwqiI=">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="/css/style.min.21c5d8fe0a79d623b0adc1ce4bd4f6dd2c05cd939c9aaaa966ba7186b1464f4d.css" integrity="sha256-IcXY/gp51iOwrcHOS9T23SwFzZOcmqqpZrpxhrFGT00=">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<script src="/js/script.min.08f04d96386c73c9bf4d160333f8f448c05a6e01c06770542ee0e013954ce930.js" type="text/javascript" charset="utf-8" integrity="sha256-CPBNljhsc8m/TRYDM/j0SMBabgHAZ3BULuDgE5VM6TA="></script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<a class="skip-main" href="#main">Skip to main content</a>
|
||||
<div class="container">
|
||||
<header class="common-header">
|
||||
|
||||
<div class="header-top">
|
||||
<div class="header-top-left">
|
||||
<h1 class="site-title noselect">
|
||||
<a href="/">Thanwer's Blog</a>
|
||||
</h1>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="theme-switcher">
|
||||
<span class="inline-svg">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-sun-high"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M14.828 14.828a4 4 0 1 0 -5.656 -5.656a4 4 0 0 0 5.656 5.656z" /><path d="M6.343 17.657l-1.414 1.414" /><path d="M6.343 6.343l-1.414 -1.414" /><path d="M17.657 6.343l1.414 -1.414" /><path d="M17.657 17.657l1.414 1.414" /><path d="M4 12h-2" /><path d="M12 4v-2" /><path d="M20 12h2" /><path d="M12 20v2" /></svg>
|
||||
|
||||
|
||||
</span>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<script>
|
||||
const STORAGE_KEY = 'user-color-scheme'
|
||||
const defaultTheme = "auto"
|
||||
|
||||
let currentTheme
|
||||
let switchButton
|
||||
let autoDefinedScheme = window.matchMedia('(prefers-color-scheme: dark)')
|
||||
|
||||
function switchTheme(e) {
|
||||
currentTheme = (currentTheme === 'dark') ? 'light' : 'dark';
|
||||
if (localStorage) localStorage.setItem(STORAGE_KEY, currentTheme);
|
||||
document.documentElement.setAttribute('data-theme', currentTheme);
|
||||
changeGiscusTheme(currentTheme);
|
||||
document.body.dispatchEvent(new CustomEvent(currentTheme + "-theme-set"));
|
||||
}
|
||||
|
||||
const autoChangeScheme = e => {
|
||||
currentTheme = e.matches ? 'dark' : 'light'
|
||||
document.documentElement.setAttribute('data-theme', currentTheme);
|
||||
changeGiscusTheme(currentTheme);
|
||||
document.body.dispatchEvent(new CustomEvent(currentTheme + "-theme-set"));
|
||||
}
|
||||
|
||||
document.addEventListener('DOMContentLoaded', function () {
|
||||
switchButton = document.querySelector('.theme-switcher')
|
||||
currentTheme = detectCurrentScheme()
|
||||
|
||||
if (currentTheme === 'auto') {
|
||||
autoChangeScheme(autoDefinedScheme);
|
||||
autoDefinedScheme.addListener(autoChangeScheme);
|
||||
} else {
|
||||
document.documentElement.setAttribute('data-theme', currentTheme)
|
||||
}
|
||||
|
||||
if (switchButton) {
|
||||
switchButton.addEventListener('click', switchTheme, false)
|
||||
}
|
||||
|
||||
showContent();
|
||||
})
|
||||
|
||||
function detectCurrentScheme() {
|
||||
if (localStorage !== null && localStorage.getItem(STORAGE_KEY)) {
|
||||
return localStorage.getItem(STORAGE_KEY)
|
||||
}
|
||||
if (defaultTheme) {
|
||||
return defaultTheme
|
||||
}
|
||||
return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
|
||||
}
|
||||
|
||||
function showContent() {
|
||||
document.body.style.visibility = 'visible';
|
||||
document.body.style.opacity = 1;
|
||||
}
|
||||
|
||||
function changeGiscusTheme (theme) {
|
||||
function sendMessage(message) {
|
||||
const iframe = document.querySelector('iframe.giscus-frame');
|
||||
if (!iframe) return;
|
||||
iframe.contentWindow.postMessage({ giscus: message }, 'https://giscus.app');
|
||||
}
|
||||
|
||||
sendMessage({
|
||||
setConfig: {
|
||||
theme: theme
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
<ul class="social-icons noselect">
|
||||
|
||||
|
||||
|
||||
<li>
|
||||
<a href="https://github.com/thanwer" title="Github" rel="me">
|
||||
<span class="inline-svg">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-brand-github"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M9 19c-4.3 1.4 -4.3 -2.5 -6 -3m12 5v-3.5c0 -1 .1 -1.4 -.5 -2c2.8 -.3 5.5 -1.4 5.5 -6a4.6 4.6 0 0 0 -1.3 -3.2a4.2 4.2 0 0 0 -.1 -3.2s-1.1 -.3 -3.5 1.3a12.3 12.3 0 0 0 -6.2 0c-2.4 -1.6 -3.5 -1.3 -3.5 -1.3a4.2 4.2 0 0 0 -.1 3.2a4.6 4.6 0 0 0 -1.3 3.2c0 4.6 2.7 5.7 5.5 6c-.6 .6 -.6 1.2 -.5 2v3.5" /></svg>
|
||||
|
||||
|
||||
</span>
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
<li>
|
||||
<a href="https://www.linkedin.com/in/thanwer/" title="Linkedin" rel="me">
|
||||
<span class="inline-svg">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-brand-linkedin"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M4 4m0 2a2 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="M8 11l0 5" /><path d="M8 8l0 .01" /><path d="M12 16l0 -5" /><path d="M16 16v-3a2 2 0 0 0 -4 0" /></svg>
|
||||
|
||||
|
||||
</span>
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
<li>
|
||||
<a href="mailto:admin@thanwer.com" title="Email" rel="me">
|
||||
<span class="inline-svg">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-mail"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M3 7a2 2 0 0 1 2 -2h14a2 2 0 0 1 2 2v10a2 2 0 0 1 -2 2h-14a2 2 0 0 1 -2 -2v-10z" /><path d="M3 7l9 6l9 -6" /></svg>
|
||||
|
||||
|
||||
</span>
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
<li>
|
||||
<a href="https://facebook.com/thanwer" title="Facebook" rel="me">
|
||||
<span class="inline-svg">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-brand-facebook"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M7 10v4h3v7h4v-7h3l1 -4h-4v-2a1 1 0 0 1 1 -1h3v-4h-3a5 5 0 0 0 -5 5v2h-3" /></svg>
|
||||
|
||||
|
||||
</span>
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
<li>
|
||||
<a href="https://www.instagram.com/thanwer/" title="Instagram" rel="me">
|
||||
<span class="inline-svg">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-brand-instagram"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M4 4m0 4a4 4 0 0 1 4 -4h8a4 4 0 0 1 4 4v8a4 4 0 0 1 -4 4h-8a4 4 0 0 1 -4 -4z" /><path d="M12 12m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0" /><path d="M16.5 7.5l0 .01" /></svg>
|
||||
|
||||
|
||||
</span>
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
<li>
|
||||
<a href="https://t.me/thanwer" title="Telegram" rel="me">
|
||||
<span class="inline-svg">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-brand-telegram"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M15 10l-4 4l6 6l4 -16l-18 7l4 2l2 6l3 -4" /></svg>
|
||||
|
||||
|
||||
</span>
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
<li>
|
||||
<a href="https://x.com/thanwer" title="X" rel="me">
|
||||
<span class="inline-svg">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-brand-x"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M4 4l11.733 16h4.267l-11.733 -16z" /><path d="M4 20l6.768 -6.768m2.46 -2.46l6.772 -6.772" /></svg>
|
||||
|
||||
|
||||
</span>
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
<li>
|
||||
<a href="https://youtube.com/lordthanwer" title="Youtube" rel="me">
|
||||
<span class="inline-svg">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-brand-youtube"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M2 8a4 4 0 0 1 4 -4h12a4 4 0 0 1 4 4v8a4 4 0 0 1 -4 4h-12a4 4 0 0 1 -4 -4v-8z" /><path d="M10 9l5 3l-5 3z" /></svg>
|
||||
|
||||
|
||||
</span>
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li>
|
||||
<a href="/index.xml" title="RSS" rel="me">
|
||||
<span class="inline-svg">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-rss"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M5 19m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0" /><path d="M4 4a16 16 0 0 1 16 16" /><path d="M4 11a9 9 0 0 1 9 9" /></svg>
|
||||
|
||||
|
||||
</span>
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
<div class="header-top-right">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<nav></nav>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</header>
|
||||
<main id="main" tabindex="-1">
|
||||
|
||||
<div class="homepage-content">
|
||||
|
||||
</div>
|
||||
|
||||
<div class="articles h-feed">
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</main>
|
||||
|
||||
<footer class="common-footer noselect">
|
||||
|
||||
|
||||
|
||||
<div class="common-footer-bottom">
|
||||
|
||||
|
||||
<div style="display: flex; align-items: center; gap:8px">
|
||||
© Pietro Arancibia, 2024
|
||||
|
||||
</div>
|
||||
<div style="display:flex;align-items: center">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div>
|
||||
Powered by <a target="_blank" rel="noopener noreferrer" href="https://gohugo.io/">Hugo</a>, theme <a target="_blank" rel="noopener noreferrer" href="https://github.com/Junyi-99/hugo-theme-anubis2">Anubis2</a>.<br>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<p class="h-card vcard">
|
||||
|
||||
<a href=https://blog.thanwer.com/ class="p-name u-url url fn" rel="me">map[email:admin@thanwer.com location:Germany name:Pietro Arancibia]</a>
|
||||
|
||||
|
||||
|
||||
|
||||
</p>
|
||||
|
||||
</footer>
|
||||
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
27
public/index.xml
Normal file
27
public/index.xml
Normal file
@ -0,0 +1,27 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
|
||||
<channel>
|
||||
<title>Thanwer's Blog</title>
|
||||
<link>/</link>
|
||||
<description>Thanwer's Blog</description>
|
||||
<generator>Hugo -- gohugo.io</generator>
|
||||
<language>en-us</language>
|
||||
|
||||
|
||||
<managingEditor>admin@thanwer.com
|
||||
|
||||
(Pietro Arancibia)
|
||||
|
||||
</managingEditor>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<atom:link href="/index.xml" rel="self" type="application/rss+xml" />
|
||||
|
||||
|
||||
</channel>
|
||||
</rss>
|
||||
@ -0,0 +1,64 @@
|
||||
/*
|
||||
This file has been taken from following blogpost with some modifications:
|
||||
https://koki-nakamura22.github.io/blog/2019/10/03/hugo-adding-copy-button/
|
||||
Many thanks to Koki Nakamura!
|
||||
*/
|
||||
|
||||
document.addEventListener("DOMContentLoaded", function(event) {
|
||||
'use strict';
|
||||
|
||||
if(!document.queryCommandSupported('copy')) {
|
||||
return;
|
||||
}
|
||||
|
||||
let svgCopyCode = '<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-clipboard"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M9 5h-2a2 2 0 0 0 -2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2 -2v-12a2 2 0 0 0 -2 -2h-2" /><path d="M9 3m0 2a2 2 0 0 1 2 -2h2a2 2 0 0 1 2 2v0a2 2 0 0 1 -2 2h-2a2 2 0 0 1 -2 -2z" /></svg>';
|
||||
let svgSuccessCode = '<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-clipboard-check"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M9 5h-2a2 2 0 0 0 -2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2 -2v-12a2 2 0 0 0 -2 -2h-2" /><path d="M9 3m0 2a2 2 0 0 1 2 -2h2a2 2 0 0 1 2 2v0a2 2 0 0 1 -2 2h-2a2 2 0 0 1 -2 -2z" /><path d="M9 14l2 2l4 -4" /></svg>';
|
||||
let svgFailCode = '<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-clipboard-x"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M9 5h-2a2 2 0 0 0 -2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2 -2v-12a2 2 0 0 0 -2 -2h-2" /><path d="M9 3m0 2a2 2 0 0 1 2 -2h2a2 2 0 0 1 2 2v0a2 2 0 0 1 -2 2h-2a2 2 0 0 1 -2 -2z" /><path d="M10 12l4 4m0 -4l-4 4" /></svg>';
|
||||
|
||||
function changeIcon(el, innerHtml) {
|
||||
el.innerHTML = innerHtml;
|
||||
setTimeout(() => {
|
||||
el.innerHTML = svgCopyCode;
|
||||
}, 1000);
|
||||
}
|
||||
|
||||
function selectText(node) {
|
||||
let selection = window.getSelection();
|
||||
let range = document.createRange();
|
||||
if (node.childElementCount === 2) {
|
||||
// Skip the title.
|
||||
range.selectNodeContents(node.children[1]);
|
||||
} else {
|
||||
range.selectNodeContents(node);
|
||||
}
|
||||
selection.removeAllRanges();
|
||||
selection.addRange(range);
|
||||
return selection;
|
||||
}
|
||||
|
||||
function addCopyButton(containerEl) {
|
||||
let copyBtn = document.createElement("button");
|
||||
copyBtn.className = "highlight-copy-btn";
|
||||
copyBtn.innerHTML = svgCopyCode;
|
||||
|
||||
let codeEl = containerEl.firstElementChild;
|
||||
copyBtn.addEventListener('click', () => {
|
||||
try {
|
||||
let selection = selectText(codeEl);
|
||||
document.execCommand('copy');
|
||||
selection.removeAllRanges();
|
||||
|
||||
changeIcon(copyBtn, svgSuccessCode)
|
||||
} catch(e) {
|
||||
console && console.log(e);
|
||||
changeIcon(copyBtn, svgFailCode)
|
||||
}
|
||||
});
|
||||
|
||||
containerEl.appendChild(copyBtn);
|
||||
}
|
||||
|
||||
// Add copy button to code blocks
|
||||
let highlightBlocks = document.getElementsByClassName('highlight');
|
||||
Array.prototype.forEach.call(highlightBlocks, addCopyButton);
|
||||
}, false);
|
||||
@ -0,0 +1 @@
|
||||
document.addEventListener("DOMContentLoaded",function(){"use strict";if(!document.queryCommandSupported("copy"))return;let t='<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-clipboard"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M9 5h-2a2 2 0 0 0 -2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2 -2v-12a2 2 0 0 0 -2 -2h-2" /><path d="M9 3m0 2a2 2 0 0 1 2 -2h2a2 2 0 0 1 2 2v0a2 2 0 0 1 -2 2h-2a2 2 0 0 1 -2 -2z" /></svg>',s='<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-clipboard-check"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M9 5h-2a2 2 0 0 0 -2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2 -2v-12a2 2 0 0 0 -2 -2h-2" /><path d="M9 3m0 2a2 2 0 0 1 2 -2h2a2 2 0 0 1 2 2v0a2 2 0 0 1 -2 2h-2a2 2 0 0 1 -2 -2z" /><path d="M9 14l2 2l4 -4" /></svg>',o='<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-clipboard-x"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M9 5h-2a2 2 0 0 0 -2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2 -2v-12a2 2 0 0 0 -2 -2h-2" /><path d="M9 3m0 2a2 2 0 0 1 2 -2h2a2 2 0 0 1 2 2v0a2 2 0 0 1 -2 2h-2a2 2 0 0 1 -2 -2z" /><path d="M10 12l4 4m0 -4l-4 4" /></svg>';function n(e,n){e.innerHTML=n,setTimeout(()=>{e.innerHTML=t},1e3)}function i(e){let t=window.getSelection(),n=document.createRange();return e.childElementCount===2?n.selectNodeContents(e.children[1]):n.selectNodeContents(e),t.removeAllRanges(),t.addRange(n),t}function a(e){let a=document.createElement("button");a.className="highlight-copy-btn",a.innerHTML=t;let r=e.firstElementChild;a.addEventListener("click",()=>{try{let e=i(r);document.execCommand("copy"),e.removeAllRanges(),n(a,s)}catch(e){console&&console.log(e),n(a,o)}}),e.appendChild(a)}let r=document.getElementsByClassName("highlight");Array.prototype.forEach.call(r,a)},!1)
|
||||
10
public/page/1/index.html
Normal file
10
public/page/1/index.html
Normal file
@ -0,0 +1,10 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en-us">
|
||||
<head>
|
||||
<title>https://blog.thanwer.com/</title>
|
||||
<link rel="canonical" href="https://blog.thanwer.com/">
|
||||
<meta name="robots" content="noindex">
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="refresh" content="0; url=https://blog.thanwer.com/">
|
||||
</head>
|
||||
</html>
|
||||
454
public/posts/first-post/index.html
Normal file
454
public/posts/first-post/index.html
Normal file
@ -0,0 +1,454 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
|
||||
<html lang="en-us" data-theme="">
|
||||
<head><script src="/livereload.js?mindelay=10&v=2&port=1313&path=livereload" data-no-instant defer></script>
|
||||
|
||||
|
||||
<meta charset="utf-8">
|
||||
<meta name="HandheldFriendly" content="True">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="referrer" content="no-referrer-when-downgrade">
|
||||
|
||||
<title>First Post - Thanwer’s Blog</title>
|
||||
|
||||
<meta name="description" content="">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link rel="icon" type="image/x-icon" href="http://localhost:1313/favicon.ico">
|
||||
<link rel="apple-touch-icon-precomposed" href="http://localhost:1313/favicon.png">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<style>
|
||||
body {
|
||||
visibility: hidden;
|
||||
opacity: 0;
|
||||
}
|
||||
</style>
|
||||
|
||||
<noscript>
|
||||
<style>
|
||||
body {
|
||||
visibility: visible;
|
||||
opacity: 1;
|
||||
}
|
||||
</style>
|
||||
</noscript>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="/css/style.03df79c682b91915c7cd261ecd1a6ec4d0fe668c98fa46310d0fbade319b11bd.css" integrity="sha256-A995xoK5GRXHzSYezRpuxND+ZoyY+kYxDQ+63jGbEb0=">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="/css/style.9c1888ebff42c0224ce04dac10cb2c401f1b77f54f78e8d87d73c3bed781c263.css" integrity="sha256-nBiI6/9CwCJM4E2sEMssQB8bd/VPeOjYfXPDvteBwmM=">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="/css/style.acd606c0fce58853afe0248d37bb41acbbcdd8b1aca2412b6c0fa760da0137f3.css" integrity="sha256-rNYGwPzliFOv4CSNN7tBrLvN2LGsokErbA+nYNoBN/M=">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<script src="/js/script.672e2309c296e07c18bcd08b28d797a56222ff941d65f308fba3158c44885b14.js" type="text/javascript" charset="utf-8" integrity="sha256-Zy4jCcKW4HwYvNCLKNeXpWIi/5QdZfMI+6MVjESIWxQ="></script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<a class="skip-main" href="#main">Skip to main content</a>
|
||||
<div class="container">
|
||||
<header class="common-header">
|
||||
|
||||
<div class="header-top">
|
||||
<div class="header-top-left">
|
||||
<h1 class="site-title noselect">
|
||||
<a href="/">Thanwer's Blog</a>
|
||||
</h1>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="theme-switcher">
|
||||
<span class="inline-svg">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-sun-high"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M14.828 14.828a4 4 0 1 0 -5.656 -5.656a4 4 0 0 0 5.656 5.656z" /><path d="M6.343 17.657l-1.414 1.414" /><path d="M6.343 6.343l-1.414 -1.414" /><path d="M17.657 6.343l1.414 -1.414" /><path d="M17.657 17.657l1.414 1.414" /><path d="M4 12h-2" /><path d="M12 4v-2" /><path d="M20 12h2" /><path d="M12 20v2" /></svg>
|
||||
|
||||
|
||||
</span>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<script>
|
||||
const STORAGE_KEY = 'user-color-scheme'
|
||||
const defaultTheme = "light"
|
||||
|
||||
let currentTheme
|
||||
let switchButton
|
||||
let autoDefinedScheme = window.matchMedia('(prefers-color-scheme: dark)')
|
||||
|
||||
function switchTheme(e) {
|
||||
currentTheme = (currentTheme === 'dark') ? 'light' : 'dark';
|
||||
if (localStorage) localStorage.setItem(STORAGE_KEY, currentTheme);
|
||||
document.documentElement.setAttribute('data-theme', currentTheme);
|
||||
changeGiscusTheme(currentTheme);
|
||||
document.body.dispatchEvent(new CustomEvent(currentTheme + "-theme-set"));
|
||||
}
|
||||
|
||||
const autoChangeScheme = e => {
|
||||
currentTheme = e.matches ? 'dark' : 'light'
|
||||
document.documentElement.setAttribute('data-theme', currentTheme);
|
||||
changeGiscusTheme(currentTheme);
|
||||
document.body.dispatchEvent(new CustomEvent(currentTheme + "-theme-set"));
|
||||
}
|
||||
|
||||
document.addEventListener('DOMContentLoaded', function () {
|
||||
switchButton = document.querySelector('.theme-switcher')
|
||||
currentTheme = detectCurrentScheme()
|
||||
|
||||
if (currentTheme === 'auto') {
|
||||
autoChangeScheme(autoDefinedScheme);
|
||||
autoDefinedScheme.addListener(autoChangeScheme);
|
||||
} else {
|
||||
document.documentElement.setAttribute('data-theme', currentTheme)
|
||||
}
|
||||
|
||||
if (switchButton) {
|
||||
switchButton.addEventListener('click', switchTheme, false)
|
||||
}
|
||||
|
||||
showContent();
|
||||
})
|
||||
|
||||
function detectCurrentScheme() {
|
||||
if (localStorage !== null && localStorage.getItem(STORAGE_KEY)) {
|
||||
return localStorage.getItem(STORAGE_KEY)
|
||||
}
|
||||
if (defaultTheme) {
|
||||
return defaultTheme
|
||||
}
|
||||
return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
|
||||
}
|
||||
|
||||
function showContent() {
|
||||
document.body.style.visibility = 'visible';
|
||||
document.body.style.opacity = 1;
|
||||
}
|
||||
|
||||
function changeGiscusTheme (theme) {
|
||||
function sendMessage(message) {
|
||||
const iframe = document.querySelector('iframe.giscus-frame');
|
||||
if (!iframe) return;
|
||||
iframe.contentWindow.postMessage({ giscus: message }, 'https://giscus.app');
|
||||
}
|
||||
|
||||
sendMessage({
|
||||
setConfig: {
|
||||
theme: theme
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
<ul class="social-icons noselect">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li>
|
||||
<a href="/index.xml" title="RSS" rel="me">
|
||||
<span class="inline-svg">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-rss"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M5 19m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0" /><path d="M4 4a16 16 0 0 1 16 16" /><path d="M4 11a9 9 0 0 1 9 9" /></svg>
|
||||
|
||||
|
||||
</span>
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
<div class="header-top-right">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<nav></nav>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</header>
|
||||
<main id="main" tabindex="-1">
|
||||
|
||||
|
||||
|
||||
<article class="post h-entry">
|
||||
<div class="post-header">
|
||||
<header>
|
||||
<h1 class="p-name post-title draft">First Post</h1>
|
||||
|
||||
|
||||
</header>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="post-info noselect">
|
||||
|
||||
<div class="post-date dt-published">
|
||||
<time datetime="2024-10-19">2024-10-19</time>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<a class="post-hidden-url u-url" href="/posts/first-post/">/posts/first-post/</a>
|
||||
<a href="http://localhost:1313/" class="p-name p-author post-hidden-author h-card" rel="me">map[name:Pietro Arancibia]</a>
|
||||
|
||||
|
||||
<div class="post-taxonomies">
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<script>
|
||||
var toc = document.querySelector(".toc");
|
||||
if (toc) {
|
||||
toc.addEventListener("click", function () {
|
||||
if (event.target.tagName !== "A") {
|
||||
event.preventDefault();
|
||||
if (this.open) {
|
||||
this.open = false;
|
||||
this.classList.remove("expanded");
|
||||
} else {
|
||||
this.open = true;
|
||||
this.classList.add("expanded");
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
|
||||
<div class="content e-content">
|
||||
|
||||
</div>
|
||||
|
||||
</article>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</main>
|
||||
|
||||
<footer class="common-footer noselect">
|
||||
|
||||
|
||||
|
||||
<div class="common-footer-bottom">
|
||||
|
||||
|
||||
<div style="display: flex; align-items: center; gap:8px">
|
||||
© Pietro Arancibia, 2024
|
||||
|
||||
</div>
|
||||
<div style="display:flex;align-items: center">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div>
|
||||
Powered by <a target="_blank" rel="noopener noreferrer" href="https://gohugo.io/">Hugo</a>, theme <a target="_blank" rel="noopener noreferrer" href="https://github.com/Junyi-99/hugo-theme-anubis2">Anubis2</a>.<br>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<p class="h-card vcard">
|
||||
|
||||
<a href=http://localhost:1313/ class="p-name u-url url fn" rel="me">map[name:Pietro Arancibia]</a>
|
||||
|
||||
|
||||
|
||||
|
||||
</p>
|
||||
|
||||
</footer>
|
||||
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
409
public/posts/index.html
Normal file
409
public/posts/index.html
Normal file
@ -0,0 +1,409 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
|
||||
<html lang="en-us" data-theme="">
|
||||
<head><script src="/livereload.js?mindelay=10&v=2&port=1313&path=livereload" data-no-instant defer></script>
|
||||
|
||||
|
||||
<meta charset="utf-8">
|
||||
<meta name="HandheldFriendly" content="True">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="referrer" content="no-referrer-when-downgrade">
|
||||
|
||||
<title>Posts - Thanwer’s Blog</title>
|
||||
|
||||
<meta name="description" content="">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link rel="alternate" type="application/rss+xml" href="/posts/index.xml" title="Thanwer's Blog" />
|
||||
<link rel="icon" type="image/x-icon" href="http://localhost:1313/favicon.ico">
|
||||
<link rel="apple-touch-icon-precomposed" href="http://localhost:1313/favicon.png">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<style>
|
||||
body {
|
||||
visibility: hidden;
|
||||
opacity: 0;
|
||||
}
|
||||
</style>
|
||||
|
||||
<noscript>
|
||||
<style>
|
||||
body {
|
||||
visibility: visible;
|
||||
opacity: 1;
|
||||
}
|
||||
</style>
|
||||
</noscript>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="/css/style.03df79c682b91915c7cd261ecd1a6ec4d0fe668c98fa46310d0fbade319b11bd.css" integrity="sha256-A995xoK5GRXHzSYezRpuxND+ZoyY+kYxDQ+63jGbEb0=">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="/css/style.9c1888ebff42c0224ce04dac10cb2c401f1b77f54f78e8d87d73c3bed781c263.css" integrity="sha256-nBiI6/9CwCJM4E2sEMssQB8bd/VPeOjYfXPDvteBwmM=">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="/css/style.acd606c0fce58853afe0248d37bb41acbbcdd8b1aca2412b6c0fa760da0137f3.css" integrity="sha256-rNYGwPzliFOv4CSNN7tBrLvN2LGsokErbA+nYNoBN/M=">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<script src="/js/script.672e2309c296e07c18bcd08b28d797a56222ff941d65f308fba3158c44885b14.js" type="text/javascript" charset="utf-8" integrity="sha256-Zy4jCcKW4HwYvNCLKNeXpWIi/5QdZfMI+6MVjESIWxQ="></script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<a class="skip-main" href="#main">Skip to main content</a>
|
||||
<div class="container">
|
||||
<header class="common-header">
|
||||
|
||||
<div class="header-top">
|
||||
<div class="header-top-left">
|
||||
<h1 class="site-title noselect">
|
||||
<a href="/">Thanwer's Blog</a>
|
||||
</h1>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="theme-switcher">
|
||||
<span class="inline-svg">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-sun-high"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M14.828 14.828a4 4 0 1 0 -5.656 -5.656a4 4 0 0 0 5.656 5.656z" /><path d="M6.343 17.657l-1.414 1.414" /><path d="M6.343 6.343l-1.414 -1.414" /><path d="M17.657 6.343l1.414 -1.414" /><path d="M17.657 17.657l1.414 1.414" /><path d="M4 12h-2" /><path d="M12 4v-2" /><path d="M20 12h2" /><path d="M12 20v2" /></svg>
|
||||
|
||||
|
||||
</span>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<script>
|
||||
const STORAGE_KEY = 'user-color-scheme'
|
||||
const defaultTheme = "light"
|
||||
|
||||
let currentTheme
|
||||
let switchButton
|
||||
let autoDefinedScheme = window.matchMedia('(prefers-color-scheme: dark)')
|
||||
|
||||
function switchTheme(e) {
|
||||
currentTheme = (currentTheme === 'dark') ? 'light' : 'dark';
|
||||
if (localStorage) localStorage.setItem(STORAGE_KEY, currentTheme);
|
||||
document.documentElement.setAttribute('data-theme', currentTheme);
|
||||
changeGiscusTheme(currentTheme);
|
||||
document.body.dispatchEvent(new CustomEvent(currentTheme + "-theme-set"));
|
||||
}
|
||||
|
||||
const autoChangeScheme = e => {
|
||||
currentTheme = e.matches ? 'dark' : 'light'
|
||||
document.documentElement.setAttribute('data-theme', currentTheme);
|
||||
changeGiscusTheme(currentTheme);
|
||||
document.body.dispatchEvent(new CustomEvent(currentTheme + "-theme-set"));
|
||||
}
|
||||
|
||||
document.addEventListener('DOMContentLoaded', function () {
|
||||
switchButton = document.querySelector('.theme-switcher')
|
||||
currentTheme = detectCurrentScheme()
|
||||
|
||||
if (currentTheme === 'auto') {
|
||||
autoChangeScheme(autoDefinedScheme);
|
||||
autoDefinedScheme.addListener(autoChangeScheme);
|
||||
} else {
|
||||
document.documentElement.setAttribute('data-theme', currentTheme)
|
||||
}
|
||||
|
||||
if (switchButton) {
|
||||
switchButton.addEventListener('click', switchTheme, false)
|
||||
}
|
||||
|
||||
showContent();
|
||||
})
|
||||
|
||||
function detectCurrentScheme() {
|
||||
if (localStorage !== null && localStorage.getItem(STORAGE_KEY)) {
|
||||
return localStorage.getItem(STORAGE_KEY)
|
||||
}
|
||||
if (defaultTheme) {
|
||||
return defaultTheme
|
||||
}
|
||||
return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
|
||||
}
|
||||
|
||||
function showContent() {
|
||||
document.body.style.visibility = 'visible';
|
||||
document.body.style.opacity = 1;
|
||||
}
|
||||
|
||||
function changeGiscusTheme (theme) {
|
||||
function sendMessage(message) {
|
||||
const iframe = document.querySelector('iframe.giscus-frame');
|
||||
if (!iframe) return;
|
||||
iframe.contentWindow.postMessage({ giscus: message }, 'https://giscus.app');
|
||||
}
|
||||
|
||||
sendMessage({
|
||||
setConfig: {
|
||||
theme: theme
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
<ul class="social-icons noselect">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li>
|
||||
<a href="/index.xml" title="RSS" rel="me">
|
||||
<span class="inline-svg">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-rss"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M5 19m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0" /><path d="M4 4a16 16 0 0 1 16 16" /><path d="M4 11a9 9 0 0 1 9 9" /></svg>
|
||||
|
||||
|
||||
</span>
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
<div class="header-top-right">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<nav></nav>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</header>
|
||||
<main id="main" tabindex="-1">
|
||||
|
||||
<div class="index-content">
|
||||
|
||||
</div>
|
||||
|
||||
<div class="articles h-feed">
|
||||
<h1 class="post-title">Posts</h1>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="post-short-list h-entry">
|
||||
<div class="post-header">
|
||||
<header>
|
||||
<h2 class="p-name post-title draft"><a class="u-url" href="/posts/test/">Test</a></h2>
|
||||
|
||||
|
||||
</header>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="post-info noselect">
|
||||
|
||||
<div class="post-date dt-published">
|
||||
<time datetime="2024-10-19">2024-10-19</time>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<a class="post-hidden-url u-url" href="/posts/test/">/posts/test/</a>
|
||||
<a href="http://localhost:1313/" class="p-name p-author post-hidden-author h-card" rel="me">map[name:Pietro Arancibia]</a>
|
||||
|
||||
|
||||
<div class="post-taxonomies">
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</main>
|
||||
|
||||
<footer class="common-footer noselect">
|
||||
|
||||
|
||||
|
||||
<div class="common-footer-bottom">
|
||||
|
||||
|
||||
<div style="display: flex; align-items: center; gap:8px">
|
||||
© Pietro Arancibia, 2024
|
||||
|
||||
</div>
|
||||
<div style="display:flex;align-items: center">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div>
|
||||
Powered by <a target="_blank" rel="noopener noreferrer" href="https://gohugo.io/">Hugo</a>, theme <a target="_blank" rel="noopener noreferrer" href="https://github.com/Junyi-99/hugo-theme-anubis2">Anubis2</a>.<br>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<p class="h-card vcard">
|
||||
|
||||
<a href=http://localhost:1313/ class="p-name u-url url fn" rel="me">map[name:Pietro Arancibia]</a>
|
||||
|
||||
|
||||
|
||||
|
||||
</p>
|
||||
|
||||
</footer>
|
||||
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
41
public/posts/index.xml
Normal file
41
public/posts/index.xml
Normal file
@ -0,0 +1,41 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
|
||||
<channel>
|
||||
<title>Posts on Thanwer's Blog</title>
|
||||
<link>/posts/</link>
|
||||
<description>Thanwer's Blog (Posts)</description>
|
||||
<generator>Hugo -- gohugo.io</generator>
|
||||
<language>en-us</language>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<lastBuildDate>Sat, 19 Oct 2024 19:57:06 -0300</lastBuildDate>
|
||||
|
||||
<atom:link href="/posts/index.xml" rel="self" type="application/rss+xml" />
|
||||
|
||||
|
||||
<item>
|
||||
<title>Test</title>
|
||||
<link>/posts/test/</link>
|
||||
<pubDate>Sat, 19 Oct 2024 19:57:06 -0300</pubDate>
|
||||
|
||||
<guid>/posts/test/</guid>
|
||||
<description><h2 id="introduction" >
|
||||
<div>
|
||||
<a href="#introduction">
|
||||
#
|
||||
</a>
|
||||
Introduction
|
||||
</div>
|
||||
</h2>
|
||||
<p>This is <strong>bold</strong> text, and this is <em>emphasized</em> text.</p>
|
||||
<p>Visit the <a href="https://gohugo.io">Hugo</a> website!</p>
|
||||
</description>
|
||||
</item>
|
||||
|
||||
</channel>
|
||||
</rss>
|
||||
483
public/posts/my-first-post/index.html
Normal file
483
public/posts/my-first-post/index.html
Normal file
@ -0,0 +1,483 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
|
||||
<html lang="en-us" data-theme="">
|
||||
<head><script src="/livereload.js?mindelay=10&v=2&port=1313&path=livereload" data-no-instant defer></script>
|
||||
|
||||
|
||||
<meta charset="utf-8">
|
||||
<meta name="HandheldFriendly" content="True">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="referrer" content="no-referrer-when-downgrade">
|
||||
|
||||
<title>My first port - Thanwer’s Blog</title>
|
||||
|
||||
<meta name="description" content="
|
||||
|
||||
|
||||
#
|
||||
|
||||
Introduction
|
||||
|
||||
|
||||
This is bold text, and this is emphasized text.
|
||||
Visit the Hugo website!">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link rel="icon" type="image/x-icon" href="http://localhost:1313/favicon.ico">
|
||||
<link rel="apple-touch-icon-precomposed" href="http://localhost:1313/favicon.png">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<style>
|
||||
body {
|
||||
visibility: hidden;
|
||||
opacity: 0;
|
||||
}
|
||||
</style>
|
||||
|
||||
<noscript>
|
||||
<style>
|
||||
body {
|
||||
visibility: visible;
|
||||
opacity: 1;
|
||||
}
|
||||
</style>
|
||||
</noscript>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="/css/style.03df79c682b91915c7cd261ecd1a6ec4d0fe668c98fa46310d0fbade319b11bd.css" integrity="sha256-A995xoK5GRXHzSYezRpuxND+ZoyY+kYxDQ+63jGbEb0=">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="/css/style.9c1888ebff42c0224ce04dac10cb2c401f1b77f54f78e8d87d73c3bed781c263.css" integrity="sha256-nBiI6/9CwCJM4E2sEMssQB8bd/VPeOjYfXPDvteBwmM=">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="/css/style.acd606c0fce58853afe0248d37bb41acbbcdd8b1aca2412b6c0fa760da0137f3.css" integrity="sha256-rNYGwPzliFOv4CSNN7tBrLvN2LGsokErbA+nYNoBN/M=">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<script src="/js/script.672e2309c296e07c18bcd08b28d797a56222ff941d65f308fba3158c44885b14.js" type="text/javascript" charset="utf-8" integrity="sha256-Zy4jCcKW4HwYvNCLKNeXpWIi/5QdZfMI+6MVjESIWxQ="></script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<a class="skip-main" href="#main">Skip to main content</a>
|
||||
<div class="container">
|
||||
<header class="common-header">
|
||||
|
||||
<div class="header-top">
|
||||
<div class="header-top-left">
|
||||
<h1 class="site-title noselect">
|
||||
<a href="/">Thanwer's Blog</a>
|
||||
</h1>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="theme-switcher">
|
||||
<span class="inline-svg">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-sun-high"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M14.828 14.828a4 4 0 1 0 -5.656 -5.656a4 4 0 0 0 5.656 5.656z" /><path d="M6.343 17.657l-1.414 1.414" /><path d="M6.343 6.343l-1.414 -1.414" /><path d="M17.657 6.343l1.414 -1.414" /><path d="M17.657 17.657l1.414 1.414" /><path d="M4 12h-2" /><path d="M12 4v-2" /><path d="M20 12h2" /><path d="M12 20v2" /></svg>
|
||||
|
||||
|
||||
</span>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<script>
|
||||
const STORAGE_KEY = 'user-color-scheme'
|
||||
const defaultTheme = "light"
|
||||
|
||||
let currentTheme
|
||||
let switchButton
|
||||
let autoDefinedScheme = window.matchMedia('(prefers-color-scheme: dark)')
|
||||
|
||||
function switchTheme(e) {
|
||||
currentTheme = (currentTheme === 'dark') ? 'light' : 'dark';
|
||||
if (localStorage) localStorage.setItem(STORAGE_KEY, currentTheme);
|
||||
document.documentElement.setAttribute('data-theme', currentTheme);
|
||||
changeGiscusTheme(currentTheme);
|
||||
document.body.dispatchEvent(new CustomEvent(currentTheme + "-theme-set"));
|
||||
}
|
||||
|
||||
const autoChangeScheme = e => {
|
||||
currentTheme = e.matches ? 'dark' : 'light'
|
||||
document.documentElement.setAttribute('data-theme', currentTheme);
|
||||
changeGiscusTheme(currentTheme);
|
||||
document.body.dispatchEvent(new CustomEvent(currentTheme + "-theme-set"));
|
||||
}
|
||||
|
||||
document.addEventListener('DOMContentLoaded', function () {
|
||||
switchButton = document.querySelector('.theme-switcher')
|
||||
currentTheme = detectCurrentScheme()
|
||||
|
||||
if (currentTheme === 'auto') {
|
||||
autoChangeScheme(autoDefinedScheme);
|
||||
autoDefinedScheme.addListener(autoChangeScheme);
|
||||
} else {
|
||||
document.documentElement.setAttribute('data-theme', currentTheme)
|
||||
}
|
||||
|
||||
if (switchButton) {
|
||||
switchButton.addEventListener('click', switchTheme, false)
|
||||
}
|
||||
|
||||
showContent();
|
||||
})
|
||||
|
||||
function detectCurrentScheme() {
|
||||
if (localStorage !== null && localStorage.getItem(STORAGE_KEY)) {
|
||||
return localStorage.getItem(STORAGE_KEY)
|
||||
}
|
||||
if (defaultTheme) {
|
||||
return defaultTheme
|
||||
}
|
||||
return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
|
||||
}
|
||||
|
||||
function showContent() {
|
||||
document.body.style.visibility = 'visible';
|
||||
document.body.style.opacity = 1;
|
||||
}
|
||||
|
||||
function changeGiscusTheme (theme) {
|
||||
function sendMessage(message) {
|
||||
const iframe = document.querySelector('iframe.giscus-frame');
|
||||
if (!iframe) return;
|
||||
iframe.contentWindow.postMessage({ giscus: message }, 'https://giscus.app');
|
||||
}
|
||||
|
||||
sendMessage({
|
||||
setConfig: {
|
||||
theme: theme
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
<ul class="social-icons noselect">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li>
|
||||
<a href="/index.xml" title="RSS" rel="me">
|
||||
<span class="inline-svg">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-rss"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M5 19m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0" /><path d="M4 4a16 16 0 0 1 16 16" /><path d="M4 11a9 9 0 0 1 9 9" /></svg>
|
||||
|
||||
|
||||
</span>
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
<div class="header-top-right">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<nav></nav>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</header>
|
||||
<main id="main" tabindex="-1">
|
||||
|
||||
|
||||
|
||||
<article class="post h-entry">
|
||||
<div class="post-header">
|
||||
<header>
|
||||
<h1 class="p-name post-title draft">My first port</h1>
|
||||
|
||||
|
||||
</header>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="post-info noselect">
|
||||
|
||||
<div class="post-date dt-published">
|
||||
<time datetime="2024-10-19">2024-10-19</time>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<a class="post-hidden-url u-url" href="/posts/my-first-post/">/posts/my-first-post/</a>
|
||||
<a href="http://localhost:1313/" class="p-name p-author post-hidden-author h-card" rel="me">map[name:Pietro Arancibia]</a>
|
||||
|
||||
|
||||
<div class="post-taxonomies">
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<details class="toc noselect">
|
||||
<summary>Table of Contents</summary>
|
||||
<div class="inner"><nav id="TableOfContents">
|
||||
<ul>
|
||||
<li><a href="#introduction">Introduction</a></li>
|
||||
</ul>
|
||||
</nav></div>
|
||||
</details>
|
||||
|
||||
|
||||
|
||||
|
||||
<script>
|
||||
var toc = document.querySelector(".toc");
|
||||
if (toc) {
|
||||
toc.addEventListener("click", function () {
|
||||
if (event.target.tagName !== "A") {
|
||||
event.preventDefault();
|
||||
if (this.open) {
|
||||
this.open = false;
|
||||
this.classList.remove("expanded");
|
||||
} else {
|
||||
this.open = true;
|
||||
this.classList.add("expanded");
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
|
||||
<div class="content e-content">
|
||||
<h2 id="introduction" >
|
||||
<div>
|
||||
<a href="#introduction">
|
||||
#
|
||||
</a>
|
||||
Introduction
|
||||
</div>
|
||||
</h2>
|
||||
<p>This is <strong>bold</strong> text, and this is <em>emphasized</em> text.</p>
|
||||
<p>Visit the <a href="https://gohugo.io">Hugo</a> website!</p>
|
||||
|
||||
</div>
|
||||
|
||||
</article>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</main>
|
||||
|
||||
<footer class="common-footer noselect">
|
||||
|
||||
|
||||
|
||||
<div class="common-footer-bottom">
|
||||
|
||||
|
||||
<div style="display: flex; align-items: center; gap:8px">
|
||||
© Pietro Arancibia, 2024
|
||||
|
||||
</div>
|
||||
<div style="display:flex;align-items: center">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div>
|
||||
Powered by <a target="_blank" rel="noopener noreferrer" href="https://gohugo.io/">Hugo</a>, theme <a target="_blank" rel="noopener noreferrer" href="https://github.com/Junyi-99/hugo-theme-anubis2">Anubis2</a>.<br>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<p class="h-card vcard">
|
||||
|
||||
<a href=http://localhost:1313/ class="p-name u-url url fn" rel="me">map[name:Pietro Arancibia]</a>
|
||||
|
||||
|
||||
|
||||
|
||||
</p>
|
||||
|
||||
</footer>
|
||||
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
483
public/posts/test/index.html
Normal file
483
public/posts/test/index.html
Normal file
@ -0,0 +1,483 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
|
||||
<html lang="en-us" data-theme="">
|
||||
<head><script src="/livereload.js?mindelay=10&v=2&port=1313&path=livereload" data-no-instant defer></script>
|
||||
|
||||
|
||||
<meta charset="utf-8">
|
||||
<meta name="HandheldFriendly" content="True">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="referrer" content="no-referrer-when-downgrade">
|
||||
|
||||
<title>Test - Thanwer’s Blog</title>
|
||||
|
||||
<meta name="description" content="
|
||||
|
||||
|
||||
#
|
||||
|
||||
Introduction
|
||||
|
||||
|
||||
This is bold text, and this is emphasized text.
|
||||
Visit the Hugo website!">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link rel="icon" type="image/x-icon" href="http://localhost:1313/favicon.ico">
|
||||
<link rel="apple-touch-icon-precomposed" href="http://localhost:1313/favicon.png">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<style>
|
||||
body {
|
||||
visibility: hidden;
|
||||
opacity: 0;
|
||||
}
|
||||
</style>
|
||||
|
||||
<noscript>
|
||||
<style>
|
||||
body {
|
||||
visibility: visible;
|
||||
opacity: 1;
|
||||
}
|
||||
</style>
|
||||
</noscript>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="/css/style.03df79c682b91915c7cd261ecd1a6ec4d0fe668c98fa46310d0fbade319b11bd.css" integrity="sha256-A995xoK5GRXHzSYezRpuxND+ZoyY+kYxDQ+63jGbEb0=">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="/css/style.9c1888ebff42c0224ce04dac10cb2c401f1b77f54f78e8d87d73c3bed781c263.css" integrity="sha256-nBiI6/9CwCJM4E2sEMssQB8bd/VPeOjYfXPDvteBwmM=">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="/css/style.acd606c0fce58853afe0248d37bb41acbbcdd8b1aca2412b6c0fa760da0137f3.css" integrity="sha256-rNYGwPzliFOv4CSNN7tBrLvN2LGsokErbA+nYNoBN/M=">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<script src="/js/script.672e2309c296e07c18bcd08b28d797a56222ff941d65f308fba3158c44885b14.js" type="text/javascript" charset="utf-8" integrity="sha256-Zy4jCcKW4HwYvNCLKNeXpWIi/5QdZfMI+6MVjESIWxQ="></script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<a class="skip-main" href="#main">Skip to main content</a>
|
||||
<div class="container">
|
||||
<header class="common-header">
|
||||
|
||||
<div class="header-top">
|
||||
<div class="header-top-left">
|
||||
<h1 class="site-title noselect">
|
||||
<a href="/">Thanwer's Blog</a>
|
||||
</h1>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="theme-switcher">
|
||||
<span class="inline-svg">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-sun-high"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M14.828 14.828a4 4 0 1 0 -5.656 -5.656a4 4 0 0 0 5.656 5.656z" /><path d="M6.343 17.657l-1.414 1.414" /><path d="M6.343 6.343l-1.414 -1.414" /><path d="M17.657 6.343l1.414 -1.414" /><path d="M17.657 17.657l1.414 1.414" /><path d="M4 12h-2" /><path d="M12 4v-2" /><path d="M20 12h2" /><path d="M12 20v2" /></svg>
|
||||
|
||||
|
||||
</span>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<script>
|
||||
const STORAGE_KEY = 'user-color-scheme'
|
||||
const defaultTheme = "light"
|
||||
|
||||
let currentTheme
|
||||
let switchButton
|
||||
let autoDefinedScheme = window.matchMedia('(prefers-color-scheme: dark)')
|
||||
|
||||
function switchTheme(e) {
|
||||
currentTheme = (currentTheme === 'dark') ? 'light' : 'dark';
|
||||
if (localStorage) localStorage.setItem(STORAGE_KEY, currentTheme);
|
||||
document.documentElement.setAttribute('data-theme', currentTheme);
|
||||
changeGiscusTheme(currentTheme);
|
||||
document.body.dispatchEvent(new CustomEvent(currentTheme + "-theme-set"));
|
||||
}
|
||||
|
||||
const autoChangeScheme = e => {
|
||||
currentTheme = e.matches ? 'dark' : 'light'
|
||||
document.documentElement.setAttribute('data-theme', currentTheme);
|
||||
changeGiscusTheme(currentTheme);
|
||||
document.body.dispatchEvent(new CustomEvent(currentTheme + "-theme-set"));
|
||||
}
|
||||
|
||||
document.addEventListener('DOMContentLoaded', function () {
|
||||
switchButton = document.querySelector('.theme-switcher')
|
||||
currentTheme = detectCurrentScheme()
|
||||
|
||||
if (currentTheme === 'auto') {
|
||||
autoChangeScheme(autoDefinedScheme);
|
||||
autoDefinedScheme.addListener(autoChangeScheme);
|
||||
} else {
|
||||
document.documentElement.setAttribute('data-theme', currentTheme)
|
||||
}
|
||||
|
||||
if (switchButton) {
|
||||
switchButton.addEventListener('click', switchTheme, false)
|
||||
}
|
||||
|
||||
showContent();
|
||||
})
|
||||
|
||||
function detectCurrentScheme() {
|
||||
if (localStorage !== null && localStorage.getItem(STORAGE_KEY)) {
|
||||
return localStorage.getItem(STORAGE_KEY)
|
||||
}
|
||||
if (defaultTheme) {
|
||||
return defaultTheme
|
||||
}
|
||||
return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
|
||||
}
|
||||
|
||||
function showContent() {
|
||||
document.body.style.visibility = 'visible';
|
||||
document.body.style.opacity = 1;
|
||||
}
|
||||
|
||||
function changeGiscusTheme (theme) {
|
||||
function sendMessage(message) {
|
||||
const iframe = document.querySelector('iframe.giscus-frame');
|
||||
if (!iframe) return;
|
||||
iframe.contentWindow.postMessage({ giscus: message }, 'https://giscus.app');
|
||||
}
|
||||
|
||||
sendMessage({
|
||||
setConfig: {
|
||||
theme: theme
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
<ul class="social-icons noselect">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li>
|
||||
<a href="/index.xml" title="RSS" rel="me">
|
||||
<span class="inline-svg">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-rss"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M5 19m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0" /><path d="M4 4a16 16 0 0 1 16 16" /><path d="M4 11a9 9 0 0 1 9 9" /></svg>
|
||||
|
||||
|
||||
</span>
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
<div class="header-top-right">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<nav></nav>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</header>
|
||||
<main id="main" tabindex="-1">
|
||||
|
||||
|
||||
|
||||
<article class="post h-entry">
|
||||
<div class="post-header">
|
||||
<header>
|
||||
<h1 class="p-name post-title draft">Test</h1>
|
||||
|
||||
|
||||
</header>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="post-info noselect">
|
||||
|
||||
<div class="post-date dt-published">
|
||||
<time datetime="2024-10-19">2024-10-19</time>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<a class="post-hidden-url u-url" href="/posts/test/">/posts/test/</a>
|
||||
<a href="http://localhost:1313/" class="p-name p-author post-hidden-author h-card" rel="me">map[name:Pietro Arancibia]</a>
|
||||
|
||||
|
||||
<div class="post-taxonomies">
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<details class="toc noselect">
|
||||
<summary>Table of Contents</summary>
|
||||
<div class="inner"><nav id="TableOfContents">
|
||||
<ul>
|
||||
<li><a href="#introduction">Introduction</a></li>
|
||||
</ul>
|
||||
</nav></div>
|
||||
</details>
|
||||
|
||||
|
||||
|
||||
|
||||
<script>
|
||||
var toc = document.querySelector(".toc");
|
||||
if (toc) {
|
||||
toc.addEventListener("click", function () {
|
||||
if (event.target.tagName !== "A") {
|
||||
event.preventDefault();
|
||||
if (this.open) {
|
||||
this.open = false;
|
||||
this.classList.remove("expanded");
|
||||
} else {
|
||||
this.open = true;
|
||||
this.classList.add("expanded");
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
|
||||
<div class="content e-content">
|
||||
<h2 id="introduction" >
|
||||
<div>
|
||||
<a href="#introduction">
|
||||
#
|
||||
</a>
|
||||
Introduction
|
||||
</div>
|
||||
</h2>
|
||||
<p>This is <strong>bold</strong> text, and this is <em>emphasized</em> text.</p>
|
||||
<p>Visit the <a href="https://gohugo.io">Hugo</a> website!</p>
|
||||
|
||||
</div>
|
||||
|
||||
</article>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</main>
|
||||
|
||||
<footer class="common-footer noselect">
|
||||
|
||||
|
||||
|
||||
<div class="common-footer-bottom">
|
||||
|
||||
|
||||
<div style="display: flex; align-items: center; gap:8px">
|
||||
© Pietro Arancibia, 2024
|
||||
|
||||
</div>
|
||||
<div style="display:flex;align-items: center">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div>
|
||||
Powered by <a target="_blank" rel="noopener noreferrer" href="https://gohugo.io/">Hugo</a>, theme <a target="_blank" rel="noopener noreferrer" href="https://github.com/Junyi-99/hugo-theme-anubis2">Anubis2</a>.<br>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<p class="h-card vcard">
|
||||
|
||||
<a href=http://localhost:1313/ class="p-name u-url url fn" rel="me">map[name:Pietro Arancibia]</a>
|
||||
|
||||
|
||||
|
||||
|
||||
</p>
|
||||
|
||||
</footer>
|
||||
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
11
public/sitemap.xml
Normal file
11
public/sitemap.xml
Normal file
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
|
||||
xmlns:xhtml="http://www.w3.org/1999/xhtml">
|
||||
<url>
|
||||
<loc>https://blog.thanwer.com/categories/</loc>
|
||||
</url><url>
|
||||
<loc>https://blog.thanwer.com/tags/</loc>
|
||||
</url><url>
|
||||
<loc>https://blog.thanwer.com/</loc>
|
||||
</url>
|
||||
</urlset>
|
||||
566
public/tags/index.html
Normal file
566
public/tags/index.html
Normal file
@ -0,0 +1,566 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
|
||||
<html lang="en-us" data-theme="">
|
||||
<head>
|
||||
|
||||
|
||||
<meta charset="utf-8">
|
||||
<meta name="HandheldFriendly" content="True">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="referrer" content="no-referrer-when-downgrade">
|
||||
|
||||
<title>Tags - Thanwer’s Blog</title>
|
||||
|
||||
<meta name="description" content="">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link rel="alternate" type="application/rss+xml" href="/tags/index.xml" title="Thanwer's Blog" />
|
||||
<link rel="icon" type="image/x-icon" href="https://blog.thanwer.com/favicon.ico">
|
||||
<link rel="apple-touch-icon-precomposed" href="https://blog.thanwer.com/favicon.png">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<style>
|
||||
body {
|
||||
visibility: hidden;
|
||||
opacity: 0;
|
||||
}
|
||||
</style>
|
||||
|
||||
<noscript>
|
||||
<style>
|
||||
body {
|
||||
visibility: visible;
|
||||
opacity: 1;
|
||||
}
|
||||
</style>
|
||||
</noscript>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="/css/style.min.184a655c5ad8596648622468e6696abf0cf0a2cf8266df17b4f7a36fe9c97551.css" integrity="sha256-GEplXFrYWWZIYiRo5mlqvwzwos+CZt8XtPejb+nJdVE=">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="/css/style.min.c4c04b3ef88e3d619ad4c7ee5e03048422bc55c4fefdc1f07657c1133670aa22.css" integrity="sha256-xMBLPviOPWGa1MfuXgMEhCK8VcT+/cHwdlfBEzZwqiI=">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="/css/style.min.21c5d8fe0a79d623b0adc1ce4bd4f6dd2c05cd939c9aaaa966ba7186b1464f4d.css" integrity="sha256-IcXY/gp51iOwrcHOS9T23SwFzZOcmqqpZrpxhrFGT00=">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<script src="/js/script.min.08f04d96386c73c9bf4d160333f8f448c05a6e01c06770542ee0e013954ce930.js" type="text/javascript" charset="utf-8" integrity="sha256-CPBNljhsc8m/TRYDM/j0SMBabgHAZ3BULuDgE5VM6TA="></script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<a class="skip-main" href="#main">Skip to main content</a>
|
||||
<div class="container">
|
||||
<header class="common-header">
|
||||
|
||||
<div class="header-top">
|
||||
<div class="header-top-left">
|
||||
<h1 class="site-title noselect">
|
||||
<a href="/">Thanwer's Blog</a>
|
||||
</h1>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="theme-switcher">
|
||||
<span class="inline-svg">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-sun-high"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M14.828 14.828a4 4 0 1 0 -5.656 -5.656a4 4 0 0 0 5.656 5.656z" /><path d="M6.343 17.657l-1.414 1.414" /><path d="M6.343 6.343l-1.414 -1.414" /><path d="M17.657 6.343l1.414 -1.414" /><path d="M17.657 17.657l1.414 1.414" /><path d="M4 12h-2" /><path d="M12 4v-2" /><path d="M20 12h2" /><path d="M12 20v2" /></svg>
|
||||
|
||||
|
||||
</span>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<script>
|
||||
const STORAGE_KEY = 'user-color-scheme'
|
||||
const defaultTheme = "auto"
|
||||
|
||||
let currentTheme
|
||||
let switchButton
|
||||
let autoDefinedScheme = window.matchMedia('(prefers-color-scheme: dark)')
|
||||
|
||||
function switchTheme(e) {
|
||||
currentTheme = (currentTheme === 'dark') ? 'light' : 'dark';
|
||||
if (localStorage) localStorage.setItem(STORAGE_KEY, currentTheme);
|
||||
document.documentElement.setAttribute('data-theme', currentTheme);
|
||||
changeGiscusTheme(currentTheme);
|
||||
document.body.dispatchEvent(new CustomEvent(currentTheme + "-theme-set"));
|
||||
}
|
||||
|
||||
const autoChangeScheme = e => {
|
||||
currentTheme = e.matches ? 'dark' : 'light'
|
||||
document.documentElement.setAttribute('data-theme', currentTheme);
|
||||
changeGiscusTheme(currentTheme);
|
||||
document.body.dispatchEvent(new CustomEvent(currentTheme + "-theme-set"));
|
||||
}
|
||||
|
||||
document.addEventListener('DOMContentLoaded', function () {
|
||||
switchButton = document.querySelector('.theme-switcher')
|
||||
currentTheme = detectCurrentScheme()
|
||||
|
||||
if (currentTheme === 'auto') {
|
||||
autoChangeScheme(autoDefinedScheme);
|
||||
autoDefinedScheme.addListener(autoChangeScheme);
|
||||
} else {
|
||||
document.documentElement.setAttribute('data-theme', currentTheme)
|
||||
}
|
||||
|
||||
if (switchButton) {
|
||||
switchButton.addEventListener('click', switchTheme, false)
|
||||
}
|
||||
|
||||
showContent();
|
||||
})
|
||||
|
||||
function detectCurrentScheme() {
|
||||
if (localStorage !== null && localStorage.getItem(STORAGE_KEY)) {
|
||||
return localStorage.getItem(STORAGE_KEY)
|
||||
}
|
||||
if (defaultTheme) {
|
||||
return defaultTheme
|
||||
}
|
||||
return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
|
||||
}
|
||||
|
||||
function showContent() {
|
||||
document.body.style.visibility = 'visible';
|
||||
document.body.style.opacity = 1;
|
||||
}
|
||||
|
||||
function changeGiscusTheme (theme) {
|
||||
function sendMessage(message) {
|
||||
const iframe = document.querySelector('iframe.giscus-frame');
|
||||
if (!iframe) return;
|
||||
iframe.contentWindow.postMessage({ giscus: message }, 'https://giscus.app');
|
||||
}
|
||||
|
||||
sendMessage({
|
||||
setConfig: {
|
||||
theme: theme
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
<ul class="social-icons noselect">
|
||||
|
||||
|
||||
|
||||
<li>
|
||||
<a href="https://github.com/thanwer" title="Github" rel="me">
|
||||
<span class="inline-svg">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-brand-github"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M9 19c-4.3 1.4 -4.3 -2.5 -6 -3m12 5v-3.5c0 -1 .1 -1.4 -.5 -2c2.8 -.3 5.5 -1.4 5.5 -6a4.6 4.6 0 0 0 -1.3 -3.2a4.2 4.2 0 0 0 -.1 -3.2s-1.1 -.3 -3.5 1.3a12.3 12.3 0 0 0 -6.2 0c-2.4 -1.6 -3.5 -1.3 -3.5 -1.3a4.2 4.2 0 0 0 -.1 3.2a4.6 4.6 0 0 0 -1.3 3.2c0 4.6 2.7 5.7 5.5 6c-.6 .6 -.6 1.2 -.5 2v3.5" /></svg>
|
||||
|
||||
|
||||
</span>
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
<li>
|
||||
<a href="https://www.linkedin.com/in/thanwer/" title="Linkedin" rel="me">
|
||||
<span class="inline-svg">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-brand-linkedin"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M4 4m0 2a2 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="M8 11l0 5" /><path d="M8 8l0 .01" /><path d="M12 16l0 -5" /><path d="M16 16v-3a2 2 0 0 0 -4 0" /></svg>
|
||||
|
||||
|
||||
</span>
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
<li>
|
||||
<a href="mailto:admin@thanwer.com" title="Email" rel="me">
|
||||
<span class="inline-svg">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-mail"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M3 7a2 2 0 0 1 2 -2h14a2 2 0 0 1 2 2v10a2 2 0 0 1 -2 2h-14a2 2 0 0 1 -2 -2v-10z" /><path d="M3 7l9 6l9 -6" /></svg>
|
||||
|
||||
|
||||
</span>
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
<li>
|
||||
<a href="https://facebook.com/thanwer" title="Facebook" rel="me">
|
||||
<span class="inline-svg">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-brand-facebook"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M7 10v4h3v7h4v-7h3l1 -4h-4v-2a1 1 0 0 1 1 -1h3v-4h-3a5 5 0 0 0 -5 5v2h-3" /></svg>
|
||||
|
||||
|
||||
</span>
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
<li>
|
||||
<a href="https://www.instagram.com/thanwer/" title="Instagram" rel="me">
|
||||
<span class="inline-svg">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-brand-instagram"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M4 4m0 4a4 4 0 0 1 4 -4h8a4 4 0 0 1 4 4v8a4 4 0 0 1 -4 4h-8a4 4 0 0 1 -4 -4z" /><path d="M12 12m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0" /><path d="M16.5 7.5l0 .01" /></svg>
|
||||
|
||||
|
||||
</span>
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
<li>
|
||||
<a href="https://t.me/thanwer" title="Telegram" rel="me">
|
||||
<span class="inline-svg">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-brand-telegram"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M15 10l-4 4l6 6l4 -16l-18 7l4 2l2 6l3 -4" /></svg>
|
||||
|
||||
|
||||
</span>
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
<li>
|
||||
<a href="https://x.com/thanwer" title="X" rel="me">
|
||||
<span class="inline-svg">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-brand-x"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M4 4l11.733 16h4.267l-11.733 -16z" /><path d="M4 20l6.768 -6.768m2.46 -2.46l6.772 -6.772" /></svg>
|
||||
|
||||
|
||||
</span>
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
<li>
|
||||
<a href="https://youtube.com/lordthanwer" title="Youtube" rel="me">
|
||||
<span class="inline-svg">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-brand-youtube"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M2 8a4 4 0 0 1 4 -4h12a4 4 0 0 1 4 4v8a4 4 0 0 1 -4 4h-12a4 4 0 0 1 -4 -4v-8z" /><path d="M10 9l5 3l-5 3z" /></svg>
|
||||
|
||||
|
||||
</span>
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li>
|
||||
<a href="/index.xml" title="RSS" rel="me">
|
||||
<span class="inline-svg">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-rss"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M5 19m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0" /><path d="M4 4a16 16 0 0 1 16 16" /><path d="M4 11a9 9 0 0 1 9 9" /></svg>
|
||||
|
||||
|
||||
</span>
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
<div class="header-top-right">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<nav></nav>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</header>
|
||||
<main id="main" tabindex="-1">
|
||||
|
||||
<div class="index-content">
|
||||
|
||||
</div>
|
||||
|
||||
<h1>Tags</h1>
|
||||
<ul class="terms">
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
</main>
|
||||
|
||||
<footer class="common-footer noselect">
|
||||
|
||||
|
||||
|
||||
<div class="common-footer-bottom">
|
||||
|
||||
|
||||
<div style="display: flex; align-items: center; gap:8px">
|
||||
© Pietro Arancibia, 2024
|
||||
|
||||
</div>
|
||||
<div style="display:flex;align-items: center">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div>
|
||||
Powered by <a target="_blank" rel="noopener noreferrer" href="https://gohugo.io/">Hugo</a>, theme <a target="_blank" rel="noopener noreferrer" href="https://github.com/Junyi-99/hugo-theme-anubis2">Anubis2</a>.<br>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<p class="h-card vcard">
|
||||
|
||||
<a href=https://blog.thanwer.com/ class="p-name u-url url fn" rel="me">map[email:admin@thanwer.com location:Germany name:Pietro Arancibia]</a>
|
||||
|
||||
|
||||
|
||||
|
||||
</p>
|
||||
|
||||
</footer>
|
||||
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
27
public/tags/index.xml
Normal file
27
public/tags/index.xml
Normal file
@ -0,0 +1,27 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
|
||||
<channel>
|
||||
<title>Tags on Thanwer's Blog</title>
|
||||
<link>/tags/</link>
|
||||
<description>Thanwer's Blog (Tags)</description>
|
||||
<generator>Hugo -- gohugo.io</generator>
|
||||
<language>en-us</language>
|
||||
|
||||
|
||||
<managingEditor>admin@thanwer.com
|
||||
|
||||
(Pietro Arancibia)
|
||||
|
||||
</managingEditor>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<atom:link href="/tags/index.xml" rel="self" type="application/rss+xml" />
|
||||
|
||||
|
||||
</channel>
|
||||
</rss>
|
||||
483
public/test/index.html
Normal file
483
public/test/index.html
Normal file
@ -0,0 +1,483 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
|
||||
<html lang="en-us" data-theme="">
|
||||
<head><script src="/livereload.js?mindelay=10&v=2&port=1313&path=livereload" data-no-instant defer></script>
|
||||
|
||||
|
||||
<meta charset="utf-8">
|
||||
<meta name="HandheldFriendly" content="True">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="referrer" content="no-referrer-when-downgrade">
|
||||
|
||||
<title>My first port - Thanwer’s Blog</title>
|
||||
|
||||
<meta name="description" content="
|
||||
|
||||
|
||||
#
|
||||
|
||||
Introduction
|
||||
|
||||
|
||||
This is bold text, and this is emphasized text.
|
||||
Visit the Hugo website!">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link rel="icon" type="image/x-icon" href="http://localhost:1313/favicon.ico">
|
||||
<link rel="apple-touch-icon-precomposed" href="http://localhost:1313/favicon.png">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<style>
|
||||
body {
|
||||
visibility: hidden;
|
||||
opacity: 0;
|
||||
}
|
||||
</style>
|
||||
|
||||
<noscript>
|
||||
<style>
|
||||
body {
|
||||
visibility: visible;
|
||||
opacity: 1;
|
||||
}
|
||||
</style>
|
||||
</noscript>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="/css/style.03df79c682b91915c7cd261ecd1a6ec4d0fe668c98fa46310d0fbade319b11bd.css" integrity="sha256-A995xoK5GRXHzSYezRpuxND+ZoyY+kYxDQ+63jGbEb0=">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="/css/style.9c1888ebff42c0224ce04dac10cb2c401f1b77f54f78e8d87d73c3bed781c263.css" integrity="sha256-nBiI6/9CwCJM4E2sEMssQB8bd/VPeOjYfXPDvteBwmM=">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="/css/style.acd606c0fce58853afe0248d37bb41acbbcdd8b1aca2412b6c0fa760da0137f3.css" integrity="sha256-rNYGwPzliFOv4CSNN7tBrLvN2LGsokErbA+nYNoBN/M=">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<script src="/js/script.672e2309c296e07c18bcd08b28d797a56222ff941d65f308fba3158c44885b14.js" type="text/javascript" charset="utf-8" integrity="sha256-Zy4jCcKW4HwYvNCLKNeXpWIi/5QdZfMI+6MVjESIWxQ="></script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<a class="skip-main" href="#main">Skip to main content</a>
|
||||
<div class="container">
|
||||
<header class="common-header">
|
||||
|
||||
<div class="header-top">
|
||||
<div class="header-top-left">
|
||||
<h1 class="site-title noselect">
|
||||
<a href="/">Thanwer's Blog</a>
|
||||
</h1>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="theme-switcher">
|
||||
<span class="inline-svg">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-sun-high"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M14.828 14.828a4 4 0 1 0 -5.656 -5.656a4 4 0 0 0 5.656 5.656z" /><path d="M6.343 17.657l-1.414 1.414" /><path d="M6.343 6.343l-1.414 -1.414" /><path d="M17.657 6.343l1.414 -1.414" /><path d="M17.657 17.657l1.414 1.414" /><path d="M4 12h-2" /><path d="M12 4v-2" /><path d="M20 12h2" /><path d="M12 20v2" /></svg>
|
||||
|
||||
|
||||
</span>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<script>
|
||||
const STORAGE_KEY = 'user-color-scheme'
|
||||
const defaultTheme = "light"
|
||||
|
||||
let currentTheme
|
||||
let switchButton
|
||||
let autoDefinedScheme = window.matchMedia('(prefers-color-scheme: dark)')
|
||||
|
||||
function switchTheme(e) {
|
||||
currentTheme = (currentTheme === 'dark') ? 'light' : 'dark';
|
||||
if (localStorage) localStorage.setItem(STORAGE_KEY, currentTheme);
|
||||
document.documentElement.setAttribute('data-theme', currentTheme);
|
||||
changeGiscusTheme(currentTheme);
|
||||
document.body.dispatchEvent(new CustomEvent(currentTheme + "-theme-set"));
|
||||
}
|
||||
|
||||
const autoChangeScheme = e => {
|
||||
currentTheme = e.matches ? 'dark' : 'light'
|
||||
document.documentElement.setAttribute('data-theme', currentTheme);
|
||||
changeGiscusTheme(currentTheme);
|
||||
document.body.dispatchEvent(new CustomEvent(currentTheme + "-theme-set"));
|
||||
}
|
||||
|
||||
document.addEventListener('DOMContentLoaded', function () {
|
||||
switchButton = document.querySelector('.theme-switcher')
|
||||
currentTheme = detectCurrentScheme()
|
||||
|
||||
if (currentTheme === 'auto') {
|
||||
autoChangeScheme(autoDefinedScheme);
|
||||
autoDefinedScheme.addListener(autoChangeScheme);
|
||||
} else {
|
||||
document.documentElement.setAttribute('data-theme', currentTheme)
|
||||
}
|
||||
|
||||
if (switchButton) {
|
||||
switchButton.addEventListener('click', switchTheme, false)
|
||||
}
|
||||
|
||||
showContent();
|
||||
})
|
||||
|
||||
function detectCurrentScheme() {
|
||||
if (localStorage !== null && localStorage.getItem(STORAGE_KEY)) {
|
||||
return localStorage.getItem(STORAGE_KEY)
|
||||
}
|
||||
if (defaultTheme) {
|
||||
return defaultTheme
|
||||
}
|
||||
return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
|
||||
}
|
||||
|
||||
function showContent() {
|
||||
document.body.style.visibility = 'visible';
|
||||
document.body.style.opacity = 1;
|
||||
}
|
||||
|
||||
function changeGiscusTheme (theme) {
|
||||
function sendMessage(message) {
|
||||
const iframe = document.querySelector('iframe.giscus-frame');
|
||||
if (!iframe) return;
|
||||
iframe.contentWindow.postMessage({ giscus: message }, 'https://giscus.app');
|
||||
}
|
||||
|
||||
sendMessage({
|
||||
setConfig: {
|
||||
theme: theme
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
<ul class="social-icons noselect">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li>
|
||||
<a href="/index.xml" title="RSS" rel="me">
|
||||
<span class="inline-svg">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-rss"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M5 19m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0" /><path d="M4 4a16 16 0 0 1 16 16" /><path d="M4 11a9 9 0 0 1 9 9" /></svg>
|
||||
|
||||
|
||||
</span>
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
<div class="header-top-right">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<nav></nav>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</header>
|
||||
<main id="main" tabindex="-1">
|
||||
|
||||
|
||||
|
||||
<article class="post h-entry">
|
||||
<div class="post-header">
|
||||
<header>
|
||||
<h1 class="p-name post-title draft">My first port</h1>
|
||||
|
||||
|
||||
</header>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="post-info noselect">
|
||||
|
||||
<div class="post-date dt-published">
|
||||
<time datetime="2024-10-19">2024-10-19</time>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<a class="post-hidden-url u-url" href="/test/">/test/</a>
|
||||
<a href="http://localhost:1313/" class="p-name p-author post-hidden-author h-card" rel="me">map[name:Pietro Arancibia]</a>
|
||||
|
||||
|
||||
<div class="post-taxonomies">
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<details class="toc noselect">
|
||||
<summary>Table of Contents</summary>
|
||||
<div class="inner"><nav id="TableOfContents">
|
||||
<ul>
|
||||
<li><a href="#introduction">Introduction</a></li>
|
||||
</ul>
|
||||
</nav></div>
|
||||
</details>
|
||||
|
||||
|
||||
|
||||
|
||||
<script>
|
||||
var toc = document.querySelector(".toc");
|
||||
if (toc) {
|
||||
toc.addEventListener("click", function () {
|
||||
if (event.target.tagName !== "A") {
|
||||
event.preventDefault();
|
||||
if (this.open) {
|
||||
this.open = false;
|
||||
this.classList.remove("expanded");
|
||||
} else {
|
||||
this.open = true;
|
||||
this.classList.add("expanded");
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
|
||||
<div class="content e-content">
|
||||
<h2 id="introduction" >
|
||||
<div>
|
||||
<a href="#introduction">
|
||||
#
|
||||
</a>
|
||||
Introduction
|
||||
</div>
|
||||
</h2>
|
||||
<p>This is <strong>bold</strong> text, and this is <em>emphasized</em> text.</p>
|
||||
<p>Visit the <a href="https://gohugo.io">Hugo</a> website!</p>
|
||||
|
||||
</div>
|
||||
|
||||
</article>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</main>
|
||||
|
||||
<footer class="common-footer noselect">
|
||||
|
||||
|
||||
|
||||
<div class="common-footer-bottom">
|
||||
|
||||
|
||||
<div style="display: flex; align-items: center; gap:8px">
|
||||
© Pietro Arancibia, 2024
|
||||
|
||||
</div>
|
||||
<div style="display:flex;align-items: center">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div>
|
||||
Powered by <a target="_blank" rel="noopener noreferrer" href="https://gohugo.io/">Hugo</a>, theme <a target="_blank" rel="noopener noreferrer" href="https://github.com/Junyi-99/hugo-theme-anubis2">Anubis2</a>.<br>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<p class="h-card vcard">
|
||||
|
||||
<a href=http://localhost:1313/ class="p-name u-url url fn" rel="me">map[name:Pietro Arancibia]</a>
|
||||
|
||||
|
||||
|
||||
|
||||
</p>
|
||||
|
||||
</footer>
|
||||
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
1
themes/anubis2
Submodule
1
themes/anubis2
Submodule
@ -0,0 +1 @@
|
||||
Subproject commit 95844a6f7a416d79ecc9e49034192e45fe0381aa
|
||||
Loading…
Reference in New Issue
Block a user