This is the official repository for Markdown Notes.
Markdown Notes is a note-taking application that uses Markdown and LaTeX. You can see the application on the Markdown Notes website.
Markdown Notes is a Django application with an AngularJS front-end.
The back-end consists of a simple Tastypie API to serve the notes and a bunch of simple Django views to handle the front page and user management. File uploads are stored on Amazon S3.
The front-end consists of an AngularJS app that binds various libraries together. The front-end code can be found in /frontend
.
- Install all requirements with pip:
pip install -r requirements.txt
. - Install the external libraries with
bower install
- Rename
markdown_notes/local_settings.py.template
and update it with your own settings. Some values insettings.py
need to be set in environment variables. - Collect the static files with
python manage.py collectstatic
. WhenDEBUG = False
, you will also need to callpython manage.py compress
. - Create the database with
python manage.py migrate
. - Run the server with
python manage.py runserver
.
If you have forked this project in the past (before #42), you might need to generate API keys for existing users. If you get unexplained 403 and 404 while logging in with valid user accounts, this is likely the cause of your problem.
To backfill the API keys, enter the following command:
python manage.py backfill_api_keys
A crude tool for automatic deployments is available. Install forever
(npm install -g forever
) and run forever start webhooks.js
to have the server redeploy every time there is activity on the GitHub repo.
deploy.sh
will pull code from the git repository, sync the database, collect static files and minimize them before restarting the server. It is used by webhooks.js
, but can also be called manually.
You can also build your own docker image:
- Rename
markdown_notes/local_settings.py.template
and update it with your own settings. Some values insettings.py
need to be set in environment variables. - Run
docker build -t markdown-notes .
- Run
docker -p 8000:80 -d markdown-notes
- Open your browser at localhost:8000
You can contribute to Markdown Notes by looking at the submitted issues and sending pull requests with your fixes.