aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYuqian Yang <crupest@crupest.life>2025-04-01 23:44:50 +0800
committerYuqian Yang <crupest@crupest.life>2025-04-02 19:00:58 +0800
commitb2d2e2870660ae64358e7effcad1bb7e0c5dc998 (patch)
tree8e3eb0fb6c56cb81522701b8256777a098298212
parenta985d6bb3ee26db6444702c3c0c8bff53ba46824 (diff)
downloadcrupest-b2d2e2870660ae64358e7effcad1bb7e0c5dc998.tar.gz
crupest-b2d2e2870660ae64358e7effcad1bb7e0c5dc998.tar.bz2
crupest-b2d2e2870660ae64358e7effcad1bb7e0c5dc998.zip
feat(www): update.
-rw-r--r--store/home/config/nvim/lua/setup/plugins/telescope.lua19
-rw-r--r--www/assets/res/css/todos.css20
-rw-r--r--www/content/notes/_index.md5
-rw-r--r--www/content/notes/cheat-sheet/_index.md11
-rw-r--r--www/content/notes/cheat-sheet/index.md14
-rw-r--r--www/content/notes/hurd/_index.md178
-rw-r--r--www/content/notes/hurd/index.md119
-rw-r--r--www/content/notes/hurd/todos.md14
-rw-r--r--www/content/posts/_index.md (renamed from www/content/posts/_index.html)0
-rw-r--r--www/content/posts/c-func-ext.md64
-rw-r--r--www/layouts/_default/list.html11
-rw-r--r--www/layouts/index.html2
-rw-r--r--www/layouts/shortcodes/todo.html6
13 files changed, 235 insertions, 228 deletions
diff --git a/store/home/config/nvim/lua/setup/plugins/telescope.lua b/store/home/config/nvim/lua/setup/plugins/telescope.lua
index d68b7f2..69a69c0 100644
--- a/store/home/config/nvim/lua/setup/plugins/telescope.lua
+++ b/store/home/config/nvim/lua/setup/plugins/telescope.lua
@@ -1,9 +1,26 @@
local function setup()
local builtin = require('telescope.builtin')
- vim.keymap.set('n', '<leader>ff', builtin.find_files, {})
+ vim.keymap.set('n', '<leader>/', builtin.live_grep, {})
vim.keymap.set('n', '<leader>fg', builtin.live_grep, {})
+ vim.keymap.set('n', '<leader>ff', builtin.find_files, {})
vim.keymap.set('n', '<leader>fb', builtin.buffers, {})
vim.keymap.set('n', '<leader>fh', builtin.help_tags, {})
+ vim.keymap.set('n', '<leader>fr', builtin.registers, {})
+ vim.keymap.set('n', '<leader>fq', builtin.quickfixhistory, {})
+ vim.keymap.set('n', '<leader>fm', builtin.marks, {})
+ vim.keymap.set('n', '<leader>fd', builtin.diagnostics, {})
+ vim.keymap.set('n', '<leader>fs', builtin.lsp_workspace_symbols, {})
+
+ local function all_files(opts)
+ opts = vim.tbl_extend('force', {
+ hidden = true,
+ no_ignore = true,
+ no_ignore_parent = true,
+ }, opts or {})
+ builtin.find_files(opts)
+ end
+
+ vim.keymap.set('n', '<leader>fa', all_files, {})
end
return {
diff --git a/www/assets/res/css/todos.css b/www/assets/res/css/todos.css
index e9a595d..7802812 100644
--- a/www/assets/res/css/todos.css
+++ b/www/assets/res/css/todos.css
@@ -1,14 +1,24 @@
.todo {
-
- &::before {
+ h3::before {
font-family: monospace;
}
- &.working::before {
+ &.working h3::before {
content: "* ";
}
- &.done::before {
+ &.done h3::before {
content: "✓ ";
}
-} \ No newline at end of file
+
+ &.give-up {
+ &, a:link, a:visited {
+ color: grey;
+ }
+
+ h3:before {
+ content: "orz ✖ ";
+ }
+ }
+}
+
diff --git a/www/content/notes/_index.md b/www/content/notes/_index.md
new file mode 100644
index 0000000..3c736ed
--- /dev/null
+++ b/www/content/notes/_index.md
@@ -0,0 +1,5 @@
+---
+title: "Notes"
+params:
+ recursive: true
+---
diff --git a/www/content/notes/cheat-sheet/_index.md b/www/content/notes/cheat-sheet/_index.md
index f379f0b..ff72c3d 100644
--- a/www/content/notes/cheat-sheet/_index.md
+++ b/www/content/notes/cheat-sheet/_index.md
@@ -1,15 +1,4 @@
---
title: "Cheat Sheet"
-date: 2025-04-01T23:09:53+08:00
-lastmod: 2025-04-01T23:09:53+08:00
-layout: single
---
-Update GRUB after `grub` package is updated. Replace `/boot` with your mount
-point of the EFI partition in `--efi-directory=/boot`. Replace `GRUB` with your
-bootloader id in `--bootloader-id=GRUB`.
-
-```bash-session
-grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB
-grub-mkconfig -o /boot/grub/grub.cfg
-```
diff --git a/www/content/notes/cheat-sheet/index.md b/www/content/notes/cheat-sheet/index.md
new file mode 100644
index 0000000..efb3b35
--- /dev/null
+++ b/www/content/notes/cheat-sheet/index.md
@@ -0,0 +1,14 @@
+---
+title: "Cheat Sheet"
+date: 2025-04-01T23:09:53+08:00
+lastmod: 2025-04-01T23:09:53+08:00
+---
+
+Update GRUB after `grub` package is updated. Replace `/boot` with your mount
+point of the EFI partition in `--efi-directory=/boot`. Replace `GRUB` with your
+bootloader id in `--bootloader-id=GRUB`.
+
+```bash-session
+grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB
+grub-mkconfig -o /boot/grub/grub.cfg
+```
diff --git a/www/content/notes/hurd/_index.md b/www/content/notes/hurd/_index.md
index 86b062a..3c031e1 100644
--- a/www/content/notes/hurd/_index.md
+++ b/www/content/notes/hurd/_index.md
@@ -1,182 +1,4 @@
---
title: "Hurd"
-date: 2025-03-03T15:34:41+08:00
-lastmod: 2025-03-03T23:28:46+08:00
-layout: single
---
-{{< mono >}}
-
-[TODOS](/notes/hurd/todos)
-
-{{< /mono >}}
-
-## links
-
-{{< mono >}}
-
-| name | link |
-| --- | --- |
-| kernel-list-archive | <https://lists.gnu.org/archive/html/bug-hurd/> |
-| debian-list-archive | <https://lists.debian.org/debian-hurd/> |
-| irc-archive | <https://logs.guix.gnu.org/hurd/> |
-| 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> |
-| posix latest | <https://pubs.opengroup.org/onlinepubs/9799919799/> |
-| posix 2013 | <https://pubs.opengroup.org/onlinepubs/9699919799.2013edition/> |
-| posix 2008 | <https://pubs.opengroup.org/onlinepubs/9699919799.2008edition/> |
-| glibc | <https://sourceware.org/glibc/manual/2.41/html_mono/libc.html> |
-
-{{< /mono >}}
-
-## *_MAX patch
-
-TODO: Move to separate page.
-
-```c
-#include <errno.h>
-#include <stdlib.h>
-#include <unistd.h>
-
-static inline char *xreadlink(const char *restrict path) {
- char *buffer;
- size_t allocated = 128;
- ssize_t len;
-
- while (1) {
- buffer = (char *)malloc(allocated);
- if (!buffer) {
- return NULL;
- }
- len = readlink(path, buffer, allocated);
- if (len < (ssize_t)allocated) {
- return buffer;
- }
- free(buffer);
- if (len >= (ssize_t)allocated) {
- allocated *= 2;
- continue;
- }
- return NULL;
- }
-}
-
-static inline char *xgethostname() {
- long max_host_name;
- char *buffer;
-
- max_host_name = sysconf(_SC_HOST_NAME_MAX);
- buffer = malloc(max_host_name + 1);
-
- if (gethostname(buffer, max_host_name + 1)) {
- free(buffer);
- return NULL;
- }
-
- buffer[max_host_name] = '\0';
- return buffer;
-}
-
-static inline char *xgetcwd() {
- char *buffer;
- size_t allocated = 128;
-
- while (1) {
- buffer = (char *)malloc(allocated);
- if (!buffer) {
- return NULL;
- }
- getcwd(buffer, allocated);
- if (buffer)
- return buffer;
- free(buffer);
- if (errno == ERANGE) {
- allocated *= 2;
- continue;
- }
- return NULL;
- }
-}
-```
-
-## git repos
-
-{{< link-group >}}
-hurd
-cru: <https://crupest.life/git/cru-hurd/hurd.git>
-upstream: <https://git.savannah.gnu.org/git/hurd/hurd.git>
-debian: <https://salsa.debian.org/hurd-team/hurd>
-{{< /link-group >}}
-
-{{< link-group >}}
-gnumach
-cru: <https://crupest.life/git/cru-hurd/gnumach.git>
-upstream: <https://git.savannah.gnu.org/git/hurd/gnumach.git>
-debian: <https://salsa.debian.org/hurd-team/gnumach>
-{{< /link-group >}}
-
-{{< link-group >}}
-mig
-cru: <https://crupest.life/git/cru-hurd/mig.git>
-upstream: <https://git.savannah.gnu.org/git/hurd/mig.git>
-debian: <https://salsa.debian.org/hurd-team/mig>
-{{< /link-group >}}
-
-{{< link-group >}}
-glibc
-cru: <https://crupest.life/git/cru-hurd/glibc.git>
-upstream: <git://sourceware.org/git/glibc.git>
-debian: <https://salsa.debian.org/glibc-team/glibc>
-mirror: <https://mirrors.tuna.tsinghua.edu.cn/git/glibc.git>
-{{< /link-group >}}
-
-{{< link-group >}}
-web
-cru: <https://crupest.life/git/cru-hurd/web.git>
-upstream: <https://git.savannah.gnu.org/git/hurd/web.git>
-{{< /link-group >}}
-
-## cheatsheet
-
-Start qemu
-
-```sh
-qemu-system-x86_64 -enable-kvm -m 4G -net nic -net user,hostfwd=tcp::3222-:22 -vga vmware -drive cache=writeback,file=[...]
-```
-
-Configure/Setup network
-
-```sh
-settrans -fgap /servers/socket/2 /hurd/pfinet -i /dev/eth0 -a 10.0.2.15 -g 10.0.2.2 -m 255.255.255.0
-fsysopts /servers/socket/2 /hurd/pfinet -i /dev/eth0 -a 10.0.2.15 -g 10.0.2.2 -m 255.255.255.0
-fsysopts /server/socket/2 -a 10.0.2.15 -g 10.0.2.2 -m 255.255.255.0
-```
-
-Setup apt
-
-```sh
-apt-get --allow-unauthenticated --allow-insecure-repositories update
-apt-get --allow-unauthenticated upgrade
-```
-
-## mailing lists / irc
-
-{{< mono >}}
-
-| name | address |
-| --- | --- |
-| hurd | <bug-hurd@gnu.org> |
-| debian | <debian-hurd@lists.debian.org> |
-| irc | librechat #hurd |
-
-{{< /mono >}}
diff --git a/www/content/notes/hurd/index.md b/www/content/notes/hurd/index.md
new file mode 100644
index 0000000..c48ed86
--- /dev/null
+++ b/www/content/notes/hurd/index.md
@@ -0,0 +1,119 @@
+---
+title: "Hurd"
+date: 2025-03-03T15:34:41+08:00
+lastmod: 2025-03-03T23:28:46+08:00
+---
+
+{{< mono >}}
+
+[TODOS](/notes/hurd/todos)
+
+{{< /mono >}}
+
+## links
+
+{{< mono >}}
+
+| name | link |
+| --- | --- |
+| kernel-list-archive | <https://lists.gnu.org/archive/html/bug-hurd/> |
+| debian-list-archive | <https://lists.debian.org/debian-hurd/> |
+| irc-archive | <https://logs.guix.gnu.org/hurd/> |
+| 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> |
+| posix latest | <https://pubs.opengroup.org/onlinepubs/9799919799/> |
+| posix 2013 | <https://pubs.opengroup.org/onlinepubs/9699919799.2013edition/> |
+| posix 2008 | <https://pubs.opengroup.org/onlinepubs/9699919799.2008edition/> |
+| glibc | <https://sourceware.org/glibc/manual/2.41/html_mono/libc.html> |
+
+{{< /mono >}}
+
+## *_MAX patch
+
+See [this](posts/c-func-ext.md)
+
+## git repos
+
+{{< link-group >}}
+hurd
+cru: <https://crupest.life/git/cru-hurd/hurd.git>
+upstream: <https://git.savannah.gnu.org/git/hurd/hurd.git>
+debian: <https://salsa.debian.org/hurd-team/hurd>
+{{< /link-group >}}
+
+{{< link-group >}}
+gnumach
+cru: <https://crupest.life/git/cru-hurd/gnumach.git>
+upstream: <https://git.savannah.gnu.org/git/hurd/gnumach.git>
+debian: <https://salsa.debian.org/hurd-team/gnumach>
+{{< /link-group >}}
+
+{{< link-group >}}
+mig
+cru: <https://crupest.life/git/cru-hurd/mig.git>
+upstream: <https://git.savannah.gnu.org/git/hurd/mig.git>
+debian: <https://salsa.debian.org/hurd-team/mig>
+{{< /link-group >}}
+
+{{< link-group >}}
+glibc
+cru: <https://crupest.life/git/cru-hurd/glibc.git>
+upstream: <git://sourceware.org/git/glibc.git>
+debian: <https://salsa.debian.org/glibc-team/glibc>
+mirror: <https://mirrors.tuna.tsinghua.edu.cn/git/glibc.git>
+{{< /link-group >}}
+
+{{< link-group >}}
+web
+cru: <https://crupest.life/git/cru-hurd/web.git>
+upstream: <https://git.savannah.gnu.org/git/hurd/web.git>
+{{< /link-group >}}
+
+## cheatsheet
+
+Start qemu
+
+```sh
+qemu-system-x86_64 -enable-kvm -m 4G \
+ -net nic -net user,hostfwd=tcp::3222-:22 \
+ -vga vmware -drive cache=writeback,file=[...]
+```
+
+Configure/Setup network
+
+```sh
+settrans -fgap /servers/socket/2 /hurd/pfinet \
+ -i /dev/eth0 -a 10.0.2.15 -g 10.0.2.2 -m 255.255.255.0
+fsysopts /servers/socket/2 /hurd/pfinet \
+ -i /dev/eth0 -a 10.0.2.15 -g 10.0.2.2 -m 255.255.255.0
+fsysopts /server/socket/2 -a 10.0.2.15 -g 10.0.2.2 -m 255.255.255.0
+```
+
+Setup apt
+
+```sh
+apt-get --allow-unauthenticated --allow-insecure-repositories update
+apt-get --allow-unauthenticated upgrade
+```
+
+## mailing lists / irc
+
+{{< mono >}}
+
+| name | address |
+| --- | --- |
+| hurd | <bug-hurd@gnu.org> |
+| debian | <debian-hurd@lists.debian.org> |
+| irc | librechat #hurd |
+
+{{< /mono >}}
diff --git a/www/content/notes/hurd/todos.md b/www/content/notes/hurd/todos.md
index f8273fb..cd93f01 100644
--- a/www/content/notes/hurd/todos.md
+++ b/www/content/notes/hurd/todos.md
@@ -9,7 +9,7 @@ params:
## Porting
-### {{< todo name=pam state=working >}}
+{{< todo name=pam state=give-up >}}
{{< link-group >}}
git
@@ -23,7 +23,9 @@ mail
<https://lists.debian.org/debian-hurd/2025/02/msg00018.html>
{{< /link-group >}}
-### {{< todo name=abseil state=working >}}
+{{< /todo >}}
+
+{{< todo name=abseil state=working >}}
{{< link-group >}}
git
@@ -38,7 +40,9 @@ mail
<https://lists.debian.org/debian-hurd/2025/02/msg00035.html>
{{< /link-group >}}
-### {{< todo name=libgav1 state=done >}}
+{{< /todo >}}
+
+{{< todo name=libgav1 state=done >}}
{{< link-group >}}
git
@@ -52,3 +56,7 @@ 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/posts/_index.html b/www/content/posts/_index.md
index 76fa783..76fa783 100644
--- a/www/content/posts/_index.html
+++ b/www/content/posts/_index.md
diff --git a/www/content/posts/c-func-ext.md b/www/content/posts/c-func-ext.md
index f0fce10..7106fad 100644
--- a/www/content/posts/c-func-ext.md
+++ b/www/content/posts/c-func-ext.md
@@ -19,9 +19,11 @@ reusable code snippets here to help *fix `*_MAX` bugs*.
<!--more-->
```c
-#include <errno.h>
#include <stdlib.h>
+#include <stdarg.h>
#include <unistd.h>
+#include <stdio.h>
+#include <errno.h>
static inline char *xreadlink(const char *restrict path) {
char *buffer;
@@ -29,24 +31,18 @@ static inline char *xreadlink(const char *restrict path) {
ssize_t len;
while (1) {
- buffer = (char *)malloc(allocated);
- if (!buffer) {
- return NULL;
- }
+ buffer = (char*) malloc(allocated);
+ if (!buffer) { return NULL; }
len = readlink(path, buffer, allocated);
- if (len < (ssize_t)allocated) {
- return buffer;
- }
+ if (len < (ssize_t) allocated) { return buffer; }
free(buffer);
- if (len >= (ssize_t)allocated) {
- allocated *= 2;
- continue;
- }
+ if (len >= (ssize_t) allocated) { allocated *= 2; continue; }
return NULL;
}
-}
+ }
+
-static inline char *xgethostname() {
+static inline char *xgethostname(void) {
long max_host_name;
char *buffer;
@@ -62,24 +58,42 @@ static inline char *xgethostname() {
return buffer;
}
-static inline char *xgetcwd() {
+static inline char *xgetcwd(void) {
char *buffer;
size_t allocated = 128;
while (1) {
- buffer = (char *)malloc(allocated);
- if (!buffer) {
- return NULL;
- }
+ buffer = (char*) malloc(allocated);
+ if (!buffer) { return NULL; }
getcwd(buffer, allocated);
- if (buffer)
- return buffer;
+ if (buffer) return buffer;
free(buffer);
- if (errno == ERANGE) {
- allocated *= 2;
- continue;
- }
+ if (errno == ERANGE) { allocated *= 2; continue; }
return NULL;
}
}
+
+static inline __attribute__((__format__(__printf__, 2, 3))) int
+xsprintf(char **buf_ptr, const char *restrict format, ...) {
+ char *buffer;
+ int ret;
+
+ va_list args;
+ va_start(args, format);
+
+ ret = snprintf(NULL, 0, format, args);
+ if (ret < 0) { goto out; }
+
+ buffer = malloc(ret + 1);
+ if (!buffer) { ret = -1; goto out; }
+
+ ret = snprintf(NULL, 0, format, args);
+ if (ret < 0) { free(buffer); goto out; }
+
+ *buf_ptr = buffer;
+
+out:
+ va_end(args);
+ return ret;
+}
```
diff --git a/www/layouts/_default/list.html b/www/layouts/_default/list.html
index c7c6cce..5bb0b5e 100644
--- a/www/layouts/_default/list.html
+++ b/www/layouts/_default/list.html
@@ -4,9 +4,14 @@
{{ define "content" }}
{{ partial "nav.html" . }}
- <h1>Posts</h1>
+ <h1>{{ .Title }}</h1>
+ {{ $pages := .RegularPages }}
+ {{ if .Param "recursive" }}
+ {{ $pages = .RegularPagesRecursive }}
+ {{ end }}
{{ partial "preview/posts.html" (dict
- "h" "h3"
- "pages" (.RegularPages.ByDate.Reverse.Limit 3))
+ "h" "h3"
+ "pages" $pages
+ )
}}
{{ end }}
diff --git a/www/layouts/index.html b/www/layouts/index.html
index f456e71..e05af03 100644
--- a/www/layouts/index.html
+++ b/www/layouts/index.html
@@ -33,7 +33,7 @@
anything to me.
</p>
<div id="links" class="mono-link">
- jump-to:
+ goto:
<ul>
<li><a href="{{ absURL "/git/" }}">git</a></li>
{{ with .GetPage "/notes/hurd" }}
diff --git a/www/layouts/shortcodes/todo.html b/www/layouts/shortcodes/todo.html
index 1327b31..b4fc680 100644
--- a/www/layouts/shortcodes/todo.html
+++ b/www/layouts/shortcodes/todo.html
@@ -1 +1,5 @@
-<span class="todo {{ .Get "state" }}">{{ .Get "name" }}</span> \ No newline at end of file
+<section class="todo {{ .Get "state" }}">
+ <h3>{{ .Get "name" }}</h3>
+ {{ .Inner }}
+</section>
+