<commit_before>Using Python-Markdown on the Command Line
=========================================

While Python-Markdown is primarily a python library, it also serves as a 
command line program. While there are many other command line implementations 
of Markdown, you may not have them installed, or you may prefer to use 
Python-Markdown's various extensions.

The Basics
----------

To use ``markdown.py`` from the command line, run it as 

    python markdown.py input_file.txt

or 

    python markdown.py input_file.txt > output_file.html

More Options

If you are using Python 2.3 or higher, you can also use advanced
command line options to specify encoding or to run extensions.

    $ python markdown.py
    Usage: markdown.py INPUTFILE [options]

    Options:
      -h, --help            show this help message and exit
      -f OUTPUT_FILE, --file=OUTPUT_FILE
                            write output to OUTPUT_FILE
      -e ENCODING, --encoding=ENCODING
                            encoding for input and output files
      -q, --quiet           suppress all messages
      -v, --verbose         print info messages
      -s SAFE_MODE, --safe=SAFE_MODE
                            safe mode ('replace', 'remove' or 'escape'  user's
                            HTML tag)
      --noisy               print debug messages
      -x EXTENSION, --extension=EXTENSION
                            load extension EXTENSION

Using Extensions
----------------

For an extension to be ran this way it must be provided in a module
named ``mdx_{extensionname}.py`` which should be in your python path,
e.g. ``mdx_footnotes.py``.  It can then be invoked as by name (the
part after "mdx_"):

    python markdown.py -x footnotes text_with_footnotes.txt > output.html

If the extension supports config options (see below), you can also
pass them in as well:

    python markdown.py -x "footnotes(PLACE_MARKER=~~~~~~~~)" input.txt
<commit_msg>Updated docs for command line usage.<commit_after>Using Python-Markdown on the Command Line
=========================================

While Python-Markdown is primarily a python library, a command line script is 
included as well. While there are many other command line implementations 
of Markdown, you may not have them installed, or you may prefer to use 
Python-Markdown's various extensions.

Setup
-----

Generally, you may simply call the ``python markdown.py`` file from the command 
line. However, if you have fully installed Markdown (``setup.py install`` of 
``easyinstall``), then the ``markdown.py`` script will have been copied to
you Python "Scripts" directory. Different systems require different methods to
ensure that any files in the Python "Scripts" directory are on your system 
path.

* **Windows**:

    1. Assuming a default install on Windows, your "Scripts" directory is mostly
       likely something like ``C:\\Python25\Scripts``. Verify the location of
       your "Scripts" directory and add it to you system path.

    2. Make sure Windows is setup to recognize files that end with the 
       "``.py``" extension are associated with ``python.exe`` so that
       you can simply call the script directly.

    Note that due to a peculiarity of how things work on Windows, you cannot
    just ``cd`` into the directory of the source distribution and run
    ``markdown.py`` from there. It will try to import itself rather than
    the markdown library. While a safeguard has been put in place to block this
    from happening, if ``markdown.py`` is in the same directory as the markdown
    library, then the safeguard blocks both from importing and the script won't
    be able to run.

* **Linux**:

    As each Linux distribution is different and we can't possible document all 
    of them here, We'll provide a few helpful pointers:

    * Some systems will automatically install the script on your path. Try it 
      and see if it works. Just run ``markdown.py`` from the command line.

    * Other systems may maintain a separate "Scripts" directory which you
      need to add to your path. Find it (check with your distribution) and
      either add it to your path or make a symbolic link to it from your path.

    * If you are sure ``markdown.py`` is on your path, but it still isn't being
      found, check the permissions of the file and make sure it is executable.

    As an alternative, you could just ``cd`` into the directory which contains
    the source distribution, and run it from there. However, remember that your
    markdown text files will not likely be in that directory, so it is much more 
    convenient to have ``markdown.py`` on your path.

The Basics
----------

To use ``markdown.py`` from the command line, run it as 

    $ markdown.py input_file.txt

or 

    $ markdown.py input_file.txt > output_file.html

More Options
------------

If you are using Python 2.3 or higher, you can also use advanced
command line options to specify encoding or to run extensions.

    $ markdown.py --help
    Usage: markdown.py INPUTFILE [options]

    Options:
      -h, --help            show this help message and exit
      -f OUTPUT_FILE, --file=OUTPUT_FILE
                            write output to OUTPUT_FILE
      -e ENCODING, --encoding=ENCODING
                            encoding for input and output files
      -q, --quiet           suppress all messages
      -v, --verbose         print info messages
      -s SAFE_MODE, --safe=SAFE_MODE
                            safe mode ('replace', 'remove' or 'escape'  user's
                            HTML tag)
      -o OUTPUT_FORMAT, --output_format=OUTPUT_FORMAT
                            Format of output. One of 'xhtml1' (default) or
                            'html4'.
      --noisy               print debug messages
      -x EXTENSION, --extension=EXTENSION
                            load extension EXTENSION

Using Extensions
----------------

For an extension to be ran this way it must be provided in a module
which should be in your python path (see [[writing_extensions]] for details). 
It can then be invoked by the name of that module:

    $ markdown.py -x footnotes text_with_footnotes.txt > output.html

If the extension supports config options, you can pass them in as well:

    $ markdown.py -x "footnotes(PLACE_MARKER=~~~~~~~~)" input.txt

{'fraction_non_alphanumeric': 0.08584980237154151, 'fraction_numerical': 0.0015810276679841897, 'mean_word_length': 2.5144444444444445, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2091347', 'n_tokens_mistral': 1659, 'n_tokens_neox': 1582, 'n_words': 805}