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.ymlfile in~/.config/seckerwiki, which is used to configure some things in the repo. - Creates a
credentialsfile 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.mdfileslargest files- paths to the top 3 longest.mdfiles
Developing
I use poetry for building/publishing the package. Read their docs.
Release files for seckerwiki 2.0.12
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| seckerwiki-2.0.12.tar.gz | 12.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| seckerwiki-2.0.12-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 28.0 kB
Release files / seckerwiki-2.0.12.tar.gz
| Download URL | seckerwiki-2.0.12.tar.gz |
|---|---|
| Size | 12.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
078259fbe1d958296702c9a2fe0aeab55a7f9746dfaa72f7a4aae2a5523e60ab
|
|
BLAKE2b-256 checksum How to use checksums |
addcab57c1ed2e16285eff9d757018d46cad5e188e44c0e8703ba612f56dc275
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.1.12 CPython/3.8.10 Linux/5.4.0-91-generic
|
Release files / seckerwiki-2.0.12-py3-none-any.whl
| Download URL | seckerwiki-2.0.12-py3-none-any.whl |
|---|---|
| Size | 15.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
13cc12c043f4dc16079dadada4d8be2450cf7a813e52ce3b0ebeab209cefd7bb
|
|
BLAKE2b-256 checksum How to use checksums |
94b8dc12f8cb186795987f97e6c7adcc89d52920428483547d56ef8a09e6fe3a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.1.12 CPython/3.8.10 Linux/5.4.0-91-generic
|