Skip to main content

Generates (X)HTML5 documents from standalone reStructuredText sources

Project description

rst2html5 generates (X)HTML5 documents from standalone reStructuredText sources. It is a complete rewrite of the docutils’ rst2html and uses new HTML5 constructs such as <section> and <aside>.

Usage

$ rst2html5 [options] SOURCE

Options:

--no-indent

Don’t indent output

--stylesheet=<URL or path>

Specify a stylesheet URL to be included. (This option can be used multiple times)

--script=<URL or path>

Specify a script URL to be included. (This option can be used multiple times)

--script-defer=<URL or path>

Specify a script URL with a defer attribute to be included in the output HTML file. (This option can be used multiple times)

--script-async=<URL or path>

Specify a script URL with a async attribute to be included in the output HTML file. (This option can be used multiple times)

--html-tag-attr=<attribute>

Specify a html tag attribute. (This option can be used multiple times)

--template=<filename or text>

Specify a filename or text to be used as the HTML5 output template. The template must have the {head} and {body} placeholders. The “<html{html_attr}>” placeholder is recommended.

Examples

Consider the following rst snippet:

Title
=====

Some text and a target to `Title 2`_. **strong emphasis**:

* item 1
* item 2

Title 2
=======

.. parsed-literal::

    Inline markup is supported, e.g. *emphasis*, **strong**, ``literal
    text``,
    _`hyperlink targets`, and `references <http://www.python.org/>`_

The html5 produced is clean and tidy:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
</head>
<body>
    <section id="title">
        <h1>Title</h1>
        <p>Some text and a target to <a href="#title-2">Title 2</a>. <strong>strong emphasis</strong>:</p>
        <ul>
            <li>item 1</li>
            <li>item 2</li>
        </ul>
    </section>
    <section id="title-2">
        <h1>Title 2</h1>
        <pre>Inline markup is supported, e.g. <em>emphasis</em>, <strong>strong</strong>, <code>literal
text</code>,
<a id="hyperlink-targets">hyperlink targets</a>, and <a href="http://www.python.org/">references</a></pre>
    </section>
</body>
</html>

No stylesheets or classes are spread over the html5 by default. However:

  1. Stylesheets and javascripts URLs or paths can be included through stylesheet and script options.

    $ rst2html5 example.rst \
    --stylesheet css/default.css \
    --stylesheet css/special.css \
    --script https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js
    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="utf-8" />
        <link href="css/default.css" rel="stylesheet" />
        <link href="css/special.css" rel="stylesheet" />
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
    ...
  2. Script attributes defer and async:

    $ rst2html5 example.rst \
    --script js/test1.js \
    --script-defer js/test2.js \
    --script-async js/test3.js
    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="utf-8" />
        <script src="js/test1.js"></script>
        <script src="js/test2.js" defer="defer"></script>
        <script src="js/test3.js" async="async"></script>
    ...
  3. Html tag attributes can be included through html-tag-attr option:

    $ rst2html5 --html-tag-attr 'lang="pt-BR"' example.rst
    <!DOCTYPE html>
    <html lang="pt-BR">
    ...
  4. Classes can be explicitly associated to rst elements (see ref):

    .. class:: special
    
    This is a "special" paragraph.
    
    .. class:: exceptional remarkable
    
    An Exceptional Section
    ======================
    
    This is an ordinary paragraph.

    which results in:

    <p class="special">This is a "special" paragraph.</p>
    <section class="exceptional remarkable" id="an-exceptional-section">
        <h1>An Exceptional Section</h1>
        <p>This is an ordinary paragraph.</p>
    </section>
  5. Custom html5 template via the --template option. Example:

    $ template='<!DOCTYPE html>
    <html{html_attr}>
    <head>{head}    <!-- custom links and scripts -->
        <link href="css/default.css" rel="stylesheet" />
        <link href="css/pygments.css" rel="stylesheet" />
        <script src="http://code.jquery.com/jquery-latest.min.js"></script>
    </head>
    <body>{body}</body>
    </html>'
    
    $ echo 'one line' > example.rst
    
    $ rst2html5 --template "$template" example.rst
    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="utf-8" />
        <!-- custom links and scripts -->
        <link href="css/default.css" rel="stylesheet" />
        <link href="css/pygments.css" rel="stylesheet" />
        <script src="http://code.jquery.com/jquery-latest.min.js"></script>
    </head>
    <body>
        <p>one line</p>
    </body>
    </html>

Installation

$ pip install rst2html5

Project details


Download files

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

Source Distributions

rst2html5-1.3.zip (62.1 kB view details)

Uploaded Source

rst2html5-1.3.tar.gz (50.9 kB view details)

Uploaded Source

File details

Details for the file rst2html5-1.3.zip.

File metadata

  • Download URL: rst2html5-1.3.zip
  • Upload date:
  • Size: 62.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for rst2html5-1.3.zip
Algorithm Hash digest
SHA256 13c2fbba9b7c0a75e45da4a14a839aacf66266a2bb81801cde5973e840c1cb4a
MD5 8867885a9f7dd8824761f6226580a43a
BLAKE2b-256 0d21a7167c94ec7900a66a8395ab62424e8bc1ba3fa673448edab9ac35017d87

See more details on using hashes here.

File details

Details for the file rst2html5-1.3.tar.gz.

File metadata

  • Download URL: rst2html5-1.3.tar.gz
  • Upload date:
  • Size: 50.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for rst2html5-1.3.tar.gz
Algorithm Hash digest
SHA256 4c448315e7e3b95ca53b99878540c214bbac14b38cec7480fd692d7ac11c464a
MD5 8a05becf2da0f52d2a97b59d5e690bc3
BLAKE2b-256 8a8cf6f85967fe29b720a53a4cadec1a38227b787e9095620d6fb6ca076e285b

See more details on using hashes here.

Supported by

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