A collection of scripts used to manage my personal Foam workspace
Project description
Seckerwiki Scripts
This package is a CLI that helps me manage my markdown-based Foam workspace, or my "Personal Wiki". I store everything in my wiki, from journal entries to uni notes.
Installation
Version 1.x
had requirements for extra dependencies to get the lecture-to-markdown converter working properly. Since I no longer go to uni, I don't need those scripts anymore, so the installation is as simple as:
pip3 install seckerwiki
Once installed, run this command to generate the config files:
wiki setup
Commands
Setup
This command does a couple of things:
- Creates a
config.yml
file in~/.config/seckerwiki
, which is used to configure some things in the repo. - Creates a
credentials
file in~/.config/seckerwiki/
, which stores secrets.
Edit the credentials file to add a secret passsword used for decrypting your Journal (see below).
log
Alias for git log, with some pretty graph options.
status
Runs git status
. Basically just a convenience function, so you don't have to cd
into a wiki dir.
commit
does a git commit, generating a commit message. If there are a number of staged files, the commit header shows the top level folders instead.
Args:
-y
: skip verification and commit-a
: also dogit add --all
sync
perform a git pull
(rebase) then git push
journal
I use my wiki to store encrypted journal entries.
Run wiki journal
to generate a new empty journal entry in the journal folder specified in the settings. wiki journal --encrypt
replaces all the .md
files with .md.asc
files, encrypting the files with a symmetric key specified in the settings. wiki journal --decrypt [filename]
decrypts a file in the encrypted journal directory and prints it to stdout.
toc
Generates a table of contents for other files/subfolders the markdown file is.
Add the following tags to the "contents/readme" page in each subfolder:
<!--BEGIN_TOC-->
<!--END_TOC-->
The script will replace the content between these two tags with the contents. For example:
<!--BEGIN_TOC-->
Pages:
- [hardware](./hardware.md)
- [iot-development](./iot-development.md)
- [iot-platforms](./iot-platforms.md)
- [platformio-esp32-notes](./platformio-esp32-notes.md)
- [rtoses](./rtoses.md)
<!--END_TOC-->
This is used primarily so Foam can build a graph that collects pages within a folder together by a node.
stats
Prints some cool stats about the wiki:
commits made
- number of git commits since repo was createdNumber of notes
- number of markdown files in repototal lines
- non-empty lines in.md
fileslargest files
- paths to the top 3 longest.md
files
Developing
I use poetry for building/publishing the package. Read their docs.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for seckerwiki-2.0.12-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 13cc12c043f4dc16079dadada4d8be2450cf7a813e52ce3b0ebeab209cefd7bb |
|
MD5 | 7249a4d19bfd3ff3daba78728fa95e38 |
|
BLAKE2b-256 | 94b8dc12f8cb186795987f97e6c7adcc89d52920428483547d56ef8a09e6fe3a |