/markx

Markdown editor for scientific writing. Batteries included.

Primary LanguageJavaScriptOtherNOASSERTION

Markx

Markdown editor for scientific writing. Batteries included.

Why Markx?

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:

Features

  1. Free as in free speech - promotes open science, pre-publication review, collaboration.

  2. Free as in free beer - uses open-source, free software and released under CC-NC-BY 3.0.

  3. Easy to learn - Markdown is not LaTex, for better and worse.

  4. Integration with GitHub - free hosted version control, ideal for backup, versioning and collaboration.

  5. Pandoc integration - multiple Markdown extensions, multiple output formats.

  6. Real-time Markdown preview - WYSIWYM / WYSIWYG.

  7. Display math with LaTeX formatting - $x^2+y^2=r^2$.

  8. Citations - BibTeX: [@Drake1991]

  9. Code highlighting:

     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)
    
  10. Local host option with a limited number of dependencies - for offline editing on the train and in the airplane

  11. Remote host option at http://markx.herokuapp.com/ - no installation required

  12. By scientists, for scientists

Development Status

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!

We would love to get feedback from anyone using it - Please open an issue with any bug or suggestion. If you can't open an issue please contact Yoav on twitter (you can use the #markx hashtag).

Technology

Install locally

  1. Clone this repository
  2. Install Python - developed with version 2.7
  3. Install Flask and requests: pip install Flask requests
  4. Optionally install Pandoc
  5. Run Markx by calling python server.py and pointing your browser at http://localhost:5000.
  6. Load a BibTeX file with your citation library by choosing Load a Bibliography File from the Bibliography menu

More help can be found in the help file.

License