An Org Mode based blog engine
root
What is Tapachula
Tapachula is a lightweight content management engine using org mode files to generate websites.
Org mode files are translated at runtime to HTML pages using a modified verson of the org.js parser. All org mode pages reside in the "org" directory.
How to get Tapachula
The current version of Tapachula can be downloaded via the following URL: https://hub.darcs.net/stefan/tapachula
The darcs repository can be checked out with the following command:
$ darcs clone stefan@hub.darcs.net:tapachula
How to install Tapachula
Prerequisites
To compile Tapachula out of the source code, you need the following tools:
- Java Runtime Environment (>= 1.8.0)
- jBallerina 1.1.4
- ImageMagick (>=7.0.10-28)
Compile
Inside the root directory of Tapachula create a ballerina.conf
file with references to your project folders. It is highly recommended, to NOT put your website files into the Tapachula repository structure, but to use a separate directory.
[content]
org_files="../my_website/org"
images="../my_website/images"
javascripts="../my_website/javascripts"
views="../my_website/views"
stylesheets="../my_website/stylesheets"
Create a symbolic link to the ./tapachula/bin
directory to your project folder, to have access to the Tapachula CLI.
cd my_website
ln -s ~/src/tapachula/bin bin
If your have set everything up, you can start the web server as follows:
ballerina run --experimental tapachula.bal
You can now open a web browser and access Tapachula by the following URL: http://localhost:4000
.
Encrypted org files
You can provide encrypted org files, that are password protected. To encrypt org files, you need Node.js 0.12.7 or higher. Go to your Tapachula directory and install the needed npm packages like this:
npm install
After this, set your Tapachula root path to the environment Variable $TAPACHULA_ROOT
- ideally in a configuration file like .profile
, .bashrc
or config.fish
export TAPACHULA_ROOT=~/src/tapachula
To encrypt a org file, copy it into the ./orgx folder inside your project and execute the encrypt
script:
./bin/encrypt ./orgx/my_secret_notes.org
You will be prompted to enter a password. The encrypted org file will be stored as ./orgx/my_secret_notes.orgx
and can be accessed with a web browser by the url http://localhost:4000/#/orgx/my_secred_notes.orgx
. To view the file, you will be prompted to enter your password again. It is highly recommended to store the unencrypted source files outside of the orgx
folder.
pass - password manager
You can use the UNIX password manager pass
to store your master password for your encrypted org files. First you need to define a pass
key for your orgx files like this:
pass insert Tapachula/orgx
Enter password for Tapachula/orgx:
Retype password for Tapachula/orgx:
Then your insert the pass
key into the ballerina.conf
file in the Tapachula root path:
[orgx]
pass_key="Tor/n8safari/orgx"
The next time you encrypt a file you will not be prompted to enter a password, because the password will be read directly from the password store.
Remembering passwords
You can configure Tapachula to remember passwords so that you don't need to enter them every time, you open an encrypted org file. For that, you can set the storeOrgxPasswords in your ./public/javascripts/config.js
file to true
:
window.TapachulaConfig = {
storeOrgxPasswords: true
}
After that, Tapachula will save your password once you have successfully entered them for the first time. You will not be prompted to enter them again, if you open a org file, until you delete your browser cache or you change the org file's password. Nevertheless storing password in your browser's local storage may be dangerous, as cross site scripting attacks may reveal them to unauthorised people. Please be careful!
License
Tapachula is released into the public domain.