Home | History | Annotate | Download | only in docs
      1 Using Python-Markdown on the Command Line
      2 =========================================
      3 
      4 While Python-Markdown is primarily a python library, a command line script is 
      5 included as well. While there are many other command line implementations 
      6 of Markdown, you may not have them installed, or you may prefer to use 
      7 Python-Markdown's various extensions.
      8 
      9 Setup
     10 -----
     11 
     12 Generally, you may simply call the ``markdown`` file from the command 
     13 line. However, if you have fully installed Markdown (``setup.py install`` or 
     14 ``easy_install``), then the ``markdown`` script will have been copied to
     15 you Python "Scripts" directory. Different systems require different methods to
     16 ensure that any files in the Python "Scripts" directory are on your system 
     17 path.
     18 
     19 * **Windows**:
     20 
     21     Assuming a default install on Windows, your "Scripts" directory is most
     22     likely something like ``C:\\Python25\Scripts``. Verify the location of
     23     your "Scripts" directory and add it to you system path.
     24 
     25     Calling ``markdown`` from th ecommand line will call the wrapper batch file
     26     ``markdown.bat`` in the "Scripts" directory created during install.
     27 
     28 * **Linux**:
     29 
     30     As each Linux distribution is different and we can't possibly document all 
     31     of them here, we'll provide a few helpful pointers:
     32 
     33     * Some systems will automatically install the script on your path. Try it 
     34       and see if it works. Just run ``markdown`` from the command line.
     35 
     36     * Other systems may maintain a separate "Scripts" directory which you
     37       need to add to your path. Find it (check with your distribution) and
     38       either add it to your path or make a symbolic link to it from your path.
     39 
     40     * If you are sure ``markdown`` is on your path, but it still isn't being
     41       found, check the permissions of the file and make sure it is executable.
     42 
     43     As an alternative, you could just ``cd`` into the directory which contains
     44     the source distribution, and run it from there. However, remember that your
     45     markdown text files will not likely be in that directory, so it is much more 
     46     convenient to have ``markdown`` on your path.
     47 
     48 The Basics
     49 ----------
     50 
     51 To use ``markdown`` from the command line, run it as 
     52 
     53     $ markdown input_file.txt
     54 
     55 or 
     56 
     57     $ markdown input_file.txt > output_file.html
     58 
     59 More Options
     60 ------------
     61 
     62 If you are using Python 2.3 or higher, you can also use advanced
     63 command line options to specify encoding or to run extensions.
     64 
     65     $ markdown --help
     66     Usage: markdown INPUTFILE [options]
     67 
     68     Options:
     69       -h, --help            show this help message and exit
     70       -f OUTPUT_FILE, --file=OUTPUT_FILE
     71                             write output to OUTPUT_FILE
     72       -e ENCODING, --encoding=ENCODING
     73                             encoding for input and output files
     74       -q, --quiet           suppress all messages
     75       -v, --verbose         print info messages
     76       -s SAFE_MODE, --safe=SAFE_MODE
     77                             safe mode ('replace', 'remove' or 'escape'  user's
     78                             HTML tag)
     79       -o OUTPUT_FORMAT, --output_format=OUTPUT_FORMAT
     80                             Format of output. One of 'xhtml1' (default) or
     81                             'html4'.
     82       --noisy               print debug messages
     83       -x EXTENSION, --extension=EXTENSION
     84                             load extension EXTENSION
     85 
     86 Using Extensions
     87 ----------------
     88 
     89 For an extension to be ran this way it must be provided in a module
     90 which should be in your python path (see [[writing_extensions]] for details). 
     91 It can then be invoked by the name of that module:
     92 
     93     $ markdown -x footnotes text_with_footnotes.txt > output.html
     94 
     95 If the extension supports config options, you can pass them in as well:
     96 
     97     $ markdown -x "footnotes(PLACE_MARKER=~~~~~~~~)" input.txt
     98 
     99