Simple markdonw/reStructured Text previewer
Previewr provides you a continuous preview of your Markdown and reStructuredText files in your favourite web browser. You need nothing else than python a web browser installed. It works with every editor.
And here is how you use it:
After running the command open http://localhost:8000/ in the browser. You will now see a fancy preview of your document. If you make further changes to your document, the page will automatically refresh.
Wanna see it in action? Here is a quick video demonstrating how to use it.
Note that this is a very young project. It works so far (at least on my machine :) ) and I’m open for your feedback or pull requests! Python is not my “native”/primary programming language, so please let me know if I could improve the codebase.
Why another tool?
You might think now, that there are some editors out there that have this preview integrated or that there are some other tools out there that do almost the same. This is true, but what makes previewr unique is that it allows you to stay in you favourite editor that might not support a preview out of the box. All you need is python installed on your computer and any modern web browser.
How it works
Initially, the given file is processed (with the Markdown or the reStructuredText processor) and therefore converted into HTML. This HTML is then served with a minimal web server (Powered by the Tornado framework). In the background, previewr observes the given file for changes. If the modification date changes, the contents are processed again and sent to the client (the web browser) using WebSockets.
pip install previewr
or using easy_install:
Note that previewr is written in python3, so you might have to run pip3 if pip points to pip2. Same applies to easy_install.
Root permissions might also be required for the installation.
Usage: /usr/bin/previewr [OPTIONS] file
--format The format to enforce. Possible values are: markdown, rst (default auto) --help show help information --port run on the given port (default 8000)
file The file to preview
Here an example:
previewr –port=8443 –format=markdown example.markdown
- Rewrite of most components
- Migration to the Tornado Framework to make use of WebSockets and to make the code cleaner.
- Template improved / Table of contents added
- Port and processors can now be specified using the command line
- other small fixes
- Initial Release
These things should be done next:
- Provide a plugin mechanism for more processors
- Improve documentation
- Write unit tests
- Provide multiple themes
- Specific style for printing
Do you have another idea what has to be done next? Don’t hesitate to suggest it using the Github issue tracker.!
Feel free to submit any pull requests or just file an Issue! If anything is unclear, annoying or anything else let me know, feedback is always welcome.
Previewr licensed under the MIT license.
- Favicon is by Sergio Sánchez López, found via IconFinder.
- CSS template is based on the PURE CSS Framework.
- Markdown processing is powered by the python markdown library.
- reStructuredText processing is powered by the python docutils library.