Technical knowledge management system
Find a file
2024-02-25 17:03:56 +00:00
.vscode
scripts scripts: add new note helper script 2024-02-25 17:03:56 +00:00
zk Merge branch 'master' of github.com:thomasabishop/eolas 2024-02-25 16:26:33 +00:00
.gitignore chore: add .zk/ to gitignore 2024-02-17 16:57:56 +00:00
.prettierignore chore: create zettelkasten config 2024-02-17 16:29:36 +00:00
.prettierrc
README.md chore: update readme 2024-02-18 11:39:42 +00:00

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> zl :ZkLinks View links in current entry via Telescope within nvim
<leader> zb :ZkBacklinks View backlinks to current entry via Telescope within nvim

Frontmatter

When I run the zn command this generates a new Zettelkasten entry with the following frontmatter template:

---
id: o8yzcrtv
title: test
tags: []
date: Saturday, February 17, 2024 | 17:44
since: just now
---

Scripts

The scripts directory contains several Bash and Python scripts I use for general housekeeping, such as formatting image URLs, removing unused assets, and automating commits.

Autosave

I use a bash script to create autosave functionality via Git. This script runs every 15 minutes via a systemd timer. It tidies up the directory (removes unused images, ensures all file names use underscores rather than spaces and hyphens etc) and also runs the indexation command then commits and pushes to GitHub.