kolibri network
0
fork

Configure Feed

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

better styling, make links clickable

dawn 3ec7bb39 5ca34464

+174 -32
+1
.envrc
··· 1 + use flake
+2
.gitignore
··· 22 22 23 23 # jetbrains setting folder 24 24 .idea/ 25 + 26 + /.direnv
+77
flake.lock
··· 1 + { 2 + "nodes": { 3 + "naked-shell": { 4 + "locked": { 5 + "lastModified": 1681286841, 6 + "narHash": "sha256-3XlJrwlR0nBiREnuogoa5i1b4+w/XPe0z8bbrJASw0g=", 7 + "owner": "90-008", 8 + "repo": "mk-naked-shell", 9 + "rev": "7612f828dd6f22b7fb332cc69440e839d7ffe6bd", 10 + "type": "github" 11 + }, 12 + "original": { 13 + "owner": "90-008", 14 + "repo": "mk-naked-shell", 15 + "type": "github" 16 + } 17 + }, 18 + "nixpkgs": { 19 + "locked": { 20 + "lastModified": 1776255774, 21 + "narHash": "sha256-psVTpH6PK3q1htMJpmdz1hLF5pQgEshu7gQWgKO6t6Y=", 22 + "owner": "nixos", 23 + "repo": "nixpkgs", 24 + "rev": "566acc07c54dc807f91625bb286cb9b321b5f42a", 25 + "type": "github" 26 + }, 27 + "original": { 28 + "owner": "nixos", 29 + "ref": "nixpkgs-unstable", 30 + "repo": "nixpkgs", 31 + "type": "github" 32 + } 33 + }, 34 + "nixpkgs-lib": { 35 + "locked": { 36 + "lastModified": 1774748309, 37 + "narHash": "sha256-+U7gF3qxzwD5TZuANzZPeJTZRHS29OFQgkQ2kiTJBIQ=", 38 + "owner": "nix-community", 39 + "repo": "nixpkgs.lib", 40 + "rev": "333c4e0545a6da976206c74db8773a1645b5870a", 41 + "type": "github" 42 + }, 43 + "original": { 44 + "owner": "nix-community", 45 + "repo": "nixpkgs.lib", 46 + "type": "github" 47 + } 48 + }, 49 + "parts": { 50 + "inputs": { 51 + "nixpkgs-lib": "nixpkgs-lib" 52 + }, 53 + "locked": { 54 + "lastModified": 1775087534, 55 + "narHash": "sha256-91qqW8lhL7TLwgQWijoGBbiD4t7/q75KTi8NxjVmSmA=", 56 + "owner": "hercules-ci", 57 + "repo": "flake-parts", 58 + "rev": "3107b77cd68437b9a76194f0f7f9c55f2329ca5b", 59 + "type": "github" 60 + }, 61 + "original": { 62 + "owner": "hercules-ci", 63 + "repo": "flake-parts", 64 + "type": "github" 65 + } 66 + }, 67 + "root": { 68 + "inputs": { 69 + "naked-shell": "naked-shell", 70 + "nixpkgs": "nixpkgs", 71 + "parts": "parts" 72 + } 73 + } 74 + }, 75 + "root": "root", 76 + "version": 7 77 + }
+31
flake.nix
··· 1 + { 2 + inputs.parts.url = "github:hercules-ci/flake-parts"; 3 + inputs.nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable"; 4 + inputs.naked-shell.url = "github:90-008/mk-naked-shell"; 5 + 6 + outputs = inp: 7 + inp.parts.lib.mkFlake {inputs = inp;} { 8 + systems = ["x86_64-linux"]; 9 + imports = [ 10 + inp.naked-shell.flakeModule 11 + ]; 12 + perSystem = { 13 + lib, 14 + config, 15 + pkgs, 16 + ... 17 + }: { 18 + devShells.default = pkgs.mkShell { 19 + name = "eunomia-devshell"; 20 + packages = with pkgs; [ 21 + nodejs-slim_latest bun 22 + svelte-language-server 23 + typescript-language-server 24 + ]; 25 + shellHook = '' 26 + export PATH="$PATH:$PWD/node_modules/.bin" 27 + ''; 28 + }; 29 + }; 30 + }; 31 + }
+10
src/components/AutoLink.astro
··· 1 + --- 2 + const { href, ...rest } = Astro.props; 3 + const slot = await Astro.slots.render("default"); 4 + const text = slot.replace(/<[^>]*>/g, "").trim(); 5 + const resolvedHref = href ?? (text.includes("://") ? text : `https://${text}`); 6 + --- 7 + 8 + <a href={resolvedHref} target="_blank" rel="noopener noreferrer" {...rest} 9 + ><slot /></a 10 + >
+36 -18
src/layouts/Layout.astro
··· 1 1 --- 2 2 interface Props { 3 - title: string; 3 + title: string; 4 4 } 5 5 const { title } = Astro.props; 6 6 --- 7 7 8 8 <html lang="en"> 9 - <head> 10 - <meta charset="utf-8" /> 11 - <link rel="icon" href="/favicon.ico" /> 12 - <meta name="viewport" content="width=device-width" /> 13 - <title>{title}</title> 14 - </head> 15 - <body> 16 - <slot /> 17 - </body> 9 + <head> 10 + <meta charset="utf-8" /> 11 + <link rel="icon" href="/favicon.ico" /> 12 + <meta name="viewport" content="width=device-width" /> 13 + <title>{title}</title> 14 + </head> 15 + <body> 16 + <slot /> 17 + </body> 18 18 </html> 19 19 20 20 <style is:global> 21 - body { 22 - background: #1a1a1a; 23 - color: #d4d4d4; 24 - font-family: monospace; 25 - margin: 1em; 26 - } 27 - pre { margin: 0; } 28 - img { display: block; margin: 1em 0; } 21 + :root { 22 + --klbr-accent: #93092b; 23 + --klbr-bg: #d4d4d4; 24 + --klbr-fg: #262626; 25 + } 26 + body { 27 + background: var(--klbr-bg); 28 + color: var(--klbr-fg); 29 + font-family: monospace; 30 + margin: 1em; 31 + } 32 + pre { 33 + margin: 0; 34 + } 35 + img { 36 + display: block; 37 + margin: 1em 0; 38 + border-radius: 3px; 39 + } 40 + a { 41 + color: var(--klbr-accent); 42 + text-decoration: none; 43 + &:hover { 44 + text-decoration: underline; 45 + } 46 + } 29 47 </style>
+10 -8
src/pages/index.astro
··· 1 1 --- 2 - import Layout from '../layouts/Layout.astro'; 2 + import AutoLink from "../components/AutoLink.astro"; 3 + import Layout from "../layouts/Layout.astro"; 3 4 --- 4 5 5 6 <Layout title="klbr.net"> 6 - <img title="by rotgutd on twt" src="/klbr-pets-by-rotgutd-on-twt.gif" /> 7 - <pre> 7 + <img title="by rotgutd on twt" src="/klbr-pets-by-rotgutd-on-twt.gif" /> 8 + <pre> 8 9 hi there~ 9 10 10 11 you have reached klbr.net. this host operates ··· 12 13 we hope they will be of help to you ^^; 13 14 14 15 //make use of/ 15 - /did:plc mirror: plc.klbr.net/ 16 - /atproto relay: relay.klbr.net/ 17 - /atproto spool: spool.klbr.net/ 16 + /did:plc mirror: <AutoLink>plc.klbr.net</AutoLink> 17 + for mirror(s) coverage: <AutoLink>compare.plc.klbr.net</AutoLink>/ 18 + /atproto relay: <AutoLink>relay.klbr.net</AutoLink>/ 19 + /atproto spool: <AutoLink>spool.klbr.net</AutoLink>/ 18 20 19 21 //reach out/ 20 - /bsky @klbr.net/ 21 - /email 90008@klbr.net/ 22 + /bsky <AutoLink href="https://witchsky.app/profile/klbr.net">@klbr.net</AutoLink>/ 23 + /email <a href="mailto:90008@klbr.net">90008@klbr.net</a>/ 22 24 23 25 dig +short TXT klbr.net 24 26 </pre>
+7 -6
src/pages/spool/index.astro
··· 1 1 --- 2 - import Layout from '../../layouts/Layout.astro'; 2 + import AutoLink from "../../components/AutoLink.astro"; 3 + import Layout from "../../layouts/Layout.astro"; 3 4 --- 4 5 5 6 <Layout title="spool.klbr.net"> 6 - <pre> 7 + <pre> 7 8 you are currently downloading the documentation 8 9 for atspool, a receipt printer interface for the 9 10 atproto network. it speaks the net.klbr.spool ··· 21 22 the record key should be a TID. 22 23 23 24 //info/ 24 - /there is an allowlist, mention/dm klbr.net on bsky/ 25 - /source: tangled.org/ptr.pet/atspool/ 25 + /there is an allowlist, mention/dm klbr.net on bsky/ 26 + /source: <AutoLink>tangled.org/ptr.pet/atspool</AutoLink>/ 26 27 </pre> 27 - <img title="hi!!" src="/printer.webp" /> 28 - <pre> 28 + <img title="hi!!" src="/printer.webp" /> 29 + <pre> 29 30 this is a physical device. be nice to it. 30 31 </pre> 31 32 </Layout>