rewrite website
This commit is contained in:
parent
06c837f139
commit
083a81d251
167
flake.lock
167
flake.lock
@ -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",
|
||||
|
56
flake.nix
56
flake.nix
@ -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";
|
||||
};
|
||||
};
|
||||
}
|
||||
});
|
||||
}
|
||||
|
11
index.yaml
11
index.yaml
@ -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
|
@ -1,3 +0,0 @@
|
||||
First!
|
||||
|
||||
- [ ] actually write something proper
|
66
projects.md
66
projects.md
@ -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.
|
@ -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).
|
||||
|
@ -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
BIN
src/resources/icon.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.0 KiB |
Before Width: | Height: | Size: 29 KiB After Width: | Height: | Size: 29 KiB |
@ -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>
|
@ -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>
|
@ -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>
|
@ -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>
|
@ -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>
|
@ -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>
|
@ -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>
|
@ -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>
|
@ -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>
|
@ -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>
|
@ -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>
|
@ -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>
|
@ -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>
|
Loading…
Reference in New Issue
Block a user