diff --git a/repl.js b/repl.js deleted file mode 100644 index 86ede140e76d8e3f7d9dff314436907e5043aeb7..0000000000000000000000000000000000000000 --- a/repl.js +++ /dev/null @@ -1,117 +0,0 @@ -// In contrast to `node run `, this opens a shell-like -// environment that allows faster execution of code since it -// doesn't have to reload the plugin system. This is mostly -// done since Clover's primary dev-env is a Windows 7 laptop; -// It takes her machine 600ms to load the plugin file on it's own. -// -// TODO: as of 2025-10-03, this file is not maintained -import process from "node:process"; -import * as util from "node:util"; -const exts = [".tsx", ".ts", ".js", ".marko"]; - -process.stderr.write("Loading..."); -const { hot } = await import("./run.js"); // get plugins ready -process.stderr.write("\r" + " ".repeat("Loading...".length) + "\r"); -const repl = hot.load("node:repl").start({ - prompt: "% ", - eval(code, _global, _id, done) { - evaluate(code) - .catch((err) => { - console.error(util.inspect(err, false, 10, true)); - }) - .then((result) => done(null, result)); - }, - ignoreUndefined: true, - //completer, -}); -repl.setupHistory(".clover/repl-history.txt", () => {}); - -setTimeout(() => { - hot.reloadRecursive("./framework/generate.ts"); -}, 100); - -async function evaluate(code) { - code = code.trim(); - - if (code === "clear" || code === "cls") { - return console.clear(); - } - - if (code[0] === "=") { - try { - const result = await eval(code[1]); - console.info(inspect(result)); - } catch (err) { - if (err instanceof SyntaxError) { - const result = await eval("(async() => { return " + code + " })()"); - console.info(inspect(result)); - } else { - throw err; - } - } - } - - let split = code.split(/\s+/); - if (split.length === 0) return; - - // Shell commands - const cliPassthrough = [ - "deno", - "explorer", - "git", - "iexplore", - "node", - "npm", - "open", - "rg", - "start", - "vi", - ]; - if (cliPassthrough.includes(split[0]) || split[0].startsWith("$")) { - if (split[0].startsWith("$")) { - if ((split[0] = split[0].slice(1)).trim() === "") split.shift(); - } - if (process.platform === "win32" && split[0] === "open") split[0] = "start"; - if (split[0] === "explorer" || split[0] === "start") { - split[1] = split[1]?.replaceAll("/", "\\"); - } - try { - child_process.execSync(split.join(" "), { - stdio: "inherit", - env: { EDITOR: "vi", ...process.env }, - }); - } catch (err) { - const { status, signalCode } = err; - console.error( - `Exited with ${status ? "code " + status : "signal " + signalCode}`, - ); - } - return; - } - - let found; - for (const base of [".", "framework"]) { - for (const e of exts) { - const file = path.join(base, split[0] + e); - if (fs.existsSync(file)) { - found = file; - break; - } - } - } - - if (!found) { - console.error("\x1b[33mNo file matches: " + split[0] + "\x1b[0m"); - return; - } - - const m = hot.reloadRecursive(found); - await m.main?.(); - errorAllWidgets( - path.basename(found, path.extname(found)) + ".main() returning", - ); -} - -import * as fs from "node:fs"; -import * as path from "node:path"; -import * as child_process from "node:child_process"; diff --git a/run.js b/run.js index 8a49513db19709dab9786210a099306318c3dc3b..a6973cba68c5a09d492428663f3db62848d153a3 100644 --- a/run.js +++ b/run.js @@ -4,7 +4,6 @@ import * as zlib from "node:zlib"; import * as url from "node:url"; import * as fs from "node:fs"; import * as os from "node:os"; -import assert from "node:assert"; import process from "node:process"; // Disable experimental warnings (Type Stripping, etc) diff --git a/src/blog/pages/community-translations.mdx b/src/blog/pages/community-translations.mdx index 18bf9534827fb30351199367d31a13ffa1ebf561..6bcc15c553f9eb9efdd9e15ba2e228d3d0775c33 100644 --- a/src/blog/pages/community-translations.mdx +++ b/src/blog/pages/community-translations.mdx @@ -5,8 +5,10 @@ export const layout = { default: ({ content }) =>
{content}
}; # blog community translations -if you natively speak a language that i don't have a blog page translated into, -and would like to help spread my words to more readers, please get in touch. +clover blog posts are translated into other languages by my friends or other +members of the (world's) community. if you natively speak a language that i +don't have a blog page translated into, and would like to help spread my words +to more readers, please get in touch. me@paperclover.net diff --git a/src/pages/log.mdx b/src/pages/log.mdx index 4158f82557c6a032c237f95f307fd7e083a706ce..3a9351e884f5eea6c6f0c6ec0bc62f4d69dac59b 100644 --- a/src/pages/log.mdx +++ b/src/pages/log.mdx @@ -7,12 +7,21 @@ export const meta = { title: 'clover\'s log' }; [git]: https://git.paperclover.net/ [home infra]: https://git.paperclover.net/clo/home-infra [name paint bot]: https://git.paperclover.net/clo/discord-name-painter +[next.js blog post]: /blog/webdev/one-year-next-app-router +[progress.ts]: https://jsr.io/@clo/lib/doc/progress.ts +[this site]: https://paperclover.net/ [todo tracker]: https://git.paperclover.net/clo/todo-tracker [ts lie detector]: https://git.paperclover.net/clo/ts-lie-detector -[progress.ts]: https://jsr.io/@clo/lib/doc/progress.ts # clover's log +## 2026-01-14 + +tags: [next.js blog post], [this site] + +general housekeeping. getting this activity page up. getting the spanish +translation by my good friend trubiso up. things are looking really cozy. + ## 2026-01-12 tags: [album]