Skip to main content

HTTP server that converts markdown to HTML

Project description

Python Markdown-to-HTML Server

It's the standard Python http.server module but via markdown-it-py, requested Markdown files are rendered and served as HTML

The http.server module's SimpleHTTPRequestHandler class is inherited by a new class with its do_GET method overridden. beautifulsoup and html5lib add <html>, <head>, & <body> elements and I insert a <style> element with some personally preferred CSS styling. Optionally, a custom CSS file can be used to style instead.
highlightjs adds syntax highlighting to code blocks.

It makes for a simple way to write up some Markdown with a terminal & a web browser

TIP: In most browsers, keyboard shortcut Ctrl+Shift+R will refresh the page and ignore cache

Installation

  • from PyPI: pip install httpmdhtml
  • from GitHub: pip install "git+https://github.com/treatmesubj/python-md-to-html-server"

Usage

Markdown-to-HTML Server

python -m httpmdhtml.server -b 127.0.0.1 -d . --css_file ../mystyle.css -l 5000
---
usage: server.py [-h] [--cgi] [--bind ADDRESS] [--directory DIRECTORY] [--css_file CSS_FILE]
                 [--live_md_rr LIVE_MD_RR]
                 [port]

positional arguments:
  port                  Specify alternate port [default: 8000]

optional arguments:
  -h, --help            show this help message and exit
  --cgi                 Run as CGI Server
  --bind ADDRESS, -b ADDRESS
                        Specify alternate bind address [default: all interfaces]
  --directory DIRECTORY, -d DIRECTORY
                        Specify alternative directory [default:current directory]
  --css_file CSS_FILE   css-file-path whose content will be written to the <style> element. Can be "none"; do not
                        use any css
  --live_md_rr LIVE_MD_RR, -l LIVE_MD_RR
                        Continuous refresh rate of MD page, in ms. Respects cache

Markdown-to-HTML Out-File

python -m httpmdhtml.md_to_html -i in_file.md -o out_file.html --encode_local_images
---
usage: md_to_html.py [-h] [--in_file_path IN_FILE_PATH] [--out_file_path OUT_FILE_PATH] [--encode_local_images]
                     [--css_file CSS_FILE]

optional arguments:
  -h, --help            show this help message and exit
  --in_file_path IN_FILE_PATH, -i IN_FILE_PATH
                        in-file-path; your existing markdown file
  --out_file_path OUT_FILE_PATH, -o OUT_FILE_PATH
                        out-file-path; your HTML file to be created
  --encode_local_images, -e
                        in HTML, embed base64-encoded data of local images linked to in your markdown; remove
                        dependency on presence of external local images
  --css_file CSS_FILE   css-file-path whose content will be written to the <style> element. Can be "none"; do not
                        use any css

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

httpmdhtml-0.1.4.tar.gz (17.9 kB view hashes)

Uploaded Source

Built Distribution

httpmdhtml-0.1.4-py3-none-any.whl (18.6 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page