Crypt Wiki - VimWiki with added support for encryption/decryption

Overview

Crypt Wiki - VimWiki with added support for encryption/decryption

This project is meant to solve an issue I have ran into recently. I wanted to have a way of version controlling my notes while also retaining my privacy.

Dependencies

In order to use this repo you will need:

  • Vim
  • VimWiki
  • Python
  • pip : python -m pip install pip
  • python-gnupg : python -m pip install python-gnupg

How to use

In order to use the Crypt Wiki locally, run git clone https://github.com/adriancostin6/crypt-wiki.git.

If you want to version control your notes like I do, simply fork this repository, clone your fork and enjoy version controlled encrypted notes.

How we got here

If you care for it, you can read the Backstory of how we got here. I promise not to bore you too much.

Stop it! Get some help.

All the help you need in order to setup the wiki can be found in the Tutorial section. Some of the topics included are:

Typical workflow I would use

I have provided a couple of placeholder directories for you to see how I would typically organize my notes inside the wiki. This however does not mean that you shouldn't experiment and find a layout that best fits you.

.cryptfile and encryption/decryption

After taking some notes and separating them in a workflow like above, say you want to mark some of the folders for encryption. Let's assume that you want everything under Work and Diary to be encrypted using GPG. For that you will use the cript.py script in this repository.

Firstly, you will need to setup a .cryptfile that contains two lines in it, each specifying the name of a directory you want to encrypt.

An example .cryptfile has been provided that encrypts the work and diary directory.

.cryptfile

work
diary

Secondly, you want to modify the script to include the GPG key identifier and the path to where your GPG folder is stored:

#############################################
# Define these for proper encryption!
gpg = gnupg.GPG(gnupghome=r'path/to/folder')
recipient = "[email protected]"
#############################################

Lastly, to encrypt run python crypt.py -e. After the files have been encrypted you can commit and push to version control as normal.

Decryption happens in a similar manner. Once you clone the repo, run python crypt.py -d.

Day-to-day use

With the proper setup described in the tutorial, opening Vim and using the VimWiki shortcuts will work out of the box, placing you inside the index.md file in this directory, which is the Wiki index. You can choose to delete all the other files such as the Backstory.md, README.md or the tutorial folder, as these have been in order to showcase how the repository works.

Happy wiki-ing!

Owner
Adrian Costin
Adrian Costin
A Django blog app implemented in Wagtail

Puput Puput is a powerful and simple Django app to manage a blog. It uses the awesome Wagtail CMS as content management system. Puput is the catalan n

APSL 535 Jan 08, 2023
Crypt Wiki - VimWiki with added support for encryption/decryption

Crypt Wiki - VimWiki with added support for encryption/decryption This project is meant to solve an issue I have ran into recently. I wanted to have a

Adrian Costin 6 Dec 18, 2022
A plugin for Wagtail CMS, to have Icon Blocks (Fontawesome support)

WAGTAIL ICONIFY Library developed for Wagtail CMS, its purpose is to provide icon blocks from various libraries Special thanks to Alex Gleason, as wel

2 Jun 07, 2022
A Django-based CMS with a focus on extensibility and concise code

FeinCMS - An extensible Django-based CMS When was the last time, that a pre-built software package you wanted to use got many things right, but in the

FeinCMS 847 Jan 07, 2023
A course management web application

umber a course management web app built with python Flask, sqlite3, and git. installation Tested on Ubuntu 18 with python 3.5. # -- Install the system

Jim Mahoney 6 Jun 03, 2022
CMS for everyone, easy to deploy and scale, robust modular system with many packages.

Django-Leonardo Full featured platform for fast and easy building extensible web applications. Don't waste your time searching stable solution for dai

97 Nov 17, 2022
The easy-to-use and developer-friendly CMS

django CMS Open source enterprise content management system based on the Django framework and backed by the non-profit django CMS Association. Get inv

django CMS Association 9.1k Jan 04, 2023
A python open source CMS scanner that automates the process of detecting security flaws of the most popular CMSs

CMSmap CMSmap is a python open source CMS scanner that automates the process of detecting security flaws of the most popular CMSs. The main purpose of

RazzorBack 1 Oct 31, 2021
VaporCMS - The greatest content management system that will never exist

The greatest content management system that will never exist Overview WordPress is a huge success but could it be done better? Maybe being mo

Andrew Dailey 4 Jan 06, 2022
Ella is a CMS based on Python web framework Django with a main focus on high-traffic news websites and Internet magazines.

Ella CMS Ella is opensource CMS based on Django framework, designed for flexibility. It is composed from several modules: Ella core is the main module

295 Oct 16, 2022
ConnectLearn is an easy to use and deploy Open-Source Project meant to make it easier for the right students to find the right teachers online.

ConnectLearn ConnectLearn is an easy to use and deploy Open-Source Project meant to make it easier for the right students to find the right teachers o

Aditya 5 Oct 24, 2021
Kotti is a high-level, Pythonic web application framework based on Pyramid and SQLAlchemy. It includes an extensible Content Management System called the Kotti CMS.

Kotti Kotti is a high-level, Pythonic web application framework based on Pyramid and SQLAlchemy. It includes an extensible Content Management System c

Kotti 394 Jan 07, 2023
Indico - A feature-rich event management system, made @ CERN, the place where the Web was born.

Indico Indico is: ? a general-purpose event management tool; ? fully web-based; ? feature-rich but also extensible through the use of plugins; ⚖️ O

Indico 1.4k Dec 31, 2022
🐰 Bunnybook 🐰 A tiny social network (for bunnies), built with FastAPI and React+RxJs.

🐰 Bunnybook 🐰 A tiny social network (for bunnies), built with FastAPI and React+RxJs. Click here for live demo! Included features: 💬 chat 🔴 online

Pietro Bassi 190 Jan 03, 2023
Simple yet powerful and really extendable application for managing a blog within your Django Web site.

Django Blog Zinnia Simple yet powerful and really extendable application for managing a blog within your Django Web site. Zinnia has been made for pub

Julien Fache 2.1k Dec 24, 2022
Oppia a free, online learning platform to make quality education accessible for all.

Oppia is an online learning tool that enables anyone to easily create and share interactive activities (called 'explorations'). These activities simulate a one-on-one conversation with a tutor, makin

Oppia 4.8k Dec 28, 2022
CMS framework for Django

Created by Stephen McDonald Overview Mezzanine is a powerful, consistent, and flexible content management platform. Built using the Django framework,

Stephen McDonald 4.6k Dec 29, 2022
The Plone CMS: root integration package

About Plone Plone is a mature, secure and user-friendly Content Management System (CMS). Plone - and the Open Source community behind it - aggregates

Plone Foundation 200 Jan 08, 2023
Random tarot card generator + rudimentary Django CMS

TAROT JUICER This is a rudimentary Django-based CMS which dynamically presents tarot-related content placed onto unconventional but familiar contexts

Kyle Rafa Lazaro 7 Apr 26, 2022
Website for PyCon

PyCon 2019 Web Site Built by the Python Community atop the Django web framework. Rather than use this as the basis for your conference site directly,

PyCon 155 Nov 05, 2022