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
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
wger Workout Manager is a free, open source web application that helps you manage your personal workouts, weight and diet plans and can also be used as a simple gym management utility.

wger (ˈvɛɡɐ) Workout Manager is a free, open source web application that helps you manage your personal workouts, weight and diet plans and can also be used as a simple gym management utility.

wger Project 2k Dec 29, 2022
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
An encylopedia that runs on Django as part of CS50w's coursework

Django Wiki As part of the CS50w course, this project aims to apply the use of Django together with HTML and CSS to replicate an encyclopedia. Require

Beckham 1 Oct 28, 2021
LibreLingo🐢 🌎 📚 a community-owned language-learning platform

LibreLingo's mission is to create a modern language-learning platform that is owned by the community of its users. All software is licensed under AGPLv3, which guarantees the freedom to run, study, s

Daniel Kantor 1.4k Jan 09, 2023
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
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
Library Management system designed for managing and operating various aspects of a library

Proposal This proposal is written to clarify the project work of Information Systems, assigned to us as an individual task in order to tackle the case

Prawal 1 Oct 27, 2021
A full stack e-learning application, this is the backend using django restframework and docker.

DevsPrime API API Service backing client interfaces Technologies Python 3.9 : Base programming language for development Bash Scripting : Create conven

Nnabue Favour Chukwuemeka 1 Oct 21, 2021
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
Django content management as it should be

Django content management as it should be. Documentation Read the full documentation or get a quick brief below. Install $ pip install djedi-cms Confi

5 Monkeys 75 Dec 13, 2022
A self-hosted application that lets you create podcast RSS feeds from YouTube playlists

Playlist2Podcast A self-hosted application that lets you create podcast RSS feeds from YouTube playlists. What Does This Do? Takes a list of YouTube p

Simon 12 Nov 14, 2022
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
Abilian Social Business Engine - an enterprise social networking / collaboration platform.

About Abilian SBE (Social Business Engine) is a platform for social business applications, and more specifically collaborative / enterprise 2.0 busine

Abilian open source projects 63 Dec 29, 2022
Python scripts to interact with the CakeCMS API.

Python scripts to interact with the CakeCMS API. Installation of the python module Prerequisites The cakecms module has to be installed first. Install

Fabian Thomas 3 Jan 31, 2022
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
Django CMS Project for quicksetup with minimal installation process.

Django CMS Project for quicksetup with minimal installation process.

Dipankar Chowdhury 3 Mar 24, 2022
A Django content management system focused on flexibility and user experience

Wagtail is an open source content management system built on Django, with a strong community and commercial support. It's focused on user experience,

Wagtail 13.8k Jan 02, 2023
Journey is a journaling app where users can create their own journal and entries in it!

Journey is a journaling app where users can create their own journal and entries in it!

Hieu Ma 8 Dec 12, 2021
E-Commerce Platform

Shuup Shuup is an Open Source E-Commerce Platform based on Django and Python. https://shuup.com/ Copyright Copyright (c) 2012-2021 by Shoop Commerce L

Shuup 2k Jan 07, 2023