Metadata-Version: 2.1
Name: pancritic
Version: 0.3
Summary: CriticMarkdup parser with optional pandoc backend
Home-page: https://github.com/ickc/pancritic
Author: Kolen Cheung
Author-email: christian.kolen@gmail.com
License: GPLv3
Description: .. This README is auto-generated from `docs/README.md`. Do not edit this file directly.
        
        ==============================
        Using CriticMarkup with pandoc
        ==============================
        
        :Author: Kolen Cheung
        :Date:   March 11, 2018
        
        .. contents::
           :depth: 3
        ..
        
        |Build Status| |GitHub Releases| |PyPI version| |Development Status|
        |Python version| |License| |Coveralls|
        
        Using CriticMarkup with pandoc. It serves both as a wrapper and a
        pre-processor.
        
        Definition of CriticMarkup
        ==========================
        
        -  Deletions: This is {--is --}a test.
        -  Additions: This {++is ++}a test.
        -  Substitutions: This {~~isn’t~>is~~} a test.
        -  Highlighting: This is a {==test==}.
        -  Comments: This is a test{>>What is a test for?<<}.
        
        Installation
        ============
        
        Install using
        
        .. code:: bash
        
            pip install pancritic
        
        Usage: pancritic as a markdown wrapper (including but not limited to pandoc)
        ============================================================================
        
        pancritic provides a pandoc-like cli. Pandoc users will feel right at
        home. See help from
        
        .. code:: bash
        
            pancritic -h
        
        A typical use of pancritic will be like
        
        .. code:: bash
        
            pancritic -s -o index.html index.md
        
        See examples in `HTML <tests.html>`__ and `PDF <tests.pdf>`__.
        
        pancritic specific options
        --------------------------
        
        ``--engine``
            The default engine is ``markdown``. Valid options are ``markdown``,
            ``markdown2``, ``panflute``, ``pypandoc``. You need to install the
            respective package in order to use them. ``markdown`` and
            ``markdown2`` are pure Python, hence useful for other CPU
            architechture. ``panflute`` and ``pypandoc`` both uses pandoc as
            backend.
        
        ``-m``\ \|\ ``--critic-mode``
            a/accept, r/reject: accept/reject changes.
        
            d/diff: generates a diff. In HTML output, JS is used for toggling
            between diff, accept, reject.
            m/markup: treat the CriticMarkup as Markup. i.e. in HTML output
            there isn’t any toggles but the diff view only. In LaTeX output,
            diff and markup modes are identical except for an additional nav.
            ``-m m`` should be used with LaTeX output.
        
        Previous Users
        --------------
        
        Previous Users of pandoc-criticmarkup
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        
        This is completely rewritten in Python. The cli has been completely
        changed too. The former options of ``-a``, ``-r``, ``-d`` are replaced
        with ``-m a``, ``-m r``, ``-m d``, and added a ``-m m``.
        
        Previous Users of ``criticParser_CLI.py``
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        
        This is a heavy fork of ``criticParser_CLI.py``, with these differences:
        
        #. CLI has changed, with a more pandoc-like interface.
        #. Python 3 (and 2) compatible.
        #. Bug fixes (formerly hightlight without comment are parsed
           incorrectly).
        #. It has much more input/output format options as well as engines.
        
        Examples,
        
        .. code:: bash
        
            criticParser_CLI.py input.md -m2 -o output.html --css css.html
            # is equivalent to
            pancritic -o output.html input.md --critic-template css.html --engine markdown2
        
        Advanced Usage: pancritic as a pandoc preprocessor
        --------------------------------------------------
        
        A somewhat surprising behavior is when the to-format and output
        extension is different. In pancritic, the to-format indicates the
        CriticMarkup parsing behavior (mainly tex vs. html). And the output
        extension controls the final output’s format (e.g. markdown, html, etc.)
        
        An interesting use of this is to use pancritic as a pandoc preprocessor
        instead, like this
        
        .. code:: bash
        
            pancritic input.md -t markdown -m m | pandoc -s -o output.html
        
        This will be useful if more advanced pandoc args are needed.
        
        Caveats
        =======
        
        -  Nesting CriticMarkup might have unexpected behavior, especially in
           LaTeX output. See `the caveats section in the spec of
           CriticMarkup <http://criticmarkup.com/spec.php#caveats>`__.
        
        -  mainly tested with HTML and LaTeX output. RST output almost works,
           but injecting CSS/JS into the output causes some problems. Currently,
           it can be get arround with ``--critic-template`` and injecting the
           CSS/JS manually. See ``pancritic/template.py`` for the template used.
        
        LaTeX Ouptut
        ------------
        
        Note that the LaTeX output requires the LaTeX packages ``color`` and
        ``soul``.
        
        One can achieve this by either using a custom template or
        ``--include-in-header`` option. Or you can use the trick of putting the
        following in your YAML front matter, like this file:
        
        .. code:: yaml
        
            ---
            fontfamily: lmodern,color,soul
            ...
        
        Markdown within the CriticMarkup will not be rendered in LaTeX output.
        If you want to change this behavior, you can take a look at: `LaTeX
        Argument
        Parser <https://gist.github.com/mpickering/f1718fcdc4c56273ed52>`__.
        
        .. table:: Translation from CriticMarkup to LaTeX.
        
           +----------------------------+-------------------------------------+
           | CriticMarkup               | LaTeX                               |
           +============================+=====================================+
           | ``{--[text]--}``           | ``\st{[text]}``                     |
           +----------------------------+-------------------------------------+
           | ``{++[text]++}``           | ``\underline{[text]}``              |
           +----------------------------+-------------------------------------+
           | ``{~~[text1]~>[text2]~~}`` | ``\st{[text1]}\underline{[text2]}`` |
           +----------------------------+-------------------------------------+
           | ``{==[text]==}``           | ``\hl{[text]}``                     |
           +----------------------------+-------------------------------------+
           | ``{>>[text]<<}``           | ``\marginpar{[text]}``              |
           +----------------------------+-------------------------------------+
        
        Credits
        =======
        
        -  Heavily modified from `CriticMarkup Toolkit’s
           criticParser_CLI.py <http://criticmarkup.com/services.php>`__
        -  `tests.md <tests.md>`__ is modified from `MMD-Test-Suite/Critic.text
           at master ·
           fletcher/MMD-Test-Suite <https://github.com/fletcher/MMD-Test-Suite/blob/master/CriticMarkup/Critic.text>`__
        
        .. |Build Status| image:: https://travis-ci.org/ickc/pancritic.svg?branch=master
           :target: https://travis-ci.org/ickc/pancritic
        .. |GitHub Releases| image:: https://img.shields.io/github/tag/ickc/pancritic.svg?label=github+release
           :target: https://github.com/ickc/pancritic/releases
        .. |PyPI version| image:: https://img.shields.io/pypi/v/pancritic.svg
           :target: https://pypi.python.org/pypi/pancritic/
        .. |Development Status| image:: https://img.shields.io/pypi/status/pancritic.svg
           :target: https://pypi.python.org/pypi/pancritic/
        .. |Python version| image:: https://img.shields.io/pypi/pyversions/pancritic.svg
           :target: https://pypi.python.org/pypi/pancritic/
        .. |License| image:: https://img.shields.io/pypi/l/pancritic.svg
        .. |Coveralls| image:: https://img.shields.io/coveralls/ickc/pancritic.svg
           :target: https://coveralls.io/github/ickc/pancritic
        
Keywords: pandoc panflute markdown latex html criticmarkup
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: End Users/Desktop
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Build Tools
Classifier: Topic :: Text Processing :: Filters
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Provides-Extra: dev
Provides-Extra: test
