aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--deno/base/config.ts2
-rw-r--r--deno/base/deno.json3
-rw-r--r--deno/base/lib.ts (renamed from deno/base/date.ts)4
-rw-r--r--deno/base/log.ts2
-rw-r--r--deno/base/text.ts3
-rw-r--r--deno/deno.json6
-rw-r--r--deno/mail-relay/aws/app.ts10
-rw-r--r--deno/mail-relay/aws/deliver.ts8
-rw-r--r--deno/mail-relay/aws/fetch.ts7
-rw-r--r--deno/mail-relay/dovecot.ts4
-rw-r--r--deno/mail-relay/mail.test.ts2
-rw-r--r--deno/tools/deno.json2
-rw-r--r--deno/tools/template.ts4
-rw-r--r--store/config/mihomo/need-rule8
-rw-r--r--store/config/nvim/lazy-lock.json11
-rw-r--r--store/config/nvim/lua/plugins.lua1
-rw-r--r--store/config/nvim/lua/setup/lsp.lua45
-rw-r--r--store/config/nvim/lua/setup/plugins/conform.lua17
-rw-r--r--store/config/nvim/lua/setup/plugins/init.lua1
-rw-r--r--www/assets/res/css/base.css2
-rw-r--r--www/assets/res/css/todos.css25
-rw-r--r--www/config/_default/hugo.yaml4
-rw-r--r--www/content/notes/_index.md15
-rw-r--r--www/content/notes/cheat-sheet.md7
-rw-r--r--www/content/notes/hurd/_index.md15
-rw-r--r--www/content/notes/hurd/cheat-sheet.md5
-rw-r--r--www/content/notes/hurd/links.md (renamed from www/content/notes/hurd.md)24
-rw-r--r--www/content/notes/hurd/todos.md18
-rw-r--r--www/content/notes/todos.md7
-rw-r--r--www/layouts/_partials/css-res.html (renamed from www/layouts/partials/css-res.html)0
-rw-r--r--www/layouts/_partials/css.html (renamed from www/layouts/partials/css.html)0
-rw-r--r--www/layouts/_partials/date.html (renamed from www/layouts/partials/date.html)0
-rw-r--r--www/layouts/_partials/highlight.html (renamed from www/layouts/partials/highlight.html)0
-rw-r--r--www/layouts/_partials/js.html (renamed from www/layouts/partials/js.html)0
-rw-r--r--www/layouts/_partials/nav.html (renamed from www/layouts/partials/nav.html)0
-rw-r--r--www/layouts/_partials/preview/article.html (renamed from www/layouts/partials/preview/article.html)0
-rw-r--r--www/layouts/_partials/preview/post.html (renamed from www/layouts/partials/preview/post.html)0
-rw-r--r--www/layouts/_partials/preview/posts.html (renamed from www/layouts/partials/preview/posts.html)0
-rw-r--r--www/layouts/_shortcodes/link-group.html (renamed from www/layouts/shortcodes/link-group.html)0
-rw-r--r--www/layouts/baseof.html (renamed from www/layouts/_default/baseof.html)0
-rw-r--r--www/layouts/home.html (renamed from www/layouts/index.html)6
-rw-r--r--www/layouts/list.html (renamed from www/layouts/_default/list.html)6
-rw-r--r--www/layouts/shortcodes/mono.html3
-rw-r--r--www/layouts/shortcodes/todo.html5
-rw-r--r--www/layouts/single.html (renamed from www/layouts/_default/single.html)0
45 files changed, 144 insertions, 138 deletions
diff --git a/deno/base/config.ts b/deno/base/config.ts
index 8fce1d8..a5f5d86 100644
--- a/deno/base/config.ts
+++ b/deno/base/config.ts
@@ -1,4 +1,4 @@
-import { camelCaseToKebabCase } from "./text.ts";
+import { camelCaseToKebabCase } from "./lib.ts";
export interface ConfigDefinitionItem {
readonly description: string;
diff --git a/deno/base/deno.json b/deno/base/deno.json
index 2c2d550..dabc02a 100644
--- a/deno/base/deno.json
+++ b/deno/base/deno.json
@@ -2,10 +2,9 @@
"name": "@crupest/base",
"version": "0.1.0",
"exports": {
+ ".": "./lib.ts",
"./config": "./config.ts",
"./cron": "./cron.ts",
- "./date": "./date.ts",
- "./text": "./text.ts",
"./log": "./log.ts"
}
}
diff --git a/deno/base/date.ts b/deno/base/lib.ts
index e65691e..a5e4a6a 100644
--- a/deno/base/date.ts
+++ b/deno/base/lib.ts
@@ -1,3 +1,7 @@
+export function camelCaseToKebabCase(str: string): string {
+ return str.replace(/[A-Z]/g, (m) => "-" + m.toLowerCase());
+}
+
export function toFileNameString(date: Date, dateOnly?: boolean): string {
const str = date.toISOString();
return dateOnly === true
diff --git a/deno/base/log.ts b/deno/base/log.ts
index bfd5fae..940f569 100644
--- a/deno/base/log.ts
+++ b/deno/base/log.ts
@@ -1,6 +1,6 @@
import { join } from "@std/path";
-import { toFileNameString } from "./date.ts";
+import { toFileNameString } from "./lib.ts";
export interface ExternalLogStream extends Disposable {
stream: WritableStream;
diff --git a/deno/base/text.ts b/deno/base/text.ts
deleted file mode 100644
index f3e4020..0000000
--- a/deno/base/text.ts
+++ /dev/null
@@ -1,3 +0,0 @@
-export function camelCaseToKebabCase(str: string): string {
- return str.replace(/[A-Z]/g, (m) => "-" + m.toLowerCase());
-}
diff --git a/deno/deno.json b/deno/deno.json
index f4859d1..53cdf7a 100644
--- a/deno/deno.json
+++ b/deno/deno.json
@@ -1,7 +1,7 @@
{
- "workspace": ["./base", "./mail-relay", "./tools" ],
+ "workspace": ["./base", "./mail-relay", "./tools"],
"tasks": {
- "compile:mail-relay": "deno task --cwd=mail-relay compile",
+ "compile:mail-relay": "deno task --cwd=mail-relay compile"
},
"imports": {
"@std/collections": "jsr:@std/collections@^1.1.1",
@@ -13,7 +13,7 @@
"@std/testing": "jsr:@std/testing@^1.0.13",
"@std/dotenv": "jsr:@std/dotenv@^0.225.5",
"@std/fs": "jsr:@std/fs@^1.0.18",
- "yargs": "npm:yargs@^18.0.0"
+ "yargs": "npm:yargs@^18.0.0",
"@types/yargs": "npm:@types/yargs@^17.0.33"
}
}
diff --git a/deno/mail-relay/aws/app.ts b/deno/mail-relay/aws/app.ts
index 13db351..cb275ae 100644
--- a/deno/mail-relay/aws/app.ts
+++ b/deno/mail-relay/aws/app.ts
@@ -18,7 +18,7 @@ import {
} from "./mail.ts";
import { AwsMailDeliverer } from "./deliver.ts";
import { AwsMailFetcher, AwsS3MailConsumer } from "./fetch.ts";
-import { createInbound, createHono, sendMail, createSmtp } from "../app.ts";
+import { createHono, createInbound, createSmtp, sendMail } from "../app.ts";
const PREFIX = "crupest-mail-server";
const CONFIG_DEFINITIONS = {
@@ -103,7 +103,7 @@ function createOutbound(
);
deliverer.postHooks.push(
new AwsMailMessageIdSaveHook((original, aws) =>
- db.addMessageIdMap({ message_id: original, aws_message_id: aws }).then(),
+ db.addMessageIdMap({ message_id: original, aws_message_id: aws }).then()
),
);
return deliverer;
@@ -210,8 +210,10 @@ function createServerServices() {
path: config.get("awsInboundPath"),
auth: config.get("awsInboundKey"),
callback: (s3Key, recipients) => {
- return fetcher.consumeS3Mail(s3Key, (rawMail, _) =>
- inbound.deliver({ mail: new Mail(rawMail), recipients }).then(),
+ return fetcher.consumeS3Mail(
+ s3Key,
+ (rawMail, _) =>
+ inbound.deliver({ mail: new Mail(rawMail), recipients }).then(),
);
},
});
diff --git a/deno/mail-relay/aws/deliver.ts b/deno/mail-relay/aws/deliver.ts
index a002eda..4dd4b3a 100644
--- a/deno/mail-relay/aws/deliver.ts
+++ b/deno/mail-relay/aws/deliver.ts
@@ -40,14 +40,14 @@ export class AwsMailDeliverer extends SyncMailDeliverer {
if (res.MessageId == null) {
console.warn("Aws send-email returns no message id.");
} else {
- context.result.awsMessageId = `${res.MessageId}@${
- this.#aws.region
- }.amazonses.com`;
+ context.result.awsMessageId =
+ `${res.MessageId}@${this.#aws.region}.amazonses.com`;
}
context.result.recipients.set("*", {
kind: "done",
- message: `Successfully called aws send-email, message id ${context.result.awsMessageId}.`,
+ message:
+ `Successfully called aws send-email, message id ${context.result.awsMessageId}.`,
});
} catch (cause) {
context.result.recipients.set("*", {
diff --git a/deno/mail-relay/aws/fetch.ts b/deno/mail-relay/aws/fetch.ts
index bbb671a..9278e63 100644
--- a/deno/mail-relay/aws/fetch.ts
+++ b/deno/mail-relay/aws/fetch.ts
@@ -7,7 +7,7 @@ import {
S3ClientConfig,
} from "@aws-sdk/client-s3";
-import { toFileNameString } from "@crupest/base/date";
+import { toFileNameString } from "@crupest/base";
import { Mail } from "../mail.ts";
@@ -104,8 +104,9 @@ export class AwsMailFetcher {
.sections()
.headers()
.date();
- const dateString =
- date != null ? toFileNameString(date, true) : "invalid-date";
+ const dateString = date != null
+ ? toFileNameString(date, true)
+ : "invalid-date";
const newPath = `${this.#archivePrefix}${dateString}/${s3Key}`;
console.info(`Archiving s3 mail ${s3Key} to ${newPath}...`);
diff --git a/deno/mail-relay/dovecot.ts b/deno/mail-relay/dovecot.ts
index 333b803..bace225 100644
--- a/deno/mail-relay/dovecot.ts
+++ b/deno/mail-relay/dovecot.ts
@@ -46,8 +46,8 @@ export class DovecotMailDeliverer extends MailDeliverer {
});
const ldaProcess = ldaCommand.spawn();
- using logFiles =
- await this.#logFileProvider.createExternalLogStreamsForProgram(
+ using logFiles = await this.#logFileProvider
+ .createExternalLogStreamsForProgram(
ldaBinName,
);
ldaProcess.stdout.pipeTo(logFiles.stdout);
diff --git a/deno/mail-relay/mail.test.ts b/deno/mail-relay/mail.test.ts
index 6abb7d7..cd0c38d 100644
--- a/deno/mail-relay/mail.test.ts
+++ b/deno/mail-relay/mail.test.ts
@@ -87,7 +87,7 @@ describe("Mail", () => {
}),
]).toEqual(
[...mockToAddresses, mockCcAddress].filter((a) =>
- a.endsWith("example.com"),
+ a.endsWith("example.com")
),
);
});
diff --git a/deno/tools/deno.json b/deno/tools/deno.json
index 1b2cf32..355046a 100644
--- a/deno/tools/deno.json
+++ b/deno/tools/deno.json
@@ -3,6 +3,6 @@
"tasks": {
},
"imports": {
- "mustache": "npm:mustache@^4.2.0",
+ "mustache": "npm:mustache@^4.2.0"
}
}
diff --git a/deno/tools/template.ts b/deno/tools/template.ts
index 0b043a1..1b67eb8 100644
--- a/deno/tools/template.ts
+++ b/deno/tools/template.ts
@@ -73,7 +73,9 @@ export class TemplateDir {
generate(vars: Record<string, string>, generatedDir?: string) {
console.log(
- `Generating, template dir: ${this.dir}, generated dir: ${generatedDir ?? "[dry-run]"}:`,
+ `Generating, template dir: ${this.dir}, generated dir: ${
+ generatedDir ?? "[dry-run]"
+ }:`,
);
const undefinedVars = this.allNeededVars().filter((v) => !(v in vars));
diff --git a/store/config/mihomo/need-rule b/store/config/mihomo/need-rule
index b785f0f..7ffcf49 100644
--- a/store/config/mihomo/need-rule
+++ b/store/config/mihomo/need-rule
@@ -1,4 +1,4 @@
-IP-CIDR,185.199.108.153/32,node-select
-IP-CIDR,185.199.109.153/32,node-select
-IP-CIDR,185.199.110.153/32,node-select
-IP-CIDR,185.199.111.153/32,node-select \ No newline at end of file
+IP-CIDR,185.199.108.153/32
+IP-CIDR,185.199.109.153/32
+IP-CIDR,185.199.110.153/32
+IP-CIDR,185.199.111.153/32 \ No newline at end of file
diff --git a/store/config/nvim/lazy-lock.json b/store/config/nvim/lazy-lock.json
index f323937..4f6c2b5 100644
--- a/store/config/nvim/lazy-lock.json
+++ b/store/config/nvim/lazy-lock.json
@@ -3,16 +3,15 @@
"cmp-buffer": { "branch": "main", "commit": "b74fab3656eea9de20a9b8116afa3cfc4ec09657" },
"cmp-nvim-lsp": { "branch": "main", "commit": "a8912b88ce488f411177fc8aed358b04dc246d7b" },
"cmp-path": { "branch": "main", "commit": "c6635aae33a50d6010bf1aa756ac2398a2d54c32" },
- "conform.nvim": { "branch": "master", "commit": "0e93e0d12d2f7ebdea9e3e444dfaff0050cefbe6" },
- "gitsigns.nvim": { "branch": "main", "commit": "d0f90ef51d4be86b824b012ec52ed715b5622e51" },
+ "gitsigns.nvim": { "branch": "main", "commit": "731b581428ec6c1ccb451b95190ebbc6d7006db7" },
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
- "lualine.nvim": { "branch": "master", "commit": "0c6cca9f2c63dadeb9225c45bc92bb95a151d4af" },
+ "lualine.nvim": { "branch": "master", "commit": "a94fc68960665e54408fe37dcf573193c4ce82c9" },
"neo-tree.nvim": { "branch": "v3.x", "commit": "f481de16a0eb59c985abac8985e3f2e2f75b4875" },
- "nui.nvim": { "branch": "main", "commit": "7cd18e73cfbd70e1546931b7268b3eebaeff9391" },
+ "nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" },
"nvim-autopairs": { "branch": "master", "commit": "4d74e75913832866aa7de35e4202463ddf6efd1b" },
"nvim-cmp": { "branch": "main", "commit": "b5311ab3ed9c846b585c0c15b7559be131ec4be9" },
- "nvim-lint": { "branch": "master", "commit": "cc26ae6a620298bb3f33b0e0681f99a10ae57781" },
- "nvim-lspconfig": { "branch": "master", "commit": "a182334ba933e58240c2c45e6ae2d9c7ae313e00" },
+ "nvim-lint": { "branch": "master", "commit": "2b0039b8be9583704591a13129c600891ac2c596" },
+ "nvim-lspconfig": { "branch": "master", "commit": "7ad4a11cc5742774877c529fcfb2702f7caf75e4" },
"nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" },
"nvim-web-devicons": { "branch": "master", "commit": "1fb58cca9aebbc4fd32b086cb413548ce132c127" },
"plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" },
diff --git a/store/config/nvim/lua/plugins.lua b/store/config/nvim/lua/plugins.lua
index 8458575..85de362 100644
--- a/store/config/nvim/lua/plugins.lua
+++ b/store/config/nvim/lua/plugins.lua
@@ -37,5 +37,4 @@ return {
{ "hrsh7th/cmp-path" },
{ "windwp/nvim-autopairs" },
{ "mfussenegger/nvim-lint" },
- { 'stevearc/conform.nvim' }
}
diff --git a/store/config/nvim/lua/setup/lsp.lua b/store/config/nvim/lua/setup/lsp.lua
index 6a58759..4216f1c 100644
--- a/store/config/nvim/lua/setup/lsp.lua
+++ b/store/config/nvim/lua/setup/lsp.lua
@@ -22,15 +22,23 @@ local function setup_clangd()
vim.lsp.config("clangd", { cmd = { clangd } })
- vim.api.nvim_create_autocmd('LspAttach', {
+ vim.api.nvim_create_autocmd("LspAttach", {
callback = function(ev)
if client_name_is(ev, "clangd") then
- vim.keymap.set('n', 'grs', "<cmd>ClangdSwitchSourceHeader<cr>", {
+ vim.keymap.set("n", "grs", "<cmd>ClangdSwitchSourceHeader<cr>", {
buffer = ev.buf
})
end
end
})
+
+ vim.api.nvim_create_autocmd("LspDetach", {
+ callback = function(ev)
+ if client_name_is(ev, "clangd") then
+ vim.keymap.del("n", "grs", { buffer = ev.buf })
+ end
+ end
+ })
end
local function setup_lua_ls()
@@ -55,6 +63,11 @@ local function setup_lua_ls()
})
end
+function vim.crupest.no_range_format()
+ print("Lsp doesn't support range formatting. Use gqa to format the whole document.")
+ return 0
+end
+
local function setup_denols()
vim.lsp.config("denols", {
root_dir = function(bufnr, on_dir)
@@ -67,10 +80,22 @@ local function setup_denols()
end,
})
- vim.api.nvim_create_autocmd('LspAttach', {
+ vim.api.nvim_create_autocmd("LspAttach", {
+ callback = function(ev)
+ if client_name_is(ev, "denols") then
+ vim.api.nvim_set_option_value(
+ "formatexpr",
+ "v:lua.vim.crupest.no_range_format()",
+ { buf = ev.buf }
+ )
+ end
+ end
+ })
+
+ vim.api.nvim_create_autocmd("LspDetach", {
callback = function(ev)
if client_name_is(ev, "denols") then
- vim.o.formatexpr = "v:lua.require'conform'.formatexpr()"
+ vim.api.nvim_set_option_value("formatexpr", "", { buf = ev.buf })
end
end
})
@@ -78,6 +103,18 @@ end
local function setup()
+ vim.api.nvim_create_autocmd("LspAttach", {
+ callback = function(ev)
+ vim.keymap.set("n", "gqa", vim.lsp.buf.format, { buffer = ev.buf })
+ end
+ })
+
+ vim.api.nvim_create_autocmd("LspDetach", {
+ callback = function(ev)
+ vim.keymap.del("n", "gqa", { buffer = ev.buf })
+ end
+ })
+
setup_clangd()
setup_lua_ls()
setup_denols()
diff --git a/store/config/nvim/lua/setup/plugins/conform.lua b/store/config/nvim/lua/setup/plugins/conform.lua
deleted file mode 100644
index 57b74a9..0000000
--- a/store/config/nvim/lua/setup/plugins/conform.lua
+++ /dev/null
@@ -1,17 +0,0 @@
-local function setup()
- require("conform").setup({
- formatters_by_ft = {
- javascript = { "prettierd", "prettier", stop_after_first = true },
- typescript = { "prettierd", "prettier", stop_after_first = true },
- javascriptreact = { "prettierd", "prettier", stop_after_first = true },
- typescriptreact = { "prettierd", "prettier", stop_after_first = true },
- },
- default_format_opts = {
- lsp_format = "fallback",
- },
- })
-end
-
-return {
- setup = setup
-}
diff --git a/store/config/nvim/lua/setup/plugins/init.lua b/store/config/nvim/lua/setup/plugins/init.lua
index 88eca4f..8f1346b 100644
--- a/store/config/nvim/lua/setup/plugins/init.lua
+++ b/store/config/nvim/lua/setup/plugins/init.lua
@@ -15,7 +15,6 @@ local function setup()
require("setup.plugins.tree-sitter").setup()
require("setup.plugins.lint").setup()
- require("setup.plugins.conform").setup()
require("setup.plugins.cmp").setup()
require("nvim-autopairs").setup {}
end
diff --git a/www/assets/res/css/base.css b/www/assets/res/css/base.css
index 06fcb4b..4449c40 100644
--- a/www/assets/res/css/base.css
+++ b/www/assets/res/css/base.css
@@ -39,7 +39,7 @@ table {
border-collapse: collapse;
&, :is(td,th) {
- padding: 0.4em;
+ padding: 0.2em 0.4em;
border: 1px solid var(--table-border-color);
}
}
diff --git a/www/assets/res/css/todos.css b/www/assets/res/css/todos.css
index 7802812..f9aa23b 100644
--- a/www/assets/res/css/todos.css
+++ b/www/assets/res/css/todos.css
@@ -1,24 +1,17 @@
-.todo {
- h3::before {
- font-family: monospace;
+h3.todo {
+ &::before {
+ font-size: small;
}
- &.working h3::before {
- content: "* ";
+ &.working::before {
+ content: "(working) ";
}
- &.done h3::before {
- content: "✓ ";
+ &.done::before {
+ content: "(done) ";
}
- &.give-up {
- &, a:link, a:visited {
- color: grey;
- }
-
- h3:before {
- content: "orz ✖ ";
- }
+ &.give-up::before {
+ content: "(give up) ";
}
}
-
diff --git a/www/config/_default/hugo.yaml b/www/config/_default/hugo.yaml
index b913177..289b0b4 100644
--- a/www/config/_default/hugo.yaml
+++ b/www/config/_default/hugo.yaml
@@ -18,6 +18,10 @@ frontmatter:
markup:
goldmark:
+ parser:
+ attribute:
+ block: true
+ title: true
extensions:
table: true
highlight:
diff --git a/www/content/notes/_index.md b/www/content/notes/_index.md
index 3c736ed..3f96f73 100644
--- a/www/content/notes/_index.md
+++ b/www/content/notes/_index.md
@@ -1,5 +1,16 @@
---
title: "Notes"
-params:
- recursive: true
+date: 2025-06-14T21:24:00+08:00
+lastmod: 2025-06-14T21:24:00+08:00
+layout: single
---
+
+- [Cheat Sheet](/notes/cheat-sheet)
+
+- [Hurd](/notes/hurd)
+
+ - [Cheat Sheet](/notes/hurd/cheat-sheet)
+
+ - [Todos](/notes/hurd/todos)
+
+ - [Useful Links](/notes/hurd/links)
diff --git a/www/content/notes/cheat-sheet.md b/www/content/notes/cheat-sheet.md
index 56bc92a..2f30140 100644
--- a/www/content/notes/cheat-sheet.md
+++ b/www/content/notes/cheat-sheet.md
@@ -4,11 +4,8 @@ date: 2025-04-01T23:09:53+08:00
lastmod: 2025-06-12T01:09:39+08:00
---
-{{< mono >}}
-
goto: [Hurd Cheat Sheet (in a separated page)](/notes/hurd/cheat-sheet)
-
-{{< /mono >}}
+{class="mono"}
## GRUB
@@ -44,7 +41,7 @@ docker run -it --rm -v "./data/git/user-info:/user-info" httpd htpasswd /user-in
A complete command is `[prefix] [docker (based on challenge kind)] [command] [challenge] [domains] [test] [misc]`
| part | for | segment |
-| --- | --- | --- |
+| :-: | :-: | --- |
| prefix | * | `docker run -it --rm --name certbot -v "./data/certbot/certs:/etc/letsencrypt" -v "./data/certbot/data:/var/lib/letsencrypt"` |
| docker | challenge standalone | `-p "0.0.0.0:80:80"` |
| docker | challenge nginx | `-v "./data/certbot/webroot:/var/www/certbot"` |
diff --git a/www/content/notes/hurd/_index.md b/www/content/notes/hurd/_index.md
new file mode 100644
index 0000000..8faf70b
--- /dev/null
+++ b/www/content/notes/hurd/_index.md
@@ -0,0 +1,15 @@
+---
+title: "Hurd"
+date: 2025-03-03T15:34:41+08:00
+lastmod: 2025-06-12T01:09:39+08:00
+layout: single
+---
+
+This is the gateway page for various notes about
+[GNU/Hurd](https://www.gnu.org/software/hurd/) written by me.
+
+- [Cheat Sheet](/notes/hurd/cheat-sheet)
+
+- [Todos](/notes/hurd/todos)
+
+- [Useful Links](/notes/hurd/links)
diff --git a/www/content/notes/hurd/cheat-sheet.md b/www/content/notes/hurd/cheat-sheet.md
index f48e943..6fe5ccd 100644
--- a/www/content/notes/hurd/cheat-sheet.md
+++ b/www/content/notes/hurd/cheat-sheet.md
@@ -1,7 +1,7 @@
---
title: "Hurd Cheat Sheet"
date: 2025-06-12T00:59:16+08:00
-lastmod: 2025-06-12T00:59:16+08:00
+lastmod: 2025-06-14T20:34:06+08:00
---
## Mirrors
@@ -45,6 +45,9 @@ boot on.
QEMU cli arguments `-machine q35` enables AHCI and SATA, and is **required for
official x86_64 image to boot**. As for i386, I haven't checked now.
+There is [a Deno script](https://github.com/crupest/crupest/blob/dev/deno/tools/manage-vm.ts)
+written by me to help define and build QEMU cli arguments of VMs.
+
## Inside Hurd
Configure/Setup network
diff --git a/www/content/notes/hurd.md b/www/content/notes/hurd/links.md
index aeb9b15..1e966d4 100644
--- a/www/content/notes/hurd.md
+++ b/www/content/notes/hurd/links.md
@@ -1,19 +1,11 @@
---
-title: "Hurd"
-date: 2025-03-03T15:34:41+08:00
-lastmod: 2025-06-12T01:09:39+08:00
+title: "Hurd Useful Links"
+date: 2025-06-14T20:34:06+08:00
+lastmod: 2025-06-14T20:34:06+08:00
---
-{{< mono >}}
-
-goto: [Cheat Sheet](/notes/hurd/cheat-sheet) | [Todos](/notes/hurd/todos)
-
-{{< /mono >}}
-
## links
-{{< mono >}}
-
| name | link |
| --- | --- |
| kernel-list-archive | <https://lists.gnu.org/archive/html/bug-hurd/> |
@@ -22,12 +14,8 @@ goto: [Cheat Sheet](/notes/hurd/cheat-sheet) | [Todos](/notes/hurd/todos)
| kernel-home | <https://www.gnu.org/software/hurd/index.html> |
| debian-home | <https://www.debian.org/ports/hurd/> |
-{{< /mono >}}
-
refs:
-{{< mono >}}
-
| name | link |
| --- | --- |
| c | <https://en.cppreference.com/w/c> |
@@ -36,20 +24,14 @@ refs:
| posix 2008 | <https://pubs.opengroup.org/onlinepubs/9699919799.2008edition/> |
| glibc | <https://sourceware.org/glibc/manual/2.41/html_mono/libc.html> |
-{{< /mono >}}
-
## mailing lists / irc
-{{< mono >}}
-
| name | address |
| --- | --- |
| hurd | <bug-hurd@gnu.org> |
| debian | <debian-hurd@lists.debian.org> |
| irc | librechat #hurd |
-{{< /mono >}}
-
## *_MAX patch
See [this](posts/c-func-ext.md)
diff --git a/www/content/notes/hurd/todos.md b/www/content/notes/hurd/todos.md
index 8fe068b..2dbded3 100644
--- a/www/content/notes/hurd/todos.md
+++ b/www/content/notes/hurd/todos.md
@@ -1,7 +1,7 @@
---
title: "Hurd Todos"
date: 2025-03-03T21:22:35+08:00
-lastmod: 2025-03-03T23:28:46+08:00
+lastmod: 2025-06-14T20:34:06+08:00
params:
css:
- todos
@@ -9,7 +9,11 @@ params:
## Porting
-{{< todo name=pam state=give-up >}}
+### hurd-fs4 {class="todo working"}
+
+<https://salsa.debian.org/rust-team/debcargo-conf/-/merge_requests/872>
+
+### pam {class="todo give-up"}
{{< link-group >}}
git
@@ -23,9 +27,7 @@ mail
<https://lists.debian.org/debian-hurd/2025/02/msg00018.html>
{{< /link-group >}}
-{{< /todo >}}
-
-{{< todo name=abseil state=working >}}
+### abseil {class="todo working"}
{{< link-group >}}
git
@@ -40,9 +42,7 @@ mail
<https://lists.debian.org/debian-hurd/2025/02/msg00035.html>
{{< /link-group >}}
-{{< /todo >}}
-
-{{< todo name=libgav1 state=done >}}
+### libgav1 {class="todo done"}
{{< link-group >}}
git
@@ -56,5 +56,3 @@ misc
mail: <https://lists.debian.org/debian-hurd/2025/02/msg00016.html>
gerrit: <https://chromium-review.googlesource.com/c/codecs/libgav1/+/6239812>
{{< /link-group >}}
-
-{{< /todo >}}
diff --git a/www/content/notes/todos.md b/www/content/notes/todos.md
deleted file mode 100644
index 1625362..0000000
--- a/www/content/notes/todos.md
+++ /dev/null
@@ -1,7 +0,0 @@
----
-title: "Todos"
-date: 2025-03-03T15:34:53+08:00
-lastmod: 2025-03-03T23:28:46+08:00
----
-
-[Hurd](/notes/hurd/todos)
diff --git a/www/layouts/partials/css-res.html b/www/layouts/_partials/css-res.html
index 6fabf67..6fabf67 100644
--- a/www/layouts/partials/css-res.html
+++ b/www/layouts/_partials/css-res.html
diff --git a/www/layouts/partials/css.html b/www/layouts/_partials/css.html
index 12d3353..12d3353 100644
--- a/www/layouts/partials/css.html
+++ b/www/layouts/_partials/css.html
diff --git a/www/layouts/partials/date.html b/www/layouts/_partials/date.html
index 9769e4e..9769e4e 100644
--- a/www/layouts/partials/date.html
+++ b/www/layouts/_partials/date.html
diff --git a/www/layouts/partials/highlight.html b/www/layouts/_partials/highlight.html
index 28c510e..28c510e 100644
--- a/www/layouts/partials/highlight.html
+++ b/www/layouts/_partials/highlight.html
diff --git a/www/layouts/partials/js.html b/www/layouts/_partials/js.html
index 16dafa4..16dafa4 100644
--- a/www/layouts/partials/js.html
+++ b/www/layouts/_partials/js.html
diff --git a/www/layouts/partials/nav.html b/www/layouts/_partials/nav.html
index 42c9ad1..42c9ad1 100644
--- a/www/layouts/partials/nav.html
+++ b/www/layouts/_partials/nav.html
diff --git a/www/layouts/partials/preview/article.html b/www/layouts/_partials/preview/article.html
index 6245434..6245434 100644
--- a/www/layouts/partials/preview/article.html
+++ b/www/layouts/_partials/preview/article.html
diff --git a/www/layouts/partials/preview/post.html b/www/layouts/_partials/preview/post.html
index f0c6fb5..f0c6fb5 100644
--- a/www/layouts/partials/preview/post.html
+++ b/www/layouts/_partials/preview/post.html
diff --git a/www/layouts/partials/preview/posts.html b/www/layouts/_partials/preview/posts.html
index f2cb640..f2cb640 100644
--- a/www/layouts/partials/preview/posts.html
+++ b/www/layouts/_partials/preview/posts.html
diff --git a/www/layouts/shortcodes/link-group.html b/www/layouts/_shortcodes/link-group.html
index b16c2bc..b16c2bc 100644
--- a/www/layouts/shortcodes/link-group.html
+++ b/www/layouts/_shortcodes/link-group.html
diff --git a/www/layouts/_default/baseof.html b/www/layouts/baseof.html
index 6d00be5..6d00be5 100644
--- a/www/layouts/_default/baseof.html
+++ b/www/layouts/baseof.html
diff --git a/www/layouts/index.html b/www/layouts/home.html
index af3e11d..3cfc455 100644
--- a/www/layouts/index.html
+++ b/www/layouts/home.html
@@ -33,12 +33,12 @@
goto:
<ul>
<li><a href="{{ absURL "/git/" }}">git</a></li>
+ {{ with .GetPage "/notes" }}
+ <li><a href="{{ .RelPermalink }}">notes</a></li>
+ {{ end }}
{{ with .GetPage "/notes/hurd" }}
<li><a href="{{ .RelPermalink }}">hurd</a></li>
{{ end }}
- {{ with .GetPage "/notes/todos" }}
- <li><a href="{{ .RelPermalink }}">todos</a></li>
- {{ end }}
{{ with .GetPage "/notes/cheat-sheet" }}
<li><a href="{{ .RelPermalink }}">cheat-sheet</a></li>
{{ end }}
diff --git a/www/layouts/_default/list.html b/www/layouts/list.html
index 5bb0b5e..be33d10 100644
--- a/www/layouts/_default/list.html
+++ b/www/layouts/list.html
@@ -5,13 +5,9 @@
{{ define "content" }}
{{ partial "nav.html" . }}
<h1>{{ .Title }}</h1>
- {{ $pages := .RegularPages }}
- {{ if .Param "recursive" }}
- {{ $pages = .RegularPagesRecursive }}
- {{ end }}
{{ partial "preview/posts.html" (dict
"h" "h3"
- "pages" $pages
+ "pages" .RegularPages
)
}}
{{ end }}
diff --git a/www/layouts/shortcodes/mono.html b/www/layouts/shortcodes/mono.html
deleted file mode 100644
index ab183a5..0000000
--- a/www/layouts/shortcodes/mono.html
+++ /dev/null
@@ -1,3 +0,0 @@
-<div class="mono-container">
- {{ .Inner | .Page.RenderString }}
-</div>
diff --git a/www/layouts/shortcodes/todo.html b/www/layouts/shortcodes/todo.html
deleted file mode 100644
index b4fc680..0000000
--- a/www/layouts/shortcodes/todo.html
+++ /dev/null
@@ -1,5 +0,0 @@
-<section class="todo {{ .Get "state" }}">
- <h3>{{ .Get "name" }}</h3>
- {{ .Inner }}
-</section>
-
diff --git a/www/layouts/_default/single.html b/www/layouts/single.html
index cd0e9c5..cd0e9c5 100644
--- a/www/layouts/_default/single.html
+++ b/www/layouts/single.html