#!/usr/bin/env python # Example for using the shared library from python # Will work with either python 2 or python 3 # Requires cmark library to be installed from ctypes import CDLL, c_char_p, c_long import sys import platform sysname = platform.system() if sysname == 'Darwin': libname = "libcmark.dylib" elif sysname == 'Windows': libname = "cmark.dll" else: libname = "libcmark.so" cmark = CDLL(libname) markdown = cmark.cmark_markdown_to_html markdown.restype = c_char_p markdown.argtypes = [c_char_p, c_long, c_long] opts = 0 # defaults def md2html(text): if sys.version_info >= (3,0): textbytes = text.encode('utf-8') textlen = len(textbytes) return markdown(textbytes, textlen, opts).decode('utf-8') else: textbytes = text textlen = len(text) return markdown(textbytes, textlen, opts) sys.stdout.write(md2html(sys.stdin.read()))