Delete public directory
189
public/404.html
@@ -1,189 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html class="" lang="en-us"><head><script src="/livereload.js?mindelay=10&v=2&port=1313&path=livereload" data-no-instant defer></script>
|
||||
|
||||
<meta name="robots" content="noai, noimageai">
|
||||
<meta name="viewport" content="width=device-width" />
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=7" />
|
||||
|
||||
<link
|
||||
rel="icon"
|
||||
href='/favicon.png'
|
||||
/>
|
||||
<link
|
||||
rel="shortcut icon"
|
||||
href='/favicon.ico'
|
||||
type="image/x-icon"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-icon"
|
||||
href='/apple-touch-icon.png'
|
||||
/>
|
||||
|
||||
<link
|
||||
rel="icon"
|
||||
href='logo.svg'
|
||||
type="image/svg+xml"
|
||||
/>
|
||||
|
||||
<title>
|
||||
|
||||
404 Page not found –
|
||||
|
||||
Patrick Canal
|
||||
</title>
|
||||
|
||||
|
||||
<link href="/symbols-nerd-font/symbols-nerd-font.css" rel="stylesheet" />
|
||||
<link href="/jetbrains-mono/jetbrains-mono.css" rel="stylesheet" />
|
||||
|
||||
|
||||
|
||||
<link type="text/css" rel="stylesheet" href=http://localhost:1313/css/styles.abbd6311bb4b6ca58f8e7398140529245ae0f6428b759fcd830742eee2619eabb900ba9914a9affb82aa9a16a9b9ea727bb315315a976a0db0e7513a5f12c504.css integrity="sha512-q71jEbtLbKWPjnOYFAUpJFrg9kKLdZ/NgwdC7uJhnqu5ALqZFKmv+4Kqmhapuepye7MVMVqXag2w51E6XxLFBA==" />
|
||||
<meta name="author" content="Patrick Canal" />
|
||||
|
||||
|
||||
|
||||
<meta property="og:site_name"
|
||||
content='Patrick Canal' />
|
||||
|
||||
<meta property="og:title"
|
||||
content='Patrick Canal' />
|
||||
|
||||
<meta property="og:type" content="blog" />
|
||||
<meta property="og:image"
|
||||
content='http://localhost:1313/img/icon.svg' />
|
||||
|
||||
<meta name="twitter:card" content="summary_large_image" />
|
||||
<meta property="twitter:domain"
|
||||
content='localhost:1313'
|
||||
/>
|
||||
<meta property="twitter:url" content="http://localhost:1313/404.html" />
|
||||
|
||||
|
||||
<meta name="twitter:title"
|
||||
content='Patrick Canal' />
|
||||
|
||||
<meta name="twitter:image"
|
||||
content='http://localhost:1313/img/icon.svg' />
|
||||
|
||||
<link rel="manifest" href="/manifest/index.json" />
|
||||
</head>
|
||||
|
||||
|
||||
<body>
|
||||
<div id="baseContainer"><header class="">
|
||||
<div class="titleAndSearchContainer">
|
||||
<div id="titleContainer">
|
||||
|
||||
<a class="unstyledLink" href="/">
|
||||
<img src='logo.svg' alt='Logo'/>
|
||||
</a>
|
||||
|
||||
<div class="rightOfLogo">
|
||||
<div class="titleAndHamburger">
|
||||
<h1>
|
||||
<a class="unstyledLink" href="/">Patrick Canal</a>
|
||||
|
||||
</h1>
|
||||
|
||||
</div>
|
||||
<div id="wide_nav"><nav>
|
||||
|
||||
<ul id="main-nav">
|
||||
<li><a href="/">Home</a></li>
|
||||
|
||||
<li><a href="/posts/">Posts</a></li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li><a href="/tags/">Tags</a></li>
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="search">
|
||||
<input id="searchbar" type="text" placeholder='Search' />
|
||||
<span class="nerdlink" onclick="newSearch();"></span>
|
||||
</div>
|
||||
<script>
|
||||
function newSearch() {
|
||||
let term = searchbar.value.trim();
|
||||
if (!term) return;
|
||||
location.href = `/search/?q=${term}`;
|
||||
}
|
||||
searchbar.onkeyup = (ev) => {if (ev.keyCode == 13) newSearch()};
|
||||
</script>
|
||||
|
||||
</div>
|
||||
<div id="links">
|
||||
<a
|
||||
|
||||
rel="noreferrer"
|
||||
|
||||
target="_blank"
|
||||
class="nerdlink"
|
||||
href="/index.xml">
|
||||
|
||||
|
||||

|
||||
|
||||
<span>
|
||||
RSS
|
||||
</span>
|
||||
</a>
|
||||
|
||||
|
||||
<a
|
||||
|
||||
rel="noreferrer"
|
||||
|
||||
target="_blank"
|
||||
class="nerdlink"
|
||||
href="https://github.com/Superredstone">
|
||||
|
||||
|
||||

|
||||
|
||||
<span>
|
||||
Github
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</header>
|
||||
<div id="contentContainer">
|
||||
<div id="content">
|
||||
<main>
|
||||
<article>
|
||||
<h1>
|
||||
This is not the page you were looking for
|
||||
</h1>
|
||||
</article>
|
||||
|
||||
</main><footer>
|
||||
<hr />
|
||||
|
||||
<p><small>
|
||||
2025 © Patrick Canal
|
||||
</small></p>
|
||||
<p><small>
|
||||
<a href='https://gitlab.com/gabmus/hugo-ficurinia'>Ficurinia theme</a> for <a href='https://gohugo.io'>Hugo</a> by <a href='https://gabmus.org'>Gabriele Musco</a>. Licensed under <a href='https://www.gnu.org/licenses/agpl-3.0.html'>GNU AGPLv3</a>.
|
||||
</small></p>
|
||||
</footer>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
Before Width: | Height: | Size: 9.5 KiB |
|
Before Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 8.9 KiB |
3
public/bundle.min.js
vendored
@@ -1,3 +0,0 @@
|
||||
(()=>{var t=document.querySelector(".container"),e=document.querySelectorAll(".menu");document.body.addEventListener("click",()=>{e.forEach(e=>{e.classList.contains("open")&&e.classList.remove("open")})}),window.addEventListener("resize",()=>{e.forEach(e=>{e.classList.remove("open")})}),e.forEach(n=>{const o=n.querySelector(".menu__trigger"),s=n.querySelector(".menu__dropdown");o.addEventListener("click",o=>{o.stopPropagation(),n.classList.contains("open")?n.classList.remove("open"):(e.forEach(e=>e.classList.remove("open")),n.classList.add("open")),s.getBoundingClientRect().right>t.getBoundingClientRect().right&&(s.style.left="auto",s.style.right=0)}),s.addEventListener("click",e=>e.stopPropagation())})})(),(()=>{var e=document.querySelectorAll(".chroma code[data-lang]");for(const n of e){const s=n.parentElement,o=n.innerText.split(`
|
||||
`).filter(Boolean).join(`
|
||||
`),t=document.createElement("div"),i=n.dataset.lang;if(t.classList.add("code-title"),t.innerText=i,navigator.clipboard!==void 0){const e=document.createElement("button");e.classList.add("copy-button"),e.innerText="Copy",e.addEventListener("click",()=>{e.innerText="Copied",setTimeout(()=>{e.innerText="Copy"},1e3),navigator.clipboard.writeText(o)}),t.append(e)}s.closest(".highlight").prepend(t)}})()
|
||||
@@ -1,203 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html class="" lang="en-us"><head><script src="/livereload.js?mindelay=10&v=2&port=1313&path=livereload" data-no-instant defer></script>
|
||||
|
||||
<meta name="robots" content="noai, noimageai">
|
||||
<meta name="viewport" content="width=device-width" />
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=7" />
|
||||
|
||||
|
||||
|
||||
<link href="http://localhost:1313/categories/index.xml" rel="alternate" type="application/rss+xml" title="Patrick Canal" />
|
||||
<link href="http://localhost:1313/categories/index.xml" rel="feed" type="application/rss+xml" title="Patrick Canal" />
|
||||
|
||||
<link
|
||||
rel="icon"
|
||||
href='/favicon.png'
|
||||
/>
|
||||
<link
|
||||
rel="shortcut icon"
|
||||
href='/favicon.ico'
|
||||
type="image/x-icon"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-icon"
|
||||
href='/apple-touch-icon.png'
|
||||
/>
|
||||
|
||||
<link
|
||||
rel="icon"
|
||||
href='logo.svg'
|
||||
type="image/svg+xml"
|
||||
/>
|
||||
|
||||
<title>
|
||||
|
||||
Categories –
|
||||
|
||||
Patrick Canal
|
||||
</title>
|
||||
|
||||
|
||||
<link href="/symbols-nerd-font/symbols-nerd-font.css" rel="stylesheet" />
|
||||
<link href="/jetbrains-mono/jetbrains-mono.css" rel="stylesheet" />
|
||||
|
||||
|
||||
|
||||
<link type="text/css" rel="stylesheet" href=http://localhost:1313/css/styles.abbd6311bb4b6ca58f8e7398140529245ae0f6428b759fcd830742eee2619eabb900ba9914a9affb82aa9a16a9b9ea727bb315315a976a0db0e7513a5f12c504.css integrity="sha512-q71jEbtLbKWPjnOYFAUpJFrg9kKLdZ/NgwdC7uJhnqu5ALqZFKmv+4Kqmhapuepye7MVMVqXag2w51E6XxLFBA==" />
|
||||
<meta name="author" content="Patrick Canal" />
|
||||
|
||||
|
||||
|
||||
<meta property="og:site_name"
|
||||
content='Patrick Canal' />
|
||||
|
||||
<meta property="og:title"
|
||||
content='Patrick Canal' />
|
||||
|
||||
<meta property="og:type" content="blog" />
|
||||
<meta property="og:image"
|
||||
content='http://localhost:1313/img/icon.svg' />
|
||||
|
||||
<meta name="twitter:card" content="summary_large_image" />
|
||||
<meta property="twitter:domain"
|
||||
content='localhost:1313'
|
||||
/>
|
||||
<meta property="twitter:url" content="http://localhost:1313/categories/" />
|
||||
|
||||
|
||||
<meta name="twitter:title"
|
||||
content='Patrick Canal' />
|
||||
|
||||
<meta name="twitter:image"
|
||||
content='http://localhost:1313/img/icon.svg' />
|
||||
|
||||
<link rel="manifest" href="/manifest/index.json" />
|
||||
</head>
|
||||
|
||||
|
||||
<body>
|
||||
<div id="baseContainer"><header class="">
|
||||
<div class="titleAndSearchContainer">
|
||||
<div id="titleContainer">
|
||||
|
||||
<a class="unstyledLink" href="/">
|
||||
<img src='logo.svg' alt='Logo'/>
|
||||
</a>
|
||||
|
||||
<div class="rightOfLogo">
|
||||
<div class="titleAndHamburger">
|
||||
<h1>
|
||||
<a class="unstyledLink" href="/">Patrick Canal</a>
|
||||
|
||||
</h1>
|
||||
|
||||
</div>
|
||||
<div id="wide_nav"><nav>
|
||||
|
||||
<ul id="main-nav">
|
||||
<li><a href="/">Home</a></li>
|
||||
|
||||
<li><a href="/posts/">Posts</a></li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li><a href="/tags/">Tags</a></li>
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="search">
|
||||
<input id="searchbar" type="text" placeholder='Search' />
|
||||
<span class="nerdlink" onclick="newSearch();"></span>
|
||||
</div>
|
||||
<script>
|
||||
function newSearch() {
|
||||
let term = searchbar.value.trim();
|
||||
if (!term) return;
|
||||
location.href = `/search/?q=${term}`;
|
||||
}
|
||||
searchbar.onkeyup = (ev) => {if (ev.keyCode == 13) newSearch()};
|
||||
</script>
|
||||
|
||||
</div>
|
||||
<div id="links">
|
||||
<a
|
||||
|
||||
rel="noreferrer"
|
||||
|
||||
target="_blank"
|
||||
class="nerdlink"
|
||||
href="/index.xml">
|
||||
|
||||
|
||||

|
||||
|
||||
<span>
|
||||
RSS
|
||||
</span>
|
||||
</a>
|
||||
|
||||
|
||||
<a
|
||||
|
||||
rel="noreferrer"
|
||||
|
||||
target="_blank"
|
||||
class="nerdlink"
|
||||
href="https://github.com/Superredstone">
|
||||
|
||||
|
||||

|
||||
|
||||
<span>
|
||||
Github
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</header>
|
||||
<div id="contentContainer">
|
||||
<div id="content">
|
||||
<main>
|
||||
<h2>
|
||||
|
||||
|
||||
|
||||
|
||||
Categories
|
||||
|
||||
</h2>
|
||||
<ul class="list">
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
</main><footer>
|
||||
<hr />
|
||||
|
||||
<p><small>
|
||||
2025 © Patrick Canal
|
||||
</small></p>
|
||||
<p><small>
|
||||
<a href='https://gitlab.com/gabmus/hugo-ficurinia'>Ficurinia theme</a> for <a href='https://gohugo.io'>Hugo</a> by <a href='https://gabmus.org'>Gabriele Musco</a>. Licensed under <a href='https://www.gnu.org/licenses/agpl-3.0.html'>GNU AGPLv3</a>.
|
||||
</small></p>
|
||||
</footer>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,11 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><?xml-stylesheet href="/feed_style.xsl" type="text/xsl"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="https://www.rssboard.org/media-rss">
|
||||
<channel>
|
||||
<title>Categories on Patrick Canal</title>
|
||||
<link>http://localhost:1313/categories/</link>
|
||||
<description>Recent content in Categories on Patrick Canal</description>
|
||||
<generator>Hugo -- gohugo.io</generator>
|
||||
<language>en-us</language>
|
||||
<copyright>Patrick Canal</copyright><atom:link href="http://localhost:1313/categories/index.xml" rel="self" type="application/rss+xml" /><icon>http://localhost:1313/logo.svg</icon>
|
||||
|
||||
</channel>
|
||||
</rss>
|
||||
@@ -1 +0,0 @@
|
||||
.button-container{display:table;margin-left:auto;margin-right:auto}button,.button,a.button{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:8px 18px;text-decoration:none;text-align:center;font:inherit;font-weight:700;appearance:none;cursor:pointer;outline:none}button.outline,.button.outline,a.button.outline{background:0 0;box-shadow:none;padding:8px 18px}button.outline :hover,.button.outline :hover,a.button.outline :hover{transform:none;box-shadow:none}button.link,.button.link,a.button.link{background:0 0;font-size:var(--font-size)}button.small,.button.small,a.button.small{font-size:calc(var(--font-size) * .8)}button.wide,.button.wide,a.button.wide{min-width:200px;padding:14px 24px}a.button.inline{background:0 0;color:var(--accent);padding:initial;margin:initial;border:initial;font-weight:initial;text-decoration:none}a.button.inline:active,a.button.inline:hover{background:0 0}a.read-more,a.read-more:hover,a.read-more:active{display:inline-flex;border:none;background:0 0;box-shadow:none;padding:0;max-width:100%;text-decoration:none}
|
||||
@@ -1 +0,0 @@
|
||||
:root{--code-border:color-mix(in srgb, var(--foreground) 10%, transparent)}pre:not(.chroma){margin:20px 0;padding:10px}pre.chroma{margin:0;padding:10px 0;color:var(--foreground)}pre code{color:var(--foreground);border:none}code{color:var(--accent)}.highlight{position:relative;margin:20px 0;border:1px solid var(--code-border)}.highlight pre{border:none}.code-title{display:flex;align-items:center;justify-content:space-between;background:color-mix(in srgb,var(--foreground) 5%,transparent);border-bottom:1px solid var(--code-border);color:var(--comment);text-transform:uppercase;font-size:calc(var(--font-size) * .8);padding:6px 10px;line-height:1}.copy-button{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:3px 8px;text-decoration:none;text-align:center;font-size:13px;font-weight:500;border:1px solid color-mix(in srgb,var(--accent) 15%,transparent);appearance:none;cursor:pointer;outline:none}.code-title .copy-button{z-index:1;background:color-mix(in srgb,var(--foreground) 5%,var(--background))}.code-title:hover .copy-button{display:inline-block}.code-title .copy-button:hover{background:color-mix(in srgb,var(--accent) 10%,var(--background))}.collapsable-code{position:relative;width:100%;margin:20px 0;border:1px solid var(--accent);.highlight { margin: 0; }}.collapsable-code__title{display:inline-flex;align-items:center;flex:1;color:var(--accent);padding:3px 10px;font-size:calc(var(--font-size) * .9);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.collapsable-code__language{color:var(--accent);border:1px solid var(--accent);border-bottom:none;text-transform:uppercase;padding:3px 10px}.collapsable-code summary{color:var(--accent);padding:0 10px;cursor:pointer}.collapsable-code summary:hover{background:color-mix(in srgb,var(--accent) 10%,transparent)}.collapsable-code pre{margin-top:0}.collapsable-code pre::first-line{line-height:0}
|
||||
@@ -1 +0,0 @@
|
||||
@font-face{font-family:fira code;font-style:normal;font-weight:300 700;font-display:swap;src:url(../fonts/FiraCode-LatinExt.woff2)format('woff2');unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:fira code;font-style:normal;font-weight:300 700;font-display:swap;src:url(../fonts/FiraCode-Latin.woff2)format('woff2');unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
|
||||
@@ -1 +0,0 @@
|
||||
.footer{padding:40px 0;flex-grow:0;opacity:.65}.footer__inner{display:flex;align-items:center;justify-content:space-between;margin:0;max-width:100%}.footer a{color:inherit}.footer .copyright{display:flex;flex-flow:row wrap;flex:1;align-items:center;justify-content:center}.footer .copyright--user{margin:auto;text-align:center}.footer .copyright>*:first-child:not(:only-child){margin-right:10px}.footer .copyright span{white-space:nowrap}@media(max-width:900px){.footer__inner{flex-direction:column}}
|
||||
@@ -1 +0,0 @@
|
||||
body .gist .blob-num,body .gist .blob-code-inner{border:none}
|
||||
@@ -1 +0,0 @@
|
||||
.header{display:flex;flex-direction:column;position:relative}.header__inner{display:flex;align-items:center;justify-content:space-between}.header__logo{display:flex;flex:1}.header__logo::after{content:"";background:repeating-linear-gradient(90deg,var(--accent),var(--accent) 2px,transparent 0,transparent 10px);display:block;width:100%;right:10px}.header__logo a{flex:none;max-width:100%;text-decoration:none}.logo{display:flex;align-items:center;text-decoration:none;background:var(--accent);color:var(--background);font-weight:700;padding:5px 10px}@media print{.header{display:none}}
|
||||
@@ -1 +0,0 @@
|
||||
.navigation-menu{display:flex;align-items:flex-start;justify-content:space-between;margin:20px 1px}.navigation-menu__inner{display:flex;flex:1;flex-wrap:wrap;list-style:none;margin:0;padding:0}.navigation-menu__inner>li{flex:none;margin-bottom:10px;white-space:nowrap}.navigation-menu__inner>li:not(:last-of-type){margin-right:20px}.navigation-menu .spacer{flex-grow:1!important}.menu{display:flex;flex-direction:column;position:relative;list-style:none;padding:0;margin:0}.menu__trigger{margin-right:0!important;color:var(--accent);user-select:none;cursor:pointer}.menu__dropdown{display:none;flex-direction:column;position:absolute;background:var(--background);box-shadow:0 10px var(--background),-10px 10px var(--background),10px 10px var(--background);color:var(--accent);border:2px solid var(--accent);margin:0;padding:10px;top:10px;left:0;list-style:none;z-index:99}.open .menu__dropdown{display:flex}.menu__dropdown>li{flex:none}.menu__dropdown>li:not(:last-of-type){margin-bottom:10px}.menu__dropdown>li a{display:flex;padding:5px}.menu--mobile .menu__trigger{color:var(--accent);border:2px solid;margin-left:10px;height:100%;padding:3px 8px;margin-bottom:0!important;position:relative;cursor:pointer;display:none}.menu--mobile li{flex:none}.menu--mobile li:not(:last-of-type){margin-bottom:10px}.menu--language-selector .menu__trigger{color:var(--accent);border:2px solid;margin-left:5px;height:100%;padding:3px 8px;margin-bottom:0!important;position:relative;cursor:pointer}.menu--language-selector .menu__dropdown{left:auto;right:0}@media(max-width:684px){.navigation-menu{margin:0}.navigation-menu__inner{flex-direction:column;align-items:flex-start;padding:0}.navigation-menu__inner li{margin:0;padding:5px}.menu--desktop{display:none}.menu--mobile .menu__trigger{display:block}.menu--mobile .menu__dropdown{left:auto;right:0}.menu--language-selector .menu__trigger{display:none}}
|
||||
@@ -1 +0,0 @@
|
||||
.pagination{margin-top:50px}.pagination__title{display:flex;text-align:center;position:relative;margin:100px 0 20px}.pagination__title-h{text-align:center;margin:0 auto;padding:5px 10px;background:var(--background);color:color-mix(in srgb var(--foreground) 30%,transparent);font-size:calc(var(--font-size) * .8);text-transform:uppercase;text-decoration:none;letter-spacing:.1em;z-index:1}.pagination__title hr{position:absolute;left:0;right:0;width:100%;margin-top:15px;z-index:0}.pagination__buttons{display:flex;align-items:center;justify-content:center;flex-flow:row wrap;gap:10px}.pagination__buttons a{display:inline-flex;max-width:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;text-decoration:none}.button{position:relative;display:inline-flex;align-items:center;justify-content:center;font-size:inherit;padding:0;appearance:none}.button a{display:flex;justify-content:center;flex:1;padding:8px 16px}.button__text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.next .button__icon{margin-left:8px}.prev .button__icon{margin-right:8px}@media print{.pagination{display:none}}
|
||||
@@ -1 +0,0 @@
|
||||
.index-content{margin:25px 0}.framed{border:1px solid var(--accent);padding:20px}.framed *:first-child{margin-top:0}.framed *:last-child{margin-bottom:0}.posts{width:100%}.post{width:100%;text-align:left;padding:30px 0}.post:not(:last-of-type){border-bottom:1px solid color-mix(in srgb,var(--foreground) 10%,transparent)}.post-meta{font-size:inherit;margin-bottom:10px;color:color-mix(in srgb,var(--foreground) 65%,transparent)}.post-meta>*:not(:first-child)::before{content:"::";display:inline-block;margin:0 8px}.post-title{position:relative;color:var(--accent);margin-top:0!important;margin-bottom:15px!important;padding-bottom:15px;border-bottom:3px dotted var(--accent);text-decoration:none!important}.post-title::after{content:"";position:absolute;bottom:2px;display:block;width:100%;border-bottom:3px dotted var(--accent)}.post-title a{text-decoration:none}.post-tags{display:block;margin-bottom:20px;font-size:inherit;color:var(--accent)}.table-of-contents{margin:40px 0}.post-content{margin-top:25px}.post-cover{margin:25px 0}.post ul{list-style:none}.post ul li:not(:empty)::before{content:"-";position:absolute;left:-20px;color:var(--accent)}.post--regulation h1{justify-content:center}.post--regulation h2{justify-content:center;margin-bottom:10px}.post--regulation h2+h2{margin-top:-10px;margin-bottom:20px}.hanchor{position:absolute;color:var(--accent);text-decoration:none;margin-left:10px;visibility:hidden}h1:hover .hanchor,h2:hover .hanchor,h3:hover .hanchor,h4:hover .hanchor,h5:hover .hanchor,h6:hover .hanchor{visibility:visible}.footnotes{color:color-mix(in srgb,var(--foreground) 50%,transparent)}.footnotes hr{background:color-mix(in srgb,var(--foreground) 50%,transparent)}@media(max-width:684px){.post-cover{padding:10px;border-width:10px}}
|
||||
@@ -1 +0,0 @@
|
||||
:root{--first-tone:var(--accent);--second-tone:color-mix(in srgb, var(--accent) 70%, transparent);--comment:color-mix(in srgb, var(--foreground) 50%, transparent)}.bg{}.chroma{overflow:auto}.chroma .x{}.chroma .err{}.chroma .cl{}.chroma .lnlinks{outline:none;text-decoration:none;color:inherit}.chroma .lntd{width:100%;vertical-align:top;padding:0;margin:0;border:0}.chroma .lntd:first-child{width:auto}.chroma .lntd code{display:grid}.chroma .lntable{width:100%;border-spacing:0;padding:0;margin:0;border:0}.chroma .hl{background-color:color-mix(in srgb,var(--foreground) 5%,transparent)!important}.chroma .lnt{color:var(--comment);white-space:pre;-webkit-user-select:none;user-select:none;padding:0 10px}.chroma .ln{color:var(--comment);white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.8em;padding:0 .4em 0 0}.chroma .line{display:flex;padding:0 10px}.chroma .k{color:var(--second-tone)}.chroma .kc{color:var(--second-tone)}.chroma .kd{color:var(--second-tone)}.chroma .kn{color:var(--second-tone)}.chroma .kp{color:var(--second-tone)}.chroma .kr{color:var(--second-tone)}.chroma .kt{color:var(--second-tone)}.chroma .n{color:var(--first-tone)}.chroma .na{color:var(--second-tone)}.chroma .nb{color:var(--first-tone)}.chroma .bp{color:var(--first-tone)}.chroma .nc{color:var(--foreground)}.chroma .no{color:var(--first-tone)}.chroma .nd{color:var(--first-tone)}.chroma .ni{color:var(--first-tone)}.chroma .ne{color:var(--first-tone)}.chroma .nf{color:var(--first-tone)}.chroma .fm{color:var(--first-tone)}.chroma .nl{color:var(--first-tone)}.chroma .nn{color:var(--first-tone)}.chroma .nx{color:var(--first-tone)}.chroma .py{color:var(--first-tone)}.chroma .nt{color:var(--first-tone)}.chroma .nv{color:var(--first-tone)}.chroma .vc{color:var(--first-tone)}.chroma .vg{color:var(--first-tone)}.chroma .vi{color:var(--first-tone)}.chroma .vm{color:var(--first-tone)}.chroma .l{}.chroma .ld{}.chroma .s{color:var(--foreground)}.chroma .sa{color:var(--foreground)}.chroma .sb{color:var(--foreground)}.chroma .sc{color:var(--foreground)}.chroma .dl{color:var(--foreground)}.chroma .sd{color:var(--foreground)}.chroma .s2{color:var(--foreground)}.chroma .se{color:var(--foreground)}.chroma .sh{color:var(--foreground)}.chroma .si{color:var(--foreground)}.chroma .sx{color:var(--foreground)}.chroma .sr{color:var(--foreground)}.chroma .s1{color:var(--foreground)}.chroma .ss{color:var(--foreground)}.chroma .m{color:var(--first-tone)}.chroma .mb{color:var(--first-tone)}.chroma .mf{color:var(--first-tone)}.chroma .mh{color:var(--first-tone)}.chroma .mi{color:var(--first-tone)}.chroma .il{color:var(--first-tone)}.chroma .mo{color:var(--first-tone)}.chroma .o{color:var(--foreground)}.chroma .ow{color:var(--foreground)}.chroma .p{color:var(--foreground)}.chroma .c{color:var(--comment)}.chroma .ch{color:var(--comment)}.chroma .cm{color:var(--comment)}.chroma .c1{color:var(--comment)}.chroma .cs{color:var(--comment)}.chroma .cp{color:var(--comment)}.chroma .cpf{color:var(--comment)}.chroma .g{}.chroma .gd{color:var(--first-tone)}.chroma .ge{}.chroma .gr{}.chroma .gh{}.chroma .gi{color:var(--second-tone)}.chroma .go{}.chroma .gp{}.chroma .gs{}.chroma .gu{}.chroma .gt{}.chroma .gl{}.chroma .w{}.chroma .language-php .cp{color:var(--foreground)}
|
||||
@@ -1,2 +0,0 @@
|
||||
/* Placeholder file for your custom settings. */
|
||||
/* You can get the color scheme variables from https://panr.github.io/terminal-css/ */
|
||||
@@ -1 +0,0 @@
|
||||
.terms h3{font-size:initial}.terms ul{list-style:none}.terms ul li a{color:var(--accent)}.terms ul li:not(:empty)::before{content:"-";position:absolute;left:-20px;color:var(--accent)}
|
||||
|
Before Width: | Height: | Size: 46 KiB |
|
Before Width: | Height: | Size: 1.5 KiB |
@@ -1,3 +0,0 @@
|
||||
<svg viewBox="0 0 200 200" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill="#242629" d="M32.5,-53.5C46.5,-48.2,65.3,-48.4,69.4,-40.4C73.5,-32.4,62.9,-16.2,58.8,-2.3C54.8,11.5,57.3,23,52.6,30.1C48,37.1,36.2,39.8,26.3,48.2C16.3,56.7,8.2,70.9,0.2,70.6C-7.8,70.3,-15.6,55.4,-16.1,41.5C-16.6,27.6,-9.8,14.7,-12.4,7.9C-14.9,1.2,-26.8,0.6,-39.2,-7.2C-51.7,-14.9,-64.7,-29.9,-63.2,-38.6C-61.8,-47.3,-46,-49.8,-33.1,-55.8C-20.1,-61.8,-10.1,-71.2,-0.4,-70.5C9.2,-69.8,18.5,-58.9,32.5,-53.5Z" transform="translate(100 100)" />
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 524 B |
@@ -1,84 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<xsl:stylesheet version="3.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd">
|
||||
<xsl:output method="html" version="1.0" encoding="UTF-8" indent="yes"/>
|
||||
<xsl:template match="/">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title><xsl:value-of select="/rss/channel/title"/> RSS Feed</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"/>
|
||||
<meta charset="UTF-8"/>
|
||||
|
||||
<link type="text/css" rel="stylesheet" href="http://localhost:1313/css/styles.abbd6311bb4b6ca58f8e7398140529245ae0f6428b759fcd830742eee2619eabb900ba9914a9affb82aa9a16a9b9ea727bb315315a976a0db0e7513a5f12c504.css" integrity="sha512-q71jEbtLbKWPjnOYFAUpJFrg9kKLdZ/NgwdC7uJhnqu5ALqZFKmv+4Kqmhapuepye7MVMVqXag2w51E6XxLFBA==" />
|
||||
<style>
|
||||
.aboutfeeds {
|
||||
margin: 24px 0; padding: 12px;
|
||||
border: 2px solid var(--default_accent);
|
||||
background-color: var(--default_hl_bg)
|
||||
}
|
||||
.head {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
}
|
||||
.logo {
|
||||
width: 50px;
|
||||
max-height: 50px;
|
||||
border-radius: 5px;
|
||||
display: block;
|
||||
margin-right: 10px;
|
||||
}
|
||||
.rssLogo {
|
||||
display: block;
|
||||
margin-right: 10px;
|
||||
}
|
||||
header h1 {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<header>
|
||||
<h1>
|
||||
<svg class="rssLogo" width="32" height="32" version="1.1" viewBox="0 0 32 32"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
>
|
||||
<path fill="#ff7800"
|
||||
d="M 4.9970764,0 H 26.997124 C 29.767161,0 31.9971,2.2300144 31.9971,4.9999764 V 27.000024 C 31.9971,29.770061 29.767086,32 26.997124,32 H 4.9970764 C 2.2270388,32 -0.0029,29.769986 -0.0029,27.000024 V 4.9999764 C -0.0029,2.2299388 2.2271144,0 4.9970764,0 Z"
|
||||
/>
|
||||
<path fill="#ffffff"
|
||||
d="m 10.652345,21.357209 q 0.794754,0.795468 0.794754,1.931828 0,1.120137 -0.794754,1.915672 -0.7947706,0.795468 -1.9301364,0.795468 -1.1353653,0 -1.930136,-0.795468 -0.7947708,-0.795467 -0.7947708,-1.915672 0,-1.136377 0.7947708,-1.931828 0.7947707,-0.811691 1.930136,-0.811691 1.1353658,0 1.9301364,0.811691 z m 8.077348,3.668942 q 0.01682,0.405854 -0.243305,0.68182 -0.259516,0.292205 -0.664997,0.292205 h -1.913994 q -0.373047,0 -0.632562,-0.22728 -0.243306,-0.2435 -0.259515,-0.584427 -0.324402,-3.263021 -2.643912,-5.56829 Q 10.068158,17.298754 6.8243058,16.990274 6.4674686,16.957811 6.2241796,16.714291 5.9971,16.454549 5.9971,16.097399 v -1.915673 q 0,-0.422077 0.2919482,-0.681819 0.2433052,-0.22728 0.6163522,-0.22728 h 0.081045 q 2.2544878,0.178576 4.3307416,1.136377 2.076086,0.957803 3.681871,2.581269 1.621977,1.623399 2.579007,3.701423 0.97319,2.061749 1.151609,4.334538 z m 7.266385,0.01614 q 0.01682,0.405853 -0.243305,0.681819 -0.259516,0.275984 -0.665013,0.275984 h -2.027493 q -0.356836,0 -0.632578,-0.243502 -0.275724,-0.243504 -0.29195,-0.600637 -0.16226,-3.051983 -1.427332,-5.811809 -1.26514,-2.759827 -3.292615,-4.772772 Q 15.404609,12.542104 12.6472,11.275872 9.9061004,9.9933838 6.8567915,9.8310488 6.4999709,9.8148927 6.2404563,9.5550662 5.9971503,9.2953236 5.9971503,8.9219502 V 6.8926809 q 0,-0.3896138 0.2919481,-0.6493564 Q 6.5324037,5.9998227 6.905451,5.9998227 h 0.048594 q 3.730464,0.1948173 7.120435,1.7207897 3.406113,1.5097508 6.033714,4.1558116 2.660054,2.629906 4.168482,6.039004 1.524655,3.409099 1.719283,7.126678 z"
|
||||
/>
|
||||
</svg>
|
||||
<xsl:value-of select="/rss/channel/title"/>
|
||||
</h1>
|
||||
<div class="aboutfeeds">
|
||||
<p>This is a web feed, also known as an RSS feed. <strong>Subscribe</strong> by copying the URL into your RSS reader.</p>
|
||||
</div>
|
||||
<div class="head">
|
||||
<div class="avatar">
|
||||
<img class="logo" src="logo.svg" alt="Site Logo"/>
|
||||
</div>
|
||||
<div class="description">
|
||||
<p><xsl:value-of select="/rss/channel/description"/></p>
|
||||
<p><a hreflang="en"><xsl:attribute name="href"><xsl:value-of select="/rss/channel/link"/></xsl:attribute>Visit Website →</a></p>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
<div id="content">
|
||||
<main>
|
||||
<h2>📄 Recent Posts</h2>
|
||||
<xsl:for-each select="/rss/channel/item">
|
||||
<article>
|
||||
<h3><a target="_blank"><xsl:attribute name="href"><xsl:value-of select="link"/></xsl:attribute><xsl:value-of select="title"/></a></h3>
|
||||
<footer>Published: <time><xsl:value-of select="pubDate" /></time></footer>
|
||||
</article>
|
||||
</xsl:for-each>
|
||||
</main>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
</xsl:template>
|
||||
</xsl:stylesheet>
|
||||
@@ -1,330 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html class="home" lang="en-us"><head>
|
||||
<meta name="generator" content="Hugo 0.143.1"><script src="/livereload.js?mindelay=10&v=2&port=1313&path=livereload" data-no-instant defer></script>
|
||||
|
||||
<meta name="robots" content="noai, noimageai">
|
||||
<meta name="viewport" content="width=device-width" />
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=7" />
|
||||
|
||||
<link
|
||||
rel="icon"
|
||||
href='/favicon.png'
|
||||
/>
|
||||
<link
|
||||
rel="shortcut icon"
|
||||
href='/favicon.ico'
|
||||
type="image/x-icon"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-icon"
|
||||
href='/apple-touch-icon.png'
|
||||
/>
|
||||
|
||||
<link
|
||||
rel="icon"
|
||||
href='logo.svg'
|
||||
type="image/svg+xml"
|
||||
/>
|
||||
|
||||
<title>
|
||||
|
||||
Patrick Canal
|
||||
</title>
|
||||
|
||||
|
||||
<link href="/symbols-nerd-font/symbols-nerd-font.css" rel="stylesheet" />
|
||||
<link href="/jetbrains-mono/jetbrains-mono.css" rel="stylesheet" />
|
||||
|
||||
|
||||
|
||||
<link type="text/css" rel="stylesheet" href=http://localhost:1313/css/styles.abbd6311bb4b6ca58f8e7398140529245ae0f6428b759fcd830742eee2619eabb900ba9914a9affb82aa9a16a9b9ea727bb315315a976a0db0e7513a5f12c504.css integrity="sha512-q71jEbtLbKWPjnOYFAUpJFrg9kKLdZ/NgwdC7uJhnqu5ALqZFKmv+4Kqmhapuepye7MVMVqXag2w51E6XxLFBA==" />
|
||||
<meta name="author" content="Patrick Canal" />
|
||||
|
||||
|
||||
|
||||
<meta property="og:site_name"
|
||||
content='Patrick Canal' />
|
||||
|
||||
<meta property="og:title"
|
||||
content='Patrick Canal' />
|
||||
|
||||
<meta property="og:type" content="blog" />
|
||||
<meta property="og:image"
|
||||
content='http://localhost:1313/img/icon.svg' />
|
||||
|
||||
<meta name="twitter:card" content="summary_large_image" />
|
||||
<meta property="twitter:domain"
|
||||
content='localhost:1313'
|
||||
/>
|
||||
<meta property="twitter:url" content="http://localhost:1313/" />
|
||||
|
||||
|
||||
<meta name="twitter:title"
|
||||
content='Patrick Canal' />
|
||||
|
||||
<meta name="twitter:image"
|
||||
content='http://localhost:1313/img/icon.svg' />
|
||||
|
||||
<link rel="manifest" href="/manifest/index.json" />
|
||||
</head>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<body>
|
||||
<div id="baseContainer"><header class="jumbotronContainer">
|
||||
<div class="titleAndSearchContainer">
|
||||
<div id="titleContainer">
|
||||
|
||||
<a class="unstyledLink" href="/">
|
||||
<img src='logo.svg' alt='Logo'/>
|
||||
</a>
|
||||
|
||||
<div class="rightOfLogo">
|
||||
<div class="titleAndHamburger">
|
||||
<h1>
|
||||
<a class="unstyledLink" href="/">Patrick Canal</a>
|
||||
|
||||
</h1>
|
||||
|
||||
</div>
|
||||
<div id="wide_nav"><nav>
|
||||
|
||||
<ul id="main-nav">
|
||||
<li><a href="/">Home</a></li>
|
||||
|
||||
<li><a href="/posts/">Posts</a></li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li><a href="/tags/">Tags</a></li>
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="search">
|
||||
<input id="searchbar" type="text" placeholder='Search' />
|
||||
<span class="nerdlink" onclick="newSearch();"></span>
|
||||
</div>
|
||||
<script>
|
||||
function newSearch() {
|
||||
let term = searchbar.value.trim();
|
||||
if (!term) return;
|
||||
location.href = `/search/?q=${term}`;
|
||||
}
|
||||
searchbar.onkeyup = (ev) => {if (ev.keyCode == 13) newSearch()};
|
||||
</script>
|
||||
|
||||
</div>
|
||||
<div id="links">
|
||||
<a
|
||||
|
||||
rel="noreferrer"
|
||||
|
||||
target="_blank"
|
||||
class="nerdlink"
|
||||
href="/index.xml">
|
||||
|
||||
|
||||

|
||||
|
||||
<span>
|
||||
RSS
|
||||
</span>
|
||||
</a>
|
||||
|
||||
|
||||
<a
|
||||
|
||||
rel="noreferrer"
|
||||
|
||||
target="_blank"
|
||||
class="nerdlink"
|
||||
href="https://github.com/Superredstone">
|
||||
|
||||
|
||||

|
||||
|
||||
<span>
|
||||
Github
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</header>
|
||||
<div id="contentContainer">
|
||||
<div id="content">
|
||||
<main>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="postlist " id="postlist">
|
||||
<article class="card postlistitem">
|
||||
<div>
|
||||
<h2>
|
||||
<a href="http://localhost:1313/posts/building-my-website-in-hugo/">Building my website in Hugo</a>
|
||||
</h2>
|
||||
<p class="date">
|
||||
<span title='Date'> </span>
|
||||
2025-04-07
|
||||
|
||||
|
||||
|
||||
|
|
||||
<span title='Tags'> </span>
|
||||
|
||||
<a href="/tags/hosting">#hosting</a>
|
||||
|
||||
<a href="/tags/website">#website</a>
|
||||
|
||||
|
||||
</p>
|
||||
|
||||
|
||||
<div class="articlePreview">
|
||||
<p>
|
||||
|
||||
<p>I always wanted a website/blog to write articles about what I like, so today I decided to make one!</p>
|
||||
<p>After buying a domain and setting up the server I had just to decide what to write the website with.</p>
|
||||
<h2 id="hugo">Hugo</h2>
|
||||
<p><img src="https://gohugo.io/images/hugo-logo-wide.svg" alt="hugo-logo"></p>
|
||||
<p>As a tech stack I wanted something simple and easy to mantain,
|
||||
<a href="https://gohugo.io/">Hugo</a> makes everything so easy and painless that it is too good to be true.</p>
|
||||
<p>Just install it and then write in the terminal</p>
|
||||
|
||||
</p>
|
||||
<p><a href="http://localhost:1313/posts/building-my-website-in-hugo/">Continue reading </a></p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<hr />
|
||||
</article>
|
||||
|
||||
</div>
|
||||
<div id="getNextBtnContainer"></div><script>
|
||||
const tagsStr = 'Tags'
|
||||
|
||||
function renderTags(tags) {
|
||||
if (tags.length <= 0) return '';
|
||||
let res = `| <span title=''> </span>`;
|
||||
for (let tag of tags) {
|
||||
|
||||
res += `<a href="/tags/${tag}/">#${tag}</a> `;
|
||||
}
|
||||
return res;
|
||||
}
|
||||
function renderImage(image, link, alt) {
|
||||
if (!image) return '';
|
||||
return `<a href="${link}"><img src="${image}" alt="${alt}" /></a>`;
|
||||
}
|
||||
function renderSingleArticle(article) {
|
||||
|
||||
const tags = renderTags(article.tags)
|
||||
|
||||
|
||||
|
||||
const img = ''
|
||||
|
||||
|
||||
|
||||
const continueReadingStr = 'Continue reading'
|
||||
const summ = `<div class="articlePreview">
|
||||
<p>${article.summary}</p>
|
||||
<p><a href="${article.link}">${continueReadingStr} </a></p>
|
||||
</div>`
|
||||
|
||||
|
||||
const dateStr = 'Date'
|
||||
|
||||
return `
|
||||
<article class="card postlistitem">
|
||||
<div>
|
||||
<h2>
|
||||
<a href="${article.link}">${article.title}</a>
|
||||
</h2>
|
||||
<p class="date">
|
||||
<span title='${dateStr}'> </span>
|
||||
${article.date}
|
||||
${tags}
|
||||
</p>
|
||||
${img}
|
||||
${summ}
|
||||
</div>
|
||||
<hr />
|
||||
</article>
|
||||
`;
|
||||
}
|
||||
function renderArticles(articles) {
|
||||
let rendered = articles.map(a => renderSingleArticle(a)).join('\n');
|
||||
document.getElementById('postlist').innerHTML += rendered;
|
||||
}
|
||||
</script>
|
||||
<script>
|
||||
var nextPage = '/index.json';
|
||||
function getNext(first=false) {
|
||||
if (!nextPage) return;
|
||||
fetch(nextPage).then(res => res.json())
|
||||
.then(res => {
|
||||
nextPage = res['next'];
|
||||
if (first) {
|
||||
document.getElementById('getNextBtnContainer').innerHTML += `
|
||||
<div class="loadMoreButton ">
|
||||
<a style="cursor: pointer" onclick="getNext();">
|
||||
Load more articles
|
||||
</a>
|
||||
</div>
|
||||
`;
|
||||
return;
|
||||
}
|
||||
if (!nextPage) document.getElementById('getNextBtnContainer').innerHTML = '';
|
||||
renderArticles(res['articles']);
|
||||
});
|
||||
}
|
||||
getNext(true);
|
||||
</script>
|
||||
|
||||
<noscript>
|
||||
|
||||
</noscript>
|
||||
|
||||
|
||||
|
||||
</main><footer>
|
||||
<hr />
|
||||
|
||||
<p><small>
|
||||
2025 © Patrick Canal
|
||||
</small></p>
|
||||
<p><small>
|
||||
<a href='https://gitlab.com/gabmus/hugo-ficurinia'>Ficurinia theme</a> for <a href='https://gohugo.io'>Hugo</a> by <a href='https://gabmus.org'>Gabriele Musco</a>. Licensed under <a href='https://www.gnu.org/licenses/agpl-3.0.html'>GNU AGPLv3</a>.
|
||||
</small></p>
|
||||
</footer>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,20 +0,0 @@
|
||||
|
||||
{
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
"articles": [{"date":"2025-04-07","image":"","imageAlt":"","link":"http://localhost:1313/posts/building-my-website-in-hugo/","summary":"\u003cp\u003eI always wanted a website/blog to write articles about what I like, so today I decided to make one!\u003c/p\u003e\n\u003cp\u003eAfter buying a domain and setting up the server I had just to decide what to write the website with.\u003c/p\u003e\n\u003ch2 id=\"hugo\"\u003eHugo\u003c/h2\u003e\n\u003cp\u003e\u003cimg src=\"https://gohugo.io/images/hugo-logo-wide.svg\" alt=\"hugo-logo\"\u003e\u003c/p\u003e\n\u003cp\u003eAs a tech stack I wanted something simple and easy to mantain,\n\u003ca href=\"https://gohugo.io/\"\u003eHugo\u003c/a\u003e makes everything so easy and painless that it is too good to be true.\u003c/p\u003e\n\u003cp\u003eJust install it and then write in the terminal\u003c/p\u003e","tags":["hosting","website"],"title":"Building my website in Hugo"}],
|
||||
"test": "Building my website in Hugo ",
|
||||
"page": "1",
|
||||
"next": ""
|
||||
}
|
||||
|
||||
@@ -1,44 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><?xml-stylesheet href="/feed_style.xsl" type="text/xsl"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="https://www.rssboard.org/media-rss">
|
||||
<channel>
|
||||
<title>Patrick Canal</title>
|
||||
<link>http://localhost:1313/</link>
|
||||
<description>Recent content on Patrick Canal</description>
|
||||
<generator>Hugo -- gohugo.io</generator>
|
||||
<language>en-us</language>
|
||||
<copyright>Patrick Canal</copyright>
|
||||
<lastBuildDate>Mon, 07 Apr 2025 19:16:28 +0200</lastBuildDate><atom:link href="http://localhost:1313/index.xml" rel="self" type="application/rss+xml" /><icon>http://localhost:1313/logo.svg</icon>
|
||||
|
||||
|
||||
<item>
|
||||
<title>Building my website in Hugo</title>
|
||||
<link>http://localhost:1313/posts/building-my-website-in-hugo/</link>
|
||||
<pubDate>Mon, 07 Apr 2025 19:16:28 +0200</pubDate>
|
||||
|
||||
<guid>http://localhost:1313/posts/building-my-website-in-hugo/</guid>
|
||||
<description><![CDATA[<p>I always wanted a website/blog to write articles about what I like, so today I decided to make one!</p>
|
||||
<p>After buying a domain and setting up the server I had just to decide what to write the website with.</p>
|
||||
<h2 id="hugo">Hugo</h2>
|
||||
<p>As a tech stack I wanted something simple and easy to mantain,
|
||||
<a href="https://gohugo.io/">Hugo</a> makes everything so easy and painless that it is too good to be true.</p>
|
||||
<p>Just install it and then write in the terminal</p>
|
||||
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>hugo new site <website-name> <span style="color:#f92672">&&</span> cd <website-name>
|
||||
</span></span></code></pre></div><p>to generate the template, install a good-looking theme from the <a href="https://themes.gohugo.io/themes/">themes page</a> on the Hugo website, in my case Ficurinia</p>
|
||||
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>git clone https://github.com/patrickacciaioli/ficurinia themes/ficurinia
|
||||
</span></span></code></pre></div><p>add the following line inside of <code>hugo.toml</code> with the greatest editor ever lived (Vim)</p>
|
||||
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-toml" data-lang="toml"><span style="display:flex;"><span><span style="color:#a6e22e">theme</span> = <span style="color:#e6db74">"ficurinia"</span>
|
||||
</span></span></code></pre></div><p>Start the server with</p>
|
||||
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>hugo server
|
||||
</span></span></code></pre></div><p>and you are ready to go. A complete blog in seconds.</p>
|
||||
<h2 id="conclusion">Conclusion</h2>
|
||||
<p>Building a personal website with Hugo was faster and easier than I could have ever done in plain HTML. With minimal setup and maximum flexibility, Hugo proved to be the perfect choice for my blog. Now, I can focus on writing posts worrying about the infamous <a href="https://en.wikipedia.org/wiki/HTML">Hypertext Markup Language</a>.</p>
|
||||
]]></description>
|
||||
|
||||
</item>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</channel>
|
||||
</rss>
|
||||
@@ -1,161 +0,0 @@
|
||||
/* jetbrains-mono-regular-latin */
|
||||
@font-face {
|
||||
font-family: JetBrains Mono;
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
src: local("JetBrains Mono Regular"), local("JetBrainsMono-Regular"), url(jetbrains-mono-regular-latin.woff2) format("woff2");
|
||||
unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2212,U+2215;
|
||||
}
|
||||
/* jetbrains-mono-regular-latin-ext */
|
||||
@font-face {
|
||||
font-family: JetBrains Mono;
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
src: local("JetBrains Mono Regular"), local("JetBrainsMono-Regular"), url(jetbrains-mono-regular-latin-ext.woff2) format("woff2");
|
||||
unicode-range: U+0100-024F,U+0259,U+1E00-1EFF,U+20A0-20CF,U+2C60-2C7F,U+A720-A7FF;
|
||||
}
|
||||
/* jetbrains-mono-medium-italic-latin */
|
||||
@font-face {
|
||||
font-family: JetBrains Mono;
|
||||
font-style: italic;
|
||||
font-weight: 500;
|
||||
src: local("JetBrains Mono Medium Italic"), local("JetBrainsMono-MediumItalic"), url(jetbrains-mono-medium-italic-latin.woff2) format("woff2");
|
||||
unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2212,U+2215;
|
||||
}
|
||||
/* jetbrains-mono-medium-italic-latin-ext */
|
||||
@font-face {
|
||||
font-family: JetBrains Mono;
|
||||
font-style: italic;
|
||||
font-weight: 500;
|
||||
src: local("JetBrains Mono Medium Italic"), local("JetBrainsMono-MediumItalic"), url(jetbrains-mono-medium-italic-latin-ext.woff2) format("woff2");
|
||||
unicode-range: U+0100-024F,U+0259,U+1E00-1EFF,U+20A0-20CF,U+2C60-2C7F,U+A720-A7FF;
|
||||
}
|
||||
/* jetbrains-mono-medium-latin */
|
||||
@font-face {
|
||||
font-family: JetBrains Mono;
|
||||
font-style: normal;
|
||||
font-weight: 500;
|
||||
src: local("JetBrains Mono Medium"), local("JetBrainsMono-Medium"), url(jetbrains-mono-medium-latin.woff2) format("woff2");
|
||||
unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2212,U+2215;
|
||||
}
|
||||
/* jetbrains-mono-medium-latin-ext */
|
||||
@font-face {
|
||||
font-family: JetBrains Mono;
|
||||
font-style: normal;
|
||||
font-weight: 500;
|
||||
src: local("JetBrains Mono Medium"), local("JetBrainsMono-Medium"), url(jetbrains-mono-medium-latin-ext.woff2) format("woff2");
|
||||
unicode-range: U+0100-024F,U+0259,U+1E00-1EFF,U+20A0-20CF,U+2C60-2C7F,U+A720-A7FF;
|
||||
}
|
||||
/* jetbrains-mono-light-italic-latin */
|
||||
@font-face {
|
||||
font-family: JetBrains Mono;
|
||||
font-style: italic;
|
||||
font-weight: 300;
|
||||
src: local("JetBrains Mono Light Italic"), local("JetBrainsMono-LightItalic"), url(jetbrains-mono-light-italic-latin.woff2) format("woff2");
|
||||
unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2212,U+2215;
|
||||
}
|
||||
/* jetbrains-mono-light-italic-latin-ext */
|
||||
@font-face {
|
||||
font-family: JetBrains Mono;
|
||||
font-style: italic;
|
||||
font-weight: 300;
|
||||
src: local("JetBrains Mono Light Italic"), local("JetBrainsMono-LightItalic"), url(jetbrains-mono-light-italic-latin-ext.woff2) format("woff2");
|
||||
unicode-range: U+0100-024F,U+0259,U+1E00-1EFF,U+20A0-20CF,U+2C60-2C7F,U+A720-A7FF;
|
||||
}
|
||||
/* jetbrains-mono-light-latin */
|
||||
@font-face {
|
||||
font-family: JetBrains Mono;
|
||||
font-style: normal;
|
||||
font-weight: 300;
|
||||
src: local("JetBrains Mono Light"), local("JetBrainsMono-Light"), url(jetbrains-mono-light-latin.woff2) format("woff2");
|
||||
unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2212,U+2215;
|
||||
}
|
||||
/* jetbrains-mono-light-latin-ext */
|
||||
@font-face {
|
||||
font-family: JetBrains Mono;
|
||||
font-style: normal;
|
||||
font-weight: 300;
|
||||
src: local("JetBrains Mono Light"), local("JetBrainsMono-Light"), url(jetbrains-mono-light-latin-ext.woff2) format("woff2");
|
||||
unicode-range: U+0100-024F,U+0259,U+1E00-1EFF,U+20A0-20CF,U+2C60-2C7F,U+A720-A7FF;
|
||||
}
|
||||
/* jetbrains-mono-italic-latin */
|
||||
@font-face {
|
||||
font-family: JetBrains Mono;
|
||||
font-style: italic;
|
||||
font-weight: 400;
|
||||
src: local("JetBrains Mono Italic"), local("JetBrainsMono-Italic"), url(jetbrains-mono-italic-latin.woff2) format("woff2");
|
||||
unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2212,U+2215;
|
||||
}
|
||||
/* jetbrains-mono-italic-latin-ext */
|
||||
@font-face {
|
||||
font-family: JetBrains Mono;
|
||||
font-style: italic;
|
||||
font-weight: 400;
|
||||
src: local("JetBrains Mono Italic"), local("JetBrainsMono-Italic"), url(jetbrains-mono-italic-latin-ext.woff2) format("woff2");
|
||||
unicode-range: U+0100-024F,U+0259,U+1E00-1EFF,U+20A0-20CF,U+2C60-2C7F,U+A720-A7FF;
|
||||
}
|
||||
/* jetbrains-mono-extra-bold-italic-latin */
|
||||
@font-face {
|
||||
font-family: JetBrains Mono;
|
||||
font-style: italic;
|
||||
font-weight: 700;
|
||||
src: local("JetBrains Mono Extra Bold Italic"), local("JetBrainsMono-ExtraBoldItalic"), url(jetbrains-mono-extra-bold-italic-latin.woff2) format("woff2");
|
||||
unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2212,U+2215;
|
||||
}
|
||||
/* jetbrains-mono-extra-bold-italic-latin-ext */
|
||||
@font-face {
|
||||
font-family: JetBrains Mono;
|
||||
font-style: italic;
|
||||
font-weight: 700;
|
||||
src: local("JetBrains Mono Extra Bold Italic"), local("JetBrainsMono-ExtraBoldItalic"), url(jetbrains-mono-extra-bold-italic-latin-ext.woff2) format("woff2");
|
||||
unicode-range: U+0100-024F,U+0259,U+1E00-1EFF,U+20A0-20CF,U+2C60-2C7F,U+A720-A7FF;
|
||||
}
|
||||
/* jetbrains-mono-extra-bold-latin */
|
||||
@font-face {
|
||||
font-family: JetBrains Mono;
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
src: local("JetBrains Mono Extra Bold"), local("JetBrainsMono-ExtraBold"), url(jetbrains-mono-extra-bold-latin.woff2) format("woff2");
|
||||
unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2212,U+2215;
|
||||
}
|
||||
/* jetbrains-mono-extra-bold-latin-ext */
|
||||
@font-face {
|
||||
font-family: JetBrains Mono;
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
src: local("JetBrains Mono Extra Bold"), local("JetBrainsMono-ExtraBold"), url(jetbrains-mono-extra-bold-latin-ext.woff2) format("woff2");
|
||||
unicode-range: U+0100-024F,U+0259,U+1E00-1EFF,U+20A0-20CF,U+2C60-2C7F,U+A720-A7FF;
|
||||
}
|
||||
/* jetbrains-mono-bold-italic-latin */
|
||||
@font-face {
|
||||
font-family: JetBrains Mono;
|
||||
font-style: italic;
|
||||
font-weight: 700;
|
||||
src: local("JetBrains Mono Bold Italic"), local("JetBrainsMono-BoldItalic"), url(jetbrains-mono-bold-italic-latin.woff2) format("woff2");
|
||||
unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2212,U+2215;
|
||||
}
|
||||
/* jetbrains-mono-bold-italic-latin-ext */
|
||||
@font-face {
|
||||
font-family: JetBrains Mono;
|
||||
font-style: italic;
|
||||
font-weight: 700;
|
||||
src: local("JetBrains Mono Bold Italic"), local("JetBrainsMono-BoldItalic"), url(jetbrains-mono-bold-italic-latin-ext.woff2) format("woff2");
|
||||
unicode-range: U+0100-024F,U+0259,U+1E00-1EFF,U+20A0-20CF,U+2C60-2C7F,U+A720-A7FF;
|
||||
}
|
||||
/* jetbrains-mono-bold-latin */
|
||||
@font-face {
|
||||
font-family: JetBrains Mono;
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
src: local("JetBrains Mono Bold"), local("JetBrainsMono-Bold"), url(jetbrains-mono-bold-latin.woff2) format("woff2");
|
||||
unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2212,U+2215;
|
||||
}
|
||||
/* jetbrains-mono-bold-latin-ext */
|
||||
@font-face {
|
||||
font-family: JetBrains Mono;
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
src: local("JetBrains Mono Bold"), local("JetBrainsMono-Bold"), url(jetbrains-mono-bold-latin-ext.woff2) format("woff2");
|
||||
unicode-range: U+0100-024F,U+0259,U+1E00-1EFF,U+20A0-20CF,U+2C60-2C7F,U+A720-A7FF;
|
||||
}
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
<svg viewBox="0 0 200 200" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill="#ffffff" d="M32.5,-53.5C46.5,-48.2,65.3,-48.4,69.4,-40.4C73.5,-32.4,62.9,-16.2,58.8,-2.3C54.8,11.5,57.3,23,52.6,30.1C48,37.1,36.2,39.8,26.3,48.2C16.3,56.7,8.2,70.9,0.2,70.6C-7.8,70.3,-15.6,55.4,-16.1,41.5C-16.6,27.6,-9.8,14.7,-12.4,7.9C-14.9,1.2,-26.8,0.6,-39.2,-7.2C-51.7,-14.9,-64.7,-29.9,-63.2,-38.6C-61.8,-47.3,-46,-49.8,-33.1,-55.8C-20.1,-61.8,-10.1,-71.2,-0.4,-70.5C9.2,-69.8,18.5,-58.9,32.5,-53.5Z" transform="translate(100 100)" />
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 524 B |
@@ -1,15 +0,0 @@
|
||||
{
|
||||
"$schema": "https://json.schemastore.org/web-manifest-combined.json",
|
||||
"name": "Patrick Canal",
|
||||
"short_name": "Patrick Canal",
|
||||
"start_url": "/",
|
||||
"display": "standalone",
|
||||
|
||||
|
||||
|
||||
"background_color": "#242629",
|
||||
"theme_color": "#db5793"
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
Before Width: | Height: | Size: 4.5 KiB |
@@ -1,10 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en-us">
|
||||
<head>
|
||||
<title>http://localhost:1313/</title>
|
||||
<link rel="canonical" href="http://localhost:1313/">
|
||||
<meta name="robots" content="noindex">
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="refresh" content="0; url=http://localhost:1313/">
|
||||
</head>
|
||||
</html>
|
||||
@@ -1,273 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html class="" lang="en-us"><head><script src="/livereload.js?mindelay=10&v=2&port=1313&path=livereload" data-no-instant defer></script>
|
||||
|
||||
<meta name="robots" content="noai, noimageai">
|
||||
<meta name="viewport" content="width=device-width" />
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=7" />
|
||||
|
||||
<link
|
||||
rel="icon"
|
||||
href='/favicon.png'
|
||||
/>
|
||||
<link
|
||||
rel="shortcut icon"
|
||||
href='/favicon.ico'
|
||||
type="image/x-icon"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-icon"
|
||||
href='/apple-touch-icon.png'
|
||||
/>
|
||||
|
||||
<link
|
||||
rel="icon"
|
||||
href='logo.svg'
|
||||
type="image/svg+xml"
|
||||
/>
|
||||
|
||||
<title>
|
||||
|
||||
Building my website in Hugo –
|
||||
|
||||
Patrick Canal
|
||||
</title>
|
||||
|
||||
|
||||
<link href="/symbols-nerd-font/symbols-nerd-font.css" rel="stylesheet" />
|
||||
<link href="/jetbrains-mono/jetbrains-mono.css" rel="stylesheet" />
|
||||
|
||||
|
||||
|
||||
<link type="text/css" rel="stylesheet" href=http://localhost:1313/css/styles.abbd6311bb4b6ca58f8e7398140529245ae0f6428b759fcd830742eee2619eabb900ba9914a9affb82aa9a16a9b9ea727bb315315a976a0db0e7513a5f12c504.css integrity="sha512-q71jEbtLbKWPjnOYFAUpJFrg9kKLdZ/NgwdC7uJhnqu5ALqZFKmv+4Kqmhapuepye7MVMVqXag2w51E6XxLFBA==" />
|
||||
<meta name="author" content="Patrick Canal" />
|
||||
|
||||
|
||||
<meta name="keywords" content='hosting, website' />
|
||||
|
||||
|
||||
<meta name="description" content=" website/blog to write articles about what I like, so today I decided to make one!</p>
|
||||
<p>After buying a domain and setting up the server I had just to decide what to write the website with.</p>
|
||||
<h2 id="hugo">Hugo</h2>
|
||||
<p><img src="https://gohugo.io/images/hugo-logo-wide.svg" alt="hugo-logo"></p>
|
||||
<p>As a tech stack I wanted something simple and easy to mantain,
|
||||
<a href="https://gohugo.io/">Hugo</a> makes everything so easy and painless that it is too good to be true.</p>
|
||||
<p>Just install it and then write in the terminal</p>" />
|
||||
|
||||
|
||||
<meta property="og:site_name"
|
||||
content='Patrick Canal' />
|
||||
|
||||
<meta property="og:title" content="Building my website in Hugo" />
|
||||
<meta property="og:type" content="article" />
|
||||
|
||||
<meta
|
||||
property="article:author" content="Patrick Canal" />
|
||||
|
||||
<meta
|
||||
property="article:published_time"
|
||||
content='2025-04-07T19:16:28Z+0200' />
|
||||
|
||||
|
||||
<meta property="article:tag" content="hosting" />
|
||||
|
||||
<meta property="article:tag" content="website" />
|
||||
|
||||
|
||||
<meta property="og:url" content="http://localhost:1313/posts/building-my-website-in-hugo/" />
|
||||
|
||||
|
||||
<meta property="og:image"
|
||||
content="http://localhost:1313/img/icon.svg" />
|
||||
|
||||
<meta property="og:description" content="<p>I always wanted a website/blog to write articles about what I like, so today I decided to make one!</p>
|
||||
<p>After buying a domain and setting up the server I " />
|
||||
|
||||
|
||||
<meta name="twitter:card" content="summary_large_image" />
|
||||
<meta property="twitter:domain"
|
||||
content='localhost:1313'
|
||||
/>
|
||||
<meta property="twitter:url" content="http://localhost:1313/posts/building-my-website-in-hugo/" />
|
||||
|
||||
|
||||
<meta name="twitter:title" content="Building my website in Hugo" />
|
||||
|
||||
|
||||
|
||||
<meta name="twitter:image"
|
||||
content="http://localhost:1313/img/icon.svg" />
|
||||
|
||||
<meta name="twitter:description" content="<p>I always wanted a website/blog to write articles about what I like, so today I decided to make one!</p>
|
||||
<p>After buying a domain and setting up the server I " />
|
||||
|
||||
|
||||
<link rel="manifest" href="/manifest/index.json" />
|
||||
</head>
|
||||
|
||||
|
||||
<body>
|
||||
<div id="baseContainer"><header class="">
|
||||
<div class="titleAndSearchContainer">
|
||||
<div id="titleContainer">
|
||||
|
||||
<a class="unstyledLink" href="/">
|
||||
<img src='logo.svg' alt='Logo'/>
|
||||
</a>
|
||||
|
||||
<div class="rightOfLogo">
|
||||
<div class="titleAndHamburger">
|
||||
<h1>
|
||||
<a class="unstyledLink" href="/">Patrick Canal</a>
|
||||
|
||||
</h1>
|
||||
|
||||
</div>
|
||||
<div id="wide_nav"><nav>
|
||||
|
||||
<ul id="main-nav">
|
||||
<li><a href="/">Home</a></li>
|
||||
|
||||
<li><a href="/posts/">Posts</a></li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li><a href="/tags/">Tags</a></li>
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="search">
|
||||
<input id="searchbar" type="text" placeholder='Search' />
|
||||
<span class="nerdlink" onclick="newSearch();"></span>
|
||||
</div>
|
||||
<script>
|
||||
function newSearch() {
|
||||
let term = searchbar.value.trim();
|
||||
if (!term) return;
|
||||
location.href = `/search/?q=${term}`;
|
||||
}
|
||||
searchbar.onkeyup = (ev) => {if (ev.keyCode == 13) newSearch()};
|
||||
</script>
|
||||
|
||||
</div>
|
||||
<div id="links">
|
||||
<a
|
||||
|
||||
rel="noreferrer"
|
||||
|
||||
target="_blank"
|
||||
class="nerdlink"
|
||||
href="/index.xml">
|
||||
|
||||
|
||||

|
||||
|
||||
<span>
|
||||
RSS
|
||||
</span>
|
||||
</a>
|
||||
|
||||
|
||||
<a
|
||||
|
||||
rel="noreferrer"
|
||||
|
||||
target="_blank"
|
||||
class="nerdlink"
|
||||
href="https://github.com/Superredstone">
|
||||
|
||||
|
||||

|
||||
|
||||
<span>
|
||||
Github
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</header>
|
||||
<div id="contentContainer">
|
||||
<div id="content">
|
||||
<main>
|
||||
<article class="card single">
|
||||
|
||||
<h1>Building my website in Hugo</h1>
|
||||
|
||||
|
||||
<p class="date">
|
||||
<span title='Date'> </span>
|
||||
2025-04-07
|
||||
|
||||
|
||||
</p>
|
||||
|
||||
|
||||
|
||||
|
||||
<div><p>I always wanted a website/blog to write articles about what I like, so today I decided to make one!</p>
|
||||
<p>After buying a domain and setting up the server I had just to decide what to write the website with.</p>
|
||||
<h2 id="hugo">Hugo</h2>
|
||||
<p><img src="https://gohugo.io/images/hugo-logo-wide.svg" alt="hugo-logo"></p>
|
||||
<p>As a tech stack I wanted something simple and easy to mantain,
|
||||
<a href="https://gohugo.io/">Hugo</a> makes everything so easy and painless that it is too good to be true.</p>
|
||||
<p>Just install it and then write in the terminal</p>
|
||||
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>hugo new site <website-name> <span style="color:#f92672">&&</span> cd <website-name>
|
||||
</span></span></code></pre></div><p>to generate the template, install a good-looking theme from the <a href="https://themes.gohugo.io/themes/">themes page</a> on the Hugo website, in my case Ficurinia</p>
|
||||
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>git clone https://github.com/patrickacciaioli/ficurinia themes/ficurinia
|
||||
</span></span></code></pre></div><p>add the following line inside of <code>hugo.toml</code> with the greatest editor ever lived (Vim)</p>
|
||||
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-toml" data-lang="toml"><span style="display:flex;"><span><span style="color:#a6e22e">theme</span> = <span style="color:#e6db74">"ficurinia"</span>
|
||||
</span></span></code></pre></div><p>Start the server with</p>
|
||||
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>hugo server
|
||||
</span></span></code></pre></div><p>and you are ready to go. A complete blog in seconds.</p>
|
||||
<h2 id="conclusion">Conclusion</h2>
|
||||
<p>Building a personal website with Hugo was faster and easier than I could have ever done in plain HTML. With minimal setup and maximum flexibility, Hugo proved to be the perfect choice for my blog. Now, I can focus on writing posts worrying about the infamous <a href="https://en.wikipedia.org/wiki/HTML">Hypertext Markup Language</a>.</p>
|
||||
</div>
|
||||
</article>
|
||||
|
||||
<hr />
|
||||
<p class="articleTagsContainer">
|
||||
<span> </span>
|
||||
<strong>Tags:</strong>
|
||||
|
||||
<a
|
||||
|
||||
href="/tags/hosting/">#hosting</a>
|
||||
|
||||
<a
|
||||
|
||||
href="/tags/website/">#website</a>
|
||||
|
||||
</p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</main><footer>
|
||||
<hr />
|
||||
|
||||
<p><small>
|
||||
2025 © Patrick Canal
|
||||
</small></p>
|
||||
<p><small>
|
||||
<a href='https://gitlab.com/gabmus/hugo-ficurinia'>Ficurinia theme</a> for <a href='https://gohugo.io'>Hugo</a> by <a href='https://gabmus.org'>Gabriele Musco</a>. Licensed under <a href='https://www.gnu.org/licenses/agpl-3.0.html'>GNU AGPLv3</a>.
|
||||
</small></p>
|
||||
</footer>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,221 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html class="" lang="en-us"><head><script src="/livereload.js?mindelay=10&v=2&port=1313&path=livereload" data-no-instant defer></script>
|
||||
|
||||
<meta name="robots" content="noai, noimageai">
|
||||
<meta name="viewport" content="width=device-width" />
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=7" />
|
||||
|
||||
<link
|
||||
rel="icon"
|
||||
href='/favicon.png'
|
||||
/>
|
||||
<link
|
||||
rel="shortcut icon"
|
||||
href='/favicon.ico'
|
||||
type="image/x-icon"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-icon"
|
||||
href='/apple-touch-icon.png'
|
||||
/>
|
||||
|
||||
<title>
|
||||
|
||||
Building my website in Hugo –
|
||||
|
||||
Patrick Canal
|
||||
</title>
|
||||
|
||||
|
||||
<link href="/symbols-nerd-font/symbols-nerd-font.css" rel="stylesheet" />
|
||||
<link href="/jetbrains-mono/jetbrains-mono.css" rel="stylesheet" />
|
||||
|
||||
|
||||
|
||||
<link type="text/css" rel="stylesheet" href=http://localhost:1313/css/styles.abbd6311bb4b6ca58f8e7398140529245ae0f6428b759fcd830742eee2619eabb900ba9914a9affb82aa9a16a9b9ea727bb315315a976a0db0e7513a5f12c504.css integrity="sha512-q71jEbtLbKWPjnOYFAUpJFrg9kKLdZ/NgwdC7uJhnqu5ALqZFKmv+4Kqmhapuepye7MVMVqXag2w51E6XxLFBA==" />
|
||||
<meta name="author" content="" />
|
||||
|
||||
|
||||
<meta name="keywords" content='website' />
|
||||
|
||||
|
||||
<meta name="description" content="" />
|
||||
|
||||
|
||||
<meta property="og:site_name"
|
||||
content='Patrick Canal' />
|
||||
|
||||
<meta property="og:title" content="Building my website in Hugo" />
|
||||
<meta property="og:type" content="article" />
|
||||
|
||||
<meta
|
||||
property="article:author" content="" />
|
||||
|
||||
<meta
|
||||
property="article:published_time"
|
||||
content='2025-04-07T19:16:28Z+0200' />
|
||||
|
||||
|
||||
<meta property="article:tag" content="website" />
|
||||
|
||||
|
||||
<meta property="og:url" content="http://localhost:1313/posts/building-my-website/" />
|
||||
|
||||
|
||||
<meta property="og:image"
|
||||
content="http://localhost:1313/img/icon.svg" />
|
||||
|
||||
<meta property="og:description" content="" />
|
||||
|
||||
|
||||
<meta name="twitter:card" content="summary_large_image" />
|
||||
<meta property="twitter:domain"
|
||||
content='localhost:1313'
|
||||
/>
|
||||
<meta property="twitter:url" content="http://localhost:1313/posts/building-my-website/" />
|
||||
|
||||
|
||||
<meta name="twitter:title" content="Building my website in Hugo" />
|
||||
|
||||
|
||||
|
||||
<meta name="twitter:image"
|
||||
content="http://localhost:1313/img/icon.svg" />
|
||||
|
||||
<meta name="twitter:description" content="" />
|
||||
|
||||
|
||||
<link rel="manifest" href="/manifest/index.json" />
|
||||
</head>
|
||||
|
||||
|
||||
<body>
|
||||
<div id="baseContainer"><header class="">
|
||||
<div class="titleAndSearchContainer">
|
||||
<div id="titleContainer">
|
||||
|
||||
<a class="unstyledLink" href="/">
|
||||
<img src='/logo.svg' alt='Logo'/>
|
||||
</a>
|
||||
|
||||
<div class="rightOfLogo">
|
||||
<div class="titleAndHamburger">
|
||||
<h1>
|
||||
<a class="unstyledLink" href="/">Patrick Canal</a>
|
||||
|
||||
</h1>
|
||||
|
||||
</div>
|
||||
<div id="wide_nav"><nav>
|
||||
|
||||
<ul id="main-nav">
|
||||
<li><a href="/">Home</a></li>
|
||||
|
||||
<li><a href="/posts/">Posts</a></li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li><a href="/tags/">Tags</a></li>
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="search">
|
||||
<input id="searchbar" type="text" placeholder='Search' />
|
||||
<span class="nerdlink" onclick="newSearch();"></span>
|
||||
</div>
|
||||
<script>
|
||||
function newSearch() {
|
||||
let term = searchbar.value.trim();
|
||||
if (!term) return;
|
||||
location.href = `/search/?q=${term}`;
|
||||
}
|
||||
searchbar.onkeyup = (ev) => {if (ev.keyCode == 13) newSearch()};
|
||||
</script>
|
||||
|
||||
</div>
|
||||
<div id="links">
|
||||
<a
|
||||
|
||||
rel="noreferrer"
|
||||
|
||||
target="_blank"
|
||||
class="nerdlink"
|
||||
href="/index.xml">
|
||||
|
||||
|
||||

|
||||
|
||||
<span>
|
||||
RSS
|
||||
</span>
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</header>
|
||||
<div id="contentContainer">
|
||||
<div id="content">
|
||||
<main>
|
||||
<article class="card single">
|
||||
|
||||
<h1>Building my website in Hugo</h1>
|
||||
|
||||
|
||||
<p class="date">
|
||||
<span title='Date'> </span>
|
||||
2025-04-07
|
||||
|
||||
|
||||
</p>
|
||||
|
||||
|
||||
|
||||
|
||||
<div></div>
|
||||
</article>
|
||||
|
||||
<hr />
|
||||
<p class="articleTagsContainer">
|
||||
<span> </span>
|
||||
<strong>Tags:</strong>
|
||||
|
||||
<a
|
||||
|
||||
href="/tags/website/">#website</a>
|
||||
|
||||
</p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</main><footer>
|
||||
<hr />
|
||||
|
||||
<p><small>
|
||||
2025 © Patrick Canal
|
||||
</small></p>
|
||||
<p><small>
|
||||
<a href='https://gitlab.com/gabmus/hugo-ficurinia'>Ficurinia theme</a> for <a href='https://gohugo.io'>Hugo</a> by <a href='https://gabmus.org'>Gabriele Musco</a>. Licensed under <a href='https://www.gnu.org/licenses/agpl-3.0.html'>GNU AGPLv3</a>.
|
||||
</small></p>
|
||||
</footer>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,226 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html class="" lang="en-us"><head><script src="/livereload.js?mindelay=10&v=2&port=1313&path=livereload" data-no-instant defer></script>
|
||||
|
||||
<meta name="robots" content="noai, noimageai">
|
||||
<meta name="viewport" content="width=device-width" />
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=7" />
|
||||
|
||||
<link
|
||||
rel="icon"
|
||||
href='/favicon.png'
|
||||
/>
|
||||
<link
|
||||
rel="shortcut icon"
|
||||
href='/favicon.ico'
|
||||
type="image/x-icon"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-icon"
|
||||
href='/apple-touch-icon.png'
|
||||
/>
|
||||
|
||||
<title>
|
||||
|
||||
Building my website in Hugo –
|
||||
|
||||
Patrick Canal
|
||||
</title>
|
||||
|
||||
|
||||
<link href="/symbols-nerd-font/symbols-nerd-font.css" rel="stylesheet" />
|
||||
<link href="/jetbrains-mono/jetbrains-mono.css" rel="stylesheet" />
|
||||
|
||||
|
||||
|
||||
<link type="text/css" rel="stylesheet" href=http://localhost:1313/css/styles.abbd6311bb4b6ca58f8e7398140529245ae0f6428b759fcd830742eee2619eabb900ba9914a9affb82aa9a16a9b9ea727bb315315a976a0db0e7513a5f12c504.css integrity="sha512-q71jEbtLbKWPjnOYFAUpJFrg9kKLdZ/NgwdC7uJhnqu5ALqZFKmv+4Kqmhapuepye7MVMVqXag2w51E6XxLFBA==" />
|
||||
<meta name="author" content="" />
|
||||
|
||||
|
||||
<meta name="keywords" content='Server' />
|
||||
|
||||
|
||||
<meta name="description" content="
|
||||
<p>This is my first post on my blog!</p>" />
|
||||
|
||||
|
||||
<meta property="og:site_name"
|
||||
content='Patrick Canal' />
|
||||
|
||||
<meta property="og:title" content="Building my website in Hugo" />
|
||||
<meta property="og:type" content="article" />
|
||||
|
||||
<meta
|
||||
property="article:author" content="" />
|
||||
|
||||
<meta
|
||||
property="article:published_time"
|
||||
content='2025-04-07T19:16:28Z+0200' />
|
||||
|
||||
|
||||
<meta property="article:tag" content="Server" />
|
||||
|
||||
|
||||
<meta property="og:url" content="http://localhost:1313/posts/first-post/" />
|
||||
|
||||
|
||||
<meta property="og:image"
|
||||
content="http://localhost:1313/img/icon.svg" />
|
||||
|
||||
<meta property="og:description" content="<p>Hello, World!</p>
|
||||
<p>This is my first post on my blog!</p>" />
|
||||
|
||||
|
||||
<meta name="twitter:card" content="summary_large_image" />
|
||||
<meta property="twitter:domain"
|
||||
content='localhost:1313'
|
||||
/>
|
||||
<meta property="twitter:url" content="http://localhost:1313/posts/first-post/" />
|
||||
|
||||
|
||||
<meta name="twitter:title" content="Building my website in Hugo" />
|
||||
|
||||
|
||||
|
||||
<meta name="twitter:image"
|
||||
content="http://localhost:1313/img/icon.svg" />
|
||||
|
||||
<meta name="twitter:description" content="<p>Hello, World!</p>
|
||||
<p>This is my first post on my blog!</p>" />
|
||||
|
||||
|
||||
<link rel="manifest" href="/manifest/index.json" />
|
||||
</head>
|
||||
|
||||
|
||||
<body>
|
||||
<div id="baseContainer"><header class="">
|
||||
<div class="titleAndSearchContainer">
|
||||
<div id="titleContainer">
|
||||
|
||||
<a class="unstyledLink" href="/">
|
||||
<img src='/logo.svg' alt='Logo'/>
|
||||
</a>
|
||||
|
||||
<div class="rightOfLogo">
|
||||
<div class="titleAndHamburger">
|
||||
<h1>
|
||||
<a class="unstyledLink" href="/">Patrick Canal</a>
|
||||
|
||||
</h1>
|
||||
|
||||
</div>
|
||||
<div id="wide_nav"><nav>
|
||||
|
||||
<ul id="main-nav">
|
||||
<li><a href="/">Home</a></li>
|
||||
|
||||
<li><a href="/posts/">Posts</a></li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li><a href="/tags/">Tags</a></li>
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="search">
|
||||
<input id="searchbar" type="text" placeholder='Search' />
|
||||
<span class="nerdlink" onclick="newSearch();"></span>
|
||||
</div>
|
||||
<script>
|
||||
function newSearch() {
|
||||
let term = searchbar.value.trim();
|
||||
if (!term) return;
|
||||
location.href = `/search/?q=${term}`;
|
||||
}
|
||||
searchbar.onkeyup = (ev) => {if (ev.keyCode == 13) newSearch()};
|
||||
</script>
|
||||
|
||||
</div>
|
||||
<div id="links">
|
||||
<a
|
||||
|
||||
rel="noreferrer"
|
||||
|
||||
target="_blank"
|
||||
class="nerdlink"
|
||||
href="/index.xml">
|
||||
|
||||
|
||||

|
||||
|
||||
<span>
|
||||
RSS
|
||||
</span>
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</header>
|
||||
<div id="contentContainer">
|
||||
<div id="content">
|
||||
<main>
|
||||
<article class="card single">
|
||||
|
||||
<h1>Building my website in Hugo</h1>
|
||||
|
||||
|
||||
<p class="date">
|
||||
<span title='Date'> </span>
|
||||
2025-04-07
|
||||
|
||||
|
||||
</p>
|
||||
|
||||
|
||||
|
||||
|
||||
<div><p>Hello, World!</p>
|
||||
<p>This is my first post on my blog!</p>
|
||||
</div>
|
||||
</article>
|
||||
|
||||
<hr />
|
||||
<p class="articleTagsContainer">
|
||||
<span> </span>
|
||||
<strong>Tags:</strong>
|
||||
|
||||
<a
|
||||
|
||||
href="/tags/server/">#Server</a>
|
||||
|
||||
</p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</main><footer>
|
||||
<hr />
|
||||
|
||||
<p><small>
|
||||
2025 © Patrick Canal
|
||||
</small></p>
|
||||
<p><small>
|
||||
<a href='https://gitlab.com/gabmus/hugo-ficurinia'>Ficurinia theme</a> for <a href='https://gohugo.io'>Hugo</a> by <a href='https://gabmus.org'>Gabriele Musco</a>. Licensed under <a href='https://www.gnu.org/licenses/agpl-3.0.html'>GNU AGPLv3</a>.
|
||||
</small></p>
|
||||
</footer>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,214 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html class="" lang="en-us"><head><script src="/livereload.js?mindelay=10&v=2&port=1313&path=livereload" data-no-instant defer></script>
|
||||
|
||||
<meta name="robots" content="noai, noimageai">
|
||||
<meta name="viewport" content="width=device-width" />
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=7" />
|
||||
|
||||
|
||||
|
||||
<link href="http://localhost:1313/posts/index.xml" rel="alternate" type="application/rss+xml" title="Patrick Canal" />
|
||||
<link href="http://localhost:1313/posts/index.xml" rel="feed" type="application/rss+xml" title="Patrick Canal" />
|
||||
|
||||
<link
|
||||
rel="icon"
|
||||
href='/favicon.png'
|
||||
/>
|
||||
<link
|
||||
rel="shortcut icon"
|
||||
href='/favicon.ico'
|
||||
type="image/x-icon"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-icon"
|
||||
href='/apple-touch-icon.png'
|
||||
/>
|
||||
|
||||
<link
|
||||
rel="icon"
|
||||
href='logo.svg'
|
||||
type="image/svg+xml"
|
||||
/>
|
||||
|
||||
<title>
|
||||
|
||||
Posts –
|
||||
|
||||
Patrick Canal
|
||||
</title>
|
||||
|
||||
|
||||
<link href="/symbols-nerd-font/symbols-nerd-font.css" rel="stylesheet" />
|
||||
<link href="/jetbrains-mono/jetbrains-mono.css" rel="stylesheet" />
|
||||
|
||||
|
||||
|
||||
<link type="text/css" rel="stylesheet" href=http://localhost:1313/css/styles.abbd6311bb4b6ca58f8e7398140529245ae0f6428b759fcd830742eee2619eabb900ba9914a9affb82aa9a16a9b9ea727bb315315a976a0db0e7513a5f12c504.css integrity="sha512-q71jEbtLbKWPjnOYFAUpJFrg9kKLdZ/NgwdC7uJhnqu5ALqZFKmv+4Kqmhapuepye7MVMVqXag2w51E6XxLFBA==" />
|
||||
<meta name="author" content="Patrick Canal" />
|
||||
|
||||
|
||||
|
||||
<meta property="og:site_name"
|
||||
content='Patrick Canal' />
|
||||
|
||||
<meta property="og:title"
|
||||
content='Patrick Canal' />
|
||||
|
||||
<meta property="og:type" content="blog" />
|
||||
<meta property="og:image"
|
||||
content='http://localhost:1313/img/icon.svg' />
|
||||
|
||||
<meta name="twitter:card" content="summary_large_image" />
|
||||
<meta property="twitter:domain"
|
||||
content='localhost:1313'
|
||||
/>
|
||||
<meta property="twitter:url" content="http://localhost:1313/posts/" />
|
||||
|
||||
|
||||
<meta name="twitter:title"
|
||||
content='Patrick Canal' />
|
||||
|
||||
<meta name="twitter:image"
|
||||
content='http://localhost:1313/img/icon.svg' />
|
||||
|
||||
<link rel="manifest" href="/manifest/index.json" />
|
||||
</head>
|
||||
|
||||
|
||||
<body>
|
||||
<div id="baseContainer"><header class="">
|
||||
<div class="titleAndSearchContainer">
|
||||
<div id="titleContainer">
|
||||
|
||||
<a class="unstyledLink" href="/">
|
||||
<img src='logo.svg' alt='Logo'/>
|
||||
</a>
|
||||
|
||||
<div class="rightOfLogo">
|
||||
<div class="titleAndHamburger">
|
||||
<h1>
|
||||
<a class="unstyledLink" href="/">Patrick Canal</a>
|
||||
|
||||
</h1>
|
||||
|
||||
</div>
|
||||
<div id="wide_nav"><nav>
|
||||
|
||||
<ul id="main-nav">
|
||||
<li><a href="/">Home</a></li>
|
||||
|
||||
<li><a href="/posts/">Posts</a></li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li><a href="/tags/">Tags</a></li>
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="search">
|
||||
<input id="searchbar" type="text" placeholder='Search' />
|
||||
<span class="nerdlink" onclick="newSearch();"></span>
|
||||
</div>
|
||||
<script>
|
||||
function newSearch() {
|
||||
let term = searchbar.value.trim();
|
||||
if (!term) return;
|
||||
location.href = `/search/?q=${term}`;
|
||||
}
|
||||
searchbar.onkeyup = (ev) => {if (ev.keyCode == 13) newSearch()};
|
||||
</script>
|
||||
|
||||
</div>
|
||||
<div id="links">
|
||||
<a
|
||||
|
||||
rel="noreferrer"
|
||||
|
||||
target="_blank"
|
||||
class="nerdlink"
|
||||
href="/index.xml">
|
||||
|
||||
|
||||

|
||||
|
||||
<span>
|
||||
RSS
|
||||
</span>
|
||||
</a>
|
||||
|
||||
|
||||
<a
|
||||
|
||||
rel="noreferrer"
|
||||
|
||||
target="_blank"
|
||||
class="nerdlink"
|
||||
href="https://github.com/Superredstone">
|
||||
|
||||
|
||||

|
||||
|
||||
<span>
|
||||
Github
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</header>
|
||||
<div id="contentContainer">
|
||||
<div id="content">
|
||||
<main>
|
||||
<h2>
|
||||
|
||||
|
||||
|
||||
|
||||
Posts
|
||||
|
||||
</h2>
|
||||
<ul class="list">
|
||||
|
||||
|
||||
<li>
|
||||
<div>
|
||||
<span class="date">
|
||||
2025-04-07
|
||||
|
||||
</span>
|
||||
<span>
|
||||
<a href="http://localhost:1313/posts/building-my-website-in-hugo/">Building my website in Hugo</a> </span>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
</main><footer>
|
||||
<hr />
|
||||
|
||||
<p><small>
|
||||
2025 © Patrick Canal
|
||||
</small></p>
|
||||
<p><small>
|
||||
<a href='https://gitlab.com/gabmus/hugo-ficurinia'>Ficurinia theme</a> for <a href='https://gohugo.io'>Hugo</a> by <a href='https://gabmus.org'>Gabriele Musco</a>. Licensed under <a href='https://www.gnu.org/licenses/agpl-3.0.html'>GNU AGPLv3</a>.
|
||||
</small></p>
|
||||
</footer>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,41 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><?xml-stylesheet href="/feed_style.xsl" type="text/xsl"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="https://www.rssboard.org/media-rss">
|
||||
<channel>
|
||||
<title>Posts on Patrick Canal</title>
|
||||
<link>http://localhost:1313/posts/</link>
|
||||
<description>Recent content in Posts on Patrick Canal</description>
|
||||
<generator>Hugo -- gohugo.io</generator>
|
||||
<language>en-us</language>
|
||||
<copyright>Patrick Canal</copyright>
|
||||
<lastBuildDate>Mon, 07 Apr 2025 19:16:28 +0200</lastBuildDate><atom:link href="http://localhost:1313/posts/index.xml" rel="self" type="application/rss+xml" /><icon>http://localhost:1313/logo.svg</icon>
|
||||
|
||||
|
||||
<item>
|
||||
<title>Building my website in Hugo</title>
|
||||
<link>http://localhost:1313/posts/building-my-website-in-hugo/</link>
|
||||
<pubDate>Mon, 07 Apr 2025 19:16:28 +0200</pubDate>
|
||||
|
||||
<guid>http://localhost:1313/posts/building-my-website-in-hugo/</guid>
|
||||
<description><![CDATA[<p>I always wanted a website/blog to write articles about what I like, so today I decided to make one!</p>
|
||||
<p>After buying a domain and setting up the server I had just to decide what to write the website with.</p>
|
||||
<h2 id="hugo">Hugo</h2>
|
||||
<p><img src="https://gohugo.io/images/hugo-logo-wide.svg" alt="hugo-logo"></p>
|
||||
<p>As a tech stack I wanted something simple and easy to mantain,
|
||||
<a href="https://gohugo.io/">Hugo</a> makes everything so easy and painless that it is too good to be true.</p>
|
||||
<p>Just install it and then write in the terminal</p>
|
||||
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>hugo new site <website-name> <span style="color:#f92672">&&</span> cd <website-name>
|
||||
</span></span></code></pre></div><p>to generate the template, install a good-looking theme from the <a href="https://themes.gohugo.io/themes/">themes page</a> on the Hugo website, in my case Ficurinia</p>
|
||||
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>git clone https://github.com/patrickacciaioli/ficurinia themes/ficurinia
|
||||
</span></span></code></pre></div><p>add the following line inside of <code>hugo.toml</code> with the greatest editor ever lived (Vim)</p>
|
||||
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-toml" data-lang="toml"><span style="display:flex;"><span><span style="color:#a6e22e">theme</span> = <span style="color:#e6db74">"ficurinia"</span>
|
||||
</span></span></code></pre></div><p>Start the server with</p>
|
||||
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>hugo server
|
||||
</span></span></code></pre></div><p>and you are ready to go. A complete blog in seconds.</p>
|
||||
<h2 id="conclusion">Conclusion</h2>
|
||||
<p>Building a personal website with Hugo was faster and easier than I could have ever done in plain HTML. With minimal setup and maximum flexibility, Hugo proved to be the perfect choice for my blog. Now, I can focus on writing posts worrying about the infamous <a href="https://en.wikipedia.org/wiki/HTML">Hypertext Markup Language</a>.</p>
|
||||
]]></description>
|
||||
|
||||
</item>
|
||||
|
||||
|
||||
</channel>
|
||||
</rss>
|
||||
@@ -1 +0,0 @@
|
||||
User-agent: *
|
||||
@@ -1,300 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html class="" lang="en-us"><head><script src="/livereload.js?mindelay=10&v=2&port=1313&path=livereload" data-no-instant defer></script>
|
||||
|
||||
<meta name="robots" content="noai, noimageai">
|
||||
<meta name="viewport" content="width=device-width" />
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=7" />
|
||||
|
||||
<link
|
||||
rel="icon"
|
||||
href='/favicon.png'
|
||||
/>
|
||||
<link
|
||||
rel="shortcut icon"
|
||||
href='/favicon.ico'
|
||||
type="image/x-icon"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-icon"
|
||||
href='/apple-touch-icon.png'
|
||||
/>
|
||||
|
||||
<link
|
||||
rel="icon"
|
||||
href='logo.svg'
|
||||
type="image/svg+xml"
|
||||
/>
|
||||
|
||||
<title>
|
||||
|
||||
Search –
|
||||
|
||||
Patrick Canal
|
||||
</title>
|
||||
|
||||
|
||||
<link href="/symbols-nerd-font/symbols-nerd-font.css" rel="stylesheet" />
|
||||
<link href="/jetbrains-mono/jetbrains-mono.css" rel="stylesheet" />
|
||||
|
||||
|
||||
|
||||
<link type="text/css" rel="stylesheet" href=http://localhost:1313/css/styles.abbd6311bb4b6ca58f8e7398140529245ae0f6428b759fcd830742eee2619eabb900ba9914a9affb82aa9a16a9b9ea727bb315315a976a0db0e7513a5f12c504.css integrity="sha512-q71jEbtLbKWPjnOYFAUpJFrg9kKLdZ/NgwdC7uJhnqu5ALqZFKmv+4Kqmhapuepye7MVMVqXag2w51E6XxLFBA==" />
|
||||
<meta name="author" content="Patrick Canal" />
|
||||
|
||||
|
||||
|
||||
<meta name="description" content="" />
|
||||
|
||||
|
||||
<meta property="og:site_name"
|
||||
content='Patrick Canal' />
|
||||
|
||||
<meta property="og:title" content="Search" />
|
||||
<meta property="og:type" content="article" />
|
||||
|
||||
<meta
|
||||
property="article:author" content="Patrick Canal" />
|
||||
|
||||
<meta
|
||||
property="article:published_time"
|
||||
content='0001-01-01T00:00:00Z+0000' />
|
||||
|
||||
<meta property="og:url" content="http://localhost:1313/search/" />
|
||||
|
||||
|
||||
<meta property="og:image"
|
||||
content="http://localhost:1313/img/icon.svg" />
|
||||
|
||||
<meta property="og:description" content="" />
|
||||
|
||||
|
||||
<meta name="twitter:card" content="summary_large_image" />
|
||||
<meta property="twitter:domain"
|
||||
content='localhost:1313'
|
||||
/>
|
||||
<meta property="twitter:url" content="http://localhost:1313/search/" />
|
||||
|
||||
|
||||
<meta name="twitter:title" content="Search" />
|
||||
|
||||
|
||||
|
||||
<meta name="twitter:image"
|
||||
content="http://localhost:1313/img/icon.svg" />
|
||||
|
||||
<meta name="twitter:description" content="" />
|
||||
|
||||
|
||||
<link rel="manifest" href="/manifest/index.json" />
|
||||
</head>
|
||||
|
||||
|
||||
<body>
|
||||
<div id="baseContainer"><header class="">
|
||||
<div class="titleAndSearchContainer">
|
||||
<div id="titleContainer">
|
||||
|
||||
<a class="unstyledLink" href="/">
|
||||
<img src='logo.svg' alt='Logo'/>
|
||||
</a>
|
||||
|
||||
<div class="rightOfLogo">
|
||||
<div class="titleAndHamburger">
|
||||
<h1>
|
||||
<a class="unstyledLink" href="/">Patrick Canal</a>
|
||||
|
||||
</h1>
|
||||
|
||||
</div>
|
||||
<div id="wide_nav"><nav>
|
||||
|
||||
<ul id="main-nav">
|
||||
<li><a href="/">Home</a></li>
|
||||
|
||||
<li><a href="/posts/">Posts</a></li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li><a href="/tags/">Tags</a></li>
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="links">
|
||||
<a
|
||||
|
||||
rel="noreferrer"
|
||||
|
||||
target="_blank"
|
||||
class="nerdlink"
|
||||
href="/index.xml">
|
||||
|
||||
|
||||

|
||||
|
||||
<span>
|
||||
RSS
|
||||
</span>
|
||||
</a>
|
||||
|
||||
|
||||
<a
|
||||
|
||||
rel="noreferrer"
|
||||
|
||||
target="_blank"
|
||||
class="nerdlink"
|
||||
href="https://github.com/Superredstone">
|
||||
|
||||
|
||||

|
||||
|
||||
<span>
|
||||
Github
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</header>
|
||||
<div id="contentContainer">
|
||||
<div id="content">
|
||||
<main>
|
||||
<noscript>
|
||||
You need to enable JavaScript to be able to search.
|
||||
</noscript><div class="search">
|
||||
<input id="searchbar" type="text" placeholder='Search' />
|
||||
<span class="nerdlink" onclick="newSearch();"></span>
|
||||
</div>
|
||||
<script>
|
||||
function newSearch() {
|
||||
let term = searchbar.value.trim();
|
||||
if (!term) return;
|
||||
location.href = `/search/?q=${term}`;
|
||||
}
|
||||
searchbar.onkeyup = (ev) => {if (ev.keyCode == 13) newSearch()};
|
||||
</script>
|
||||
<div class="postlist " id="postlist">
|
||||
</div><script>
|
||||
const tagsStr = 'Tags'
|
||||
|
||||
function renderTags(tags) {
|
||||
if (tags.length <= 0) return '';
|
||||
let res = `| <span title=''> </span>`;
|
||||
for (let tag of tags) {
|
||||
|
||||
res += `<a href="/tags/${tag}/">#${tag}</a> `;
|
||||
}
|
||||
return res;
|
||||
}
|
||||
function renderImage(image, link, alt) {
|
||||
if (!image) return '';
|
||||
return `<a href="${link}"><img src="${image}" alt="${alt}" /></a>`;
|
||||
}
|
||||
function renderSingleArticle(article) {
|
||||
|
||||
const tags = renderTags(article.tags)
|
||||
|
||||
|
||||
|
||||
const img = ''
|
||||
|
||||
|
||||
|
||||
const continueReadingStr = 'Continue reading'
|
||||
const summ = `<div class="articlePreview">
|
||||
<p>${article.summary}</p>
|
||||
<p><a href="${article.link}">${continueReadingStr} </a></p>
|
||||
</div>`
|
||||
|
||||
|
||||
const dateStr = 'Date'
|
||||
|
||||
return `
|
||||
<article class="card postlistitem">
|
||||
<div>
|
||||
<h2>
|
||||
<a href="${article.link}">${article.title}</a>
|
||||
</h2>
|
||||
<p class="date">
|
||||
<span title='${dateStr}'> </span>
|
||||
${article.date}
|
||||
${tags}
|
||||
</p>
|
||||
${img}
|
||||
${summ}
|
||||
</div>
|
||||
<hr />
|
||||
</article>
|
||||
`;
|
||||
}
|
||||
function renderArticles(articles) {
|
||||
let rendered = articles.map(a => renderSingleArticle(a)).join('\n');
|
||||
document.getElementById('postlist').innerHTML += rendered;
|
||||
}
|
||||
</script>
|
||||
<script>
|
||||
const noResFoundStr = "No results found"
|
||||
function matchTags(page, term) {
|
||||
for (let tag of page.tags) {
|
||||
if (tag.includes(term)) return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
function performSearch(term) {
|
||||
document.getElementById('postlist').innerHTML = '';
|
||||
term = term.toLowerCase();
|
||||
fetch('/search/index.json').then(res => res.json())
|
||||
.then(res => {
|
||||
let articles = res.pages.filter(page => (
|
||||
page.title.toLowerCase().includes(term) ||
|
||||
matchTags(page, term) ||
|
||||
page.text.includes(term)
|
||||
));
|
||||
if (articles.length > 0) renderArticles(articles);
|
||||
else document.getElementById('postlist').innerHTML = `
|
||||
<h3>${noResFoundStr}</h3>
|
||||
`;
|
||||
});
|
||||
}
|
||||
var url = location.href;
|
||||
var baseUrl = url.split('?')[0];
|
||||
var searchbar = document.getElementById('searchbar');
|
||||
if (url.includes('?')) {
|
||||
var urlParams = new URLSearchParams(url.split('?')[1]);
|
||||
if (urlParams.has('q')) {
|
||||
let searchTerm = urlParams.get('q');
|
||||
searchbar.value = searchTerm;
|
||||
performSearch(searchTerm);
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
</main><footer>
|
||||
<hr />
|
||||
|
||||
<p><small>
|
||||
2025 © Patrick Canal
|
||||
</small></p>
|
||||
<p><small>
|
||||
<a href='https://gitlab.com/gabmus/hugo-ficurinia'>Ficurinia theme</a> for <a href='https://gohugo.io'>Hugo</a> by <a href='https://gabmus.org'>Gabriele Musco</a>. Licensed under <a href='https://www.gnu.org/licenses/agpl-3.0.html'>GNU AGPLv3</a>.
|
||||
</small></p>
|
||||
</footer>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,13 +0,0 @@
|
||||
|
||||
{
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
"pages": [{"date":"2025-04-07","image":"","imageAlt":"","link":"http://localhost:1313/posts/building-my-website-in-hugo/","summary":"\u003cp\u003eI always wanted a website/blog to write articles about what I like, so today I decided to make one!\u003c/p\u003e\n\u003cp\u003eAfter buying a domain and setting up the server I had just to decide what to write the website with.\u003c/p\u003e\n\u003ch2 id=\"hugo\"\u003eHugo\u003c/h2\u003e\n\u003cp\u003eAs a tech stack I wanted something simple and easy to mantain,\n\u003ca href=\"https://gohugo.io/\"\u003eHugo\u003c/a\u003e makes everything so easy and painless that it is too good to be true.\u003c/p\u003e\n\u003cp\u003eJust install it and then write in the terminal\u003c/p\u003e","tags":["hosting","website"],"text":"i always wanted a website/blog to write articles about what i like, so today i decided to make one!\nafter buying a domain and setting up the server i had just to decide what to write the website with.\nhugo as a tech stack i wanted something simple and easy to mantain, hugo makes everything so easy and painless that it is too good to be true.\njust install it and then write in the terminal\nhugo new site \u0026lt;website-name\u0026gt; \u0026amp;\u0026amp; cd \u0026lt;website-name\u0026gt; to generate the template, install a good-looking theme from the themes page on the hugo website, in my case ficurinia\ngit clone https://github.com/patrickacciaioli/ficurinia themes/ficurinia add the following line inside of hugo.toml with the greatest editor ever lived (vim)\ntheme = \u0026#34;ficurinia\u0026#34; start the server with\nhugo server and you are ready to go. a complete blog in seconds.\nconclusion building a personal website with hugo was faster and easier than i could have ever done in plain html. with minimal setup and maximum flexibility, hugo proved to be the perfect choice for my blog. now, i can focus on writing posts worrying about the infamous hypertext markup language.\n","title":"Building my website in Hugo"}]
|
||||
}
|
||||
|
||||
@@ -1,29 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
|
||||
xmlns:xhtml="http://www.w3.org/1999/xhtml">
|
||||
<url>
|
||||
<loc>http://localhost:1313/posts/building-my-website-in-hugo/</loc>
|
||||
<lastmod>2025-04-07T19:16:28+02:00</lastmod>
|
||||
</url><url>
|
||||
<loc>http://localhost:1313/tags/hosting/</loc>
|
||||
<lastmod>2025-04-07T19:16:28+02:00</lastmod>
|
||||
</url><url>
|
||||
<loc>http://localhost:1313/</loc>
|
||||
<lastmod>2025-04-07T19:16:28+02:00</lastmod>
|
||||
</url><url>
|
||||
<loc>http://localhost:1313/posts/</loc>
|
||||
<lastmod>2025-04-07T19:16:28+02:00</lastmod>
|
||||
</url><url>
|
||||
<loc>http://localhost:1313/tags/</loc>
|
||||
<lastmod>2025-04-07T19:16:28+02:00</lastmod>
|
||||
</url><url>
|
||||
<loc>http://localhost:1313/tags/website/</loc>
|
||||
<lastmod>2025-04-07T19:16:28+02:00</lastmod>
|
||||
</url><url>
|
||||
<loc>http://localhost:1313/categories/</loc>
|
||||
</url><url>
|
||||
<loc>http://localhost:1313/manifest/index.json</loc>
|
||||
</url><url>
|
||||
<loc>http://localhost:1313/search/</loc>
|
||||
</url>
|
||||
</urlset>
|
||||
@@ -1,8 +0,0 @@
|
||||
/* symbols-nerd-font */
|
||||
@font-face {
|
||||
font-family: Symbols Nerd Font;
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
src: local("Symbols Nerd Font"), local("SymbolsNF"), url(symbols-nerd-font.woff2) format("woff2");
|
||||
}
|
||||
|
||||
@@ -1,214 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html class="" lang="en-us"><head><script src="/livereload.js?mindelay=10&v=2&port=1313&path=livereload" data-no-instant defer></script>
|
||||
|
||||
<meta name="robots" content="noai, noimageai">
|
||||
<meta name="viewport" content="width=device-width" />
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=7" />
|
||||
|
||||
|
||||
|
||||
<link href="http://localhost:1313/tags/hosting/index.xml" rel="alternate" type="application/rss+xml" title="Patrick Canal" />
|
||||
<link href="http://localhost:1313/tags/hosting/index.xml" rel="feed" type="application/rss+xml" title="Patrick Canal" />
|
||||
|
||||
<link
|
||||
rel="icon"
|
||||
href='/favicon.png'
|
||||
/>
|
||||
<link
|
||||
rel="shortcut icon"
|
||||
href='/favicon.ico'
|
||||
type="image/x-icon"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-icon"
|
||||
href='/apple-touch-icon.png'
|
||||
/>
|
||||
|
||||
<link
|
||||
rel="icon"
|
||||
href='logo.svg'
|
||||
type="image/svg+xml"
|
||||
/>
|
||||
|
||||
<title>
|
||||
|
||||
Hosting –
|
||||
|
||||
Patrick Canal
|
||||
</title>
|
||||
|
||||
|
||||
<link href="/symbols-nerd-font/symbols-nerd-font.css" rel="stylesheet" />
|
||||
<link href="/jetbrains-mono/jetbrains-mono.css" rel="stylesheet" />
|
||||
|
||||
|
||||
|
||||
<link type="text/css" rel="stylesheet" href=http://localhost:1313/css/styles.abbd6311bb4b6ca58f8e7398140529245ae0f6428b759fcd830742eee2619eabb900ba9914a9affb82aa9a16a9b9ea727bb315315a976a0db0e7513a5f12c504.css integrity="sha512-q71jEbtLbKWPjnOYFAUpJFrg9kKLdZ/NgwdC7uJhnqu5ALqZFKmv+4Kqmhapuepye7MVMVqXag2w51E6XxLFBA==" />
|
||||
<meta name="author" content="Patrick Canal" />
|
||||
|
||||
|
||||
|
||||
<meta property="og:site_name"
|
||||
content='Patrick Canal' />
|
||||
|
||||
<meta property="og:title"
|
||||
content='Patrick Canal' />
|
||||
|
||||
<meta property="og:type" content="blog" />
|
||||
<meta property="og:image"
|
||||
content='http://localhost:1313/img/icon.svg' />
|
||||
|
||||
<meta name="twitter:card" content="summary_large_image" />
|
||||
<meta property="twitter:domain"
|
||||
content='localhost:1313'
|
||||
/>
|
||||
<meta property="twitter:url" content="http://localhost:1313/tags/hosting/" />
|
||||
|
||||
|
||||
<meta name="twitter:title"
|
||||
content='Patrick Canal' />
|
||||
|
||||
<meta name="twitter:image"
|
||||
content='http://localhost:1313/img/icon.svg' />
|
||||
|
||||
<link rel="manifest" href="/manifest/index.json" />
|
||||
</head>
|
||||
|
||||
|
||||
<body>
|
||||
<div id="baseContainer"><header class="">
|
||||
<div class="titleAndSearchContainer">
|
||||
<div id="titleContainer">
|
||||
|
||||
<a class="unstyledLink" href="/">
|
||||
<img src='logo.svg' alt='Logo'/>
|
||||
</a>
|
||||
|
||||
<div class="rightOfLogo">
|
||||
<div class="titleAndHamburger">
|
||||
<h1>
|
||||
<a class="unstyledLink" href="/">Patrick Canal</a>
|
||||
|
||||
</h1>
|
||||
|
||||
</div>
|
||||
<div id="wide_nav"><nav>
|
||||
|
||||
<ul id="main-nav">
|
||||
<li><a href="/">Home</a></li>
|
||||
|
||||
<li><a href="/posts/">Posts</a></li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li><a href="/tags/">Tags</a></li>
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="search">
|
||||
<input id="searchbar" type="text" placeholder='Search' />
|
||||
<span class="nerdlink" onclick="newSearch();"></span>
|
||||
</div>
|
||||
<script>
|
||||
function newSearch() {
|
||||
let term = searchbar.value.trim();
|
||||
if (!term) return;
|
||||
location.href = `/search/?q=${term}`;
|
||||
}
|
||||
searchbar.onkeyup = (ev) => {if (ev.keyCode == 13) newSearch()};
|
||||
</script>
|
||||
|
||||
</div>
|
||||
<div id="links">
|
||||
<a
|
||||
|
||||
rel="noreferrer"
|
||||
|
||||
target="_blank"
|
||||
class="nerdlink"
|
||||
href="/index.xml">
|
||||
|
||||
|
||||

|
||||
|
||||
<span>
|
||||
RSS
|
||||
</span>
|
||||
</a>
|
||||
|
||||
|
||||
<a
|
||||
|
||||
rel="noreferrer"
|
||||
|
||||
target="_blank"
|
||||
class="nerdlink"
|
||||
href="https://github.com/Superredstone">
|
||||
|
||||
|
||||

|
||||
|
||||
<span>
|
||||
Github
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</header>
|
||||
<div id="contentContainer">
|
||||
<div id="content">
|
||||
<main>
|
||||
<h2>
|
||||
|
||||
|
||||
|
||||
|
||||
Tag: #Hosting
|
||||
|
||||
</h2>
|
||||
<ul class="list">
|
||||
|
||||
|
||||
<li>
|
||||
<div>
|
||||
<span class="date">
|
||||
2025-04-07
|
||||
|
||||
</span>
|
||||
<span>
|
||||
<a href="http://localhost:1313/posts/building-my-website-in-hugo/">Building my website in Hugo</a> </span>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
</main><footer>
|
||||
<hr />
|
||||
|
||||
<p><small>
|
||||
2025 © Patrick Canal
|
||||
</small></p>
|
||||
<p><small>
|
||||
<a href='https://gitlab.com/gabmus/hugo-ficurinia'>Ficurinia theme</a> for <a href='https://gohugo.io'>Hugo</a> by <a href='https://gabmus.org'>Gabriele Musco</a>. Licensed under <a href='https://www.gnu.org/licenses/agpl-3.0.html'>GNU AGPLv3</a>.
|
||||
</small></p>
|
||||
</footer>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,40 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><?xml-stylesheet href="/feed_style.xsl" type="text/xsl"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="https://www.rssboard.org/media-rss">
|
||||
<channel>
|
||||
<title>Hosting on Patrick Canal</title>
|
||||
<link>http://localhost:1313/tags/hosting/</link>
|
||||
<description>Recent content in Hosting on Patrick Canal</description>
|
||||
<generator>Hugo -- gohugo.io</generator>
|
||||
<language>en-us</language>
|
||||
<copyright>Patrick Canal</copyright>
|
||||
<lastBuildDate>Mon, 07 Apr 2025 19:16:28 +0200</lastBuildDate><atom:link href="http://localhost:1313/tags/hosting/index.xml" rel="self" type="application/rss+xml" /><icon>http://localhost:1313/logo.svg</icon>
|
||||
|
||||
|
||||
<item>
|
||||
<title>Building my website in Hugo</title>
|
||||
<link>http://localhost:1313/posts/building-my-website-in-hugo/</link>
|
||||
<pubDate>Mon, 07 Apr 2025 19:16:28 +0200</pubDate>
|
||||
|
||||
<guid>http://localhost:1313/posts/building-my-website-in-hugo/</guid>
|
||||
<description><![CDATA[<p>I always wanted a website/blog to write articles about what I like, so today I decided to make one!</p>
|
||||
<p>After buying a domain and setting up the server I had just to decide what to write the website with.</p>
|
||||
<h2 id="hugo">Hugo</h2>
|
||||
<p>As a tech stack I wanted something simple and easy to mantain,
|
||||
<a href="https://gohugo.io/">Hugo</a> makes everything so easy and painless that it is too good to be true.</p>
|
||||
<p>Just install it and then write in the terminal</p>
|
||||
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>hugo new site <website-name> <span style="color:#f92672">&&</span> cd <website-name>
|
||||
</span></span></code></pre></div><p>to generate the template, install a good-looking theme from the <a href="https://themes.gohugo.io/themes/">themes page</a> on the Hugo website, in my case Ficurinia</p>
|
||||
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>git clone https://github.com/patrickacciaioli/ficurinia themes/ficurinia
|
||||
</span></span></code></pre></div><p>add the following line inside of <code>hugo.toml</code> with the greatest editor ever lived (Vim)</p>
|
||||
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-toml" data-lang="toml"><span style="display:flex;"><span><span style="color:#a6e22e">theme</span> = <span style="color:#e6db74">"ficurinia"</span>
|
||||
</span></span></code></pre></div><p>Start the server with</p>
|
||||
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>hugo server
|
||||
</span></span></code></pre></div><p>and you are ready to go. A complete blog in seconds.</p>
|
||||
<h2 id="conclusion">Conclusion</h2>
|
||||
<p>Building a personal website with Hugo was faster and easier than I could have ever done in plain HTML. With minimal setup and maximum flexibility, Hugo proved to be the perfect choice for my blog. Now, I can focus on writing posts worrying about the infamous <a href="https://en.wikipedia.org/wiki/HTML">Hypertext Markup Language</a>.</p>
|
||||
]]></description>
|
||||
|
||||
</item>
|
||||
|
||||
|
||||
</channel>
|
||||
</rss>
|
||||
@@ -1,212 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html class="" lang="en-us"><head><script src="/livereload.js?mindelay=10&v=2&port=1313&path=livereload" data-no-instant defer></script>
|
||||
|
||||
<meta name="robots" content="noai, noimageai">
|
||||
<meta name="viewport" content="width=device-width" />
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=7" />
|
||||
|
||||
|
||||
|
||||
<link href="http://localhost:1313/tags/index.xml" rel="alternate" type="application/rss+xml" title="Patrick Canal" />
|
||||
<link href="http://localhost:1313/tags/index.xml" rel="feed" type="application/rss+xml" title="Patrick Canal" />
|
||||
|
||||
<link
|
||||
rel="icon"
|
||||
href='/favicon.png'
|
||||
/>
|
||||
<link
|
||||
rel="shortcut icon"
|
||||
href='/favicon.ico'
|
||||
type="image/x-icon"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-icon"
|
||||
href='/apple-touch-icon.png'
|
||||
/>
|
||||
|
||||
<link
|
||||
rel="icon"
|
||||
href='logo.svg'
|
||||
type="image/svg+xml"
|
||||
/>
|
||||
|
||||
<title>
|
||||
|
||||
Tags –
|
||||
|
||||
Patrick Canal
|
||||
</title>
|
||||
|
||||
|
||||
<link href="/symbols-nerd-font/symbols-nerd-font.css" rel="stylesheet" />
|
||||
<link href="/jetbrains-mono/jetbrains-mono.css" rel="stylesheet" />
|
||||
|
||||
|
||||
|
||||
<link type="text/css" rel="stylesheet" href=http://localhost:1313/css/styles.abbd6311bb4b6ca58f8e7398140529245ae0f6428b759fcd830742eee2619eabb900ba9914a9affb82aa9a16a9b9ea727bb315315a976a0db0e7513a5f12c504.css integrity="sha512-q71jEbtLbKWPjnOYFAUpJFrg9kKLdZ/NgwdC7uJhnqu5ALqZFKmv+4Kqmhapuepye7MVMVqXag2w51E6XxLFBA==" />
|
||||
<meta name="author" content="Patrick Canal" />
|
||||
|
||||
|
||||
|
||||
<meta property="og:site_name"
|
||||
content='Patrick Canal' />
|
||||
|
||||
<meta property="og:title"
|
||||
content='Patrick Canal' />
|
||||
|
||||
<meta property="og:type" content="blog" />
|
||||
<meta property="og:image"
|
||||
content='http://localhost:1313/img/icon.svg' />
|
||||
|
||||
<meta name="twitter:card" content="summary_large_image" />
|
||||
<meta property="twitter:domain"
|
||||
content='localhost:1313'
|
||||
/>
|
||||
<meta property="twitter:url" content="http://localhost:1313/tags/" />
|
||||
|
||||
|
||||
<meta name="twitter:title"
|
||||
content='Patrick Canal' />
|
||||
|
||||
<meta name="twitter:image"
|
||||
content='http://localhost:1313/img/icon.svg' />
|
||||
|
||||
<link rel="manifest" href="/manifest/index.json" />
|
||||
</head>
|
||||
|
||||
|
||||
<body>
|
||||
<div id="baseContainer"><header class="">
|
||||
<div class="titleAndSearchContainer">
|
||||
<div id="titleContainer">
|
||||
|
||||
<a class="unstyledLink" href="/">
|
||||
<img src='logo.svg' alt='Logo'/>
|
||||
</a>
|
||||
|
||||
<div class="rightOfLogo">
|
||||
<div class="titleAndHamburger">
|
||||
<h1>
|
||||
<a class="unstyledLink" href="/">Patrick Canal</a>
|
||||
|
||||
</h1>
|
||||
|
||||
</div>
|
||||
<div id="wide_nav"><nav>
|
||||
|
||||
<ul id="main-nav">
|
||||
<li><a href="/">Home</a></li>
|
||||
|
||||
<li><a href="/posts/">Posts</a></li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li><a href="/tags/">Tags</a></li>
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="search">
|
||||
<input id="searchbar" type="text" placeholder='Search' />
|
||||
<span class="nerdlink" onclick="newSearch();"></span>
|
||||
</div>
|
||||
<script>
|
||||
function newSearch() {
|
||||
let term = searchbar.value.trim();
|
||||
if (!term) return;
|
||||
location.href = `/search/?q=${term}`;
|
||||
}
|
||||
searchbar.onkeyup = (ev) => {if (ev.keyCode == 13) newSearch()};
|
||||
</script>
|
||||
|
||||
</div>
|
||||
<div id="links">
|
||||
<a
|
||||
|
||||
rel="noreferrer"
|
||||
|
||||
target="_blank"
|
||||
class="nerdlink"
|
||||
href="/index.xml">
|
||||
|
||||
|
||||

|
||||
|
||||
<span>
|
||||
RSS
|
||||
</span>
|
||||
</a>
|
||||
|
||||
|
||||
<a
|
||||
|
||||
rel="noreferrer"
|
||||
|
||||
target="_blank"
|
||||
class="nerdlink"
|
||||
href="https://github.com/Superredstone">
|
||||
|
||||
|
||||

|
||||
|
||||
<span>
|
||||
Github
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</header>
|
||||
<div id="contentContainer">
|
||||
<div id="content">
|
||||
<main>
|
||||
<h2>
|
||||
|
||||
|
||||
|
||||
|
||||
Tags:
|
||||
|
||||
</h2>
|
||||
<ul class="list">
|
||||
|
||||
|
||||
|
||||
<li>
|
||||
<a href="http://localhost:1313/tags/hosting/">#Hosting</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="http://localhost:1313/tags/website/">#Website</a>
|
||||
</li>
|
||||
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
</main><footer>
|
||||
<hr />
|
||||
|
||||
<p><small>
|
||||
2025 © Patrick Canal
|
||||
</small></p>
|
||||
<p><small>
|
||||
<a href='https://gitlab.com/gabmus/hugo-ficurinia'>Ficurinia theme</a> for <a href='https://gohugo.io'>Hugo</a> by <a href='https://gabmus.org'>Gabriele Musco</a>. Licensed under <a href='https://www.gnu.org/licenses/agpl-3.0.html'>GNU AGPLv3</a>.
|
||||
</small></p>
|
||||
</footer>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,36 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><?xml-stylesheet href="/feed_style.xsl" type="text/xsl"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="https://www.rssboard.org/media-rss">
|
||||
<channel>
|
||||
<title>Tags on Patrick Canal</title>
|
||||
<link>http://localhost:1313/tags/</link>
|
||||
<description>Recent content in Tags on Patrick Canal</description>
|
||||
<generator>Hugo -- gohugo.io</generator>
|
||||
<language>en-us</language>
|
||||
<copyright>Patrick Canal</copyright>
|
||||
<lastBuildDate>Mon, 07 Apr 2025 19:16:28 +0200</lastBuildDate><atom:link href="http://localhost:1313/tags/index.xml" rel="self" type="application/rss+xml" /><icon>http://localhost:1313/logo.svg</icon>
|
||||
|
||||
|
||||
<item>
|
||||
<title>Hosting</title>
|
||||
<link>http://localhost:1313/tags/hosting/</link>
|
||||
<pubDate>Mon, 07 Apr 2025 19:16:28 +0200</pubDate>
|
||||
|
||||
<guid>http://localhost:1313/tags/hosting/</guid>
|
||||
<description><![CDATA[]]></description>
|
||||
|
||||
</item>
|
||||
|
||||
|
||||
|
||||
<item>
|
||||
<title>Website</title>
|
||||
<link>http://localhost:1313/tags/website/</link>
|
||||
<pubDate>Mon, 07 Apr 2025 19:16:28 +0200</pubDate>
|
||||
|
||||
<guid>http://localhost:1313/tags/website/</guid>
|
||||
<description><![CDATA[]]></description>
|
||||
|
||||
</item>
|
||||
|
||||
|
||||
</channel>
|
||||
</rss>
|
||||
@@ -1,182 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html class="" lang="en-us"><head><script src="/livereload.js?mindelay=10&v=2&port=1313&path=livereload" data-no-instant defer></script>
|
||||
|
||||
<meta name="robots" content="noai, noimageai">
|
||||
<meta name="viewport" content="width=device-width" />
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=7" />
|
||||
|
||||
|
||||
|
||||
<link href="http://localhost:1313/tags/server/index.xml" rel="alternate" type="application/rss+xml" title="Patrick Canal" />
|
||||
<link href="http://localhost:1313/tags/server/index.xml" rel="feed" type="application/rss+xml" title="Patrick Canal" />
|
||||
|
||||
<link
|
||||
rel="icon"
|
||||
href='/favicon.png'
|
||||
/>
|
||||
<link
|
||||
rel="shortcut icon"
|
||||
href='/favicon.ico'
|
||||
type="image/x-icon"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-icon"
|
||||
href='/apple-touch-icon.png'
|
||||
/>
|
||||
|
||||
<title>
|
||||
|
||||
Server –
|
||||
|
||||
Patrick Canal
|
||||
</title>
|
||||
|
||||
|
||||
<link href="/symbols-nerd-font/symbols-nerd-font.css" rel="stylesheet" />
|
||||
<link href="/jetbrains-mono/jetbrains-mono.css" rel="stylesheet" />
|
||||
|
||||
|
||||
|
||||
<link type="text/css" rel="stylesheet" href=http://localhost:1313/css/styles.abbd6311bb4b6ca58f8e7398140529245ae0f6428b759fcd830742eee2619eabb900ba9914a9affb82aa9a16a9b9ea727bb315315a976a0db0e7513a5f12c504.css integrity="sha512-q71jEbtLbKWPjnOYFAUpJFrg9kKLdZ/NgwdC7uJhnqu5ALqZFKmv+4Kqmhapuepye7MVMVqXag2w51E6XxLFBA==" />
|
||||
<meta name="author" content="" />
|
||||
|
||||
|
||||
|
||||
<meta property="og:site_name"
|
||||
content='Patrick Canal' />
|
||||
|
||||
<meta property="og:title"
|
||||
content='Patrick Canal' />
|
||||
|
||||
<meta property="og:type" content="blog" />
|
||||
<meta property="og:image"
|
||||
content='http://localhost:1313/img/icon.svg' />
|
||||
|
||||
<meta name="twitter:card" content="summary_large_image" />
|
||||
<meta property="twitter:domain"
|
||||
content='localhost:1313'
|
||||
/>
|
||||
<meta property="twitter:url" content="http://localhost:1313/tags/server/" />
|
||||
|
||||
|
||||
<meta name="twitter:title"
|
||||
content='Patrick Canal' />
|
||||
|
||||
<meta name="twitter:image"
|
||||
content='http://localhost:1313/img/icon.svg' />
|
||||
|
||||
<link rel="manifest" href="/manifest/index.json" />
|
||||
</head>
|
||||
|
||||
|
||||
<body>
|
||||
<div id="baseContainer"><header class="">
|
||||
<div class="titleAndSearchContainer">
|
||||
<div id="titleContainer">
|
||||
|
||||
<a class="unstyledLink" href="/">
|
||||
<img src='/logo.svg' alt='Logo'/>
|
||||
</a>
|
||||
|
||||
<div class="rightOfLogo">
|
||||
<div class="titleAndHamburger">
|
||||
<h1>
|
||||
<a class="unstyledLink" href="/">Patrick Canal</a>
|
||||
|
||||
</h1>
|
||||
|
||||
</div>
|
||||
<div id="wide_nav"><nav>
|
||||
|
||||
<ul id="main-nav">
|
||||
<li><a href="/">Home</a></li>
|
||||
|
||||
<li><a href="/posts/">Posts</a></li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li><a href="/tags/">Tags</a></li>
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="search">
|
||||
<input id="searchbar" type="text" placeholder='Search' />
|
||||
<span class="nerdlink" onclick="newSearch();"></span>
|
||||
</div>
|
||||
<script>
|
||||
function newSearch() {
|
||||
let term = searchbar.value.trim();
|
||||
if (!term) return;
|
||||
location.href = `/search/?q=${term}`;
|
||||
}
|
||||
searchbar.onkeyup = (ev) => {if (ev.keyCode == 13) newSearch()};
|
||||
</script>
|
||||
|
||||
</div>
|
||||
<div id="links">
|
||||
<a
|
||||
|
||||
rel="noreferrer"
|
||||
|
||||
target="_blank"
|
||||
class="nerdlink"
|
||||
href="/index.xml">
|
||||
|
||||
|
||||

|
||||
|
||||
<span>
|
||||
RSS
|
||||
</span>
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</header>
|
||||
<div id="contentContainer">
|
||||
<div id="content">
|
||||
<main>
|
||||
<h2>
|
||||
|
||||
|
||||
|
||||
|
||||
Tag: #Server
|
||||
|
||||
</h2>
|
||||
<ul class="list">
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
</main><footer>
|
||||
<hr />
|
||||
|
||||
<p><small>
|
||||
2025 © Patrick Canal
|
||||
</small></p>
|
||||
<p><small>
|
||||
<a href='https://gitlab.com/gabmus/hugo-ficurinia'>Ficurinia theme</a> for <a href='https://gohugo.io'>Hugo</a> by <a href='https://gabmus.org'>Gabriele Musco</a>. Licensed under <a href='https://www.gnu.org/licenses/agpl-3.0.html'>GNU AGPLv3</a>.
|
||||
</small></p>
|
||||
</footer>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,11 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><?xml-stylesheet href="/feed_style.xsl" type="text/xsl"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="https://www.rssboard.org/media-rss">
|
||||
<channel>
|
||||
<title>Server on Patrick Canal</title>
|
||||
<link>http://localhost:1313/tags/server/</link>
|
||||
<description>Recent content in Server on Patrick Canal</description>
|
||||
<generator>Hugo -- gohugo.io</generator>
|
||||
<language>en-us</language>
|
||||
<copyright>Patrick Canal</copyright><atom:link href="http://localhost:1313/tags/server/index.xml" rel="self" type="application/rss+xml" /><icon>http://localhost:1313/img/icon.svg</icon>
|
||||
|
||||
</channel>
|
||||
</rss>
|
||||
@@ -1,182 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html class="" lang="en-us"><head><script src="/livereload.js?mindelay=10&v=2&port=1313&path=livereload" data-no-instant defer></script>
|
||||
|
||||
<meta name="robots" content="noai, noimageai">
|
||||
<meta name="viewport" content="width=device-width" />
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=7" />
|
||||
|
||||
|
||||
|
||||
<link href="http://localhost:1313/tags/swag/index.xml" rel="alternate" type="application/rss+xml" title="Patrick Canal" />
|
||||
<link href="http://localhost:1313/tags/swag/index.xml" rel="feed" type="application/rss+xml" title="Patrick Canal" />
|
||||
|
||||
<link
|
||||
rel="icon"
|
||||
href='/favicon.png'
|
||||
/>
|
||||
<link
|
||||
rel="shortcut icon"
|
||||
href='/favicon.ico'
|
||||
type="image/x-icon"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-icon"
|
||||
href='/apple-touch-icon.png'
|
||||
/>
|
||||
|
||||
<title>
|
||||
|
||||
Swag –
|
||||
|
||||
Patrick Canal
|
||||
</title>
|
||||
|
||||
|
||||
<link href="/symbols-nerd-font/symbols-nerd-font.css" rel="stylesheet" />
|
||||
<link href="/jetbrains-mono/jetbrains-mono.css" rel="stylesheet" />
|
||||
|
||||
|
||||
|
||||
<link type="text/css" rel="stylesheet" href=http://localhost:1313/css/styles.abbd6311bb4b6ca58f8e7398140529245ae0f6428b759fcd830742eee2619eabb900ba9914a9affb82aa9a16a9b9ea727bb315315a976a0db0e7513a5f12c504.css integrity="sha512-q71jEbtLbKWPjnOYFAUpJFrg9kKLdZ/NgwdC7uJhnqu5ALqZFKmv+4Kqmhapuepye7MVMVqXag2w51E6XxLFBA==" />
|
||||
<meta name="author" content="" />
|
||||
|
||||
|
||||
|
||||
<meta property="og:site_name"
|
||||
content='Patrick Canal' />
|
||||
|
||||
<meta property="og:title"
|
||||
content='Patrick Canal' />
|
||||
|
||||
<meta property="og:type" content="blog" />
|
||||
<meta property="og:image"
|
||||
content='http://localhost:1313/img/icon.svg' />
|
||||
|
||||
<meta name="twitter:card" content="summary_large_image" />
|
||||
<meta property="twitter:domain"
|
||||
content='localhost:1313'
|
||||
/>
|
||||
<meta property="twitter:url" content="http://localhost:1313/tags/swag/" />
|
||||
|
||||
|
||||
<meta name="twitter:title"
|
||||
content='Patrick Canal' />
|
||||
|
||||
<meta name="twitter:image"
|
||||
content='http://localhost:1313/img/icon.svg' />
|
||||
|
||||
<link rel="manifest" href="/manifest/index.json" />
|
||||
</head>
|
||||
|
||||
|
||||
<body>
|
||||
<div id="baseContainer"><header class="">
|
||||
<div class="titleAndSearchContainer">
|
||||
<div id="titleContainer">
|
||||
|
||||
<a class="unstyledLink" href="/">
|
||||
<img src='/logo.svg' alt='Logo'/>
|
||||
</a>
|
||||
|
||||
<div class="rightOfLogo">
|
||||
<div class="titleAndHamburger">
|
||||
<h1>
|
||||
<a class="unstyledLink" href="/">Patrick Canal</a>
|
||||
|
||||
</h1>
|
||||
|
||||
</div>
|
||||
<div id="wide_nav"><nav>
|
||||
|
||||
<ul id="main-nav">
|
||||
<li><a href="/">Home</a></li>
|
||||
|
||||
<li><a href="/posts/">Posts</a></li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li><a href="/tags/">Tags</a></li>
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="search">
|
||||
<input id="searchbar" type="text" placeholder='Search' />
|
||||
<span class="nerdlink" onclick="newSearch();"></span>
|
||||
</div>
|
||||
<script>
|
||||
function newSearch() {
|
||||
let term = searchbar.value.trim();
|
||||
if (!term) return;
|
||||
location.href = `/search/?q=${term}`;
|
||||
}
|
||||
searchbar.onkeyup = (ev) => {if (ev.keyCode == 13) newSearch()};
|
||||
</script>
|
||||
|
||||
</div>
|
||||
<div id="links">
|
||||
<a
|
||||
|
||||
rel="noreferrer"
|
||||
|
||||
target="_blank"
|
||||
class="nerdlink"
|
||||
href="/index.xml">
|
||||
|
||||
|
||||

|
||||
|
||||
<span>
|
||||
RSS
|
||||
</span>
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</header>
|
||||
<div id="contentContainer">
|
||||
<div id="content">
|
||||
<main>
|
||||
<h2>
|
||||
|
||||
|
||||
|
||||
|
||||
Tag: #Swag
|
||||
|
||||
</h2>
|
||||
<ul class="list">
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
</main><footer>
|
||||
<hr />
|
||||
|
||||
<p><small>
|
||||
2025 © Patrick Canal
|
||||
</small></p>
|
||||
<p><small>
|
||||
<a href='https://gitlab.com/gabmus/hugo-ficurinia'>Ficurinia theme</a> for <a href='https://gohugo.io'>Hugo</a> by <a href='https://gabmus.org'>Gabriele Musco</a>. Licensed under <a href='https://www.gnu.org/licenses/agpl-3.0.html'>GNU AGPLv3</a>.
|
||||
</small></p>
|
||||
</footer>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,11 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><?xml-stylesheet href="/feed_style.xsl" type="text/xsl"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="https://www.rssboard.org/media-rss">
|
||||
<channel>
|
||||
<title>Swag on Patrick Canal</title>
|
||||
<link>http://localhost:1313/tags/swag/</link>
|
||||
<description>Recent content in Swag on Patrick Canal</description>
|
||||
<generator>Hugo -- gohugo.io</generator>
|
||||
<language>en-us</language>
|
||||
<copyright>Patrick Canal</copyright><atom:link href="http://localhost:1313/tags/swag/index.xml" rel="self" type="application/rss+xml" /><icon>http://localhost:1313/img/icon.svg</icon>
|
||||
|
||||
</channel>
|
||||
</rss>
|
||||
@@ -1,182 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html class="" lang="en-us"><head><script src="/livereload.js?mindelay=10&v=2&port=1313&path=livereload" data-no-instant defer></script>
|
||||
|
||||
<meta name="robots" content="noai, noimageai">
|
||||
<meta name="viewport" content="width=device-width" />
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=7" />
|
||||
|
||||
|
||||
|
||||
<link href="http://localhost:1313/tags/tips/index.xml" rel="alternate" type="application/rss+xml" title="Patrick Canal" />
|
||||
<link href="http://localhost:1313/tags/tips/index.xml" rel="feed" type="application/rss+xml" title="Patrick Canal" />
|
||||
|
||||
<link
|
||||
rel="icon"
|
||||
href='/favicon.png'
|
||||
/>
|
||||
<link
|
||||
rel="shortcut icon"
|
||||
href='/favicon.ico'
|
||||
type="image/x-icon"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-icon"
|
||||
href='/apple-touch-icon.png'
|
||||
/>
|
||||
|
||||
<title>
|
||||
|
||||
Tips –
|
||||
|
||||
Patrick Canal
|
||||
</title>
|
||||
|
||||
|
||||
<link href="/symbols-nerd-font/symbols-nerd-font.css" rel="stylesheet" />
|
||||
<link href="/jetbrains-mono/jetbrains-mono.css" rel="stylesheet" />
|
||||
|
||||
|
||||
|
||||
<link type="text/css" rel="stylesheet" href=http://localhost:1313/css/styles.abbd6311bb4b6ca58f8e7398140529245ae0f6428b759fcd830742eee2619eabb900ba9914a9affb82aa9a16a9b9ea727bb315315a976a0db0e7513a5f12c504.css integrity="sha512-q71jEbtLbKWPjnOYFAUpJFrg9kKLdZ/NgwdC7uJhnqu5ALqZFKmv+4Kqmhapuepye7MVMVqXag2w51E6XxLFBA==" />
|
||||
<meta name="author" content="" />
|
||||
|
||||
|
||||
|
||||
<meta property="og:site_name"
|
||||
content='Patrick Canal' />
|
||||
|
||||
<meta property="og:title"
|
||||
content='Patrick Canal' />
|
||||
|
||||
<meta property="og:type" content="blog" />
|
||||
<meta property="og:image"
|
||||
content='http://localhost:1313/img/icon.svg' />
|
||||
|
||||
<meta name="twitter:card" content="summary_large_image" />
|
||||
<meta property="twitter:domain"
|
||||
content='localhost:1313'
|
||||
/>
|
||||
<meta property="twitter:url" content="http://localhost:1313/tags/tips/" />
|
||||
|
||||
|
||||
<meta name="twitter:title"
|
||||
content='Patrick Canal' />
|
||||
|
||||
<meta name="twitter:image"
|
||||
content='http://localhost:1313/img/icon.svg' />
|
||||
|
||||
<link rel="manifest" href="/manifest/index.json" />
|
||||
</head>
|
||||
|
||||
|
||||
<body>
|
||||
<div id="baseContainer"><header class="">
|
||||
<div class="titleAndSearchContainer">
|
||||
<div id="titleContainer">
|
||||
|
||||
<a class="unstyledLink" href="/">
|
||||
<img src='/logo.svg' alt='Logo'/>
|
||||
</a>
|
||||
|
||||
<div class="rightOfLogo">
|
||||
<div class="titleAndHamburger">
|
||||
<h1>
|
||||
<a class="unstyledLink" href="/">Patrick Canal</a>
|
||||
|
||||
</h1>
|
||||
|
||||
</div>
|
||||
<div id="wide_nav"><nav>
|
||||
|
||||
<ul id="main-nav">
|
||||
<li><a href="/">Home</a></li>
|
||||
|
||||
<li><a href="/posts/">Posts</a></li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li><a href="/tags/">Tags</a></li>
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="search">
|
||||
<input id="searchbar" type="text" placeholder='Search' />
|
||||
<span class="nerdlink" onclick="newSearch();"></span>
|
||||
</div>
|
||||
<script>
|
||||
function newSearch() {
|
||||
let term = searchbar.value.trim();
|
||||
if (!term) return;
|
||||
location.href = `/search/?q=${term}`;
|
||||
}
|
||||
searchbar.onkeyup = (ev) => {if (ev.keyCode == 13) newSearch()};
|
||||
</script>
|
||||
|
||||
</div>
|
||||
<div id="links">
|
||||
<a
|
||||
|
||||
rel="noreferrer"
|
||||
|
||||
target="_blank"
|
||||
class="nerdlink"
|
||||
href="/index.xml">
|
||||
|
||||
|
||||

|
||||
|
||||
<span>
|
||||
RSS
|
||||
</span>
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</header>
|
||||
<div id="contentContainer">
|
||||
<div id="content">
|
||||
<main>
|
||||
<h2>
|
||||
|
||||
|
||||
|
||||
|
||||
Tag: #Tips
|
||||
|
||||
</h2>
|
||||
<ul class="list">
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
</main><footer>
|
||||
<hr />
|
||||
|
||||
<p><small>
|
||||
2025 © Patrick Canal
|
||||
</small></p>
|
||||
<p><small>
|
||||
<a href='https://gitlab.com/gabmus/hugo-ficurinia'>Ficurinia theme</a> for <a href='https://gohugo.io'>Hugo</a> by <a href='https://gabmus.org'>Gabriele Musco</a>. Licensed under <a href='https://www.gnu.org/licenses/agpl-3.0.html'>GNU AGPLv3</a>.
|
||||
</small></p>
|
||||
</footer>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,11 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><?xml-stylesheet href="/feed_style.xsl" type="text/xsl"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="https://www.rssboard.org/media-rss">
|
||||
<channel>
|
||||
<title>Tips on Patrick Canal</title>
|
||||
<link>http://localhost:1313/tags/tips/</link>
|
||||
<description>Recent content in Tips on Patrick Canal</description>
|
||||
<generator>Hugo -- gohugo.io</generator>
|
||||
<language>en-us</language>
|
||||
<copyright>Patrick Canal</copyright><atom:link href="http://localhost:1313/tags/tips/index.xml" rel="self" type="application/rss+xml" /><icon>http://localhost:1313/img/icon.svg</icon>
|
||||
|
||||
</channel>
|
||||
</rss>
|
||||
@@ -1,214 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html class="" lang="en-us"><head><script src="/livereload.js?mindelay=10&v=2&port=1313&path=livereload" data-no-instant defer></script>
|
||||
|
||||
<meta name="robots" content="noai, noimageai">
|
||||
<meta name="viewport" content="width=device-width" />
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=7" />
|
||||
|
||||
|
||||
|
||||
<link href="http://localhost:1313/tags/website/index.xml" rel="alternate" type="application/rss+xml" title="Patrick Canal" />
|
||||
<link href="http://localhost:1313/tags/website/index.xml" rel="feed" type="application/rss+xml" title="Patrick Canal" />
|
||||
|
||||
<link
|
||||
rel="icon"
|
||||
href='/favicon.png'
|
||||
/>
|
||||
<link
|
||||
rel="shortcut icon"
|
||||
href='/favicon.ico'
|
||||
type="image/x-icon"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-icon"
|
||||
href='/apple-touch-icon.png'
|
||||
/>
|
||||
|
||||
<link
|
||||
rel="icon"
|
||||
href='logo.svg'
|
||||
type="image/svg+xml"
|
||||
/>
|
||||
|
||||
<title>
|
||||
|
||||
Website –
|
||||
|
||||
Patrick Canal
|
||||
</title>
|
||||
|
||||
|
||||
<link href="/symbols-nerd-font/symbols-nerd-font.css" rel="stylesheet" />
|
||||
<link href="/jetbrains-mono/jetbrains-mono.css" rel="stylesheet" />
|
||||
|
||||
|
||||
|
||||
<link type="text/css" rel="stylesheet" href=http://localhost:1313/css/styles.abbd6311bb4b6ca58f8e7398140529245ae0f6428b759fcd830742eee2619eabb900ba9914a9affb82aa9a16a9b9ea727bb315315a976a0db0e7513a5f12c504.css integrity="sha512-q71jEbtLbKWPjnOYFAUpJFrg9kKLdZ/NgwdC7uJhnqu5ALqZFKmv+4Kqmhapuepye7MVMVqXag2w51E6XxLFBA==" />
|
||||
<meta name="author" content="Patrick Canal" />
|
||||
|
||||
|
||||
|
||||
<meta property="og:site_name"
|
||||
content='Patrick Canal' />
|
||||
|
||||
<meta property="og:title"
|
||||
content='Patrick Canal' />
|
||||
|
||||
<meta property="og:type" content="blog" />
|
||||
<meta property="og:image"
|
||||
content='http://localhost:1313/img/icon.svg' />
|
||||
|
||||
<meta name="twitter:card" content="summary_large_image" />
|
||||
<meta property="twitter:domain"
|
||||
content='localhost:1313'
|
||||
/>
|
||||
<meta property="twitter:url" content="http://localhost:1313/tags/website/" />
|
||||
|
||||
|
||||
<meta name="twitter:title"
|
||||
content='Patrick Canal' />
|
||||
|
||||
<meta name="twitter:image"
|
||||
content='http://localhost:1313/img/icon.svg' />
|
||||
|
||||
<link rel="manifest" href="/manifest/index.json" />
|
||||
</head>
|
||||
|
||||
|
||||
<body>
|
||||
<div id="baseContainer"><header class="">
|
||||
<div class="titleAndSearchContainer">
|
||||
<div id="titleContainer">
|
||||
|
||||
<a class="unstyledLink" href="/">
|
||||
<img src='logo.svg' alt='Logo'/>
|
||||
</a>
|
||||
|
||||
<div class="rightOfLogo">
|
||||
<div class="titleAndHamburger">
|
||||
<h1>
|
||||
<a class="unstyledLink" href="/">Patrick Canal</a>
|
||||
|
||||
</h1>
|
||||
|
||||
</div>
|
||||
<div id="wide_nav"><nav>
|
||||
|
||||
<ul id="main-nav">
|
||||
<li><a href="/">Home</a></li>
|
||||
|
||||
<li><a href="/posts/">Posts</a></li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li><a href="/tags/">Tags</a></li>
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="search">
|
||||
<input id="searchbar" type="text" placeholder='Search' />
|
||||
<span class="nerdlink" onclick="newSearch();"></span>
|
||||
</div>
|
||||
<script>
|
||||
function newSearch() {
|
||||
let term = searchbar.value.trim();
|
||||
if (!term) return;
|
||||
location.href = `/search/?q=${term}`;
|
||||
}
|
||||
searchbar.onkeyup = (ev) => {if (ev.keyCode == 13) newSearch()};
|
||||
</script>
|
||||
|
||||
</div>
|
||||
<div id="links">
|
||||
<a
|
||||
|
||||
rel="noreferrer"
|
||||
|
||||
target="_blank"
|
||||
class="nerdlink"
|
||||
href="/index.xml">
|
||||
|
||||
|
||||

|
||||
|
||||
<span>
|
||||
RSS
|
||||
</span>
|
||||
</a>
|
||||
|
||||
|
||||
<a
|
||||
|
||||
rel="noreferrer"
|
||||
|
||||
target="_blank"
|
||||
class="nerdlink"
|
||||
href="https://github.com/Superredstone">
|
||||
|
||||
|
||||

|
||||
|
||||
<span>
|
||||
Github
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</header>
|
||||
<div id="contentContainer">
|
||||
<div id="content">
|
||||
<main>
|
||||
<h2>
|
||||
|
||||
|
||||
|
||||
|
||||
Tag: #Website
|
||||
|
||||
</h2>
|
||||
<ul class="list">
|
||||
|
||||
|
||||
<li>
|
||||
<div>
|
||||
<span class="date">
|
||||
2025-04-07
|
||||
|
||||
</span>
|
||||
<span>
|
||||
<a href="http://localhost:1313/posts/building-my-website-in-hugo/">Building my website in Hugo</a> </span>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
</main><footer>
|
||||
<hr />
|
||||
|
||||
<p><small>
|
||||
2025 © Patrick Canal
|
||||
</small></p>
|
||||
<p><small>
|
||||
<a href='https://gitlab.com/gabmus/hugo-ficurinia'>Ficurinia theme</a> for <a href='https://gohugo.io'>Hugo</a> by <a href='https://gabmus.org'>Gabriele Musco</a>. Licensed under <a href='https://www.gnu.org/licenses/agpl-3.0.html'>GNU AGPLv3</a>.
|
||||
</small></p>
|
||||
</footer>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,40 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><?xml-stylesheet href="/feed_style.xsl" type="text/xsl"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="https://www.rssboard.org/media-rss">
|
||||
<channel>
|
||||
<title>Website on Patrick Canal</title>
|
||||
<link>http://localhost:1313/tags/website/</link>
|
||||
<description>Recent content in Website on Patrick Canal</description>
|
||||
<generator>Hugo -- gohugo.io</generator>
|
||||
<language>en-us</language>
|
||||
<copyright>Patrick Canal</copyright>
|
||||
<lastBuildDate>Mon, 07 Apr 2025 19:16:28 +0200</lastBuildDate><atom:link href="http://localhost:1313/tags/website/index.xml" rel="self" type="application/rss+xml" /><icon>http://localhost:1313/logo.svg</icon>
|
||||
|
||||
|
||||
<item>
|
||||
<title>Building my website in Hugo</title>
|
||||
<link>http://localhost:1313/posts/building-my-website-in-hugo/</link>
|
||||
<pubDate>Mon, 07 Apr 2025 19:16:28 +0200</pubDate>
|
||||
|
||||
<guid>http://localhost:1313/posts/building-my-website-in-hugo/</guid>
|
||||
<description><![CDATA[<p>I always wanted a website/blog to write articles about what I like, so today I decided to make one!</p>
|
||||
<p>After buying a domain and setting up the server I had just to decide what to write the website with.</p>
|
||||
<h2 id="hugo">Hugo</h2>
|
||||
<p>As a tech stack I wanted something simple and easy to mantain,
|
||||
<a href="https://gohugo.io/">Hugo</a> makes everything so easy and painless that it is too good to be true.</p>
|
||||
<p>Just install it and then write in the terminal</p>
|
||||
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>hugo new site <website-name> <span style="color:#f92672">&&</span> cd <website-name>
|
||||
</span></span></code></pre></div><p>to generate the template, install a good-looking theme from the <a href="https://themes.gohugo.io/themes/">themes page</a> on the Hugo website, in my case Ficurinia</p>
|
||||
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>git clone https://github.com/patrickacciaioli/ficurinia themes/ficurinia
|
||||
</span></span></code></pre></div><p>add the following line inside of <code>hugo.toml</code> with the greatest editor ever lived (Vim)</p>
|
||||
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-toml" data-lang="toml"><span style="display:flex;"><span><span style="color:#a6e22e">theme</span> = <span style="color:#e6db74">"ficurinia"</span>
|
||||
</span></span></code></pre></div><p>Start the server with</p>
|
||||
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>hugo server
|
||||
</span></span></code></pre></div><p>and you are ready to go. A complete blog in seconds.</p>
|
||||
<h2 id="conclusion">Conclusion</h2>
|
||||
<p>Building a personal website with Hugo was faster and easier than I could have ever done in plain HTML. With minimal setup and maximum flexibility, Hugo proved to be the perfect choice for my blog. Now, I can focus on writing posts worrying about the infamous <a href="https://en.wikipedia.org/wiki/HTML">Hypertext Markup Language</a>.</p>
|
||||
]]></description>
|
||||
|
||||
</item>
|
||||
|
||||
|
||||
</channel>
|
||||
</rss>
|
||||