Compare commits

..

3 commits

Author SHA1 Message Date
b20e4a981d
fix: trivial mathematical error
Some checks are pending
CI / build-nix (push) Waiting to run
CI / deploy (push) Blocked by required conditions
2024-11-02 03:57:36 -07:00
7600335b4d
style: change colorscheme to rose-pine, change link style 2024-11-02 03:53:43 -07:00
4803c2d68e
feat: rebrand to conditional finality 2024-11-02 03:10:02 -07:00
9 changed files with 49 additions and 40 deletions

View file

@ -1,4 +1,4 @@
# gradient ascent - yet another developer blog # conditional finality - yet another developer blog
This repository hosts the source code for my blog, written in Haskell and This repository hosts the source code for my blog, written in Haskell and
powered by [hakyll](https://jaspervdj.be/hakyll/) and powered by [hakyll](https://jaspervdj.be/hakyll/) and

View file

@ -1,5 +1,5 @@
{ {
description = "gradient ascent"; description = "conditional finality";
nixConfig = { nixConfig = {
allow-import-from-derivation = "true"; allow-import-from-derivation = "true";

View file

@ -13,12 +13,12 @@
@layer utilities { @layer utilities {
.external-link { .external-link {
@apply dark:text-violet-500 text-indigo-600 hover:bg-indigo-200 pr-3 rounded-sm dark:hover:bg-violet-950 transition-colors duration-300 relative; @apply underline decoration-solid decoration-2 underline-offset-2 hover:text-love-light dark:hover:text-love-dark decoration-love-light decoration-love-dark;
} }
.external-link::after { .external-link-muted {
@apply absolute top-1 right-[6px] w-2 h-2 border-2 border-indigo-600 dark:border-violet-600 rounded-full translate-x-1/2 -translate-y-1/2; @apply underline decoration-solid decoration-2 underline-offset-2 hover:text-love-light dark:hover:text-love-dark decoration-accent-light decoration-accent-dark;
content: "";
} }
.small-caps { .small-caps {
font-variant: all-small-caps; font-variant: all-small-caps;
} }

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

View file

@ -2,25 +2,21 @@
author: "Youwen Wu" author: "Youwen Wu"
authorTwitter: "@youwen" authorTwitter: "@youwen"
desc: "a purely functional...blog?" desc: "a purely functional...blog?"
image: "./images/gradient-ascent.jpg" image: "./images/conditional-finality.png"
keywords: "haskell, blog, functional programming" keywords: "haskell, blog, functional programming"
lang: "en" lang: "en"
title: "why I made my blog in haskell" title: "a haskellian blog"
updated: "2024-05-25T12:00:00Z" updated: "2024-05-25T12:00:00Z"
--- ---
Welcome! This is the first post on _gradient ascent_ and also one that tests all Welcome! This is the first post on _conditional finality_ and also one that tests all
of the features. of the features.
<img <img
alt="gradient ascent" alt="conditional finality"
src="./images/gradient-ascent.jpg" src="./images/conditional-finality.png"
style="height: 200px; width: 100%; object-fit: cover"
/> />
I'll be writing about computers, code, math, video games, and whatever else
here.
> A monad is just a monoid in the category of endofunctors, what's the problem? > A monad is just a monoid in the category of endofunctors, what's the problem?
## haskell? ## haskell?
@ -59,11 +55,6 @@ The code highlighting is also generated by hakyll.
Haskell is a purely functional language with no mutable state. Its syntax Haskell is a purely functional language with no mutable state. Its syntax
actually makes it pretty elegant for declaring routes and "rendering" pipelines. actually makes it pretty elegant for declaring routes and "rendering" pipelines.
I originally wanted to build this entire blog myself. I had a working version
with the Svelte framework, complete with GFM rendering, table of contents, KaTeX
math, code highlighting, static generation, and other goodies. However, it
seemed like a little too much work to maintain. I switched to hakyll because
1. Haskell is cool. 1. Haskell is cool.
2. It comes with enough features that I don't feel like I have to build 2. It comes with enough features that I don't feel like I have to build
everything from scratch. everything from scratch.
@ -77,7 +68,7 @@ seemed like a little too much work to maintain. I switched to hakyll because
### speaking of math ### speaking of math
We can have math inline, like so: We can have math inline, like so:
$\int_\infty^\infty \, e^{-x^2}\,dx = \sqrt{\pi}$. This site ships semantic $\int_{-\infty}^\infty \, e^{-x^2}\,dx = \sqrt{\pi}$. This site ships semantic
MathML math with its HTML, and the MathJax script to the client. MathML math with its HTML, and the MathJax script to the client.
It'd be nice if MathML could just be used and supported across all browsers, but It'd be nice if MathML could just be used and supported across all browsers, but

View file

@ -1,7 +1,7 @@
<!doctype html> <!doctype html>
<html lang="$lang$"> <html lang="$lang$">
<head> <head>
<title>$title$ | gradient ascent</title> <title>$title$ | conditional finality</title>
<meta charset="utf-8" /> <meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
@ -116,7 +116,7 @@
<a <a
href="/" href="/"
class="dark:hover:text-muted-dark hover:text-muted-light transition-all duration-500 text-nowrap tracking-wide" class="dark:hover:text-muted-dark hover:text-muted-light transition-all duration-500 text-nowrap tracking-wide"
><em>Gradient Ascent.</em></a ><em>Conditional Finality.</em></a
> >
</h1> </h1>
<div <div
@ -126,18 +126,18 @@
<p class="mt-8 mb-3 px-1 italic font-light"> <p class="mt-8 mb-3 px-1 italic font-light">
a web-log about computers, math, hacks, and all the rest. a web-log about computers, math, hacks, and all the rest.
</p> </p>
<a class="text-sm external-link" href="https://youwen.dev" <a class="text-sm text-iris-light dark:text-iris-dark hover:text-love-light dark:hover:text-love-dark" href="https://youwen.dev"
><em>by </em>Youwen Wu</a ><em>by </em>Youwen Wu</a
> >
<span class="ml-2 font-serif">|</span> <span class="ml-2 font-serif">|</span>
<button <button
id="theme-toggle" id="theme-toggle"
class="ml-2 text-sm hover:bg-indigo-200 dark:hover:bg-violet-950 rounded-sm transition-colors p-1 duration-500" class="ml-2 text-sm hover:text-accent-light dark:hover:text-muted-dark"
></button> ></button>
<span class="ml-2 font-serif">|</span> <span class="ml-2 font-serif">|</span>
<button <button
id="font-toggle" id="font-toggle"
class="ml-2 text-sm hover:bg-indigo-200 dark:hover:bg-violet-950 rounded-sm transition-colors p-1 duration-500" class="ml-2 text-sm hover:text-accent-light dark:hover:text-muted-dark"
></button> ></button>
</header> </header>
$body$ $body$
@ -149,14 +149,14 @@
&copy; 2024 Youwen Wu. Generated by &copy; 2024 Youwen Wu. Generated by
<a <a
href="https://jaspervdj.be/hakyll/" href="https://jaspervdj.be/hakyll/"
class="external-link" class="external-link-muted"
target="__blank" target="__blank"
>Hakyll.</a >Hakyll.</a
> >
View the source View the source
<a <a
href="https://github.com/couscousdude/blog" href="https://github.com/couscousdude/blog"
class="external-link" class="external-link-muted"
target="__blank" target="__blank"
>on GitHub.</a >on GitHub.</a
> >
@ -164,7 +164,7 @@
<p class="text-sm leading-relaxed mt-2"> <p class="text-sm leading-relaxed mt-2">
Content freely available under Content freely available under
<a <a
class="external-link" class="external-link-muted"
target="__blank" target="__blank"
href="https://creativecommons.org/licenses/by-nc-sa/4.0/deed.en" href="https://creativecommons.org/licenses/by-nc-sa/4.0/deed.en"
><span class="smallcaps">CC BY-NC-SA</span> 4.0</a ><span class="smallcaps">CC BY-NC-SA</span> 4.0</a

View file

@ -28,13 +28,13 @@ import Text.Pandoc.Options (
-- PERSONALIZATION -- PERSONALIZATION
mySiteName :: String mySiteName :: String
mySiteName = "gradient ascent" mySiteName = "conditional finality"
mySiteRoot :: String mySiteRoot :: String
mySiteRoot = "https://blog.youwen.dev" mySiteRoot = "https://blog.youwen.dev"
myFeedTitle :: String myFeedTitle :: String
myFeedTitle = "gradient ascent" myFeedTitle = "conditional finality"
myFeedDescription :: String myFeedDescription :: String
myFeedDescription = "on computers, hacks, math, and life" myFeedDescription = "on computers, hacks, math, and life"

View file

@ -10,24 +10,42 @@ module.exports = {
}, },
colors: { colors: {
primary: { primary: {
dark: "#e7e5e4", //dark: "#e7e5e4",
light: "#44403c", light: "#44403c",
dark: "#e0def4",
//light: "#575279",
}, },
secondary: { secondary: {
dark: "#4c1d95", //dark: "#4c1d95",
light: "#4338ca", //light: "#4338ca",
dark: "#1f1d2e",
light: "#fffaf3",
}, },
accent: { accent: {
dark: "#9ca3af", //dark: "#9ca3af",
light: "#78716c", //light: "#78716c",
dark: "#908caa",
light: "#797593",
}, },
muted: { muted: {
dark: "#6b7280", //dark: "#6b7280",
light: "#a8a29e", //light: "#a8a29e",
dark: "#6e6a86",
light: "#9893a5",
}, },
background: { background: {
light: "#d6d3d1", //light: "#d6d3d1",
dark: "#101017", //dark: "#101017",
dark: "#191724",
light: "#faf4ed",
},
iris: {
dark: "#c4a7e7",
light: "#907aa9",
},
love: {
dark: "#eb6f92",
light: "#b4637a",
}, },
}, },
}, },