Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion astro.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ export default defineConfig({
base,
markdown: {
shikiConfig: {
theme: 'github-dark'
theme: 'github-light'
}
}
});
18 changes: 0 additions & 18 deletions content/micro/consult-ripgrep-search.org

This file was deleted.

10 changes: 0 additions & 10 deletions content/micro/day-light-savings/index.org

This file was deleted.

34 changes: 0 additions & 34 deletions content/micro/diffusion-innovation/index.org

This file was deleted.

15 changes: 0 additions & 15 deletions content/micro/duckdb.org

This file was deleted.

18 changes: 0 additions & 18 deletions content/micro/emacs-file-type-search.org

This file was deleted.

14 changes: 0 additions & 14 deletions content/micro/woods-quote.org

This file was deleted.

19 changes: 19 additions & 0 deletions src/content/micro/local-analytics-with-duckdb-and-ui.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
title: Local Analytics with DuckDB and UI
description: Quick setup to run DuckDB with its local UI.
pubDate: 2025-03-14
tags:
- tools
category: Micro
draft: true
---

## Installation

```sh
brew install duckdb

duckdb -ui
```

You will see a UI launching.
23 changes: 23 additions & 0 deletions src/content/micro/searching-specific-file-types-in-emacs.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
---
title: Searching Specific File Types in Emacs
description: Search only selected file extensions using consult-ripgrep.
pubDate: 2025-03-23
tags:
- tools
category: Micro
draft: false
---

If you're using Emacs with `consult-ripgrep` (`M-x consult-ripgrep`), you might want to search only within certain file types—say, just `.scala` files in a project.

```text
M-x consult-ripgrep RET -- -g '*.scala'
```

- The `--` separates ripgrep (`rg`) options from the search term.
- `-g '*.scala'` tells `rg` to search only in `.scala` files.
- You can add multiple `-g` flags for different file types:

```text
M-x consult-ripgrep RET -- -g '*.scala' -g '*.sbt'
```
18 changes: 18 additions & 0 deletions src/content/micro/stopping-by-woods.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
---
title: Stopping by Woods
description: A short note on Robert Frost's timeless lines.
pubDate: 2025-01-18
tags:
- quote
category: Micro
draft: false
---

These lines are from *Stopping by Woods on a Snowy Evening* by Robert Frost, written in 1922 (published in 1923) in his New Hampshire volume.

The poem highlights the importance of enjoying the beauty and peace of nature while also fulfilling responsibilities and obligations, without becoming entirely lost in that joy.

> The woods are lovely, dark and deep,
> But I have promises to keep,
> And miles to go before I sleep,
> And miles to go before I sleep.
2 changes: 1 addition & 1 deletion src/layouts/BaseLayout.astro
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ interface Props {

const {
title,
description = 'Minimal Astro writing theme focused on editorial readability and technical content.'
description = 'This space is where I share my ‘Today I Learned’ moments and other explorations in tech, life, and beyond.'
} = Astro.props;
---

Expand Down
5 changes: 2 additions & 3 deletions src/pages/index.astro
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,10 @@ const micro = (await getCollection('micro', ({ data }) => !data.draft)).sort(
);
---

<BaseLayout title="SuDo — Editorial Astro Theme">
<BaseLayout title="SuDo">
<div class="content intro">
<p class="muted">
Minimal Astro theme for technical writing. Structured lists, calm typography, optional TOC, and
dark mode included.
This space is where I share my ‘Today I Learned’ moments and other explorations in tech, life, and beyond.
</p>
</div>

Expand Down
35 changes: 22 additions & 13 deletions src/pages/micro/index.astro
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,12 @@ import BaseLayout from '../../layouts/BaseLayout.astro';
const notes = (await getCollection('micro', ({ data }) => !data.draft)).sort(
(a, b) => b.data.pubDate.getTime() - a.data.pubDate.getTime()
);
const entries = await Promise.all(
notes.map(async (note) => ({
note,
rendered: await note.render()
}))
);
const formatter = new Intl.DateTimeFormat('en-CA');
const base = import.meta.env.BASE_URL;
---
Expand All @@ -13,15 +19,20 @@ const base = import.meta.env.BASE_URL;
<section class="content page">
<h1>Micro</h1>
<div class="cards">
{notes.map((note) => (
<article>
<header>
<h2><a href={`${base}micro/${note.slug}/`}>{note.data.title}</a></h2>
<time datetime={note.data.pubDate.toISOString()}>{formatter.format(note.data.pubDate)}</time>
</header>
<p>{note.data.description}</p>
</article>
))}
{entries.map(({ note, rendered }) => {
const { Content } = rendered;
return (
<article>
<header>
<h2><a href={`${base}micro/${note.slug}/`}>{note.data.title}</a></h2>
<time datetime={note.data.pubDate.toISOString()}>{formatter.format(note.data.pubDate)}</time>
</header>
<div class="feed-content prose">
<Content />
</div>
</article>
);
})}
</div>
</section>
</BaseLayout>
Expand Down Expand Up @@ -63,10 +74,8 @@ const base = import.meta.env.BASE_URL;
margin: 0 0 0.7rem;
}

p {
margin: 0;
color: var(--muted);
font-size: 1.03rem;
.feed-content :global(*:first-child) {
margin-top: 0;
}

time {
Expand Down
13 changes: 12 additions & 1 deletion src/styles/global.css
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@
--text: #1f2933;
--muted: #627282;
--line: #d8e0e7;
--code-bg: #eff3f6;
--code-bg: #f3f7ff;
--code-line: #e0e9f7;
--link: #1f2933;
--link-hover: #000;
--max-width: calc(920px * var(--ui-scale));
Expand All @@ -22,6 +23,7 @@
--muted: #9eb0c0;
--line: #243343;
--code-bg: #1b2834;
--code-line: #2a3948;
--link: #eef3f8;
--link-hover: #fff;
}
Expand Down Expand Up @@ -66,6 +68,15 @@ h1, h2, h3 { line-height: 1.2; letter-spacing: -0.02em; }
overflow-x: auto;
}

.prose pre.astro-code {
background: var(--code-bg) !important;
border: 1px solid var(--code-line);
}

.prose pre.astro-code code {
background: transparent !important;
}

.prose code {
font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, monospace;
font-size: 0.92em;
Expand Down
Loading