{
"info": {
"author": "Pablo Martin",
"author_email": "pablo@odkq.com",
"bugtrack_url": null,
"classifiers": [
"Development Status :: 3 - Alpha",
"Environment :: Console",
"License :: OSI Approved :: GNU General Public License v3 (GPLv3)",
"Programming Language :: Python :: 2.6",
"Topic :: Software Development :: Documentation",
"Topic :: Text Processing :: Filters",
"Topic :: Text Processing :: Markup"
],
"description": "=======\nZerodoc\n=======\n\nVersion 0.2.3 Last updated 2014-08-17 pablo@odkq.com\n\nZerodoc is a \"plain text format\" in the spirit of `asciidoc `_, `POD `_,\n`reStructuredText `_ or `markdown `_, with an emphasis on simplicity and\nextensibility. Very few formatting options are avaliable, both to\nkeep the parser simple and to make it easy to write new generators\nfor the whole format.\n\nIncluded are a Python library can be used to translate an input\nfile or buffer into a tree that for wich generators can be easily\nwritten, and a command line tool to call existing generators for\nHTML, reStructuredText (that can then be converted or integrated\nwith other tools like Sphinx) and a JSON intermediate representation.\n\n1. The zerodoc format\n=====================\n\n\n1.1 Paragraphs and lines\n------------------------\n\nZerodoc files are simple text files organized in paragraphs. A\nparagraph is a group of text lines separated from other paragraphs\nby blank lines. Lists and source code copied *verbatim* can be\ndefined. An unintrusive format for links is used, based on\na references system.\n\nLines are limited to 72 characters for regular (not code \nor diagrams) text. If you need to put something more into a line\n(for example, a long URL), divide it in two and put a backslash (\\)\nwith no spaces at the end.\n\nExample:\n::\n\n This is a very long url that needs to be splitted in three:\n http://www.reallyreallyreallylonguniformresourcelocatorredir\\\n ection.com/redirectionator.php?theredirectioncode=d72a565ab8\\\n 7dedf7b5fa84b3ec4b9f11\n\nRenders into:\n\nThis is a very long url that needs to be splitted in three:\nhttp://www.reallyreallyreallylonguniformresourcelocatorredirection.com/redirectionator.php?theredirectioncode=d72a565ab87dedf7b5fa84b3ec4b9f11\n\n\n1.2 Lists\n---------\n\nLists are defined as paragrahps prefixed with a dash, and can be\nnested. Example\n::\n\n - The first element in a list\n - A nested element into the first consisting of two lines\n that are joined on output\n - Another nested element\n - The third element in a list\n\nRenders into:\n\n- The first element in a list\n\n - A nested element into the first consisting of two lines that are joined on output\n\n - Another nested element\n\n- The third element in a list\n\n\nBackslash joining also occur inside list elements:\n::\n\n - The first element in a list. as it have two lines\n with no backslash, an space is inserted between 'lines' and 'with'\n - To join the two lines without adding a space a back\\\n slash is used. Note that the two spaces formatting the listline are\n removed\n\nrenders into:\n\n- The first element in a list. as it have two lines with no backslash, an space is inserted between 'lines' and 'with'\n\n- To join the two lines without adding a space a backslash is used. Note that the two spaces formatting the listline are removed after the backslash\n\n\nNOTE: There are no numbered lists. In the \"phylosophy\" of zerodoc,\nnumbers can not be omited from the original text nor 'computed'\nbecause that will make the text less readable than it's processed\noutput.\n\n\n1.3 Formatting attributes\n-------------------------\n\nSome attributes for the text inherited from other common formats and\nemail conventions are supported:\n::\n\n - This is an *emphasis*\n - This is an _underline_ (cursive on certain displays or formats,\n as in manual pages)\n - This is a 'cursive'\n\nRenders into:\n\n- This is an *emphasis*\n\n- This is an _underline_ (cursive on certain displays or formats, as in manual pages)\n\n- This is a 'cursive'\n\n\n\n1.4 Links\n---------\n\nLinks can be included directly in the text along with their destination,\nor referenced first in the text and then 'resolved' in another line.\n\nSource of a link:\n::\n\n This `link`:http://www.google.com will redirect to google\n\nWill render as:\n\nThis `link `_ will redirect to google\n\nReferenced links are 'resolved' in lists of links. This lists of links\nwill be removed from output directly. If the list is contained in a\nsection alone, the section is also removed from output. See the\n'References' section at the end of the source code of this document\nfor an example. An 'autocontained' example could be:\n::\n\n This line contains two referenced links: `firstlink` and `secondlink`\n\n - `firstlink`:http://www.google.com\n - `secondlink`:http://www.google.com\n\nWich renders into:\n\nThis line contains two referenced links: `firstlink `_ and `secondlink `_\n\n\n1.5 Source code\n---------------\n\nSource code is text that will be included verbatim in the output. In\nsource code, newlines are meaningful and no limits on line-length are\nimposed. An example:\n::\n\n #include \n\n int main() {\n // print hello world 100 times\n for (int i = 0; i < 100; i++) {\n printf(\"Hello, world!\\n\");\n }\n }\n\nSource code is identified by one space before the content of\nthe first line and one or more spaces in the rest. No tabs can\nbe used, so either transform tabs-only source code before pasting\nor use a tool like expand(1) to do it for you. Blank lines are also\nincluded verbatim, up to the one delimiting the next 'regular'\nparagraph (one that contains text and starts on the first column)\n\nTo illustrate source code, i am going to paste the source code (yo\ndawg) of the example above, along with the regular paragraph-lines\nsorrounding it:\n::\n\n source code, newlines are meaningful and no limits on line-length are\n imposed. An example:\n \n #include \n \n int main() {\n // print hello world 100 times\n for (int i = 0; i < 100; i++) {\n printf(\"Hello, world!\\n\");\n }\n }\n \n Source code is identified by one space before the content of\n the first line and one or more spaces in the rest. No tabs can\n\n When pygmentize is used, the default language for syntax highlighting\n can be specified in options.\n\n\n1.6 Diagrams and images\n-----------------------\n\nDiagrams can be either included directly in the output, just as\nsource code, or optionally converted to images (when this is\npossible, for example in a manual page it does not make sense to\ninclude images). Diagrams are converted using ditaa, aafigure,\nascii2svg or tikz depending on the options parsed to the renderer.\nRefer to the `aafigure manual page `_ or to the `ditaa website `_ for\nhelp on this formats.\n\nDiagrams are recognized by using TWO or more spaces before the\nfirst line of them. Anything up to the next 'regular' paragraph\nis considered part of the diagram.\n\nSource-code paragraphs and diagrams can not be adjacent; they need\na 'regular' text paragraph (starting on the first column) between\nthem. This makes sense since no diagram can follow source code or\nviceversa without at least an introduction of what the reader is\nseeing.\n\n\n1.6.1 ASCIIToSVG ascii-art diagrams\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nThe default for ascii art diagrams is `asciitosvg `_. As it name implies,\nit converts text to SVG wich is quite convenient. It is written in php.\nExample diagram: (asciitosvg)\n\n.. image:: https://raw.githubusercontent.com/odkq/zerodoc/master/sphinx-config/images/zero6QR3h1.svg\n\n\n1.6.2 aafigure ascii-art diagrams\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nAnother format to convert ascii art diagrams to graphics is aafigure. it\nis written in Python and have quite convenient idioms for things like\nsequence diagrams:\n\n.. image:: https://raw.githubusercontent.com/odkq/zerodoc/master/sphinx-config/images/zeroSufppO.png\n\n\n\n1.6.3 ditaa ascii-art diagrams\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nAnother common format for ascii art diagrams is ditaa. It does not\nsupport svg output.\n::\n\n This is the source code of the following paragraph\n (diagram taken from the `ditaa website`:\n \n Example diagram: (ditaa)\n\n +--------+ +-------+ +-------+\n | | --+ ditaa +--> | |\n | Text | +-------+ |diagram|\n |Document| |!magic!| | |\n | {d}| | | | |\n +---+----+ +-------+ +-------+\n : ^\n | Lots of work |\n +-------------------------+\n\nThis is the source code of the following paragraph\n(diagram taken from the `ditaa website `_\n\n.. image:: https://raw.githubusercontent.com/odkq/zerodoc/master/sphinx-config/images/zeroSOJzdB.png\n\n\nNote that there are two spaces before the first +---\n\n\n1.6.4 TikZ diagrams\n~~~~~~~~~~~~~~~~~~~\n\nA Tikz diagram (from the Tikz examples)\n\n.. image:: https://raw.githubusercontent.com/odkq/zerodoc/master/sphinx-config/images/zeroniXuwJ.png\n\n\nLaTeX source code for that Tikz chunk:\n::\n\n \\begin{tikzpicture}[auto,node distance=3cm,\n thick,main node/.style={circle,fill=blue!20,draw,\n font=\\sffamily\\Large\\bfseries}]\n \n \\node[main node] (1) {1};\n \\node[main node] (2) [below left of=1] {2};\n \\node[main node] (3) [below right of=2] {3};\n \\node[main node] (4) [below right of=1] {4};\n \n \\path[every node/.style={font=\\sffamily\\small}]\n (1) edge node [left] {0.6} (4)\n edge [bend right] node[left] {0.3} (2)\n edge [loop above] node {0.1} (1)\n (2) edge node [right] {0.4} (1)\n edge node {0.3} (4)\n edge [loop left] node {0.4} (2)\n edge [bend right] node[left] {0.1} (3)\n (3) edge node [right] {0.8} (2)\n edge [bend right] node[right] {0.2} (4)\n (4) edge node [left] {0.2} (3)\n edge [loop right] node {0.6} (4)\n edge [bend right] node[right] {0.2} (1);\n \\end{tikzpicture}\n\n1.6.6 Diagram tagging and autodetection\n\nAs with source code, the type of diagram is autodetected for Tikz and\ngnuplot diagrams. This detection can be overriden by specifing it in\nthe first line of the diagram, between parenthesis.\n\n\n1.7 Definition lists\n--------------------\n\nA definition list is a list of terms and corresponding definitions.\nIt usually renders (in HTML, man pages, ReST) in the text of the\ndefinition indented with respect to the title. It is useful for\ndocumenting functions and command line parameters.\n\nFollowing is an example:\n::\n\n man ls\n Display the manual page for the item (program) ls.\n man -a intro\n Display, in succession, all of the available intro manual\n pages contained within the manual. It is possible\n to quit between successive displays or skip any of them.\n\nthat renders into:\n\nman ls\n Display the manual page for the item (program) ls.\n\nman -a intro\n Display, in succession, all of the available intro manual\n pages contained within the manual. It is possible\n to quit between successive displays or skip any of them.\n\n\n1.8 The default zerodoc structure\n---------------------------------\n\n\n1.8.1 Header\n~~~~~~~~~~~~\n\nThe header in a zerodoc document contains the title, an optional\nabstract and a table of contents. The table of contents needs to\nbe updated by hand (this is different from other well known text\nformats but allow zerodoc to have free-form titles (no --- nor\n~~~ nor any other form of markup is needed):\n::\n\n This is the title, that can spawn several\n lines\n\n This are one or several paragraphs of abstract\n\n 1. Title 1\n 2. Title 2\n\n\n1.8.1.1 Title\n~~~~~~~~~~~~~\n\nThe title can spawn several lines (a whole paragraph) that will be\njoined together on output\n\nThe table of contents can be prefixed by a 'Table of conents' line\nthat will be recognized automatically as the TOC title. If that line\nis not present, it will also be ommited on the transformed output.\n\n\n1.8.1.2 Abstract\n~~~~~~~~~~~~~~~~\n\nThe abstract is a group of paragraphs that appear before the Table\nof content.\n\n\n1.8.1.3 Table of contents\n~~~~~~~~~~~~~~~~~~~~~~~~~\n\nThe table of contents is a list of the titles of the different\nsections, for example\n::\n\n - 1. Section one\n - 2. Section two\n - 3. Third section\n\nWill define the table of contents of a document, if found in the\nheader (after the abstract). If a title listed here is not found\nin the document, an error is yielded.\n\n\n1.8.2 Body\n~~~~~~~~~~\n\nThe body is formed by several paragraphs. Paragraphs are divided\ninto sections by lines with titles. The lines with titles should\nappear in the TOC and should have the same content as the TOC.\nOptionally they can be in uppercase for clarity. As the transformed\ndocument usually will have better ways to emphasize the title, \nthe lowercase format used in the TOC will be used regardless of\nuppercase being used. For example, the next section of this document\nstarts with\n::\n\n 2. INSTALLING ZERODOC\n\n 2.1 Prerrequisites\n\nAnd in the TOC the pertinent lines appear as:\n::\n\n -- toc fragment --\n - 1.7.1.3 Table of contents\n - 1.7.2 Body\n - 2. Installing zerodoc\n - 2.1 Prerrequisites\n\nAs you can see on the start of the next section, the title appears\nin lowercase (as in the TOC above)\n\n\n2. Installing zerodoc\n=====================\n\n\n2.1 Prerrequisites\n------------------\n\nZerodoc needs Python (2.6 or newer) the Python PLY 'lex and yacc'\nutilities (2.5 or newer) and distutils for installation. Aditionally\nwhen generating diagrams, the programs to parse them need to be\ninstalled as well.\n\nAs an example, in a GNU/Linux Debian 6.0 'Squeeze' system, the\nrequirements can be installed using:\n::\n\n # apt-get install python-ply python-aafigure ditaa\n\nTo generate diagrams with gnuplot or tikz, install the pertinent\npackages\n::\n\n # apt-get install gnuplot\n\n # apt-get install texlive-picture\n\n\n2.2 Installing the library and interpreter\n------------------------------------------\n\n\n2.2.1 Using a git snapshot\n~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nClone the github repository using\n::\n\n $ git clone git://github.com/odkq/zerodoc.git\n\nChange to the zerodoc dir and call setup.py as root\n::\n\n $ cd zerodoc/\n $ sudo ./setup.py install\n\n\n2.2.2 Using pypi\n~~~~~~~~~~~~~~~~\n\n\n3. Using the command line converter\n===================================\n\nzerodoc - converts a zerodoc text file to HTML and many\nother formats\n\n\n3.1 SYNOPSIS\n------------\n\nUsage: zerodoc [options]\n\nOptions:\n\n-h, --help show this help message and exit\n\n-f FORMAT, --format=FORMAT Output format. If ommited, 'html'\n\n-o OPTIONS, --options=OPTIONS Options for format renderer\n\n-i FILE, --input=FILE Use as input file. If ommited, use stdin.\n\n-O FILE, --output=FILE Use as output file. If ommited,use stdout.\n\n\n3.2 HTML output options\n-----------------------\n\nditaa\n Use ditaa to format diagrams. When this option\n is used, you can specify the path of the ditaa\n .jar file with jarpath:. If jarpath is\n ommited, 'ditta' will be called (you can install\n a command-line ditta wraper in Debian and others\n with apt-get install ditaa)\n\njarpath:\n Location of the .jar path (there is no default,\n 'java' must be in the $PATH)\n\naafigure\n Use aafigure to format diagrams\n\nsvg\n Prefer svg in output when applicable (when the \n converter outputs it and when the rendered format allows\n for scalable graphics)\n\ndatauri\n Do not generate image files, embbed the images\n directly in the HTML using `DataURIscheme`\n\n\n3.3 reStructuredText output options\n-----------------------------------\n\nnotoc\n Usually `reStructuredText` processors attach their own index in the\n side (`sphinx-doc`, for example). In that case, you better do not\n output the toc (it is still used to get section titles)\n\n\n3.4 JSON output options\n-----------------------\n\nJson output has no options. It's output is the json render of the\nparsed tree with no interpretation whatsoever\n\n\n3.5 Confluence output options\n-----------------------------\n\nditaa, jarpath, aafigure, datauri\n With the same meaning as in the HTML output options\n\nYou can specify an output file, and paste it by hand into\nthe confluence 'edition' formulary, or you can make zerodoc client\nupload it directly with this options:\n\nfolder:\n Folder (path) for the uploaded document\n\nuser:\n User to use\n\npasswd:\n Password\n\nhost:\n Host",
"description_content_type": null,
"docs_url": null,
"download_url": "UNKNOWN",
"downloads": {
"last_day": -1,
"last_month": -1,
"last_week": -1
},
"home_page": "https://github.com/odkq/zerodoc",
"keywords": null,
"license": "GPL v3",
"maintainer": null,
"maintainer_email": null,
"name": "zerodoc",
"package_url": "https://pypi.org/project/zerodoc/",
"platform": "UNKNOWN",
"project_url": "https://pypi.org/project/zerodoc/",
"project_urls": {
"Download": "UNKNOWN",
"Homepage": "https://github.com/odkq/zerodoc"
},
"release_url": "https://pypi.org/project/zerodoc/0.2.3/",
"requires_dist": null,
"requires_python": null,
"summary": "minimalistic {asciidoc/pod/phpdoc}-alike plaintext to html/markdown/whatever' formatwith a very simple interpreter and a verysimple syntax",
"version": "0.2.3"
},
"last_serial": 1194059,
"releases": {
"0.0.1": [
{
"comment_text": "",
"digests": {
"md5": "acb616bb31b7a66e3565f50efedba02f",
"sha256": "42bd3847bbdb89138c427cca1b15c10a28e1c999c6fa4904e551414cef96c127"
},
"downloads": -1,
"filename": "zerodoc-0.0.1.tar.gz",
"has_sig": false,
"md5_digest": "acb616bb31b7a66e3565f50efedba02f",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 21640,
"upload_time": "2014-08-18T11:05:32",
"url": "https://files.pythonhosted.org/packages/98/86/46b55cd511f46c855631dd26306f0252e3afbf14864c94b1c986ab984bb8/zerodoc-0.0.1.tar.gz"
}
],
"0.2.0": [
{
"comment_text": "",
"digests": {
"md5": "a09a5359330c829e88ccda91848298dc",
"sha256": "611483762ca91dc0f32015eeeda7dc800cc5c770ba97c6c7b0436ed89efa45d7"
},
"downloads": -1,
"filename": "zerodoc-0.2.0.tar.gz",
"has_sig": false,
"md5_digest": "a09a5359330c829e88ccda91848298dc",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 21636,
"upload_time": "2014-08-18T11:05:54",
"url": "https://files.pythonhosted.org/packages/35/75/4b6e1270e9929f328e5f4976a673c97e4eed6e54f53f3e8344bdfef447ca/zerodoc-0.2.0.tar.gz"
}
],
"0.2.1": [
{
"comment_text": "",
"digests": {
"md5": "fd32ef979fd5b2a367f7d489d937b72f",
"sha256": "4410597a16bc8ba0c7c29f0a14b2216adceb31575744bab76c22b4fadb1bd9ae"
},
"downloads": -1,
"filename": "zerodoc-0.2.1.tar.gz",
"has_sig": false,
"md5_digest": "fd32ef979fd5b2a367f7d489d937b72f",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 21649,
"upload_time": "2014-08-18T11:11:41",
"url": "https://files.pythonhosted.org/packages/2e/79/af2a155fc697a81640c20a6e4130ec1726260609ce13e5e1bc48e6a46336/zerodoc-0.2.1.tar.gz"
}
],
"0.2.2": [
{
"comment_text": "",
"digests": {
"md5": "d737cb9f823f0e2c957c389d7fc70796",
"sha256": "9d636a89cbfea223b3d19527511c4de24a913ae3d9d3a67e5e43b4ad7e28a739"
},
"downloads": -1,
"filename": "zerodoc-0.2.2.tar.gz",
"has_sig": false,
"md5_digest": "d737cb9f823f0e2c957c389d7fc70796",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 22425,
"upload_time": "2014-08-18T11:14:27",
"url": "https://files.pythonhosted.org/packages/4a/cc/51479ac117ee461f00fbd34b488acb5989f3c6f131ec192f09a8cabc3a3d/zerodoc-0.2.2.tar.gz"
}
],
"0.2.3": [
{
"comment_text": "",
"digests": {
"md5": "3842ba851b71d355dae83b5e89b2466a",
"sha256": "d228f89a6012f37745de5ec3782f5248f0bd4f997370a5cc3ebd12cd4a39f608"
},
"downloads": -1,
"filename": "zerodoc-0.2.3.tar.gz",
"has_sig": false,
"md5_digest": "3842ba851b71d355dae83b5e89b2466a",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 22499,
"upload_time": "2014-08-18T14:24:10",
"url": "https://files.pythonhosted.org/packages/5d/43/566a42cd2741923734788469445fba186ba33482ec914746e65574f89b9a/zerodoc-0.2.3.tar.gz"
}
]
},
"urls": [
{
"comment_text": "",
"digests": {
"md5": "3842ba851b71d355dae83b5e89b2466a",
"sha256": "d228f89a6012f37745de5ec3782f5248f0bd4f997370a5cc3ebd12cd4a39f608"
},
"downloads": -1,
"filename": "zerodoc-0.2.3.tar.gz",
"has_sig": false,
"md5_digest": "3842ba851b71d355dae83b5e89b2466a",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 22499,
"upload_time": "2014-08-18T14:24:10",
"url": "https://files.pythonhosted.org/packages/5d/43/566a42cd2741923734788469445fba186ba33482ec914746e65574f89b9a/zerodoc-0.2.3.tar.gz"
}
]
}