Skip to main content

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 do git 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 created
  • Number of notes - number of markdown files in repo
  • total lines - non-empty lines in .md files
  • largest files - paths to the top 3 longest .md files

Developing

I use poetry for building/publishing the package. Read their docs.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

seckerwiki-2.0.12.tar.gz (12.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

seckerwiki-2.0.12-py3-none-any.whl (15.1 kB view details)

Uploaded Python 3

File details

Details for the file seckerwiki-2.0.12.tar.gz.

File metadata

  • Download URL: seckerwiki-2.0.12.tar.gz
  • Upload date:
  • Size: 12.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.12 CPython/3.8.10 Linux/5.4.0-91-generic

File hashes

Hashes for seckerwiki-2.0.12.tar.gz
Algorithm Hash digest
SHA256 078259fbe1d958296702c9a2fe0aeab55a7f9746dfaa72f7a4aae2a5523e60ab
MD5 bad624364e290786b90879d6d3f3e3c7
BLAKE2b-256 addcab57c1ed2e16285eff9d757018d46cad5e188e44c0e8703ba612f56dc275

See more details on using hashes here.

File details

Details for the file seckerwiki-2.0.12-py3-none-any.whl.

File metadata

  • Download URL: seckerwiki-2.0.12-py3-none-any.whl
  • Upload date:
  • Size: 15.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.12 CPython/3.8.10 Linux/5.4.0-91-generic

File hashes

Hashes for seckerwiki-2.0.12-py3-none-any.whl
Algorithm Hash digest
SHA256 13cc12c043f4dc16079dadada4d8be2450cf7a813e52ce3b0ebeab209cefd7bb
MD5 7249a4d19bfd3ff3daba78728fa95e38
BLAKE2b-256 94b8dc12f8cb186795987f97e6c7adcc89d52920428483547d56ef8a09e6fe3a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page