1 Commits

Author SHA1 Message Date
9989a806e0 Update theme
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
2026-04-19 00:26:40 -07:00
36 changed files with 242 additions and 25 deletions

5
.gitignore vendored
View File

@@ -1,6 +1 @@
**/build/* **/build/*
.DS_Store
/.hugo_build.lock
/.hugo_cache/
/public/
/resources/

174
assets/scss/bergamot.scss Normal file
View File

@@ -0,0 +1,174 @@
@import "variables.scss";
@import "mixins.scss";
.bergamot-exercise {
counter-increment: bergamot-exercise;
.bergamot-root {
border: none;
padding: 0;
margin-top: 1em;
}
.bergamot-exercise-label {
.bergamot-exercise-number::after {
content: "Exercise " counter(bergamot-exercise);
font-weight: bold;
text-decoration: underline;
}
}
.bergamot-button {
@include bordered-block;
padding: 0.25em;
padding-left: 1em;
padding-right: 1em;
background-color: inherit;
display: inline-flex;
align-items: center;
justify-content: center;
transition: 0.25s;
font-family: $font-body;
@include var(color, text-color);
&.bergamot-hidden {
display: none;
}
.feather {
margin-right: 0.5em;
}
}
.bergamot-play {
.feather { color: $primary-color; }
&:hover, &:focus {
.feather { color: lighten($primary-color, 20%); }
}
}
.bergamot-reset {
.feather { color: #0099CC; }
&:hover, &:focus {
.feather { color: lighten(#0099CC, 20%); }
}
svg {
fill: none;
}
}
.bergamot-close {
.feather { color: tomato; }
&:hover, &:focus {
.feather { color: lighten(tomato, 20%); }
}
}
.bergamot-button-group {
margin-top: 1em;
}
}
.bergamot-root {
@include bordered-block;
padding: 1em;
.bergamot-section-heading {
margin-bottom: 0.5em;
font-family: $font-body;
font-style: normal;
font-weight: bold;
font-size: 1.25em;
}
.bergamot-section {
margin-bottom: 1em;
}
textarea {
display: block;
width: 100%;
height: 10em;
resize: none;
}
input[type="text"] {
width: 100%;
@include textual-input;
}
.bergamot-rule-list {
display: flex;
flex-direction: row;
flex-wrap: wrap;
justify-content: center;
}
.bergamot-rule-list katex-expression {
margin-left: .5em;
margin-right: .5em;
flex-grow: 1;
flex-basis: 0;
}
.bergamot-rule-section {
.bergamot-rule-section-name {
text-align: center;
margin: 0.25em;
font-weight: bold;
}
}
.bergamot-proof-tree {
overflow: auto;
}
.bergamot-error {
@include bordered-block;
padding: 0.5rem;
border-color: tomato;
background-color: rgba(tomato, 0.25);
margin-top: 1rem;
}
.bergamot-selector {
button {
@include var(background-color, background-color);
@include var(color, text-color);
@include bordered-block;
padding: 0.5rem;
font-family: $font-body;
border-style: dotted;
&.active {
border-color: $primary-color;
border-style: solid;
font-weight: bold;
}
&:not(:first-child) {
border-bottom-left-radius: 0;
border-top-left-radius: 0;
}
&:not(:last-child) {
border-bottom-right-radius: 0;
border-top-right-radius: 0;
border-right-width: 0;
}
}
button.active + button {
border-left-color: $primary-color;
border-left-style: solid;
}
margin-bottom: 1rem;
}
.bergamot-no-proofs {
text-align: center;
}
}

47
assets/scss/writing.scss Normal file
View File

@@ -0,0 +1,47 @@
@import "variables.scss";
body {
background-color: #1c1e26;
--text-color: white;
font-family: $font-code;
}
h1, h2, h3, h4, h5, h6 {
text-align: left;
font-family: $font-code;
}
h1::after {
content: "(writing)";
font-size: 1rem;
margin-left: 0.5em;
position: relative;
bottom: -0.5em;
color: $primary-color;
}
nav .container {
justify-content: flex-start;
a {
padding-left: 0;
margin-right: 1em;
}
}
.header-divider {
visibility: hidden;
}
hr {
height: auto;
border: none;
&::after {
content: "* * *";
color: $primary-color;
font-size: 2rem;
display: block;
text-align: center;
}
}

View File

@@ -1,5 +1,7 @@
baseURL = "https://danilafe.com" baseURL = "https://danilafe.com"
theme = "vanilla" theme = "vanilla"
pygmentsCodeFences = true
pygmentsUseClasses = true
summaryLength = 20 summaryLength = 20
defaultContentLanguage = 'en' defaultContentLanguage = 'en'
@@ -20,9 +22,6 @@ defaultContentLanguage = 'en'
home = ["html","rss","toml"] home = ["html","rss","toml"]
[markup] [markup]
[markup.highlight]
codeFences = true
noClasses = false
[markup.tableOfContents] [markup.tableOfContents]
endLevel = 4 endLevel = 4
ordered = false ordered = false

View File

@@ -130,7 +130,7 @@ by one, leading to another `suc n` in the final type. This makes sense because i
Here's my definition of `Graph`s written using `Fin`: Here's my definition of `Graph`s written using `Fin`:
{{< codelines "Agda" "agda-spa/Language/Graphs.agda" 23 38 >}} {{< codelines "Agda" "agda-spa/Language/Graphs.agda" 24 39 >}}
I explicitly used a `size` field, which determines how many nodes are in the I explicitly used a `size` field, which determines how many nodes are in the
graph, and serves as the upper bound for the edge indices. From there, an graph, and serves as the upper bound for the edge indices. From there, an
@@ -176,7 +176,7 @@ we will connect each of the outputs of one to each of the inputs of the other.
This is defined by the operation `g₁ ↦ g₂`, which sequences two graphs `g₁` and `g₂`: This is defined by the operation `g₁ ↦ g₂`, which sequences two graphs `g₁` and `g₂`:
{{< codelines "Agda" "agda-spa/Language/Graphs.agda" 71 82 >}} {{< codelines "Agda" "agda-spa/Language/Graphs.agda" 72 83 >}}
The definition starts out pretty innocuous, but gets a bit complicated by the The definition starts out pretty innocuous, but gets a bit complicated by the
end. The sum of the numbers of nodes in the two operands becomes the new graph end. The sum of the numbers of nodes in the two operands becomes the new graph
@@ -238,7 +238,7 @@ operation when combining the sub-CFGs of the "if" and "else" branches of an
`if`/`else`, which both follow the condition, and both proceed to the code after `if`/`else`, which both follow the condition, and both proceed to the code after
the conditional. the conditional.
{{< codelines "Agda" "agda-spa/Language/Graphs.agda" 58 69 >}} {{< codelines "Agda" "agda-spa/Language/Graphs.agda" 59 70 >}}
Everything here is just concatenation; we pool together the nodes, edges, Everything here is just concatenation; we pool together the nodes, edges,
inputs, and outputs, and the main source of complexity is the re-indexing. inputs, and outputs, and the main source of complexity is the re-indexing.
@@ -250,12 +250,12 @@ from the graph for `while` loops I showed above; the reason for that is that
I currently don't include the conditional expressions in my CFG. This is a I currently don't include the conditional expressions in my CFG. This is a
limitation that I will address in future work. limitation that I will address in future work.
{{< codelines "Agda" "agda-spa/Language/Graphs.agda" 84 94 >}} {{< codelines "Agda" "agda-spa/Language/Graphs.agda" 85 95 >}}
Given these thee operations, I construct Control Flow Graphs as follows, where Given these thee operations, I construct Control Flow Graphs as follows, where
`singleton` creates a new CFG node with the given list of simple statements: `singleton` creates a new CFG node with the given list of simple statements:
{{< codelines "Agda" "agda-spa/Language/Graphs.agda" 121 125 >}} {{< codelines "Agda" "agda-spa/Language/Graphs.agda" 122 126 >}}
Throughout this, I've been liberal to include empty CFG nodes as was convenient. Throughout this, I've been liberal to include empty CFG nodes as was convenient.
This is a departure from the formal definition I gave above, but it makes This is a departure from the formal definition I gave above, but it makes

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 471 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 132 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 134 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 187 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 110 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 68 KiB

View File

@@ -1,6 +1,7 @@
--- ---
title: "On Spiders" title: "On Spiders"
date: 2026-03-22T01:03:00-05:00 date: 2026-03-22T01:03:00-05:00
type: writing
description: "Whenever I stay still, I feel the spiders weave their webs around me." description: "Whenever I stay still, I feel the spiders weave their webs around me."
custom_css: custom_css:
- style.scss - style.scss

View File

@@ -1,6 +1,7 @@
--- ---
title: "Persistence of Vision" title: "Persistence of Vision"
date: 2026-04-18T23:26:00-07:00 date: 2026-04-18T23:26:00-07:00
type: writing
description: "Humid air swirls with colorful spirits." description: "Humid air swirls with colorful spirits."
custom_css: custom_css:
- style.scss - style.scss

View File

@@ -1,6 +1,7 @@
--- ---
title: "Untitled Short Story" title: "Untitled Short Story"
date: 2024-08-01T20:31:18-07:00 date: 2024-08-01T20:31:18-07:00
type: writing
description: "The Everpresent Void was first discovered at a children's birthday party." description: "The Everpresent Void was first discovered at a children's birthday party."
custom_css: custom_css:
- style.scss - style.scss

View File

@@ -1,5 +1,5 @@
{ {
"agda-spa": "https://dev.danilafe.com/DanilaFe/agda-spa/src/commit/913121488069a20cdfd40777a8777eb3744c415e", "agda-spa": "https://dev.danilafe.com/DanilaFe/agda-spa/src/commit/828b652d3b9266e27ef7cf5a8a7fb82e3fd3133f",
"aoc-2020": "https://dev.danilafe.com/Advent-of-Code/AdventOfCode-2020/src/commit/7a8503c3fe1aa7e624e4d8672aa9b56d24b4ba82", "aoc-2020": "https://dev.danilafe.com/Advent-of-Code/AdventOfCode-2020/src/commit/7a8503c3fe1aa7e624e4d8672aa9b56d24b4ba82",
"blog-static-flake": "https://dev.danilafe.com/Nix-Configs/blog-static-flake/src/commit/67b47d9c298e7476c2ca211aac5c5fd961637b7b", "blog-static-flake": "https://dev.danilafe.com/Nix-Configs/blog-static-flake/src/commit/67b47d9c298e7476c2ca211aac5c5fd961637b7b",
"compiler": "https://dev.danilafe.com/DanilaFe/bloglang/src/commit/137455b0f4365ba3fd11c45ce49781cdbe829ec3", "compiler": "https://dev.danilafe.com/DanilaFe/bloglang/src/commit/137455b0f4365ba3fd11c45ce49781cdbe829ec3",

View File

@@ -1,4 +0,0 @@
<svg class="spiderweb" viewBox="0 0 197.21727 106.16592">
{{ $spiderweb := resources.Get "svg/spiderweb.svg" | resources.Fingerprint }}
<use href="{{ $spiderweb.Permalink }}#mainlayer"></use>
</svg>

Before

Width:  |  Height:  |  Size: 207 B

View File

@@ -1,2 +0,0 @@
{{ $style := resources.Get "scss/donate.scss" | css.Sass | resources.Minify | resources.Fingerprint }}
<link rel="stylesheet" href="{{ $style.Permalink }}" integrity="{{ $style.Data.Integrity }}">

View File

@@ -1,2 +0,0 @@
{{ $style := resources.Get "scss/gmachine.scss" | css.Sass | resources.Minify | resources.Fingerprint }}
<link rel="stylesheet" href="{{ $style.Permalink }}" integrity="{{ $style.Data.Integrity }}">

View File

@@ -1,2 +0,0 @@
{{ $style := resources.Get "scss/stack.scss" | css.Sass | resources.Minify | resources.Fingerprint }}
<link rel="stylesheet" href="{{ $style.Permalink }}" integrity="{{ $style.Data.Integrity }}">

View File

@@ -0,0 +1,3 @@
<svg class="spiderweb" viewBox="0 0 197.21727 106.16592">
<use href="{{ (resources.Get "svg/spiderweb.svg").Permalink }}#mainlayer"></use>
</svg>

After

Width:  |  Height:  |  Size: 150 B

View File

@@ -0,0 +1,2 @@
{{ $style := resources.Get "scss/donate.scss" | css.Sass | resources.Minify }}
<link rel="stylesheet" href="{{ $style.Permalink }}">

View File

@@ -0,0 +1,2 @@
{{ $style := resources.Get "scss/gmachine.scss" | css.Sass | resources.Minify }}
<link rel="stylesheet" href="{{ $style.Permalink }}">

View File

@@ -0,0 +1,2 @@
{{ $style := resources.Get "scss/stack.scss" | css.Sass | resources.Minify }}
<link rel="stylesheet" href="{{ $style.Permalink }}">