non-WYSIWYG document generator.
The idea behind the project is to provide a very efficient text processing framework for software developers or other IT professionals offering the following features:
- command line user interface (no GUI) for extrem productivity
- source files are exclusivly plain text files (git-able, pull-request, etc)
- strict seperation between content and layout
- foundation for complexe document generation task (not included in this project)
- easy indexing of documents in noSql databases
The first two points make it very easy to integrate the noWord processor in any software development environment (IDE, source code, build chain) which makes it very convinent for software developers.
The following illustration outlines the main components of the noWord system.
This files contains global settings of the document like:
- doc id, version, author, etc
- templates
- processing instructions
As content file format we chose YAML over json for it's multiline support. The content file is organized in blocks. Each block is a dictionary which should have at least one entry: type. All other entries are block type specific.
- type : chapter
title : Some title
- type : text
content : >
Some multiline text ...
Another line
- type : list
content :
- Item 1
- Item 2
Build-in block types:
- chapter
- text
- newpage
- list
- table
- image
- ...
You can define your own block types using the plugin mecanism.
For maximum flexibility, you can write you own templates using python.
For each plugin a functional test was implemented. The following document describes the functional test:
-
ReportLab - ReportLab is the time-proven, ultra-robust open-source engine for creating complex, data-driven PDF documents and custom vector graphics.
-
Font Awesome - Font Awesome is a scalable vector icons library that can instantly be customized.
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
We use SemVer for versioning. For the versions available, see the tags on this repository.
- Matthias Müller - mmuellersk
- Benoist Wolleb
- Sebastien Pasche
- Cyril Sester
This project is licensed under the GPL License - see the LICENSE file for details
- Hat tip to anyone who's code was used
- Inspiration
- etc