TXT2TAGS

Section: User Commands (1)
Updated: Jul, 2008
Index Return to Main Contents

 

NAME

txt2tags - text formatting and conversion tool

 

SYNOPSIS

txt2tags [OPTION]... [FILE]...

 

DESCRIPTION

txt2tags is a GPL format conversion tool written in Python that generates HTML, XHTML, SGML, LaTeX, Lout, Man Page, MoinMoin, Wikipedia, DokuWiki, Google Code Wiki, MagicPoint and PageMaker documents from a single text file with minimal markup.

The user just need to know the very few and simple txt2tags marks, and write plain text files. The program does all the dirty work, adding the complicated tags and dealing with the target document's gotchas.

The same text file can be converted to all target formats, with no further editing. This is the txt2tags purpose: ONE source, MULTI targets.

Please visit the program site at http://txt2tags.sourceforge.net.

 

OPTIONS


 -C--config-file
read config from an external file (works like %!includeconf)


     --css-sugar
insert CSS-friendly tags for HTML and XHTML targets


     --css-inside
insert CSS file contents inside HTML/XHTML headers


     --dump-config
print all the config found and exit


     --dump-source
print the document source, with includes expanded


     --encoding
set target file encoding (utf-8, iso-8859-1, etc)


     --gui
invoke Graphical Tk Interface


 -h--help
print help information and exit


 -H--no-headers
suppress header, title and footer information


     --headers
show header, title and footer information (default ON)


 -i--infile=FILE
set FILE as the input file name ('-' for STDIN)


     --mask-email
hide email from spam robots. x@y.z turns <x (a) y z>


 -n--enum-title
enumerate all title lines as 1, 1.1, 1.1.1, etc


     --no-dump-config
turn off the dump config action


     --no-dump-source
turn off the dump source action


     --no-encoding
clear the encoding setting


     --no-enum-title
turn off the title auto numbering


     --no-infile
clear all the previous infile declarations


     --no-mask-email
unhide emails, turning off the --mask-email option


     --no-outfile
clear the previous outfile declaration


     --no-quiet
show messages, turning off the --quiet option


     --no-rc
do not read the user config file ~/.txt2tagsrc


     --no-style
clear the style setting


     --no-toc
do not add TOC (Table of Contents) to target document


     --no-toc-only
turn off the --toc-only option


 -o--outfile=FILE
set FILE as the output file name ('-' for STDOUT)


 -q--quiet
quiet mode, suppress all output (except errors)


     --rc
read user config file ~/.txt2tagsrc (default ON)


     --style=FILE
use FILE as the document style (like Html CSS)

-t, --target=TYPE
set target document type. currently supported: html, xhtml, sgml, tex, lout, man, mgp, wiki, gwiki, doku, moin, pm6, txt


     --toc
add TOC (Table of Contents) to target document


     --toc-level=N
set maximum TOC level (deepness) to N


     --toc-only
print document TOC and exit


 -v--verbose
print informative messages during conversion


 -V--version
print program version and exit

By default, converted output is saved to 'file.<type>'. Use --outfile to force an output file name. If input file is '-', reads from STDIN. If output file is '-', dumps output to STDOUT.

 

STRUCTURE

Txt2tags source file can have three areas:

Header
The first three lines. They are used for document identification. If you don't need headers, you must left the first line blank or specify the no-header setting.

Settings
Starts at the fourth line. All settings have the %!keyword: value format. Settings can also be made by a configuration file or command line.

Body
Your real document source! Your only request area to have a valid txt2tags file.

 

SETTINGS

The conversion of a source file can be customized in two different ways. External configurations are taken from the RC file (~/.txt2tagsrc) or other user-selected file. Internal configurations are made with settings. Both use the same syntax:

%!target:
defines the main target

%!options(target):
defines the options to each target

%!include: file.t2t
includes a txt2tags file in the document

%!include: ``file.txt``
includes a text file (verbatim) in the document

%!include: ''file.html''
includes a literal file in the document, as it is

%!style:
to set a CSS (Cascading Style Sheets) file for XHTML and HTML targets or to load \usepackage modules in TEX target

%!encoding:
to set a character set (like iso-8859-1) for i18n issues

%!includeconf:
used to include configurations from an external file into the current

%!guicolors:
color settings for the GUI interface (Tk)

%!preproc:
your customized filter (macro) which will be processed BEFORE the document parsing

%!postproc:
your customized filter (macro) which will be processed AFTER the document parsing

 

SETTINGS RULES

*
Settings are valid only inside the Config Area, and are considered plain comments if found on the document Body. Except include, which is a valid Body command.

*
If the same keyword appears more than once on the Config Area, the last found will be the one used. Except: options, preproc and postproc, which are cumulative.

*
A setting line with an invalid keyword will be considered a plain comment line.

*
This settings have precedence over txt2tagsrc file, but not on command line options.

 

SYNTAX

A very simple markup syntax is used on the document source (the plain text file) to identify structures and formatting. Here's the complete list:

 

Basic

  Headers           The first 3 lines of the source file
  Title             = words =
  Numbered title    + words +
  Paragraph         words

 

Beautifiers

  Bold              **words**
  Italic            //words//
  Underline         __words__
  Strike            --words--
  Monospaced        ``words``

 

Text Blocks

  Quote             <TAB>words
  List              - words
  Numbered list     + words
  Definition list   : words
  Verbatim line     ``` words
  Verbatim area     ```<LineBreak> lines <LineBreak>```
  Raw line          """ words
  Raw area          """<LineBreak> lines <LineBreak>"""
  Table             | cell1 | cell2 | cell3...

 

Other

  Separator line    -----------------------...
  Strong line       =======================...
  Links             [label url]
  Image             [filename.jpg]
  Raw Text          ""words""
  Comment           % comments

Please read the Txt2tags User Guide (on the program documentation directory) for a detailed description of each mark.

 

EXAMPLES

Assuming you have written a file.t2t marked file, let's have some converting fun.

Convert to HTML, saving to file.html
$ txt2tags -t html file.t2t

The same, using redirection
$ txt2tags -t html -o - file.t2t > file.html

Including Table Of Contents
$ txt2tags -t html --toc file.t2t

Including TOC and numbering titles
$ txt2tags -t html --toc --enum-title file.t2t

Contents quick view
$ txt2tags --toc-only file.t2t

Quick one-liner test from STDIN
$ (echo ; echo "**bold**") | txt2tags -t html -H -

 

MACROS

%%date
Allows to include the current date, in the format YYYYMMDD. Optional formatting can be specified using the %%date(format-string) syntax.

%%infile
Used to get information about the source file. Optional formatting can be specified using the %%infile(format-string) syntax.

Useful for footer link like [See source %%infile], so you can change the filename and its references will be updated.

%%mtime
Gets information about the source file modification time. It uses the same formatters accepted by the %%date macro.

%%outfile
Used to get information about the converted file. Optional formatting can be specified using the %%outfile(format-string) syntax.

Useful for self mentioning like "This is the manpage.man file", so you can change the filename and its references will be updated.

%%toc
The %%toc macro specifies where the TOC of the document will be placed. You can place it wherever needed inside the document, one or more times.

NOTE: %%toc will be expanded only with the --toc option.

 

AUTHOR

Written and maintained by Aurelio Jargas <verde@aurelio.net>

This Manual Page was written by Jose Inacio Coelho <jic@technologist.com> as a text file, then converted to man format by txt2tags!

 

COPYRIGHT

Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Aurelio Jargas

This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.