You are using a browser which doesn't fully support Cascading Style Sheets. This site will look much better in a browser that supports web standards, but its content is accessible to any browser or Internet device.
Features
- Portable :
-
- written in pure Perl
- sources are pure text to be edited in any appropriate tool
- support of output formats that can be displayed everywhere, like HTML
- Easy to install if required
-
- one file executable available (for Windows - hopefully soon for Linux, too), no installation of perl or modules required
- traditional installation via perl modules available as well
- Easy to begin with
-
- base principles learned in minutes
- suitible for non programmers
- headlines, text, examples, lists of various types, tables, comments distinguished by one character paragraph prefixes
- no markup knowledge required to write simple documents
- line wrapping doesn't matter in most cases, so it's up to personal preferences
- complex tasks can be hidden in macros, authors do not need to know about macro implementations
- complex layouts can be provided in style definitions to be loaded with one option for easy use
- complex options can be hidden in central and individual startup files that are loaded automatically or on request
- Tags
-
- markup inside paragraphs, including examples for highlightning
- can be used in block sections (blocks)
- can take parameters
- simple syntax:
\TAGNAME[{parameter=value p2="value 2"}][<enclosed part>]
- can be nested with macros (see below) and other tags
- new tags can be defined by converter authors (in modules), definition API includes hook interfaces to define syntax and semantic checks and post parsing processing
- powerful base tags: bold, italic and code formatting, colorization, image inclusion, (local) TOCs, index entries, index lists, anchors, flexible internal links by chapter name (with optional chapter pathes to distinguish chapters with the same name), index relations (see below), sequences and more
- Macros :
-
- hide repeated or complex tasks in a shortcut
- suitable to build text templates (including other tags and macros) for quick reuse, too
- use and syntax similar to tags
- can be nested with tags and other macros
- defined inside a document, or in central definition files included
- easy to provide by team leaders to all members, so all team members can use the same shortcuts, or an author can use prefered shortcuts in all of his documents with one definition
- embedded Perl can be used to perform tasks of any complexity, like collection of data for later use, querying external data sources etc.
- user defined named parameters make it easy to allow configuration
- Variables :
-
- allow to maintain fix strings like an URL in one place
- can be redefined at any place
- can be restored after returning from a nested source, so each document level can have its own values of a common variable set (e.g. author, version, date, ...)
- can be refered in templates so it is easy to pass values to results
- Document nesting :
-
- documents can be composed from multiple sources
- unlimited nesting level
- documents can be processed standalone or as part of a composed document, headline levels are adapted
- optional smart inclusion detects if a document was included already, to avoid multiple reading of macro definitions etc.
- variables can be restored after returning from nested sources, so each document can have specific values of common variables (e.g. author name, revision, date)
- included files can be of various types, including "perl" for code to run, function definitions, and other formats like HTML
- included files can be automatically formatted as code
- user defined input filters allow to convert other formats like POD into PerlPoint on the fly
- Embedding :
-
- other formates can be embedded into PerlPoint documents
- useful to include pieces in the target format
- or to include Perl code to produce PerlPoint dynamically
- Advanced features :
-
- verbatim, non parsed example blocks to insert code "as is"
- nested tables (given the target format supports them)
- user defined paragraph filters allow to perform predefined operations on a paragraph like automatic highlightning, paragraph filters can be chained
- conditions allow to include or exclude parts dynamically
- "document streams" allow to have various internal documents which can be distinguished by output generators, to show parts occasionally (like presentation notes) or to format them a special way
- parsing results can be cached and reused, to accelerate processing to another target format
- headline shortcuts to simplify result navigation
- index relations:
-
- a special basic tag includes a chapter into a collection of parts that are automatically checked for relations, based on the index entries
- search depth and relation depth can be configured for every chapter
- if a page with a relation tag has relations to other pages, an (optionally linked) list of those relations is included, building automatic cross references
- handy for study materials, conference proceedings (with talks from many speakers), ...
- Extensible:
-
- framework can be extended by modules
- open to add new tags, target format generators, formatters and template engines
- generators, formatters and template engines can be part of user defined styles, so it is possible to provide self contained extensions instantly use (for inhouse, project or other purposes)
- new parts are linked in automatically, no need to modify the base software