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
powered by [hakyll](https://jaspervdj.be/hakyll/) and

View file

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

View file

@ -13,12 +13,12 @@
@layer utilities {
.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 {
@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;
content: "";
.external-link-muted {
@apply underline decoration-solid decoration-2 underline-offset-2 hover:text-love-light dark:hover:text-love-dark decoration-accent-light decoration-accent-dark;
}
.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"
authorTwitter: "@youwen"
desc: "a purely functional...blog?"
image: "./images/gradient-ascent.jpg"
image: "./images/conditional-finality.png"
keywords: "haskell, blog, functional programming"
lang: "en"
title: "why I made my blog in haskell"
title: "a haskellian blog"
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.
<img
alt="gradient ascent"
src="./images/gradient-ascent.jpg"
style="height: 200px; width: 100%; object-fit: cover"
alt="conditional finality"
src="./images/conditional-finality.png"
/>
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?
## 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
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.
2. It comes with enough features that I don't feel like I have to build
everything from scratch.
@ -77,7 +68,7 @@ seemed like a little too much work to maintain. I switched to hakyll because
### speaking of math
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.
It'd be nice if MathML could just be used and supported across all browsers, but

View file

@ -1,7 +1,7 @@
<!doctype html>
<html lang="$lang$">
<head>
<title>$title$ | gradient ascent</title>
<title>$title$ | conditional finality</title>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
@ -116,7 +116,7 @@
<a
href="/"
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>
<div
@ -126,18 +126,18 @@
<p class="mt-8 mb-3 px-1 italic font-light">
a web-log about computers, math, hacks, and all the rest.
</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
>
<span class="ml-2 font-serif">|</span>
<button
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>
<span class="ml-2 font-serif">|</span>
<button
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>
</header>
$body$
@ -149,14 +149,14 @@
&copy; 2024 Youwen Wu. Generated by
<a
href="https://jaspervdj.be/hakyll/"
class="external-link"
class="external-link-muted"
target="__blank"
>Hakyll.</a
>
View the source
<a
href="https://github.com/couscousdude/blog"
class="external-link"
class="external-link-muted"
target="__blank"
>on GitHub.</a
>
@ -164,7 +164,7 @@
<p class="text-sm leading-relaxed mt-2">
Content freely available under
<a
class="external-link"
class="external-link-muted"
target="__blank"
href="https://creativecommons.org/licenses/by-nc-sa/4.0/deed.en"
><span class="smallcaps">CC BY-NC-SA</span> 4.0</a

View file

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

View file

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