.vscode | ||
.zk | ||
scripts | ||
zk | ||
.gitignore | ||
.prettierignore | ||
.prettierrc | ||
README.md | ||
stack_data_structure.md |
Eólas
Eólas is Irish for knowledge or information, especially knowledge gained by experience or practice
This repository is my technical knowledge management system or "second-brain". It comprises notes from my autodidactic study of software engineering and computer science.
Implementation
It is a Zettelkasten work in progress. I've recently converted the topic-based subdirectories into a single flat directory structure organised by tags. I'm in the process of partitioning longer notes into smaller informational units.
I use the zk CLI package to help with indexing and task automation alongside its zk-nvim Neovim wrapper. I occassionally utilise Obsidian alongside Neovim for when I want to view my notes as a knowledge graph or read them alongside their rich content (images, videos etc).
Commands
Commands are local to my Linux machine, specified in my dotfiles. They are how I generate new entries and manage the knowledge base.
Alias | Command | Output |
---|---|---|
z |
cd $HOME/repos/eolas |
Access Zettelkasten |
zn |
zk new --title ... |
Create new entry from template |
<leader> zk |
:ZkNotes |
Access Zettelkasten from anywhere within nvim |
<leader> zi |
:ZkIndex |
Index Zettelkasten within nvim |
<leader> zt |
:ZkTags |
View tags via Telescope within nvim |
<leader> ztt |
:ObsidianTags |
View tags in a Vim buffer via within nvim using obsidian-nvim |
<leader> zl |
:ZkLinks |
View links in current entry via Telescope within nvim , using obsidian-nvim |
<leader> zb |
:ZkBacklinks |
View backlinks to current entry via Telescope within nvim , using obsidian-nvim |
Frontmatter
When I run the zn
command this generates a new Zettelkasten entry with the
following frontmatter template:
---
id: o8yzcrtv
title: test
tags: []
created: Saturday, February 17, 2024 | 17:44
---
Scripts
The scripts directory contains several Bash and Python scripts I use for general housekeeping, such as formatting image URLs, removing unused assets, and autosaving.
Autosave
I use a bash script to create autosave functionality via Git. This script runs every 15 minutes via a systemd time timer. It tidies up the directory (removes unused images, ensures all file names use underscores rather than spaces and hyphens etc) and commits and pushes to GitHub.