typademic

Typademic turns distraction freely written markdown files into beautiful PDFs. Built with love, Google Fonts, Pandoc, and LaTeX.

Docs Docker Cloud Automated build CircleCI Build Status Travis Test Coverage Maintainability PyUp Requirements Status GitHub issues GitHub forks GitHub stars GitHub license

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.

Prerequisites

Install all this to use all functions of typademic.

Mac with Homebrew

brew install python openssl mactex pandoc pandoc-citeproc wget

wget https://raw.githubusercontent.com/qrpike/Web-Font-Load/master/install.sh | bash

Ubuntu 18.04

sudo apt-get update -y
sudo apt-get install -y texlive-full wget

wget https://raw.githubusercontent.com/qrpike/Web-Font-Load/master/install.sh | bash

wget https://github.com/jgm/pandoc/releases/download/2.9.2/pandoc-2.9.2-1-amd64.deb
sudo dpkg -i pandoc-2.9.2-1-amd64.deb

pip install --upgrade pip

Installing

virtualenv venv
source venv/bin/activate
pip install .

Start the development server

python app.py

Running the tests

pip install tox
tox

Deployment (BEGINNER)

  1. Install Docker CE.
  2. Export your secrets and start the latest typademic docker image.
touch logs/error.log
touch logs/access.log
export SECRET_KEY=SOMESECRETKEY
docker run --name typademic \
    -p 443:8000 \
    -e "SECRET_KEY=${SECRET_KEY}" \
    -v "./logs/error.log:/logs/error.log" \
    -v "./logs/access.log:/logs/access.log" \
    -v "./uploads/:/uploads/" \
    maehr/typademic:latest
  1. Go to https://localhost/ (If you did not add valid SSL certificates, ignore the error message.)

Deployment (ADVANCED)

  1. Add your custom SSL certificates (key.pem and crt.pem) to the root directory. Otherwise private certificates will be issued.
  2. Create a secrets.env and add your env vars.
cp secrets.example.env secrets.env
nano secrets.env
  1. Change docker-compose.yml accordingly.
# uncomment this line for production use
# env_file: ./secrets.env

# comment this line for production use
environment:
  - SECRET_KEY=${SECRET_KEY}
  1. Start typademic and go to https://localhost/
docker-compose up

Contributing

Please read CONTRIBUTING.rst for details on our code of conduct, and the process for submitting pull requests to us.

Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository.

Authors

Please read AUTHORS.rst for details on the authors. See also the list of contributors who participated in this project.

License

This project is licensed under the MIT License - see the LICENSE.rst file for details