Markdown has recently become popular among academics as a way to produce scientific documents. When paired with document conversion engines such as pandoc, it provides an easy and powerful way to write. Being a simple plain-text markup language, Markdown is easy to learn, and can be handled by version control systems. We decided to build Markx as to make markdown writing a collaborative effort that could be hosted as web service. For additional discussion, see these blog posts:
- Markdown and the future of collaborative academic writing
- Thoughts on a preprint server
How to ditch Word
- Free as in free speech - promotes open science, pre-publication review, collaboration.
- Free as in free beer - uses open-source, free software and released under CC-NC-BY 3.0.
- Easy to learn - Markdown is not LaTex, for better and worse.
- Integration with GitHub - free hosted version control, ideal for backup, versioning and collaboration.
- Pandoc integration - multiple Markdown extensions, multiple output formats.
- Real-time Markdown preview - WYSIWYM / WYSIWYG.
- Display math with LaTeX formatting - $x^2+y^2=r^2$.
- Citations - BibTeX: [@Drake1991]
if __name__ == '__main__': # Bind to PORT if defined, otherwise default to 5000. port = int(os.environ.get('PORT', 5000)) app.run(host='0.0.0.0', port=port, debug=app.debug)
- Local host option with a limited number of dependencies - for offline editing on the train and in the airplane
- Remote host option at http://markx.herokuapp.com/ - no installation required
- By scientists, for scientists
Markx is currently in development but can be used locally (see Installation instructions below) or remotely at http://markx.herokuapp.com.
It is still experimental, so take care of your data!
- Server side (this is what you need to install if you run it on localhost):
- Client side (no installation required):
- 3rd Party services:
- Clone this repository
- Install Python - developed with version 2.7
- Install Flask and requests:
pip install Flask requests
- Optionally install Pandoc
- Run Markx by calling
python server.pyand pointing your browser at http://localhost:5000.
- Load a BibTeX file with your citation library by choosing
Load a Bibliography Filefrom the
More help can be found in the help file.