суббота, 3 ноября 2012 г.

New Literate Programming Tool - TCLP 1.0!

I done new LP tool: very small (about 700-800Kb!) and flexible!
Main features are:
  1. Document has 'document header' with fields: TITLE, PROJECT, VERSION, DESCRIPTION, AUTHOR, ADDRESS, TAGS, it shown on the top of document.
  2. User can define values of this fields (and any other field) and can use defined fields in the document body (even in code chunks). There are special fields: APPNAME, APPVERSION, TIMESTAMP, DATE, TIME.
  3. Document has auto-generated TOC (table-of-contents), IT (index-table), ERT (external-references-table). TOC is placed in the start of the document. IT is placed at the end of document. ERT is placed last.
  4. TOC is generated automatically for all headers, defined with 'head' command.
  5. IT is generated automatically for all code chunks and includes file names of output chunks and lines numbers where to find them.
  6. ERT is generated automatically for all external references in the document, defined with 'ref' command and includes back-references to it's usage in the document body.
  7. Markup commands includes commands for bold, underlined, italic and monotyped text. Top/bottom indexes are supported also. Markups can be nested.
  8. There is special file with abbreviations to be used in section names and acronyms also.
  9. User can use acronym in the text from abbreviations file or explicitly with embedded expansion.
  10. User can create "vocabularies" - tables of definitions - from abbreviations file or embedded, defined explicitly.
  11. There are named counters (auto-incremented) to use in captions and so on.
  12. Code chunks are special formatted fragments of source code with lines numbering, optional syntax highlighting (only keywords). Lines can be numbered in continuously manner (with the same counter names) or in independent. User can reference to code lines by chunk name (section) and line number or with defining NAME of code line and usage of this name for referencing.
  13. Tables are supported: with attributes (table/row/cell), spanning, nesting.
  14. Lists (ordered/unordered) are also supported: with attributes; they can be nested also.
  15. User can insert image with 'embed' command. Any fragment of document can be "framed" with 'frame' command. It creates frame with caption (on top/on bottom), name and links (for referencing).
  16. There are 2 kinds of citations: inlined and blocked. Citation can have linked URL (shown as "More...")
  17. User can insert in document text any previous defined field values, but also variables from environment. Special environment variables is the USER - this is the name of user running tool.
  18. There is a special command 'wrap' for wrapping text with any word or quotation symbols, braces, etc.
  19. There is a command 'ent' to translate special symbols to HTML entities.
  20. There are references:
    • to external URL
    • to header
    • to line of code chunk/named line of code chunk
    • to code chunk
    • to frames
    • to any place of document where user defines own link
  21. There are 2 special commands: 'atstart', 'atend'. Mainly used is 'atend' for code generation from code chunks. User can define there what code chunks to be written to output source files (by sections, by glob-pattern of sections). Also is possible to write any free text to output file.
  22. Most of created HTML tags has CSS-classes. For all available CSS classes, see 'tclp.css' file. Used CSS file can be defined with command line option.
  23. User can add syntax keywords for any other language (for highlighting).
You can try it from Google Projects: http://code.google.com/p/tclp/

Комментариев нет:

Отправить комментарий

Thanks for your posting!