• Stars
    star
    106
  • Rank 323,925 (Top 7 %)
  • Language
    JavaScript
  • License
    Creative Commons ...
  • Created over 9 years ago
  • Updated almost 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A note-taking application that supports Markdown, LaTeX and more. Not actively maintained.

Markdown Notes

This is the official repository for Markdown Notes.

Application overview

Markdown Notes is a note-taking application that uses Markdown and LaTeX. You can see the application on the Markdown Notes website.

Architecture overview

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.

Setting up the project

  1. Install all requirements with pip: pip install -r requirements.txt.
  2. Install the external libraries with bower install
  3. Rename markdown_notes/local_settings.py.template and update it with your own settings. Some values in settings.py need to be set in environment variables.
  4. Collect the static files with python manage.py collectstatic. When DEBUG = False, you will also need to call python manage.py compress.
  5. Create the database with python manage.py migrate.
  6. Run the server with python manage.py runserver.

Updating from a previous version

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

Deployment tools

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.

Docker

You can also build your own docker image:

  1. Rename markdown_notes/local_settings.py.template and update it with your own settings. Some values in settings.py need to be set in environment variables.
  2. Run docker build -t markdown-notes .
  3. Run docker -p 8000:80 -d markdown-notes
  4. Open your browser at localhost:8000

Get involved

You can contribute to Markdown Notes by looking at the submitted issues and sending pull requests with your fixes.

More Repositories

1

burgeramt-appointments-websockets

Fetch Bürgeramt appointments and broadcast them via websockets
Python
195
star
2

timeline-old

Collects personal data from different sources, displays it as a daily diary.
JavaScript
112
star
3

Ignition

A neat micro CMS in under 300kb of PHP. Not actively maintained.
PHP
51
star
4

buergeramt-appointments

Experiment to find the best time to look for an appointment at the Berlin Bürgeramt
Python
49
star
5

homeserver

Backend and frontend for my home server
JavaScript
41
star
6

ursus

Static site generator for All About Berlin
Python
40
star
7

winston

Voice-controlled personal assistant. Not maintained.
Python
36
star
8

tinybbs

Communicating with 5 kilobytes. A very tiny PHP forum. Not maintained.
PHP
16
star
9

Boilerplate-for-WordPress

A barebones WordPress theme to speed up development. Not maintained.
PHP
13
star
10

berlin-bot

A small bot for /r/berlin - links to relevant guides including those on https://allaboutberlin.com
Python
6
star
11

timeline

Timeline generator. Turns your photos, calendars, GPS tracks and more into a nice timeline of your life.
JavaScript
6
star
12

billsplitter

A simple Django shared expense manager. Not maintained.
Python
4
star
13

cockpit

A project management tool written in Python on the Django framework. Not maintained.
Python
3
star
14

canadians-at-war

Regrouping, normalizing and linking open data about the Canadian Expeditionary Force in WW1
Python
2
star
15

dotfiles

Personal dotfiles
Python
2
star
16

nicolasbouliane.com

The files that make my personal website. Built with Ursus.
CSS
1
star
17

focused-blocklist

Blocks related content and other unwanted feeds
1
star
18

nicolasbouliane.com-server

The nginx server that serves nicolasbouliane.com
Python
1
star