My personal website, in gleam+lustre!
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

:eyes: emoji

+18 -16
+3 -3
flake.lock
··· 2 2 "nodes": { 3 3 "nixpkgs": { 4 4 "locked": { 5 - "lastModified": 1772773019, 6 - "narHash": "sha256-E1bxHxNKfDoQUuvriG71+f+s/NT0qWkImXsYZNFFfCs=", 5 + "lastModified": 1776548001, 6 + "narHash": "sha256-ZSK0NL4a1BwVbbTBoSnWgbJy9HeZFXLYQizjb2DPF24=", 7 7 "owner": "NixOS", 8 8 "repo": "nixpkgs", 9 - "rev": "aca4d95fce4914b3892661bcb80b8087293536c6", 9 + "rev": "b12141ef619e0a9c1c84dc8c684040326f27cdcc", 10 10 "type": "github" 11 11 }, 12 12 "original": {
+2 -2
gleam.toml
··· 6 6 lustre = ">= 5.6.0 and < 6.0.0" 7 7 modem = ">= 2.1.2 and < 3.0.0" 8 8 jot = ">= 10.1.1 and < 11.0.0" 9 - chilp = ">= 1.0.0 and < 2.0.0" 9 + chilp = { git = "https://tangled.org/strawmelonjuice.com/chilp", ref = "293a0e8419d66ab1eadb2b6ace2dabed42753bf2" } 10 10 gleam_time = ">= 1.7.0 and < 2.0.0" 11 11 webls = ">= 1.6.1 and < 2.0.0" 12 12 smalto = ">= 3.0.0 and < 4.0.0" ··· 24 24 bin.bun = "system" 25 25 26 26 [tools.lustre.build] 27 - no-tailwind = true 27 + no_tailwind = true 28 28 minify = true 29 29 30 30 [tools.lustre.html]
+4 -3
manifest.toml
··· 4 4 packages = [ 5 5 { name = "argv", version = "1.0.2", build_tools = ["gleam"], requirements = [], otp_app = "argv", source = "hex", outer_checksum = "BA1FF0929525DEBA1CE67256E5ADF77A7CDDFE729E3E3F57A5BDCAA031DED09D" }, 6 6 { name = "booklet", version = "1.1.0", build_tools = ["gleam"], requirements = [], otp_app = "booklet", source = "hex", outer_checksum = "08E0FDB78DC4D8A5D3C80295B021505C7D2A2E7B6C6D5EAB7286C36F4A53C851" }, 7 - { name = "chilp", version = "1.0.0", build_tools = ["gleam"], requirements = ["gleam_json", "gleam_stdlib", "gleam_time", "lustre", "rsvp"], otp_app = "chilp", source = "hex", outer_checksum = "A1CD4CF3C1B18301838332BAB60B64CEE8D50CDDFD6EF32807F216B0B0967104" }, 7 + { name = "chilp", version = "2.0.0-rc", build_tools = ["gleam"], requirements = ["gleam_json", "gleam_stdlib", "gleam_time", "html_parser", "lustre", "rsvp"], source = "git", repo = "https://tangled.org/strawmelonjuice.com/chilp", commit = "293a0e8419d66ab1eadb2b6ace2dabed42753bf2" }, 8 8 { name = "directories", version = "1.2.0", build_tools = ["gleam"], requirements = ["envoy", "gleam_stdlib", "platform", "simplifile"], otp_app = "directories", source = "hex", outer_checksum = "D13090CFCDF6759B87217E8DDD73A75903A700148A82C1D33799F333E249BF9E" }, 9 9 { name = "envoy", version = "1.1.0", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "envoy", source = "hex", outer_checksum = "850DA9D29D2E5987735872A2B5C81035146D7FE19EFC486129E44440D03FD832" }, 10 10 { name = "exception", version = "2.1.0", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "exception", source = "hex", outer_checksum = "329D269D5C2A314F7364BD2711372B6F2C58FA6F39981572E5CA68624D291F8C" }, ··· 13 13 { name = "gleam_community_colour", version = "2.0.4", build_tools = ["gleam"], requirements = ["gleam_json", "gleam_stdlib"], otp_app = "gleam_community_colour", source = "hex", outer_checksum = "6DB4665555D7D2B27F0EA32EF47E8BEBC4303821765F9C73D483F38EE24894F0" }, 14 14 { name = "gleam_crypto", version = "1.5.1", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "gleam_crypto", source = "hex", outer_checksum = "50774BAFFF1144E7872814C566C5D653D83A3EBF23ACC3156B757A1B6819086E" }, 15 15 { name = "gleam_erlang", version = "1.3.0", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "gleam_erlang", source = "hex", outer_checksum = "1124AD3AA21143E5AF0FC5CF3D9529F6DB8CA03E43A55711B60B6B7B3874375C" }, 16 - { name = "gleam_fetch", version = "1.3.0", build_tools = ["gleam"], requirements = ["gleam_http", "gleam_javascript", "gleam_stdlib"], otp_app = "gleam_fetch", source = "hex", outer_checksum = "2CBF9F2E1C71AEBBFB13A9D5720CD8DB4263EB02FE60C5A7A1C6E17B0151C20C" }, 16 + { name = "gleam_fetch", version = "1.4.0", build_tools = ["gleam"], requirements = ["gleam_http", "gleam_javascript", "gleam_stdlib"], otp_app = "gleam_fetch", source = "hex", outer_checksum = "284CE88E37436699545F9F65D413E1DFB6C1EA3FE3824B6EA2018D0ECF088FFC" }, 17 17 { name = "gleam_http", version = "4.3.0", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "gleam_http", source = "hex", outer_checksum = "82EA6A717C842456188C190AFB372665EA56CE13D8559BF3B1DD9E40F619EE0C" }, 18 18 { name = "gleam_httpc", version = "5.0.0", build_tools = ["gleam"], requirements = ["gleam_erlang", "gleam_http", "gleam_stdlib"], otp_app = "gleam_httpc", source = "hex", outer_checksum = "C545172618D07811494E97AAA4A0FB34DA6F6D0061FDC8041C2F8E3BE2B2E48F" }, 19 19 { name = "gleam_javascript", version = "1.0.0", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "gleam_javascript", source = "hex", outer_checksum = "EF6C77A506F026C6FB37941889477CD5E4234FCD4337FF0E9384E297CB8F97EB" }, ··· 30 30 { name = "group_registry", version = "1.0.0", build_tools = ["gleam"], requirements = ["gleam_erlang", "gleam_otp", "gleam_stdlib"], otp_app = "group_registry", source = "hex", outer_checksum = "BC798A53D6F2406DB94E27CB45C57052CB56B32ACF7CC16EA20F6BAEC7E36B90" }, 31 31 { name = "houdini", version = "1.2.0", build_tools = ["gleam"], requirements = [], otp_app = "houdini", source = "hex", outer_checksum = "5DB1053F1AF828049C2B206D4403C18970ABEF5C18671CA3C2D2ED0DD64F6385" }, 32 32 { name = "hpack_erl", version = "0.3.0", build_tools = ["rebar3"], requirements = [], otp_app = "hpack", source = "hex", outer_checksum = "D6137D7079169D8C485C6962DFE261AF5B9EF60FBC557344511C1E65E3D95FB0" }, 33 + { name = "html_parser", version = "1.0.1", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "html_parser", source = "hex", outer_checksum = "EEC0A3891CE99A49A8BB99086A06F56441D2ACF9436CE33ADBE51CE277D2D607" }, 33 34 { name = "jot", version = "10.1.1", build_tools = ["gleam"], requirements = ["gleam_stdlib", "houdini", "splitter"], otp_app = "jot", source = "hex", outer_checksum = "395907A191D8558C7FA39653157D77674467D15B07794A1543A6CF24F6A10278" }, 34 35 { name = "justin", version = "1.0.1", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "justin", source = "hex", outer_checksum = "7FA0C6DB78640C6DC5FBFD59BF3456009F3F8B485BF6825E97E1EB44E9A1E2CD" }, 35 36 { name = "logging", version = "1.3.0", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "logging", source = "hex", outer_checksum = "1098FBF10B54B44C2C7FDF0B01C1253CAFACDACABEFB4B0D027803246753E06D" }, ··· 53 54 54 55 [requirements] 55 56 argv = { version = ">= 1.0.2 and < 2.0.0" } 56 - chilp = { version = ">= 1.0.0 and < 2.0.0" } 57 + chilp = { git = "https://tangled.org/strawmelonjuice.com/chilp", ref = "293a0e8419d66ab1eadb2b6ace2dabed42753bf2" } 57 58 gleam_erlang = { version = ">= 1.3.0 and < 2.0.0" } 58 59 gleam_json = { version = ">= 3.1.0 and < 4.0.0" } 59 60 gleam_regexp = { version = ">= 1.1.1 and < 2.0.0" }
+1 -1
site.css
··· 1 1 @import "tailwindcss"; 2 2 @source "./src/homepage.gleam"; 3 - @source "./src/**/*.gleam"; 3 + @source "./build/packages/chilp/src/chilp/widget.gleam"; 4 4 @plugin "daisyui"; 5 5 6 6 @plugin "daisyui/theme" {
+8 -7
src/homepage.gleam
··· 1 + import chilp/widget/anchors 2 + 1 3 const highlighted_posts = [] 2 4 3 5 /// Post data ------------------------------------------------------------------- ··· 23 25 category: "Personal", 24 26 title: "What I use: 2026 edition", 25 27 summary: "And what changed recently, as I've never done these before.", 26 - published: Date(2026, April, 18) 28 + published: Date(2026, April, 27) 27 29 |> stuff.date_stamp(hours: 15, minutes: 30), 28 30 revised: None, 29 31 body: File(Djot, "./written-contents/blog/what-i-use-26.dj"), ··· 2442 2444 ), 2443 2445 ), 2444 2446 ]), 2447 + 2448 + html.hr([attribute.class("my-8")]), 2445 2449 case post.comments { 2446 2450 CommentsDisable -> 2447 - [ 2448 - html.hr([attribute.class("my-8")]), 2449 - element.text("Comments are disabled for this post."), 2450 - ] 2451 - |> element.fragment 2452 - MastodonStatusLink(instance:, id:) -> chilp.widget(instance, id) 2451 + element.text("Comments are disabled for this post.") 2452 + MastodonStatusLink(instance:, id:) -> 2453 + chilp.widget(Some(anchors.Mastodon(instance:, postid: id)), None) 2453 2454 }, 2454 2455 ], 2455 2456 ),