summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--.gitmodules3
-rw-r--r--blog.org7
-rw-r--r--content/_index.md5
-rw-r--r--content/about.md3
-rw-r--r--content/blog/rust-is-not-about-memory-safety.md5
-rw-r--r--hugo.toml14
-rw-r--r--layouts/partials/custom_head.html2
-rw-r--r--layouts/partials/footer.html2
-rw-r--r--layouts/partials/header.html6
-rw-r--r--layouts/partials/nav.html1
-rw-r--r--public/404.html27
-rw-r--r--public/about/index.html45
-rw-r--r--public/blog/index.html49
-rw-r--r--public/blog/index.xml16
-rw-r--r--public/blog/rust-is-not-about-memory-safety/index.html (renamed from public/rust-is-not-about-memory-safety/index.html)53
-rw-r--r--public/index.html45
-rw-r--r--public/index.xml30
-rw-r--r--public/robots.txt2
-rw-r--r--public/sitemap.xml24
-rw-r--r--public/tags/correctness/index.html (renamed from public/blog/rust/index.html)49
-rw-r--r--public/tags/correctness/index.xml (renamed from public/blog/rust/index.xml)16
-rw-r--r--public/tags/rust/index.html (renamed from public/blog/correctness/index.html)49
-rw-r--r--public/tags/rust/index.xml (renamed from public/blog/correctness/index.xml)16
m---------themes/hugo-bearblog0
-rw-r--r--themes/hugo-bearblog/.gitignore1
-rw-r--r--themes/hugo-bearblog/.jsbeautifyrc27
-rw-r--r--themes/hugo-bearblog/LICENSE20
-rw-r--r--themes/hugo-bearblog/README.md86
-rw-r--r--themes/hugo-bearblog/archetypes/blog.md13
-rw-r--r--themes/hugo-bearblog/archetypes/default.md22
-rw-r--r--themes/hugo-bearblog/exampleSite/content/_index.md28
-rw-r--r--themes/hugo-bearblog/exampleSite/content/bear.md18
-rw-r--r--themes/hugo-bearblog/exampleSite/content/blog/_index.md3
-rw-r--r--themes/hugo-bearblog/exampleSite/content/blog/markdown-syntax.md144
-rw-r--r--themes/hugo-bearblog/exampleSite/content/hugo.md26
-rw-r--r--themes/hugo-bearblog/exampleSite/hugo.toml52
-rw-r--r--themes/hugo-bearblog/exampleSite/static/favicon.icobin0 -> 15406 bytes
-rw-r--r--themes/hugo-bearblog/exampleSite/static/images/favicon.pngbin0 -> 1312 bytes
-rw-r--r--themes/hugo-bearblog/exampleSite/static/images/share.pngbin0 -> 25877 bytes
-rw-r--r--themes/hugo-bearblog/layouts/404.html6
-rw-r--r--themes/hugo-bearblog/layouts/_default/baseof.html43
-rw-r--r--themes/hugo-bearblog/layouts/_default/list.html38
-rw-r--r--themes/hugo-bearblog/layouts/_default/single.html20
-rw-r--r--themes/hugo-bearblog/layouts/index.html3
-rw-r--r--themes/hugo-bearblog/layouts/partials/custom_body.html3
-rw-r--r--themes/hugo-bearblog/layouts/partials/custom_head.html3
-rw-r--r--themes/hugo-bearblog/layouts/partials/favicon.html2
-rw-r--r--themes/hugo-bearblog/layouts/partials/footer.html1
-rw-r--r--themes/hugo-bearblog/layouts/partials/header.html4
-rw-r--r--themes/hugo-bearblog/layouts/partials/nav.html7
-rw-r--r--themes/hugo-bearblog/layouts/partials/seo_tags.html13
-rw-r--r--themes/hugo-bearblog/layouts/partials/style.html173
-rw-r--r--themes/hugo-bearblog/layouts/robots.txt2
-rw-r--r--themes/hugo-bearblog/package-lock.json430
-rw-r--r--themes/hugo-bearblog/package.json28
-rw-r--r--themes/hugo-bearblog/theme.toml25
57 files changed, 1472 insertions, 239 deletions
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..ff51edf
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+.direnv \ No newline at end of file
diff --git a/.gitmodules b/.gitmodules
index c53b474..e69de29 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,3 +0,0 @@
-[submodule "themes/hugo-bearblog"]
- path = themes/hugo-bearblog
- url = https://github.com/janraasch/hugo-bearblog.git
diff --git a/blog.org b/blog.org
index 2916438..5f0cfba 100644
--- a/blog.org
+++ b/blog.org
@@ -1,9 +1,10 @@
#+title: lowest case
+#+description: a lower case only blog, purely for aesthetics
#+author: santi
#+hugo_base_dir: .
#+hugo_auto_set_lastmod: t
-* lowest case
+* home
:PROPERTIES:
:EXPORT_HUGO_SECTION: /
:EXPORT_FILE_NAME: _index
@@ -35,7 +36,7 @@ this blog was built using emacs' excelent org-mode and [[https://github.com/gohu
:PROPERTIES:
:EXPORT_HUGO_SECTION: /blog
:END:
-** rust is not about memory safety :rust:correctness:
+** rust is not about memory safety :rust:correctness:
:PROPERTIES:
:EXPORT_FILE_NAME: rust-is-not-about-memory-safety
:END:
@@ -67,7 +68,7 @@ i say /well behaved/ because i can't say /invalid/. it is in fact defined by the
framing it this way really exposes the fragility of C, because undefined behavior has to always be taken into account. and, by the nature of it, there is no way to represent it other than as a black box, such that, if your code ever encounters it, then literally all you can say is that *the whole result of the program* is undefined - that is, it can be anything. you cannot show properties, nor say what will happen once your program enters this state, as the C specification literally does not define it. it may come to a halt, write garbage to the screen or completely delete half of the files of your program, and there's no way to predict what will come out of it, by definition. in the lucky case, it will segfault while executing and you'll be extremely pissed off, but that is not at all guaranteed. this is akin to having a float expression with some deep term being ~NaN~, in that it eventually must evaluate to ~NaN~ and you can't draw any conclusions about the result of the expression (other that it isn't a number).
-language designers are by no means dumb, and yes, they know much, much more than me about these problems. undefined behavior exists exactly because there must be parts of your code that your compiler *must* assume that aren't possible, so that it can correctly compile. for example, let's say that you inadvertently try to dereference a pointer that you have no knowledge about. the C compiler simply does not have enough information to know if it is ~NULL~, if it is still pointing to valid memory, or if the memory has been initialized, so what it's approach is simply emit code *as if* it was a valid, initialized, non-null pointer.
+language designers and compiler developers are by no means dumb, and yes, they know much, much more than me about these problems. undefined behavior exists exactly because there must be parts of your code that your compiler *must* assume that aren't possible, so that it can correctly compile. for example, let's say that you inadvertently try to dereference a pointer that you have no knowledge about. the C compiler simply does not have enough information to know if it is ~NULL~, if it is still pointing to valid memory, or if the memory has been initialized, so what it's approach is simply emit code *as if* it was a valid, initialized, non-null pointer.
it is essential to realize that this is an *assumption*, and in almost most cases, it simply does not care whether or not it actually was actually still valid, so writing to it may have a myriad of effects of different effects (none of which are the compiler's concerns). sometimes, your system might correctly intercept a read/write from invalid/null memory and raise you a signal, but that is not guaranteed.
diff --git a/content/_index.md b/content/_index.md
index db8eace..a4f9a56 100644
--- a/content/_index.md
+++ b/content/_index.md
@@ -1,7 +1,8 @@
+++
-title = "lowest case"
+title = "home"
author = ["santi"]
-lastmod = 2024-06-01T10:31:58-03:00
+description = "a lower case only blog, purely for aesthetics"
+lastmod = 2024-06-01T17:29:17-03:00
draft = false
+++
diff --git a/content/about.md b/content/about.md
index 6f59209..5ca6f1b 100644
--- a/content/about.md
+++ b/content/about.md
@@ -1,7 +1,8 @@
+++
title = "about"
author = ["santi"]
-lastmod = 2024-06-01T12:12:47-03:00
+description = "a lower case only blog, purely for aesthetics"
+lastmod = 2024-06-01T17:29:17-03:00
draft = false
menu = "main"
+++
diff --git a/content/blog/rust-is-not-about-memory-safety.md b/content/blog/rust-is-not-about-memory-safety.md
index b060f3c..e794a39 100644
--- a/content/blog/rust-is-not-about-memory-safety.md
+++ b/content/blog/rust-is-not-about-memory-safety.md
@@ -1,7 +1,8 @@
+++
title = "rust is not about memory safety"
author = ["santi"]
-lastmod = 2024-06-01T15:21:30-03:00
+description = "a lower case only blog, purely for aesthetics"
+lastmod = 2024-06-01T17:29:17-03:00
tags = ["rust", "correctness"]
draft = false
+++
@@ -36,7 +37,7 @@ i say _well behaved_ because i can't say _invalid_. it is in fact defined by the
framing it this way really exposes the fragility of C, because undefined behavior has to always be taken into account. and, by the nature of it, there is no way to represent it other than as a black box, such that, if your code ever encounters it, then literally all you can say is that **the whole result of the program** is undefined - that is, it can be anything. you cannot show properties, nor say what will happen once your program enters this state, as the C specification literally does not define it. it may come to a halt, write garbage to the screen or completely delete half of the files of your program, and there's no way to predict what will come out of it, by definition. in the lucky case, it will segfault while executing and you'll be extremely pissed off, but that is not at all guaranteed. this is akin to having a float expression with some deep term being `NaN`, in that it eventually must evaluate to `NaN` and you can't draw any conclusions about the result of the expression (other that it isn't a number).
-language designers are by no means dumb, and yes, they know much, much more than me about these problems. undefined behavior exists exactly because there must be parts of your code that your compiler **must** assume that aren't possible, so that it can correctly compile. for example, let's say that you inadvertently try to dereference a pointer that you have no knowledge about. the C compiler simply does not have enough information to know if it is `NULL`, if it is still pointing to valid memory, or if the memory has been initialized, so what it's approach is simply emit code **as if** it was a valid, initialized, non-null pointer.
+language designers and compiler developers are by no means dumb, and yes, they know much, much more than me about these problems. undefined behavior exists exactly because there must be parts of your code that your compiler **must** assume that aren't possible, so that it can correctly compile. for example, let's say that you inadvertently try to dereference a pointer that you have no knowledge about. the C compiler simply does not have enough information to know if it is `NULL`, if it is still pointing to valid memory, or if the memory has been initialized, so what it's approach is simply emit code **as if** it was a valid, initialized, non-null pointer.
it is essential to realize that this is an **assumption**, and in almost most cases, it simply does not care whether or not it actually was actually still valid, so writing to it may have a myriad of effects of different effects (none of which are the compiler's concerns). sometimes, your system might correctly intercept a read/write from invalid/null memory and raise you a signal, but that is not guaranteed.
diff --git a/hugo.toml b/hugo.toml
index d56797d..60878fa 100644
--- a/hugo.toml
+++ b/hugo.toml
@@ -6,24 +6,26 @@ baseURL = "https://o-santi.github.com"
theme = 'hugo-bearblog'
# Basic metadata configuration for your blog.
-title = "lowestcase"
+title = "lowest case"
author = "leonardo santiago"
languageCode = "en-US"
# Generate a nice robots.txt for SEO
enableRobotsTXT = true
staticDir = [ "static" ]
+titleCaseStyle = 'none'
+pluralizeListTitles = false
# Generate "Bearblog"-like URLs !only!, see https://bearblog.dev/.
disableKinds = ["taxonomy"]
ignoreErrors = ["error-disable-taxonomy"]
[permalinks]
- blog = "/:slug/"
- tags = "/blog/:slug"
+ blog = "/blog/:slug"
+ tags = "/tags/:slug"
[params]
# The "description" of your website. This is used in the meta data of your generated html.
- description = "a lowercase only blog"
+ description = "a lowercase only blog, purely for aesthetics"
# The path to your "favicon". This should be a square (at least 32px x 32px) png-file.
# Hint: It's good practise to also put a "favicon.ico"-file into your "static"-folder.
@@ -38,7 +40,7 @@ ignoreErrors = ["error-disable-taxonomy"]
# Another "title" :-). This one is used as the site_name on the Hugo's internal
# opengraph structured data template.
# See https://ogp.me/ and https://gohugo.io/templates/internal#open-graph.
- title = "lowestcase"
+ title = "lowest case"
# This theme will, by default, inject a made-with-line at the bottom of the page.
# You can turn it off, but we would really appreciate if you don’t :-).
@@ -49,4 +51,4 @@ ignoreErrors = ["error-disable-taxonomy"]
# file. See [Hugo's Format function docs](https://gohugo.io/functions/format/)
# for details. An example TOML config that uses [ISO
# 8601](https://en.wikipedia.org/wiki/ISO_8601) format:
- dateFormat = "02-01-2006"
+ dateFormat = "02 January, 2006"
diff --git a/layouts/partials/custom_head.html b/layouts/partials/custom_head.html
index 71cbf20..805fb4b 100644
--- a/layouts/partials/custom_head.html
+++ b/layouts/partials/custom_head.html
@@ -5,7 +5,7 @@
}
a:hover {
color:#d46b08;
- text-decoration: dotted underline;
+ text-decoration: wavy underline;
}
ul.blog-posts li a:visited {
color:#ffc069;
diff --git a/layouts/partials/footer.html b/layouts/partials/footer.html
index a102ffa..0ff926e 100644
--- a/layouts/partials/footer.html
+++ b/layouts/partials/footer.html
@@ -1 +1 @@
-leonardo santiago | <a href="https://github.com/o-santi" title="github"><svg width="16px" height="16px" viewBox="0 0 24 24" fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M9 19c-5 1.5-5-2.5-7-3m14 6v-3.87a3.37 3.37.0 00-.94-2.61c3.14-.35 6.44-1.54 6.44-7A5.44 5.44.0 0020 4.77 5.07 5.07.0 0019.91 1S18.73.65 16 2.48a13.38 13.38.0 00-7 0C6.27.65 5.09 1 5.09 1A5.07 5.07.0 005 4.77 5.44 5.44.0 003.5 8.55c0 5.42 3.3 6.61 6.44 7A3.37 3.37.0 009 18.13V22"></path></svg></a> <a href="mailto:[email protected]" title="email"> <svg width="16px" height="16px" viewBox="0 0 1920 1920" fill="#fa8c16"><path d="M0 1694.235h1920V226H0v1468.235ZM112.941 376.664V338.94H1807.06v37.723L960 1111.233l-847.059-734.57ZM1807.06 526.198v950.513l-351.134-438.89-88.32 70.475 378.353 472.998H174.042l378.353-472.998-88.32-70.475-351.134 438.89V526.198L960 1260.768l847.059-734.57Z" fill-rule="evenodd"></path></svg></a>
+<p> leonardo santiago | <a href="https://github.com/o-santi" title="github"><svg width="16px" height="16px" viewBox="0 0 24 24" fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M9 19c-5 1.5-5-2.5-7-3m14 6v-3.87a3.37 3.37.0 00-.94-2.61c3.14-.35 6.44-1.54 6.44-7A5.44 5.44.0 0020 4.77 5.07 5.07.0 0019.91 1S18.73.65 16 2.48a13.38 13.38.0 00-7 0C6.27.65 5.09 1 5.09 1A5.07 5.07.0 005 4.77 5.44 5.44.0 003.5 8.55c0 5.42 3.3 6.61 6.44 7A3.37 3.37.0 009 18.13V22"></path></svg></a> <a href="mailto:[email protected]" title="email"> <svg width="16px" height="16px" viewBox="0 0 1920 1920" fill="currentcolor"><path d="M0 1694.235h1920V226H0v1468.235ZM112.941 376.664V338.94H1807.06v37.723L960 1111.233l-847.059-734.57ZM1807.06 526.198v950.513l-351.134-438.89-88.32 70.475 378.353 472.998H174.042l378.353-472.998-88.32-70.475-351.134 438.89V526.198L960 1260.768l847.059-734.57Z" fill-rule="evenodd"></path></svg></a> <a href="https://linkedin.com/leonardo-ribeiro-santiago" title="linkedin"><svg xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" width="16px" height="16px" viewBox="0 0 30 30" fill="currentcolor"><path d="M24,4H6C4.895,4,4,4.895,4,6v18c0,1.105,0.895,2,2,2h18c1.105,0,2-0.895,2-2V6C26,4.895,25.105,4,24,4z M10.954,22h-2.95 v-9.492h2.95V22z M9.449,11.151c-0.951,0-1.72-0.771-1.72-1.72c0-0.949,0.77-1.719,1.72-1.719c0.948,0,1.719,0.771,1.719,1.719 C11.168,10.38,10.397,11.151,9.449,11.151z M22.004,22h-2.948v-4.616c0-1.101-0.02-2.517-1.533-2.517 c-1.535,0-1.771,1.199-1.771,2.437V22h-2.948v-9.492h2.83v1.297h0.04c0.394-0.746,1.356-1.533,2.791-1.533 c2.987,0,3.539,1.966,3.539,4.522V22z"></path></svg></a> </p>
diff --git a/layouts/partials/header.html b/layouts/partials/header.html
new file mode 100644
index 0000000..a7928a6
--- /dev/null
+++ b/layouts/partials/header.html
@@ -0,0 +1,6 @@
+<nav>
+ <a href="{{ "" | relURL }}" class="title">
+ <h2 style="display:inline">{{ .Site.Title }}</h2>
+ </a>
+ {{- partial "nav.html" . -}}
+</nav>
diff --git a/layouts/partials/nav.html b/layouts/partials/nav.html
index 909fc98..48f96d0 100644
--- a/layouts/partials/nav.html
+++ b/layouts/partials/nav.html
@@ -1,4 +1,3 @@
-<a href="{{ "" | relURL }}">home</a>
{{ range .Site.Menus.main }}
<a href="{{ .URL }}">{{ .Name }}</a>
{{ end }}
diff --git a/public/404.html b/public/404.html
index 12d4704..8568043 100644
--- a/public/404.html
+++ b/public/404.html
@@ -1,33 +1,33 @@
<!DOCTYPE html>
<html lang="en-US">
-<head><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=1313&amp;path=livereload" data-no-instant defer></script>
+<head>
<meta http-equiv="X-Clacks-Overhead" content="GNU Terry Pratchett" />
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>404</title>
<meta name="title" content="404 Page not found" />
-<meta name="description" content="a lowercase only blog" />
+<meta name="description" content="a lowercase only blog, purely for aesthetics" />
<meta name="keywords" content="correctness,rust," />
-<meta property="og:url" content="http://localhost:1313/404.html">
- <meta property="og:site_name" content="lowestcase">
+<meta property="og:url" content="https://o-santi.github.com/404.html">
+ <meta property="og:site_name" content="lowest case">
<meta property="og:title" content="404 Page not found">
- <meta property="og:description" content="a lowercase only blog">
+ <meta property="og:description" content="a lowercase only blog, purely for aesthetics">
<meta property="og:locale" content="en-US">
<meta property="og:type" content="website">
<meta name="twitter:card" content="summary"><meta name="twitter:title" content="404 Page not found">
-<meta name="twitter:description" content="a lowercase only blog">
+<meta name="twitter:description" content="a lowercase only blog, purely for aesthetics">
<meta itemprop="name" content="404 Page not found">
- <meta itemprop="description" content="a lowercase only blog">
+ <meta itemprop="description" content="a lowercase only blog, purely for aesthetics">
<meta name="referrer" content="no-referrer-when-downgrade" />
<style>
@@ -210,7 +210,7 @@
}
a:hover {
color:#d46b08;
- text-decoration: dotted underline;
+ text-decoration: wavy underline;
}
ul.blog-posts li a:visited {
color:#ffc069;
@@ -223,11 +223,10 @@
</head>
<body>
- <header><a href="/" class="title">
- <h2>lowestcase</h2>
-</a>
-<nav><a href="/">home</a>
-
+ <header><nav>
+ <a href="/" class="title">
+ <h2 style="display:inline">lowest case</h2>
+ </a>
<a href="/about/">about</a>
@@ -240,7 +239,7 @@
<h2>ʕノ•ᴥ•ʔノ ︵ ┻━┻</h2>
</main>
- <footer>leonardo santiago | <a href="https://github.com/o-santi" title="github"><svg width="16px" height="16px" viewBox="0 0 24 24" fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M9 19c-5 1.5-5-2.5-7-3m14 6v-3.87a3.37 3.37.0 00-.94-2.61c3.14-.35 6.44-1.54 6.44-7A5.44 5.44.0 0020 4.77 5.07 5.07.0 0019.91 1S18.73.65 16 2.48a13.38 13.38.0 00-7 0C6.27.65 5.09 1 5.09 1A5.07 5.07.0 005 4.77 5.44 5.44.0 003.5 8.55c0 5.42 3.3 6.61 6.44 7A3.37 3.37.0 009 18.13V22"></path></svg></a> <a href="mailto:[email protected]" title="email"> <svg width="16px" height="16px" viewBox="0 0 1920 1920" fill="#fa8c16"><path d="M0 1694.235h1920V226H0v1468.235ZM112.941 376.664V338.94H1807.06v37.723L960 1111.233l-847.059-734.57ZM1807.06 526.198v950.513l-351.134-438.89-88.32 70.475 378.353 472.998H174.042l378.353-472.998-88.32-70.475-351.134 438.89V526.198L960 1260.768l847.059-734.57Z" fill-rule="evenodd"></path></svg></a>
+ <footer><p> leonardo santiago | <a href="https://github.com/o-santi" title="github"><svg width="16px" height="16px" viewBox="0 0 24 24" fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M9 19c-5 1.5-5-2.5-7-3m14 6v-3.87a3.37 3.37.0 00-.94-2.61c3.14-.35 6.44-1.54 6.44-7A5.44 5.44.0 0020 4.77 5.07 5.07.0 0019.91 1S18.73.65 16 2.48a13.38 13.38.0 00-7 0C6.27.65 5.09 1 5.09 1A5.07 5.07.0 005 4.77 5.44 5.44.0 003.5 8.55c0 5.42 3.3 6.61 6.44 7A3.37 3.37.0 009 18.13V22"></path></svg></a> <a href="mailto:[email protected]" title="email"> <svg width="16px" height="16px" viewBox="0 0 1920 1920" fill="currentcolor"><path d="M0 1694.235h1920V226H0v1468.235ZM112.941 376.664V338.94H1807.06v37.723L960 1111.233l-847.059-734.57ZM1807.06 526.198v950.513l-351.134-438.89-88.32 70.475 378.353 472.998H174.042l378.353-472.998-88.32-70.475-351.134 438.89V526.198L960 1260.768l847.059-734.57Z" fill-rule="evenodd"></path></svg></a> <a href="https://linkedin.com/leonardo-ribeiro-santiago" title="linkedin"><svg xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" width="16px" height="16px" viewBox="0 0 30 30" fill="currentcolor"><path d="M24,4H6C4.895,4,4,4.895,4,6v18c0,1.105,0.895,2,2,2h18c1.105,0,2-0.895,2-2V6C26,4.895,25.105,4,24,4z M10.954,22h-2.95 v-9.492h2.95V22z M9.449,11.151c-0.951,0-1.72-0.771-1.72-1.72c0-0.949,0.77-1.719,1.72-1.719c0.948,0,1.719,0.771,1.719,1.719 C11.168,10.38,10.397,11.151,9.449,11.151z M22.004,22h-2.948v-4.616c0-1.101-0.02-2.517-1.533-2.517 c-1.535,0-1.771,1.199-1.771,2.437V22h-2.948v-9.492h2.83v1.297h0.04c0.394-0.746,1.356-1.533,2.791-1.533 c2.987,0,3.539,1.966,3.539,4.522V22z"></path></svg></a> </p>
</footer>
diff --git a/public/about/index.html b/public/about/index.html
index 494ed57..44fd5dc 100644
--- a/public/about/index.html
+++ b/public/about/index.html
@@ -1,46 +1,38 @@
<!DOCTYPE html>
<html lang="en-US">
-<head><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=1313&amp;path=livereload" data-no-instant defer></script>
+<head>
<meta http-equiv="X-Clacks-Overhead" content="GNU Terry Pratchett" />
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
-<title>about | lowestcase</title>
+<title>about | lowest case</title>
<meta name="title" content="about" />
-<meta name="description" content="i&rsquo;m leonardo santiago, a software engineer based in brazil. my interests are in compiler design, programming tools (emacs), functional programming, and proof languages. i&rsquo;m most confortable in nix and rust, but i know a fair share of other languages.
-currently, i work as a software engineer @ Mixrank, and you can find my curriculum here.
-if you feel like smugly responding to any of my posts (or just want to kindly send me a message), these are my socials:" />
+<meta name="description" content="a lower case only blog, purely for aesthetics" />
<meta name="keywords" content="" />
-<meta property="og:url" content="http://localhost:1313/about/">
- <meta property="og:site_name" content="lowestcase">
+<meta property="og:url" content="https://o-santi.github.com/about/">
+ <meta property="og:site_name" content="lowest case">
<meta property="og:title" content="about">
- <meta property="og:description" content="i&amp;rsquo;m leonardo santiago, a software engineer based in brazil. my interests are in compiler design, programming tools (emacs), functional programming, and proof languages. i&amp;rsquo;m most confortable in nix and rust, but i know a fair share of other languages.
-currently, i work as a software engineer @ Mixrank, and you can find my curriculum here.
-if you feel like smugly responding to any of my posts (or just want to kindly send me a message), these are my socials:">
+ <meta property="og:description" content="a lower case only blog, purely for aesthetics">
<meta property="og:locale" content="en-US">
<meta property="og:type" content="article">
<meta property="article:section" content="">
- <meta property="article:published_time" content="2024-06-01T12:12:47-03:00">
- <meta property="article:modified_time" content="2024-06-01T12:12:47-03:00">
+ <meta property="article:published_time" content="2024-06-01T17:29:17-03:00">
+ <meta property="article:modified_time" content="2024-06-01T17:29:17-03:00">
<meta name="twitter:card" content="summary"><meta name="twitter:title" content="about">
-<meta name="twitter:description" content="i&rsquo;m leonardo santiago, a software engineer based in brazil. my interests are in compiler design, programming tools (emacs), functional programming, and proof languages. i&rsquo;m most confortable in nix and rust, but i know a fair share of other languages.
-currently, i work as a software engineer @ Mixrank, and you can find my curriculum here.
-if you feel like smugly responding to any of my posts (or just want to kindly send me a message), these are my socials:">
+<meta name="twitter:description" content="a lower case only blog, purely for aesthetics">
<meta itemprop="name" content="about">
- <meta itemprop="description" content="i&rsquo;m leonardo santiago, a software engineer based in brazil. my interests are in compiler design, programming tools (emacs), functional programming, and proof languages. i&rsquo;m most confortable in nix and rust, but i know a fair share of other languages.
-currently, i work as a software engineer @ Mixrank, and you can find my curriculum here.
-if you feel like smugly responding to any of my posts (or just want to kindly send me a message), these are my socials:">
- <meta itemprop="datePublished" content="2024-06-01T12:12:47-03:00">
- <meta itemprop="dateModified" content="2024-06-01T12:12:47-03:00">
+ <meta itemprop="description" content="a lower case only blog, purely for aesthetics">
+ <meta itemprop="datePublished" content="2024-06-01T17:29:17-03:00">
+ <meta itemprop="dateModified" content="2024-06-01T17:29:17-03:00">
<meta itemprop="wordCount" content="96">
<meta name="referrer" content="no-referrer-when-downgrade" />
@@ -224,7 +216,7 @@ if you feel like smugly responding to any of my posts (or just want to kindly se
}
a:hover {
color:#d46b08;
- text-decoration: dotted underline;
+ text-decoration: wavy underline;
}
ul.blog-posts li a:visited {
color:#ffc069;
@@ -237,11 +229,10 @@ if you feel like smugly responding to any of my posts (or just want to kindly se
</head>
<body>
- <header><a href="/" class="title">
- <h2>lowestcase</h2>
-</a>
-<nav><a href="/">home</a>
-
+ <header><nav>
+ <a href="/" class="title">
+ <h2 style="display:inline">lowest case</h2>
+ </a>
<a href="/about/">about</a>
@@ -268,7 +259,7 @@ if you feel like smugly responding to any of my posts (or just want to kindly se
</p>
</main>
- <footer>leonardo santiago | <a href="https://github.com/o-santi" title="github"><svg width="16px" height="16px" viewBox="0 0 24 24" fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M9 19c-5 1.5-5-2.5-7-3m14 6v-3.87a3.37 3.37.0 00-.94-2.61c3.14-.35 6.44-1.54 6.44-7A5.44 5.44.0 0020 4.77 5.07 5.07.0 0019.91 1S18.73.65 16 2.48a13.38 13.38.0 00-7 0C6.27.65 5.09 1 5.09 1A5.07 5.07.0 005 4.77 5.44 5.44.0 003.5 8.55c0 5.42 3.3 6.61 6.44 7A3.37 3.37.0 009 18.13V22"></path></svg></a> <a href="mailto:[email protected]" title="email"> <svg width="16px" height="16px" viewBox="0 0 1920 1920" fill="#fa8c16"><path d="M0 1694.235h1920V226H0v1468.235ZM112.941 376.664V338.94H1807.06v37.723L960 1111.233l-847.059-734.57ZM1807.06 526.198v950.513l-351.134-438.89-88.32 70.475 378.353 472.998H174.042l378.353-472.998-88.32-70.475-351.134 438.89V526.198L960 1260.768l847.059-734.57Z" fill-rule="evenodd"></path></svg></a>
+ <footer><p> leonardo santiago | <a href="https://github.com/o-santi" title="github"><svg width="16px" height="16px" viewBox="0 0 24 24" fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M9 19c-5 1.5-5-2.5-7-3m14 6v-3.87a3.37 3.37.0 00-.94-2.61c3.14-.35 6.44-1.54 6.44-7A5.44 5.44.0 0020 4.77 5.07 5.07.0 0019.91 1S18.73.65 16 2.48a13.38 13.38.0 00-7 0C6.27.65 5.09 1 5.09 1A5.07 5.07.0 005 4.77 5.44 5.44.0 003.5 8.55c0 5.42 3.3 6.61 6.44 7A3.37 3.37.0 009 18.13V22"></path></svg></a> <a href="mailto:[email protected]" title="email"> <svg width="16px" height="16px" viewBox="0 0 1920 1920" fill="currentcolor"><path d="M0 1694.235h1920V226H0v1468.235ZM112.941 376.664V338.94H1807.06v37.723L960 1111.233l-847.059-734.57ZM1807.06 526.198v950.513l-351.134-438.89-88.32 70.475 378.353 472.998H174.042l378.353-472.998-88.32-70.475-351.134 438.89V526.198L960 1260.768l847.059-734.57Z" fill-rule="evenodd"></path></svg></a> <a href="https://linkedin.com/leonardo-ribeiro-santiago" title="linkedin"><svg xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" width="16px" height="16px" viewBox="0 0 30 30" fill="currentcolor"><path d="M24,4H6C4.895,4,4,4.895,4,6v18c0,1.105,0.895,2,2,2h18c1.105,0,2-0.895,2-2V6C26,4.895,25.105,4,24,4z M10.954,22h-2.95 v-9.492h2.95V22z M9.449,11.151c-0.951,0-1.72-0.771-1.72-1.72c0-0.949,0.77-1.719,1.72-1.719c0.948,0,1.719,0.771,1.719,1.719 C11.168,10.38,10.397,11.151,9.449,11.151z M22.004,22h-2.948v-4.616c0-1.101-0.02-2.517-1.533-2.517 c-1.535,0-1.771,1.199-1.771,2.437V22h-2.948v-9.492h2.83v1.297h0.04c0.394-0.746,1.356-1.533,2.791-1.533 c2.987,0,3.539,1.966,3.539,4.522V22z"></path></svg></a> </p>
</footer>
diff --git a/public/blog/index.html b/public/blog/index.html
index cfe0206..d136f7b 100644
--- a/public/blog/index.html
+++ b/public/blog/index.html
@@ -1,37 +1,37 @@
<!DOCTYPE html>
<html lang="en-US">
-<head><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=1313&amp;path=livereload" data-no-instant defer></script>
+<head>
<meta http-equiv="X-Clacks-Overhead" content="GNU Terry Pratchett" />
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
-<title>Blogs | lowestcase</title>
-<meta name="title" content="Blogs" />
-<meta name="description" content="a lowercase only blog" />
+<title>blog | lowest case</title>
+<meta name="title" content="blog" />
+<meta name="description" content="a lowercase only blog, purely for aesthetics" />
<meta name="keywords" content="correctness,rust," />
-<meta property="og:url" content="http://localhost:1313/blog/">
- <meta property="og:site_name" content="lowestcase">
- <meta property="og:title" content="Blogs">
- <meta property="og:description" content="a lowercase only blog">
+<meta property="og:url" content="https://o-santi.github.com/blog/">
+ <meta property="og:site_name" content="lowest case">
+ <meta property="og:title" content="blog">
+ <meta property="og:description" content="a lowercase only blog, purely for aesthetics">
<meta property="og:locale" content="en-US">
<meta property="og:type" content="website">
-<meta name="twitter:card" content="summary"><meta name="twitter:title" content="Blogs">
-<meta name="twitter:description" content="a lowercase only blog">
+<meta name="twitter:card" content="summary"><meta name="twitter:title" content="blog">
+<meta name="twitter:description" content="a lowercase only blog, purely for aesthetics">
- <meta itemprop="name" content="Blogs">
- <meta itemprop="description" content="a lowercase only blog">
- <meta itemprop="dateModified" content="2024-06-01T15:21:30-03:00">
+ <meta itemprop="name" content="blog">
+ <meta itemprop="description" content="a lowercase only blog, purely for aesthetics">
+ <meta itemprop="dateModified" content="2024-06-01T17:29:17-03:00">
<meta name="referrer" content="no-referrer-when-downgrade" />
- <link rel="alternate" type="application/rss+xml" href="http://localhost:1313/blog/index.xml" title="lowestcase" />
+ <link rel="alternate" type="application/rss+xml" href="https://o-santi.github.com/blog/index.xml" title="lowest case" />
<style>
body {
font-family: Verdana, sans-serif;
@@ -212,7 +212,7 @@
}
a:hover {
color:#d46b08;
- text-decoration: dotted underline;
+ text-decoration: wavy underline;
}
ul.blog-posts li a:visited {
color:#ffc069;
@@ -225,11 +225,10 @@
</head>
<body>
- <header><a href="/" class="title">
- <h2>lowestcase</h2>
-</a>
-<nav><a href="/">home</a>
-
+ <header><nav>
+ <a href="/" class="title">
+ <h2 style="display:inline">lowest case</h2>
+ </a>
<a href="/about/">about</a>
@@ -246,11 +245,11 @@
<span>
<i>
<time datetime='2024-06-01' pubdate>
- 01-06-2024
+ 01 june, 2024
</time>
</i>
</span>
- <a href="http://localhost:1313/rust-is-not-about-memory-safety/">rust is not about memory safety</a>
+ <a href="https://o-santi.github.com/blog/rust-is-not-about-memory-safety/">rust is not about memory safety</a>
</li>
</ul>
@@ -258,9 +257,9 @@
<small>
<div>
- <a href="http://localhost:1313/blog/correctness/">#Correctness</a>&nbsp;
+ <a href="https://o-santi.github.com/tags/correctness/">#correctness</a>&nbsp;
- <a href="http://localhost:1313/blog/rust/">#Rust</a>&nbsp;
+ <a href="https://o-santi.github.com/tags/rust/">#rust</a>&nbsp;
</div>
</small>
@@ -268,7 +267,7 @@
</content>
</main>
- <footer>leonardo santiago | <a href="https://github.com/o-santi" title="github"><svg width="16px" height="16px" viewBox="0 0 24 24" fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M9 19c-5 1.5-5-2.5-7-3m14 6v-3.87a3.37 3.37.0 00-.94-2.61c3.14-.35 6.44-1.54 6.44-7A5.44 5.44.0 0020 4.77 5.07 5.07.0 0019.91 1S18.73.65 16 2.48a13.38 13.38.0 00-7 0C6.27.65 5.09 1 5.09 1A5.07 5.07.0 005 4.77 5.44 5.44.0 003.5 8.55c0 5.42 3.3 6.61 6.44 7A3.37 3.37.0 009 18.13V22"></path></svg></a> <a href="mailto:[email protected]" title="email"> <svg width="16px" height="16px" viewBox="0 0 1920 1920" fill="#fa8c16"><path d="M0 1694.235h1920V226H0v1468.235ZM112.941 376.664V338.94H1807.06v37.723L960 1111.233l-847.059-734.57ZM1807.06 526.198v950.513l-351.134-438.89-88.32 70.475 378.353 472.998H174.042l378.353-472.998-88.32-70.475-351.134 438.89V526.198L960 1260.768l847.059-734.57Z" fill-rule="evenodd"></path></svg></a>
+ <footer><p> leonardo santiago | <a href="https://github.com/o-santi" title="github"><svg width="16px" height="16px" viewBox="0 0 24 24" fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M9 19c-5 1.5-5-2.5-7-3m14 6v-3.87a3.37 3.37.0 00-.94-2.61c3.14-.35 6.44-1.54 6.44-7A5.44 5.44.0 0020 4.77 5.07 5.07.0 0019.91 1S18.73.65 16 2.48a13.38 13.38.0 00-7 0C6.27.65 5.09 1 5.09 1A5.07 5.07.0 005 4.77 5.44 5.44.0 003.5 8.55c0 5.42 3.3 6.61 6.44 7A3.37 3.37.0 009 18.13V22"></path></svg></a> <a href="mailto:[email protected]" title="email"> <svg width="16px" height="16px" viewBox="0 0 1920 1920" fill="currentcolor"><path d="M0 1694.235h1920V226H0v1468.235ZM112.941 376.664V338.94H1807.06v37.723L960 1111.233l-847.059-734.57ZM1807.06 526.198v950.513l-351.134-438.89-88.32 70.475 378.353 472.998H174.042l378.353-472.998-88.32-70.475-351.134 438.89V526.198L960 1260.768l847.059-734.57Z" fill-rule="evenodd"></path></svg></a> <a href="https://linkedin.com/leonardo-ribeiro-santiago" title="linkedin"><svg xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" width="16px" height="16px" viewBox="0 0 30 30" fill="currentcolor"><path d="M24,4H6C4.895,4,4,4.895,4,6v18c0,1.105,0.895,2,2,2h18c1.105,0,2-0.895,2-2V6C26,4.895,25.105,4,24,4z M10.954,22h-2.95 v-9.492h2.95V22z M9.449,11.151c-0.951,0-1.72-0.771-1.72-1.72c0-0.949,0.77-1.719,1.72-1.719c0.948,0,1.719,0.771,1.719,1.719 C11.168,10.38,10.397,11.151,9.449,11.151z M22.004,22h-2.948v-4.616c0-1.101-0.02-2.517-1.533-2.517 c-1.535,0-1.771,1.199-1.771,2.437V22h-2.948v-9.492h2.83v1.297h0.04c0.394-0.746,1.356-1.533,2.791-1.533 c2.987,0,3.539,1.966,3.539,4.522V22z"></path></svg></a> </p>
</footer>
diff --git a/public/blog/index.xml b/public/blog/index.xml
index bdbd344..8839517 100644
--- a/public/blog/index.xml
+++ b/public/blog/index.xml
@@ -1,18 +1,18 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
- <title>Blogs on lowestcase</title>
- <link>http://localhost:1313/blog/</link>
- <description>Recent content in Blogs on lowestcase</description>
+ <title>blog on lowest case</title>
+ <link>https://o-santi.github.com/blog/</link>
+ <description>Recent content in blog on lowest case</description>
<generator>Hugo</generator>
<language>en-US</language>
- <lastBuildDate>Sat, 01 Jun 2024 15:21:30 -0300</lastBuildDate>
- <atom:link href="http://localhost:1313/blog/index.xml" rel="self" type="application/rss+xml" />
+ <lastBuildDate>Sat, 01 Jun 2024 17:29:17 -0300</lastBuildDate>
+ <atom:link href="https://o-santi.github.com/blog/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>rust is not about memory safety</title>
- <link>http://localhost:1313/rust-is-not-about-memory-safety/</link>
- <pubDate>Sat, 01 Jun 2024 15:21:30 -0300</pubDate>
- <guid>http://localhost:1313/rust-is-not-about-memory-safety/</guid>
+ <link>https://o-santi.github.com/blog/rust-is-not-about-memory-safety/</link>
+ <pubDate>Sat, 01 Jun 2024 17:29:17 -0300</pubDate>
+ <guid>https://o-santi.github.com/blog/rust-is-not-about-memory-safety/</guid>
<description>most of rust discussions nowadays revolve about memory safety, and how it is safer than C / C++ / zig / go / whatever language is being trashed on twitter that day. while yes, that is true - not that the bar for most of these is particularly high - what I think is the main point of the language is always glossed over: correctness. when one tries to criticize any of the aforementioned languages, one is answered with the following argument:</description>
</item>
</channel>
diff --git a/public/rust-is-not-about-memory-safety/index.html b/public/blog/rust-is-not-about-memory-safety/index.html
index 72ed6a0..b6dc2bc 100644
--- a/public/rust-is-not-about-memory-safety/index.html
+++ b/public/blog/rust-is-not-about-memory-safety/index.html
@@ -1,42 +1,42 @@
<!DOCTYPE html>
<html lang="en-US">
-<head><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=1313&amp;path=livereload" data-no-instant defer></script>
+<head>
<meta http-equiv="X-Clacks-Overhead" content="GNU Terry Pratchett" />
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
-<title>rust is not about memory safety | lowestcase</title>
+<title>rust is not about memory safety | lowest case</title>
<meta name="title" content="rust is not about memory safety" />
-<meta name="description" content="most of rust discussions nowadays revolve about memory safety, and how it is safer than C / C&#43;&#43; / zig / go / whatever language is being trashed on twitter that day. while yes, that is true - not that the bar for most of these is particularly high - what I think is the main point of the language is always glossed over: correctness. when one tries to criticize any of the aforementioned languages, one is answered with the following argument:" />
+<meta name="description" content="a lower case only blog, purely for aesthetics" />
<meta name="keywords" content="rust,correctness," />
-<meta property="og:url" content="http://localhost:1313/rust-is-not-about-memory-safety/">
- <meta property="og:site_name" content="lowestcase">
+<meta property="og:url" content="https://o-santi.github.com/blog/rust-is-not-about-memory-safety/">
+ <meta property="og:site_name" content="lowest case">
<meta property="og:title" content="rust is not about memory safety">
- <meta property="og:description" content="most of rust discussions nowadays revolve about memory safety, and how it is safer than C / C&#43;&#43; / zig / go / whatever language is being trashed on twitter that day. while yes, that is true - not that the bar for most of these is particularly high - what I think is the main point of the language is always glossed over: correctness. when one tries to criticize any of the aforementioned languages, one is answered with the following argument:">
+ <meta property="og:description" content="a lower case only blog, purely for aesthetics">
<meta property="og:locale" content="en-US">
<meta property="og:type" content="article">
<meta property="article:section" content="blog">
- <meta property="article:published_time" content="2024-06-01T15:21:30-03:00">
- <meta property="article:modified_time" content="2024-06-01T15:21:30-03:00">
- <meta property="article:tag" content="Rust">
- <meta property="article:tag" content="Correctness">
+ <meta property="article:published_time" content="2024-06-01T17:29:17-03:00">
+ <meta property="article:modified_time" content="2024-06-01T17:29:17-03:00">
+ <meta property="article:tag" content="rust">
+ <meta property="article:tag" content="correctness">
<meta name="twitter:card" content="summary"><meta name="twitter:title" content="rust is not about memory safety">
-<meta name="twitter:description" content="most of rust discussions nowadays revolve about memory safety, and how it is safer than C / C&#43;&#43; / zig / go / whatever language is being trashed on twitter that day. while yes, that is true - not that the bar for most of these is particularly high - what I think is the main point of the language is always glossed over: correctness. when one tries to criticize any of the aforementioned languages, one is answered with the following argument:">
+<meta name="twitter:description" content="a lower case only blog, purely for aesthetics">
<meta itemprop="name" content="rust is not about memory safety">
- <meta itemprop="description" content="most of rust discussions nowadays revolve about memory safety, and how it is safer than C / C&#43;&#43; / zig / go / whatever language is being trashed on twitter that day. while yes, that is true - not that the bar for most of these is particularly high - what I think is the main point of the language is always glossed over: correctness. when one tries to criticize any of the aforementioned languages, one is answered with the following argument:">
- <meta itemprop="datePublished" content="2024-06-01T15:21:30-03:00">
- <meta itemprop="dateModified" content="2024-06-01T15:21:30-03:00">
- <meta itemprop="wordCount" content="2453">
- <meta itemprop="keywords" content="Rust,Correctness">
+ <meta itemprop="description" content="a lower case only blog, purely for aesthetics">
+ <meta itemprop="datePublished" content="2024-06-01T17:29:17-03:00">
+ <meta itemprop="dateModified" content="2024-06-01T17:29:17-03:00">
+ <meta itemprop="wordCount" content="2456">
+ <meta itemprop="keywords" content="rust,correctness">
<meta name="referrer" content="no-referrer-when-downgrade" />
<style>
@@ -219,7 +219,7 @@
}
a:hover {
color:#d46b08;
- text-decoration: dotted underline;
+ text-decoration: wavy underline;
}
ul.blog-posts li a:visited {
color:#ffc069;
@@ -232,11 +232,10 @@
</head>
<body>
- <header><a href="/" class="title">
- <h2>lowestcase</h2>
-</a>
-<nav><a href="/">home</a>
-
+ <header><nav>
+ <a href="/" class="title">
+ <h2 style="display:inline">lowest case</h2>
+ </a>
<a href="/about/">about</a>
@@ -250,7 +249,7 @@
<p>
<i>
<time datetime='2024-06-01' pubdate>
- 01-06-2024
+ 01 june, 2024
</time>
</i>
</p>
@@ -273,7 +272,7 @@
</span></span><span style="display:flex;"><span><span style="color:#a6e22e">foo</span>(NULL);
</span></span></code></pre></div><p>i say <em>well behaved</em> because i can&rsquo;t say <em>invalid</em>. it is in fact defined by the spec that when you dereference a <code>NULL</code> pointer the result is <a href="http://blog.llvm.org/2011/05/what-every-c-programmer-should-know.html"><em>undefined behavior</em></a>. and this is C&rsquo;s achilles heel: instead of outright banning programs like the one above (which i&rsquo;d argue is the correct approach), it will happily compile and give you garbage output.</p>
<p>framing it this way really exposes the fragility of C, because undefined behavior has to always be taken into account. and, by the nature of it, there is no way to represent it other than as a black box, such that, if your code ever encounters it, then literally all you can say is that <strong>the whole result of the program</strong> is undefined - that is, it can be anything. you cannot show properties, nor say what will happen once your program enters this state, as the C specification literally does not define it. it may come to a halt, write garbage to the screen or completely delete half of the files of your program, and there&rsquo;s no way to predict what will come out of it, by definition. in the lucky case, it will segfault while executing and you&rsquo;ll be extremely pissed off, but that is not at all guaranteed. this is akin to having a float expression with some deep term being <code>NaN</code>, in that it eventually must evaluate to <code>NaN</code> and you can&rsquo;t draw any conclusions about the result of the expression (other that it isn&rsquo;t a number).</p>
-<p>language designers are by no means dumb, and yes, they know much, much more than me about these problems. undefined behavior exists exactly because there must be parts of your code that your compiler <strong>must</strong> assume that aren&rsquo;t possible, so that it can correctly compile. for example, let&rsquo;s say that you inadvertently try to dereference a pointer that you have no knowledge about. the C compiler simply does not have enough information to know if it is <code>NULL</code>, if it is still pointing to valid memory, or if the memory has been initialized, so what it&rsquo;s approach is simply emit code <strong>as if</strong> it was a valid, initialized, non-null pointer.</p>
+<p>language designers and compiler developers are by no means dumb, and yes, they know much, much more than me about these problems. undefined behavior exists exactly because there must be parts of your code that your compiler <strong>must</strong> assume that aren&rsquo;t possible, so that it can correctly compile. for example, let&rsquo;s say that you inadvertently try to dereference a pointer that you have no knowledge about. the C compiler simply does not have enough information to know if it is <code>NULL</code>, if it is still pointing to valid memory, or if the memory has been initialized, so what it&rsquo;s approach is simply emit code <strong>as if</strong> it was a valid, initialized, non-null pointer.</p>
<p>it is essential to realize that this is an <strong>assumption</strong>, and in almost most cases, it simply does not care whether or not it actually was actually still valid, so writing to it may have a myriad of effects of different effects (none of which are the compiler&rsquo;s concerns). sometimes, your system might correctly intercept a read/write from invalid/null memory and raise you a signal, but that is not guaranteed.</p>
<p>and there are a huge number of tools to aid in finding undefined behavior, it&rsquo;s just that 1. they are not by any means standards of C development (not in spec and not in standard compilers) and 2 they are fallible and will always let some undefined programs slip by.</p>
<h2 id="runtime-exceptions-are-not-the-solution">runtime exceptions are not the solution</h2>
@@ -321,14 +320,14 @@
</content>
<p>
- <a href="http://localhost:1313/blog/rust/">#Rust</a>
+ <a href="https://o-santi.github.com/tags/rust/">#rust</a>
- <a href="http://localhost:1313/blog/correctness/">#Correctness</a>
+ <a href="https://o-santi.github.com/tags/correctness/">#correctness</a>
</p>
</main>
- <footer>leonardo santiago | <a href="https://github.com/o-santi" title="github"><svg width="16px" height="16px" viewBox="0 0 24 24" fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M9 19c-5 1.5-5-2.5-7-3m14 6v-3.87a3.37 3.37.0 00-.94-2.61c3.14-.35 6.44-1.54 6.44-7A5.44 5.44.0 0020 4.77 5.07 5.07.0 0019.91 1S18.73.65 16 2.48a13.38 13.38.0 00-7 0C6.27.65 5.09 1 5.09 1A5.07 5.07.0 005 4.77 5.44 5.44.0 003.5 8.55c0 5.42 3.3 6.61 6.44 7A3.37 3.37.0 009 18.13V22"></path></svg></a> <a href="mailto:[email protected]" title="email"> <svg width="16px" height="16px" viewBox="0 0 1920 1920" fill="#fa8c16"><path d="M0 1694.235h1920V226H0v1468.235ZM112.941 376.664V338.94H1807.06v37.723L960 1111.233l-847.059-734.57ZM1807.06 526.198v950.513l-351.134-438.89-88.32 70.475 378.353 472.998H174.042l378.353-472.998-88.32-70.475-351.134 438.89V526.198L960 1260.768l847.059-734.57Z" fill-rule="evenodd"></path></svg></a>
+ <footer><p> leonardo santiago | <a href="https://github.com/o-santi" title="github"><svg width="16px" height="16px" viewBox="0 0 24 24" fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M9 19c-5 1.5-5-2.5-7-3m14 6v-3.87a3.37 3.37.0 00-.94-2.61c3.14-.35 6.44-1.54 6.44-7A5.44 5.44.0 0020 4.77 5.07 5.07.0 0019.91 1S18.73.65 16 2.48a13.38 13.38.0 00-7 0C6.27.65 5.09 1 5.09 1A5.07 5.07.0 005 4.77 5.44 5.44.0 003.5 8.55c0 5.42 3.3 6.61 6.44 7A3.37 3.37.0 009 18.13V22"></path></svg></a> <a href="mailto:[email protected]" title="email"> <svg width="16px" height="16px" viewBox="0 0 1920 1920" fill="currentcolor"><path d="M0 1694.235h1920V226H0v1468.235ZM112.941 376.664V338.94H1807.06v37.723L960 1111.233l-847.059-734.57ZM1807.06 526.198v950.513l-351.134-438.89-88.32 70.475 378.353 472.998H174.042l378.353-472.998-88.32-70.475-351.134 438.89V526.198L960 1260.768l847.059-734.57Z" fill-rule="evenodd"></path></svg></a> <a href="https://linkedin.com/leonardo-ribeiro-santiago" title="linkedin"><svg xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" width="16px" height="16px" viewBox="0 0 30 30" fill="currentcolor"><path d="M24,4H6C4.895,4,4,4.895,4,6v18c0,1.105,0.895,2,2,2h18c1.105,0,2-0.895,2-2V6C26,4.895,25.105,4,24,4z M10.954,22h-2.95 v-9.492h2.95V22z M9.449,11.151c-0.951,0-1.72-0.771-1.72-1.72c0-0.949,0.77-1.719,1.72-1.719c0.948,0,1.719,0.771,1.719,1.719 C11.168,10.38,10.397,11.151,9.449,11.151z M22.004,22h-2.948v-4.616c0-1.101-0.02-2.517-1.533-2.517 c-1.535,0-1.771,1.199-1.771,2.437V22h-2.948v-9.492h2.83v1.297h0.04c0.394-0.746,1.356-1.533,2.791-1.533 c2.987,0,3.539,1.966,3.539,4.522V22z"></path></svg></a> </p>
</footer>
diff --git a/public/index.html b/public/index.html
index 30dd6c4..0a3ba87 100644
--- a/public/index.html
+++ b/public/index.html
@@ -2,41 +2,39 @@
<html lang="en-US">
<head>
- <meta name="generator" content="Hugo 0.125.3"><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=1313&amp;path=livereload" data-no-instant defer></script>
+ <meta name="generator" content="Hugo 0.125.3">
<meta http-equiv="X-Clacks-Overhead" content="GNU Terry Pratchett" />
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
-<title>lowest case | lowestcase</title>
-<meta name="title" content="lowest case" />
-<meta name="description" content="a lowercase only blog" />
+<title>home | lowest case</title>
+<meta name="title" content="home" />
+<meta name="description" content="a lower case only blog, purely for aesthetics" />
<meta name="keywords" content="correctness,rust," />
-<meta property="og:url" content="http://localhost:1313/">
- <meta property="og:site_name" content="lowestcase">
- <meta property="og:title" content="lowest case">
- <meta property="og:description" content="a lower case only blog, purely for aesthetics.
-here I talk about discrete mathematics (mostly computer science), including compilers, language theory, type theory, computability theory, software correctness, formal verification, and any other (entirely theoretical, almost non-applicable) nerd topic you can think of.">
+<meta property="og:url" content="https://o-santi.github.com/">
+ <meta property="og:site_name" content="lowest case">
+ <meta property="og:title" content="home">
+ <meta property="og:description" content="a lower case only blog, purely for aesthetics">
<meta property="og:locale" content="en-US">
<meta property="og:type" content="website">
-<meta name="twitter:card" content="summary"><meta name="twitter:title" content="lowest case">
-<meta name="twitter:description" content="a lowercase only blog">
+<meta name="twitter:card" content="summary"><meta name="twitter:title" content="home">
+<meta name="twitter:description" content="a lower case only blog, purely for aesthetics">
- <meta itemprop="name" content="lowest case">
- <meta itemprop="description" content="a lower case only blog, purely for aesthetics.
-here I talk about discrete mathematics (mostly computer science), including compilers, language theory, type theory, computability theory, software correctness, formal verification, and any other (entirely theoretical, almost non-applicable) nerd topic you can think of.">
- <meta itemprop="datePublished" content="2024-06-01T10:31:58-03:00">
- <meta itemprop="dateModified" content="2024-06-01T10:31:58-03:00">
+ <meta itemprop="name" content="home">
+ <meta itemprop="description" content="a lower case only blog, purely for aesthetics">
+ <meta itemprop="datePublished" content="2024-06-01T17:29:17-03:00">
+ <meta itemprop="dateModified" content="2024-06-01T17:29:17-03:00">
<meta itemprop="wordCount" content="42">
<meta name="referrer" content="no-referrer-when-downgrade" />
- <link rel="alternate" type="application/rss+xml" href="http://localhost:1313/index.xml" title="lowestcase" />
+ <link rel="alternate" type="application/rss+xml" href="https://o-santi.github.com/index.xml" title="lowest case" />
<style>
body {
font-family: Verdana, sans-serif;
@@ -217,7 +215,7 @@ here I talk about discrete mathematics (mostly computer science), including comp
}
a:hover {
color:#d46b08;
- text-decoration: dotted underline;
+ text-decoration: wavy underline;
}
ul.blog-posts li a:visited {
color:#ffc069;
@@ -230,11 +228,10 @@ here I talk about discrete mathematics (mostly computer science), including comp
</head>
<body>
- <header><a href="/" class="title">
- <h2>lowestcase</h2>
-</a>
-<nav><a href="/">home</a>
-
+ <header><nav>
+ <a href="/" class="title">
+ <h2 style="display:inline">lowest case</h2>
+ </a>
<a href="/about/">about</a>
@@ -248,7 +245,7 @@ here I talk about discrete mathematics (mostly computer science), including comp
</main>
- <footer>leonardo santiago | <a href="https://github.com/o-santi" title="github"><svg width="16px" height="16px" viewBox="0 0 24 24" fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M9 19c-5 1.5-5-2.5-7-3m14 6v-3.87a3.37 3.37.0 00-.94-2.61c3.14-.35 6.44-1.54 6.44-7A5.44 5.44.0 0020 4.77 5.07 5.07.0 0019.91 1S18.73.65 16 2.48a13.38 13.38.0 00-7 0C6.27.65 5.09 1 5.09 1A5.07 5.07.0 005 4.77 5.44 5.44.0 003.5 8.55c0 5.42 3.3 6.61 6.44 7A3.37 3.37.0 009 18.13V22"></path></svg></a> <a href="mailto:[email protected]" title="email"> <svg width="16px" height="16px" viewBox="0 0 1920 1920" fill="#fa8c16"><path d="M0 1694.235h1920V226H0v1468.235ZM112.941 376.664V338.94H1807.06v37.723L960 1111.233l-847.059-734.57ZM1807.06 526.198v950.513l-351.134-438.89-88.32 70.475 378.353 472.998H174.042l378.353-472.998-88.32-70.475-351.134 438.89V526.198L960 1260.768l847.059-734.57Z" fill-rule="evenodd"></path></svg></a>
+ <footer><p> leonardo santiago | <a href="https://github.com/o-santi" title="github"><svg width="16px" height="16px" viewBox="0 0 24 24" fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M9 19c-5 1.5-5-2.5-7-3m14 6v-3.87a3.37 3.37.0 00-.94-2.61c3.14-.35 6.44-1.54 6.44-7A5.44 5.44.0 0020 4.77 5.07 5.07.0 0019.91 1S18.73.65 16 2.48a13.38 13.38.0 00-7 0C6.27.65 5.09 1 5.09 1A5.07 5.07.0 005 4.77 5.44 5.44.0 003.5 8.55c0 5.42 3.3 6.61 6.44 7A3.37 3.37.0 009 18.13V22"></path></svg></a> <a href="mailto:[email protected]" title="email"> <svg width="16px" height="16px" viewBox="0 0 1920 1920" fill="currentcolor"><path d="M0 1694.235h1920V226H0v1468.235ZM112.941 376.664V338.94H1807.06v37.723L960 1111.233l-847.059-734.57ZM1807.06 526.198v950.513l-351.134-438.89-88.32 70.475 378.353 472.998H174.042l378.353-472.998-88.32-70.475-351.134 438.89V526.198L960 1260.768l847.059-734.57Z" fill-rule="evenodd"></path></svg></a> <a href="https://linkedin.com/leonardo-ribeiro-santiago" title="linkedin"><svg xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" width="16px" height="16px" viewBox="0 0 30 30" fill="currentcolor"><path d="M24,4H6C4.895,4,4,4.895,4,6v18c0,1.105,0.895,2,2,2h18c1.105,0,2-0.895,2-2V6C26,4.895,25.105,4,24,4z M10.954,22h-2.95 v-9.492h2.95V22z M9.449,11.151c-0.951,0-1.72-0.771-1.72-1.72c0-0.949,0.77-1.719,1.72-1.719c0.948,0,1.719,0.771,1.719,1.719 C11.168,10.38,10.397,11.151,9.449,11.151z M22.004,22h-2.948v-4.616c0-1.101-0.02-2.517-1.533-2.517 c-1.535,0-1.771,1.199-1.771,2.437V22h-2.948v-9.492h2.83v1.297h0.04c0.394-0.746,1.356-1.533,2.791-1.533 c2.987,0,3.539,1.966,3.539,4.522V22z"></path></svg></a> </p>
</footer>
diff --git a/public/index.xml b/public/index.xml
index e4dfa43..de69796 100644
--- a/public/index.xml
+++ b/public/index.xml
@@ -1,26 +1,26 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
- <title>lowest case on lowestcase</title>
- <link>http://localhost:1313/</link>
- <description>Recent content in lowest case on lowestcase</description>
+ <title>home on lowest case</title>
+ <link>https://o-santi.github.com/</link>
+ <description>Recent content in home on lowest case</description>
<generator>Hugo</generator>
<language>en-US</language>
- <lastBuildDate>Sat, 01 Jun 2024 15:21:30 -0300</lastBuildDate>
- <atom:link href="http://localhost:1313/index.xml" rel="self" type="application/rss+xml" />
- <item>
- <title>rust is not about memory safety</title>
- <link>http://localhost:1313/rust-is-not-about-memory-safety/</link>
- <pubDate>Sat, 01 Jun 2024 15:21:30 -0300</pubDate>
- <guid>http://localhost:1313/rust-is-not-about-memory-safety/</guid>
- <description>most of rust discussions nowadays revolve about memory safety, and how it is safer than C / C++ / zig / go / whatever language is being trashed on twitter that day. while yes, that is true - not that the bar for most of these is particularly high - what I think is the main point of the language is always glossed over: correctness. when one tries to criticize any of the aforementioned languages, one is answered with the following argument:</description>
- </item>
+ <lastBuildDate>Sat, 01 Jun 2024 17:29:17 -0300</lastBuildDate>
+ <atom:link href="https://o-santi.github.com/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>about</title>
- <link>http://localhost:1313/about/</link>
- <pubDate>Sat, 01 Jun 2024 12:12:47 -0300</pubDate>
- <guid>http://localhost:1313/about/</guid>
+ <link>https://o-santi.github.com/about/</link>
+ <pubDate>Sat, 01 Jun 2024 17:29:17 -0300</pubDate>
+ <guid>https://o-santi.github.com/about/</guid>
<description>i&amp;rsquo;m leonardo santiago, a software engineer based in brazil. my interests are in compiler design, programming tools (emacs), functional programming, and proof languages. i&amp;rsquo;m most confortable in nix and rust, but i know a fair share of other languages.&#xA;currently, i work as a software engineer @ Mixrank, and you can find my curriculum here.&#xA;if you feel like smugly responding to any of my posts (or just want to kindly send me a message), these are my socials:</description>
</item>
+ <item>
+ <title>rust is not about memory safety</title>
+ <link>https://o-santi.github.com/blog/rust-is-not-about-memory-safety/</link>
+ <pubDate>Sat, 01 Jun 2024 17:29:17 -0300</pubDate>
+ <guid>https://o-santi.github.com/blog/rust-is-not-about-memory-safety/</guid>
+ <description>most of rust discussions nowadays revolve about memory safety, and how it is safer than C / C++ / zig / go / whatever language is being trashed on twitter that day. while yes, that is true - not that the bar for most of these is particularly high - what I think is the main point of the language is always glossed over: correctness. when one tries to criticize any of the aforementioned languages, one is answered with the following argument:</description>
+ </item>
</channel>
</rss>
diff --git a/public/robots.txt b/public/robots.txt
index 1a142c1..dc6b1c1 100644
--- a/public/robots.txt
+++ b/public/robots.txt
@@ -1,2 +1,2 @@
User-Agent: *
-Sitemap: http://localhost:1313/sitemap.xml
+Sitemap: https://o-santi.github.com/sitemap.xml
diff --git a/public/sitemap.xml b/public/sitemap.xml
index ff8dc18..d640e7b 100644
--- a/public/sitemap.xml
+++ b/public/sitemap.xml
@@ -2,22 +2,22 @@
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:xhtml="http://www.w3.org/1999/xhtml">
<url>
- <loc>http://localhost:1313/blog/</loc>
- <lastmod>2024-06-01T15:21:30-03:00</lastmod>
+ <loc>https://o-santi.github.com/about/</loc>
+ <lastmod>2024-06-01T17:29:17-03:00</lastmod>
</url><url>
- <loc>http://localhost:1313/blog/correctness/</loc>
- <lastmod>2024-06-01T15:21:30-03:00</lastmod>
+ <loc>https://o-santi.github.com/blog/</loc>
+ <lastmod>2024-06-01T17:29:17-03:00</lastmod>
</url><url>
- <loc>http://localhost:1313/blog/rust/</loc>
- <lastmod>2024-06-01T15:21:30-03:00</lastmod>
+ <loc>https://o-santi.github.com/tags/correctness/</loc>
+ <lastmod>2024-06-01T17:29:17-03:00</lastmod>
</url><url>
- <loc>http://localhost:1313/rust-is-not-about-memory-safety/</loc>
- <lastmod>2024-06-01T15:21:30-03:00</lastmod>
+ <loc>https://o-santi.github.com/</loc>
+ <lastmod>2024-06-01T17:29:17-03:00</lastmod>
</url><url>
- <loc>http://localhost:1313/about/</loc>
- <lastmod>2024-06-01T12:12:47-03:00</lastmod>
+ <loc>https://o-santi.github.com/tags/rust/</loc>
+ <lastmod>2024-06-01T17:29:17-03:00</lastmod>
</url><url>
- <loc>http://localhost:1313/</loc>
- <lastmod>2024-06-01T10:31:58-03:00</lastmod>
+ <loc>https://o-santi.github.com/blog/rust-is-not-about-memory-safety/</loc>
+ <lastmod>2024-06-01T17:29:17-03:00</lastmod>
</url>
</urlset>
diff --git a/public/blog/rust/index.html b/public/tags/correctness/index.html
index d61a2ab..9e25c80 100644
--- a/public/blog/rust/index.html
+++ b/public/tags/correctness/index.html
@@ -1,37 +1,37 @@
<!DOCTYPE html>
<html lang="en-US">
-<head><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=1313&amp;path=livereload" data-no-instant defer></script>
+<head>
<meta http-equiv="X-Clacks-Overhead" content="GNU Terry Pratchett" />
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
-<title>Rust | lowestcase</title>
-<meta name="title" content="Rust" />
-<meta name="description" content="a lowercase only blog" />
+<title>correctness | lowest case</title>
+<meta name="title" content="correctness" />
+<meta name="description" content="a lowercase only blog, purely for aesthetics" />
<meta name="keywords" content="correctness,rust," />
-<meta property="og:url" content="http://localhost:1313/blog/rust/">
- <meta property="og:site_name" content="lowestcase">
- <meta property="og:title" content="Rust">
- <meta property="og:description" content="a lowercase only blog">
+<meta property="og:url" content="https://o-santi.github.com/tags/correctness/">
+ <meta property="og:site_name" content="lowest case">
+ <meta property="og:title" content="correctness">
+ <meta property="og:description" content="a lowercase only blog, purely for aesthetics">
<meta property="og:locale" content="en-US">
<meta property="og:type" content="website">
-<meta name="twitter:card" content="summary"><meta name="twitter:title" content="Rust">
-<meta name="twitter:description" content="a lowercase only blog">
+<meta name="twitter:card" content="summary"><meta name="twitter:title" content="correctness">
+<meta name="twitter:description" content="a lowercase only blog, purely for aesthetics">
- <meta itemprop="name" content="Rust">
- <meta itemprop="description" content="a lowercase only blog">
- <meta itemprop="dateModified" content="2024-06-01T15:21:30-03:00">
+ <meta itemprop="name" content="correctness">
+ <meta itemprop="description" content="a lowercase only blog, purely for aesthetics">
+ <meta itemprop="dateModified" content="2024-06-01T17:29:17-03:00">
<meta name="referrer" content="no-referrer-when-downgrade" />
- <link rel="alternate" type="application/rss+xml" href="http://localhost:1313/blog/rust/index.xml" title="lowestcase" />
+ <link rel="alternate" type="application/rss+xml" href="https://o-santi.github.com/tags/correctness/index.xml" title="lowest case" />
<style>
body {
font-family: Verdana, sans-serif;
@@ -212,7 +212,7 @@
}
a:hover {
color:#d46b08;
- text-decoration: dotted underline;
+ text-decoration: wavy underline;
}
ul.blog-posts li a:visited {
color:#ffc069;
@@ -225,11 +225,10 @@
</head>
<body>
- <header><a href="/" class="title">
- <h2>lowestcase</h2>
-</a>
-<nav><a href="/">home</a>
-
+ <header><nav>
+ <a href="/" class="title">
+ <h2 style="display:inline">lowest case</h2>
+ </a>
<a href="/about/">about</a>
@@ -240,9 +239,9 @@
<main>
<content>
- <h3 style="margin-bottom:0">Filtering for "Rust"</h3>
+ <h3 style="margin-bottom:0">filtering for "correctness"</h3>
<small>
- <a href="/blog">Remove filter</a>
+ <a href="/blog">remove filter</a>
</small>
<ul class="blog-posts">
@@ -251,11 +250,11 @@
<span>
<i>
<time datetime='2024-06-01' pubdate>
- 01-06-2024
+ 01 june, 2024
</time>
</i>
</span>
- <a href="http://localhost:1313/rust-is-not-about-memory-safety/">rust is not about memory safety</a>
+ <a href="https://o-santi.github.com/blog/rust-is-not-about-memory-safety/">rust is not about memory safety</a>
</li>
</ul>
@@ -264,7 +263,7 @@
</content>
</main>
- <footer>leonardo santiago | <a href="https://github.com/o-santi" title="github"><svg width="16px" height="16px" viewBox="0 0 24 24" fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M9 19c-5 1.5-5-2.5-7-3m14 6v-3.87a3.37 3.37.0 00-.94-2.61c3.14-.35 6.44-1.54 6.44-7A5.44 5.44.0 0020 4.77 5.07 5.07.0 0019.91 1S18.73.65 16 2.48a13.38 13.38.0 00-7 0C6.27.65 5.09 1 5.09 1A5.07 5.07.0 005 4.77 5.44 5.44.0 003.5 8.55c0 5.42 3.3 6.61 6.44 7A3.37 3.37.0 009 18.13V22"></path></svg></a> <a href="mailto:[email protected]" title="email"> <svg width="16px" height="16px" viewBox="0 0 1920 1920" fill="#fa8c16"><path d="M0 1694.235h1920V226H0v1468.235ZM112.941 376.664V338.94H1807.06v37.723L960 1111.233l-847.059-734.57ZM1807.06 526.198v950.513l-351.134-438.89-88.32 70.475 378.353 472.998H174.042l378.353-472.998-88.32-70.475-351.134 438.89V526.198L960 1260.768l847.059-734.57Z" fill-rule="evenodd"></path></svg></a>
+ <footer><p> leonardo santiago | <a href="https://github.com/o-santi" title="github"><svg width="16px" height="16px" viewBox="0 0 24 24" fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M9 19c-5 1.5-5-2.5-7-3m14 6v-3.87a3.37 3.37.0 00-.94-2.61c3.14-.35 6.44-1.54 6.44-7A5.44 5.44.0 0020 4.77 5.07 5.07.0 0019.91 1S18.73.65 16 2.48a13.38 13.38.0 00-7 0C6.27.65 5.09 1 5.09 1A5.07 5.07.0 005 4.77 5.44 5.44.0 003.5 8.55c0 5.42 3.3 6.61 6.44 7A3.37 3.37.0 009 18.13V22"></path></svg></a> <a href="mailto:[email protected]" title="email"> <svg width="16px" height="16px" viewBox="0 0 1920 1920" fill="currentcolor"><path d="M0 1694.235h1920V226H0v1468.235ZM112.941 376.664V338.94H1807.06v37.723L960 1111.233l-847.059-734.57ZM1807.06 526.198v950.513l-351.134-438.89-88.32 70.475 378.353 472.998H174.042l378.353-472.998-88.32-70.475-351.134 438.89V526.198L960 1260.768l847.059-734.57Z" fill-rule="evenodd"></path></svg></a> <a href="https://linkedin.com/leonardo-ribeiro-santiago" title="linkedin"><svg xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" width="16px" height="16px" viewBox="0 0 30 30" fill="currentcolor"><path d="M24,4H6C4.895,4,4,4.895,4,6v18c0,1.105,0.895,2,2,2h18c1.105,0,2-0.895,2-2V6C26,4.895,25.105,4,24,4z M10.954,22h-2.95 v-9.492h2.95V22z M9.449,11.151c-0.951,0-1.72-0.771-1.72-1.72c0-0.949,0.77-1.719,1.72-1.719c0.948,0,1.719,0.771,1.719,1.719 C11.168,10.38,10.397,11.151,9.449,11.151z M22.004,22h-2.948v-4.616c0-1.101-0.02-2.517-1.533-2.517 c-1.535,0-1.771,1.199-1.771,2.437V22h-2.948v-9.492h2.83v1.297h0.04c0.394-0.746,1.356-1.533,2.791-1.533 c2.987,0,3.539,1.966,3.539,4.522V22z"></path></svg></a> </p>
</footer>
diff --git a/public/blog/rust/index.xml b/public/tags/correctness/index.xml
index 8714ca6..765db57 100644
--- a/public/blog/rust/index.xml
+++ b/public/tags/correctness/index.xml
@@ -1,18 +1,18 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
- <title>Rust on lowestcase</title>
- <link>http://localhost:1313/blog/rust/</link>
- <description>Recent content in Rust on lowestcase</description>
+ <title>correctness on lowest case</title>
+ <link>https://o-santi.github.com/tags/correctness/</link>
+ <description>Recent content in correctness on lowest case</description>
<generator>Hugo</generator>
<language>en-US</language>
- <lastBuildDate>Sat, 01 Jun 2024 15:21:30 -0300</lastBuildDate>
- <atom:link href="http://localhost:1313/blog/rust/index.xml" rel="self" type="application/rss+xml" />
+ <lastBuildDate>Sat, 01 Jun 2024 17:29:17 -0300</lastBuildDate>
+ <atom:link href="https://o-santi.github.com/tags/correctness/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>rust is not about memory safety</title>
- <link>http://localhost:1313/rust-is-not-about-memory-safety/</link>
- <pubDate>Sat, 01 Jun 2024 15:21:30 -0300</pubDate>
- <guid>http://localhost:1313/rust-is-not-about-memory-safety/</guid>
+ <link>https://o-santi.github.com/blog/rust-is-not-about-memory-safety/</link>
+ <pubDate>Sat, 01 Jun 2024 17:29:17 -0300</pubDate>
+ <guid>https://o-santi.github.com/blog/rust-is-not-about-memory-safety/</guid>
<description>most of rust discussions nowadays revolve about memory safety, and how it is safer than C / C++ / zig / go / whatever language is being trashed on twitter that day. while yes, that is true - not that the bar for most of these is particularly high - what I think is the main point of the language is always glossed over: correctness. when one tries to criticize any of the aforementioned languages, one is answered with the following argument:</description>
</item>
</channel>
diff --git a/public/blog/correctness/index.html b/public/tags/rust/index.html
index 9c57d5a..0fce287 100644
--- a/public/blog/correctness/index.html
+++ b/public/tags/rust/index.html
@@ -1,37 +1,37 @@
<!DOCTYPE html>
<html lang="en-US">
-<head><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=1313&amp;path=livereload" data-no-instant defer></script>
+<head>
<meta http-equiv="X-Clacks-Overhead" content="GNU Terry Pratchett" />
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
-<title>Correctness | lowestcase</title>
-<meta name="title" content="Correctness" />
-<meta name="description" content="a lowercase only blog" />
+<title>rust | lowest case</title>
+<meta name="title" content="rust" />
+<meta name="description" content="a lowercase only blog, purely for aesthetics" />
<meta name="keywords" content="correctness,rust," />
-<meta property="og:url" content="http://localhost:1313/blog/correctness/">
- <meta property="og:site_name" content="lowestcase">
- <meta property="og:title" content="Correctness">
- <meta property="og:description" content="a lowercase only blog">
+<meta property="og:url" content="https://o-santi.github.com/tags/rust/">
+ <meta property="og:site_name" content="lowest case">
+ <meta property="og:title" content="rust">
+ <meta property="og:description" content="a lowercase only blog, purely for aesthetics">
<meta property="og:locale" content="en-US">
<meta property="og:type" content="website">
-<meta name="twitter:card" content="summary"><meta name="twitter:title" content="Correctness">
-<meta name="twitter:description" content="a lowercase only blog">
+<meta name="twitter:card" content="summary"><meta name="twitter:title" content="rust">
+<meta name="twitter:description" content="a lowercase only blog, purely for aesthetics">
- <meta itemprop="name" content="Correctness">
- <meta itemprop="description" content="a lowercase only blog">
- <meta itemprop="dateModified" content="2024-06-01T15:21:30-03:00">
+ <meta itemprop="name" content="rust">
+ <meta itemprop="description" content="a lowercase only blog, purely for aesthetics">
+ <meta itemprop="dateModified" content="2024-06-01T17:29:17-03:00">
<meta name="referrer" content="no-referrer-when-downgrade" />
- <link rel="alternate" type="application/rss+xml" href="http://localhost:1313/blog/correctness/index.xml" title="lowestcase" />
+ <link rel="alternate" type="application/rss+xml" href="https://o-santi.github.com/tags/rust/index.xml" title="lowest case" />
<style>
body {
font-family: Verdana, sans-serif;
@@ -212,7 +212,7 @@
}
a:hover {
color:#d46b08;
- text-decoration: dotted underline;
+ text-decoration: wavy underline;
}
ul.blog-posts li a:visited {
color:#ffc069;
@@ -225,11 +225,10 @@
</head>
<body>
- <header><a href="/" class="title">
- <h2>lowestcase</h2>
-</a>
-<nav><a href="/">home</a>
-
+ <header><nav>
+ <a href="/" class="title">
+ <h2 style="display:inline">lowest case</h2>
+ </a>
<a href="/about/">about</a>
@@ -240,9 +239,9 @@
<main>
<content>
- <h3 style="margin-bottom:0">Filtering for "Correctness"</h3>
+ <h3 style="margin-bottom:0">filtering for "rust"</h3>
<small>
- <a href="/blog">Remove filter</a>
+ <a href="/blog">remove filter</a>
</small>
<ul class="blog-posts">
@@ -251,11 +250,11 @@
<span>
<i>
<time datetime='2024-06-01' pubdate>
- 01-06-2024
+ 01 june, 2024
</time>
</i>
</span>
- <a href="http://localhost:1313/rust-is-not-about-memory-safety/">rust is not about memory safety</a>
+ <a href="https://o-santi.github.com/blog/rust-is-not-about-memory-safety/">rust is not about memory safety</a>
</li>
</ul>
@@ -264,7 +263,7 @@
</content>
</main>
- <footer>leonardo santiago | <a href="https://github.com/o-santi" title="github"><svg width="16px" height="16px" viewBox="0 0 24 24" fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M9 19c-5 1.5-5-2.5-7-3m14 6v-3.87a3.37 3.37.0 00-.94-2.61c3.14-.35 6.44-1.54 6.44-7A5.44 5.44.0 0020 4.77 5.07 5.07.0 0019.91 1S18.73.65 16 2.48a13.38 13.38.0 00-7 0C6.27.65 5.09 1 5.09 1A5.07 5.07.0 005 4.77 5.44 5.44.0 003.5 8.55c0 5.42 3.3 6.61 6.44 7A3.37 3.37.0 009 18.13V22"></path></svg></a> <a href="mailto:[email protected]" title="email"> <svg width="16px" height="16px" viewBox="0 0 1920 1920" fill="#fa8c16"><path d="M0 1694.235h1920V226H0v1468.235ZM112.941 376.664V338.94H1807.06v37.723L960 1111.233l-847.059-734.57ZM1807.06 526.198v950.513l-351.134-438.89-88.32 70.475 378.353 472.998H174.042l378.353-472.998-88.32-70.475-351.134 438.89V526.198L960 1260.768l847.059-734.57Z" fill-rule="evenodd"></path></svg></a>
+ <footer><p> leonardo santiago | <a href="https://github.com/o-santi" title="github"><svg width="16px" height="16px" viewBox="0 0 24 24" fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M9 19c-5 1.5-5-2.5-7-3m14 6v-3.87a3.37 3.37.0 00-.94-2.61c3.14-.35 6.44-1.54 6.44-7A5.44 5.44.0 0020 4.77 5.07 5.07.0 0019.91 1S18.73.65 16 2.48a13.38 13.38.0 00-7 0C6.27.65 5.09 1 5.09 1A5.07 5.07.0 005 4.77 5.44 5.44.0 003.5 8.55c0 5.42 3.3 6.61 6.44 7A3.37 3.37.0 009 18.13V22"></path></svg></a> <a href="mailto:[email protected]" title="email"> <svg width="16px" height="16px" viewBox="0 0 1920 1920" fill="currentcolor"><path d="M0 1694.235h1920V226H0v1468.235ZM112.941 376.664V338.94H1807.06v37.723L960 1111.233l-847.059-734.57ZM1807.06 526.198v950.513l-351.134-438.89-88.32 70.475 378.353 472.998H174.042l378.353-472.998-88.32-70.475-351.134 438.89V526.198L960 1260.768l847.059-734.57Z" fill-rule="evenodd"></path></svg></a> <a href="https://linkedin.com/leonardo-ribeiro-santiago" title="linkedin"><svg xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" width="16px" height="16px" viewBox="0 0 30 30" fill="currentcolor"><path d="M24,4H6C4.895,4,4,4.895,4,6v18c0,1.105,0.895,2,2,2h18c1.105,0,2-0.895,2-2V6C26,4.895,25.105,4,24,4z M10.954,22h-2.95 v-9.492h2.95V22z M9.449,11.151c-0.951,0-1.72-0.771-1.72-1.72c0-0.949,0.77-1.719,1.72-1.719c0.948,0,1.719,0.771,1.719,1.719 C11.168,10.38,10.397,11.151,9.449,11.151z M22.004,22h-2.948v-4.616c0-1.101-0.02-2.517-1.533-2.517 c-1.535,0-1.771,1.199-1.771,2.437V22h-2.948v-9.492h2.83v1.297h0.04c0.394-0.746,1.356-1.533,2.791-1.533 c2.987,0,3.539,1.966,3.539,4.522V22z"></path></svg></a> </p>
</footer>
diff --git a/public/blog/correctness/index.xml b/public/tags/rust/index.xml
index 9b91eed..bf11a4d 100644
--- a/public/blog/correctness/index.xml
+++ b/public/tags/rust/index.xml
@@ -1,18 +1,18 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
- <title>Correctness on lowestcase</title>
- <link>http://localhost:1313/blog/correctness/</link>
- <description>Recent content in Correctness on lowestcase</description>
+ <title>rust on lowest case</title>
+ <link>https://o-santi.github.com/tags/rust/</link>
+ <description>Recent content in rust on lowest case</description>
<generator>Hugo</generator>
<language>en-US</language>
- <lastBuildDate>Sat, 01 Jun 2024 15:21:30 -0300</lastBuildDate>
- <atom:link href="http://localhost:1313/blog/correctness/index.xml" rel="self" type="application/rss+xml" />
+ <lastBuildDate>Sat, 01 Jun 2024 17:29:17 -0300</lastBuildDate>
+ <atom:link href="https://o-santi.github.com/tags/rust/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>rust is not about memory safety</title>
- <link>http://localhost:1313/rust-is-not-about-memory-safety/</link>
- <pubDate>Sat, 01 Jun 2024 15:21:30 -0300</pubDate>
- <guid>http://localhost:1313/rust-is-not-about-memory-safety/</guid>
+ <link>https://o-santi.github.com/blog/rust-is-not-about-memory-safety/</link>
+ <pubDate>Sat, 01 Jun 2024 17:29:17 -0300</pubDate>
+ <guid>https://o-santi.github.com/blog/rust-is-not-about-memory-safety/</guid>
<description>most of rust discussions nowadays revolve about memory safety, and how it is safer than C / C++ / zig / go / whatever language is being trashed on twitter that day. while yes, that is true - not that the bar for most of these is particularly high - what I think is the main point of the language is always glossed over: correctness. when one tries to criticize any of the aforementioned languages, one is answered with the following argument:</description>
</item>
</channel>
diff --git a/themes/hugo-bearblog b/themes/hugo-bearblog
deleted file mode 160000
-Subproject efc24bc5e95f0ccb88051e1a7d95e8a1404e953
diff --git a/themes/hugo-bearblog/.gitignore b/themes/hugo-bearblog/.gitignore
new file mode 100644
index 0000000..3c3629e
--- /dev/null
+++ b/themes/hugo-bearblog/.gitignore
@@ -0,0 +1 @@
+node_modules
diff --git a/themes/hugo-bearblog/.jsbeautifyrc b/themes/hugo-bearblog/.jsbeautifyrc
new file mode 100644
index 0000000..4e39ba0
--- /dev/null
+++ b/themes/hugo-bearblog/.jsbeautifyrc
@@ -0,0 +1,27 @@
+{
+ "indent_size": 2,
+ "indent_char": " ",
+ "indent_with_tabs": false,
+ "editorconfig": false,
+ "eol": "\n",
+ "end_with_newline": true,
+ "indent_level": 0,
+ "preserve_newlines": true,
+ "max_preserve_newlines": 10,
+ "space_in_paren": false,
+ "space_in_empty_paren": false,
+ "jslint_happy": false,
+ "space_after_anon_function": false,
+ "space_after_named_function": false,
+ "brace_style": "collapse",
+ "unindent_chained_methods": false,
+ "break_chained_methods": false,
+ "keep_array_indentation": false,
+ "unescape_strings": false,
+ "wrap_line_length": 0,
+ "e4x": false,
+ "comma_first": false,
+ "operator_position": "before-newline",
+ "indent_empty_lines": false,
+ "templating": ["auto"]
+}
diff --git a/themes/hugo-bearblog/LICENSE b/themes/hugo-bearblog/LICENSE
new file mode 100644
index 0000000..3be3bb7
--- /dev/null
+++ b/themes/hugo-bearblog/LICENSE
@@ -0,0 +1,20 @@
+The MIT License (MIT)
+
+Copyright (c) 2020 Jan Raasch
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
+the Software, and to permit persons to whom the Software is furnished to do so,
+subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
+FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
+COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/themes/hugo-bearblog/README.md b/themes/hugo-bearblog/README.md
new file mode 100644
index 0000000..ab0a75e
--- /dev/null
+++ b/themes/hugo-bearblog/README.md
@@ -0,0 +1,86 @@
+# Hugo ʕ•ᴥ•ʔ Bear Blog ![Test](https://github.com/janraasch/hugo-bearblog/workflows/CI/badge.svg?branch=master&event=push)
+
+🧸 A [Hugo](https://gohugo.io/)-theme based on [Bear Blog](https://bearblog.dev).
+
+> Free, no-nonsense, super-fast blogging.
+
+## Demo
+
+For a current & working demo of this theme, please check out https://janraasch.github.io/hugo-bearblog/ 🎯.
+
+## Screenshots
+
+⬜️ [Light][light-screenshot]
+
+⬛️ [Dark][dark-screenshot]
+
+When the user's browser is running »dark mode«, the dark color scheme will be used automatically. The default is the light/white color scheme. Check out the [`style.html`](https://github.com/janraasch/hugo-bearblog/blob/master/layouts/partials/style.html)-file for the implementation.
+
+## Installation
+
+If you already have a Hugo site on your machine, you can simply add this theme via
+
+```bash
+git submodule add https://github.com/janraasch/hugo-bearblog.git themes/hugo-bearblog
+```
+
+Then, adjust the `hugo.toml` as detailed below.
+
+For more information, read the official [setup guide][hugo-setup-guide] of Hugo.
+
+## Adjust configuration / hugo.toml
+
+Please check out the [hugo.toml](https://github.com/janraasch/hugo-bearblog/blob/master/exampleSite/hugo.toml) included in the [exampleSite](https://github.com/janraasch/hugo-bearblog/tree/master/exampleSite) of this theme.
+
+## Content & structure
+
+### Starting fresh
+
+If you are starting fresh, simply copy over the contents of the `exampleSite`-directory included in this theme to your source directory. That should give you a good idea about how things work, and then you can go on from there to make the site your own.
+
+### Adding / editing content
+
+#### Index-Page
+
+The contents of the `index`-page may be changed by editing your `content/_index.md`-file.
+
+#### Page
+
+You can add **a new page** via running
+
+```bash
+hugo new my-new-page.md
+```
+
+#### Blog-Post
+
+You can add **a new blog-post** via running
+
+```bash
+hugo new blog/my-new-post.md
+```
+
+### Adding your branding / colors / css
+
+Add a `custom_head.html`-file to your `layouts/partials`-directory. In there you may add a `<style>`-tag, *or* you may add a `<link>`-tag referencing your own `custom.css` (in case you prefer to have a separate `.css`-file). Check out the [`style.html`](https://github.com/janraasch/hugo-bearblog/blob/master/layouts/partials/style.html)-file to find out which CSS-styles are applied by default.
+
+## Issues / Feedback / Contributing
+Please use [GitHub issues](https://github.com/janraasch/hugo-bearblog/issues) and [Pull Requests](https://github.com/janraasch/hugo-bearblog/pulls).
+
+## Development
+Run the `exampleSite` locally via
+
+```bash
+hugo server --source ./exampleSite --themesDir ../..
+```
+
+## Special Thanks 🎁
+
+A special thank you goes out to [Herman](https://herman.bearblog.dev), for creating the original [ʕ•ᴥ•ʔ Bear Blog](https://bearblog.dev/).
+
+## License
+[MIT License](http://en.wikipedia.org/wiki/MIT_License) © [Jan Raasch](https://www.janraasch.com)
+
+[hugo-setup-guide]: https://gohugo.io/getting-started/installing
+[light-screenshot]: https://raw.githubusercontent.com/janraasch/hugo-bearblog/master/images/screenshot.png
+[dark-screenshot]: https://raw.githubusercontent.com/janraasch/hugo-bearblog/master/images/screenshot-dark.png
diff --git a/themes/hugo-bearblog/archetypes/blog.md b/themes/hugo-bearblog/archetypes/blog.md
new file mode 100644
index 0000000..e4594c6
--- /dev/null
+++ b/themes/hugo-bearblog/archetypes/blog.md
@@ -0,0 +1,13 @@
++++
+title = "{{ replace .Name "-" " " | title }}"
+date = "{{ .Date }}"
+
+#
+# description is optional
+#
+# description = "An optional description for SEO. If not provided, an automatically created summary will be used."
+
+tags = [{{ range $plural, $terms := .Site.Taxonomies }}{{ range $term, $val := $terms }}"{{ printf "%s" $term }}",{{ end }}{{ end }}]
++++
+
+This is a page about »{{ replace .Name "-" " " | title }}«.
diff --git a/themes/hugo-bearblog/archetypes/default.md b/themes/hugo-bearblog/archetypes/default.md
new file mode 100644
index 0000000..e8406b3
--- /dev/null
+++ b/themes/hugo-bearblog/archetypes/default.md
@@ -0,0 +1,22 @@
++++
+title = "{{ replace .Name "-" " " | title }}"
+date = "{{ .Date }}"
+
+#
+# Set menu to "main" to add this page to
+# the main menu on top of the page
+#
+menu = "main"
+
+#
+# description is optional
+#
+# description = "An optional description for SEO. If not provided, an automatically created summary will be used."
+
+#
+# tags are optional
+#
+# tags = [{{ range $plural, $terms := .Site.Taxonomies }}{{ range $term, $val := $terms }}"{{ printf "%s" $term }}",{{ end }}{{ end }}]
++++
+
+This is a page about »{{ replace .Name "-" " " | title }}«.
diff --git a/themes/hugo-bearblog/exampleSite/content/_index.md b/themes/hugo-bearblog/exampleSite/content/_index.md
new file mode 100644
index 0000000..a6ae4c7
--- /dev/null
+++ b/themes/hugo-bearblog/exampleSite/content/_index.md
@@ -0,0 +1,28 @@
++++
+# This title is used as the og:title on Hugo's internal
+# opengraph structured data template on the home page.
+# See https://ogp.me/ and https://gohugo.io/templates/internal#open-graph.
+title = "Hugo ʕ•ᴥ•ʔ Bear"
++++
+
+# A match made in heaven
+
+There is a website obesity crisis. Bloated websites full of scripts, ads, and trackers are slowing your readers down every time they try to read your well-crafted content.
+
+Hugo Bear Blog is all you need to build a fantastic and optimized site or blog. It works perfectly on **any** viewing device. All you need to focus on is writing good content.
+
+[Go to the original bear blog](https://bearblog.dev/).
+
+---
+
+What happens when you combine the worlds' fastest, most lightweight static site generator with a design theme built to provide you with free, no-nonsense, super-fast blogging capabilities?
+
+**Use this theme, and find out!**
+
+Made with 💟 by [Jan Raasch](https://www.janraasch.com).
+
+---
+
+Simply publish content online, grow an audience, and keep your pages tiny, fast, and **optimized for search engines**.
+
+Each page is ~5kb, and you can **host your blog yourself**.
diff --git a/themes/hugo-bearblog/exampleSite/content/bear.md b/themes/hugo-bearblog/exampleSite/content/bear.md
new file mode 100644
index 0000000..a25a2dc
--- /dev/null
+++ b/themes/hugo-bearblog/exampleSite/content/bear.md
@@ -0,0 +1,18 @@
++++
+title = "Bear"
+menu = "main"
++++
+
+# Bear
+
+Website: https://bearblog.dev
+
+There is a website obesity crisis. Bloated websites are full of scripts, ads, and trackers slowing your readers down every time they try to read your well-crafted content.
+
+Bear is all you need to build a fantastic and optimized site or blog. It works perfectly on **any** viewing device. All you need to focus on is writing good content.
+
+Bear makes it simple to publish content online and grow an audience while keeping pages tiny, fast, and **optimized for search engines.**
+
+Each page is ~5kb.
+
+Learn more and contribute on [GitHub](https://github.com/HermanMartinus/bearblog).
diff --git a/themes/hugo-bearblog/exampleSite/content/blog/_index.md b/themes/hugo-bearblog/exampleSite/content/blog/_index.md
new file mode 100644
index 0000000..34651ab
--- /dev/null
+++ b/themes/hugo-bearblog/exampleSite/content/blog/_index.md
@@ -0,0 +1,3 @@
++++
+title = "Blog"
++++
diff --git a/themes/hugo-bearblog/exampleSite/content/blog/markdown-syntax.md b/themes/hugo-bearblog/exampleSite/content/blog/markdown-syntax.md
new file mode 100644
index 0000000..4e3aa72
--- /dev/null
+++ b/themes/hugo-bearblog/exampleSite/content/blog/markdown-syntax.md
@@ -0,0 +1,144 @@
++++
+title = "Markdown Syntax Guide"
+date = "2020-01-03"
+description = "Sample article showcasing basic Markdown syntax and formatting for HTML elements."
+tags = [
+ "markdown",
+ "syntax",
+]
++++
+
+For a quick cheatsheet, check out https://simplemde.com/markdown-guide.
+
+---
+
+This article offers a sample of basic Markdown syntax that can be used in Hugo content files, also it shows whether basic HTML elements are decorated with CSS in a Hugo theme.
+<!--more-->
+
+## Headings
+
+The following HTML `<h1>`—`<h6>` elements represent six levels of section headings. `<h1>` is the highest section level while `<h6>` is the lowest.
+
+# H1
+## H2
+### H3
+#### H4
+##### H5
+###### H6
+
+## Paragraph
+
+Xerum, quo qui aut unt expliquam qui dolut labo. Aque venitatiusda cum, voluptionse latur sitiae dolessi aut parist aut dollo enim qui voluptate ma dolestendit peritin re plis aut quas inctum laceat est volestemque commosa as cus endigna tectur, offic to cor sequas etum rerum idem sintibus eiur? Quianimin porecus evelectur, cum que nis nust voloribus ratem aut omnimi, sitatur? Quiatem. Nam, omnis sum am facea corem alique molestrunt et eos evelece arcillit ut aut eos eos nus, sin conecerem erum fuga. Ri oditatquam, ad quibus unda veliamenimin cusam et facea ipsamus es exerum sitate dolores editium rerore eost, temped molorro ratiae volorro te reribus dolorer sperchicium faceata tiustia prat.
+
+Itatur? Quiatae cullecum rem ent aut odis in re eossequodi nonsequ idebis ne sapicia is sinveli squiatum, core et que aut hariosam ex eat.
+
+## Blockquotes
+
+The blockquote element represents content that is quoted from another source, optionally with a citation which must be within a `footer` or `cite` element, and optionally with in-line changes such as annotations and abbreviations.
+
+#### Blockquote without attribution
+
+> Tiam, ad mint andaepu dandae nostion secatur sequo quae.
+> **Note** that you can use *Markdown syntax* within a blockquote.
+
+#### Blockquote with attribution
+
+> Don't communicate by sharing memory, share memory by communicating.<br>
+> — <cite>Rob Pike[^1]</cite>
+
+[^1]: The above quote is excerpted from Rob Pike's [talk](https://www.youtube.com/watch?v=PAAkCSZUG1c) during Gopherfest, November 18, 2015.
+
+## Tables
+
+Tables aren't part of the core Markdown spec, but Hugo supports supports them out-of-the-box.
+
+ Name | Age
+--------|------
+ Bob | 27
+ Alice | 23
+
+#### Inline Markdown within tables
+
+| Italics | Bold | Code |
+| -------- | -------- | ------ |
+| *italics* | **bold** | `code` |
+
+## Code Blocks
+
+#### Code block with backticks
+
+```html
+<!doctype html>
+<html lang="en">
+<head>
+ <meta charset="utf-8">
+ <title>Example HTML5 Document</title>
+</head>
+<body>
+ <p>Test</p>
+</body>
+</html>
+```
+
+#### Code block indented with four spaces
+
+ <!doctype html>
+ <html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Example HTML5 Document</title>
+ </head>
+ <body>
+ <p>Test</p>
+ </body>
+ </html>
+
+#### Code block with Hugo's internal highlight shortcode
+{{< highlight html >}}
+<!doctype html>
+<html lang="en">
+<head>
+ <meta charset="utf-8">
+ <title>Example HTML5 Document</title>
+</head>
+<body>
+ <p>Test</p>
+</body>
+</html>
+{{< /highlight >}}
+
+## List Types
+
+#### Ordered List
+
+1. First item
+2. Second item
+3. Third item
+
+#### Unordered List
+
+* List item
+* Another item
+* And another item
+
+#### Nested list
+
+* Fruit
+ * Apple
+ * Orange
+ * Banana
+* Dairy
+ * Milk
+ * Cheese
+
+## Other Elements — abbr, sub, sup, kbd, mark
+
+<abbr title="Graphics Interchange Format">GIF</abbr> is a bitmap image format.
+
+H<sub>2</sub>O
+
+X<sup>n</sup> + Y<sup>n</sup> = Z<sup>n</sup>
+
+Press <kbd><kbd>CTRL</kbd>+<kbd>ALT</kbd>+<kbd>Delete</kbd></kbd> to end the session.
+
+Most <mark>salamanders</mark> are nocturnal, and hunt for insects, worms, and other small creatures.
diff --git a/themes/hugo-bearblog/exampleSite/content/hugo.md b/themes/hugo-bearblog/exampleSite/content/hugo.md
new file mode 100644
index 0000000..6f6ce0d
--- /dev/null
+++ b/themes/hugo-bearblog/exampleSite/content/hugo.md
@@ -0,0 +1,26 @@
++++
+title = "Hugo"
+menu = "main"
++++
+
+# Hugo
+
+Website: https://gohugo.io
+
+Written in Go, Hugo is an open-source static site generator available under the [Apache Licence 2.0.](https://github.com/gohugoio/hugo/blob/master/LICENSE) Hugo supports TOML, YAML, and JSON data file types, Markdown and HTML content files, and uses shortcodes to add rich content. Other notable features are taxonomies, multilingual mode, image processing, custom output formats, HTML/CSS/JS minification, and support for Sass SCSS workflows.
+
+Hugo makes use of a variety of open source projects including:
+
+* https://github.com/yuin/goldmark
+* https://github.com/alecthomas/chroma
+* https://github.com/muesli/smartcrop
+* https://github.com/spf13/cobra
+* https://github.com/spf13/viper
+
+Hugo is ideal for blogs, corporate websites, creative portfolios, online magazines, single-page applications, or even a website with thousands of pages.
+
+Hugo is for people who want to hand-code their own website without worrying about setting up complicated runtimes, dependencies, and databases.
+
+Websites built with Hugo are swift, secure and can be deployed anywhere including, AWS, GitHub Pages, Heroku, Netlify, and any other hosting provider.
+
+Learn more and contribute on [GitHub](https://github.com/gohugoio).
diff --git a/themes/hugo-bearblog/exampleSite/hugo.toml b/themes/hugo-bearblog/exampleSite/hugo.toml
new file mode 100644
index 0000000..d67e845
--- /dev/null
+++ b/themes/hugo-bearblog/exampleSite/hugo.toml
@@ -0,0 +1,52 @@
+# Base URL used when generating links to your pages
+# Set to the URL for your site
+baseURL = "https://example.com"
+
+# The name of this wonderful theme ;-).
+theme = 'hugo-bearblog'
+
+# Basic metadata configuration for your blog.
+title = "Hugo ʕ•ᴥ•ʔ Bear Blog"
+author = "Jane Doe"
+copyright = "Copyright © 2020, Jane Doe."
+languageCode = "en-US"
+
+# Generate a nice robots.txt for SEO
+enableRobotsTXT = true
+
+# Generate "Bearblog"-like URLs !only!, see https://bearblog.dev/.
+disableKinds = ["taxonomy"]
+ignoreErrors = ["error-disable-taxonomy"]
+[permalinks]
+ blog = "/:slug/"
+ tags = "/blog/:slug"
+
+[params]
+ # The "description" of your website. This is used in the meta data of your generated html.
+ description = "Hugo + Bear = :heart:"
+
+ # The path to your "favicon". This should be a square (at least 32px x 32px) png-file.
+ # Hint: It's good practise to also put a "favicon.ico"-file into your "static"-folder.
+ favicon = "images/favicon.png"
+
+ # These "images" are used for the structured data templates. This will show up, when
+ # services like Twitter or Slack want to generate a preview of a link to your site.
+ # See https://gohugo.io/templates/internal#twitter-cards and
+ # https://gohugo.io/templates/internal#open-graph.
+ images = ["images/share.png"]
+
+ # Another "title" :-). This one is used as the site_name on the Hugo's internal
+ # opengraph structured data template.
+ # See https://ogp.me/ and https://gohugo.io/templates/internal#open-graph.
+ title = "Hugo ʕ•ᴥ•ʔ Bear"
+
+ # This theme will, by default, inject a made-with-line at the bottom of the page.
+ # You can turn it off, but we would really appreciate if you don’t :-).
+ # hideMadeWithLine = true
+
+ # By default, this theme displays dates with a format like "02 Jan, 2006", but
+ # you can customize it by setting the `dateFormat` param in your site's config
+ # file. See [Hugo's Format function docs](https://gohugo.io/functions/format/)
+ # for details. An example TOML config that uses [ISO
+ # 8601](https://en.wikipedia.org/wiki/ISO_8601) format:
+ # dateFormat = "2006-01-02"
diff --git a/themes/hugo-bearblog/exampleSite/static/favicon.ico b/themes/hugo-bearblog/exampleSite/static/favicon.ico
new file mode 100644
index 0000000..5f67af6
--- /dev/null
+++ b/themes/hugo-bearblog/exampleSite/static/favicon.ico
Binary files differ
diff --git a/themes/hugo-bearblog/exampleSite/static/images/favicon.png b/themes/hugo-bearblog/exampleSite/static/images/favicon.png
new file mode 100644
index 0000000..a3ef781
--- /dev/null
+++ b/themes/hugo-bearblog/exampleSite/static/images/favicon.png
Binary files differ
diff --git a/themes/hugo-bearblog/exampleSite/static/images/share.png b/themes/hugo-bearblog/exampleSite/static/images/share.png
new file mode 100644
index 0000000..a08d93e
--- /dev/null
+++ b/themes/hugo-bearblog/exampleSite/static/images/share.png
Binary files differ
diff --git a/themes/hugo-bearblog/layouts/404.html b/themes/hugo-bearblog/layouts/404.html
new file mode 100644
index 0000000..c6b3dfd
--- /dev/null
+++ b/themes/hugo-bearblog/layouts/404.html
@@ -0,0 +1,6 @@
+{{ define "title" }}404{{ end }}
+
+{{ define "main" }}
+<h1>404</h1>
+<h2>ʕノ•ᴥ•ʔノ ︵ ┻━┻</h2>
+{{ end }}
diff --git a/themes/hugo-bearblog/layouts/_default/baseof.html b/themes/hugo-bearblog/layouts/_default/baseof.html
new file mode 100644
index 0000000..6bce2dc
--- /dev/null
+++ b/themes/hugo-bearblog/layouts/_default/baseof.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="{{ with .Site.LanguageCode }}{{ . }}{{ else }}en-US{{ end }}">
+
+<head>
+ <meta http-equiv="X-Clacks-Overhead" content="GNU Terry Pratchett" />
+ <meta charset="utf-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+ {{- partial "favicon.html" . -}}
+ <title>{{- block "title" . }}{{ with .Title }}{{ . }} | {{ end }}{{ .Site.Title }}{{- end }}</title>
+
+ {{- partial "seo_tags.html" . -}}
+ <meta name="referrer" content="no-referrer-when-downgrade" />
+
+ {{ with .OutputFormats.Get "rss" -}}
+ {{ printf `<link rel="%s" type="%s" href="%s" title="%s" />` .Rel .MediaType.Type .Permalink $.Site.Title | safeHTML }}
+ {{ end -}}
+
+ {{- partial "style.html" . -}}
+
+ <!-- A partial to be overwritten by the user.
+ Simply place a custom_head.html into
+ your local /layouts/partials-directory -->
+ {{- partial "custom_head.html" . -}}
+</head>
+
+<body>
+ <header>
+ {{- partial "header.html" . -}}
+ </header>
+ <main>
+ {{- block "main" . }}{{- end }}
+ </main>
+ <footer>
+ {{- partial "footer.html" . -}}
+ </footer>
+
+ <!-- A partial to be overwritten by the user.
+ Simply place a custom_body.html into
+ your local /layouts/partials-directory -->
+ {{- partial "custom_body.html" . -}}
+</body>
+
+</html>
diff --git a/themes/hugo-bearblog/layouts/_default/list.html b/themes/hugo-bearblog/layouts/_default/list.html
new file mode 100644
index 0000000..443cd2f
--- /dev/null
+++ b/themes/hugo-bearblog/layouts/_default/list.html
@@ -0,0 +1,38 @@
+{{ define "main" }}
+<content>
+ {{ if .Data.Singular }}
+ <h3 style="margin-bottom:0">filtering for "{{ .Title }}"</h3>
+ <small>
+ <a href="{{ "blog" | relURL }}">remove filter</a>
+ </small>
+ {{ end }}
+ <ul class="blog-posts">
+ {{ range .Pages }}
+ <li>
+ <span>
+ <i>
+ <time datetime='{{ .Date.Format "2006-01-02" }}' pubdate>
+ {{ strings.ToLower (.Date.Format (default "02 Jan, 2006" .Site.Params.dateFormat)) }}
+ </time>
+ </i>
+ </span>
+ <a href="{{ .Permalink }}">{{ .Title }}</a>
+ </li>
+ {{ else }}
+ <li>
+ No posts yet
+ </li>
+ {{ end }}
+ </ul>
+ {{ if .Data.Singular }}
+ {{else}}
+ <small>
+ <div>
+ {{ range .Site.Taxonomies.tags }}
+ <a href="{{ .Page.Permalink }}">#{{ .Page.Title }}</a>&nbsp;
+ {{ end }}
+ </div>
+ </small>
+ {{ end }}
+</content>
+{{ end }}
diff --git a/themes/hugo-bearblog/layouts/_default/single.html b/themes/hugo-bearblog/layouts/_default/single.html
new file mode 100644
index 0000000..346c9bc
--- /dev/null
+++ b/themes/hugo-bearblog/layouts/_default/single.html
@@ -0,0 +1,20 @@
+{{ define "main" }}
+{{ if eq .Type "blog" }}{{ if not .Params.menu }}
+<h1>{{ .Title }}</h1>
+<p>
+ <i>
+ <time datetime='{{ .Date.Format "2006-01-02" }}' pubdate>
+ {{ strings.ToLower (.Date.Format (default "02 Jan, 2006" .Site.Params.dateFormat)) }}
+ </time>
+ </i>
+</p>
+{{ end }}{{ end }}
+<content>
+ {{ .Content }}
+</content>
+<p>
+ {{ range (.GetTerms "tags") }}
+ <a href="{{ .Permalink }}">#{{ .LinkTitle }}</a>
+ {{ end }}
+</p>
+{{ end }}
diff --git a/themes/hugo-bearblog/layouts/index.html b/themes/hugo-bearblog/layouts/index.html
new file mode 100644
index 0000000..9983b08
--- /dev/null
+++ b/themes/hugo-bearblog/layouts/index.html
@@ -0,0 +1,3 @@
+{{ define "main" }}
+{{ .Content }}
+{{ end }}
diff --git a/themes/hugo-bearblog/layouts/partials/custom_body.html b/themes/hugo-bearblog/layouts/partials/custom_body.html
new file mode 100644
index 0000000..951fb15
--- /dev/null
+++ b/themes/hugo-bearblog/layouts/partials/custom_body.html
@@ -0,0 +1,3 @@
+ <!-- A partial to be overwritten by the user.
+ Simply place a custom_body.html into
+ your local /layouts/partials-directory -->
diff --git a/themes/hugo-bearblog/layouts/partials/custom_head.html b/themes/hugo-bearblog/layouts/partials/custom_head.html
new file mode 100644
index 0000000..4c53c40
--- /dev/null
+++ b/themes/hugo-bearblog/layouts/partials/custom_head.html
@@ -0,0 +1,3 @@
+<!-- A partial to be overwritten by the user.
+ Simply place a custom_head.html into
+ your local /layouts/partials-directory -->
diff --git a/themes/hugo-bearblog/layouts/partials/favicon.html b/themes/hugo-bearblog/layouts/partials/favicon.html
new file mode 100644
index 0000000..ccf1a5d
--- /dev/null
+++ b/themes/hugo-bearblog/layouts/partials/favicon.html
@@ -0,0 +1,2 @@
+{{ with .Site.Params.favicon }}
+<link rel="shortcut icon" href="{{ . | absURL }}" />{{ end }}
diff --git a/themes/hugo-bearblog/layouts/partials/footer.html b/themes/hugo-bearblog/layouts/partials/footer.html
new file mode 100644
index 0000000..8eca955
--- /dev/null
+++ b/themes/hugo-bearblog/layouts/partials/footer.html
@@ -0,0 +1 @@
+{{ if ne .Site.Params.hideMadeWithLine true }}Made with <a href="https://github.com/janraasch/hugo-bearblog/">Hugo ʕ•ᴥ•ʔ Bear</a>{{ end }}
diff --git a/themes/hugo-bearblog/layouts/partials/header.html b/themes/hugo-bearblog/layouts/partials/header.html
new file mode 100644
index 0000000..9bb5112
--- /dev/null
+++ b/themes/hugo-bearblog/layouts/partials/header.html
@@ -0,0 +1,4 @@
+<a href="{{ "" | relURL }}" class="title">
+ <h2>{{ .Site.Title }}</h2>
+</a>
+<nav>{{- partial "nav.html" . -}}</nav>
diff --git a/themes/hugo-bearblog/layouts/partials/nav.html b/themes/hugo-bearblog/layouts/partials/nav.html
new file mode 100644
index 0000000..f4fabed
--- /dev/null
+++ b/themes/hugo-bearblog/layouts/partials/nav.html
@@ -0,0 +1,7 @@
+<a href="{{ "" | relURL }}">Home</a>
+{{ range .Site.Menus.main }}
+<a href="{{ .URL }}">{{ .Name }}</a>
+{{ end }}
+{{ with .Site.GetPage "/blog" }}
+<a href="{{ "blog" | relURL }}">Blog</a>
+{{ end }}
diff --git a/themes/hugo-bearblog/layouts/partials/seo_tags.html b/themes/hugo-bearblog/layouts/partials/seo_tags.html
new file mode 100644
index 0000000..0b01f8b
--- /dev/null
+++ b/themes/hugo-bearblog/layouts/partials/seo_tags.html
@@ -0,0 +1,13 @@
+<!-- Primary Meta Tags -->
+<meta name="title" content="{{ with .Title }}{{ . }}{{ else }}{{ .Site.Title }}{{ end }}" />
+<meta name="description" content="{{ with .Description }}{{ . }}{{ else }}{{if .IsPage}}{{ .Summary }}{{ else }}{{ with .Site.Params.description }}{{ . }}{{ end }}{{ end }}{{ end }}" />
+<meta name="keywords" content="{{ if .IsPage}}{{ range $index, $tag := .Params.tags }}{{ $tag }},{{ end }}{{ else }}{{ range $plural, $terms := .Site.Taxonomies }}{{ range $term, $val := $terms }}{{ printf "%s," $term }}{{ end }}{{ end }}{{ end }}" />
+
+<!-- Open Graph / Facebook -->
+{{ template "_internal/opengraph.html" . }}
+
+<!-- Twitter -->
+{{ template "_internal/twitter_cards.html" . }}
+
+<!-- Microdata -->
+{{ template "_internal/schema.html" . }}
diff --git a/themes/hugo-bearblog/layouts/partials/style.html b/themes/hugo-bearblog/layouts/partials/style.html
new file mode 100644
index 0000000..122a641
--- /dev/null
+++ b/themes/hugo-bearblog/layouts/partials/style.html
@@ -0,0 +1,173 @@
+<style>
+ body {
+ font-family: Verdana, sans-serif;
+ margin: auto;
+ padding: 20px;
+ max-width: 720px;
+ text-align: left;
+ background-color: #fff;
+ word-wrap: break-word;
+ overflow-wrap: break-word;
+ line-height: 1.5;
+ color: #444;
+ }
+
+ h1,
+ h2,
+ h3,
+ h4,
+ h5,
+ h6,
+ strong,
+ b {
+ color: #222;
+ }
+
+ a {
+ color: #3273dc;
+ /*color: #ff5e6c;*/
+ }
+
+ .title {
+ text-decoration: none;
+ border: 0;
+ }
+
+ .title span {
+ font-weight: 400;
+ }
+
+ nav a {
+ margin-right: 10px;
+ }
+
+ textarea {
+ width: 100%;
+ font-size: 16px;
+ }
+
+ input {
+ font-size: 16px;
+ }
+
+ content {
+ line-height: 1.6;
+ }
+
+ table {
+ width: 100%;
+ }
+
+ img {
+ max-width: 100%;
+ }
+
+ code {
+ padding: 2px 5px;
+ background-color: #f2f2f2;
+ }
+
+ pre code {
+ color: #222;
+ display: block;
+ padding: 20px;
+ white-space: pre-wrap;
+ font-size: 14px;
+ overflow-x: auto;
+ }
+
+ div.highlight pre {
+ background-color: initial;
+ color: initial;
+ }
+
+ div.highlight code {
+ background-color: unset;
+ color: unset;
+ }
+
+ blockquote {
+ border-left: 1px solid #999;
+ color: #222;
+ padding-left: 20px;
+ font-style: italic;
+ }
+
+ footer {
+ padding: 25px;
+ text-align: center;
+ }
+
+ .helptext {
+ color: #777;
+ font-size: small;
+ }
+
+ .errorlist {
+ color: #eba613;
+ font-size: small;
+ }
+
+ /* blog posts */
+ ul.blog-posts {
+ list-style-type: none;
+ padding: unset;
+ }
+
+ ul.blog-posts li {
+ display: flex;
+ }
+
+ ul.blog-posts li span {
+ flex: 0 0 130px;
+ }
+
+ ul.blog-posts li a:visited {
+ color: #8b6fcb;
+ }
+
+ @media (prefers-color-scheme: dark) {
+ body {
+ background-color: #333;
+ color: #ddd;
+ }
+
+ h1,
+ h2,
+ h3,
+ h4,
+ h5,
+ h6,
+ strong,
+ b {
+ color: #eee;
+ }
+
+ a {
+ color: #8cc2dd;
+ }
+
+ code {
+ background-color: #777;
+ }
+
+ pre code {
+ color: #ddd;
+ }
+
+ blockquote {
+ color: #ccc;
+ }
+
+ textarea,
+ input {
+ background-color: #252525;
+ color: #ddd;
+ }
+
+ .helptext {
+ color: #aaa;
+ }
+ }
+
+</style>
diff --git a/themes/hugo-bearblog/layouts/robots.txt b/themes/hugo-bearblog/layouts/robots.txt
new file mode 100644
index 0000000..0326f5c
--- /dev/null
+++ b/themes/hugo-bearblog/layouts/robots.txt
@@ -0,0 +1,2 @@
+User-Agent: *
+Sitemap: {{ "sitemap.xml" | absURL }}
diff --git a/themes/hugo-bearblog/package-lock.json b/themes/hugo-bearblog/package-lock.json
new file mode 100644
index 0000000..7a248e9
--- /dev/null
+++ b/themes/hugo-bearblog/package-lock.json
@@ -0,0 +1,430 @@
+{
+ "name": "hugo-bearblog",
+ "version": "1.0.0",
+ "lockfileVersion": 1,
+ "requires": true,
+ "dependencies": {
+ "@isaacs/cliui": {
+ "version": "8.0.2",
+ "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz",
+ "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==",
+ "dev": true,
+ "requires": {
+ "string-width": "^5.1.2",
+ "string-width-cjs": "npm:string-width@^4.2.0",
+ "strip-ansi": "^7.0.1",
+ "strip-ansi-cjs": "npm:strip-ansi@^6.0.1",
+ "wrap-ansi": "^8.1.0",
+ "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "dev": true
+ },
+ "ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
+ "dev": true
+ },
+ "string-width-cjs": {
+ "version": "npm:[email protected]",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "dev": true,
+ "requires": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ },
+ "dependencies": {
+ "strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^5.0.1"
+ }
+ }
+ }
+ },
+ "strip-ansi-cjs": {
+ "version": "npm:[email protected]",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^5.0.1"
+ }
+ },
+ "wrap-ansi-cjs": {
+ "version": "npm:[email protected]",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+ "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ },
+ "dependencies": {
+ "string-width": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "dev": true,
+ "requires": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ }
+ },
+ "strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^5.0.1"
+ }
+ }
+ }
+ }
+ }
+ },
+ "@one-ini/wasm": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/@one-ini/wasm/-/wasm-0.1.1.tgz",
+ "integrity": "sha512-XuySG1E38YScSJoMlqovLru4KTUNSjgVTIjyh7qMX6aNN5HY5Ct5LhRJdxO79JtTzKfzV/bnWpz+zquYrISsvw==",
+ "dev": true
+ },
+ "@pkgjs/parseargs": {
+ "version": "0.11.0",
+ "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz",
+ "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==",
+ "dev": true,
+ "optional": true
+ },
+ "abbrev": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-2.0.0.tgz",
+ "integrity": "sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==",
+ "dev": true
+ },
+ "ansi-regex": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz",
+ "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==",
+ "dev": true
+ },
+ "ansi-styles": {
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz",
+ "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==",
+ "dev": true
+ },
+ "balanced-match": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
+ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
+ "dev": true
+ },
+ "brace-expansion": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "dev": true,
+ "requires": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "commander": {
+ "version": "10.0.1",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz",
+ "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==",
+ "dev": true
+ },
+ "config-chain": {
+ "version": "1.1.13",
+ "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz",
+ "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==",
+ "dev": true,
+ "requires": {
+ "ini": "^1.3.4",
+ "proto-list": "~1.2.1"
+ }
+ },
+ "cross-spawn": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
+ "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
+ "dev": true,
+ "requires": {
+ "path-key": "^3.1.0",
+ "shebang-command": "^2.0.0",
+ "which": "^2.0.1"
+ }
+ },
+ "eastasianwidth": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
+ "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==",
+ "dev": true
+ },
+ "editorconfig": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-1.0.4.tgz",
+ "integrity": "sha512-L9Qe08KWTlqYMVvMcTIvMAdl1cDUubzRNYL+WfA4bLDMHe4nemKkpmYzkznE1FwLKu0EEmy6obgQKzMJrg4x9Q==",
+ "dev": true,
+ "requires": {
+ "@one-ini/wasm": "0.1.1",
+ "commander": "^10.0.0",
+ "minimatch": "9.0.1",
+ "semver": "^7.5.3"
+ }
+ },
+ "emoji-regex": {
+ "version": "9.2.2",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
+ "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
+ "dev": true
+ },
+ "foreground-child": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz",
+ "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==",
+ "dev": true,
+ "requires": {
+ "cross-spawn": "^7.0.0",
+ "signal-exit": "^4.0.1"
+ }
+ },
+ "glob": {
+ "version": "10.3.10",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz",
+ "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==",
+ "dev": true,
+ "requires": {
+ "foreground-child": "^3.1.0",
+ "jackspeak": "^2.3.5",
+ "minimatch": "^9.0.1",
+ "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0",
+ "path-scurry": "^1.10.1"
+ }
+ },
+ "ini": {
+ "version": "1.3.8",
+ "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
+ "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==",
+ "dev": true
+ },
+ "is-fullwidth-code-point": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+ "dev": true
+ },
+ "isexe": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
+ "dev": true
+ },
+ "jackspeak": {
+ "version": "2.3.6",
+ "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz",
+ "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==",
+ "dev": true,
+ "requires": {
+ "@isaacs/cliui": "^8.0.2",
+ "@pkgjs/parseargs": "^0.11.0"
+ }
+ },
+ "js-beautify": {
+ "version": "1.15.1",
+ "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.15.1.tgz",
+ "integrity": "sha512-ESjNzSlt/sWE8sciZH8kBF8BPlwXPwhR6pWKAw8bw4Bwj+iZcnKW6ONWUutJ7eObuBZQpiIb8S7OYspWrKt7rA==",
+ "dev": true,
+ "requires": {
+ "config-chain": "^1.1.13",
+ "editorconfig": "^1.0.4",
+ "glob": "^10.3.3",
+ "js-cookie": "^3.0.5",
+ "nopt": "^7.2.0"
+ }
+ },
+ "js-cookie": {
+ "version": "3.0.5",
+ "resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-3.0.5.tgz",
+ "integrity": "sha512-cEiJEAEoIbWfCZYKWhVwFuvPX1gETRYPw6LlaTKoxD3s2AkXzkCjnp6h0V77ozyqj0jakteJ4YqDJT830+lVGw==",
+ "dev": true
+ },
+ "lru-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+ "dev": true,
+ "requires": {
+ "yallist": "^4.0.0"
+ }
+ },
+ "minimatch": {
+ "version": "9.0.1",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.1.tgz",
+ "integrity": "sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==",
+ "dev": true,
+ "requires": {
+ "brace-expansion": "^2.0.1"
+ }
+ },
+ "minipass": {
+ "version": "7.0.4",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz",
+ "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==",
+ "dev": true
+ },
+ "nopt": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-7.2.0.tgz",
+ "integrity": "sha512-CVDtwCdhYIvnAzFoJ6NJ6dX3oga9/HyciQDnG1vQDjSLMeKLJ4A93ZqYKDrgYSr1FBY5/hMYC+2VCi24pgpkGA==",
+ "dev": true,
+ "requires": {
+ "abbrev": "^2.0.0"
+ }
+ },
+ "path-key": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
+ "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
+ "dev": true
+ },
+ "path-scurry": {
+ "version": "1.10.1",
+ "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz",
+ "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==",
+ "dev": true,
+ "requires": {
+ "lru-cache": "^9.1.1 || ^10.0.0",
+ "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0"
+ },
+ "dependencies": {
+ "lru-cache": {
+ "version": "10.2.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz",
+ "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==",
+ "dev": true
+ }
+ }
+ },
+ "proto-list": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz",
+ "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==",
+ "dev": true
+ },
+ "semver": {
+ "version": "7.6.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz",
+ "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==",
+ "dev": true,
+ "requires": {
+ "lru-cache": "^6.0.0"
+ }
+ },
+ "shebang-command": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
+ "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
+ "dev": true,
+ "requires": {
+ "shebang-regex": "^3.0.0"
+ }
+ },
+ "shebang-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
+ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
+ "dev": true
+ },
+ "signal-exit": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
+ "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
+ "dev": true
+ },
+ "string-width": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
+ "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==",
+ "dev": true,
+ "requires": {
+ "eastasianwidth": "^0.2.0",
+ "emoji-regex": "^9.2.2",
+ "strip-ansi": "^7.0.1"
+ }
+ },
+ "strip-ansi": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz",
+ "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^6.0.1"
+ }
+ },
+ "which": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ "dev": true,
+ "requires": {
+ "isexe": "^2.0.0"
+ }
+ },
+ "wrap-ansi": {
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz",
+ "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^6.1.0",
+ "string-width": "^5.0.1",
+ "strip-ansi": "^7.0.1"
+ }
+ },
+ "yallist": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
+ "dev": true
+ }
+ }
+}
diff --git a/themes/hugo-bearblog/package.json b/themes/hugo-bearblog/package.json
new file mode 100644
index 0000000..b8cd943
--- /dev/null
+++ b/themes/hugo-bearblog/package.json
@@ -0,0 +1,28 @@
+{
+ "name": "hugo-bearblog",
+ "private": true,
+ "version": "1.0.0",
+ "description": "🧸 A [Hugo](https://gohugo.io/)-theme based on [Bear Blog](https://bearblog.dev).",
+ "main": "index.js",
+ "devDependencies": {
+ "js-beautify": "^1.15.1"
+ },
+ "scripts": {
+ "test": "npm run beautify",
+ "beautify": "js-beautify layouts/**/*.html -r"
+ },
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/janraasch/hugo-bearblog.git"
+ },
+ "author": {
+ "name": "Jan Raasch",
+ "email": "[email protected]",
+ "url": "https://www.janraasch.com"
+ },
+ "license": "MIT",
+ "bugs": {
+ "url": "https://github.com/janraasch/hugo-bearblog/issues"
+ },
+ "homepage": "https://github.com/janraasch/hugo-bearblog#readme"
+}
diff --git a/themes/hugo-bearblog/theme.toml b/themes/hugo-bearblog/theme.toml
new file mode 100644
index 0000000..066e67a
--- /dev/null
+++ b/themes/hugo-bearblog/theme.toml
@@ -0,0 +1,25 @@
+# theme.toml template for a Hugo theme
+# See https://github.com/gohugoio/hugoThemes#themetoml for an example
+
+name = "Hugo Bear Blog"
+license = "MIT"
+licenselink = "https://github.com/janraasch/hugo-bearblog/blob/master/LICENSE"
+description = "A Hugo theme based on »Bear Blog«. Free, no-nonsense, super-fast blogging. »Bear Blog« now includes a dark color scheme to support dark mode!"
+homepage = "https://github.com/janraasch/hugo-bearblog"
+demosite = "https://janraasch.github.io/hugo-bearblog/"
+tags = ["blog", "responsive", "minimal", "seo", "clean", "simple", "light", "minimalist", "mobile", "fast", "white", "minimalistic", "reading", "dark mode"]
+features = ["favicon", "seo", "no stylesheets", "no javascript", "rss", "dark mode"]
+min_version = "v0.110.0"
+# https://gohugo.io/content-management/taxonomies#default-taxonomies
+# https://gohugo.io/templates/taxonomy-templates/#example-list-tags-in-a-single-page-template
+# https://gohugo.io/templates/taxonomy-templates/#example-list-all-site-tags
+
+[author]
+ name = "Jan Raasch"
+ homepage = "https://www.janraasch.com"
+
+# If porting an existing theme
+[original]
+ name = "ʕ•ᴥ•ʔ Bear Blog"
+ homepage = "https://bearblog.dev"
+ repo = "https://github.com/HermanMartinus/bearblog"