c2w
The c2w utility converts a CLI program to a Web service.
Installation
% pip install c2w
Getting Started
We convert kramdown to a web service to get an online Markdown renderer.
% c2w --mime text/html kramdown
c2w is serving on 127.0.0.1:8000 now.
% curl http://localhost:8000 -X POST --data-binary @- << __EOF__
heredoc> # TITLE
heredoc>
heredoc> This is **strong**.
heredoc> __EOF__
We could get the following.
<h1 id="title">TITLE</h1>
<p>This is <strong>strong</strong>.</p>
c2w handles both GET and POST requests and treats them as the same with the following rules.
-
The query string will be split by
&, decoded and sent tokramdownas arguments. -
The request body will be sent to the
stdinofkramdownand thestdoutofkramdownwill be sent to the browser.
kramdown can translate Mardown to LaTex with the option -o latex.
If we want to get the LaTex output, we could put -o&latex in the query string.
% curl 'http://localhost:8000?-o&latex' --data-binary @- << __EOF__
heredoc> # TITLE
heredoc>
heredoc> This is **strong**.
heredoc> __EOF__
We got the following.
\section{TITLE}\hypertarget{title}{}\label{title}
This is \textbf{strong}.
Serving as a CGI program with an HTTP Server
The HTTP server provided by c2w is not mature enough and not recommended to use in a production environment.
You may want to use Apache HTTPd or Nginx.
To achieve this you can run c2w in CGI mode.
Create a simple Shell script named netmark.
#!/bin/bash
c2w --cgi --mime text/html kramdown
Give it the execution permission and put it in the cgi-bin directory of your HTTP server.
Detailed Usage
Run c2w --help.
Why I Wrote It
Metadata
Release files for c2w 0.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| c2w-0.0.1-py3-none-any.whl | Python 3 | none | any | Details for c2w-0.0.1-py3-none-any.whl |
Release files / c2w-0.0.1-py3-none-any.whl
| Download URL | c2w-0.0.1-py3-none-any.whl |
|---|---|
| Size | 4.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
69e2203556b140fc02a1c0ab70af75b458b30c9f16e30c4c5c8f72ea560b2ede
|
|
BLAKE2b-256 checksum How to use checksums |
e36bc4b78fb26a36b87ec0205b535bcb56d5265a5bae3e227aa36974c676ff84
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.4.2 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.6.10
|
Security for c2w 0.0.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.