data endpoint for entity 90008 (aka. a website)
0
fork

Configure Feed

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

rewrite website

+84 -787
+44 -111
flake.lock
··· 1 1 { 2 2 "nodes": { 3 - "ema": { 4 - "flake": false, 5 - "locked": { 6 - "lastModified": 1661699475, 7 - "narHash": "sha256-2324LDzNNZGItJ4hI8SGUyZ8PZK0xHtRWnAFXlCX8UQ=", 8 - "owner": "srid", 9 - "repo": "ema", 10 - "rev": "be89ffe306a15ab4a16494c8593d989fabcc4486", 11 - "type": "github" 12 - }, 13 - "original": { 14 - "owner": "srid", 15 - "ref": "master", 16 - "repo": "ema", 17 - "type": "github" 18 - } 19 - }, 20 - "emanote": { 3 + "html-nix": { 21 4 "inputs": { 22 - "ema": "ema", 23 - "flake-parts": "flake-parts", 24 - "haskell-flake": "haskell-flake", 25 - "heist-extra": "heist-extra", 26 - "nixpkgs": "nixpkgs_2", 27 - "tailwind": "tailwind" 5 + "nixpkgs": "nixpkgs", 6 + "parts": "parts" 28 7 }, 29 8 "locked": { 30 - "lastModified": 1666637280, 31 - "narHash": "sha256-cgSfsSPyxz2fSeQfOjHDhbn9nQ23wDV2SW31A4VnMVU=", 32 - "owner": "srid", 33 - "repo": "emanote", 34 - "rev": "1d3f9f7572626b52e1fea723cf0a5fb634858d85", 35 - "type": "github" 9 + "lastModified": 1680754735, 10 + "narHash": "sha256-9BxKrDWg7K2ESUysFrbdLNz3qvY3zCQ7vC61hBRaJqI=", 11 + "ref": "refs/heads/master", 12 + "rev": "ef1ad056acdb43aa3390c83048c67295d391b4b2", 13 + "revCount": 65, 14 + "type": "git", 15 + "url": "https://git.gaze.systems/dusk/html.nix.git" 36 16 }, 37 17 "original": { 38 - "owner": "srid", 39 - "repo": "emanote", 40 - "type": "github" 18 + "type": "git", 19 + "url": "https://git.gaze.systems/dusk/html.nix.git" 41 20 } 42 21 }, 43 - "flake-parts": { 44 - "inputs": { 45 - "nixpkgs": "nixpkgs" 46 - }, 22 + "nixpkgs": { 47 23 "locked": { 48 - "lastModified": 1661009076, 49 - "narHash": "sha256-phAE40gctVygRq3G3B6LhvD7u2qdQT21xsz8DdRDYFo=", 50 - "owner": "hercules-ci", 51 - "repo": "flake-parts", 52 - "rev": "850d8a76026127ef02f040fb0dcfdb8b749dd9d9", 24 + "lastModified": 1680668850, 25 + "narHash": "sha256-mQMg13yRsS0LXVzaeoSPwqgPO6yhkGzGewPgMSqXSv8=", 26 + "owner": "NixOS", 27 + "repo": "nixpkgs", 28 + "rev": "4a65e9f64e53fdca6eed31adba836717a11247d2", 53 29 "type": "github" 54 30 }, 55 31 "original": { 56 - "owner": "hercules-ci", 57 - "repo": "flake-parts", 32 + "owner": "NixOS", 33 + "ref": "nixpkgs-unstable", 34 + "repo": "nixpkgs", 58 35 "type": "github" 59 36 } 60 37 }, 61 - "haskell-flake": { 38 + "nixpkgs-lib": { 62 39 "locked": { 63 - "lastModified": 1661726764, 64 - "narHash": "sha256-YzzOoff6m3W4g4B0E8xd3omvOhEVuRu/Rdvnmy2H6Jc=", 65 - "owner": "srid", 66 - "repo": "haskell-flake", 67 - "rev": "3c27b5ba2eafc52f4bed232a8ff74cf0a5a99375", 68 - "type": "github" 69 - }, 70 - "original": { 71 - "owner": "srid", 72 - "repo": "haskell-flake", 73 - "type": "github" 74 - } 75 - }, 76 - "heist-extra": { 77 - "flake": false, 78 - "locked": { 79 - "lastModified": 1663962912, 80 - "narHash": "sha256-AxzbGM1/l4Sm6zI5aunMA3cbdlDNHBecROKTaAEawxU=", 81 - "owner": "srid", 82 - "repo": "heist-extra", 83 - "rev": "29c719ded6606da19c21b182cf465b9620cda0b2", 84 - "type": "github" 85 - }, 86 - "original": { 87 - "owner": "srid", 88 - "repo": "heist-extra", 89 - "type": "github" 90 - } 91 - }, 92 - "nixpkgs": { 93 - "locked": { 94 - "lastModified": 1665848363, 95 - "narHash": "sha256-3Jow1YxzPtQnck1bAAvbVxgRH4gNnkIdw871Vm6UtAU=", 40 + "dir": "lib", 41 + "lastModified": 1680213900, 42 + "narHash": "sha256-cIDr5WZIj3EkKyCgj/6j3HBH4Jj1W296z7HTcWj1aMA=", 96 43 "owner": "NixOS", 97 44 "repo": "nixpkgs", 98 - "rev": "83b198a2083774844962c854f811538323f9f7b1", 45 + "rev": "e3652e0735fbec227f342712f180f4f21f0594f2", 99 46 "type": "github" 100 47 }, 101 48 "original": { 49 + "dir": "lib", 102 50 "owner": "NixOS", 103 51 "ref": "nixos-unstable", 104 52 "repo": "nixpkgs", 105 53 "type": "github" 106 54 } 107 55 }, 108 - "nixpkgs_2": { 56 + "parts": { 57 + "inputs": { 58 + "nixpkgs-lib": "nixpkgs-lib" 59 + }, 109 60 "locked": { 110 - "lastModified": 1662096612, 111 - "narHash": "sha256-R+Q8l5JuyJryRPdiIaYpO5O3A55rT+/pItBrKcy7LM4=", 112 - "owner": "nixos", 113 - "repo": "nixpkgs", 114 - "rev": "21de2b973f9fee595a7a1ac4693efff791245c34", 61 + "lastModified": 1680392223, 62 + "narHash": "sha256-n3g7QFr85lDODKt250rkZj2IFS3i4/8HBU2yKHO3tqw=", 63 + "owner": "hercules-ci", 64 + "repo": "flake-parts", 65 + "rev": "dcc36e45d054d7bb554c9cdab69093debd91a0b5", 115 66 "type": "github" 116 67 }, 117 68 "original": { 118 - "owner": "nixos", 119 - "ref": "nixpkgs-unstable", 120 - "repo": "nixpkgs", 69 + "owner": "hercules-ci", 70 + "repo": "flake-parts", 121 71 "type": "github" 122 72 } 123 73 }, 124 74 "root": { 125 75 "inputs": { 126 - "emanote": "emanote", 127 - "flake-parts": [ 128 - "emanote", 129 - "flake-parts" 130 - ], 76 + "html-nix": "html-nix", 131 77 "nixpkgs": [ 132 - "emanote", 78 + "html-nix", 133 79 "nixpkgs" 80 + ], 81 + "parts": [ 82 + "html-nix", 83 + "parts" 134 84 ] 135 - } 136 - }, 137 - "tailwind": { 138 - "flake": false, 139 - "locked": { 140 - "lastModified": 1665932648, 141 - "narHash": "sha256-YM/6pnBi8MymRHrPheiKrtL9FZPLeeTp/evd3O/0CkI=", 142 - "owner": "srid", 143 - "repo": "tailwind-haskell", 144 - "rev": "7aaaf2282d02846890904f1c23610ddea98d91b6", 145 - "type": "github" 146 - }, 147 - "original": { 148 - "owner": "srid", 149 - "ref": "master", 150 - "repo": "tailwind-haskell", 151 - "type": "github" 152 85 } 153 86 } 154 87 },
+38 -18
flake.nix
··· 1 1 { 2 - nixConfig.extra-substituters = "https://cache.garnix.io"; 3 - nixConfig.extra-trusted-public-keys = "cache.garnix.io:CTFPyKSLcx5RMJKfLo5EEPUObbA78b0YQ2DTCJXqr9g="; 4 - 5 2 inputs = { 6 - emanote.url = "github:srid/emanote"; 7 - nixpkgs.follows = "emanote/nixpkgs"; 8 - flake-parts.follows = "emanote/flake-parts"; 3 + html-nix.url = "git+https://git.gaze.systems/dusk/html.nix.git"; 4 + nixpkgs.follows = "html-nix/nixpkgs"; 5 + parts.follows = "html-nix/parts"; 9 6 }; 10 7 11 - outputs = inputs@{self, flake-parts, nixpkgs, ...}: 12 - flake-parts.lib.mkFlake { inherit self; } { 8 + outputs = inputs @ {parts, ...}: 9 + parts.lib.mkFlake {inherit inputs;} (topArgs: { 13 10 systems = ["x86_64-linux"]; 14 - imports = [inputs.emanote.flakeModule]; 15 - perSystem = {self', ...}: { 16 - emanote.sites."blog" = { 17 - layers = [./.]; 18 - layersString = ["."]; 19 - }; 20 - packages.default = self'.packages.blog; 21 - apps.default = self'.apps.blog; 11 + imports = [inputs.html-nix.flakeModule]; 12 + perSystem = { 13 + config, 14 + lib, 15 + ... 16 + }: let 17 + l = lib // builtins; 18 + html-nix = config.html-nix.lib; 19 + site = local: 20 + html-nix.mkSiteFrom { 21 + inherit local; 22 + src = ./src; 23 + config = { 24 + baseurl = "https://gaze.systems"; 25 + title = "dusk's place"; 26 + iconPath = "resources/icon.png"; 27 + siteLang = "en"; 28 + }; 29 + templater = ctx: 30 + l.pipe ctx [ 31 + topArgs.config.html-nix.lib.templaters.simple 32 + (ctx: 33 + l.recursiveUpdate ctx { 34 + site."resources"."icon.png" = ./src/resources/icon.png; 35 + }) 36 + ]; 37 + }; 38 + dev = html-nix.mkServeFromSite (site true); 39 + in { 40 + packages.site = html-nix.mkSitePathFrom (site false); 41 + apps.site.program = "${dev}/bin/serve"; 22 42 }; 23 - }; 24 - } 43 + }); 44 + }
+2 -3
index.md src/index.md
··· 1 1 # About 2 2 3 3 Hi, I'm dusk (aka yusdacra)! This is where I post about stuff. 4 - Feel free to send an e-mail or DM me on Matrix / Discord if you have anything to ask. 4 + Feel free to send an e-mail or DM me on Matrix if you have anything to ask. 5 5 6 6 + Contact: 7 7 - Matrix: [@dusk:gaze.systems](https://matrix.to/#/@dusk:gaze.systems) 8 - - Discord: dusk\#7476 9 8 - E-Mail: y.bera003.06@pm.me 10 9 - GitHub: <https://github.com/yusdacra> 11 10 - Gitea: <https://git.gaze.systems/dusk> ··· 13 12 ## Bio 14 13 15 14 I love using Nix / NixOS for any kind of purpose, but mainly for DevOps. 16 - I also use Rust for my hobby or other more serious projects. 15 + I also use Rust and Zig for my hobby or other more serious projects. 17 16 18 17 I work at [Platonic Systems](https://platonic.systems). 19 18
-11
index.yaml
··· 1 - page: 2 - siteTitle: gaze.systems 3 - siteName: gaze.systems 4 - 5 - template: 6 - iconUrl: resources/GazeOfficeIcon.webp 7 - theme: purple 8 - urlStrategy: pretty 9 - layout: 10 - base: 11 - bodyClass: bg-black
-4
notes/exporting ssh key from gpg.md src/posts/_exporting ssh key from gpg.md
··· 1 - --- 2 - tags: [gpg,ssh] 3 - --- 4 - 5 1 - gpg --export-secret-ssh-key doesn't work 6 2 - gpg --export-ssh-key works to export public key 7 3
-3
posts/Hello world!.md
··· 1 - First! 2 - 3 - - [ ] actually write something proper
-66
projects.md
··· 1 - # Projects 2 - 3 - ## Projects I contribute(d) to 4 - 5 - - [nixpkgs](https://github.com/NixOS/nixpkgs) 6 - - The Nix Packages collection for the [Nix package manager](https://github.com/NixOS/nix). 7 - - Package maintainer. 8 - 9 - ## Projects I maintain 10 - 11 - - [rust-nix-templater](https://github.com/yusdacra/rust-nix-templater) and [nix-cargo-integration](https://github.com/yusdacra/nix-cargo-integration) 12 - - `nix-cargo-integration` allows easy and convenient integration of Cargo projects with Nix. 13 - - `rust-nix-templater` is a utility to create / generate Rust projects with Nix files and CI set up. 14 - 15 - - [linemd](https://github.com/yusdacra/linemd) 16 - - A no dependency, no std, simple and lightweight markdown parser and renderer (to HTML and SVG). 17 - 18 - - [dream2nix](https://github.com/nix-community/dream2nix) 19 - 20 - ## Projects I used to work on 21 - 22 - - [Harmony Rust SDK](https://github.com/harmony-development/harmony_rust_sdk) 23 - - Rust library that implements the Harmony protocol, and builds a client API on top of it. 24 - 25 - - [scherzo](https://github.com/harmony-development/scherzo) 26 - - Harmony server implementation written in Rust, using sled as database and warp as HTTP server. 27 - 28 - - [Crust](https://github.com/harmony-development/crust) 29 - - Harmony client written in Rust, using iced as GUI framework. 30 - 31 - - [hrpc-rs](https://github.com/harmony-development/hrpc-rs) 32 - - [hrpc](https://github.com/harmony-development/hrpc) implementation in Rust. 33 - 34 - - [Harmony Protocol](https://github.com/harmony-development) 35 - - Various contributions to the reference server impl and the protocol itself. 36 - - Maintaining a server and client implementation, along with Rust ecosystem. 37 - 38 - - [Veloren](https://gitlab.com/veloren/veloren) and it's [Book](https://gitlab.com/veloren/book) 39 - - Veloren is a multiplayer voxel RPG written in Rust. 40 - - My main contributions are for rendering and UI. Also maintaining build files for the Nix package manager and the Turkish translation. And added some guides to the book. 41 - 42 - - [iced](https://github.com/hecrj/iced) 43 - - A cross-platform GUI library for Rust, inspired by Elm. 44 - 45 - - [Icy Matrix](https://gitlab.com/yusdacra/icy_matrix) 46 - - A Matrix chat client built with Rust. 47 - - Uses `iced` for GUI. 48 - 49 - - [Hakkero Kernel](https://gitlab.com/hakkero-os/hakkero) 50 - - Learning project to create a micro-kernel that runs on x86, arm and risc-v. 51 - - Current goal is to support webassembly and be able to run everything in ring 0, thanks to it's sandboxing features. 52 - 53 - - [treeculler](https://gitlab.com/yusdacra/treeculler) 54 - - A Rust crate for working with frustum and occlusion culling. 55 - 56 - - [bevy_networking_delivery](https://gitlab.com/yusdacra/bevy_prototype_networking_delivery) 57 - - A Rust crate for Bevy game engine that implements a simple `Delivery` based networking layer. 58 - 59 - - [kIDE](https://gitlab.com/yusdacra/kide) 60 - - Opinionated configuration for kakoune text editor, focusing on an IDE-like experience. 61 - 62 - - [FlutterEnhancements](https://github.com/yusdacra/FlutterEnhancements) 63 - - Basic Flutter support for Sublime Text 3. 64 - 65 - - [Neonment](https://gitlab.com/yusdacra/neonment) 66 - - Neonment is a first person hero shooter. Name is subject to change.
resources/GazeOfficeIcon.webp src/resources/icon.webp
src/resources/icon.png

This is a binary file and will not be displayed.

-18
templates/components/backlinks.tpl
··· 1 - <ema:note:backlinks:nodaily> 2 - <div class="flex-1 p-4 mt-8 bg-gray-800 rounded"> 3 - <header class="mb-2 text-xl font-semibold text-gray-100">Links to this page</header> 4 - <ul class="space-y-1"> 5 - <backlink> 6 - <li> 7 - <a class="text-${theme}-600 mavenLinkBold hover:underline" 8 - href="${backlink:note:url}"> 9 - <backlink:note:title /> 10 - </a> 11 - <backlink:note:contexts> 12 - <apply template="context" /> 13 - </backlink:note:contexts> 14 - </li> 15 - </backlink> 16 - </ul> 17 - </div> 18 - </ema:note:backlinks:nodaily>
-47
templates/components/breadcrumbs.tpl
··· 1 - <nav id="breadcrumbs" class="w-full text-gray-200 md:hidden"> 2 - <div class="flex justify-left"> 3 - <div class="w-full px-2 py-2 bg-black"> 4 - <ul class="flex flex-wrap text-lg"> 5 - <li class="inline-flex items-center"> 6 - <ema:metadata> 7 - <with var="template"> 8 - <img style="width: 1rem;" src="${value:iconUrl}" /> 9 - </with> 10 - </ema:metadata> 11 - </li> 12 - <ema:breadcrumbs> 13 - <each-crumb> 14 - <li class="inline-flex items-center"> 15 - <a class="px-1 font-bold" href="${crumb:url}"> 16 - <crumb:title /> 17 - </a> 18 - <svg fill="currentColor" viewBox="0 0 20 20" class="w-auto h-5 text-gray-400"> 19 - <path fill-rule="evenodd" 20 - d="M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z" 21 - clip-rule="evenodd"></path> 22 - </svg> 23 - </li> 24 - </each-crumb> 25 - </ema:breadcrumbs> 26 - </ul> 27 - </div> 28 - <button class="inline px-2 py-1 bg-black outline-none cursor-pointer focus:outline-none" 29 - title="Search (Ctrl+K)" type="button" onclick="window.emanote.stork.toggleSearch()"> 30 - <apply template="stork/stork-icon" /> 31 - </button> 32 - <button 33 - class="inline px-2 py-1 text-white bg-${theme}-600 outline-none cursor-pointer focus:outline-none" 34 - title="Toggle sidebar" type="button" onclick="toggleHidden('sidebar')"> 35 - <svg xmlns="http://www.w3.org/2000/svg" class="w-4" fill="none" viewBox="0 0 24 24" 36 - stroke="currentColor"> 37 - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" 38 - d="M4 6h16M4 12h16M4 18h16" /> 39 - </svg> 40 - </button> 41 - <script> 42 - function toggleHidden(elemId) { 43 - document.getElementById(elemId).classList.toggle("hidden"); 44 - } 45 - </script> 46 - </div> 47 - </nav>
-24
templates/components/context.tpl
··· 1 - <div class="mb-4 overflow-auto text-sm text-gray-100"> 2 - <context> 3 - <div class="pl-2 mt-2 border-l-2 border-${theme}-200 hover:border-${theme}-500"> 4 - <context:body> 5 - <PandocLink class="text-gray-300"> 6 - <Internal class="font-bold opacity-50 hover:opacity-100" /> 7 - <External class="hover:underline" target="_blank" rel="noopener" /> 8 - </PandocLink> 9 - <OrderedList class="ml-4 space-y-1 list-decimal list-inside" /> 10 - <BulletList class="ml-4 space-y-1 list-decimal list-inside" /> 11 - <Task:Checked> 12 - <apply template="/templates/components/checkbox-checked"> 13 - <inlines /> 14 - </apply> 15 - </Task:Checked> 16 - <Task:Unchecked> 17 - <apply template="/templates/components/checkbox-unchecked"> 18 - <inlines /> 19 - </apply> 20 - </Task:Unchecked> 21 - </context:body> 22 - </div> 23 - </context> 24 - </div>
-41
templates/components/footer.tpl
··· 1 - <footer class="flex items-center justify-center mt-2 mb-8 space-x-4 text-center text-gray-400"> 2 - <bind tag="iconClass">w-6 h-6 hover:text-${theme}-700</bind> 3 - <div> 4 - <a href="${ema:homeUrl}" title="Go to Home page"> 5 - <svg xmlns="http://www.w3.org/2000/svg" class="${iconClass}" fill="none" viewBox="0 0 24 24" 6 - stroke="currentColor"> 7 - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" 8 - d="M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6" /> 9 - </svg> 10 - </a> 11 - </div> 12 - <div> 13 - <a href="${ema:indexUrl}" title="View Index"> 14 - <svg class="${iconClass}" fill="none" stroke="currentColor" viewBox="0 0 24 24" 15 - xmlns="http://www.w3.org/2000/svg"> 16 - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" 17 - d="M4 8V4m0 0h4M4 4l5 5m11-1V4m0 0h-4m4 0l-5 5M4 16v4m0 0h4m-4 0l5-5m11 5l-5-5m5 5v-4m0 4h-4"> 18 - </path> 19 - </svg> 20 - </a> 21 - </div> 22 - <div> 23 - <a href="${ema:tagIndexUrl}" title="View tags"> 24 - <svg class="${iconClass}" fill="none" stroke="currentColor" viewBox="0 0 24 24" 25 - xmlns="http://www.w3.org/2000/svg"> 26 - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" 27 - d="M7 7h.01M7 3h5c.512 0 1.024.195 1.414.586l7 7a2 2 0 010 2.828l-7 7a2 2 0 01-2.828 0l-7-7A1.994 1.994 0 013 12V7a4 4 0 014-4z"> 28 - </path> 29 - </svg> 30 - </a> 31 - </div> 32 - <div> 33 - <a href="${ema:taskIndexUrl}" title="View tasks"> 34 - <svg xmlns="http://www.w3.org/2000/svg" class="${iconClass}" fill="none" viewBox="0 0 24 24" 35 - stroke="currentColor"> 36 - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" 37 - d="M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z" /> 38 - </svg> 39 - </a> 40 - </div> 41 - </footer>
-16
templates/components/metadata.tpl
··· 1 - <ema:metadata> 2 - <section 3 - class="flex flex-wrap items-end justify-center my-4 space-x-2 space-y-2 font-mono text-sm"> 4 - <with var="tags"> 5 - <!-- FIXME: The use of -/tags is wrong, because we should use routeUrl using Ema's encoder 6 - Perhaps Emanote should inject tagMetas with urls. 7 - --> 8 - <a title="Tag" class="px-1 bg-gray-800 rounded border-2 border-gray-700 hover:border-${theme}-700 hover:text-${theme}-500" 9 - href="-/tags/${value}${ema:urlStrategySuffix}"> 10 - <!-- DoNotFormat --> 11 - #<value /> 12 - <!-- DoNotFormat --> 13 - </a> 14 - </with> 15 - </section> 16 - </ema:metadata>
-6
templates/components/note-title.tpl
··· 1 - <h1 2 - class="flex items-end justify-center mb-4 p-3 bg-${theme}-900 text-5xl font-extrabold text-black rounded"> 3 - <a class="z-40 tracking-tighter "> 4 - <ema:note:title /> 5 - </a> 6 - </h1>
-107
templates/components/pandoc.tpl
··· 1 - <ema:note:pandoc> 2 - <Para> 3 - <p class="mb-3"> 4 - <inlines /> 5 - </p> 6 - </Para> 7 - <Task:Checked> 8 - <!-- FIXME: Fix list styling to use flexbox, so task lists don't botch them up --> 9 - <apply template="/templates/components/checkbox-checked"> 10 - <inlines /> 11 - </apply> 12 - </Task:Checked> 13 - <Task:Unchecked> 14 - <apply template="/templates/components/checkbox-unchecked"> 15 - <inlines /> 16 - </apply> 17 - </Task:Unchecked> 18 - <Cite> 19 - <cite> 20 - <inlines /> 21 - </cite> 22 - </Cite> 23 - <BlockQuote> 24 - <blockquote 25 - class="py-0.5 px-4 mb-3 italic border-l-4 bg-gray-50 text-gray-600 border-gray-400 quote"> 26 - <blocks /> 27 - </blockquote> 28 - </BlockQuote> 29 - <DefinitionList> 30 - <dl class="flex flex-col mb-3"> 31 - <DefinitionList:Items> 32 - <div class="my-1"> 33 - <dt class="font-bold text-l"> 34 - <DefinitionList:Item:Term /> 35 - </dt> 36 - <DefinitionList:Item:DescList> 37 - <div class="flex flex-col pl-1"> 38 - <dd class="pl-2 my-1 text-gray-700 border-l-2"> 39 - <DefinitionList:Item:Desc /> 40 - </dd> 41 - </div> 42 - </DefinitionList:Item:DescList> 43 - </div> 44 - </DefinitionList:Items> 45 - </dl> 46 - </DefinitionList> 47 - <Note:Ref> 48 - <!-- DoNotFormat --> 49 - <!-- We use JavaScript because anchor links won't work if there is a <base> tag; 50 - see https://stackoverflow.com/a/34765348 51 - --> 52 - <sup class="px-0.5"><a class="text-${theme}-600 hover:underline" href="javascript:;" onclick="document.location.hash='#fn${footnote:idx}';"><footnote:idx /></a></sup> 53 - <!-- DoNotFormat --> 54 - </Note:Ref> 55 - <Note:List> 56 - <div title="Footnotes" 57 - class="pt-2 mt-8 space-y-1 text-gray-500 transform scale-x-90 border-t-2"> 58 - <header class="font-semibold">Footnotes</header> 59 - <footnote> 60 - <div id="fn${footnote:idx}"> 61 - <header class="italic"> 62 - <footnote:idx />. 63 - </header> 64 - <div class="inline-block mb-2 ml-4"> 65 - <footnote:content /> 66 - </div> 67 - </div> 68 - </footnote> 69 - </div> 70 - </Note:List> 71 - 72 - <BulletList> 73 - <ul class="my-3 ml-6 space-y-1 list-disc"> 74 - <BulletList:Items> 75 - <li> 76 - <BulletList:Item /> 77 - </li> 78 - </BulletList:Items> 79 - </ul> 80 - </BulletList> 81 - <OrderedList> 82 - <ul class="my-3 ml-6 space-y-1 list-decimal list-inside"> 83 - <OrderedList:Items> 84 - <li> 85 - <OrderedList:Item /> 86 - </li> 87 - </OrderedList:Items> 88 - </ul> 89 - </OrderedList> 90 - 91 - <!-- TODO: Expand the above kind of overriding (full DOM control) to other AST nodes (below) --> 92 - <PandocLink class="text-${theme}-600"> 93 - <Internal class="mavenLinkBold hover:underline" /> 94 - <External class="hover:underline" target="_blank" rel="noopener" /> 95 - </PandocLink> 96 - <CodeBlock class="py-0.5 mb-3 text-sm" /> 97 - <Code class="py-0.5 px-1 rounded bg-gray-800 text-sm text-white" /> 98 - <Header> 99 - <h1 class="pb-2 mb-2 text-5xl font-bold text-center" /> 100 - <h2 class="inline-block mt-6 mb-4 text-4xl font-bold border-b-2 text-gray-100" /> 101 - <h3 class="mt-6 mb-2 text-3xl font-bold text-gray-100" /> 102 - <h4 class="mt-6 mb-2 text-2xl font-bold text-gray-100" /> 103 - <h5 class="mt-6 mb-2 text-xl font-bold text-gray-100" /> 104 - <h6 class="mt-6 mb-2 text-xl font-bold text-gray-100" /> 105 - </Header> 106 - 107 - </ema:note:pandoc>
-80
templates/components/sidebar-tree.tpl
··· 1 - <!-- Variable bindings for this tree--> 2 - <node:active> 3 - <bind tag="link-class">font-bold text-${theme}-600 hover:underline</bind> 4 - <else /> 5 - <tree:open> 6 - <has-children> 7 - <bind tag="link-class">font-bold hover:underline</bind> 8 - <else /> 9 - <bind tag="link-class">hover:underline</bind> 10 - </has-children> 11 - <else /> 12 - <bind tag="link-class">hover:underline</bind> 13 - </tree:open> 14 - </node:active> 15 - 16 - <has-children> 17 - <bind tag="icon"> 18 - <tree:open> 19 - <svg xmlns="http://www.w3.org/2000/svg" class="${iconSize} inline text-gray-300" 20 - viewBox="0 0 20 20" fill="currentColor"> 21 - <path fill-rule="evenodd" 22 - d="M2 6a2 2 0 012-2h4l2 2h4a2 2 0 012 2v1H8a3 3 0 00-3 3v1.5a1.5 1.5 0 01-3 0V6z" 23 - clip-rule="evenodd" /> 24 - <path d="M6 12a2 2 0 012-2h8a2 2 0 012 2v2a2 2 0 01-2 2H2h2a2 2 0 002-2v-2z" /> 25 - </svg> 26 - <else /> 27 - <svg xmlns="http://www.w3.org/2000/svg" class="${iconSize} inline text-gray-500" 28 - viewBox="0 0 20 20" fill="currentColor"> 29 - <path d="M2 6a2 2 0 012-2h5l2 2h5a2 2 0 012 2v6a2 2 0 01-2 2H4a2 2 0 01-2-2V6z" /> 30 - </svg> 31 - </tree:open> 32 - </bind> 33 - <else /> 34 - <bind tag="icon"> 35 - <node:active> 36 - <svg class="${iconSize} inline" fill="none" stroke="currentColor" viewBox="0 0 24 24" 37 - xmlns="http://www.w3.org/2000/svg"> 38 - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" 39 - d="M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"> 40 - </path> 41 - </svg> 42 - <else /> 43 - <svg class="${iconSize} inline" fill="none" stroke="currentColor" viewBox="0 0 24 24" 44 - xmlns="http://www.w3.org/2000/svg"> 45 - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" 46 - d="M7 21h10a2 2 0 002-2V9.414a1 1 0 00-.293-.707l-5.414-5.414A1 1 0 0012.586 3H7a2 2 0 00-2 2v14a2 2 0 002 2z"> 47 - </path> 48 - </svg> 49 - </node:active> 50 - </bind> 51 - </has-children> 52 - 53 - <!-- Rendering of this tree --> 54 - <div class="pl-2"> 55 - <!-- Node's rootLabel--> 56 - <div class="flex items-center my-2 space-x-2 justify-left"> 57 - <icon /> 58 - <a class="${link-class} truncate" title="${node:text}" href="${node:url}"> 59 - <node:text /> 60 - </a> 61 - <tree:open> 62 - <else /> 63 - <node:terminal> 64 - <else /> 65 - <span class="text-gray-300" title="${tree:childrenCount} children inside"> 66 - <tree:childrenCount /> 67 - </span> 68 - </node:terminal> 69 - </tree:open> 70 - </div> 71 - 72 - <!-- Node's children forest, displayed only on active trees 73 - TODO: Use <details> to toggle visibility? 74 - --> 75 - <tree:open> 76 - <children> 77 - <apply template="sidebar-tree" /> 78 - </children> 79 - </tree:open> 80 - </div>
-82
templates/layouts/book.tpl
··· 1 - <apply template="base"> 2 - <bind tag="body-main"> 3 - <div class="container mx-auto"> 4 - 5 - <apply template="components/breadcrumbs" /> 6 - 7 - <div id="container" 8 - class="flex flex-nowrap flex-col md:flex-row bg-black md:mt-8 md:shadow-2xl md:mb-8"> 9 - <!-- Sidebar column --> 10 - <nav id="sidebar" 11 - class="flex-shrink hidden leading-relaxed md:block md:sticky md:top-0 md:h-full md:w-48 xl:w-64"> 12 - <div class="px-2 py-2 text-gray-100"> 13 - 14 - <div id="indexing-links" class="flex flex-row float-right p-2 space-x-2 text-gray-400"> 15 - <a href="${ema:tagIndexUrl}" title="View tags"> 16 - <svg style="width: 1rem;" class="hover:text-${theme}-700" fill="none" 17 - stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"> 18 - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" 19 - d="M7 7h.01M7 3h5c.512 0 1.024.195 1.414.586l7 7a2 2 0 010 2.828l-7 7a2 2 0 01-2.828 0l-7-7A1.994 1.994 0 013 12V7a4 4 0 014-4z"> 20 - </path> 21 - </svg> 22 - </a> 23 - <a href="${ema:indexUrl}" title="Expand full tree"> 24 - <svg style="width: 1rem;" class="hover:text-${theme}-700" fill="none" 25 - stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"> 26 - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" 27 - d="M4 8V4m0 0h4M4 4l5 5m11-1V4m0 0h-4m4 0l-5 5M4 16v4m0 0h4m-4 0l5-5m11 5l-5-5m5 5v-4m0 4h-4"> 28 - </path> 29 - </svg> 30 - </a> 31 - <a title="Search (Ctrl+K)" class="cursor-pointer" 32 - onclick="window.emanote.stork.toggleSearch()"> 33 - <apply template="components/stork/stork-icon" /> 34 - </a> 35 - </div> 36 - 37 - <div id="site-logo" class="pl-2"> 38 - <div class="flex items-center my-2 space-x-2 justify-left"> 39 - <a href="${ema:homeUrl}" title="Go to Home"> 40 - <ema:metadata> 41 - <with var="template"> 42 - <!-- The style width attribute here is to prevent huge 43 - icon from displaying at those rare occasions when Tailwind 44 - hasn't kicked in immediately on page load 45 - --> 46 - <img style="width: 1rem;" 47 - class="transition transform hover:scale-110 hover:opacity-80" 48 - src="${value:iconUrl}" /> 49 - </with> 50 - </ema:metadata> 51 - </a> 52 - <a class="font-bold truncate" title="Go to Home" href="${ema:homeUrl}"> 53 - Home 54 - </a> 55 - </div> 56 - </div> 57 - 58 - <ema:route-tree> 59 - <apply template="components/sidebar-tree" /> 60 - </ema:route-tree> 61 - 62 - </div> 63 - </nav> 64 - 65 - <!-- Main body column --> 66 - <div class="flex-1 w-full overflow-x-auto bg-black"> 67 - <main class="px-4 py-4 text-gray-100"> 68 - <apply template="components/note-title" /> 69 - <apply template="components/note-body" /> 70 - <div class="flex flex-col lg:flex-row lg:space-x-2"> 71 - <apply template="components/timeline" /> 72 - <apply template="components/backlinks" /> 73 - </div> 74 - <apply template="components/metadata" /> 75 - <apply template="/templates/hooks/note-end" /> 76 - </main> 77 - </div> 78 - </div> 79 - <apply template="components/footer" /> 80 - </div> 81 - </bind> 82 - </apply>
-15
templates/special/base.tpl
··· 1 - <apply template="/templates/base"> 2 - <bind tag="body-main"> 3 - <div class="container mx-auto "> 4 - <main class="flex-col items-center justify-center mx-2 text-gray-200"> 5 - <h1 class="pb-2 mt-2 mb-2 text-6xl text-center"> 6 - <ema:title /> 7 - </h1> 8 - <div class="pb-2 mx-auto my-4 lg:max-w-screen-md "> 9 - <special-main /> 10 - </div> 11 - </main> 12 - <apply template="components/footer" /> 13 - </div> 14 - </bind> 15 - </apply>
-9
templates/special/index.tpl
··· 1 - <apply template="/templates/special/base"> 2 - <bind tag="special-main"> 3 - <div class="pt-1 pb-2 pl-4 bg-black text-gray-100"> 4 - <ema:route-tree> 5 - <apply template="components/sidebar-tree" /> 6 - </ema:route-tree> 7 - </div> 8 - </bind> 9 - </apply>
-75
templates/special/tagindex.tpl
··· 1 - <apply template="/templates/special/base"> 2 - <bind tag="special-main"> 3 - <div class="bg-black pb-2"> 4 - <nav id="tagcrumbs" class="w-full pl-2 bg-gray-800 rounded"> 5 - <div class="flex items-center justify-left"> 6 - <div class="w-full px-2 py-2 "> 7 - <ul class="flex flex-wrap text-lg"> 8 - <ema:tagcrumbs> 9 - <ema:each-crumb> 10 - <li class="inline-flex items-center"> 11 - <a class="px-1 font-mono font-semibold text-${theme}-600 " 12 - href="${ema:tagcrumb:url}"> 13 - <ema:tagcrumb:title /> 14 - </a> 15 - <svg fill="currentColor" viewBox="0 0 20 20" class="w-auto h-5 text-gray-400"> 16 - <path fill-rule="evenodd" 17 - d="M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z" 18 - clip-rule="evenodd"></path> 19 - </svg> 20 - </li> 21 - </ema:each-crumb> 22 - </ema:tagcrumbs> 23 - <li class="inline-flex items-center text-gray-100"> 24 - <a class="px-1 font-mono"> 25 - <ema:tag:title /> 26 - </a> 27 - </li> 28 - </ul> 29 - </div> 30 - </div> 31 - </nav> 32 - <div class="flex flex-col pl-2 my-4 ml-2 space-y-2"> 33 - <ema:childTags> 34 - <ema:each-childTag> 35 - <div> 36 - <svg class="${iconSize} inline text-gray-100" fill="none" stroke="currentColor" viewBox="0 0 24 24" 37 - xmlns="http://www.w3.org/2000/svg"> 38 - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" 39 - d="M7 7h.01M7 3h5c.512 0 1.024.195 1.414.586l7 7a2 2 0 010 2.828l-7 7a2 2 0 01-2.828 0l-7-7A1.994 1.994 0 013 12V7a4 4 0 014-4z"> 40 - </path> 41 - </svg> 42 - <span class=""> 43 - <a href="${ema:childTag:url}" class="font-mono font-bold hover:text-${theme}-700 text-gray-200"> 44 - <ema:childTag:title /> 45 - </a> 46 - <span class="font-mono text-sm text-gray-300"> 47 - <!-- DoNotFormat --> 48 - (<ema:childTag:count-tag />+<ema:childTag:count-note />) 49 - <!-- DoNotFormat --> 50 - </span> 51 - </span> 52 - </div> 53 - </ema:each-childTag> 54 - </ema:childTags> 55 - <ema:notes> 56 - <ema:each-note> 57 - <div> 58 - <svg class="${iconSize} inline text-gray-100" fill="none" stroke="currentColor" viewBox="0 0 24 24" 59 - xmlns="http://www.w3.org/2000/svg"> 60 - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" 61 - d="M7 21h10a2 2 0 002-2V9.414a1 1 0 00-.293-.707l-5.414-5.414A1 1 0 0012.586 3H7a2 2 0 00-2 2v14a2 2 0 002 2z"> 62 - </path> 63 - </svg> 64 - 65 - <!-- TODO: DRY --> 66 - <a class="text-${theme}-600 hover:underline truncate" href="${ema:note:url}"> 67 - <ema:note:title /> 68 - </a> 69 - </div> 70 - </ema:each-note> 71 - </ema:notes> 72 - </div> 73 - </div> 74 - </bind> 75 - </apply>
-51
templates/special/tasks.tpl
··· 1 - <apply template="/templates/special/base"> 2 - <bind tag="special-main"> 3 - <div class="w-full bg-black"> 4 - <div class="w-full px-3 py-1"> 5 - <ema:taskGroups> 6 - <taskGroup> 7 - <section class="mt-4 mb-6"> 8 - <div class="mt-1 mb-2 py-0.5 px-1 rounded flex flex-row-reverse"> 9 - <t:note:breadcrumbs> 10 - <each-crumb> 11 - <li class="inline-flex items-center"> 12 - <a class="text-gray-100 opacity-50 hover:opacity-100" href="${crumb:url}"> 13 - <crumb:title /> 14 - </a> 15 - <span class="text-gray-100 px-2">\</span> 16 - </li> 17 - </each-crumb> 18 - </t:note:breadcrumbs> 19 - 20 - <div class="flex-1"> 21 - <a class="font-bold text-${theme}-700 hover:underline" href="${t:note:url}"> 22 - <t:note:title /> 23 - </a> 24 - </div> 25 - </div> 26 - <div class=""> 27 - <t:tasks> 28 - <task> 29 - <div 30 - class="bg-gray-800 py-1.5 px-2 my-1 rounded shadow border-2 border-gray-600 hover:border-${theme}-600"> 31 - <apply template="/templates/components/checkbox-unchecked"> 32 - <task:description> 33 - <PandocLink class="text-gray-300"> 34 - <Internal class="font-bold hover:bg-gray-50" /> 35 - <External class="hover:underline" target="_blank" rel="noopener" /> 36 - </PandocLink> 37 - <OrderedList class="ml-4 space-y-1 list-decimal list-inside" /> 38 - <BulletList class="ml-4 space-y-1 list-decimal list-inside" /> 39 - </task:description> 40 - </apply> 41 - </div> 42 - </task> 43 - </t:tasks> 44 - </div> 45 - </section> 46 - </taskGroup> 47 - </ema:taskGroups> 48 - </div> 49 - </div> 50 - </bind> 51 - </apply>