diff --git a/.build.yml b/.build.yml new file mode 100644 index 0000000..3562911 --- /dev/null +++ b/.build.yml @@ -0,0 +1,58 @@ +image: alpine/edge +oauth: pages.sr.ht/PAGES:RW +packages: + - hut + - uv +environment: + site: ficd.sh + draft_site: draft.ficd.sh + proxy: ficd.srht.site + repo: ficd.sh + zona_repo: git+https://git.sr.ht/~ficd/zona + zona_ref: 71e541aa5e02a3e28a8b62bc7a1e609a9f6f7b78 +tasks: + - build: | + if [ "$GIT_REF" = "refs/heads/main" ]; then + cd $repo + uv run --with "${zona_repo}@${zona_ref}" zona build --output public + else + echo "Skipping build: not on main" + fi + + - build_draft: | + if [ "$GIT_REF" = "refs/heads/main" ]; then + cd $repo + uv run --with "${zona_repo}@${zona_ref}" zona build --output public-draft --draft + else + echo "Skipping build: not on main" + fi + + - package: | + if [ "$GIT_REF" = "refs/heads/main" ]; then + cd $repo/public + tar -cvz . > ../public.tar.gz + else + echo "Skipping package: not on main" + fi + + - package_draft: | + if [ "$GIT_REF" = "refs/heads/main" ]; then + cd $repo/public-draft + tar -cvz . > ../public-draft.tar.gz + else + echo "Skipping package: not on main" + fi + + - upload: | + if [ "$GIT_REF" = "refs/heads/main" ]; then + hut pages publish -d "$site" $repo/public.tar.gz + hut pages publish -d "$proxy" $repo/public.tar.gz + else + echo "Skipping upload: not on main" + fi + - upload_draft: | + if [ "$GIT_REF" = "refs/heads/main" ]; then + hut pages publish -d "$draft_site" $repo/public-draft.tar.gz + else + echo "Skipping upload: not on main" + fi diff --git a/content/about.md b/content/about.md index f5a0906..6db0e95 100644 --- a/content/about.md +++ b/content/about.md @@ -2,19 +2,16 @@ title: About --- -My name is Daniel, and I am a programmer, Linux enthusiast, and graduate student -of cybersecurity. My research interest is authentication, and I like programming -in Python and POSIX shell. I spend my free time writing code, tinkering, and -contributing to open-source projects. Feel free to [contact me](/contact) if you -want to see my resume or learn more about my work. +My name is Daniel, and I am a programmer, Linux enthusiast, and graduate +student of cybersecurity. My research interest is authentication, and I +like programming in Python and POSIX shell. I spend my free time writing +code, tinkering, and contributing to open-source projects. Feel free to +[contact me](/contact) if you want to see my resume or learn more about my +work. -[TOC] - -## My work - -I'm the author [zona] (a static site generator), [Ashen] (a color scheme), and a -number of [Kakoune plugins](/kakoune). Check my various [Git] forge profiles to -see my latest work. +I'm the author [zona] (a static site generator), [Ashen] (a color scheme), +and a number of [Kakoune] plugins. Check my various [Git] forge profiles +to see my latest work. [zona]: https://git.ficd.sh/ficd/zona [Git]: /git @@ -23,25 +20,25 @@ see my latest work. ## Education -I completed a Bachelor's of Computing (Honours) at Queen's University in 2024, -and I'm currently in the Master's of Science program at the School of Computing. -As part of the NSERC CREATE Cybersecurity program, my work combines programming, -cryptography, system design, and threat modeling to tackle real-world security -challenges. I'm currently working on my thesis, which introduces a novel method -of detecting signal relay attacks in the context of multi-factor authentication. +I completed a Bachelor's of Computing (Honours) at Queen's University in +2024, and I'm currently in the Master's of Science program at the School +of Computing. As part of the NSERC CREATE Cybersecurity program, my work +combines programming, cryptography, system design, and threat modeling to +tackle real-world security challenges. I'm currently working on my thesis, +which introduces a novel method of detecting signal relay attacks in the +context of multi-factor authentication. -## Things I use +## Stack I use [Kakoune] as my text editor, and I type in [Colemak-DH](https://colemakmods.github.io/mod-dh/) on a -[custom layout](https://git.ficd.sh/ficd/zmk). I run Arch Linux on a desktop PC -and ThinkPad, my preferred terminal is Foot, and I enjoy Niri as a window -manager. +[custom layout](https://git.ficd.sh/ficd/zmk). I run Arch Linux on a +desktop PC and ThinkPad, my preferred terminal is Foot, and I enjoy Niri +as a window manager. ## This Website This website is my personal blog and homepage. It's [JavaScript free](https://jsfree.org/), and registered on -[1mb.club](https://1mb.club/). The color scheme is [Ashen], and it was built -using [zona]. I'm working on a post describing my process for building it --- -stay tuned if you're interested. +[1mb.club](https://1mb.club/). The color scheme is [Ashen], and it was +built using [zona]. diff --git a/content/blog/index.md b/content/blog/index.md index bcca928..ed48c47 100644 --- a/content/blog/index.md +++ b/content/blog/index.md @@ -4,4 +4,7 @@ template: post_list post: false --- -Likely topics: text editors, command line, Linux, and programming. +Welcome to my blog. Expect to find posts about Linux, text editors, and +programming. If you have questions about something I've written, please +[contact](/contact) me. + diff --git a/content/git.md b/content/git.md index b036b06..2bc468e 100644 --- a/content/git.md +++ b/content/git.md @@ -7,26 +7,14 @@ title: Git [codeberg]: https://codeberg.org/ficd [github]: https://github.com/ficcdaf -## forge profiles - -My main forge for projects on which I expect to _collaborate_ is [codeberg]. I -[self-host a Forgejo instance](https://git.ficd.sh/ficd) for my personal -projects. I have repositories on [git.sr.ht], but I'm currently in the process -of migrating to [codeberg] -- don't expect the old repositories to stay -mirrored. Finally, I use [github] _only_ if I'm contributing to a project hosted -there. +My main forge for projects on which I expect to _collaborate_ is +[codeberg]. I [self-host a Forgejo instance](https://git.ficd.sh/ficd) for +my personal projects. I have repositories on [git.sr.ht], but I'm +currently in the process of migrating to [codeberg] -- don't expect the +old repositories to stay mirrored. Finally, I use [github] _only_ if I'm +contributing to a project hosted there. - [git.ficd.sh] (self-hosted) - [codeberg] - [git.sr.ht] - [github] - -## selected projects - -Here are some of my projects you may be interested in. To see the rest, please -check my [profiles](#forge-profiles). - -- [kakoune plugins](/kakoune) -- [zona](https://git.ficd.sh/ficd/zona) -- [ashen](https://codeberg.org/ficd/ashen) -- [`mailfmt`](https://git.ficd.sh/ficd/mailfmt) diff --git a/content/kakoune.md b/content/kakoune.md deleted file mode 100644 index 08745d4..0000000 --- a/content/kakoune.md +++ /dev/null @@ -1,56 +0,0 @@ ---- -title: Kakoune ---- - -[Kakoune]: https://kakoune.org - -Here is a list of [Kakoune]-related software I've written: - -[TOC] - -## `pygments-kakoune` - -An implementation of Kakoune command lexing for the Pygments syntax highlighting -library. [Repo](https://codeberg.org/ficd/pygments-kakoune) - -## `kak-ashen` - -Implementation of [Ashen](https://codeberg.org/ficd/ashen) for Kakoune. -[Repo](https://codeberg.org/ficd/kak-ashen) - -## `kak-search-highlight` - -Plugin for interactively highlighting search terms in Kakoune. -[Repo](https://codeberg.org/ficd/kak-search-highlight) - -## `kak-ltex-dictionary` - -Hack implementing "add to dictionary" functionality for -[`ltex-ls`](https://github.com/ltex-plus/ltex-ls-plus) through `kakoune-lsp`. -[Repo](https://codeberg.org/ficd/kak-ltex-dictionary) - -## `kak-autospell` - -Small plugin to make working with Kakoune `stdlib`'s `spell`' plugin more -convenient. [Repo](https://codeberg.org/ficd/kak-autospell) - -## `kak-fish` - -Implementation of `fish %{...}` command evaluation for Kakoune. -[Repo](https://codeberg.org/ficd/kak-fishr) - -## `kak-title-bar` - -Plugin implementing a live buffer list as the terminal window title. -[Repo](https://codeberg.org/ficd/kak-title-bar) - -## `kak-lsp-diags` - -Companion plugin to `kakoune-lsp` adding inlay diagnostics on hover support. -[Repo](https://codeberg.org/ficd/kak-lsp-diags) - -## `byline.kak` - -Fork of [`byline.kak`](https://github.com/evanrelf/byline.kak) (which adds -Helix-like behavior to `x` and `X`) --- improving performance by 17 times. -[Repo](https://codeberg.org/ficd/byline.kak) diff --git a/justfile b/justfile index a5a7a09..db26990 100644 --- a/justfile +++ b/justfile @@ -1,4 +1,4 @@ -zonaref := 'zona>=1.2.0' +zonaref := `rg "^.*(git\+.*).*$" -r '$1' .forgejo/workflows/deploy.yml` echo: echo {{zonaref}}