| author | |
| committer | |
| log | cea1ec92f2c784f8b5a54e4aea68fec889a5cd51 |
| tree | e36b1fc6d1a499fa5acbb1b23ae859966f240c5d |
| parent | 28ec9396072d32c89d6575dd90fedb093dc496c3 |
| signature | Commit is signed but in an unrecognized format. |
4 files changed, 56 insertions(+), 12 deletions(-)
lib/progress.ts+2-10| ... | ... | @@ -154,15 +154,8 @@ function newNode( |
| 154 | 154 | parent?.sortChildren && parent.children.sort(parent.sortChildren); |
| 155 | 155 | state.signal("draw"); |
| 156 | 156 | } |
| 157 | const scope = headless.logger({ | |
| 158 | log: { | |
| 159 | writeLine(line) { | |
| 160 | if (detached) return state.signal({ type: "line", line }); | |
| 161 | state.logs.push(...line.split("\n")); | |
| 162 | state.signal("draw"); | |
| 163 | }, | |
| 164 | }, | |
| 165 | colors: process.stderr.isTTY, | |
| 157 | const scope = log.headlessScope(() => { | |
| 158 | console.log("TODO"); | |
| 166 | 159 | }); |
| 167 | 160 | const binding: Node = { |
| 168 | 161 | start(text, opts) { |
| ... | ... | @@ -416,7 +409,6 @@ const global = /** @__PURE__ */ new Headless(log); |
| 416 | 409 | |
| 417 | 410 | import * as process from "node:process"; |
| 418 | 411 | import * as log from "lib/log.ts"; |
| 419 | import * as headless from "lib/log/headless.ts"; | |
| 420 | 412 | import * as ansi from "lib/string/ansi.ts"; |
| 421 | 413 | import * as string from "lib/string.ts"; |
| 422 | 414 | import { ASSERT, UNWRAP } from "lib/assert.ts"; |
src/pages/index.css+12| ... | ... | @@ -24,3 +24,15 @@ hr { |
| 24 | 24 | width: 100%; |
| 25 | 25 | border: 1px solid #000b; |
| 26 | 26 | } |
| 27 | .cite { | |
| 28 | color: inherit; | |
| 29 | text-decoration-line: underline; | |
| 30 | text-decoration-thickness: 2px; | |
| 31 | text-decoration-style: dotted; | |
| 32 | text-decoration-color: blueviolet; | |
| 33 | text-underline-offset: 1px; | |
| 34 | &:hover { | |
| 35 | text-decoration-color: magenta; | |
| 36 | color: magenta; | |
| 37 | } | |
| 38 | } |
src/pages/index.marko+6| ... | ... | @@ -13,6 +13,12 @@ export const meta = { |
| 13 | 13 | |
| 14 | 14 | <main> |
| 15 | 15 | <div> |
| 16 | <h2>about</h2> | |
| 17 | <p> | |
| 18 | i am a <a class='custom cite' href="https://en.wikipedia.org/wiki/Transgender">girl</a> | |
| 19 | that is | |
| 20 | <a class='custom cite' href="https://en.wikipedia.org/wiki/Life">alive</a>. | |
| 21 | </p> | |
| 16 | 22 | <h2>posts</h2> |
| 17 | 23 | <p style='display:flex'><span style='flex:0 0 max-content'>blog:&nbsp;</span><span style='flex: 1 0 0px'><a href="/blog/webdev/one-year-next-app-router">One Year with Next.js App Router — why we're moving on</a> (2025-10-21)</span></p> |
| 18 | 24 | <p>song: <a href="/in-the-summer">in the summer</a> (2025-08-08)</p> |
src/static/rss.xml+36-2| ... | ... | @@ -3,10 +3,41 @@ |
| 3 | 3 | |
| 4 | 4 | <channel> |
| 5 | 5 | <title>paper clover</title> |
| 6 | <description>art</description> | |
| 6 | <description>art, music, code, life</description> | |
| 7 | 7 | <link>https://paperclover.net</link> |
| 8 | 8 | <item> |
| 9 | <title>clo's files &amp; cotyledon</title> | |
| 9 | <title>blog: One Year with Next.js App Router — Why We're Moving On</title> | |
| 10 | <link>https://paperclover.net/blog/webdev/one-year-next-app-router</link> | |
| 11 | <description> | |
| 12 | A critique of React Server Components and Next.js 15, and how my company switched to TanStack Start in an incremental migration. | |
| 13 | </description> | |
| 14 | <pubDate>Tue, 21 Oct 2025 00:00:00 -0000</pubDate> | |
| 15 | <guid>https://paperclover.net/blog/webdev/one-year-next-app-router</guid> | |
| 16 | </item> | |
| 17 | <item> | |
| 18 | <title>music video: in the summer</title> | |
| 19 | <link>https://paperclover.net/in-the-summer</link> | |
| 20 | <description> | |
| 21 | this is a song about the summer, and related feelings. written in 2022, produced in 2025. i had a lot of fun playing with a much larger instrument selection, and new 3d workflows. enjoy! | |
| 22 | </description> | |
| 23 | <pubDate>Fri, 01 Aug 2025 00:00:00 -0000</pubDate> | |
| 24 | <guid>https://paperclover.net/in-the-summer</guid> | |
| 25 | ||
| 26 | <enclosure url="https://paperclover.net/file/2025/in%20the%20summer/in%20the%20summer.mp4" | |
| 27 | length="120415064" | |
| 28 | type="video/mp4"/> | |
| 29 | <media:content url="https://paperclover.net/file/2025/in%20the%20summer/in%20the%20summer.mp4" | |
| 30 | type="video/mp4" | |
| 31 | width="1920" | |
| 32 | height="1080"> | |
| 33 | </media:content> | |
| 34 | <media:thumbnail url="https://paperclover.net/file/2025/in%20the%20summer/thumbnail.jpeg" | |
| 35 | width="1920" | |
| 36 | height="1080" | |
| 37 | /> | |
| 38 | </item> | |
| 39 | <item> | |
| 40 | <title>site: clo's files &amp; cotyledon</title> | |
| 10 | 41 | <link>https://paperclover.net/file</link> |
| 11 | 42 | <description> |
| 12 | 43 | i rewrote the file viewer to be nicer to use. as well as uploading about |
| ... | ... | @@ -27,6 +58,7 @@ |
| 27 | 58 | <guid>https://paperclover.net/waterfalls</guid> |
| 28 | 59 | |
| 29 | 60 | <enclosure url="https://paperclover.net/file/2025/waterfalls/waterfalls.mp4" |
| 61 | length="390074616" | |
| 30 | 62 | type="video/mp4"/> |
| 31 | 63 | <media:content url="https://paperclover.net/file/2025/waterfalls/waterfalls.mp4" |
| 32 | 64 | type="video/mp4" |
| ... | ... | @@ -38,6 +70,8 @@ |
| 38 | 70 | height="1080" |
| 39 | 71 | /> |
| 40 | 72 | </item> |
| 73 | ||
| 74 | <atom:link href="http://paperclover.net/rss.xml" rel="self" type="application/rss+xml" /> | |
| 41 | 75 | </channel> |
| 42 | 76 | |
| 43 | 77 | </rss> |