rewrite website

This commit is contained in:
dusk 2023-04-06 07:31:23 +03:00
parent 06c837f139
commit 083a81d251
Signed by: dusk
GPG Key ID: 1D8F8FAF2294D6EA
22 changed files with 90 additions and 793 deletions

View File

@ -1,155 +1,88 @@
{
"nodes": {
"ema": {
"flake": false,
"locked": {
"lastModified": 1661699475,
"narHash": "sha256-2324LDzNNZGItJ4hI8SGUyZ8PZK0xHtRWnAFXlCX8UQ=",
"owner": "srid",
"repo": "ema",
"rev": "be89ffe306a15ab4a16494c8593d989fabcc4486",
"type": "github"
},
"original": {
"owner": "srid",
"ref": "master",
"repo": "ema",
"type": "github"
}
},
"emanote": {
"html-nix": {
"inputs": {
"ema": "ema",
"flake-parts": "flake-parts",
"haskell-flake": "haskell-flake",
"heist-extra": "heist-extra",
"nixpkgs": "nixpkgs_2",
"tailwind": "tailwind"
"nixpkgs": "nixpkgs",
"parts": "parts"
},
"locked": {
"lastModified": 1666637280,
"narHash": "sha256-cgSfsSPyxz2fSeQfOjHDhbn9nQ23wDV2SW31A4VnMVU=",
"owner": "srid",
"repo": "emanote",
"rev": "1d3f9f7572626b52e1fea723cf0a5fb634858d85",
"type": "github"
"lastModified": 1680754735,
"narHash": "sha256-9BxKrDWg7K2ESUysFrbdLNz3qvY3zCQ7vC61hBRaJqI=",
"ref": "refs/heads/master",
"rev": "ef1ad056acdb43aa3390c83048c67295d391b4b2",
"revCount": 65,
"type": "git",
"url": "https://git.gaze.systems/dusk/html.nix.git"
},
"original": {
"owner": "srid",
"repo": "emanote",
"type": "github"
}
},
"flake-parts": {
"inputs": {
"nixpkgs": "nixpkgs"
},
"locked": {
"lastModified": 1661009076,
"narHash": "sha256-phAE40gctVygRq3G3B6LhvD7u2qdQT21xsz8DdRDYFo=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "850d8a76026127ef02f040fb0dcfdb8b749dd9d9",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"haskell-flake": {
"locked": {
"lastModified": 1661726764,
"narHash": "sha256-YzzOoff6m3W4g4B0E8xd3omvOhEVuRu/Rdvnmy2H6Jc=",
"owner": "srid",
"repo": "haskell-flake",
"rev": "3c27b5ba2eafc52f4bed232a8ff74cf0a5a99375",
"type": "github"
},
"original": {
"owner": "srid",
"repo": "haskell-flake",
"type": "github"
}
},
"heist-extra": {
"flake": false,
"locked": {
"lastModified": 1663962912,
"narHash": "sha256-AxzbGM1/l4Sm6zI5aunMA3cbdlDNHBecROKTaAEawxU=",
"owner": "srid",
"repo": "heist-extra",
"rev": "29c719ded6606da19c21b182cf465b9620cda0b2",
"type": "github"
},
"original": {
"owner": "srid",
"repo": "heist-extra",
"type": "github"
"type": "git",
"url": "https://git.gaze.systems/dusk/html.nix.git"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1665848363,
"narHash": "sha256-3Jow1YxzPtQnck1bAAvbVxgRH4gNnkIdw871Vm6UtAU=",
"lastModified": 1680668850,
"narHash": "sha256-mQMg13yRsS0LXVzaeoSPwqgPO6yhkGzGewPgMSqXSv8=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "83b198a2083774844962c854f811538323f9f7b1",
"rev": "4a65e9f64e53fdca6eed31adba836717a11247d2",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-lib": {
"locked": {
"dir": "lib",
"lastModified": 1680213900,
"narHash": "sha256-cIDr5WZIj3EkKyCgj/6j3HBH4Jj1W296z7HTcWj1aMA=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "e3652e0735fbec227f342712f180f4f21f0594f2",
"type": "github"
},
"original": {
"dir": "lib",
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_2": {
"parts": {
"inputs": {
"nixpkgs-lib": "nixpkgs-lib"
},
"locked": {
"lastModified": 1662096612,
"narHash": "sha256-R+Q8l5JuyJryRPdiIaYpO5O3A55rT+/pItBrKcy7LM4=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "21de2b973f9fee595a7a1ac4693efff791245c34",
"lastModified": 1680392223,
"narHash": "sha256-n3g7QFr85lDODKt250rkZj2IFS3i4/8HBU2yKHO3tqw=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "dcc36e45d054d7bb554c9cdab69093debd91a0b5",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"root": {
"inputs": {
"emanote": "emanote",
"flake-parts": [
"emanote",
"flake-parts"
],
"html-nix": "html-nix",
"nixpkgs": [
"emanote",
"html-nix",
"nixpkgs"
],
"parts": [
"html-nix",
"parts"
]
}
},
"tailwind": {
"flake": false,
"locked": {
"lastModified": 1665932648,
"narHash": "sha256-YM/6pnBi8MymRHrPheiKrtL9FZPLeeTp/evd3O/0CkI=",
"owner": "srid",
"repo": "tailwind-haskell",
"rev": "7aaaf2282d02846890904f1c23610ddea98d91b6",
"type": "github"
},
"original": {
"owner": "srid",
"ref": "master",
"repo": "tailwind-haskell",
"type": "github"
}
}
},
"root": "root",

View File

@ -1,24 +1,44 @@
{
nixConfig.extra-substituters = "https://cache.garnix.io";
nixConfig.extra-trusted-public-keys = "cache.garnix.io:CTFPyKSLcx5RMJKfLo5EEPUObbA78b0YQ2DTCJXqr9g=";
inputs = {
emanote.url = "github:srid/emanote";
nixpkgs.follows = "emanote/nixpkgs";
flake-parts.follows = "emanote/flake-parts";
html-nix.url = "git+https://git.gaze.systems/dusk/html.nix.git";
nixpkgs.follows = "html-nix/nixpkgs";
parts.follows = "html-nix/parts";
};
outputs = inputs@{self, flake-parts, nixpkgs, ...}:
flake-parts.lib.mkFlake { inherit self; } {
outputs = inputs @ {parts, ...}:
parts.lib.mkFlake {inherit inputs;} (topArgs: {
systems = ["x86_64-linux"];
imports = [inputs.emanote.flakeModule];
perSystem = {self', ...}: {
emanote.sites."blog" = {
layers = [./.];
layersString = ["."];
};
packages.default = self'.packages.blog;
apps.default = self'.apps.blog;
imports = [inputs.html-nix.flakeModule];
perSystem = {
config,
lib,
...
}: let
l = lib // builtins;
html-nix = config.html-nix.lib;
site = local:
html-nix.mkSiteFrom {
inherit local;
src = ./src;
config = {
baseurl = "https://gaze.systems";
title = "dusk's place";
iconPath = "resources/icon.png";
siteLang = "en";
};
templater = ctx:
l.pipe ctx [
topArgs.config.html-nix.lib.templaters.simple
(ctx:
l.recursiveUpdate ctx {
site."resources"."icon.png" = ./src/resources/icon.png;
})
];
};
dev = html-nix.mkServeFromSite (site true);
in {
packages.site = html-nix.mkSitePathFrom (site false);
apps.site.program = "${dev}/bin/serve";
};
};
});
}

View File

@ -1,11 +0,0 @@
page:
siteTitle: gaze.systems
siteName: gaze.systems
template:
iconUrl: resources/GazeOfficeIcon.webp
theme: purple
urlStrategy: pretty
layout:
base:
bodyClass: bg-black

View File

@ -1,3 +0,0 @@
First!
- [ ] actually write something proper

View File

@ -1,66 +0,0 @@
# Projects
## Projects I contribute(d) to
- [nixpkgs](https://github.com/NixOS/nixpkgs)
- The Nix Packages collection for the [Nix package manager](https://github.com/NixOS/nix).
- Package maintainer.
## Projects I maintain
- [rust-nix-templater](https://github.com/yusdacra/rust-nix-templater) and [nix-cargo-integration](https://github.com/yusdacra/nix-cargo-integration)
- `nix-cargo-integration` allows easy and convenient integration of Cargo projects with Nix.
- `rust-nix-templater` is a utility to create / generate Rust projects with Nix files and CI set up.
- [linemd](https://github.com/yusdacra/linemd)
- A no dependency, no std, simple and lightweight markdown parser and renderer (to HTML and SVG).
- [dream2nix](https://github.com/nix-community/dream2nix)
## Projects I used to work on
- [Harmony Rust SDK](https://github.com/harmony-development/harmony_rust_sdk)
- Rust library that implements the Harmony protocol, and builds a client API on top of it.
- [scherzo](https://github.com/harmony-development/scherzo)
- Harmony server implementation written in Rust, using sled as database and warp as HTTP server.
- [Crust](https://github.com/harmony-development/crust)
- Harmony client written in Rust, using iced as GUI framework.
- [hrpc-rs](https://github.com/harmony-development/hrpc-rs)
- [hrpc](https://github.com/harmony-development/hrpc) implementation in Rust.
- [Harmony Protocol](https://github.com/harmony-development)
- Various contributions to the reference server impl and the protocol itself.
- Maintaining a server and client implementation, along with Rust ecosystem.
- [Veloren](https://gitlab.com/veloren/veloren) and it's [Book](https://gitlab.com/veloren/book)
- Veloren is a multiplayer voxel RPG written in Rust.
- 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.
- [iced](https://github.com/hecrj/iced)
- A cross-platform GUI library for Rust, inspired by Elm.
- [Icy Matrix](https://gitlab.com/yusdacra/icy_matrix)
- A Matrix chat client built with Rust.
- Uses `iced` for GUI.
- [Hakkero Kernel](https://gitlab.com/hakkero-os/hakkero)
- Learning project to create a micro-kernel that runs on x86, arm and risc-v.
- Current goal is to support webassembly and be able to run everything in ring 0, thanks to it's sandboxing features.
- [treeculler](https://gitlab.com/yusdacra/treeculler)
- A Rust crate for working with frustum and occlusion culling.
- [bevy_networking_delivery](https://gitlab.com/yusdacra/bevy_prototype_networking_delivery)
- A Rust crate for Bevy game engine that implements a simple `Delivery` based networking layer.
- [kIDE](https://gitlab.com/yusdacra/kide)
- Opinionated configuration for kakoune text editor, focusing on an IDE-like experience.
- [FlutterEnhancements](https://github.com/yusdacra/FlutterEnhancements)
- Basic Flutter support for Sublime Text 3.
- [Neonment](https://gitlab.com/yusdacra/neonment)
- Neonment is a first person hero shooter. Name is subject to change.

View File

@ -1,11 +1,10 @@
# About
Hi, I'm dusk (aka yusdacra)! This is where I post about stuff.
Feel free to send an e-mail or DM me on Matrix / Discord if you have anything to ask.
Feel free to send an e-mail or DM me on Matrix if you have anything to ask.
+ Contact:
- Matrix: [@dusk:gaze.systems](https://matrix.to/#/@dusk:gaze.systems)
- Discord: dusk\#7476
- E-Mail: y.bera003.06@pm.me
- GitHub: <https://github.com/yusdacra>
- Gitea: <https://git.gaze.systems/dusk>
@ -13,7 +12,7 @@ Feel free to send an e-mail or DM me on Matrix / Discord if you have anything to
## Bio
I love using Nix / NixOS for any kind of purpose, but mainly for DevOps.
I also use Rust for my hobby or other more serious projects.
I also use Rust and Zig for my hobby or other more serious projects.
I work at [Platonic Systems](https://platonic.systems).

View File

@ -1,7 +1,3 @@
---
tags: [gpg,ssh]
---
- gpg --export-secret-ssh-key doesn't work
- gpg --export-ssh-key works to export public key

BIN
src/resources/icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

Before

Width:  |  Height:  |  Size: 29 KiB

After

Width:  |  Height:  |  Size: 29 KiB

View File

@ -1,18 +0,0 @@
<ema:note:backlinks:nodaily>
<div class="flex-1 p-4 mt-8 bg-gray-800 rounded">
<header class="mb-2 text-xl font-semibold text-gray-100">Links to this page</header>
<ul class="space-y-1">
<backlink>
<li>
<a class="text-${theme}-600 mavenLinkBold hover:underline"
href="${backlink:note:url}">
<backlink:note:title />
</a>
<backlink:note:contexts>
<apply template="context" />
</backlink:note:contexts>
</li>
</backlink>
</ul>
</div>
</ema:note:backlinks:nodaily>

View File

@ -1,47 +0,0 @@
<nav id="breadcrumbs" class="w-full text-gray-200 md:hidden">
<div class="flex justify-left">
<div class="w-full px-2 py-2 bg-black">
<ul class="flex flex-wrap text-lg">
<li class="inline-flex items-center">
<ema:metadata>
<with var="template">
<img style="width: 1rem;" src="${value:iconUrl}" />
</with>
</ema:metadata>
</li>
<ema:breadcrumbs>
<each-crumb>
<li class="inline-flex items-center">
<a class="px-1 font-bold" href="${crumb:url}">
<crumb:title />
</a>
<svg fill="currentColor" viewBox="0 0 20 20" class="w-auto h-5 text-gray-400">
<path fill-rule="evenodd"
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"
clip-rule="evenodd"></path>
</svg>
</li>
</each-crumb>
</ema:breadcrumbs>
</ul>
</div>
<button class="inline px-2 py-1 bg-black outline-none cursor-pointer focus:outline-none"
title="Search (Ctrl+K)" type="button" onclick="window.emanote.stork.toggleSearch()">
<apply template="stork/stork-icon" />
</button>
<button
class="inline px-2 py-1 text-white bg-${theme}-600 outline-none cursor-pointer focus:outline-none"
title="Toggle sidebar" type="button" onclick="toggleHidden('sidebar')">
<svg xmlns="http://www.w3.org/2000/svg" class="w-4" fill="none" viewBox="0 0 24 24"
stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
d="M4 6h16M4 12h16M4 18h16" />
</svg>
</button>
<script>
function toggleHidden(elemId) {
document.getElementById(elemId).classList.toggle("hidden");
}
</script>
</div>
</nav>

View File

@ -1,24 +0,0 @@
<div class="mb-4 overflow-auto text-sm text-gray-100">
<context>
<div class="pl-2 mt-2 border-l-2 border-${theme}-200 hover:border-${theme}-500">
<context:body>
<PandocLink class="text-gray-300">
<Internal class="font-bold opacity-50 hover:opacity-100" />
<External class="hover:underline" target="_blank" rel="noopener" />
</PandocLink>
<OrderedList class="ml-4 space-y-1 list-decimal list-inside" />
<BulletList class="ml-4 space-y-1 list-decimal list-inside" />
<Task:Checked>
<apply template="/templates/components/checkbox-checked">
<inlines />
</apply>
</Task:Checked>
<Task:Unchecked>
<apply template="/templates/components/checkbox-unchecked">
<inlines />
</apply>
</Task:Unchecked>
</context:body>
</div>
</context>
</div>

View File

@ -1,41 +0,0 @@
<footer class="flex items-center justify-center mt-2 mb-8 space-x-4 text-center text-gray-400">
<bind tag="iconClass">w-6 h-6 hover:text-${theme}-700</bind>
<div>
<a href="${ema:homeUrl}" title="Go to Home page">
<svg xmlns="http://www.w3.org/2000/svg" class="${iconClass}" fill="none" viewBox="0 0 24 24"
stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
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" />
</svg>
</a>
</div>
<div>
<a href="${ema:indexUrl}" title="View Index">
<svg class="${iconClass}" fill="none" stroke="currentColor" viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
d="M4 8V4m0 0h4M4 4l5 5m11-1V4m0 0h-4m4 0l-5 5M4 16v4m0 0h4m-4 0l5-5m11 5l-5-5m5 5v-4m0 4h-4">
</path>
</svg>
</a>
</div>
<div>
<a href="${ema:tagIndexUrl}" title="View tags">
<svg class="${iconClass}" fill="none" stroke="currentColor" viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
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">
</path>
</svg>
</a>
</div>
<div>
<a href="${ema:taskIndexUrl}" title="View tasks">
<svg xmlns="http://www.w3.org/2000/svg" class="${iconClass}" fill="none" viewBox="0 0 24 24"
stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
d="M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z" />
</svg>
</a>
</div>
</footer>

View File

@ -1,16 +0,0 @@
<ema:metadata>
<section
class="flex flex-wrap items-end justify-center my-4 space-x-2 space-y-2 font-mono text-sm">
<with var="tags">
<!-- FIXME: The use of -/tags is wrong, because we should use routeUrl using Ema's encoder
Perhaps Emanote should inject tagMetas with urls.
-->
<a title="Tag" class="px-1 bg-gray-800 rounded border-2 border-gray-700 hover:border-${theme}-700 hover:text-${theme}-500"
href="-/tags/${value}${ema:urlStrategySuffix}">
<!-- DoNotFormat -->
#<value />
<!-- DoNotFormat -->
</a>
</with>
</section>
</ema:metadata>

View File

@ -1,6 +0,0 @@
<h1
class="flex items-end justify-center mb-4 p-3 bg-${theme}-900 text-5xl font-extrabold text-black rounded">
<a class="z-40 tracking-tighter ">
<ema:note:title />
</a>
</h1>

View File

@ -1,107 +0,0 @@
<ema:note:pandoc>
<Para>
<p class="mb-3">
<inlines />
</p>
</Para>
<Task:Checked>
<!-- FIXME: Fix list styling to use flexbox, so task lists don't botch them up -->
<apply template="/templates/components/checkbox-checked">
<inlines />
</apply>
</Task:Checked>
<Task:Unchecked>
<apply template="/templates/components/checkbox-unchecked">
<inlines />
</apply>
</Task:Unchecked>
<Cite>
<cite>
<inlines />
</cite>
</Cite>
<BlockQuote>
<blockquote
class="py-0.5 px-4 mb-3 italic border-l-4 bg-gray-50 text-gray-600 border-gray-400 quote">
<blocks />
</blockquote>
</BlockQuote>
<DefinitionList>
<dl class="flex flex-col mb-3">
<DefinitionList:Items>
<div class="my-1">
<dt class="font-bold text-l">
<DefinitionList:Item:Term />
</dt>
<DefinitionList:Item:DescList>
<div class="flex flex-col pl-1">
<dd class="pl-2 my-1 text-gray-700 border-l-2">
<DefinitionList:Item:Desc />
</dd>
</div>
</DefinitionList:Item:DescList>
</div>
</DefinitionList:Items>
</dl>
</DefinitionList>
<Note:Ref>
<!-- DoNotFormat -->
<!-- We use JavaScript because anchor links won't work if there is a <base> tag;
see https://stackoverflow.com/a/34765348
-->
<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>
<!-- DoNotFormat -->
</Note:Ref>
<Note:List>
<div title="Footnotes"
class="pt-2 mt-8 space-y-1 text-gray-500 transform scale-x-90 border-t-2">
<header class="font-semibold">Footnotes</header>
<footnote>
<div id="fn${footnote:idx}">
<header class="italic">
<footnote:idx />.
</header>
<div class="inline-block mb-2 ml-4">
<footnote:content />
</div>
</div>
</footnote>
</div>
</Note:List>
<BulletList>
<ul class="my-3 ml-6 space-y-1 list-disc">
<BulletList:Items>
<li>
<BulletList:Item />
</li>
</BulletList:Items>
</ul>
</BulletList>
<OrderedList>
<ul class="my-3 ml-6 space-y-1 list-decimal list-inside">
<OrderedList:Items>
<li>
<OrderedList:Item />
</li>
</OrderedList:Items>
</ul>
</OrderedList>
<!-- TODO: Expand the above kind of overriding (full DOM control) to other AST nodes (below) -->
<PandocLink class="text-${theme}-600">
<Internal class="mavenLinkBold hover:underline" />
<External class="hover:underline" target="_blank" rel="noopener" />
</PandocLink>
<CodeBlock class="py-0.5 mb-3 text-sm" />
<Code class="py-0.5 px-1 rounded bg-gray-800 text-sm text-white" />
<Header>
<h1 class="pb-2 mb-2 text-5xl font-bold text-center" />
<h2 class="inline-block mt-6 mb-4 text-4xl font-bold border-b-2 text-gray-100" />
<h3 class="mt-6 mb-2 text-3xl font-bold text-gray-100" />
<h4 class="mt-6 mb-2 text-2xl font-bold text-gray-100" />
<h5 class="mt-6 mb-2 text-xl font-bold text-gray-100" />
<h6 class="mt-6 mb-2 text-xl font-bold text-gray-100" />
</Header>
</ema:note:pandoc>

View File

@ -1,80 +0,0 @@
<!-- Variable bindings for this tree-->
<node:active>
<bind tag="link-class">font-bold text-${theme}-600 hover:underline</bind>
<else />
<tree:open>
<has-children>
<bind tag="link-class">font-bold hover:underline</bind>
<else />
<bind tag="link-class">hover:underline</bind>
</has-children>
<else />
<bind tag="link-class">hover:underline</bind>
</tree:open>
</node:active>
<has-children>
<bind tag="icon">
<tree:open>
<svg xmlns="http://www.w3.org/2000/svg" class="${iconSize} inline text-gray-300"
viewBox="0 0 20 20" fill="currentColor">
<path fill-rule="evenodd"
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"
clip-rule="evenodd" />
<path d="M6 12a2 2 0 012-2h8a2 2 0 012 2v2a2 2 0 01-2 2H2h2a2 2 0 002-2v-2z" />
</svg>
<else />
<svg xmlns="http://www.w3.org/2000/svg" class="${iconSize} inline text-gray-500"
viewBox="0 0 20 20" fill="currentColor">
<path d="M2 6a2 2 0 012-2h5l2 2h5a2 2 0 012 2v6a2 2 0 01-2 2H4a2 2 0 01-2-2V6z" />
</svg>
</tree:open>
</bind>
<else />
<bind tag="icon">
<node:active>
<svg class="${iconSize} inline" fill="none" stroke="currentColor" viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
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">
</path>
</svg>
<else />
<svg class="${iconSize} inline" fill="none" stroke="currentColor" viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
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">
</path>
</svg>
</node:active>
</bind>
</has-children>
<!-- Rendering of this tree -->
<div class="pl-2">
<!-- Node's rootLabel-->
<div class="flex items-center my-2 space-x-2 justify-left">
<icon />
<a class="${link-class} truncate" title="${node:text}" href="${node:url}">
<node:text />
</a>
<tree:open>
<else />
<node:terminal>
<else />
<span class="text-gray-300" title="${tree:childrenCount} children inside">
<tree:childrenCount />
</span>
</node:terminal>
</tree:open>
</div>
<!-- Node's children forest, displayed only on active trees
TODO: Use <details> to toggle visibility?
-->
<tree:open>
<children>
<apply template="sidebar-tree" />
</children>
</tree:open>
</div>

View File

@ -1,82 +0,0 @@
<apply template="base">
<bind tag="body-main">
<div class="container mx-auto">
<apply template="components/breadcrumbs" />
<div id="container"
class="flex flex-nowrap flex-col md:flex-row bg-black md:mt-8 md:shadow-2xl md:mb-8">
<!-- Sidebar column -->
<nav id="sidebar"
class="flex-shrink hidden leading-relaxed md:block md:sticky md:top-0 md:h-full md:w-48 xl:w-64">
<div class="px-2 py-2 text-gray-100">
<div id="indexing-links" class="flex flex-row float-right p-2 space-x-2 text-gray-400">
<a href="${ema:tagIndexUrl}" title="View tags">
<svg style="width: 1rem;" class="hover:text-${theme}-700" fill="none"
stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
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">
</path>
</svg>
</a>
<a href="${ema:indexUrl}" title="Expand full tree">
<svg style="width: 1rem;" class="hover:text-${theme}-700" fill="none"
stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
d="M4 8V4m0 0h4M4 4l5 5m11-1V4m0 0h-4m4 0l-5 5M4 16v4m0 0h4m-4 0l5-5m11 5l-5-5m5 5v-4m0 4h-4">
</path>
</svg>
</a>
<a title="Search (Ctrl+K)" class="cursor-pointer"
onclick="window.emanote.stork.toggleSearch()">
<apply template="components/stork/stork-icon" />
</a>
</div>
<div id="site-logo" class="pl-2">
<div class="flex items-center my-2 space-x-2 justify-left">
<a href="${ema:homeUrl}" title="Go to Home">
<ema:metadata>
<with var="template">
<!-- The style width attribute here is to prevent huge
icon from displaying at those rare occasions when Tailwind
hasn't kicked in immediately on page load
-->
<img style="width: 1rem;"
class="transition transform hover:scale-110 hover:opacity-80"
src="${value:iconUrl}" />
</with>
</ema:metadata>
</a>
<a class="font-bold truncate" title="Go to Home" href="${ema:homeUrl}">
Home
</a>
</div>
</div>
<ema:route-tree>
<apply template="components/sidebar-tree" />
</ema:route-tree>
</div>
</nav>
<!-- Main body column -->
<div class="flex-1 w-full overflow-x-auto bg-black">
<main class="px-4 py-4 text-gray-100">
<apply template="components/note-title" />
<apply template="components/note-body" />
<div class="flex flex-col lg:flex-row lg:space-x-2">
<apply template="components/timeline" />
<apply template="components/backlinks" />
</div>
<apply template="components/metadata" />
<apply template="/templates/hooks/note-end" />
</main>
</div>
</div>
<apply template="components/footer" />
</div>
</bind>
</apply>

View File

@ -1,15 +0,0 @@
<apply template="/templates/base">
<bind tag="body-main">
<div class="container mx-auto ">
<main class="flex-col items-center justify-center mx-2 text-gray-200">
<h1 class="pb-2 mt-2 mb-2 text-6xl text-center">
<ema:title />
</h1>
<div class="pb-2 mx-auto my-4 lg:max-w-screen-md ">
<special-main />
</div>
</main>
<apply template="components/footer" />
</div>
</bind>
</apply>

View File

@ -1,9 +0,0 @@
<apply template="/templates/special/base">
<bind tag="special-main">
<div class="pt-1 pb-2 pl-4 bg-black text-gray-100">
<ema:route-tree>
<apply template="components/sidebar-tree" />
</ema:route-tree>
</div>
</bind>
</apply>

View File

@ -1,75 +0,0 @@
<apply template="/templates/special/base">
<bind tag="special-main">
<div class="bg-black pb-2">
<nav id="tagcrumbs" class="w-full pl-2 bg-gray-800 rounded">
<div class="flex items-center justify-left">
<div class="w-full px-2 py-2 ">
<ul class="flex flex-wrap text-lg">
<ema:tagcrumbs>
<ema:each-crumb>
<li class="inline-flex items-center">
<a class="px-1 font-mono font-semibold text-${theme}-600 "
href="${ema:tagcrumb:url}">
<ema:tagcrumb:title />
</a>
<svg fill="currentColor" viewBox="0 0 20 20" class="w-auto h-5 text-gray-400">
<path fill-rule="evenodd"
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"
clip-rule="evenodd"></path>
</svg>
</li>
</ema:each-crumb>
</ema:tagcrumbs>
<li class="inline-flex items-center text-gray-100">
<a class="px-1 font-mono">
<ema:tag:title />
</a>
</li>
</ul>
</div>
</div>
</nav>
<div class="flex flex-col pl-2 my-4 ml-2 space-y-2">
<ema:childTags>
<ema:each-childTag>
<div>
<svg class="${iconSize} inline text-gray-100" fill="none" stroke="currentColor" viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
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">
</path>
</svg>
<span class="">
<a href="${ema:childTag:url}" class="font-mono font-bold hover:text-${theme}-700 text-gray-200">
<ema:childTag:title />
</a>
<span class="font-mono text-sm text-gray-300">
<!-- DoNotFormat -->
(<ema:childTag:count-tag />+<ema:childTag:count-note />)
<!-- DoNotFormat -->
</span>
</span>
</div>
</ema:each-childTag>
</ema:childTags>
<ema:notes>
<ema:each-note>
<div>
<svg class="${iconSize} inline text-gray-100" fill="none" stroke="currentColor" viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
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">
</path>
</svg>
<!-- TODO: DRY -->
<a class="text-${theme}-600 hover:underline truncate" href="${ema:note:url}">
<ema:note:title />
</a>
</div>
</ema:each-note>
</ema:notes>
</div>
</div>
</bind>
</apply>

View File

@ -1,51 +0,0 @@
<apply template="/templates/special/base">
<bind tag="special-main">
<div class="w-full bg-black">
<div class="w-full px-3 py-1">
<ema:taskGroups>
<taskGroup>
<section class="mt-4 mb-6">
<div class="mt-1 mb-2 py-0.5 px-1 rounded flex flex-row-reverse">
<t:note:breadcrumbs>
<each-crumb>
<li class="inline-flex items-center">
<a class="text-gray-100 opacity-50 hover:opacity-100" href="${crumb:url}">
<crumb:title />
</a>
<span class="text-gray-100 px-2">\</span>
</li>
</each-crumb>
</t:note:breadcrumbs>
<div class="flex-1">
<a class="font-bold text-${theme}-700 hover:underline" href="${t:note:url}">
<t:note:title />
</a>
</div>
</div>
<div class="">
<t:tasks>
<task>
<div
class="bg-gray-800 py-1.5 px-2 my-1 rounded shadow border-2 border-gray-600 hover:border-${theme}-600">
<apply template="/templates/components/checkbox-unchecked">
<task:description>
<PandocLink class="text-gray-300">
<Internal class="font-bold hover:bg-gray-50" />
<External class="hover:underline" target="_blank" rel="noopener" />
</PandocLink>
<OrderedList class="ml-4 space-y-1 list-decimal list-inside" />
<BulletList class="ml-4 space-y-1 list-decimal list-inside" />
</task:description>
</apply>
</div>
</task>
</t:tasks>
</div>
</section>
</taskGroup>
</ema:taskGroups>
</div>
</div>
</bind>
</apply>