# argot text markup -- a markdown dialect

Argot is a small set of extensions on the markdown markup language designed primarily for writing technical blog entries. The extensions are not "proper" markdown extensions; they are implemented as preprocessors that compile down into markdown or html syntax. In addition to markdown's regular syntax, which argot does not interfere with, argot provides these features:

You can install argot with pip:

pip install argot


You can fork argot from its hg repository:

hg clone http://bitbucket.org/jmoiron/argot/


## requirements

argot requires markdown and pygments. The optional amazon link processor, disabled by default, requires lxml.

## version 0.6 notes

Version 0.6 of argot adds some functionality to the argot script, allowing you to easily create full HTML documents (with pygments styling) from argot markup in one easy command.

Version 0.6 of argot is backwards compatible with version 0.5, but maintains the blockquote blocks which makes it incompatible with versions previous to 0.5. If you are using a version older than 0.5 and wish to upgrade, please consult the README.rst file in 0.5 for a full list of incompatabilities.

## moin-style highlighted code blocks

In markdown, code blocks are blocks of text one level of indentation removed from the body text. However, when dealing with more primative browser input mechanisms, indenting lots of text can be problematic (as tab often shifts input focus). In addition to allowing for this convention, argot implements moin/tracwiki style code blocks that feature syntax highlighting via pygments.

### syntax

The general syntax is '{{{' followed by an optional shebang and desired pygments parser, followed by your code block, and bookended with '}}}':

{{{#!parser
... code ...
}}}


By default, if no parser is provided, argot uses pygments to try and guess what language is being used. It falls back to the plain text lexer. If you want to force the text lexer, use a lexer of text.

## blockquote blocks

Like the moin-style highlighted code blocks, blockquote blocks are primarily intended for easy cut/paste insertion of quoted blocks into a body.

### syntax

The syntax for blockquote blocks is similar to that of the code blocks, except that parens are used instead of braces:

((("citation url"
quoted text
)))


The quoted text is converted to HTML via regular markdown syntax rules. Nesting blockquote blocks is not supported. The optional citation url can be surrounded in single quotes (') or double quotes (").

## argot command line tool

Like markdown, argot ships with a command line tool that will convert text files to html called argot. It's usage is:

Usage: argot [options] file

Options:
--version             show program's version number and exit
-h, --help            show this help message and exit
-r REFERER, --referer=REFERER