asciidoc-py3-9.0.0rc1/0000755000175000017500000000000013570064211013756 5ustar josephjosephasciidoc-py3-9.0.0rc1/configure.ac0000644000175000017500000000023613570064211016245 0ustar josephjosephAC_INIT(asciidoc, 9.0.0rc1) AC_SUBST([PACKAGE_DATE], ['27 November 2019']) AC_CONFIG_FILES(Makefile) AC_PROG_SED AC_PROG_LN_S AC_PROG_INSTALL AC_OUTPUT asciidoc-py3-9.0.0rc1/asciidocapi.py0000644000175000017500000002315213570064211016603 0ustar josephjoseph#!/usr/bin/env python3 """ asciidocapi - AsciiDoc API wrapper class. The AsciiDocAPI class provides an API for executing asciidoc. Minimal example compiles `mydoc.txt` to `mydoc.html`: import asciidocapi asciidoc = asciidocapi.AsciiDocAPI() asciidoc.execute('mydoc.txt') - Full documentation in asciidocapi.txt. - See the doctests below for more examples. Doctests: 1. Check execution: >>> import io >>> infile = io.StringIO('Hello *{author}*') >>> outfile = io.StringIO() >>> asciidoc = AsciiDocAPI() >>> asciidoc.options('--no-header-footer') >>> asciidoc.attributes['author'] = 'Joe Bloggs' >>> asciidoc.execute(infile, outfile, backend='html4') >>> print(outfile.getvalue())

Hello Joe Bloggs

>>> asciidoc.attributes['author'] = 'Bill Smith' >>> infile = io.StringIO('Hello _{author}_') >>> outfile = io.StringIO() >>> asciidoc.execute(infile, outfile, backend='docbook') >>> print(outfile.getvalue()) Hello Bill Smith 2. Check error handling: >>> import io >>> asciidoc = AsciiDocAPI() >>> infile = io.StringIO('---------') >>> outfile = io.StringIO() >>> asciidoc.execute(infile, outfile) Traceback (most recent call last): File "", line 1, in File "asciidocapi.py", line 189, in execute raise AsciiDocError(self.messages[-1]) AsciiDocError: ERROR: : line 1: [blockdef-listing] missing closing delimiter Copyright (C) 2009 Stuart Rackham. Free use of this software is granted under the terms of the GNU General Public License (GPL). """ import sys,os,re API_VERSION = '0.1.2' MIN_ASCIIDOC_VERSION = '8.4.1' # Minimum acceptable AsciiDoc version. def find_in_path(fname, path=None): """ Find file fname in paths. Return None if not found. """ if path is None: path = os.environ.get('PATH', '') for dir in path.split(os.pathsep): fpath = os.path.join(dir, fname) if os.path.isfile(fpath): return fpath else: return None class AsciiDocError(Exception): pass class Options(object): """ Stores asciidoc(1) command options. """ def __init__(self, values=[]): self.values = values[:] def __call__(self, name, value=None): """Shortcut for append method.""" self.append(name, value) def append(self, name, value=None): if type(value) in (int,float): value = str(value) self.values.append((name,value)) class Version(object): """ Parse and compare AsciiDoc version numbers. Instance attributes: string: String version number '.[.][suffix]'. major: Integer major version number. minor: Integer minor version number. micro: Integer micro version number. suffix: Suffix (begins with non-numeric character) is ignored when comparing. Doctest examples: >>> Version('8.2.5') < Version('8.3 beta 1') True >>> Version('8.3.0') == Version('8.3. beta 1') True >>> Version('8.2.0') < Version('8.20') True >>> Version('8.20').major 8 >>> Version('8.20').minor 20 >>> Version('8.20').micro 0 >>> Version('8.20').suffix '' >>> Version('8.20 beta 1').suffix 'beta 1' """ def __init__(self, version): self.string = version reo = re.match(r'^(\d+)\.(\d+)(\.(\d+))?\s*(.*?)\s*$', self.string) if not reo: raise ValueError('invalid version number: %s' % self.string) groups = reo.groups() self.major = int(groups[0]) self.minor = int(groups[1]) self.micro = int(groups[3] or '0') self.suffix = groups[4] or '' def __lt__(self, other): if self.major < other.major: return True elif self.major == other.major: if self.minor < other.minor: return True elif self.minor == other.minor: if self.micro < other.micro: return True return False # (sigh). Copy-paste def __le__(self, other): if self.major > other.major: return False elif self.major <= other.major: if self.minor > other.minor: return False elif self.minor <= other.minor: if self.micro > other.micro: return False return True def __eq__(self, other): if self.major == other.major and self.minor == other.minor and self.micro == other.micro: return True return False class AsciiDocAPI(object): """ AsciiDoc API class. """ def __init__(self, asciidoc_py=None): """ Locate and import asciidoc.py. Initialize instance attributes. """ self.options = Options() self.attributes = {} self.messages = [] # Search for the asciidoc command file in that order : # - ASCIIDOC_PY environment variable # - asciidoc_py function argument # - sibling (preferred to shell search paths, to ensure version matching) # - shell search paths cmd = os.environ.get('ASCIIDOC_PY') if cmd: if not os.path.isfile(cmd): raise AsciiDocError('missing ASCIIDOC_PY file: %s' % cmd) elif asciidoc_py: # Next try path specified by caller. cmd = asciidoc_py if not os.path.isfile(cmd): raise AsciiDocError('missing file: %s' % cmd) else: # try to find sibling paths this_path = os.path.dirname(os.path.realpath(__file__)) for fname in ['asciidoc.py','asciidoc.pyc','asciidoc']: cmd = find_in_path(fname, path=this_path) if cmd: break else: # Try shell search paths. for fname in ['asciidoc.py','asciidoc.pyc','asciidoc']: cmd = find_in_path(fname) if cmd: break else: # Finally try current working directory. for cmd in ['asciidoc.py','asciidoc.pyc','asciidoc']: if os.path.isfile(cmd): break else: raise AsciiDocError('failed to locate asciidoc') self.cmd = os.path.realpath(cmd) self.__import_asciidoc() def __import_asciidoc(self, reload=False): ''' Import asciidoc module (script or compiled .pyc). See http://groups.google.com/group/asciidoc/browse_frm/thread/66e7b59d12cd2f91 for an explanation of why a seemingly straight-forward job turned out quite complicated. ''' if os.path.splitext(self.cmd)[1] in ['.py','.pyc']: sys.path.insert(0, os.path.dirname(self.cmd)) try: try: if reload: import importlib # Because reload() is shadowed. importlib.reload(self.asciidoc) else: import asciidoc self.asciidoc = asciidoc except ImportError: raise AsciiDocError('failed to import ' + self.cmd) finally: del sys.path[0] else: # The import statement can only handle .py or .pyc files, have to # use importlib for scripts with other names. try: from importlib.util import spec_from_loader, module_from_spec from importlib.machinery import SourceFileLoader loader = SourceFileLoader('asciidoc', self.cmd) spec = spec_from_loader('asciidoc', loader) module = module_from_spec(spec) spec.loader.exec_module(module) self.asciidoc = module except ImportError: raise AsciiDocError('failed to import ' + self.cmd) if Version(self.asciidoc.VERSION) < Version(MIN_ASCIIDOC_VERSION): raise AsciiDocError( 'asciidocapi %s requires asciidoc %s or better' % (API_VERSION, MIN_ASCIIDOC_VERSION)) def execute(self, infile, outfile=None, backend=None): """ Compile infile to outfile using backend format. infile can outfile can be file path strings or file like objects. """ self.messages = [] opts = Options(self.options.values) if outfile is not None: opts('--out-file', outfile) if backend is not None: opts('--backend', backend) for k, v in self.attributes.items(): if v == '' or k[-1] in '!@': s = k elif v is None: # A None value undefines the attribute. s = k + '!' else: s = '%s=%s' % (k, v) opts('--attribute', s) args = [infile] # The AsciiDoc command was designed to process source text then # exit, there are globals and statics in asciidoc.py that have # to be reinitialized before each run -- hence the reload. self.__import_asciidoc(reload=True) try: try: self.asciidoc.execute(self.cmd, opts.values, args) finally: self.messages = self.asciidoc.messages[:] except SystemExit as e: if e.code: raise AsciiDocError(self.messages[-1]) if __name__ == "__main__": """ Run module doctests. """ import doctest options = doctest.NORMALIZE_WHITESPACE + doctest.ELLIPSIS test_result = doctest.testmod(optionflags=options) print(test_result) sys.exit(test_result.failed > 0) asciidoc-py3-9.0.0rc1/.gitignore0000644000175000017500000000050213570064211015743 0ustar josephjoseph.idea/ .DS_Store *.pyc # ignore test products #tests/data/*.html #tests/data/*.xml #tests/data/*.ly #tests/data/*.abc #tests/data/*.md5 #tests/data/*.png # ignore doc products doc/*.md5 doc/*.ly doc/*.svg doc/*.png doc/*.1 doc/*.html # ignore the configure/make products /autom4te.cache/ /config.* /configure Makefile asciidoc-py3-9.0.0rc1/doc/0000755000175000017500000000000013570064211014523 5ustar josephjosephasciidoc-py3-9.0.0rc1/doc/latex-filter.txt0000644000175000017500000001705513570064211017674 0ustar josephjosephLaTeX Filter ============ :blogpost-status: published :blogpost-doctype: article :blogpost-posttype: page :blogpost-categories: AsciiDoc,LaTeX,python The AsciiDoc distribution includes a LaTeX filter that translates LaTeX source to an image which is automatically inserted into the AsciiDoc output document. Although it can accept any LaTeX source, the primary use is to render mathematical formulae (see the examples below). The filter implements the 'latex' Listing block and Paragraph styles. Two image formats are supported; PNG and SVG. PNG is the default since that was the first format that this filter supported. However, SVG is a better format since it's scalable. Using SVG make formulas look good in both PDFs and on web pages. SVG will also scale well when zooming in on a web page for example. It is recommended to always use the SVG format. This can be done by setting the 'imgfmt' parameter to 'svg', as is done below. An even better way is to set the global attribute 'latex-imgfmt' to 'svg'. Then SVG will be used for all formulas. This LaTeX paragraph: [listing] ..................................................................... ["latex", imgfmt="svg"] --------------------------------------------------------------------- \begin{equation*} y = \int_0^\infty \gamma^2 \cos(x) dx \end{equation*} --------------------------------------------------------------------- ..................................................................... Renders: ["latex", imgfmt="svg"] --------------------------------------------------------------------- \begin{equation*} y = \int_0^\infty \gamma^2 \cos(x) dx \end{equation*} --------------------------------------------------------------------- Compare the formula above, which is rendered as an SVG image, to the formula below which has been rendered as a PNG image. The difference will be most notable if zooming in on a web page, printing the web page or when rendering the document as a PDF. [listing] ..................................................................... ["latex", "latex2.png", 140, imgfmt="png"] --------------------------------------------------------------------- \begin{equation*} y = \int_0^\infty \gamma^2 \cos(x) dx \end{equation*} --------------------------------------------------------------------- ..................................................................... Renders: ["latex", "latex2.png", 140, imgfmt="png"] --------------------------------------------------------------------- \begin{equation*} y = \int_0^\infty \gamma^2 \cos(x) dx \end{equation*} --------------------------------------------------------------------- This LaTeX block: [listing] ..................................................................... ["latex","latex1.svg",imgfmt="svg",align="center"] --------------------------------------------------------------------- \begin{equation*} \displaystyle{ V_i = C_0 - C_3 \frac{C_1\cos(\theta_i+C_3)}{C_4+C_1\cos(\theta_i+C_2)} } \end{equation*} --------------------------------------------------------------------- ..................................................................... Renders: ["latex","latex1.svg",imgfmt="svg",align="center"] --------------------------------------------------------------------- \begin{equation*} \displaystyle{ V_i = C_0 - C_3 \frac{C_1\cos(\theta_i+C_3)}{C_4+C_1\cos(\theta_i+C_2)} } \end{equation*} --------------------------------------------------------------------- This LaTeX block: [listing] ..................................................................... .LaTeX filter example [latex] ["latex","latex3.svg",imgfmt="svg"] --------------------------------------------------------------------- \begin{equation} \Re{z} =\frac{n\pi \dfrac{\theta +\psi}{2}}{ \left(\dfrac{\theta +\psi}{2}\right)^2 + \left( \dfrac{1}{2} \log \left\lvert\dfrac{B}{A}\right\rvert\right)^2}. \end{equation} \begin{equation} \boxed{\eta \leq C(\delta(\eta) +\Lambda_M(0,\delta))} \end{equation} \begin{equation}\label{first} a=b+c \end{equation} \begin{subequations}\label{grp} \begin{align} a&=b+c\label{second}\\ d&=e+f+g\label{third}\\ h&=i+j\label{fourth} \end{align} \end{subequations} --------------------------------------------------------------------- ..................................................................... Renders: .LaTeX filter example [latex] ["latex","latex3.svg",imgfmt="svg"] --------------------------------------------------------------------- \begin{equation} \Re{z} =\frac{n\pi \dfrac{\theta +\psi}{2}}{ \left(\dfrac{\theta +\psi}{2}\right)^2 + \left( \dfrac{1}{2} \log \left\lvert\dfrac{B}{A}\right\rvert\right)^2}. \end{equation} \begin{equation} \boxed{\eta \leq C(\delta(\eta) +\Lambda_M(0,\delta))} \end{equation} \begin{equation}\label{first} a=b+c \end{equation} \begin{subequations}\label{grp} \begin{align} a&=b+c\label{second}\\ d&=e+f+g\label{third}\\ h&=i+j\label{fourth} \end{align} \end{subequations} --------------------------------------------------------------------- This LaTeX paragraph: [listing] ..................................................................... .A LaTeX table ["latex",imgfmt="svg"] \begin{tabular}{c r @{.} l} Pi expression & \multicolumn{2}{c}{Value} \\ \hline $\pi$ & 3&1416 \\ $\pi^{\pi}$ & 36&46 \\ $(\pi^{\pi})^{\pi}$ & 80662&7 \\ \end{tabular} ..................................................................... Renders: .A LaTeX table ["latex",imgfmt="svg"] \begin{tabular}{c r @{.} l} Pi expression & \multicolumn{2}{c}{Value} \\ \hline $\pi$ & 3&1416 \\ $\pi^{\pi}$ & 36&46 \\ $(\pi^{\pi})^{\pi}$ & 80662&7 \\ \end{tabular} Using the Filter ---------------- - The LaTeX filter is invoked by setting the Listing block or Paragraph style (the first positional block attribute) to 'latex'. - The second positional attribute (named 'target' is optional, it sets the name of the generated image file. If this is not supplied a file name like `{docname}__{target-number}.{imgfmt}` is synthesised (where `{docname}` is the document file name, `{target-number}` is an integer number and `{imgfmt}` is the image format (png or svg). - The third positional attribute, named 'dpi', is also optional; it is an integer number that sets the output resolution in dots per inch for a PNG image. It is ignored for an SVG image. - The image format to use can be selected by setting the 'imgfmt' parameter or by globally setting the 'latex-imgfmt' attribute. Setting it to 'svg' will render SVG images and setting it to 'png' will render PNG images. The default is 'png'. Because the LaTeX images are rendered using the image block templates you can also use the optional named image block attributes (see link:userguide.html#X55[Image macro attributes] in the AsciiDoc User Guide). [TIP] ===================================================================== You can also change the image size using the following LaTeX commands: \tiny \scriptsize \footnotesize \small \normalsize \large \Large \LARGE \huge For example: [latex] \Large $y = \int_0^\infty \gamma^2 \cos(x) dx$ The `\Large` command is outside the `$` math delimiters. ===================================================================== The filter (`./filters/latex/latex2img.py`) can be used outside AsciiDoc to convert LaTeX source to images. Execute the following command to see how to use it: $ ./filters/latex/latex2img.py --help Limitations ----------- - The `asciidoc(1)` input and output files cannot both be `-` (stdin and stdout), either the input or output files (or both) must be a named file. Installation ------------ In addition to AsciiDoc you will need to have `latex(1)`, `dvipng(1)` (for PNG) and/or `dvisvgm(1)` (for SVG) installed. asciidoc-py3-9.0.0rc1/doc/faq.txt0000644000175000017500000013463413570064211016046 0ustar josephjosephAsciiDoc Frequently Asked Questions =================================== NOTE: New FAQs are appended to the bottom of this document. ///////////////////////////////////////////////////////////////// ADD NEW FAQS TO THE BOTTOM OF THIS DOCUMENT TO MAINTAIN NUMBERING ///////////////////////////////////////////////////////////////// == How do you handle spaces in included file names? Spaces are not allowed in macro targets so this include macro will not be processed: include::my document.txt[] The work-around is to replace the spaces with the `{sp}` (space character) attribute, for example: include::my{sp}document.txt[] == How do I number all paragraphs? Some documents such as specifications and legalese require all paragraphs to be sequentially numbered through the document, and to be able to reference these numbers. This can be achieved by using the DocBook toolchain but numbering the paragraphs with AsciiDoc using a custom config file containing the following (see http://asciidoc.org/userguide.html#X27 for ways to include such a file): --------------------------------------------------------------------- [paragraph] {title} {title%} {paracounter} | {title%} {title#} {counter2:paracounter} {empty} --------------------------------------------------------------------- References to the paragraphs operate in the normal way, you label the paragraph: ----------------------------- [[some_label_you_understand]] paragraph contents ----------------------------- and reference it in the normal manner: ----------------------------- <> ----------------------------- The text of the reference will be the paragraph number. For this to work for HTML you have to generate it via the DocBook toolchain. == Sources of information on configuring DocBook toolchains DocBook is a content and structure markup language, therefore AsciiDoc generated DocBook markup is also limited to content and structure. Layout and formatting definition is specific to the DocBook toolchain. The dblatex toolchain can be configured by setting parameters defined at http://dblatex.sourceforge.net/doc/manual/sec-params.html or for more complex styling by custom Latex stylesheets described at http://dblatex.sourceforge.net/doc/manual/sec-custom-latex.html. Similarly FOP can be configured by parameters described at http://sagehill.net/docbookxsl/OptionsPart.html and with custom xsl stylesheets generating formatting objects as described at http://sagehill.net/docbookxsl/CustomizingPart.html. [[X5]] == How can I include embedded fonts in an EPUB document? This is a two step process: 1. Declare the font files and their use in your document's CSS stylesheet. For example: + [listing] ......................................... @font-face { font-family : LiberationSerif-Regular; font-weight : normal; font-style: normal; src : url(LiberationSerif-Regular.ttf); } body { font-family: LiberationSerif-Regular, serif; } ......................................... 2. Declare the font file as resource when you use `a2x(1)` to compile the EPUB. For example: a2x -f epub -d book --epubcheck --stylesheet epubtest.css --resource .ttf=application/x-font-ttf --resource LiberationSerif-Regular.ttf epubtest.txt [NOTE] ====== - Requires AsciiDoc 8.6.5 or better. - The True Type Font mimetype had to be declared explicitly with the `--resource .ttf=application/x-font-ttf` option because it wasn't registered on my Linux system. - In the above example the font file is in the same directory as the AsciiDoc source file and is installed to the same relative location in the EPUB archive OEBPS directory -- if your font file resides in a different location you'll need to adjust the `--resource` option accordingly (see the 'RESOURCES' section in the `a2x(1)` man page for details). - The URL value of the CSS 'src' property is set to the destination font file relative to the CSS file. - The `--resource` option allows you to inject any file (not just font files) into the EPUB output document. - Using the CSS '@font-face' rule is a complex subject and is outside the scope of this FAQ. - Many EPUB readers do not process embedded fonts. ====== == What's the difference between + quoted text and ` quoted monospaced text? `+` (plus) quoted text is implemented as an AsciiDoc 'quotes' whereas +`+ (grave accent or backtick) quoted text is implemented as an AsciiDoc 'inline literal' passthrough macro. The semantics are different: 1. Inline passthrough macros are processed before any other inline substitutions e.g. all of the following line will be processed as a single inline passthrough and rendered as monospaced text (which is not the intended result): + -- `single quoted text' and `monospaced quoted text` This line works as expected: `single quoted text' and +monospaced quoted text+ -- 2. Backtick quoted text is rendered literally i.e. no substitutions are performed on the enclosed text. Here are some examples that would have to be escaped if plus quoting were used (<>): The `++i` and `++j` auto-increments. Paths `~/.vim` and `~/docs`. The `__init__` method. The `{id}` attribute. == Why is the generated HTML title element text invalid? Probably because your document title contains formatting that has generated HTML title markup. You can resolve this by explicitly defining the 'title' attribute in your document's header. == AsciiDoc sometimes generates invalid output markup, why? AsciiDoc is backend agnostic, the 'asciidoc' command has no knowledge of the syntax or structure of the backend format that it generates. Output document validation (syntactic and structural) should be performed separately by external validation tools. For example, AsciiDoc's 'a2x' toolchain command automatically performs validation checks using 'xmllint'. == The AsciiDoc toclevels attribute does not work with DocBook outputs, why? DocBook has no provision for specifying table of contents levels but you can set the TOC level further down the toolchain by passing the DocBook XSL Stylesheets http://docbook.sourceforge.net/release/xsl/current/doc/html/toc.section.depth.html[toc.section.depth] parameter to 'dblatex' (using the `--param` option) or 'xsltproc' (using the `--stringparam` option). For example to show only chapter titles in the TOC of a 'book' document set 'toc.section.depth' to '0'. Increment the 'toc.section.depth' value to show more sub-section titles. If you are using 'a2x' you can set the options in the source file, for example: // a2x: --xsltproc-opts "--stringparam toc.section.depth 0" // a2x: --dblatex-opts "--param toc.section.depth=0" If the document is of type 'article' use the value '1' to show only top level section titles in the TOC, use the value '2' for two levels etc. == How can I include chapter and section tables of contents? DocBook outputs processed by DocBook XSL Stylesheets (either manually or via 'a2x') can generate additional separate section and chapter tables of contents using combinations of the http://www.sagehill.net/docbookxsl/TOCcontrol.html[TOC parameters]. Here are some examples using combinations of the `generate.section.toc.level` and `toc.section.depth` DocBook XSL Stylesheets parameters: [cols="2*l,4",width="90%",frame="topbot",options="header"] |====================================================== |generate.section.toc.level |toc.section.depth | |1 | |Single level book chapter TOCs or article section TOCs |1 | 3 |Article section TOCs with two levels |1 | 2 |Book chapter TOCs with two levels |====================================================== == How can I customize the appearance of XHTML and EPUB documents generated by a2x? You can customize the appearance of an EPUB document with CSS. See the link:publishing-ebooks-with-asciidoc.html[Sherlock Holmes eBook example] on the AsciiDoc website. == DocBook has many elements for document meta-data -- how can I use them from AsciiDoc? The 'docinfo', 'docinfo1' and 'docinfo2' attributes allow you include link:userguide.html#X97[document information files] containing DocBook XML into the header of the output file. == Do element titles automatically generate link captions? If you go the DocBook route then yes -- just omit the caption from the AsciiDoc 'xref' (`<<...>>`) macro. Both dblatex and DocBook XSL will use the target element's title text. Examples: [listing] .................................................................. [[X1]] Section One ----------- Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas ultrices justo porttitor augue. Vestibulum pretium. Donec porta See also <> (this link displays the text 'A titled paragraph'). [id="X2",reftext="2nd section"] Section Two ----------- See also <> (this link displays the text 'Section One'). [[X3]] .A titled paragraph Lorem ipsum dolor sit amet, consectetuer adipiscing elit. See also <> (this link displays the text '2nd section'). .................................................................. The AsciiDoc 'reftext' attribute has been used to explicitly set the link text to '2nd section' for 'Section Two'. == Can I define my own table styles? In addition to the built-in styles you can define your own. This (simplified) example for HTML backends defines a table style called 'red' which sets the background cell color to red. First put the definition in a configuration file: [listing] ......................................... [tabledef-default] red-style=tags="red" [tabletags-red] bodydata=| ......................................... Now you can use the style name to style cells or columns (in this example we use an unambiguous shortened abbreviation 'r'): [listing] ......................................... |================================== |Normal cell r|Red cell |================================== ......................................... == How can I add highlighted editorial comments to an AsciiDoc document? Both block and inline link:userguide.html#X25[comment lines] are displayed on the output if the 'showcomments' attribute is defined. Example: [listing] ......................................... :showcomments: // A block comment line. Qui in magna commodo, est labitur dolorum an. Est ne magna primis // An inline comment line. adolescens. ......................................... Is rendered as: :showcomments: // A block comment line. Qui in magna commodo, est labitur dolorum an. Est ne magna primis // An inline comment line. adolescens. NOTE: link:userguide.html#X26[Comment blocks] are never displayed. == What is the preferred file name extension for AsciiDoc files? The `.txt` http://en.wikipedia.org/wiki/Text_file[text file] extension is preferred, but it's just a convention and it's not enforced by the software. AsciiDoc source files are human readable http://en.wikipedia.org/wiki/Plain_text[plain text] files which is what the `.txt` extension is for. All text editors recognize and open files with a `.txt` extension. The `.txt` extension is universally recognized and unambiguous -- you are not left asking questions like ``What on earth is this file with the funny extension?'', ``How do I open it?'' and ``Is it safe to open?''. == How can I generate numbered bibliographic entries? If your outputs are DocBook generated then adding the following inline macro to a custom configuration file will result in auto-incrementing bibliography entry numbers (instead of displaying the bibliographic identifiers): [anchor3-inlinemacro] [{counter:bibliography2}] This FAQ submitted by Bela Hausmann. == How can I include lines of dashes inside a listing block? A line of four or more dashes will be mistaken for the ListingBlock terminator, one way round this problem is to use a LiteralBlock styled as a listing block. For example: [listing] ........................... Lorum ipsum ----------- ........................... == How can I customize PDF files generated by dblatex? There are a number of dblatex XSL parameters that can be used to customize PDF output. You can set them globally in the AsciiDoc `./dblatex/asciidoc-dblatex.xsl` configuration file or you can also pass them on the a2x(1) command-line. Here are some examples: The http://dblatex.sourceforge.net/doc/manual/latex.output.revhistory.html[latex.output.revhistory] parameter is used to suppress the revision history: a2x -f pdf --dblatex-opts "-P latex.output.revhistory=0" doc/article.txt The http://dblatex.sourceforge.net/doc/manual/doc.layout.html[doc.layout] parameter is used to include the cover page and document body (i.e. excludes table of contents and index), the http://dblatex.sourceforge.net/doc/manual/doc.publisher.show.html[doc.publisher.show] parameter is used to exclude the cover page logo: a2x -f pdf --dblatex-opts " -P doc.layout=\"coverpage mainmatter\" -P doc.publisher.show=0" doc/article.txt See also the http://dblatex.sourceforge.net/doc/manual/sec-params.html[dblatex XSL parameter reference]. == How can I add lists of figures and tables to PDFs created by dblatex? Set the http://dblatex.sourceforge.net/doc/sec-custom.html[doc.lot.show XSL parameter] -- you can set it using the dblatex `--param` command-line option, for example: a2x --dblatex-opts="--param=doc.lot.show=figure,table" doc/article.txt == How can I stop the document title being displayed? You could simply omit the document title, but this will result in a blank 'title' element in HTML outputs. If you want the HTML 'title' element to contain the document title then define the 'notitle' attribute (this will just suppress displaying the title), for example: My document title ================= :no title: == Why am I having trouble getting nested macros to work? The following example expands the 'image' inline macro, but the expansion contains double-quote characters which confuses the ensuing 'footnoteref' macro expansion: footnoteref:["F1","A footnote, with an image image:smallnew.png[]"] The solution is to use unquoted attribute values, replacing embedded commas with the comma character entity (`,`): footnoteref:[F1,A footnote, with an image image:smallnew.png[]] Similarly, you can embed double-quote characters in unquoted attribute values using the `"` character entity. == Why am I getting DocBook validation errors? Not all valid AsciiDoc source generates valid DocBook, for example 'special sections' (abstract, preface, colophon, dedication, bibliography, glossary, appendix, index, synopsis) have different DocBook schema's to normal document sections. For example, a paragraph is illegal in a bibliography. Don't forget if your document is a book you need to specify the asciidoc `-d book` command option, if you don't an article DocBook document will be generated, possibly containing book specific sections, resulting in validation errors. == How can I disable special section titles? For example, you want to use 'References' as a normal section name but AsciiDoc is auto-magically generating a DocBook 'bibliography' section. All you need to do is explicitly specify the section template name, for example: [sect1] References ---------- == How can I insert XML processing instructions into output documents? Use an inline or block passthrough macros. This example inserts `` into the DocBook output generated by AsciiDoc: pass::[] NOTE: XML processing instructions are specific to the application that processes the XML (the previous `dblatex` processing instruction is recognized by `dblatex(1)` when it processes the DocBook XML generated by Asciidoc). [[X4]] == How do I prevent double-quoted text being mistaken for an inline literal? Mixing doubled-quoted text with inline literal passthroughs can produce undesired results, for example, all of the following line is interpreted as an inline literal passthrough: ``XXX'' `YYY` In this case the solution is to use monospace quoting instead of the inline literal: ``XXX'' +YYY+ Use the +\pass:[]+ macro if it's necessary to suppress substitutions in the monospaced text, for example: ``XXX'' +pass:[don't `quote` me]+ == How can I generate a single HTML document file containing images and CSS styles? With the advent of Internet Explorer 8 all major web browsers now support the http://en.wikipedia.org/wiki/Data:_URI_scheme[data URI scheme] for embedded images. The AsciiDoc 'xhtml11' and 'html5' backends supports the data URI scheme for embedded images and by default it embeds the CSS stylesheet. For example the following command will generate a single `article.html` file containing embedded images, admonition icons and the CSS stylesheet: asciidoc -a data-uri -a icons article.txt == Are there any tools to help me understand what's going on inside AsciiDoc? AsciiDoc has a built-in trace mechanism which is controlled by the 'trace' attribute; there is also the `--verbose` command-line option. These features are detailed in http://asciidoc.org/userguide.html#X82[Appendix G of the User Guide]. == One-liner ifdef::[]'s are disproportionately verbose can they shortened? This is the response to a question posted on the AsciiDoc discussion list, it illustrates a number of useful techniques. The question arose because the source highlight filter language identifier for the C++ language is `c++` when generating PDFs via dblatex (LaTeX listings package) or `cpp` when generating HTML (GNU source-highlight). Using straight `ifdef::[]` block macros we have: [listing] ......................................... \ifdef::basebackend-docbook[] [source,c++] \endif::basebackend-docbook[] \ifdef::basebackend-html[] [source,cpp] \endif::basebackend-html[] ----------------------------------------- class FooParser { public: virtual void startDocument() = 0; virtual void endDocument() = 0; }; ----------------------------------------- ......................................... This can be shortened using the short form of the `ifdef::[]` macro: [listing] ......................................... \ifdef::basebackend-docbook[[source,c++]] \ifdef::basebackend-html[[source,cpp]] ----------------------------------------- class FooParser { public: virtual void startDocument() = 0; virtual void endDocument() = 0; }; ----------------------------------------- ......................................... Using a conditional attribute instead of the `ifdef::[]` macro is even shorter: [listing] ......................................... [source,{basebackend@docbook:c++:cpp}] ----------------------------------------- class FooParser { public: virtual void startDocument() = 0; virtual void endDocument() = 0; }; ----------------------------------------- ......................................... If you have a number of listings it makes sense to factor the conditional attribute to a normal attribute: [listing] ......................................... :cpp: {basebackend@docbook:c++:cpp} [source,{cpp}] ----------------------------------------- class FooParser { public: virtual void startDocument() = 0; virtual void endDocument() = 0; }; ----------------------------------------- ......................................... Even shorter, set the default source highlight filter `language` attribute so you don't have to specify it every time: [listing] ......................................... :language: {basebackend@docbook:c++:cpp} [source] ----------------------------------------- class FooParser { public: virtual void startDocument() = 0; virtual void endDocument() = 0; }; ----------------------------------------- ......................................... == Some of my inline passthroughs are not passed through, why? Most likely the passthrough encloses another passthrough with a higher precedence. For example trying to render this +\pass:[]+ with this +\`\pass:[]`+ results in a blank string because the +\pass:[]+ passthrough evaluates first, instead use monospaced quoting and escape the passthrough i.e. ++ \+\\pass:[]+ ++ == How can I place an anchor (link target) on a list item? You can't use a 'BlockId' block element inside a list but you can use the syntactically identical 'anchor' inline macro. For example: --------------------- one:: Item one. [[X2]]two:: Item two. three:: Item three. --------------------- This *will not* work: --------------------- one:: Item one. [[X2]] two:: Item two. three:: Item three. --------------------- == How can I stop lists from nesting? If you place two lists with different syntax hard up against each other then the second list will be nested in the first. If you don't want the second list to be nested separate them with a comment line block macro. For example: ------------------- 1. List 1. 2. List 1. // a. List 2. b. List 2. ------------------- == Is it possible to include charts in AsciiDoc documents? There are a number of programs available that generate presentation charts from textual specification, for example http://home.gna.org/pychart/[Pychart] is a library for writing chart scripts in Python. Here's an example from the 'Pychart' documentation: .barchart.py --------------------------------------------------------------------- # # Example bar chart (from Pychart documentation http://home.gna.org/pychart/). # from pychart import * theme.get_options() data = [(10, 20, 30, 5), (20, 65, 33, 5), (30, 55, 30, 5), (40, 45, 51, 7), (50, 25, 27, 3), (60, 75, 30, 5), (70, 80, 42, 5), (80, 62, 32, 5), (90, 42, 39, 5), (100, 32, 39, 4)] # The attribute y_coord=... tells that the Y axis values # should be taken from samples. # In this example, Y values will be [40,50,60,70,80]. ar = area.T(y_coord = category_coord.T(data[3:8], 0), x_grid_style=line_style.gray50_dash1, x_grid_interval=20, x_range = (0,100), x_axis=axis.X(label="X label"), y_axis=axis.Y(label="Y label"), bg_style = fill_style.gray90, border_line_style = line_style.default, legend = legend.T(loc=(80,10))) # Below call sets the default attributes for all bar plots. chart_object.set_defaults(bar_plot.T, direction="horizontal", data=data) # Attribute cluster=(0,3) tells that you are going to draw three bar # plots side by side. The plot labeled "foo" will the leftmost (i.e., # 0th out of 3). Attribute hcol tells the column from which to # retrive sample values from. It defaults to one. ar.add_plot(bar_plot.T(label="foo", cluster=(0,3))) ar.add_plot(bar_plot.T(label="bar", hcol=2, cluster=(1,3))) ar.add_plot(bar_plot.T(label="baz", hcol=3, cluster=(2,3))) ar.draw() --------------------------------------------------------------------- To execute the script and include the generated chart image in your document add the following lines to the AsciiDoc source: --------------------------------------------------------------------- // Generate chart image file. \sys2::[python "{indir}/barchart.py" --format=png --output="{outdir}/barchart.png" --scale=2] // Display chart image file. image::barchart.png[] --------------------------------------------------------------------- [NOTE] ===================================================================== - The `barchart.py` script is located in the same directory as the AsciiDoc source file (`{indir}`). - The generated chart image file (`barchart.png`) is written to the same directory as the output file (`{outdir}`). ===================================================================== == How can I render indented paragraphs? Styling is backend dependent: [float] ==== Create an indented paragraph style (xhtml11 and html5 backends) . Define an 'indented' paragraph style, for example, by putting this in a custom configuration file: + --------------------------------------------------------------------- [paradef-default] indented-style=template="indentedparagraph" [indentedparagraph]
{title?
{title}
}

|

--------------------------------------------------------------------- . Now apply the 'indented' style to normal paragraphs, for example: + --------------------------------------------------------------------- [indented] Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas ultrices justo porttitor augue. Vestibulum pretium. Donec porta vestibulum mi. Aliquam pede. Aenean lobortis lorem et lacus. Sed lacinia. Vivamus at lectus. --------------------------------------------------------------------- [float] ==== Use the role attribute (xhtml11 and html5 backends) . Add the following line to custom stylesheet: + --------------------------------------------------------------------- div.paragraph.indented p {text-indent: 3em;} --------------------------------------------------------------------- . Apply the 'role' attribute to indented paragraphs, for example: + --------------------------------------------------------------------- [role="indented"] Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas ultrices justo porttitor augue. Vestibulum pretium. Donec porta vestibulum mi. Aliquam pede. Aenean lobortis lorem et lacus. Sed lacinia. Vivamus at lectus. --------------------------------------------------------------------- . Include the custom stylesheet by setting the 'stylesheet' attribute (either from the command-line or with an attribute entry in the document header). [float] ==== Use the role attribute (docbook backend) . Add the following line to the distributed `docbook-xsl.css` stylesheet or include it in a custom stylesheet: + --------------------------------------------------------------------- p.indented {text-indent: 3em;} --------------------------------------------------------------------- . Apply the 'role' attribute to indented paragraphs, for example: + --------------------------------------------------------------------- [role="indented"] Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas ultrices justo porttitor augue. Vestibulum pretium. Donec porta vestibulum mi. Aliquam pede. Aenean lobortis lorem et lacus. Sed lacinia. Vivamus at lectus. --------------------------------------------------------------------- . If you have included the custom CSS in a separate stylesheet you will need to specify the stylesheet file name (along with the default `docbook-xsl.css` stylesheet file name) with the `html.stylesheet` XSL parameter. If you are using 'a2x(1)' use the `--stylesheet` option (it sets the `html.stylesheet` XSL parameter), for example: `--stylesheet "docbook-xsl.css mycss.css"`. NOTE: This applies to HTML outputs not PDF. To achieve the same results with PDF outputs you will need to customize the DocBook XSL Stylesheets to render indented paragraphs from DocBook `simpara` elements containing the the `role="indented"` attribute. == Is there a way to set default table grid and frame attributes? You can set the 'grid' and 'frame' attributes globally in your document header with Attribute Entries or from the command-line using the `--attribute` option. In the following example tables that don't explicitly set the 'grid' and 'frame' values will default to 'all' and 'topbot' respectively: --------------------------------------------------------------------- :grid: all :frame: topbot --------------------------------------------------------------------- TIP: This technique can be applied to any block element attribute (just beware of possible ambiguity, for example, table and image blocks both have a 'width' attribute). == How can I place a backslash character in front of an attribute reference without escaping the reference? Use the predefined `{backslash}` attribute reference instead of an actual backslash, for example if the `{projectname}` attribute has the value `foobar` then: d:\data{backslash}{projectname} would be rendered as: d:\data\foobar == How can I escape AsciiDoc markup? Most AsciiDoc inline elements can be suppressed by preceding them with a backslash character. These elements include: - Attribute references. - Text formatting. - Quoting, - Macros. - Replacements. - Special words. - Table cell separators. But there are exceptions -- see the next question. == Some elements can't be escaped with a single backslash There are a number of exceptions to the usual single backslash rule -- mostly relating to URL macros that have two syntaxes or quoting ambiguity. Here are some non-standard escape examples: [cols="l,v",width="40%",frame="topbot",options="header"] |======================================== |AsciiDoc | Renders 2*| \joe.bloggs@example.com <\joe.bloggs@example.com> \mailto:[\joe.bloggs@example.com] 2*| \http://www.example.com \\http://www.example.com[] \\http://www.example.com[Foobar Limited] 2*| A C\++ Library for C++ \\``double-quotes'' \*\*F**ile Open\... |======================================== The source of this problem is ambiguity across substitution types -- the first match unescapes allowing the second to substitute. A work-around for difficult cases is to side-step the problem using the +\pass:[]+ passthrough inline macro. NOTE: Escaping is unnecessary inside 'inline literal passthroughs' (backtick quoted text). == How can I escape a list? Here's how to handle situations where the first line of a paragraph is mistaken for a list item. [float] ==== Numbered and bulleted lists Precede the bullet or index of the first list item with an `{empty}` attribute, for example: {empty}- Qui in magna commodo est labitur dolorum an. Est ne magna primis adolescens. The predefined `{empty}` attribute is replaced by an empty string and ensures the first line is not mistaken for a bulleted list item. [float] ==== Labeled lists Two colons or semicolons in a paragraph may be confused with a labeled list entry. Use the predefined `{two-colons}` and `{two-semicolons}` attributes to suppress this behavior, for example: Qui in magna commodo{two-colons} est labitur dolorum an. Est ne magna primis adolescens. Will be rendered as: Qui in magna commodo{two-colons} est labitur dolorum an. Est ne magna primis adolescens. == How can I set default list and tables styles? You can set the element's 'style' entry in a global or custom configuration file. This example this will horizontally style all labeled lists that don't have an explicit style attribute: ---------------------------------- [listdef-labeled] style=horizontal [listdef-labeled2] style=horizontal ---------------------------------- This example will put a top and bottom border on all tables that don't already have an explicit style attribute: ---------------------------------- [tabledef-default] style=topbot topbot-style=frame="topbot" ---------------------------------- Alternatively you can set the configuration entries from inside your document, the above examples are equivalent to: ---------------------------------- :listdef-labeled.style: horizontal :listdef-labeled2.style: horizontal :tabledef-default.topbot-style: frame="topbot" :tabledef-default.style: topbot ---------------------------------- == Why do I get a filter non-zero exit code error? An error was returned when AsciiDoc tried to execute an external filter command. The most common reason for this is that the filter command could not be found by the command shell. To figure out what the problem is run AsciiDoc with the `--verbose` option to determine the command that is failing and then try to run the command manually from the command-line. == Are there any DocBook viewers? http://live.gnome.org/Yelp[Yelp], the GNOME help viewer, does a creditable job of displaying DocBook XML files directly. == Can you create ODF and PDF files using LibreOffice? https://www.libreoffice.org/[LibreOffice] can convert HTML produced by AsciiDoc to ODF text format and PDF format (I used LibreOffice 3.5 at the time of writing, the fidelity is very good but it's not perfect): . Create the HTML file using AsciiDoc, for example: asciidoc -a icons -a numbered -a disable-javascript article.txt + JavaScript is disabled because LibreOffice does not execute JavaScript, this means that AsciiDoc table of contents and footnotes will not be rendered into ODF (if you want the table of contents and footnotes you could manually cut and paste them from a Web browser). . Convert the HTML file to an ODF text file using LibreOffice: lowriter --invisible --convert-to odt article.html + -- The images imported from an HTML file will be linked, if your document contains images you should convert them to embedded images: [lowerroman] . Open the document in LibreOffice Writer. . Run the 'Edit->Links...' menu command. . Select all links and press the 'Break Link' button. Some images may also have been resized. To restore an image to its original size: [lowerroman] . Right-click on the image and select the 'Picture...' menu item. . Click on the 'Crop' tab. . Press the 'Original Size' button. -- . Convert the ODF file to an PDF text file using LibreOffice: lowriter --invisible --convert-to pdf article.odt + A PDF index is automatically created using the section headings. Alternatively you could manually copy-and-paste the entire document from a Web browser into a blank ODF document in LibreOffice -- this technique will bring through the table of contents and footnotes. This tip was originally contributed by Bernard Amade. == How can I suppress cell separators in included table data files? Use the `{include:}` system attribute instead of the `include::[]` macro (the former is not expanded until after the table data has been parsed into cells, whereas the latter is included before the table is processed. == How can I preserve paragraph line boundaries? Apply the The 'verse' paragraph style, the rendered text preserves line boundaries and is useful for lyrics and poems. For example: --------------------------------------------------------------------- [verse] Consul *necessitatibus* per id, consetetur, eu pro everti postulant homero verear ea mea, qui. --------------------------------------------------------------------- Alternatively, if you are generating PDF files, you can use line breaks. For example: --------------------------------------------------------------------- Consul *necessitatibus* per id, + consetetur, eu pro everti postulant + homero verear ea mea, qui. --------------------------------------------------------------------- == How can I include non-breaking space characters? Use the non-breaking space character entity reference ` ` (see the next question). You could also use the predefined `{nbsp}` attribute reference. == Can I include HTML and XML character entity references in my document? Yes, just enter the reference in your document. For example `β` will print a Greek small beta character β [[X1]] == How do I include spaces in URLs? URL inline macro targets (addresses) cannot contain white space characters. If you need spaces encode them as `%20`. For example: image:large%20image.png[] http://www.foo.bar.com/an%20example%20document.html == How can I get AsciiDoc to assign the correct DocBook language attribute? Set the AsciiDoc 'lang' attribute to the appropriate language code. For example: a2x -a lang=es doc/article.txt This will ensure that downstream DocBook processing will generate the correct language specific document headings (things like table of contents, revision history, figure and table captions, admonition captions). == How can I turn off table and image title numbering? For HTML outputs set the 'caption' attribute to an empty string, either globally: ------------------------- :caption: ------------------------- or on an element by element basis, for example: ------------------------- .Tiger [caption=""] image::images/tiger.png[] ------------------------- == How can I assign multiple author names? A quick way to do this is put both authors in a single first name, for example: --------------------------------------- My Document =========== :Author: Bill_and_Ben_the_Flowerpot_Men :Author Initials: BB & BC --------------------------------------- asciidoc(1) replaces the underscores with spaces. If you are generating DocBook then a more flexible approach is to create a 'docinfo' file containing a DocBook 'authorgroup' element (search the 'User Guide' for 'docinfo' for more details). == How can I selectively disable a quoted text substitution? Omitting the tag name will disable quoting. For example, if you don't want superscripts or subscripts then put the following in a custom configuration file or edit the global `asciidoc.conf` configuration file: ------------------- [quotes] ^= ~= ------------------- Alternatively you can set the configuration entries from within your document, the above examples are equivalent to: ------------------- :quotes.^: :quotes.~: ------------------- == How can I customize the \{localdate} format? The default format for the `{localdate}` attribute is the ISO 8601 `yyyy-mm-dd` format. You can change this format by explicitly setting the `{localdate}` attribute. For example by setting it using the asciidoc(1) `-a` command-line option: asciidoc -a localdate=`date +%d-%m-%Y` mydoc.txt You could also set it by adding an Attribute Entry to your source document, for example: :localdate: {sys: date +%Y-%m-%d} == Where can I find examples of commands used to build output documents? The User Guide has some. You could also look at `./doc/main.aap` and `./examples/website/main.aap` in the AsciiDoc distribution, they have all the commands used to build the AsciiDoc documentation and the AsciiDoc website (even if you don't use A-A-P you'll still find it useful). == Why have you used the DocBook element instead of ? `` is really the same as `` except it can't contain block elements -- this matches, more closely, the AsciiDoc paragraph semantics. == How can I format text inside a listing block? By default only 'specialcharacters' and 'callouts' are substituted in listing blocks; you can add quotes substitutions by explicitly setting the block 'subs' attribute, for example: [listing] .......................................... [subs="quotes"] ------------------------------------------ $ ls *-al* ------------------------------------------ .......................................... The `-al` will rendered bold. Note that: - You would need to explicitly escape text you didn't want quoted. - Don't do this in source code listing blocks because it modifies the source code which confuses the syntax highlighter. - This only works if your DocBook processor recognizes DocBook `` elements inside `` elements. Alternative, if the lines are contiguous, you could use the 'literal' paragraph style: ------------------------------------------ ["literal",subs="quotes"] $ ls *-al* ------------------------------------------ == Why doesn't the include1::[] macro work? Internally the `include1` macro is translated to the `include1` system attribute which means it must be evaluated in a region where attribute substitution is enabled. `include1` won't work, for example, in a ListingBlock (unless attribute substitution is enabled). `include1` is intended for use in configuration files, use the `include` macro and set the attribute `depth=1` instead, for example: [listing] ................................................ ------------------------------------------------ \include::blogpost_media_processing.txt[depth=1] ------------------------------------------------ ................................................ == How can I make the mailto macro work with multiple email addresses? For the AsciiDoc 'mailto' macro to work with multiple email addresses (as per RFC2368) you need to URL encode the '@' characters (replace them with '%40'), if you don't the individual addresses will be rendered as separate links. You also need to <>. For example, the following call won't work: mailto:jb@example.com,jd@example.com?subject=New foofoo release[New foofoo release] Use this instead: mailto:jb%40example.com,jd%40example.com?subject=New%20foofoo%20release[New foofoo release] == How can a replacement have a trailing backslash? Quote the entry name -- this nonsensical example replaces `x\` with `y`: "x\\"=y If quoting were omitted the equals character (separating the entry name `x` from the value `y`) would be escaped. == How can I control page breaks when printing HTML outputs? Here are some techniques you can use to control page breaks in HTML outputs produced by the 'xhtml11' and 'html5' backends: - You can generate a page break with the '<<<' block macro. The following example prints the 'Rats and Mice' section on a new page: + ---------------- <<< == Rats and Mice Lorum ipsum ... ---------------- - You can use the 'unbreakable' option to instruct the browser not to break a block element. The following image and it's caption will be kept together the printed page: + ------------------------------------ [options="unbreakable"] .Tiger block image image::images/tiger.png[Tiger image] ------------------------------------ - You can apply the 'unbreakable' option globally to all block elements by defining the 'unbreakable-option' attribute in your document header. - Finally, the most powerful technique is to create custom CSS containing paged media properties. For example this asciidoc(1) command: + -- asciidoc --attribute stylesheet=article.css article.txt Will include the following `article.css` file in the output document: ------------------------------------------------- div#toc, div.sect1 { page-break-before: always; } ------------------------------------------------- Which will ensure the table of contents and all top level sections start on a new printed page. -- == Is it possible to reposition the Table of Contents in HTML outputs? By default the 'xhtml11' and 'html5' backends auto-position the TOC after the header. You can manually position the TOC by setting the 'toc-placement' attribute value to 'manual' and then inserting the `toc::[]` block macro where you want the TOC to appear. For example, put this in the document header: ---------------------- :toc: :toc-placement: manual ---------------------- The put this where you want the TOC to appear: ------- toc::[] ------- == HTML generated by AsciiDoc fills the width of the browser, how can I limit it to a more readable book width? You can set the maximum with for outputs generated by 'html5', 'xhtml11' and 'slidy' backends by assigning the link:userguide.html#X103[max-width] attribute (either from the command-line or with an attribute entry in the document header). For example: asciidoc -a max-width=55em article.txt == Using roles to select fonts for PDF Some applications require mixing fonts beyond the set of faces normally provided by default (normal, monospace, italic etc.) for example mixed language text where the font used for the majority of text does not contain suitable glyphs in the minority language. As AsciiDoc can not provide presentation markup since it is not provided by Docbook this is achieved by marking text which should use a different font with a custom role which can be rendered by the the docbook toolchain. NOTE: For XHTML outputs AsciiDoc translates the role attribute to a class which can be selected and styled by CSS as described in the AsciiDoc users guide. The Docbook toolchains will have to be configured to render the text that you mark with the custom role. For FOP a small XSL wrapper is needed, say a file called `my_fo.xsl` containing: --------------------------------------------------------------- --------------------------------------------------------------- This is used with `a2x` by: a2x -f pdf --fop --xsl-file=my_fo.xsl input.txt and the AsciiDoc source marked by: normal text [f2]#special font is like this# and back to normal Thanks to Antonio Borneo for this answer. == How can I place a footnote immediately following quoted text? A closing quote is not recognised if it is immediately followed by a letter (the 'f' in 'footnote' in the following example): ``Double-quoted text''footnote:[Lorum ipsum...] A workaround is to put a word-joiner between the trailing quote and the footnote (the `{empty}` attribute would also work), for example: ``Double-quoted text''{wj}footnote:[Lorum ipsum...] == How can I convert documents from other formats to AsciiDoc? You can use http://johnmacfarlane.net/pandoc/[Pandoc] to convert documents in http://daringfireball.net/projects/markdown/[markdown], http://docutils.sourceforge.net/docs/ref/rst/introduction.html[reStructuredText], http://redcloth.org/textile[textile], http://www.w3.org/TR/html40/[HTML], http://www.docbook.org/[DocBook], or http://www.latex-project.org/[LaTeX] to AsciiDoc. == How can I insert raw HTML in a document processed by a2x? `a2x` generates HTML via DocBook (DocBook XSL Stylesheets) so if you use a passthrough block it must contain DocBook (not HTML). Fortunately DocBook XSL Stylesheets has a http://www.sagehill.net/docbookxsl/InsertExtHtml.html[dbhtml-include processing instruction] which will inlcude a file containing raw HTML into the generated HTML output. For example: --------------------------------------------------------------- ++++ ++++ --------------------------------------------------------------- == Why is there a period after the block title in the PDF output? If your document has blocks that have block titles, you may notice in the PDF output (generated by `a2x(1)` using the `--fop` flag) that a period gets added to the end of the block title. You will not see the period in the intermediary DocBook XML that’s generated when creating a PDF -- it’s added by the DocBook XSL templates when the DocBook XML is converted to FO XML. The DocBook XSL attribute that controls what character is added after a block title is http://docbook.sourceforge.net/release/xsl/1.78.1/doc/html/runinhead.default.title.end.punct.html[ runinhead.default.title.end.punct]. You can override it and eliminate the default period value by adding the following line to the `./docbook-xsl/common.xsl` file that ships with AsciiDoc: This FAQ was https://groups.google.com/group/asciidoc/browse_thread/thread/19dda8807fa7c3f2[contributed by Dan Allen]. asciidoc-py3-9.0.0rc1/doc/latexmath.txt0000644000175000017500000000724013570064211017256 0ustar josephjosephEmbedding LaTeX Math in AsciiDoc dblatex documents ================================================== You can include LaTeX math equations in AsciiDoc documents that are processed by http://dblatex.sourceforge.net/[dblatex]. The AsciiDoc 'latexmath' macros and passthrough blocks generate DocBook 'inlineequation', 'informalequation' and 'equation' elements containing the LaTeX markup which is processed by 'dblatex'. Inline equations ---------------- This markup: --------------------------------------------------------------------- An inline equation latexmath:[$C = \alpha + \beta Y^{\gamma} + \epsilon$] using the 'latexmath' inline macro. --------------------------------------------------------------------- Renders: An inline equation latexmath:[$C = \alpha + \beta Y^{\gamma} + \epsilon$] using the 'latexmath' inline macro. Informal equations ------------------ Informal (untitled) equations are generated with a 'latexmath' style passthrough delimited block. This markup: --------------------------------------------------------------------- [latexmath] ++++++++++++++++++++++++++++++++++++++++++++ \[C = \alpha + \beta Y^{\gamma} + \epsilon\] ++++++++++++++++++++++++++++++++++++++++++++ --------------------------------------------------------------------- Renders: [latexmath] ++++++++++++++++++++++++++++++++++++++++++++ \[C = \alpha + \beta Y^{\gamma} + \epsilon\] ++++++++++++++++++++++++++++++++++++++++++++ Functionally identical block macro syntax: --------------------------------------------------------------------- latexmath::[\[C = \alpha + \beta Y^{\gamma} + \epsilon\]] --------------------------------------------------------------------- Renders: latexmath::[\[C = \alpha + \beta Y^{\gamma} + \epsilon\]] Formal equations ---------------- Formal equations are titled and are generated with a 'latexmath' style passthrough delimited block. This markup: --------------------------------------------------------------------- .First equation [latexmath] ++++++++++++++++++++++++++++++++++++++++++++ \[C = \alpha + \beta Y^{\gamma} + \epsilon\] ++++++++++++++++++++++++++++++++++++++++++++ --------------------------------------------------------------------- Renders: .First equation [latexmath] ++++++++++++++++++++++++++++++++++++++++++++ \[C = \alpha + \beta Y^{\gamma} + \epsilon\] ++++++++++++++++++++++++++++++++++++++++++++ This markup: --------------------------------------------------------------------- .Matrix [latexmath] ++++++++++++++++++++++++++++++++++++++++++++ \[ P^{e \rightarrow c}= \left[ \begin{array}{*{3}{r@{}l}} & \cos \theta & & \sin \theta \sin \varphi & & \sin \theta \cos \varphi\\ & \sin \theta \sin \psi & & \cos \varphi \cos \psi - \cos \theta \sin \varphi \sin \psi & - & \sin \varphi \cos \psi - \cos \theta \cos \varphi \sin \psi\\ - & \sin \theta \cos \psi & & \cos \varphi \sin \psi + \cos \theta \sin \varphi \cos \psi & - & \sin \varphi \sin \psi + \cos \theta \cos \varphi \cos \psi\\ \end{array} \right] \] ++++++++++++++++++++++++++++++++++++++++++++ --------------------------------------------------------------------- Renders: .Matrix [latexmath] ++++++++++++++++++++++++++++++++++++++++++++ \[ P^{e \rightarrow c}= \left[ \begin{array}{*{3}{r@{}l}} & \cos \theta & & \sin \theta \sin \varphi & & \sin \theta \cos \varphi\\ & \sin \theta \sin \psi & & \cos \varphi \cos \psi - \cos \theta \sin \varphi \sin \psi & - & \sin \varphi \cos \psi - \cos \theta \cos \varphi \sin \psi\\ - & \sin \theta \cos \psi & & \cos \varphi \sin \psi + \cos \theta \sin \varphi \cos \psi & - & \sin \varphi \sin \psi + \cos \theta \cos \varphi \cos \psi\\ \end{array} \right] \] ++++++++++++++++++++++++++++++++++++++++++++ asciidoc-py3-9.0.0rc1/doc/music-filter.txt0000644000175000017500000001201113570064211017662 0ustar josephjosephMusic Filter ============ The AsciiDoc distribution includes a Music Block filter that translates music in http://lilypond.org/[LilyPond] or http://abcnotation.org.uk/[ABC] notation to standard classical notation in the form of a trimmed PNG image which is automatically inserted into the AsciiDoc output document (see the examples below). Actually the filter (`./filters/music/music2png.py`) can be used outside AsciiDoc to convert LilyPond or ABC music files to PNG images. Execute the following command to see how to use it: $ ./filters/music/music2png.py --help .Music Block containing ABC notation ===================================================================== This Music Block: [listing] ..................................................................... ["music","music1.png",scaledwidth="100%"] --------------------------------------------------------------------- T:The Butterfly R:slip jig C:Tommy Potts H:Fiddle player Tommy Potts made this tune from two older slip jigs, H:one of which is called "Skin the Peelers" in Roche's collection. H:This version by Peter Cooper. D:Bothy Band: 1975. M:9/8 K:Em vB2(E G2)(E F3)|B2(E G2)(E F)ED|vB2(E G2)(E F3)|(B2d) d2(uB A)FD:| |:(vB2c) (e2f) g3|(uB2d) (g2e) (dBA)|(B2c) (e2f) g2(ua|b2a) (g2e) (dBA):| |:~B3 (B2A) G2A|~B3 BA(uB d)BA|~B3 (B2A) G2(A|B2d) (g2e) (dBA):| --------------------------------------------------------------------- ..................................................................... Renders: ["music","music1.png",scaledwidth="100%"] --------------------------------------------------------------------- T:The Butterfly R:slip jig C:Tommy Potts H:Fiddle player Tommy Potts made this tune from two older slip jigs, H:one of which is called "Skin the Peelers" in Roche's collection. H:This version by Peter Cooper. D:Bothy Band: 1975. M:9/8 K:Em vB2(E G2)(E F3)|B2(E G2)(E F)ED|vB2(E G2)(E F3)|(B2d) d2(uB A)FD:| |:(vB2c) (e2f) g3|(uB2d) (g2e) (dBA)|(B2c) (e2f) g2(ua|b2a) (g2e) (dBA):| |:~B3 (B2A) G2A|~B3 BA(uB d)BA|~B3 (B2A) G2(A|B2d) (g2e) (dBA):| --------------------------------------------------------------------- ===================================================================== .Music Block containing LilyPond notation ===================================================================== This example contains LilyPond musical markup. [listing] ..................................................................... [music] --------------------------------------------------------------------- \version "2.14.2" \paper { ragged-right = ##t } { \time 3/4 \clef bass c2 e4 g2. f4 e d c2 r4 } --------------------------------------------------------------------- ..................................................................... Renders: [music] --------------------------------------------------------------------- \version "2.14.2" \paper { ragged-right = ##t } { \time 3/4 \clef bass c2 e4 g2. f4 e d c2 r4 } --------------------------------------------------------------------- ===================================================================== NOTE: If you get an error processing the above example it may be that it is not compatible with your version of LilyPond. Use the LilyPond `convert-ly(1)` utility to update the source to the version that you are using. Using the Filter ---------------- - The Music filter is invoked by setting the Listing block or Paragraph style (the first positional block attribute) to 'music'. - The second positional attribute (named 'target' is optional, it sets the name of the generated PNG image file. If this is not supplied a file name like `{docname}__{target-number}.png` is synthesised (where `{docname}` is the document file name and `{target-number}` is an integer number. - The third positional attribute ('format') specifies the music input format: either 'abc' for ABC or 'ly' for LilyPond. If the format is omitted ABC notation is assumed unless the text starts with a backslash character, in which case the format is set to 'ly'. Because the LaTeX images are rendered using the image block templates you can also use the optional named image block attributes (see link:userguide.html#X55[Image macro attributes] in the AsciiDoc User Guide). Limitations ----------- - The `asciidoc(1)` input and output files cannot both be `-` (stdin and stdout), either the input or output files (or both) must be a named file. Installation ------------ In addition to AsciiDoc you will need to have installed: - http://lilypond.org/web/[LilyPond] (most Linux distributions include this package). - http://www.imagemagick.org[ImageMagick] (most Linux distributions include this package). Test the music filter it by converting the test file to HTML with AsciiDoc: $ asciidoc -v ./filters/music/music-filter-test.txt $ firefox ./filters/music/music-filter-test.html & The filter was developed and tested on Xubuntu Linux using LilyPond 2.10.5 and ImageMagick 6.2.4. NOTE: The filter does not work with LilyPond 2.2.6 because it did not generate the requested output file name correctly (2.6.3 does not have a problem). asciidoc-py3-9.0.0rc1/doc/customers.csv0000644000175000017500000000146313570064211017270 0ustar josephjoseph"AROUT","Around the Horn","Thomas Hardy","120 Hanover Sq. London","(171) 555-7788" "BERGS","Berglunds snabbkop","Christina Berglund","Berguvsvagen 8 Lulea","0921-12 34 65" "BLAUS","Blauer See Delikatessen","Hanna Moos","Forsterstr. 57 Mannheim","0621-08460" "BLONP","Blondel pere et fils","Frederique Citeaux","24, place Kleber Strasbourg","88.60.15.31" "BOLID","Bolido Comidas preparadas","Martin Sommer","C/ Araquil, 67 Madrid","(91) 555 22 82" "BONAP","Bon app'","Laurence Lebihan","12, rue des Bouchers Marseille","91.24.45.40" "BOTTM","Bottom-Dollar Markets","Elizabeth Lincoln","23 Tsawassen Blvd. Tsawassen","(604) 555-4729" "BSBEV","B's Beverages","Victoria Ashworth","Fauntleroy Circus London","(171) 555-1212" "CACTU","Cactus Comidas para llevar","Patricio Simpson","Cerrito 333 Buenos Aires","(1) 135-5555" asciidoc-py3-9.0.0rc1/doc/publishing-ebooks-with-asciidoc.txt0000644000175000017500000003266413570064211023450 0ustar josephjosephPublishing eBooks with AsciiDoc =============================== // Web page meta data. :keywords: AsciiDoc, EPUB tools, EPUB, PDF, ebooks :description: How to create EPUB and PDF ebooks using AsciiDoc. ifdef::blogpost[] // Use the same article for both a blog post and on the AsciiDoc // website. :blogpost-title: Publishing eBooks with AsciiDoc :blogpost-status: published :blogpost-doctype: article :blogpost-posttype: post :blogpost-categories: AsciiDoc,eBook,EPUB,DocBook *Published*: 2010-08-23 + *Updated*: 2010-05-08 endif::blogpost[] It's easy to write and publish books in http://en.wikipedia.org/wiki/EPUB[EPUB] and PDF formats using http://asciidoc.org/[AsciiDoc]. ifdef::blogpost[] This article was originally published on the http://asciidoc.org/publishing-ebooks-with-asciidoc.html[AsciiDoc website]. endif::blogpost[] Here are three examples: The first is a <> introducing the AsciiDoc format, the second <> is a rather long multi-part book and the third <> includes a front cover image and customized page styling. ifdef::blogpost[] // Wordpress processing instruction. pass::[] endif::blogpost[] The examples presented below were created on a PC running Xubuntu Linux 10.04 but should be applicable to any UNIX-based operating system. NOTE: A number of 'asciidoc' and 'a2x' features used in this article require newer versions of AsciiDoc -- version 8.6.5 or better is recommended. The version of http://wiki.docbook.org/topic/DocBookXslStylesheets[DocBook XSL Stylesheets] used was 1.76.1. TIP: If you are experiencing 'xsltproc' errors when you run 'a2x' take a look at Francis Shanahan's http://francisshanahan.com/index.php/2011/fixing-epub-problem-docbook-xsl-asciidoc-a2x/[Fixing the ePub problem with Docbook-XSL/A2X/Asciidoc] blog post. [[X1]] Minimal Book ------------ This didactic example contains a title and two chapters. The AsciiDoc source is a plain text file named `minimal-book.txt`: --------------------------------------------------------------------- = The Book Title == The first chapter Nec vitae mus fringilla eu vel pede sed pellentesque. Nascetur fugiat nobis. Eu felis id mauris sollicitudin ut. Sem volutpat feugiat. Ornare convallis urna vitae. Nec mauris sed aliquam nam mauris dolor lorem imperdiet. == The second chapter Ut suspendisse nulla. Auctor felis facilisis. Rutrum vivamus nec lectus porttitor dui dapibus eu ridiculus tempor sodales et. Sit a cras. Id tellus cubilia erat. Quisque nullam et. Blandit dui tempor. Posuere in elit diam egestas sem vivamus vel ac. --------------------------------------------------------------------- To generate the EPUB formatted book file `minimal-book.epub` run AsciiDoc's 'a2x' toolchain wrapper command from the command-line: a2x -fepub -dbook minimal-book.txt The `-f` option specifies the output format, the `-d` option specifies the document type (book, article or manpage). The optional `--epubcheck` option tells 'a2x' to validate the EPUB file using http://code.google.com/p/epubcheck/[epubcheck]. To generate a PDF version (`minimal-book.pdf`) with 'dblatex' run: a2x -fpdf -dbook minimal-book.txt The distributed example PDFs were built using FOP -- if you prefer http://xmlgraphics.apache.org/fop/[FOP] over http://dblatex.sourceforge.net/[dblatex] use: a2x -fpdf -dbook --fop minimal-book.txt You can also generate an HTML formatted book, either using DocBook XSL Stylesheets: a2x -fxhtml -dbook minimal-book.txt or directly using the 'asciidoc' command: asciidoc -dbook minimal-book.txt [NOTE] ====== The http://asciidoc.org/a2x.1.html[a2x toolchain wrapper] uses the following programs (most will be available prepackaged for your Linux distribution): - http://xmlsoft.org/XSLT/[xsltproc] - http://docbook.sourceforge.net/projects/xsl/[DocBook XSL Stylesheets] - http://dblatex.sourceforge.net/[dblatex] (PDF file generator) - http://xmlgraphics.apache.org/fop/[FOP] (alternative PDF file generator) - http://code.google.com/p/epubcheck/[epubcheck] (optional EPUB file validator) ====== [[X2]] The Brothers Karamazov ---------------------- 'The Brothers Karamazov' is an example of a multi-part book. To generate the AsciiDoc source I downloaded the http://www.gutenberg.org[Project Gutenberg] plain text source and edited it manually (this took around 15 minutes). To generate the `brothers-karamazov.epub` EPUB file run this command: a2x brothers-karamazov.txt :examples-url: http://asciidoc.org/examples/books/ [frame="topbot",options="header",caption=""] .Brothers Karamazov source files and eBooks |==================================================================== |EPUB |PDF |AsciiDoc source |Project Gutenburg text |{examples-url}brothers-karamazov.epub[brothers-karamazov.epub] |{examples-url}brothers-karamazov.pdf[brothers-karamazov.pdf] |{examples-url}brothers-karamazov.zip[brothers-karamazov.zip] |http://www.gutenberg.org/etext/28054 |==================================================================== Here's the start of the AsciiDoc source file showing the AsciiDoc specific meta-data: --------------------------------------------------------------------- // // Text from Project Gutenburg http://www.gutenberg.org/etext/28054 // // Formatted for AsciiDoc by Stuart Rackham. // // a2x default options. // a2x: -f epub -d book --epubcheck // Suppress revision history in dblatex outputs. // a2x: --dblatex-opts "-P latex.output.revhistory=0" // Suppress book part, chapter and section numbering in DocBook XSL outputs. // a2x: --xsltproc-opts // a2x: "--stringparam part.autolabel 0 // a2x: --stringparam chapter.autolabel 0 // a2x: --stringparam section.autolabel.max.depth 0" // = The Brothers Karamazov :author: Fyodor Dostoyevsky :encoding: iso-8859-1 :plaintext: .......................................................................... Translated from the Russian of Fyodor Dostoyevsky by Constance Garnett The Lowell Press New York : : ***START OF THE PROJECT GUTENBERG EBOOK THE BROTHERS KARAMAZOV*** .......................................................................... = PART I == The History Of A Family === Fyodor Pavlovitch Karamazov Alexey Fyodorovitch Karamazov was the third son of Fyodor Pavlovitch ... --------------------------------------------------------------------- - The book, book part and chapter titles have been edited to conform to http://asciidoc.org/userguide.html#X17[AsciiDoc title conventions]. - Book part titles must be level zero titles: = Book title (level 0) = Part one title (level 0) == Chapter 1 title (level 1) : - Sub-chapter levels can be accommodated with `===`, `====` and `=====` title prefixes. - In this example the 'Project Gutenberg' front matter was put in the untitled preface inside an AsciiDoc literal block. - The comment lines starting with `// a2x:` contain 'a2x' command options for this document (it's easier to put them in the document once than type them every time on the command-line). - A number of 'xsltproc' options are passed to 'a2x' to suppress book part, chapter and section numbering. - Setting the AsciiDoc 'plaintext' attribute suppresses most of http://asciidoc.org/userguide.html#_text_formatting[AsciiDoc's text formatting] and substitution conventions, this allows large amounts of text to be imported with little or no manual editing. * Once you have defined the AsciiDoc 'plaintext' attribute the only requisite manual editing will be to format the titles and rectify the odd paragraph being interpreted as some other AsciiDoc block element. * In the combined 49 thousand lines of imported 'Sherlock Holmes' and 'Brothers Karamazov' text I only encountered two misinterpreted list items, neither affected the rendered output or necessitated editing. * You can selectively enable and disable the 'plaintext' attribute throughout your document using AsciiDoc http://asciidoc.org/userguide.html#X18[attribute entries]. [[X3]] The Adventures of Sherlock Holmes --------------------------------- This book includes a front cover image and a customized page design. To generate the `adventures-of-sherlock-holmes.epub` EPUB file run this command: a2x adventures-of-sherlock-holmes.txt [frame="topbot",options="header",caption=""] .Sherlock Holmes source files and eBooks |==================================================================== |EPUB |PDF |AsciiDoc source |Project Gutenburg text |{examples-url}adventures-of-sherlock-holmes.epub[adventures-of-sherlock-holmes.epub] |{examples-url}adventures-of-sherlock-holmes.pdf[adventures-of-sherlock-holmes.pdf] |{examples-url}adventures-of-sherlock-holmes.zip[adventures-of-sherlock-holmes.zip] |http://www.gutenberg.org/etext/1661 |==================================================================== Here's a screenshot of the first page of the first chapter (rendered by the http://www.epubread.com/en/[Firefox EPUBReader addon]): image::images/epub.png[] The {examples-url}adventures-of-sherlock-holmes.zip[AsciiDoc source Zip file] contains the following files: `adventures-of-sherlock-holmes.txt`:: The AsciiDoc source (derived from the http://www.gutenberg.org/etext/1661[Project Gutenberg plain text source]). `adventures-of-sherlock-holmes.jpg`:: The front cover image. `adventures-of-sherlock-holmes-docinfo.xml`:: A http://asciidoc.org/userguide.html#X87[docinfo] file containing DocBook markup for the front cover image and the Project Gutenberg frontmatter. DocBook XSL Stylesheets identifies the book cover image by the `role="cover"` attribute in the DocBook `mediaobject` element. `adventures-of-sherlock-holmes.css`:: CSS rules for styling the page layout. The design is based on the http://epubzengarden.com[ePub Zen Garden] 'Gbs' style. Because this file is not named `docbook-xsl.css` the name must be specified explicitly using the 'a2x' `--stylesheet` option. `underline.png`:: A title underline image that is used by the CSS stylesheet. This resource has to be explicitly passed to 'a2x' because 'a2x' only searches HTML files for resources. Here's the start of the AsciiDoc source file showing the AsciiDoc specific meta-data: --------------------------------------------------------------------- // // Text from Project Gutenburg http://www.gutenberg.org/etext/1661 // // Formatted for AsciiDoc by Stuart Rackham. // // a2x default options. // a2x: -f epub -d book -a docinfo --epubcheck // a2x: --stylesheet adventures-of-sherlock-holmes.css // Suppress revision history in dblatex outputs. // a2x: --dblatex-opts "-P latex.output.revhistory=0" // Suppress book part, chapter and section numbering in DocBook XSL outputs. // a2x: --xsltproc-opts // a2x: "--stringparam part.autolabel 0 // a2x: --stringparam chapter.autolabel 0 // a2x: --stringparam section.autolabel.max.depth 0" // Additional resources. // a2x: --resource underline.png // = The Adventures of Sherlock Holmes :author: Sir Arthur Conan Doyle :encoding: iso-8859-1 :plaintext: == A Scandal in Bohemia To Sherlock Holmes she is always THE woman. I have seldom heard ... --------------------------------------------------------------------- The manual editing of imported plain text involves formatting the title and chapter names as http://asciidoc.org/userguide.html#X17[AsciiDoc titles] (in this example we've used the 'single line' title format). Sherlock Holmes only has two title levels: --------------------------------------------------------------------- = The Adventures of Sherlock Holmes == A Scandal in Bohemia == The Red-Headed League == A Case of Identity == The Boscombe Valley Mystery == The Five Orange Pips == The Man with the Twisted Lip == The Adventure of the Blue Carbuncle == The Adventure of the Speckled Band == The Adventure of the Engineer's Thumb == The Adventure of the Noble Bachelor == The Adventure of the Beryl Coronet == The Adventure of the Copper Beeches == Colophon --------------------------------------------------------------------- Styling your books ------------------ You can customize the appearance of a document with CSS. CSS file. Either create your own or copy and edit the existing default `docbook-xsl.css` file (located in the AsciiDoc `stylesheets` configuration directory) then place it in the same directory as your AsciiDoc source file. Use the 'a2x' `--stylesheet` option if you want to use a different stylesheet file. Take a look at the `adventures-of-sherlock-holmes.css` CSS file. There are some great examples of EPUB book styles at http://epubzengarden.com/[ePub Zen Garden]. Including embedded fonts ------------------------ See http://asciidoc.org/faq.html#X5[this FAQ]. Reading EPUB documents ---------------------- My current favorite software epub reader is the http://www.epubread.com/en/[Firefox EPUBReader addon]. EPUBReader honors the book's CSS styling rules and renders the page as the author intended (many EPUB readers only process a sub-set of CSS styling rules). Browsers are a natural fit for EPUB (EPUB is just a bunch of zipped XHTML files) -- I'd love to see browsers support EPUB natively. As of writing this article most eBook readers (with the notable exception of Amazon's Kindle) support the EPUB format. Non-fiction Books and Manuals ----------------------------- AsciiDoc supports a rich set of markup conventions and can generate reference works and technical manuals complete with tables, illustrations, indexes, bibliographies and appendices. All the examples on the http:///asciidoc.org/[AsciiDoc web site] can be formatted as EPUB eBooks. asciidoc-py3-9.0.0rc1/doc/book-multi.txt0000644000175000017500000001102313570064211017343 0ustar josephjosephMulti-Part Book Title Goes Here =============================== Author's Name v1.0, 2003-12 :doctype: book [dedication] Example Dedication ================== The optional dedication goes here. This document is an AsciiDoc multi-part book skeleton containing briefly annotated element placeholders plus a couple of example index entries and footnotes. Books are normally used to generate DocBook markup and the preface, appendix, bibliography, glossary and index section titles are significant ('specialsections'). NOTE: Multi-part books differ from all other AsciiDoc document formats in that top level sections (dedication, preface, book parts, appendices, bibliography, glossary, index) must be level zero headings (not level one). [preface] Example Preface ================ The optional book preface goes here at section level zero. Preface Sub-section ~~~~~~~~~~~~~~~~~~~ NOTE: Preface and appendix subsections start out of sequence at level 2 (level 1 is skipped). This only applies to multi-part book documents. The First Part of the Book ========================== [partintro] .Optional part introduction title -- Optional part introduction goes here. -- The First Chapter ----------------- Chapters can be grouped by preceding them with a level 0 Book Part title. Book chapters are at level 1 and can contain sub-sections nested up to three deep. footnote:[An example footnote.] indexterm:[Example index entry] It's also worth noting that a book part can have it's own preface, bibliography, glossary and index. Chapters can have their own bibliography, glossary and index. And now for something completely different: ((monkeys)), lions and tigers (Bengal and Siberian) using the alternative syntax index entries. (((Big cats,Lions))) (((Big cats,Tigers,Bengal Tiger))) (((Big cats,Tigers,Siberian Tiger))) Note that multi-entry terms generate separate index entries. Here are a couple of image examples: an image:images/smallnew.png[] example inline image followed by an example block image: .Tiger block image image::images/tiger.png[Tiger image] Followed by an example table: .An example table [width="60%",options="header"] |============================================== | Option | Description | -a 'USER GROUP' | Add 'USER' to 'GROUP'. | -R 'GROUP' | Disables access to 'GROUP'. |============================================== .An example example =============================================== Lorum ipum... =============================================== [[X1]] Sub-section with Anchor ~~~~~~~~~~~~~~~~~~~~~~~ Sub-section at level 2. Chapter Sub-section ^^^^^^^^^^^^^^^^^^^ Sub-section at level 3. Chapter Sub-section +++++++++++++++++++ Sub-section at level 4. This is the maximum sub-section depth supported by the distributed AsciiDoc configuration. footnote:[A second example footnote.] The Second Chapter ------------------ An example link to anchor at start of the <>. indexterm:[Second example index entry] An example link to a bibliography entry <>. The Second Part of the Book =========================== The First Chapter of the Second Part ------------------------------------ Chapters grouped into book parts are at level 1 and can contain sub-sections. :numbered!: [appendix] Example Appendix ================ One or more optional appendixes go here at section level zero. Appendix Sub-section ~~~~~~~~~~~~~~~~~~~ NOTE: Preface and appendix subsections start out of sequence at level 2 (level 1 is skipped). This only applies to multi-part book documents. [bibliography] Example Bibliography ==================== The bibliography list is a style of AsciiDoc bulleted list. [bibliography] - [[[taoup]]] Eric Steven Raymond. 'The Art of Unix Programming'. Addison-Wesley. ISBN 0-13-142901-9. - [[[walsh-muellner]]] Norman Walsh & Leonard Muellner. 'DocBook - The Definitive Guide'. O'Reilly & Associates. 1999. ISBN 1-56592-580-7. [glossary] Example Glossary ================ Glossaries are optional. Glossaries entries are an example of a style of AsciiDoc labeled lists. [glossary] A glossary term:: The corresponding (indented) definition. A second glossary term:: The corresponding (indented) definition. [colophon] Example Colophon ================ Text at the end of a book describing facts about its production. [index] Example Index ============= //////////////////////////////////////////////////////////////// The index is normally left completely empty, it's contents are generated automatically by the DocBook toolchain. //////////////////////////////////////////////////////////////// asciidoc-py3-9.0.0rc1/doc/testasciidoc.txt0000644000175000017500000001770313570064211017752 0ustar josephjosephAsciiDoc Tests ============== AsciiDoc includes 'testasciidoc', a Python script runs a set of AsciiDoc conformance tests. 'testasciidoc' runs through a list of AsciiDoc source files, generates backend outputs and then compares them to expected result files. The whole process is driven by a configuration file containing a list of user configurable test specifications. Rationale --------- When modifying AsciiDoc configuration files or source code it's very easy to introduce regression errors. 'testasciidoc' is a tool for writing many and varied test cases that can be run after changes have been made in order to verify that existing behavior has not been broken. The 'testasciidoc' 'update' command automates the (re)generation of expected test result data. Result data regeneration has to be performed after changes to test case source files or after legitimate changes to the AsciiDoc output formats -- doing this manually is prohibitively tedious. Running testasciidoc -------------------- The `testasciidoc.py` script and the default `testasciidoc.conf` configuration file are located in the AsciiDoc distribution `tests` directory. To view the command usage run: --------------------------------------------------------------------- $ python tests/testasciidoc.py Usage: testasciidoc.py [OPTIONS] COMMAND Run AsciiDoc conformance tests specified in configuration FILE. Commands: list List tests run [NUMBER] [BACKEND] Execute tests update [NUMBER] [BACKEND] Regenerate and update test data Options: -f, --conf-file=CONF_FILE Use configuration file CONF_FILE (default configuration file is testasciidoc.conf in testasciidoc.py directory) --force Update all test data overwriting existing data --------------------------------------------------------------------- To view the list of tests in the default `testasciidoc.conf` configuration file run the 'list' command: --------------------------------------------------------------------- $ python tests/testasciidoc.py list 1: Test cases 2: Tables 3: Source highlighter 4: Example article 5: Example book 6: Example multi-part book 7: !User Guide --------------------------------------------------------------------- The '!' prefix signals that a test is currently disabled. Before running the tests you will need to regenerate the expected outputs by running the 'update' command: --------------------------------------------------------------------- $ python tests/testasciidoc.py update WRITING: tests/data/testcases-html4.html WRITING: tests/data/testcases-xhtml11.html WRITING: tests/data/testcases-docbook.xml : WRITING: tests/data/book-multi-docbook.xml --------------------------------------------------------------------- Now you can run the tests: --------------------------------------------------------------------- $ python tests/testasciidoc.py run 1: Test cases SOURCE: asciidoc: tests/data/testcases.txt PASSED: html4: tests/data/testcases-html4.html PASSED: xhtml11: tests/data/testcases-xhtml11.html PASSED: docbook: tests/data/testcases-docbook.xml : 6: Example multi-part book SOURCE: asciidoc: doc/book-multi.txt PASSED: html4: tests/data/book-multi-html4.html PASSED: xhtml11: tests/data/book-multi-xhtml11.html PASSED: docbook: tests/data/book-multi-docbook.xml TOTAL PASSED: 18 --------------------------------------------------------------------- [NOTE] ===================================================================== - 'testasciidoc' requires AsciiDoc is located in your environment search path, if not you'll need to set the `ASCIIDOC_PY` environment variable to point to `asciidoc.py`. - If you don't have GNU source-highlight installed you should disable the 'Tables' and 'Source highlighter' tests in the `tests/testasciidoc.conf` configuration file. ===================================================================== testasciidoc commands --------------------- 'list':: List test numbers and titles. A '!' title prefix signals that a test is currently disabled. 'run':: Read and execute tests from the test configuration file. A test specifies AsciiDoc test case source file and command options. The test compares generated outputs to expected outputs and any differences displayed as a diff. You can run selected tests by specifying the test number and/or backend after the `run` command. Examples: python tests/testasciidoc.py run python tests/testasciidoc.py run 3 python tests/testasciidoc.py run html4 python tests/testasciidoc.py run 3 html4 'update':: Generates and updates missing and out of date test output data files, this eliminates one of the most time consuming aspect of test management. Use the `--force` option to force updates. Examples: python tests/testasciidoc.py update python tests/testasciidoc.py --force update 4 NOTE: You can run or update disabled tests by explicitly specifying the test number. Test configuration file ----------------------- The tests configuration file format consists of one or more test specs separated by a line of one or more percent characters. Each test spec consists of an optional test title and description followed by one or more optional directives (a directive starts with a percent character). A 'directive' consists begins with a line containing a '%' character followed by a directive name followed by zero or more lines of directive data. Test spec format ~~~~~~~~~~~~~~~~ --------------------------------------------------------------------- Optional test title Optional test description... % name Optional base output file name. Defaults to base source file name. % source AsciiDoc source file name. % backends Optional list of backends to be tested(default is all backends). % options Optional list of command-line option tuples. % attributes Optional dictionary of attribute values. --------------------------------------------------------------------- Example test spec: --------------------------------------------------------------------- Example book % options ['--section-numbers',('--doctype','book')] % attributes # Exclude date from document footer. {'docdate':None} % source ../doc/book.txt --------------------------------------------------------------------- TIP: Take a look at the default `tests/testasciidoc.conf` configuration file that comes with AsciiDoc. - Tests can be disabled by prefixing the test title with an exclamation '!' character. - All relative file names are relative to the configuration file directory. - Multiple tests must by separated by a `%` separator line (one or more percent characters). - Lines starting with a percent character specify a test 'directive' and may be followed by zero or more lines of directive data. - Directive data lines cannot start with a percent character. - Lines starting with a `#` hash character are ignored. - The 'source' directive data is a single line containing the AsciiDoc source file name. - The 'options' directive data is a Python list of `(name,value)` tuples specifying AsciiDoc command-line options. A string item is equivalent to a `(name,None)` tuple. - The 'attributes' directive data specifies a Python dictionary containing AsciiDoc attributes to be passed to AsciiDoc. globals directive ~~~~~~~~~~~~~~~~~ An optional 'globals' directive can precede all test specs, the globals directive data is a Python dictionary containing global values. Currently the only global is 'datadir', the directory containing expected output files (defaults to configuration file directory). For example: --------------------------------------------------------------------- % globals {'datadir': 'data'} --------------------------------------------------------------------- Expected output test data files are stored in the 'datadir' and are named after the corresponding AsciiDoc input source file. For example if the AsciiDoc file name is `article.txt` then the corresponding backend output files will be `article-html4.html`, `article-xhtml11.html`, `article-docbook.xml` (stored in the 'datadir' directory). asciidoc-py3-9.0.0rc1/doc/asciidoc.1.txt0000644000175000017500000001566513570064211017216 0ustar josephjosephASCIIDOC(1) =========== :doctype: manpage NAME ---- asciidoc - converts an AsciiDoc text file to HTML or DocBook SYNOPSIS -------- *asciidoc* ['OPTIONS'] 'FILE' DESCRIPTION ----------- The asciidoc(1) command translates the AsciiDoc text file 'FILE' to DocBook or HTML. If 'FILE' is '-' then the standard input is used. OPTIONS ------- *-a, --attribute*='ATTRIBUTE':: Define or delete document attribute. 'ATTRIBUTE' is formatted like 'NAME=VALUE'. Command-line attributes take precedence over document and configuration file attributes. Alternate acceptable forms are 'NAME' (the 'VALUE' defaults to an empty string); 'NAME!' (delete the 'NAME' attribute); 'NAME=VALUE@' (do not override document or configuration file attributes). Values containing spaces should be enclosed in double-quote characters. This option may be specified more than once. A special attribute named 'trace' controls the output of diagnostic information. *-b, --backend*='BACKEND':: Backend output file format: 'docbook45', 'docbook5', 'xhtml11', 'html4', 'html5', 'slidy', 'wordpress' or 'latex' (the 'latex' backend is experimental). You can also use the backend alias names 'html' (aliased to 'xhtml11') or 'docbook' (aliased to 'docbook45'). Defaults to 'html'. The *--backend* option is also used to manage backend plugins (see <>). *-f, --conf-file*='CONF_FILE':: Use configuration file 'CONF_FILE'.Configuration files processed in command-line order (after implicit configuration files). This option may be specified more than once. *--doctest*:: Run Python doctests in 'asciidoc' module. *-d, --doctype*='DOCTYPE':: Document type: 'article', 'manpage' or 'book'. The 'book' document type is only supported by the 'docbook' backends. Default document type is 'article'. *-c, --dump-conf*:: Dump configuration to stdout. *--filter*='FILTER':: Specify the name of a filter to be loaded (used to load filters that are not auto-loaded). This option may be specified more than once. The *--filter* option is also used to manage filter plugins (see <>). *-h, --help* ['TOPIC']:: Print help TOPIC. *--help* 'topics' will print a list of help topics, *--help* 'syntax' summarizes AsciiDoc syntax, *--help* 'manpage' prints the AsciiDoc manpage. *-e, --no-conf*:: Exclude implicitly loaded configuration files except for those named like the input file ('infile.conf' and 'infile-backend.conf'). *-s, --no-header-footer*:: Suppress document header and footer output. *-o, --out-file*='OUT_FILE':: Write output to file 'OUT_FILE'. Defaults to the base name of input file with 'backend' extension. If the input is stdin then the outfile defaults to stdout. If 'OUT_FILE' is '-' then the standard output is used. *-n, --section-numbers*:: Auto-number HTML article section titles. Synonym for *--attribute numbered*. *--safe*:: Enable safe mode. Safe mode is disabled by default. AsciiDoc 'safe mode' skips potentially dangerous scripted sections in AsciiDoc source files. *--theme*='THEME':: Specify a theme name. Synonym for *--attribute theme*='THEME'. The *--theme* option is also used to manage theme plugins (see <>). *-v, --verbose*:: Verbosely print processing information and configuration file checks to stderr. *--version*:: Print program version number. [[X1]] PLUGIN COMMANDS --------------- The asciidoc(1) *--filter*, *--backend* and *--theme* options are used to install, remove and list AsciiDoc filter, backend and theme plugins. Syntax: asciidoc OPTION install ZIP_FILE [PLUGINS_DIR] asciidoc OPTION remove PLUGIN_NAME [PLUGINS_DIR] asciidoc OPTION list asciidoc OPTION build ZIP_FILE PLUGIN_SOURCE Where: *OPTION*:: asciidoc(1) *--filter*, *--backend* or *--theme* option specifying the type of plugin. *PLUGIN_NAME*:: A unique plugin name containing only alphanumeric or underscore characters. *ZIP_FILE*:: A Zip file containing plugin resources, the name must start with the plugin name e.g. `my_filter-1.0.zip` packages filter `my_filter`. *PLUGINS_DIR*:: The directory containing installed plugins. Each plugin is contained in its own separate subdirectory which has the same name as the plugin. *PLUGINS_DIR* defaults to the `$HOME/.asciidoc/filters` (for filter plugins) or `$HOME/.asciidoc/backends` (for backend plugins) or `$HOME/.asciidoc/themes` (for theme plugins). *PLUGIN_SOURCE*:: The name of a directory containing the plugin source files or the name of a single source file. The plugin commands perform as follows: *install*:: Create a subdirectory in *PLUGINS_DIR* with the same name as the plugin then extract the *ZIP_FILE* into it. *remove*:: Delete the *PLUGIN_NAME* plugin subdirectory and all its contents from the *PLUGINS_DIR*. *list*:: List the names and locations of all installed filter or theme plugins (including standard plugins installed in the global configuration directory). *build*:: Create a plugin file named *ZIP_FILE* containing the files and subdirectories specified by *PLUGIN_SOURCE*. File and directory names starting with a period are skipped. ENVIRONMENT VARIABLES --------------------- *`SOURCE_DATE_EPOCH`*:: If the `SOURCE_DATE_EPOCH` environment variable is set to a UNIX timestamp, then the `{docdate}`, `{doctime}`, `{localdate}`, and `{localtime}` attributes are computed in the UTC time zone, with any timestamps newer than `SOURCE_DATE_EPOCH` replaced by `SOURCE_DATE_EPOCH`. (This helps software using AsciiDoc to build reproducibly.) EXAMPLES -------- `asciidoc asciidoc_file_name.txt`:: Simply generate an html file from the asciidoc_file_name.txt that is in current directory using asciidoc. `asciidoc -b html5 asciidoc_file_name.txt`:: Use the `-b` switch to use one of the proposed backend or another one you installed on your computer. `asciidoc -a data-uri -a icons -a toc -a max-width=55em article.txt`:: Use the `-a` switch to set attributes from command-line. AsciiDoc generated its stand-alone HTML user guide containing embedded CSS, JavaScript and images from the AsciiDoc article template with this command. `asciidoc -b html5 -d manpage asciidoc.1.txt`:: Generating the asciidoc manpage using the html5 backend. EXIT STATUS ----------- *0*:: Success *1*:: Failure (syntax or usage error; configuration error; document processing failure; unexpected error). BUGS ---- See the AsciiDoc distribution BUGS file. AUTHOR ------ AsciiDoc was originally written by Stuart Rackham. Many people have contributed to it. RESOURCES --------- SourceForge: Main web site: SEE ALSO -------- a2x(1) COPYING ------- Copyright \(C) 2002-2011 Stuart Rackham. Free use of this software is granted under the terms of the GNU General Public License (GPL). asciidoc-py3-9.0.0rc1/doc/latex-bugs.txt0000644000175000017500000001024013570064211017334 0ustar josephjosephBugs in asciidoc latex backend ============================== Geoff Eddy Benjamin Klum was unable to maintain the LaTeX backend beyond version 8.2.7, and as a consequence the `latex.conf` file ceased to work with `asciidoc` sometime after this. For version 8.4.3 I made some changes to the file to get it working again. This document summarises the remaining issues which I have found with generating LaTeX and thence PDF output with `asciidoc`, which is done as follows: - `asciidoc --backend=latex --unsafe FILE.txt` - `latex FILE.tex` - `kpdf FILE.pdf` Many of these were found by processing the `asciidoc.txt` file and comparing the HTML output with the PDF. == Footnotes Priority:: Low. Problem:: References to footnotes, and a sensible value for the `[footnoteref-inlinemacro]` section, don't seem to be possible. Cause:: LaTeX doesn't support footnoting much beyond creating a footnote at a certain point in text and displaying the footnote itself. Solution:: Unclear. How important or necessary is this, anyway? == Spurious text at starts of paragraphs Priority:: Medium Problem:: It is necessary to insert spurious text in paragraphs. Cause:: This `asciidoc` input: + ------------------------------------------------------------------- Text ------------------------------------------------------------------- + generates this LaTeX code: + \begin{lstlisting} SPURIOUS TEXTText\end{lstlisting} + which should be: + \begin{lstlisting}[] Text\end{lstlisting} Solution:: Find out a way to generate the correct LaTeX output as above. The obvious solution, as explained in `latet.conf`, doesn't work. == Tables Priority:: Rather high. Problem:: Not all of the table configuration options can be passed through to the LaTeX backend. In particular, I've had to assume that all tables will be fifteen or fewer left-justified columns wide. Cause:: The table models in LaTeX and HTML are too dissimilar for one `asciidoc` specification to generate valid output in both formats by simple regexp replacement. Related to this is the unfortunate fact that `` and related tags aren't a required part of HTML4, and some broswers (at least Firefox and Konqueror) don't implement them. Solution:: Perhaps table processing could be handled by a Python plugin, which would read in a table spec and generate the appropriate text? == Unicode escaping Priority:: Rather high, to me at least. Problem:: The commented-out section in `latex.conf`, if uncommented, converts `π` to `\unichar{960}`, which then causes LaTeX to complain that the resulting command is unavailable in encoding T1. The more common non-ASCII characters, such as those in `félicité` and `świeca`, are handled properly, but some - such as the IPA characters in the `tipa` package - are not. Cause:: The encodings in the LaTeX output are wrong. Solution:: Correct the encodings. == Text colours Priority:: Probably low Problem:: The text colour options are not processed by LaTeX; for example `[#ff0000]#Red text#` is not rendered in red. Cause:: LaTeX and HTML represent RGB triads differently: HTML is happy with `#ff8000`, but LaTeX needs `[rgb]{1,0.5,0}`. Solution:: Provide some sort of internal RGB conversion mechanism which can convert RGB triads to different representations. == Text sizes Priority:: Probably low Problem:: The text size options are not processed by LaTeX: `[,,1]#text#` is rendered in the same size as normal text. Cause:: HTML size tags - `h1` through `h7` - are directly derivable from the size number, whereas LaTeX has a series of descriptive words (`HUGE` through `normalsize` to `scriptsize`). Solution:: Provide a way to treat the number as an index into an array. == Background colour in paragraphs Priority:: Medium Problem:: If the `backgroundcolor` attribute is specified in the `lstset` command, all paragraphs are displayed as black rectangles by `kpdf`, `xpdf`, and `evince`, although `kdvi` has no problems. I've had to remove the attribute, and so paragraphs all appear on white backgrounds. The PDF viewers also complain: Error (NNNN): Unknown operator 'rgb' Cause:: Apparently a known bug in the output of `pdflatex`. Not a bug in `asciidoc`. Solution:: Wait until this bug is fixed? asciidoc-py3-9.0.0rc1/doc/latex-backend.txt0000644000175000017500000002642413570064211017776 0ustar josephjosephLaTeX backend for Asciidoc ========================== Benjamin Klum v1.0, June 2006 == Introduction LaTeX backend is a configuration file for Stuart Rackham's http://asciidoc.org/[Asciidoc]. It generates high-level LaTeX markup from Asciidoc documents. LaTeX is a document preparation system for TeX which in turn is a popular typesetting system. It is well known for producing excellently typesetted high quality printouts, especially suited for scientific text. == Tutorial Getting a ready-to-print document from an Asciidoc document using the LaTeX backend involves at least two steps: 1. Conversion of the Asciidoc document into a LaTeX document (this is done by Asciidoc using the LaTeX backend) 2. Conversion of the LaTeX document into a PDF document (this is done by the TeX system) Try to create a PDF document from the Asciidoc document `article.txt` which resides in the `doc` directory of Asciidoc: .. Make a copy of `article.txt` in a directory of your choice, let's call it `latex-test`. .. Make sure that all images referenced in `article.txt` exist in `latex-test`. Brute force approach: Copy the whole `images` directory from Asciidoc directory into `latex-test`. .. Change directory to `latex-test` and type following commands: + asciidoc --unsafe --backend=latex article.txt pdflatex article.tex + .. Now there should be a file `article.pdf` in the `latex-test` directory. [IMPORTANT] ============================== - Asciidoc has to be started in 'unsafe mode' when using LaTeX backend. - Note that some special LaTeX packages are necessary, see <>. ============================== == General notes === Quality of LaTeX output High-level LaTeX is not very straightforward to generate. Therefore there's no guarantee that the generated output is valid and compiles successfully. At all, this backend should be considered as rather experimental. You should have been already in touch with LaTeX in order to use the backend effectively because LaTeX compilation errors can be really nasty. Nevertheless good results can be achieved by using LaTeX backend. Try for example to compile Stuart Rackham's Asciidoc documentation, a rather large document. It should compile without problems. However, the code filter might have to be reconfigured for the code filter example to work. === Configuration file customization Like every other Asciidoc backend the LaTeX backend can be customized easily to fit the user's needs. Actually it is very important to have this option since LaTeX doesn't have a companion language like CSS which allows to put styling information in a separate file. Read more about the LaTeX backend configuration file <>. === Output optimization The LaTeX output is optimized for creating PDF documents using 'pdflatex'. [[unicodeSupport]] === Unicode support Unfortunately TeX/LaTeX does not have native unicode support. The package 'ucs' adds elementary unicode support by introducing UTF-8 input encoding recognition and by defining lookup tables which contain the corresponding LaTeX commands for unicode characters. But these lookup tables are far from being complete. When a unicode character is found which is not defined in the lookup tables an error is raised by the TeX/LaTeX compiler. Note that TeX/LaTeX compilation errors caused by missing unicode character definitions are not fatal, that means the result is probably readable but undefined unicode characters are replaced with `[U+...]`. You may (de)activate the recognition of escaped unicode characters. See the <> backend option. == Backend specific features === Special sections LaTeX backend supports the following special sections and replaces them with corresponding LaTeX commands or environments: - Abstract (only for document type 'article') - Dedication (only for document type 'book') - Index - Bibliography (only when the attribute 'latex-use-bibliography-environment' is set) - Appendix - Contents [[internalCrossReferences]] === Internal cross references Macros for internal cross references have been extended by the attribute 'style'. xref:[, style= endif::linkcss[] ifndef::disable-javascript[] ifdef::linkcss[] endif::linkcss[] ifndef::linkcss[] endif::linkcss[] endif::disable-javascript[] ifdef::asciimath[] ifdef::linkcss[] endif::linkcss[] ifndef::linkcss[] endif::linkcss[] endif::asciimath[] ifdef::latexmath[] ifdef::linkcss[] endif::linkcss[] ifndef::linkcss[] endif::linkcss[] endif::latexmath[] ifdef::mathjax[] endif::mathjax[] {docinfo1,docinfo2#}{include:{docdir}/docinfo.html} {docinfo,docinfo2#}{include:{docdir}/{docname}-docinfo.html} template::[docinfo] # Article, book header. ifndef::doctype-manpage[] endif::doctype-manpage[] # Man page header. ifdef::doctype-manpage[] endif::doctype-manpage[]
[footer]
{disable-javascript%

} [footer-date] # Default footer date is document modification time ifeval::["{footer-style=default}"!="revdate"] {docdate} {doctime} endif::[] # If set to "revdate", it'll be set to the revision date ifeval::["{footer-style=default}"=="revdate"] {revdate} endif::[] ifdef::doctype-manpage[] [synopsis] template::[sect1] endif::doctype-manpage[] asciidoc-py3-9.0.0rc1/lang-hu.conf0000644000175000017500000000241213570064211016157 0ustar josephjoseph# # AsciiDoc Hungarian language configuration file. # Originally written by Miklos Vajna # [attributes] #TODO: Left and right single and double quote characters. # Captions, used by (X)HTML backends. # Captions on RHS are displayed in outputs. ifdef::basebackend-html[] caution-caption=Figyelmeztetés important-caption=Fontos note-caption=Megjegyzés tip-caption=Tipp warning-caption=Figyelem figure-caption=Ábra table-caption=Táblázat example-caption=Példa toc-title=Tartalomjegyzék appendix-caption=függelék # Man page NAME section title. manname-title=NÉV [footer-text] Verzió {revnumber}{basebackend-xhtml11?
}{basebackend-xhtml11=
} Utolsó frissítés: template::[footer-date] endif::basebackend-html[] [specialsections] # DocBook special sections. # The regular expression on LHS is matched against source titles. ifdef::basebackend-docbook[] ifdef::doctype-article[] ^Kivonat$=abstract endif::doctype-article[] ifdef::doctype-book[] ^Utószó$=colophon ^Ajánlás$=dedication ^Előszó$=preface endif::doctype-book[] ^Index$=index ^(Bibliográfia|Hivatkozások)$=bibliography ^Szójegyzék$=glossary ^[A-Z] függelék[:.](?P.*)$=appendix endif::basebackend-docbook[] ifdef::doctype-manpage[] (?i)^ÁTTEKINTÉS$=synopsis endif::doctype-manpage[] ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/examples/���������������������������������������������������������������������0000755�0001750�0001750�00000000000�13570064211�015574� 5����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/examples/website/�������������������������������������������������������������0000755�0001750�0001750�00000000000�13570064211�017236� 5����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/examples/website/asciidoc-docbook-xsl.txt�������������������������������������0000777�0001750�0001750�00000000000�13570064211�033407� 2../../docbook-xsl/asciidoc-docbook-xsl.txt����������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/examples/website/layout2.css��������������������������������������������������0000644�0001750�0001750�00000002643�13570064211�021354� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������body { margin: 0; } #layout-menu-box { position: fixed; left: 0px; top: 0px; width: 160px; height: 100%; z-index: 1; background-color: #f4f4f4; } #layout-content-box { position: relative; margin-left: 160px; background-color: white; } h1 { margin-top: 0.5em; } #layout-banner { color: white; background-color: #73a0c5; font-family: Arial,Helvetica,sans-serif; text-align: left; padding: 0.8em 20px; } #layout-title { font-family: "Courier New", Courier, monospace; font-size: 3.5em; font-weight: bold; letter-spacing: 0.2em; margin: 0; } #layout-description { font-size: 1.2em; letter-spacing: 0.1em; } #layout-menu { height: 100%; border-right: 3px solid #eeeeee; padding-top: 0.8em; padding-left: 15px; padding-right: 0.8em; font-size: 1.0em; font-family: Arial,Helvetica,sans-serif; font-weight: bold; } #layout-menu a { line-height: 2em; margin-left: 0.5em; } #layout-menu a:link, #layout-menu a:visited, #layout-menu a:hover { color: #527bbd; text-decoration: none; } #layout-menu a:hover { color: navy; text-decoration: none; } #layout-menu #page-source { border-top: 2px solid silver; margin-top: 0.2em; } #layout-content { padding-top: 0.2em; padding-left: 1.0em; padding-right: 0.4em; } @media print { #layout-banner-box { display: none; } #layout-menu-box { display: none; } #layout-content-box { margin-top: 0; margin-left: 0; } } ���������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/examples/website/latex-filter.txt���������������������������������������������0000777�0001750�0001750�00000000000�13570064211�026730� 2../../doc/latex-filter.txt��������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/examples/website/faq.txt������������������������������������������������������0000777�0001750�0001750�00000000000�13570064211�023246� 2../../doc/faq.txt�����������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/examples/website/music-filter.txt���������������������������������������������0000777�0001750�0001750�00000000000�13570064211�026736� 2../../doc/music-filter.txt��������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/examples/website/customers.csv������������������������������������������������0000644�0001750�0001750�00000001463�13570064211�022003� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������"AROUT","Around the Horn","Thomas Hardy","120 Hanover Sq. London","(171) 555-7788" "BERGS","Berglunds snabbkop","Christina Berglund","Berguvsvagen 8 Lulea","0921-12 34 65" "BLAUS","Blauer See Delikatessen","Hanna Moos","Forsterstr. 57 Mannheim","0621-08460" "BLONP","Blondel pere et fils","Frederique Citeaux","24, place Kleber Strasbourg","88.60.15.31" "BOLID","Bolido Comidas preparadas","Martin Sommer","C/ Araquil, 67 Madrid","(91) 555 22 82" "BONAP","Bon app'","Laurence Lebihan","12, rue des Bouchers Marseille","91.24.45.40" "BOTTM","Bottom-Dollar Markets","Elizabeth Lincoln","23 Tsawassen Blvd. Tsawassen","(604) 555-4729" "BSBEV","B's Beverages","Victoria Ashworth","Fauntleroy Circus London","(171) 555-1212" "CACTU","Cactus Comidas para llevar","Patricio Simpson","Cerrito 333 Buenos Aires","(1) 135-5555" �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/examples/website/publishing-ebooks-with-asciidoc.txt��������������������������0000777�0001750�0001750�00000000000�13570064211�036252� 2../../doc/publishing-ebooks-with-asciidoc.txt�������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/examples/website/asciidoc-graphviz-sample.txt���������������������������������0000777�0001750�0001750�00000000000�13570064211�036237� 2../../filters/graphviz/asciidoc-graphviz-sample.txt�������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/examples/website/ASCIIMathML.js�����������������������������������������������0000777�0001750�0001750�00000000000�13570064211�026674� 2../../javascripts/ASCIIMathML.js��������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/examples/website/testasciidoc.txt���������������������������������������������0000777�0001750�0001750�00000000000�13570064211�027064� 2../../doc/testasciidoc.txt��������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/examples/website/LaTeXMathML.js�����������������������������������������������0000777�0001750�0001750�00000000000�13570064211�027146� 2../../javascripts/LaTeXMathML.js��������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/examples/website/latex-bugs.txt�����������������������������������������������0000777�0001750�0001750�00000000000�13570064211�026056� 2../../doc/latex-bugs.txt����������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/examples/website/latex-backend.txt��������������������������������������������0000777�0001750�0001750�00000000000�13570064211�027134� 2../../doc/latex-backend.txt�������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/examples/website/xhtml11-quirks.css�������������������������������������������0000777�0001750�0001750�00000000000�13570064211�031105� 2../../stylesheets/xhtml11-quirks.css����������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/examples/website/manpage.txt��������������������������������������������������0000777�0001750�0001750�00000000000�13570064211�025255� 2../../doc/asciidoc.1.txt����������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/examples/website/slidy.txt����������������������������������������������������0000777�0001750�0001750�00000000000�13570064211�024200� 2../../doc/slidy.txt���������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/examples/website/asciidoc-website.dict����������������������������������������0000644�0001750�0001750�00000003537�13570064211�023331� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������personal_ws-1.1 en 240 O'Reilly awb Blogpost Bulleted Iisaka pygmentize callouts JavaScript asciimath tex Philips stylesheets Rosenkraenzer LaTexMathML LaTeXMathML latexmathml Rapaz ASCIIMathML AsciiMathML asciimathml faq Efros stdin LinuxDoc slideshows Klum CentOS src plugin Steen passthroughs AsciiDoc asciidoc blog revdate toc css Rosten screenshot CSW Waf slideshow Wiese ShareSource Avsajanishvili autowidth Mandelson HOWTO newlists Hajage Jipsen frontmatter Suraj dvi backend upperalpha doctype UNOCONV dxf Gentoo Mowatt SGML raggedright uri Rsten upperroman Slackware CouchDB Wesnoth matplotlib adoc Zuckschwerdt stdout usr txt ebooks eBooks ImageMagick distros Mowson qanda GPL roff README Trotman xhtml Stylesheet inline weblog xmllint refentry toolchains Wieers Debian xml filetype asciidocapi Pommereau epub Iisaka's Hou doctests backends Gingras sinx Rom multi autoconf Dmitry Volnitsky AttributeList Shlomi outlang Scala xsltproc ikiwiki firefox Hsu xsl iOS arabic Neuburg Ilya tablewidth Kaczanowski Volnitsky's backmatter RPMs symlink newtables cd Qingping Calixto scaledwidth testasciidoc linenumbering xzf xmlto Lex refname html online lim el mkdir Kurapati Solaris LilyPond DelimitedBlocks dx eBook hg Gouichi lang conf Tomek wiki Maier Berker Neo js AsciiDocGen Portnov CRAN jw ln pygments odf lt monospace monospaced Negroni ly programlisting docname OpenOffice Schottelius ps dblatex Ramaze pdf formulae abc py LaTeX ua uB precompiled vB latexmath Wampler chunked Terje SourceForge ascii Obenhuber's CHANGLOG DocBook docbook fontlocking toolchain slidy ebuild syntaxes Tomayko toclevels Eychaner OPF Yannick repo github plugins Xubuntu AsciiDoc's png Backtick showcomments revnumber userguide Potapov Schauer CHANGELOG Koster loweralpha dBA SCM API AttributeEntry lowerroman Rackham callout graphviz Sakellariou passthrough asc sqrt TODO GPLv Cheatsheet manpage �����������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/examples/website/plugins.txt��������������������������������������������������0000644�0001750�0001750�00000005310�13570064211�021457� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������AsciiDoc Plugins ================ A list of backend, filter and theme link:userguide.html#X101[AsciiDoc plugins]. If you have implemented a plugin and it's not in the list please post a message to the http://groups.google.com/group/asciidoc[asciidoc discussion list] and I'll add it. [[X1]] [cols="1e,1,3,3",frame="topbot",options="header"] .Backend Plugins |==== |Backend name |Author |Home page |Description |9man |Alex Efros |http://powerman.name/asciidoc/ |A backend plugin to generate man pages (troff) compatible with OS Inferno and Plan9. |blogger |Stuart Rackham |https://github.com/srackham/asciidoc-blogger-backend |Generates Blogger friendly HTML from AsciiDoc source. |deckjs |Qingping Hou |http://houqp.github.com/asciidoc-deckjs/ |A 'deck.js' backend for AsciiDoc. |fossil |Stuart Rackham |https://github.com/srackham/asciidoc-fossil-backend |Generates Fossil friendly Wiki markup from AsciiDoc source. |ODF |Dag Wieers |https://github.com/dagwieers/asciidoc-odf |Backends for generating LibreOffice/OpenOffice Writer (`.fodt`) files and LibreOffice/OpenOffice Impress (`.fodp`) files. |slidy2 |Jean-Michel Inglebert |http://code.google.com/p/asciidoc-slidy2-backend-plugin/ |Enhanced slidy backend. |wordpress |Stuart Rackham |http://srackham.wordpress.com/blogpost-readme/ |Generates WordPress friendly markup and is part of the http://srackham.wordpress.com/blogpost-readme/[blogpost] project. |==== [[X2]] [cols="1e,1,3,3",frame="topbot",options="header"] .Filter Plugins |==== |Filter name |Author |Home page |Description |aafigure |Henrik Maier |http://code.google.com/p/asciidoc-aafigure-filter/ |https://launchpad.net/aafigure[Aafigure] ASCII line art filter. |diag |Michael Haberler |https://code.google.com/p/asciidoc-diag-filter/ |http://blockdiag.com/[blockdiag] diagrams filter. |ditaa |Henrik Maier |http://code.google.com/p/asciidoc-ditaa-filter/ |http://ditaa.sourceforge.net[ditaa] ASCII line art filter. |graphviz-cmap |Alex Efros |http://powerman.name/asciidoc/ |A variant of the built-in graphviz filter, which adds support for client-side imagemaps. |matplotlib |Leonid Volnitsky |http://volnitsky.com/project/mplw/ |Using this filter you can generate charts from inline matplotlib scripts. |mscgen |Henrik Maier |http://code.google.com/p/asciidoc-mscgen-filter/ |Message sequence chart filter. |qrcode |Jean-Marc Temmos |http://code.google.com/p/asciidoc-qrencode-filter/ |This filter generates http://fukuchi.org/works/qrencode/manual/index.html[QRencode] images. |==== [[X3]] [cols="1e,1,3,3",frame="topbot",options="header"] .Theme Plugins |==== |Theme name |Author |Home page |Description |compact |Alex Efros |http://powerman.name/asciidoc/ |Similar to default theme but more compact. |==== ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/examples/website/version83.txt������������������������������������������������0000644�0001750�0001750�00000003223�13570064211�021637� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������AsciiDoc Version 8.3 ==================== This is significant release, it gets rid of unused cruft, simplifies the http://asciidoc.org/newlists.html[lists] syntax and introduces a decent http://asciidoc.org/newtables.html[tables] syntax. There are a few fairly minor backward compatibility issues, please read the link:CHANGELOG.html#X1[compatibility issues] section in the CHANGLOG before upgrading. New Features ------------ - AsciiDoc tables have been redesigned. The link:newtables.html[new syntax and features] are a huge improvement over the old tables. The old tables syntax has been deprecated but is currently still processed. - Lists can now be styled like other block elements. This allows a single list syntax for 'glossary', 'qanda' (Question and Answer) and 'bibliography' lists instead of having to remember a different syntax for each type. link:newlists.html[Here is some more information]. - Inline passthroughs macros have been improved and block passthrough macros added. Attribute substitution can be optionally specified when the macro is called. - The passthrough block has a fully transparent passthrough delimited block block style called 'pass'. - The 'asciimath' and 'latexmath' link:userguide.html#X77[passthrough macros] along with 'asciimath' and 'latexmath' link:userguide.html#X76[passthrough blocks] provide a (backend dependent) mechanism for rendering mathematical formulas. There are link:latexmath.pdf[LaTeX Math], link:asciimathml.html[AsciiMathML] and link:latexmathml.html[LaTeXMathML] examples on the AsciiDoc website. Read the link:CHANGELOG.html[CHANGELOG] for a full list of all additions and changes. �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/examples/website/index.txt����������������������������������������������������0000644�0001750�0001750�00000054561�13570064211�021121� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������AsciiDoc Home Page ================== // Web page meta data. :keywords: AsciiDoc, DocBook, EPUB, PDF, ebooks, slideshow, slidy, man page :description: AsciiDoc is a text document format for writing notes, + documentation, articles, books, ebooks, slideshows, + web pages, man pages and blogs. AsciiDoc files can be + translated to many formats including HTML, PDF, EPUB, + man page. .{revdate}: AsciiDoc {revnumber} Released ************************************************************************ Read the link:CHANGELOG.html[CHANGELOG] for release highlights and a full list of all additions, changes and bug fixes. Changes are documented in the updated link:userguide.html[User Guide]. See the link:INSTALL.html[Installation page] for downloads and and installation instructions. 'Stuart Rackham' ************************************************************************ Introduction ------------ {description} AsciiDoc is highly configurable: both the AsciiDoc source file syntax and the backend output markups (which can be almost any type of SGML/XML markup) can be customized and extended by the user. AsciiDoc is free software and is licenced under the terms of the 'GNU General Public License version 2' (GPLv2). TIP: The pages you are reading were written using AsciiDoc, to view the corresponding AsciiDoc source click on the *Page Source* menu item in the left hand margin. Overview and Examples --------------------- You write an AsciiDoc document the same way you would write a normal text document, there are no markup tags or weird format notations. AsciiDoc files are designed to be viewed, edited and printed directly or translated to other presentation formats using the asciidoc(1) command. The asciidoc(1) command translates AsciiDoc files to HTML, XHTML and DocBook markups. DocBook can be post-processed to presentation formats such as HTML, PDF, EPUB, DVI, LaTeX, roff, and Postscript using readily available Open Source tools. Example Articles ~~~~~~~~~~~~~~~~ - This XHTML version of the link:asciidoc.css-embedded.html[AsciiDoc User Guide] was generated by AsciiDoc from link:asciidoc.txt[this AsciiDoc file]. - Here's the link:asciidoc.html[same document] created by first generating DocBook markup using AsciiDoc and then converting the DocBook markup to HTML using 'DocBook XSL Stylesheets'. - The User Guide again, this time a link:chunked/index.html[chunked version]. - AsciiDoc generated this link:article-standalone.html[stand-alone HTML file] containing embedded CSS, JavaScript and images from this link:article.txt[AsciiDoc article template] with this command: asciidoc -a data-uri -a icons -a toc -a max-width=55em article.txt - The same link:article.txt[AsciiDoc article template] generated link:article-html5-toc2.html[this HTML 5] (the 'toc2' attribute puts a table of contents in the left margin) from this command: asciidoc -b html5 -a icons -a toc2 -a theme=flask article.txt - The same link:article.txt[AsciiDoc article template] produced this link:article.html[HTML file] and this link:article.pdf[PDF file] via DocBook markup generated by AsciiDoc. [[X7]] Example Books ~~~~~~~~~~~~~ AsciiDoc markup supports all the standard DocBook frontmatter and backmatter sections (dedication, preface, bibliography, glossary, index, colophon) plus footnotes and index entries. - This link:book.txt[AsciiDoc book] produced link:book.html[this HTML file] using the 'DocBook XSL Stylesheets'. - The link:asciidoc.pdf[PDF formatted AsciiDoc User Guide] was generated from asciidoc(1) DocBook output. - The link:asciidoc.epub[EPUB formatted AsciiDoc User Guide] was generated using link:a2x.1.html[a2x]. - This link:book.epub[EPUB formatted book skeleton] was generated using link:a2x.1.html[a2x]. - This link:book-multi.txt[multi-part AsciiDoc book] produced link:book-multi.html[this HTML file] using the 'DocBook XSL Stylesheets'. Example UNIX Man Pages ~~~~~~~~~~~~~~~~~~~~~~ HTML formatted AsciiDoc man pages link:asciidoc.1.css-embedded.html[with stylesheets] and link:asciidoc.1.html[without stylesheets] were generated by AsciiDoc from link:asciidoc.1.txt[this file]. This link:asciidoc.1[roff formatted man page] was generated from asciidoc(1) DocBook output using `xsltproc(1)` and DocBook XSL Stylesheets. [[X8]] Example Slideshows ~~~~~~~~~~~~~~~~~~ The http://www.w3.org/Talks/Tools/Slidy2/[Slidy] backend generates HTML slideshows that can be viewed in any web browser. What's nice is that you can create completely self contained slideshows including embedded images. - Here is the link:slidy.html[slidy backend documentation] slideshow and here is it's link:slidy.txt[AsciiDoc source]. - An link:slidy-example.html[example slidy slideshow] and the link:slidy-example.txt[AsciiDoc source]. Example Web Site ~~~~~~~~~~~~~~~~ The link:README-website.html[AsciiDoc website] is included in the AsciiDoc distribution (in `./examples/website/`) as an example website built using AsciiDoc. See `./examples/website/README-website.txt`. More examples ~~~~~~~~~~~~~ - See below: <<X6,'Documents written using AsciiDoc'>>. - Example link:newtables.html[Tables]. eBook Publication ----------------- The two most popular open eBook formats are http://en.wikipedia.org/wiki/EPUB[EPUB] and PDF. The AsciiDoc link:a2x.1.html[a2x] toolchain wrapper makes it easy to link:publishing-ebooks-with-asciidoc.html[publish EPUB and PDF eBooks with AsciiDoc]. See also <<X7,example books>> and link:epub-notes.html[AsciiDoc EPUB Notes]). Blogpost weblog client ---------------------- http://srackham.wordpress.com/blogpost-readme/[blogpost] is a command-line weblog client for publishing AsciiDoc documents to http://wordpress.org/[WordPress] blog hosts. It creates and updates weblog posts and pages directly from AsciiDoc source documents. Source code highlighter ----------------------- AsciiDoc includes a link:source-highlight-filter.html[source code highlighter filter] that uses http://www.gnu.org/software/src-highlite/[GNU source-highlight] to highlight HTML outputs. You also have the option of using the http://pygments.org/[Pygments] highlighter. [[X3]] Mathematical Formulae --------------------- You can include mathematical formulae in AsciiDoc XHTML documents using link:asciimathml.html[ASCIIMathML] or link:latexmathml.html[LaTeXMathML] notation. The link:latex-filter.html[AsciiDoc LaTeX filter] translates LaTeX source to an image that is automatically inserted into the AsciiDoc output documents. AsciiDoc also has 'latexmath' macros for DocBook outputs -- they are documented in link:latexmath.pdf[this PDF file] and can be used in AsciiDoc documents processed by `dblatex(1)`. Editor Support -------------- - An AsciiDoc syntax highlighter for the Vim text editor is included in the AsciiDoc distribution (see the 'Vim Syntax Highlighter' appendix in the 'AsciiDoc User Guide' for details). + .Syntax highlighter screenshot image::images/highlighter.png[height=400,caption="",link="images/highlighter.png"] - Dag Wieers has implemented an alternative Vim syntax file for AsciiDoc which can be found here http://svn.rpmforge.net/svn/trunk/tools/asciidoc-vim/. - David Avsajanishvili has written a source highlighter for AsciiDoc files for http://projects.gnome.org/gtksourceview/[GtkSourceView] (used by http://projects.gnome.org/gedit/[gedit] and a number of other applications). The project is hosted here: https://launchpad.net/asciidoc-gtk-highlight - AsciiDoc resources for the Emacs editor can be found on the http://www.emacswiki.org/emacs/AsciiDoc[AsciiDoc page] at the http://www.emacswiki.org/emacs/EmacsWiki[Emacs Wiki]. - Christian Zuckschwerdt has written a https://github.com/zuckschwerdt/asciidoc.tmbundle[TextMate bundle] for AsciiDoc. Try AsciiDoc on the Web ----------------------- Thaddée Tyl has written an online live editor named http://espadrine.github.io/AsciiDocBox/[AsciiDocBox] to try AsciiDoc in your browser. You can use http://gist.asciidoctor.org/[DocGist] to preview AsciiDoc files hosted on GitHub, Dropbox, and other services. DocGist also features a real-time collaboration mode. [[X2]] External Resources and Applications ----------------------------------- Here are resources that I know of, if you know of more drop me a line and I'll add them to the list. - Check the link:INSTALL.html#X2[installation page] for packaged versions of AsciiDoc. - http://asciidoctor.org[Asciidoctor] provides a modern, compliant, and substantially faster implementation of the AsciiDoc processor written in Ruby. This implementation can also be run on the JVM (with AsciidoctorJ) or using JavaScript (with Asciidoctor.js). The Asciidoctor project now maintains the official definition of the AsciiDoc syntax. - Alex Efros has written an HTML formatted http://powerman.name/doc/asciidoc[AsciiDoc Cheatsheet] using AsciiDoc. The Asciidoctor project also provides a comprehensive http://asciidoctor.org/docs/asciidoc-syntax-quick-reference/[AsciiDoc syntax quick reference]. - Thomas Berker has written an http://liksom.info/blog/?q=node/114[AsciiDoc Cheatsheet] in Open Document and PDF formats. - The http://www.wikimatrix.org/[WikiMatrix] website has an excellent http://www.wikimatrix.org/syntax.php[web page] that compares the various Wiki markup syntaxes. An interesting attempt at Wiki markup standardization is http://www.wikicreole.org/[CREOLE]. - Franck Pommereau has written http://www.univ-paris12.fr/lacl/pommereau/soft/asciidoctest.html[Asciidoctest], a program that doctests snippets of Python code within your Asciidoc documents. - The http://remips.sourceforge.net/[ReMIPS] project website has been built using AsciiDoc. - Here are some link:asciidoc-docbook-xsl.html[DocBook XSL Stylesheets Notes]. - Karl Mowatt-Wilson has developed an http://ikiwiki.info/[ikiwiki] plugin for AsciiDoc which he uses to render http://mowson.org/karl[his website]. The plugin is available http://www.mowson.org/karl/colophon/[here] and there is some discussion of the ikiwiki integration http://ikiwiki.info/users/KarlMW/discussion/[here]. - Glenn Eychaner has http://groups.google.com/group/asciidoc/browse_thread/thread/bf04b55628efe214[reworked the Asciidoc plugin for ikiwiki] that was created by Karl Mowson, the source can be downloaded from http://dl.dropbox.com/u/11256359/asciidoc.pm - David Hajage has written an AsciiDoc package for the http://www.r-project.org/[R Project] (R is a free software environment for statistical computing). 'ascii' is available on 'CRAN' (just run `install.packages("ascii")` from R). Briefly, 'ascii' replaces R results in AsciiDoc document with AsciiDoc markup. More information and examples here: http://eusebe.github.com/ascii/. - Pascal Rapaz has written a Python script to automate AsciiDoc website generation. You can find it at http://www.rapazp.ch/opensource/tools/asciidoc.html. - Jared Henley has written http://jared.henley.id.au/software/awb/documentation.html[AsciiDoc Website Builder]. 'AsciiDoc Website Builder' (awb) is a python program that automates the building of of a website written in AsciiDoc. All you need to write is the AsciiDoc source plus a few simple configuration files. - Brad Adkins has written http://dbixjcl.org/jcl/asciidocgen/asciidocgen.html[AsciiDocGen], a web site generation and deployment tool that allows you write your web site content in AsciiDoc. The http://dbixjcl.org/jcl/asciidocgen/asciidocgen.html[AsciiDocGen web site] is managed using 'AsciiDocGen'. - Filippo Negroni has developed a set of tools to facilitate 'literate programming' using AsciiDoc. The set of tools is called http://eweb.sourceforge.net/[eWEB]. - http://vanderwijk.info/2009/4/23/full-text-based-document-generation-using-asciidoc-and-ditaa[Ivo's blog] describes a http://ditaa.sourceforge.net/[ditaa] filter for AsciiDoc which converts http://en.wikipedia.org/wiki/ASCII_art[ASCII art] into graphics. - http://github.com/github/gollum[Gollum] is a git-powered wiki, it supports various formats, including AsciiDoc. - Gregory Romé has written an http://github.com/gpr/redmine_asciidoc_formatter[AsciiDoc plugin] for the http://www.redmine.org/[Redmine] project management application. - Paul Hsu has started a http://github.com/paulhsu/AsciiDoc.CHT.userguide[Chinese translation of the AsciiDoc User Guide]. - Dag Wieers has written http://dag.wieers.com/home-made/unoconv/[UNOCONV]. 'UNOCONV' can export AsciiDoc outputs to OpenOffice export formats. - Ed Keith has written http://codeextactor.berlios.de/[Code Extractor], it extracts code snippets from source code files and inserts them into AsciiDoc documents. - The http://csrp.iut-blagnac.fr/jmiwebsite/home/[JMI website] hosts a number of extras for AsciiDoc and Slidy written by Jean-Michel Inglebert. - Ryan Tomayko has written an number of http://tomayko.com/src/adoc-themes/[themes for AsciiDoc] along with a http://tomayko.com/src/adoc-themes/hacking.html[script for combining the CSS files] into single CSS theme files for AsciiDoc embedded CSS documents. - Ilya Portnov has written a https://gitorious.org/doc-building-system[document building system for AsciiDoc], here is http://iportnov.blogspot.com/2011/03/asciidoc-beamer.html[short article in Russian] describing it. - Lex Trotman has written https://github.com/elextr/codiicsa[codiicsa], a program that converts DocBook to AsciiDoc. - Qingping Hou has written http://houqp.github.com/asciidoc-deckjs/[an AsciiDoc backend for deck.js]. http://imakewebthings.github.com/deck.js/[deck.js] is a JavaScript library for building modern HTML presentations (slideshows). - The guys from O'Reilly Media have posted an https://github.com/oreillymedia/docbook2asciidoc[XSL Stylesheet to github] that converts DocBook to AsciiDoc. - Lex Trotman has written https://github.com/elextr/flexndex[flexndex], an index generator tool that be used with AsciiDoc. - Michael Haberler has created a https://code.google.com/p/asciidoc-diag-filter/[blockdiag filter for Asciidoc] which embeds http://blockdiag.com/[blockdiag] images in AsciiDoc documents. - Dan Allen has written a https://github.com/mojavelinux/asciidoc-bootstrap-docs-backend[Bootstrap backend] for AsciiDoc. - Steven Boscarine has written https://github.com/StevenBoscarine/JavaAsciidocWrapper[Maven wrapper for AsciiDoc]. - Christian Goltz has written https://github.com/christiangoltz/shaape[Shaape], an Ascii art to image converter for AsciiDoc. - Eduardo Santana has written an https://github.com/edusantana/asciidoc-highlight[Asciidoc Highlight for Notepad++]. - http://www.geany.org/[Geany] 1.23 adds document structure support for AsciiDoc. Please let me know if any of these links need updating. [[X6]] Documents written using AsciiDoc -------------------------------- Here are some documents I know of, if you know of more drop me a line and I'll add them to the list. - The book http://practicalunittesting.com/[Practical Unit Testing] by Tomek Kaczanowski was https://groups.google.com/group/asciidoc/browse_frm/thread/4ba13926262efa23[written using Asciidoc]. - The book http://oreilly.com/catalog/9781449397296[Programming iOS 4] by Matt Neuburg was written using AsciiDoc. Matt has http://www.apeth.net/matt/iosbooktoolchain.html[written an article] describing how he used AsciiDoc and other tools to write the book. - The book http://oreilly.com/catalog/9780596155957/index.html[Programming Scala] by Dean Wampler and Alex Payne (O'Reilly) was http://groups.google.com/group/asciidoc/browse_frm/thread/449f1199343f0e27[written using Asciidoc]. - The http://www.ncfaculty.net/dogle/fishR/index.html[fishR] website has a number of http://www.ncfaculty.net/dogle/fishR/bookex/AIFFD/AIFFD.html[book examples] written using AsciiDoc. - The Neo4j graph database project uses Asciidoc, and the output is published here: http://docs.neo4j.org/. The build process includes live tested source code snippets and is described http://groups.google.com/group/asciidoc/browse_thread/thread/49d570062fd3ff52[here]. - http://frugalware.org/[Frugalware Linux] uses AsciiDoc for http://frugalware.org/docs[documentation]. - http://www.cherokee-project.com/doc/[Cherokee documentation]. - Henrik Maier produced this professional User manual using AsciiDoc: http://www.proconx.com/assets/files/products/modg100/UMMBRG300-1101.pdf - Henrik also produced this folded single page brochure format example: http://www.proconx.com/assets/files/products/modg100/IGMBRG300-1101-up.pdf + See this http://groups.google.com/group/asciidoc/browse_thread/thread/16ab5a06864b934f[AsciiDoc discussion group thread] for details. - The http://www.kernel.org/pub/software/scm/git/docs/user-manual.html[Git User's Manual]. - 'Git Magic' + http://www-cs-students.stanford.edu/~blynn/gitmagic/ + http://github.com/blynn/gitmagic/tree/1e5780f658962f8f9b01638059b27275cfda095c - 'CouchDB: The Definitive Guide' + http://books.couchdb.org/relax/ + http://groups.google.com/group/asciidoc/browse_thread/thread/a60f67cbbaf862aa/d214bf7fa2d538c4?lnk=gst&q=book#d214bf7fa2d538c4 - 'Ramaze Manual' + http://book.ramaze.net/ + http://github.com/manveru/ramaze-book/tree/master - Some documentation about git by Nico Schottelius (in German) http://nico.schotteli.us/papers/linux/git-firmen/. - The http://www.netpromi.com/kirbybase_ruby.html[KirbyBase for Ruby] database management system manual. - The http://xpt.sourceforge.net/[*Nix Power Tools project] uses AsciiDoc for documentation. - The http://www.wesnoth.org/[Battle for Wesnoth] project uses AsciiDoc for its http://www.wesnoth.org/wiki/WesnothManual[Manual] in a number of different languages. - Troy Hanson uses AsciiDoc to generate user guides for the http://tpl.sourceforge.net/[tpl] and http://uthash.sourceforge.net/[uthash] projects (the HTML versions have a customised contents sidebar). - http://volnitsky.com/[Leonid Volnitsky's site] is generated using AsciiDoc and includes Leonid's matplotlib filter. - http://www.weechat.org/[WeeChat] uses AsciiDoc for http://www.weechat.org/doc[project documentation]. - http://www.clansuite.com/[Clansuite] uses AsciiDoc for http://www.clansuite.com/documentation/[project documentation]. - The http://fc-solve.berlios.de/[Freecell Solver program] uses AsciiDoc for its http://fc-solve.berlios.de/docs/#distributed-docs[distributed documentation]. - Eric Raymond's http://gpsd.berlios.de/AIVDM.html[AIVDM/AIVDO protocol decoding] documentation is written using AsciiDoc. - Dwight Schauer has written an http://lxc.teegra.net/[LXC HOWTO] in AsciiDoc. - The http://www.rowetel.com/ucasterisk/[Free Telephony Project] website is generated using AsciiDoc. - Warren Block has http://www.wonkity.com/~wblock/docs/[posted a number of articles written using AsciiDoc]. - The http://code.google.com/p/waf/[Waf project's] 'Waf Book' is written using AsciiDoc, there is an http://waf.googlecode.com/svn/docs/wafbook/single.html[HTML] and a http://waf.googlecode.com/svn/docs/wafbook/waf.pdf[PDF] version. - The http://www.diffkit.org/[DiffKit] project's documentation and website have been written using Asciidoc. - The http://www.networkupstools.org[Network UPS Tools] project http://www.networkupstools.org/documentation.html[documentation] is an example of a large documentation project written using AsciiDoc. - http://www.archlinux.org/pacman/[Pacman], the http://www.archlinux.org/[Arch Linux] package manager, has been documented using AsciiDoc. - Suraj Kurapati has written a number of customized manuals for his Open Source projects using AsciiDoc: * http://snk.tuxfamily.org/lib/detest/ * http://snk.tuxfamily.org/lib/ember/ * http://snk.tuxfamily.org/lib/inochi/ * http://snk.tuxfamily.org/lib/rumai/ - The http://cxxtest.com/[CxxTest] project (unit testing for C++ language) has written its User Guide using AsciiDoc. Please let me know if any of these links need updating. DocBook 5.0 Backend ------------------- Shlomi Fish has begun work on a DocBook 5.0 `docbook50.conf` backend configuration file, you can find it http://bitbucket.org/shlomif/asciidoc[here]. See also: http://groups.google.com/group/asciidoc/browse_thread/thread/4386c7cc053d51a9 [[X1]] LaTeX Backend ------------- An experimental LaTeX backend was written for AsciiDoc in 2006 by Benjamin Klum. Benjamin did a superhuman job (I admit it, I didn't think this was doable due to AsciiDoc's SGML/XML bias). Owning to to other commitments, Benjamin was unable to maintain this backend. Here's link:latex-backend.html[Benjamin's original documentation]. Incompatibilities introduced after AsciiDoc 8.2.7 broke the LaTeX backend. In 2009 Geoff Eddy stepped up and updated the LaTeX backend, thanks to Geoff's efforts it now works with AsciiDoc 8.4.3. Geoff's updated `latex.conf` file shipped with AsciiDoc version 8.4.4. The backend still has limitations and remains experimental (see link:latex-bugs.html[Geoff's notes]). It's probably also worth pointing out that LaTeX output can be generated by passing AsciiDoc generated DocBook through `dblatex(1)`. Patches and bug reports ----------------------- Patches and bug reports are are encouraged, but please try to follow these guidelines: - Post bug reports and patches to the http://groups.google.com/group/asciidoc[asciidoc discussion list], this keeps things transparent and gives everyone a chance to comment. - The email subject line should be a specific and concise topic summary. Commonly accepted subject line prefixes such as '[ANN]', '[PATCH]' and '[SOLVED]' are good. === Bug reports - When reporting problems please illustrate the problem with the smallest possible example that replicates the issue (and please test your example before posting). This technique will also help to eliminate red herrings prior to posting. - Paste the commands that you executed along with any relevant outputs. - Include the version of AsciiDoc and the platform you're running it on. - If you can program please consider writing a patch to fix the problem. === Patches - Keep patches small and atomic (one issue per patch) -- no patch bombs. - If possible test your patch against the current trunk. - If your patch adds or modifies functionality include a short example that illustrates the changes. - Send patches in `diff -u` format, inline inside the mail message is usually best; if it is a very long patch then send it as an attachment. - Include documentation updates if you're up to it; otherwise insert 'TODO' comments at relevant places in the documentation. �����������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/examples/website/asciidoc.js��������������������������������������������������0000777�0001750�0001750�00000000000�13570064211�026442� 2../../javascripts/asciidoc.js�����������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/examples/website/userguide.txt������������������������������������������������0000777�0001750�0001750�00000000000�13570064211�025502� 2../../doc/asciidoc.txt������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/examples/website/asciidocapi.txt����������������������������������������������0000777�0001750�0001750�00000000000�13570064211�026450� 2../../doc/asciidocapi.txt���������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/examples/website/slidy-example.txt��������������������������������������������0000777�0001750�0001750�00000000000�13570064211�027262� 2../../doc/slidy-example.txt�������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/examples/website/support.txt��������������������������������������������������0000644�0001750�0001750�00000000212�13570064211�021506� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������AsciiDoc Support ================ - Terrence Brannon has set up the http://groups.google.com/group/asciidoc[AsciiDoc discussion list]. ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/examples/website/images�������������������������������������������������������0000777�0001750�0001750�00000000000�13570064211�022241� 2../../images����������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/examples/website/README-website.txt�������������������������������������������0000644�0001750�0001750�00000002013�13570064211�022370� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������AsciiDoc Website ================ The AsciiDoc website source is included in the AsciiDoc distribution (in `./examples/website/`) as an example of using AsciiDoc to build a website. A simple shell script (`./examples/website/build-website.sh`) will build the site's web pages -- just set the `LAYOUT` variable to the desired layout. Website Layouts --------------- The website layout is determined by the layout configuration file (`layout1.conf` or `layout2.conf`) and corresponding layout CSS file (`layout1.css` or `layout2.css`). The example website comes with the following layouts: [width="80%",cols="1,4",options="header"] |==================================================================== |Layout | Description |layout1 | Table based layout |layout2 | CSS based layout (this is the default layout) |==================================================================== The default tables based layout (layout1) works with most modern browsers. NOTE: The simulated frames layout (layout2) does not work with IE6. ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/examples/website/main.aap�����������������������������������������������������0000644�0001750�0001750�00000010634�13570064211�020651� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������##################################################################### # # A-A-P file for making AsciiDoc web site. # (you can obtain A-A-P from http://www.a-a-p.org) # # Stuart Rackham <srackham@gmail.com> ##################################################################### :execute ../../common.aap WEB_NAME = asciidoc LAYOUT ?= layout2 # Various document locations. PROJ_DIR = ../.. DOCS_DIR = $PROJ_DIR/doc LOCAL_WEB = ~/webs/asciidoc # Local web marshalling location. # List of web pages. WEB_ROOT = a2x.1 asciidoc-docbook-xsl asciidoc-graphviz-sample asciimathml asciidocapi CHANGELOG epub-notes faq index INSTALL latex-backend latex-bugs latexmathml manpage music-filter latex-filter publishing-ebooks-with-asciidoc README README-website source-highlight-filter support testasciidoc userguide version83 newtables newlists slidy slidy-example plugins WEB_PAGES = $*(WEB_ROOT).html WEB_SOURCE = $*(WEB_ROOT).txt # Web site specific pages to spell check. SPELL_CHECK = index.txt README-website.txt support.txt # Accompanying documents in DOCS_DIR. DOCS_ROOT = asciidoc asciidoc.1 DOCS = $*(DOCS_ROOT).txt $*(DOCS_ROOT).html $*(DOCS_ROOT).css-embedded.html asciidoc.pdf asciidoc.epub asciidoc.1 article.txt article.html article-standalone.html article-html5-toc2.html book.txt book.html book-multi.txt book-multi.html book.epub article.pdf latexmath.pdf # Client applications. @if OSTYPE == 'posix': ASPELL = `program_path("aspell")` @else: :print ERROR: Unsupported operating system $OSTYPE :exit :syseval which xmllint | :assign XMLLINT # Validates XML. ASCIIDOC = python ../../asciidoc.py # AsciiDoc options to generate documentation HTML. ASCIIDOC_HTML = $ASCIIDOC -b xhtml11 -f $(LAYOUT).conf -a icons -a badges -a revnumber=$(VERS)@ -a revdate="$(DATE)@" -a max-width=70em -a source-highlighter=highlight :rule %.html : %.txt $(LAYOUT).conf @if target in ('userguide.html','faq.html'): # User guide has author, revision, date in header. opts = -a toc -a numbered @elif target == 'index.html': # Index has description and keywords meta tags. opts = -a index-only @elif target in ('manpage.html','a2x.1.html'): opts = -d manpage @elif target == 'asciimathml.html': opts = -a asciimath @elif target == 'latexmathml.html': opts = -a latexmath @else: opts = @if target in ('index.html','INSTALL.html','asciidocapi.html','testasciidoc.html','publishing-ebooks-with-asciidoc.html'): opts += -a toc -a toclevels=1 :sys $ASCIIDOC_HTML $opts $(source[0]) @if _no.XMLLINT: :sys $XMLLINT --nonet --noout --valid $target @else: :print WARNING: xmllint(1) unavailable: skipping validation slidy.html : slidy.txt :sys $ASCIIDOC $(source[0]) slidy-example.html : slidy-example.txt :sys $ASCIIDOC $(source[0]) all: $(WEB_PAGES) copy: all # Copy to local web page. :sys rm -rf $LOCAL_WEB/* :sys mkdir -p $LOCAL_WEB/images/icons/callouts :sys cp $WEB_PAGES $LOCAL_WEB :sys cp $WEB_SOURCE $LOCAL_WEB :sys cp *.css $LOCAL_WEB :sys cp *.js $LOCAL_WEB :execute $PROJ_DIR/main.aap distribution # Make docs and tarball. :sys cp $DOCS_DIR/$*DOCS $LOCAL_WEB :sys cp $PROJ_DIR/stylesheets/docbook-xsl.css $LOCAL_WEB # Copy images. :sys cp $DOCS_DIR/images/*.png $LOCAL_WEB/images/ :sys cp $DOCS_DIR/images/icons/*.png $LOCAL_WEB/images/icons/ :sys cp $DOCS_DIR/images/icons/callouts/*.png $LOCAL_WEB/images/icons/callouts/ # Copy chunked User Guide. :sys rm -rf $LOCAL_WEB/chunked/ :sys mkdir -p $LOCAL_WEB/chunked/ :sys cp $DOCS_DIR/asciidoc.chunked/*.html $LOCAL_WEB/chunked/ :sys cp $DOCS_DIR/asciidoc.chunked/*.css $LOCAL_WEB/chunked/ :sys cp -R $DOCS_DIR/asciidoc.chunked/images $LOCAL_WEB/chunked/ :sys cp music?.* $LOCAL_WEB :sys cp sample?.png $LOCAL_WEB :sys cp latex?.png $LOCAL_WEB :sys cp *__*.png $LOCAL_WEB clean: :del {f} $WEB_PAGES :del {f} *.bak # Remove aspell backups. spell: $(SPELL_CHECK) # Interactively spell check all files. @if _no.ASPELL: @for s in source_list: :sys {i} $ASPELL check -p ./$(WEB_NAME)-website.dict $s @else: :print WARNING: aspell(1) unavailable, skipping spell checking ����������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/examples/website/a2x.1.txt����������������������������������������������������0000777�0001750�0001750�00000000000�13570064211�023412� 2../../doc/a2x.1.txt���������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/examples/website/README.txt���������������������������������������������������0000777�0001750�0001750�00000000000�13570064211�024014� 2../../README.asciidoc�������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/examples/website/source-highlight-filter.txt����������������������������������0000777�0001750�0001750�00000000000�13570064211�033210� 2../../doc/source-highlight-filter.txt���������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/examples/website/newlists.txt�������������������������������������������������0000644�0001750�0001750�00000003176�13570064211�021656� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������AsciiDoc New Lists ================== *New in version 8.3.0* Lists can now be styled like other block elements, this allows the normal bulleted and labeled list syntax to be used for 'glossary', 'qanda' (Question and Answer) and 'bibliography' lists instead of having to remember a different syntax for each one. In the same vein there is only one labeled list syntax, horizontal labeled lists are rendered by applying the 'horizontal' style. Examples: --------------------------------------------------------------------- [glossary] A glossary term:: The corresponding definition. A second glossary term:: The corresponding definition. [horizontal] Lorem:: Fusce euismod commodo velit. Ipsum:: Vivamus fringilla mi eu lacus. --------------------------------------------------------------------- The list related stuff in the configuration files has been rationalized with separate 'listtags-\*' sections (c.f. table 'tabletags-*' sections). The old list tags are no longer supported so you'll need to update your custom configuration file list definitions. These changes necessitated the following backward incompatibilities: . You have to explicitly precede horizontal labeled lists with the `[horizontal]` style attribute -- if you do nothing the existing horizontal labeled lists will be rendered vertically. . The old 'compact' list style is now implemented as a list option, to update replace `[compact]` with `[options="compact"]`. You can now apply the 'compact' option globally by setting the `compact-option` document attribute. . You'll need to update any customized configuration file list definitions that have been made. ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/examples/website/CHANGELOG.txt������������������������������������������������0000777�0001750�0001750�00000000000�13570064211�023741� 2../../CHANGELOG.txt���������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/examples/website/epub-notes.txt�����������������������������������������������0000777�0001750�0001750�00000000000�13570064211�026072� 2../../doc/epub-notes.txt����������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/examples/website/INSTALL.txt��������������������������������������������������0000777�0001750�0001750�00000000000�13570064211�023377� 2../../INSTALL.txt�����������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/examples/website/asciimathml.txt����������������������������������������������0000777�0001750�0001750�00000000000�13570064211�026516� 2../../doc/asciimathml.txt���������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/examples/website/layout1.css��������������������������������������������������0000644�0001750�0001750�00000002157�13570064211�021353� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������body { background-color: white; margin: 1%; } h1 { margin-top: 0.5em; } #layout-banner { background-color: #73a0c5; color: white; font-family: Arial,Helvetica,sans-serif; text-align: left; padding: 0.8em 20px; } #layout-title { font-family: "Courier New", Courier, monospace; font-size: 3.5em; font-weight: bold; letter-spacing: 0.2em; margin: 0; } #layout-description { font-size: 1.2em; letter-spacing: 0.1em; } #layout-menu { background-color: #f4f4f4; border-right: 3px solid #eeeeee; padding-top: 0.8em; padding-left: 20px; padding-right: 0.8em; font-size: 1.1em; font-family: Arial,Helvetica,sans-serif; font-weight: bold; } #layout-menu a { line-height: 2em; margin-left: 0.5em; } #layout-menu a:link, #layout-menu a:visited, #layout-menu a:hover { color: #527bbd; text-decoration: none; } #layout-menu a:hover { color: navy; text-decoration: none; } #layout-menu #page-source { border-top: 2px solid silver; margin-top: 0.2em; } #layout-content { margin-left: 1.0em; } @media print { #layout-banner { display: none; } #layout-menu { display: none; } } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/examples/website/build-website.sh���������������������������������������������0000755�0001750�0001750�00000001510�13570064211�022331� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh VERS="9.0.0rc1" DATE="2019-11-27" # Leave the desired layout uncommented. #LAYOUT=layout1 # Tables based layout. LAYOUT=layout2 # CSS based layout. ASCIIDOC_HTML="python ../../asciidoc.py --backend=xhtml11 --conf-file=${LAYOUT}.conf --attribute icons --attribute iconsdir=./images/icons --attribute=badges --attribute=revision=$VERS --attribute=date=$DATE" $ASCIIDOC_HTML -a index-only index.txt $ASCIIDOC_HTML -a toc -a numbered userguide.txt $ASCIIDOC_HTML -d manpage manpage.txt $ASCIIDOC_HTML downloads.txt $ASCIIDOC_HTML latex-backend.txt $ASCIIDOC_HTML README.txt $ASCIIDOC_HTML INSTALL.txt $ASCIIDOC_HTML CHANGELOG.txt $ASCIIDOC_HTML README-website.txt $ASCIIDOC_HTML support.txt $ASCIIDOC_HTML source-highlight-filter.txt $ASCIIDOC_HTML music-filter.txt $ASCIIDOC_HTML a2x.1.txt $ASCIIDOC_HTML asciimath.txt ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/examples/website/latexmathml.txt����������������������������������������������0000777�0001750�0001750�00000000000�13570064211�026570� 2../../doc/latexmathml.txt���������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/examples/website/favicon.ico��������������������������������������������������0000644�0001750�0001750�00000002176�13570064211�021365� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ �h�����(������ ���� ��������� �� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������- O���2������������������������������� �P/�hX$�x5�V лlt g1������������������������&Nbτ6ޞVޫn̴ܳ_c��h���������������8�T_ ֔Ny#c(��������")Gۉ+ɥv|\T��U����tݩdȻス䮮ᰰp"O����eߪhԨ糳પ}ZD���DY�gnjߦҜ춶㯯ܦh=�����Z� d ͞޴ȳ­겲糳W7# �/��������N�#uΟ恵]\\y����������������M�43JKKR,WYY����������������������������G�)ZOFiD5'''��������������������������������������������������������������������������������������������������������������������������������������������������������������Ҁ�n���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/examples/website/layout2.conf�������������������������������������������������0000644�0001750�0001750�00000012365�13570064211�021513� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# # AsciiDoc website. # Three division CSS based layout (layout2). # # Simulated frames using CSS (fixed banner and menu, scrolling content). # NOTE: This layout does not work with IE6. # # +-----------------------------------------------------+ # | #layout-banner | # +--------------+--------------------------------------+ # | | | # | | | # | #layout-menu | #layout-content | # | | | # | | | # | | | # +--------------+--------------------------------------+ # # Each of the three divisions is enclosed in a same-named *-box division # which position and size the layout. # # - The #layout-content division is a container for AsciiDoc page documents. # - Documents rendered in the #layout-content use the standard AsciiDoc # xhtml11 backend stylesheets. [specialwords] monospacedwords=\\?\basciidoc\(1\) \\?\ba2x\(1\) [header] <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset={encoding}" /> <meta name="generator" content="AsciiDoc {asciidoc-version}" /> <meta name="description" content="{description}" /> <meta name="keywords" content="{keywords}" /> <title>{title} {title%}{doctitle=} {doctype-manpage} ifdef::quirks[] endif::quirks[] ifdef::asciimath[] endif::asciimath[] ifdef::latexmath[] endif::latexmath[]
AsciiDoc
Text based document generation
# Article, book header. ifndef::doctype-manpage[] endif::doctype-manpage[] # Man page header. ifdef::doctype-manpage[] endif::doctype-manpage[]
[footer]
{disable-javascript%

}
asciidoc-py3-9.0.0rc1/examples/website/newtables.txt0000644000175000017500000004603013570064211021766 0ustar josephjosephAsciiDoc New tables =================== *New in version 8.3.0* I've finally come up with a 'new tables' syntax that I'm happy with and can at last remove this footnote from the 'User Guide': ``The current table syntax is overly complicated and unwieldy to edit, hopefully a more usable syntax will appear in future versions of AsciiDoc.'' .Update ********************************************************************* The following additions were made at AsciiDoc 8.4.4: - Cell column and row spanning. - Styles can be applied per cell. - Vertical cell alignment can be applied to columns and cells. See the examples at the end of this document. ********************************************************************* At first glance it doesn't look much different to the old syntax but it's a lot more flexible, easier to enter and supports a lot of column styles (for example the 'asciidoc' style supports AsciiDoc block and inline elements). The old tables syntax has been deprecated but is currently still processed. Here are some examples of AsciiDoc 'new tables': .Simple table [width="15%"] |======= |1 |2 |A |3 |4 |B |5 |6 |C |======= .AsciiDoc source --------------------------------------------------------------------- [width="15%"] |======= |1 |2 |A |3 |4 |B |5 |6 |C |======= --------------------------------------------------------------------- .Table with title, header and footer [width="40%",frame="topbot",options="header,footer"] |====================== |Column 1 |Column 2 |1 |Item 1 |2 |Item 2 |3 |Item 3 |6 |Three items |====================== .AsciiDoc source --------------------------------------------------------------------- .An example table [width="40%",frame="topbot",options="header,footer"] |====================== |Column 1 |Column 2 |1 |Item 1 |2 |Item 2 |3 |Item 3 |6 |Three items |====================== --------------------------------------------------------------------- .Columns formatted with strong, monospaced and emphasis styles [width="50%",cols=">s,^2m,^2e",frame="topbot",options="header,footer"] |========================== | 2+|Columns 2 and 3 |1 |Item 1 |Item 1 |2 |Item 2 |Item 2 |3 |Item 3 |Item 3 |4 |Item 4 |Item 4 |footer 1|footer 2|footer 3 |========================== .AsciiDoc source --------------------------------------------------------------------- .An example table [width="50%",cols=">s,^2m,^2e",frame="topbot",options="header,footer"] |========================== | 2+|Columns 2 and 3 |1 |Item 1 |Item 1 |2 |Item 2 |Item 2 |3 |Item 3 |Item 3 |4 |Item 4 |Item 4 |footer 1|footer 2|footer 3 |========================== --------------------------------------------------------------------- .A table with externally sourced CSV data [format="csv",cols="^1,4*2",options="header"] |=================================================== ID,Customer Name,Contact Name,Customer Address,Phone include::customers.csv[] |=================================================== .AsciiDoc source --------------------------------------------------------------------- [format="csv",cols="^1,4*2",options="header"] |=================================================== ID,Customer Name,Contact Name,Customer Address,Phone include::customers.csv[] |=================================================== --------------------------------------------------------------------- .DVS formatted table [width="70%",format="dsv"] |==================================== root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/bin/sh bin:x:2:2:bin:/bin:/bin/sh sys:x:3:3:sys:/dev:/bin/sh sync:x:4:65534:sync:/bin:/bin/sync games:x:5:60:games:/usr/games:/bin/sh |==================================== .AsciiDoc source --------------------------------------------------------------------- [width="70%",format="dsv"] |==================================== root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/bin/sh bin:x:2:2:bin:/bin:/bin/sh sys:x:3:3:sys:/dev:/bin/sh sync:x:4:65534:sync:/bin:/bin/sync games:x:5:60:games:/usr/games:/bin/sh |==================================== --------------------------------------------------------------------- .Horizontal and vertical source data [width="80%",cols="3,^2,^2,10",options="header"] |========================================================= |Date |Duration |Avg HR |Notes |22-Aug-08 |10:24 | 157 | Worked out MSHR (max sustainable heart rate) by going hard for this interval. |22-Aug-08 |23:03 | 152 | Back-to-back with previous interval. |24-Aug-08 |40:00 | 145 | Moderately hard interspersed with 3x 3min intervals (2min hard + 1min really hard taking the HR up to 160). |========================================================= Short cells can be entered horizontally, longer cells vertically. The default behavior is to strip leading and trailing blank lines within a cell. These characteristics aid readability and data entry. .AsciiDoc source --------------------------------------------------------------------- .Windtrainer workouts [width="80%",cols="3,^2,^2,10",options="header"] |========================================================= |Date |Duration |Avg HR |Notes |22-Aug-08 |10:24 | 157 | Worked out MSHR (max sustainable heart rate) by going hard for this interval. |22-Aug-08 |23:03 | 152 | Back-to-back with previous interval. |24-Aug-08 |40:00 | 145 | Moderately hard interspersed with 3x 3min intervals (2min hard + 1min really hard taking the HR up to 160). |========================================================= --------------------------------------------------------------------- .Default and verse styles [cols=",^v",options="header"] |=================================== |Default paragraphs |Centered verses 2*|Per id. Consul *necessitatibus* per id, consetetur, eu pro everti postulant homero verear ea mea, qui. Consul *necessitatibus* per id, consetetur, eu pro everti postulant homero verear ea mea, qui. |=================================== .AsciiDoc source --------------------------------------------------------------------- [cols=",^v",options="header"] |=================================== |Default paragraphs |Centered verses 2*|Per id. Consul *necessitatibus* per id, consetetur, eu pro everti postulant homero verear ea mea, qui. Consul *necessitatibus* per id, consetetur, eu pro everti postulant homero verear ea mea, qui. |=================================== --------------------------------------------------------------------- .Horizontal and vertial headings [cols="h,4*",options="header",width="50%"] |================================== | |West |Central |East | Total |Q1 |270 |292 |342 | 904 |Q2 |322 |276 |383 | 981 |Q3 |298 |252 |274 | 824 |Q4 |344 |247 |402 | 993 |================================== .AsciiDoc source --------------------------------------------------------------------- .Horizontal and vertial headings [cols="h,4*",options="header",width="50%"] |================================== | |West |Central |East | Total |Q1 |270 |292 |342 | 904 |Q2 |322 |276 |383 | 981 |Q3 |298 |252 |274 | 824 |Q4 |344 |247 |402 | 993 |================================== --------------------------------------------------------------------- .AsciiDoc style in first column, Literal in second [cols="asciidoc,literal",options="header",grid="cols"] |================================== |Output markup |AsciiDoc source 2*| Consul *necessitatibus* per id, consetetur, eu pro everti postulant homero verear ea mea, qui. ----------------------------------- Consul *necessitatibus* per id, consetetur, eu pro everti postulant homero verear ea mea, qui. ----------------------------------- .Code filter example [source,python] ----------------------------------- ''' A multi-line comment.''' def sub_word(mo): ''' Single line comment.''' word = mo.group('word') if word in keywords[language]: return quote + word + quote else: return word ----------------------------------- - Lorem ipsum dolor sit amet, consectetuer adipiscing elit. * Fusce euismod commodo velit. * Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel. * Vivamus fringilla mi eu lacus. * Donec eget arcu bibendum nunc consequat lobortis. - Nulla porttitor vulputate libero. . Fusce euismod commodo velit. . Vivamus fringilla mi eu lacus. |================================== .AsciiDoc source [listing] ..................................................................... [cols="asciidoc,literal",options="header",grid="cols"] |================================== |Output markup |AsciiDoc source 2*| Consul *necessitatibus* per id, consetetur, eu pro everti postulant homero verear ea mea, qui. ----------------------------------- Consul *necessitatibus* per id, consetetur, eu pro everti postulant homero verear ea mea, qui. ----------------------------------- .Code filter example [source,python] ----------------------------------- ''' A multi-line comment.''' def sub_word(mo): ''' Single line comment.''' word = mo.group('word') if word in keywords[language]: return quote + word + quote else: return word ----------------------------------- - Lorem ipsum dolor sit amet, consectetuer adipiscing elit. * Fusce euismod commodo velit. * Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel. * Vivamus fringilla mi eu lacus. * Donec eget arcu bibendum nunc consequat lobortis. - Nulla porttitor vulputate libero. . Fusce euismod commodo velit. . Vivamus fringilla mi eu lacus. |================================== ..................................................................... .Cell containing lots of example markup elements |==================================================================== |'URLs': http://asciidoc.org/[The AsciiDoc home page], http://asciidoc.org/, mailto:joe.bloggs@example.com[email Joe Bloggs], joe.bloggs@example.com, callto:joe.bloggs[]. 'Link': See <>. 'Emphasized text', *Strong text*, +Monospaced text+, ``Quoted text''. 'Subscripts and superscripts': e^{amp}#960;i^+1 = 0. H~2~O and x^10^. Some ^super text^ and ~some sub text~ 'Replacements': (C) copyright, (TM) trademark, (R) registered trademark, -- em dash, ... ellipsis, -> right arrow, <- left arrow, => right double arrow, <= left double arrow. |==================================================================== [[X1]] .AsciiDoc source --------------------------------------------------------------------- |==================================================================== |'URLs': http://asciidoc.org/[The AsciiDoc home page], http://asciidoc.org/, mailto:joe.bloggs@example.com[email Joe Bloggs], joe.bloggs@example.com, callto:joe.bloggs[]. 'Link': See <>. 'Emphasized text', *Strong text*, +Monospaced text+, ``Quoted text''. 'Subscripts and superscripts': e^{amp}#960;i^+1 = 0. H~2~O and x^10^. Some ^super text^ and ~some sub text~ 'Replacements': (C) copyright, (TM) trademark, (R) registered trademark, -- em dash, ... ellipsis, -> right arrow, <- left arrow, => right double arrow, <= left double arrow. |==================================================================== --------------------------------------------------------------------- .Nested table [width="75%",cols="1,2a"] |============================================== |Normal cell |Cell with nested table [cols="2,1"] !============================================== !Nested table cell 1 !Nested table cell 2 !============================================== |============================================== .AsciiDoc source --------------------------------------------------------------------- [width="75%",cols="1,2a"] |============================================== |Normal cell |Cell with nested table [cols="2,1"] !============================================== !Nested table cell 1 !Nested table cell 2 !============================================== |============================================== --------------------------------------------------------------------- .Spans, alignments and styles [cols="e,m,^,>s",width="25%"] |================ |1 >s|2 |3 |4 ^|5 2.2+^.^|6 .3+<.>m|7 ^|8 |9 2+>|10 |================ .AsciiDoc source --------------------------------------------------------------------- .Spans, alignments and styles [cols="e,m,^,>s",width="25%"] |================ |1 >s|2 |3 |4 ^|5 2.2+^.^|6 .3+<.>m|7 ^|8 |9 2+>|10 |================ --------------------------------------------------------------------- .Three panes [cols="a,2a"] |================================== | [float] Top Left Pane ~~~~~~~~~~~~~ Consul *necessitatibus* per id, consetetur, eu pro everti postulant homero verear ea mea, qui. Consul *necessitatibus* per id, consetetur, eu pro everti postulant homero verear ea mea, qui. .2+| [float] Right Pane ~~~~~~~~~~ Consul *necessitatibus* per id, consetetur, eu pro everti postulant homero verear ea mea, qui. ----------------------------------- Consul *necessitatibus* per id, consetetur, eu pro everti postulant homero verear ea mea, qui. ----------------------------------- .Code filter example [source,python] ----------------------------------- ''' A multi-line comment.''' def sub_word(mo): ''' Single line comment.''' word = mo.group('word') if word in keywords[language]: return quote + word + quote else: return word ----------------------------------- - Lorem ipsum dolor sit amet, consectetuer adipiscing elit. * Fusce euismod commodo velit. * Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel. * Vivamus fringilla mi eu lacus. * Donec eget arcu bibendum nunc consequat lobortis. - Nulla porttitor vulputate libero. . Fusce euismod commodo velit. . Vivamus fringilla mi eu lacus. | [float] Bottom Left Pane ~~~~~~~~~~~~~~~~ Consul *necessitatibus* per id, consetetur, eu pro everti postulant homero verear ea mea, qui. Consul *necessitatibus* per id, consetetur, eu pro everti postulant homero verear ea mea, qui. - Lorem ipsum dolor sit amet, consectetuer adipiscing elit. * Fusce euismod commodo velit. * Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel. * Vivamus fringilla mi eu lacus. * Donec eget arcu bibendum nunc consequat lobortis. - Nulla porttitor vulputate libero. . Fusce euismod commodo velit. . Vivamus fringilla mi eu lacus. |================================== .AsciiDoc source [listing] ..................................................................... .Three panes [cols="a,2a"] |================================== | [float] Top Left Pane ~~~~~~~~~~~~~ Consul *necessitatibus* per id, consetetur, eu pro everti postulant homero verear ea mea, qui. Consul *necessitatibus* per id, consetetur, eu pro everti postulant homero verear ea mea, qui. .2+| [float] Right Pane ~~~~~~~~~~ Consul *necessitatibus* per id, consetetur, eu pro everti postulant homero verear ea mea, qui. ----------------------------------- Consul *necessitatibus* per id, consetetur, eu pro everti postulant homero verear ea mea, qui. ----------------------------------- .Code filter example [source,python] ----------------------------------- ''' A multi-line comment.''' def sub_word(mo): ''' Single line comment.''' word = mo.group('word') if word in keywords[language]: return quote + word + quote else: return word ----------------------------------- - Lorem ipsum dolor sit amet, consectetuer adipiscing elit. * Fusce euismod commodo velit. * Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel. * Vivamus fringilla mi eu lacus. * Donec eget arcu bibendum nunc consequat lobortis. - Nulla porttitor vulputate libero. . Fusce euismod commodo velit. . Vivamus fringilla mi eu lacus. | [float] Bottom Left Pane ~~~~~~~~~~~~~~~~ Consul *necessitatibus* per id, consetetur, eu pro everti postulant homero verear ea mea, qui. Consul *necessitatibus* per id, consetetur, eu pro everti postulant homero verear ea mea, qui. - Lorem ipsum dolor sit amet, consectetuer adipiscing elit. * Fusce euismod commodo velit. * Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel. * Vivamus fringilla mi eu lacus. * Donec eget arcu bibendum nunc consequat lobortis. - Nulla porttitor vulputate libero. . Fusce euismod commodo velit. . Vivamus fringilla mi eu lacus. |================================== ..................................................................... == Combinations of 'align', 'frame', 'grid', 'valign' and 'halign' attributes :frame: all :grid: all :halign: left :valign: top [options="header"] |==== ||frame | grid |valign |halign v|      |{frame} | {grid} |{valign} |{halign} |==== .AsciiDoc source --------------------------------------------------------------------- :frame: all :grid: all :halign: left :valign: top [options="header"] |==== ||frame | grid |valign |halign v|      |{frame} | {grid} |{valign} |{halign} |==== --------------------------------------------------------------------- :frame: sides :grid: rows :halign: center :valign: middle .Table test [width="50%",options="header"] |==== ||frame | grid |valign |halign v|      |{frame} | {grid} |{valign} |{halign} |==== .AsciiDoc source --------------------------------------------------------------------- :frame: sides :grid: rows :halign: center :valign: middle .Table test [width="50%",options="header"] |==== ||frame | grid |valign |halign v|      |{frame} | {grid} |{valign} |{halign} |==== --------------------------------------------------------------------- :frame: topbot :grid: cols :halign: right :valign: bottom [align="right",width="50%",options="header"] |==== ||frame | grid |valign |halign v|      |{frame} | {grid} |{valign} |{halign} |==== .AsciiDoc source --------------------------------------------------------------------- :frame: topbot :grid: cols :halign: right :valign: bottom [align="right",width="50%",options="header"] |==== ||frame | grid |valign |halign v|      |{frame} | {grid} |{valign} |{halign} |==== --------------------------------------------------------------------- :frame: none :grid: none :halign: left :valign: top [align="center",width="50%",options="header"] |==== ||frame | grid |valign |halign v|      |{frame} | {grid} |{valign} |{halign} |==== .AsciiDoc source --------------------------------------------------------------------- :frame: none :grid: none :halign: left :valign: top [align="center",width="50%",options="header"] |==== ||frame | grid |valign |halign v|      |{frame} | {grid} |{valign} |{halign} |==== --------------------------------------------------------------------- :frame!: :grid!: :halign!: :valign!: asciidoc-py3-9.0.0rc1/examples/website/layout1.conf0000644000175000017500000001224413570064211021506 0ustar josephjoseph# # AsciiDoc website. # Three division table based layout (layout1). # NOTE: You should probably use the the pure CSS layout # (layout2.conf). # # +-----------------------------------------------------+ # | #layout-banner | # +--------------+--------------------------------------+ # | | | # | | | # | #layout-menu | #layout-content | # | | | # | | | # | | | # +--------------+--------------------------------------+ # # - The #layout-menu and #layout-content divisions are contained in a # two cell table. # - The #layout-content division is a container for AsciiDoc page documents. # - Documents rendered in the #layout-content use the standard AsciiDoc # xhtml11 backend stylesheets. [specialwords] monospacedwords=\\?\basciidoc\(1\) \\?\ba2x\(1\) [header] {title} {title%}{doctitle=} {doctype-manpage} ifdef::quirks[] endif::quirks[] ifdef::asciimath[] endif::asciimath[] ifdef::latexmath[] endif::latexmath[]
AsciiDoc
Text based document generation
»FAQ
»API
# Article, book header. ifndef::doctype-manpage[] endif::doctype-manpage[] # Man page header. ifdef::doctype-manpage[] endif::doctype-manpage[]
[footer]
{disable-javascript%

}
asciidoc-py3-9.0.0rc1/examples/website/asciidoc.css0000777000175000017500000000000013570064211027015 2../../stylesheets/asciidoc.cssustar josephjosephasciidoc-py3-9.0.0rc1/lang-id.conf0000644000175000017500000000221613570064211016141 0ustar josephjoseph# # AsciiDoc Indonesian language configuration file. # [attributes] # Captions, used by (X)HTML backends. # Captions on RHS are displayed in outputs. ifdef::basebackend-html[] caution-caption=Perhatian important-caption=Penting note-caption=Catatan tip-caption=Tips warning-caption=Peringatan figure-caption=Gambar table-caption=Tabel example-caption=Contoh toc-title=Daftar Isi appendix-caption=Lampiran # Man page NAME section title. manname-title=NAME [footer-text] Versi {revnumber}{basebackend-xhtml11?
}{basebackend-xhtml11=
} Pembaruan terakhir template::[footer-date] endif::basebackend-html[] [specialsections] # DocBook special sections. # The regular expression on LHS is matched against source titles. ifdef::basebackend-docbook[] ifdef::doctype-article[] ^Abstrak$=abstract endif::doctype-article[] ifdef::doctype-book[] ^Colophon$=colophon ^Dedikasi$=dedication ^Pengantar$=preface endif::doctype-book[] ^Indeks$=index ^(Bibliografi|Referensi|Pustaka)$=bibliography ^Glosarium$=glossary ^Lampiran [A-Z][:.](?P.*)$=appendix endif::basebackend-docbook[] ifdef::doctype-manpage[] (?i)^SYNOPSIS$=synopsis endif::doctype-manpage[] ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/stylesheets/������������������������������������������������������������������0000755�0001750�0001750�00000000000�13570064211�016332� 5����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/stylesheets/toc2.css����������������������������������������������������������0000644�0001750�0001750�00000001031�13570064211�017706� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������@media screen { body { max-width: 50em; /* approximately 80 characters wide */ margin-left: 16em; } #toc { position: fixed; top: 0; left: 0; bottom: 0; width: 13em; padding: 0.5em; padding-bottom: 1.5em; margin: 0; overflow: auto; border-right: 3px solid #f8f8f8; background-color: white; } #toc .toclevel1 { margin-top: 0.5em; } #toc .toclevel2 { margin-top: 0.25em; display: list-item; color: #aaaaaa; } #toctitle { margin-top: 0.5em; } } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/stylesheets/xhtml11-quirks.css������������������������������������������������0000644�0001750�0001750�00000001533�13570064211�021660� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Workarounds for IE6's broken and incomplete CSS2. */ div.sidebar-content { background: #ffffee; border: 1px solid silver; padding: 0.5em; } div.sidebar-title, div.image-title { color: #527bbd; font-family: Arial,Helvetica,sans-serif; font-weight: bold; margin-top: 0.0em; margin-bottom: 0.5em; } div.listingblock div.content { border: 1px solid silver; background: #f4f4f4; padding: 0.5em; } div.quoteblock-attribution { padding-top: 0.5em; text-align: right; } pre.verseblock-content { font-family: inherit; } div.verseblock-attribution { padding-top: 0.75em; text-align: left; } div.exampleblock-content { border-left: 3px solid #dddddd; padding-left: 0.5em; } div.imageblock.latex div.image-title { margin-top: 0.5em; } /* IE6 sets dynamically generated links as visited. */ div#toc a:visited { color: blue; } ���������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/stylesheets/docbook-xsl.css���������������������������������������������������0000644�0001750�0001750�00000013152�13570064211�021272� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* CSS stylesheet for XHTML produced by DocBook XSL stylesheets. */ body { font-family: Georgia,serif; } code, pre { font-family: "Courier New", Courier, monospace; } span.strong { font-weight: bold; } body blockquote { margin-top: .75em; line-height: 1.5; margin-bottom: .75em; } html body { margin: 1em 5% 1em 5%; line-height: 1.2; } body div { margin: 0; } h1, h2, h3, h4, h5, h6 { color: #527bbd; font-family: Arial,Helvetica,sans-serif; } div.toc p:first-child, div.list-of-figures p:first-child, div.list-of-tables p:first-child, div.list-of-examples p:first-child, div.example p.title, div.sidebar p.title { font-weight: bold; color: #527bbd; font-family: Arial,Helvetica,sans-serif; margin-bottom: 0.2em; } body h1 { margin: .0em 0 0 -4%; line-height: 1.3; border-bottom: 2px solid silver; } body h2 { margin: 0.5em 0 0 -4%; line-height: 1.3; border-bottom: 2px solid silver; } body h3 { margin: .8em 0 0 -3%; line-height: 1.3; } body h4 { margin: .8em 0 0 -3%; line-height: 1.3; } body h5 { margin: .8em 0 0 -2%; line-height: 1.3; } body h6 { margin: .8em 0 0 -1%; line-height: 1.3; } body hr { border: none; /* Broken on IE6 */ } div.footnotes hr { border: 1px solid silver; } div.navheader th, div.navheader td, div.navfooter td { font-family: Arial,Helvetica,sans-serif; font-size: 0.9em; font-weight: bold; color: #527bbd; } div.navheader img, div.navfooter img { border-style: none; } div.navheader a, div.navfooter a { font-weight: normal; } div.navfooter hr { border: 1px solid silver; } body td { line-height: 1.2 } body th { line-height: 1.2; } ol { line-height: 1.2; } ul, body dir, body menu { line-height: 1.2; } html { margin: 0; padding: 0; } body h1, body h2, body h3, body h4, body h5, body h6 { margin-left: 0 } body pre { margin: 0.5em 10% 0.5em 1em; line-height: 1.0; color: navy; } tt.literal, code.literal { color: navy; } .programlisting, .screen { border: 1px solid silver; background: #f4f4f4; margin: 0.5em 10% 0.5em 0; padding: 0.5em 1em; } div.sidebar { background: #ffffee; margin: 1.0em 10% 0.5em 0; padding: 0.5em 1em; border: 1px solid silver; } div.sidebar * { padding: 0; } div.sidebar div { margin: 0; } div.sidebar p.title { margin-top: 0.5em; margin-bottom: 0.2em; } div.bibliomixed { margin: 0.5em 5% 0.5em 1em; } div.glossary dt { font-weight: bold; } div.glossary dd p { margin-top: 0.2em; } dl { margin: .8em 0; line-height: 1.2; } dt { margin-top: 0.5em; } dt span.term { font-style: normal; color: navy; } div.variablelist dd p { margin-top: 0; } div.itemizedlist li, div.orderedlist li { margin-left: -0.8em; margin-top: 0.5em; } ul, ol { list-style-position: outside; } div.sidebar ul, div.sidebar ol { margin-left: 2.8em; } div.itemizedlist p.title, div.orderedlist p.title, div.variablelist p.title { margin-bottom: -0.8em; } div.revhistory table { border-collapse: collapse; border: none; } div.revhistory th { border: none; color: #527bbd; font-family: Arial,Helvetica,sans-serif; } div.revhistory td { border: 1px solid silver; } /* Keep TOC and index lines close together. */ div.toc dl, div.toc dt, div.list-of-figures dl, div.list-of-figures dt, div.list-of-tables dl, div.list-of-tables dt, div.indexdiv dl, div.indexdiv dt { line-height: normal; margin-top: 0; margin-bottom: 0; } /* Table styling does not work because of overriding attributes in generated HTML. */ div.table table, div.informaltable table { margin-left: 0; margin-right: 5%; margin-bottom: 0.8em; } div.informaltable table { margin-top: 0.4em } div.table thead, div.table tfoot, div.table tbody, div.informaltable thead, div.informaltable tfoot, div.informaltable tbody { /* No effect in IE6. */ border-top: 3px solid #527bbd; border-bottom: 3px solid #527bbd; } div.table thead, div.table tfoot, div.informaltable thead, div.informaltable tfoot { font-weight: bold; } div.mediaobject img { margin-bottom: 0.8em; } div.figure p.title, div.table p.title { margin-top: 1em; margin-bottom: 0.4em; } div.calloutlist p { margin-top: 0em; margin-bottom: 0.4em; } a img { border-style: none; } @media print { div.navheader, div.navfooter { display: none; } } span.aqua { color: aqua; } span.black { color: black; } span.blue { color: blue; } span.fuchsia { color: fuchsia; } span.gray { color: gray; } span.green { color: green; } span.lime { color: lime; } span.maroon { color: maroon; } span.navy { color: navy; } span.olive { color: olive; } span.purple { color: purple; } span.red { color: red; } span.silver { color: silver; } span.teal { color: teal; } span.white { color: white; } span.yellow { color: yellow; } span.aqua-background { background: aqua; } span.black-background { background: black; } span.blue-background { background: blue; } span.fuchsia-background { background: fuchsia; } span.gray-background { background: gray; } span.green-background { background: green; } span.lime-background { background: lime; } span.maroon-background { background: maroon; } span.navy-background { background: navy; } span.olive-background { background: olive; } span.purple-background { background: purple; } span.red-background { background: red; } span.silver-background { background: silver; } span.teal-background { background: teal; } span.white-background { background: white; } span.yellow-background { background: yellow; } span.big { font-size: 2em; } span.small { font-size: 0.6em; } span.underline { text-decoration: underline; } span.overline { text-decoration: overline; } span.line-through { text-decoration: line-through; } ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/stylesheets/slidy.css���������������������������������������������������������0000644�0001750�0001750�00000022115�13570064211�020171� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* slidy.css Copyright (c) 2005-2010 W3C (MIT, ERCIM, Keio), All Rights Reserved. W3C liability, trademark, document use and software licensing rules apply, see: http://www.w3.org/Consortium/Legal/copyright-documents http://www.w3.org/Consortium/Legal/copyright-software */ /* SJR: 2010-09-29: Modified for AsciiDoc slidy backend. Mostly just commented out stuff that is handled by AsciiDoc's CSS files. */ body { margin: 0 0 0 0; padding: 0 0 0 0; width: 100%; height: 100%; color: black; background-color: white; /* font-family: "Gill Sans MT", "Gill Sans", GillSans, sans-serif; */ font-size: 14pt; } div.toolbar { position: fixed; z-index: 200; top: auto; bottom: 0; left: 0; right: 0; height: 1.2em; text-align: right; padding-left: 1em; padding-right: 1em; font-size: 60%; color: red; background-color: rgb(240,240,240); border-top: solid 1px rgb(180,180,180); } div.toolbar span.copyright { color: black; margin-left: 0.5em; } div.initial_prompt { position: absolute; z-index: 1000; bottom: 1.2em; width: 90%; background-color: rgb(200,200,200); opacity: 0.35; background-color: rgb(200,200,200, 0.35); cursor: pointer; } div.initial_prompt p.help { text-align: center; } div.initial_prompt p.close { text-align: right; font-style: italic; } div.slidy_toc { position: absolute; z-index: 300; width: 60%; max-width: 30em; height: 30em; overflow: auto; top: auto; right: auto; left: 4em; bottom: 4em; padding: 1em; background: rgb(240,240,240); border-style: solid; border-width: 2px; font-size: 60%; } div.slidy_toc .toc_heading { text-align: center; width: 100%; margin: 0; margin-bottom: 1em; border-bottom-style: solid; border-bottom-color: rgb(180,180,180); border-bottom-width: 1px; } div.slide { z-index: 20; margin: 0 0 0 0; padding-top: 0; padding-bottom: 0; padding-left: 20px; padding-right: 20px; border-width: 0; clear: both; top: 0; bottom: 0; left: 0; right: 0; line-height: 120%; background-color: transparent; } div.background { display: none; } div.handout { margin-left: 20px; margin-right: 20px; } div.slide.titlepage { text-align: center; } div.slide.titlepage.h1 { padding-top: 10%; } div.slide h1 { padding-left: 0; padding-right: 20pt; padding-top: 4pt; padding-bottom: 4pt; margin-top: 0; margin-left: 0; margin-right: 60pt; margin-bottom: 0.5em; display: block; font-size: 160%; line-height: 1.2em; background: transparent; } div.toc { position: absolute; top: auto; bottom: 4em; left: 4em; right: auto; width: 60%; max-width: 30em; height: 30em; border: solid thin black; padding: 1em; background: rgb(240,240,240); color: black; z-index: 300; overflow: auto; display: block; visibility: visible; } div.toc-heading { width: 100%; border-bottom: solid 1px rgb(180,180,180); margin-bottom: 1em; text-align: center; } /* pre { font-size: 80%; font-weight: bold; line-height: 120%; padding-top: 0.2em; padding-bottom: 0.2em; padding-left: 1em; padding-right: 1em; border-style: solid; border-left-width: 1em; border-top-width: thin; border-right-width: thin; border-bottom-width: thin; border-color: #95ABD0; color: #00428C; background-color: #E4E5E7; } */ /* li pre { margin-left: 0; } blockquote { font-style: italic } img { background-color: transparent } p.copyright { font-size: smaller } */ .center { text-align: center } .footnote { font-size: smaller; margin-left: 2em; } /* a img { border-width: 0; border-style: none } */ a:visited { color: navy } a:link { color: navy } a:hover { color: red; text-decoration: underline } a:active { color: red; text-decoration: underline } a {text-decoration: none} .navbar a:link {color: white} .navbar a:visited {color: yellow} .navbar a:active {color: red} .navbar a:hover {color: red} /* ul { list-style-type: square; } ul ul { list-style-type: disc; } ul ul ul { list-style-type: circle; } ul ul ul ul { list-style-type: disc; } li { margin-left: 0.5em; margin-top: 0.5em; } li li { font-size: 85%; font-style: italic } li li li { font-size: 85%; font-style: normal } */ div dt { margin-left: 0; margin-top: 1em; margin-bottom: 0.5em; font-weight: bold; } div dd { margin-left: 2em; margin-bottom: 0.5em; } /* p,pre,ul,ol,blockquote,h2,h3,h4,h5,h6,dl,table { margin-left: 1em; margin-right: 1em; } */ p.subhead { font-weight: bold; margin-top: 2em; } .smaller { font-size: smaller } .bigger { font-size: 130% } /* td,th { padding: 0.2em } */ ul { margin: 0.5em 1.5em 0.5em 1.5em; padding: 0; } ol { margin: 0.5em 1.5em 0.5em 1.5em; padding: 0; } ul { list-style-type: square; } ul ul { list-style-type: disc; } ul ul ul { list-style-type: circle; } ul ul ul ul { list-style-type: disc; } /* ul li { list-style: square; margin: 0.1em 0em 0.6em 0; padding: 0 0 0 0; line-height: 140%; } ol li { margin: 0.1em 0em 0.6em 1.5em; padding: 0 0 0 0px; line-height: 140%; list-style-type: decimal; } li ul li { font-size: 85%; font-style: italic; list-style-type: disc; background: transparent; padding: 0 0 0 0; } li li ul li { font-size: 85%; font-style: normal; list-style-type: circle; background: transparent; padding: 0 0 0 0; } li li li ul li { list-style-type: disc; background: transparent; padding: 0 0 0 0; } li ol li { list-style-type: decimal; } li li ol li { list-style-type: decimal; } */ /* setting class="outline" on ol or ul makes it behave as an ouline list where blocklevel content in li elements is hidden by default and can be expanded or collapsed with mouse click. Set class="expand" on li to override default */ ol.outline li:hover { cursor: pointer } ol.outline li.nofold:hover { cursor: default } ul.outline li:hover { cursor: pointer } ul.outline li.nofold:hover { cursor: default } ol.outline { list-style:decimal; } ol.outline ol { list-style-type:lower-alpha } ol.outline li.nofold { padding: 0 0 0 20px; background: transparent url(../graphics/nofold-dim.gif) no-repeat 0px 0.5em; } ol.outline li.unfolded { padding: 0 0 0 20px; background: transparent url(../graphics/fold-dim.gif) no-repeat 0px 0.5em; } ol.outline li.folded { padding: 0 0 0 20px; background: transparent url(../graphics/unfold-dim.gif) no-repeat 0px 0.5em; } ol.outline li.unfolded:hover { padding: 0 0 0 20px; background: transparent url(../graphics/fold.gif) no-repeat 0px 0.5em; } ol.outline li.folded:hover { padding: 0 0 0 20px; background: transparent url(../graphics/unfold.gif) no-repeat 0px 0.5em; } ul.outline li.nofold { padding: 0 0 0 20px; background: transparent url(../graphics/nofold-dim.gif) no-repeat 0px 0.5em; } ul.outline li.unfolded { padding: 0 0 0 20px; background: transparent url(../graphics/fold-dim.gif) no-repeat 0px 0.5em; } ul.outline li.folded { padding: 0 0 0 20px; background: transparent url(../graphics/unfold-dim.gif) no-repeat 0px 0.5em; } ul.outline li.unfolded:hover { padding: 0 0 0 20px; background: transparent url(../graphics/fold.gif) no-repeat 0px 0.5em; } ul.outline li.folded:hover { padding: 0 0 0 20px; background: transparent url(../graphics/unfold.gif) no-repeat 0px 0.5em; } /* for slides with class "title" in table of contents */ a.titleslide { font-weight: bold; font-style: italic } /* hide images for work around for save as bug where browsers fail to save images used by CSS */ img.hidden { display: none; visibility: hidden } div.initial_prompt { display: none; visibility: hidden } div.slide { visibility: visible; position: inherit; } div.handout { border-top-style: solid; border-top-width: thin; border-top-color: black; } @media screen { .hidden { display: none; visibility: visible } div.slide.hidden { display: block; visibility: visible } div.handout.hidden { display: block; visibility: visible } div.background { display: none; visibility: hidden } body.single_slide div.initial_prompt { display: block; visibility: visible } body.single_slide div.background { display: block; visibility: visible } body.single_slide div.background.hidden { display: none; visibility: hidden } body.single_slide .invisible { visibility: hidden } body.single_slide .hidden { display: none; visibility: hidden } body.single_slide div.slide { position: absolute } body.single_slide div.handout { display: none; visibility: hidden } } @media print { .hidden { display: block; visibility: visible } /* div.slide pre { font-size: 60%; padding-left: 0.5em; } */ div.toolbar { display: none; visibility: hidden; } div.slidy_toc { display: none; visibility: hidden; } div.background { display: none; visibility: hidden; } div.slide { page-break-before: always } /* :first-child isn't reliable for print media */ div.slide.first-slide { page-break-before: avoid } } /* SJR: AsciiDoc slidy backend tweaks */ ol, ul { margin: 0.8em 1.5em 0.8em 1.8em; } li > ul, li > ol { margin-top: 0.5em; } .outline > li.folded, .outline > li.unfolded { color: #527bbd; } ul > li{ color: #aaa; } ul > li > *, ol > li > * { color: black; } li { margin-top: 0.5em; margin-bottom: 0.5em; } ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/stylesheets/pygments.css������������������������������������������������������0000644�0001750�0001750�00000007502�13570064211�020716� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������.highlight .hll { background-color: #ffffcc } .highlight { background: #f8f8f8; } .highlight .c { color: #408080; font-style: italic } /* Comment */ .highlight .err { border: 1px solid #FF0000 } /* Error */ .highlight .k { color: #008000; font-weight: bold } /* Keyword */ .highlight .o { color: #666666 } /* Operator */ .highlight .cm { color: #408080; font-style: italic } /* Comment.Multiline */ .highlight .cp { color: #BC7A00 } /* Comment.Preproc */ .highlight .c1 { color: #408080; font-style: italic } /* Comment.Single */ .highlight .cs { color: #408080; font-style: italic } /* Comment.Special */ .highlight .gd { color: #A00000 } /* Generic.Deleted */ .highlight .ge { font-style: italic } /* Generic.Emph */ .highlight .gr { color: #FF0000 } /* Generic.Error */ .highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */ .highlight .gi { color: #00A000 } /* Generic.Inserted */ .highlight .go { color: #808080 } /* Generic.Output */ .highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */ .highlight .gs { font-weight: bold } /* Generic.Strong */ .highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ .highlight .gt { color: #0040D0 } /* Generic.Traceback */ .highlight .kc { color: #008000; font-weight: bold } /* Keyword.Constant */ .highlight .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */ .highlight .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */ .highlight .kp { color: #008000 } /* Keyword.Pseudo */ .highlight .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */ .highlight .kt { color: #B00040 } /* Keyword.Type */ .highlight .m { color: #666666 } /* Literal.Number */ .highlight .s { color: #BA2121 } /* Literal.String */ .highlight .na { color: #7D9029 } /* Name.Attribute */ .highlight .nb { color: #008000 } /* Name.Builtin */ .highlight .nc { color: #0000FF; font-weight: bold } /* Name.Class */ .highlight .no { color: #880000 } /* Name.Constant */ .highlight .nd { color: #AA22FF } /* Name.Decorator */ .highlight .ni { color: #999999; font-weight: bold } /* Name.Entity */ .highlight .ne { color: #D2413A; font-weight: bold } /* Name.Exception */ .highlight .nf { color: #0000FF } /* Name.Function */ .highlight .nl { color: #A0A000 } /* Name.Label */ .highlight .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */ .highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */ .highlight .nv { color: #19177C } /* Name.Variable */ .highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */ .highlight .w { color: #bbbbbb } /* Text.Whitespace */ .highlight .mf { color: #666666 } /* Literal.Number.Float */ .highlight .mh { color: #666666 } /* Literal.Number.Hex */ .highlight .mi { color: #666666 } /* Literal.Number.Integer */ .highlight .mo { color: #666666 } /* Literal.Number.Oct */ .highlight .sb { color: #BA2121 } /* Literal.String.Backtick */ .highlight .sc { color: #BA2121 } /* Literal.String.Char */ .highlight .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */ .highlight .s2 { color: #BA2121 } /* Literal.String.Double */ .highlight .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */ .highlight .sh { color: #BA2121 } /* Literal.String.Heredoc */ .highlight .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */ .highlight .sx { color: #008000 } /* Literal.String.Other */ .highlight .sr { color: #BB6688 } /* Literal.String.Regex */ .highlight .s1 { color: #BA2121 } /* Literal.String.Single */ .highlight .ss { color: #19177C } /* Literal.String.Symbol */ .highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */ .highlight .vc { color: #19177C } /* Name.Variable.Class */ .highlight .vg { color: #19177C } /* Name.Variable.Global */ .highlight .vi { color: #19177C } /* Name.Variable.Instance */ .highlight .il { color: #666666 } /* Literal.Number.Integer.Long */ ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/stylesheets/asciidoc.css������������������������������������������������������0000644�0001750�0001750�00000022037�13570064211�020626� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Shared CSS for AsciiDoc xhtml11 and html5 backends */ /* Default font. */ body { font-family: Georgia,serif; } /* Title font. */ h1, h2, h3, h4, h5, h6, div.title, caption.title, thead, p.table.header, #toctitle, #author, #revnumber, #revdate, #revremark, #footer { font-family: Arial,Helvetica,sans-serif; } body { margin: 1em 5% 1em 5%; } a { color: blue; text-decoration: underline; } a:visited { color: fuchsia; } em { font-style: italic; color: navy; } strong { font-weight: bold; color: #083194; } h1, h2, h3, h4, h5, h6 { color: #527bbd; margin-top: 1.2em; margin-bottom: 0.5em; line-height: 1.3; } h1, h2, h3 { border-bottom: 2px solid silver; } h2 { padding-top: 0.5em; } h3 { float: left; } h3 + * { clear: left; } h5 { font-size: 1.0em; } div.sectionbody { margin-left: 0; } hr { border: 1px solid silver; } p { margin-top: 0.5em; margin-bottom: 0.5em; } ul, ol, li > p { margin-top: 0; } ul > li { color: #aaa; } ul > li > * { color: black; } .monospaced, code, pre { font-family: "Courier New", Courier, monospace; font-size: inherit; color: navy; padding: 0; margin: 0; } pre { white-space: pre-wrap; } #author { color: #527bbd; font-weight: bold; font-size: 1.1em; } #email { } #revnumber, #revdate, #revremark { } #footer { font-size: small; border-top: 2px solid silver; padding-top: 0.5em; margin-top: 4.0em; } #footer-text { float: left; padding-bottom: 0.5em; } #footer-badges { float: right; padding-bottom: 0.5em; } #preamble { margin-top: 1.5em; margin-bottom: 1.5em; } div.imageblock, div.exampleblock, div.verseblock, div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock, div.admonitionblock { margin-top: 1.0em; margin-bottom: 1.5em; } div.admonitionblock { margin-top: 2.0em; margin-bottom: 2.0em; margin-right: 10%; color: #606060; } div.content { /* Block element content. */ padding: 0; } /* Block element titles. */ div.title, caption.title { color: #527bbd; font-weight: bold; text-align: left; margin-top: 1.0em; margin-bottom: 0.5em; } div.title + * { margin-top: 0; } td div.title:first-child { margin-top: 0.0em; } div.content div.title:first-child { margin-top: 0.0em; } div.content + div.title { margin-top: 0.0em; } div.sidebarblock > div.content { background: #ffffee; border: 1px solid #dddddd; border-left: 4px solid #f0f0f0; padding: 0.5em; } div.listingblock > div.content { border: 1px solid #dddddd; border-left: 5px solid #f0f0f0; background: #f8f8f8; padding: 0.5em; } div.quoteblock, div.verseblock { padding-left: 1.0em; margin-left: 1.0em; margin-right: 10%; border-left: 5px solid #f0f0f0; color: #888; } div.quoteblock > div.attribution { padding-top: 0.5em; text-align: right; } div.verseblock > pre.content { font-family: inherit; font-size: inherit; } div.verseblock > div.attribution { padding-top: 0.75em; text-align: left; } /* DEPRECATED: Pre version 8.2.7 verse style literal block. */ div.verseblock + div.attribution { text-align: left; } div.admonitionblock .icon { vertical-align: top; font-size: 1.1em; font-weight: bold; text-decoration: underline; color: #527bbd; padding-right: 0.5em; } div.admonitionblock td.content { padding-left: 0.5em; border-left: 3px solid #dddddd; } div.exampleblock > div.content { border-left: 3px solid #dddddd; padding-left: 0.5em; } div.imageblock div.content { padding-left: 0; } span.image img { border-style: none; vertical-align: text-bottom; } a.image:visited { color: white; } dl { margin-top: 0.8em; margin-bottom: 0.8em; } dt { margin-top: 0.5em; margin-bottom: 0; font-style: normal; color: navy; } dd > *:first-child { margin-top: 0.1em; } ul, ol { list-style-position: outside; } ol.arabic { list-style-type: decimal; } ol.loweralpha { list-style-type: lower-alpha; } ol.upperalpha { list-style-type: upper-alpha; } ol.lowerroman { list-style-type: lower-roman; } ol.upperroman { list-style-type: upper-roman; } div.compact ul, div.compact ol, div.compact p, div.compact p, div.compact div, div.compact div { margin-top: 0.1em; margin-bottom: 0.1em; } tfoot { font-weight: bold; } td > div.verse { white-space: pre; } div.hdlist { margin-top: 0.8em; margin-bottom: 0.8em; } div.hdlist tr { padding-bottom: 15px; } dt.hdlist1.strong, td.hdlist1.strong { font-weight: bold; } td.hdlist1 { vertical-align: top; font-style: normal; padding-right: 0.8em; color: navy; } td.hdlist2 { vertical-align: top; } div.hdlist.compact tr { margin: 0; padding-bottom: 0; } .comment { background: yellow; } .footnote, .footnoteref { font-size: 0.8em; } span.footnote, span.footnoteref { vertical-align: super; } #footnotes { margin: 20px 0 20px 0; padding: 7px 0 0 0; } #footnotes div.footnote { margin: 0 0 5px 0; } #footnotes hr { border: none; border-top: 1px solid silver; height: 1px; text-align: left; margin-left: 0; width: 20%; min-width: 100px; } div.colist td { padding-right: 0.5em; padding-bottom: 0.3em; vertical-align: top; } div.colist td img { margin-top: 0.3em; } @media print { #footer-badges { display: none; } } #toc { margin-bottom: 2.5em; } #toctitle { color: #527bbd; font-size: 1.1em; font-weight: bold; margin-top: 1.0em; margin-bottom: 0.1em; } div.toclevel0, div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 { margin-top: 0; margin-bottom: 0; } div.toclevel2 { margin-left: 2em; font-size: 0.9em; } div.toclevel3 { margin-left: 4em; font-size: 0.9em; } div.toclevel4 { margin-left: 6em; font-size: 0.9em; } span.aqua { color: aqua; } span.black { color: black; } span.blue { color: blue; } span.fuchsia { color: fuchsia; } span.gray { color: gray; } span.green { color: green; } span.lime { color: lime; } span.maroon { color: maroon; } span.navy { color: navy; } span.olive { color: olive; } span.purple { color: purple; } span.red { color: red; } span.silver { color: silver; } span.teal { color: teal; } span.white { color: white; } span.yellow { color: yellow; } span.aqua-background { background: aqua; } span.black-background { background: black; } span.blue-background { background: blue; } span.fuchsia-background { background: fuchsia; } span.gray-background { background: gray; } span.green-background { background: green; } span.lime-background { background: lime; } span.maroon-background { background: maroon; } span.navy-background { background: navy; } span.olive-background { background: olive; } span.purple-background { background: purple; } span.red-background { background: red; } span.silver-background { background: silver; } span.teal-background { background: teal; } span.white-background { background: white; } span.yellow-background { background: yellow; } span.big { font-size: 2em; } span.small { font-size: 0.6em; } span.underline { text-decoration: underline; } span.overline { text-decoration: overline; } span.line-through { text-decoration: line-through; } div.unbreakable { page-break-inside: avoid; } /* * xhtml11 specific * * */ div.tableblock { margin-top: 1.0em; margin-bottom: 1.5em; } div.tableblock > table { border: 3px solid #527bbd; } thead, p.table.header { font-weight: bold; color: #527bbd; } p.table { margin-top: 0; } /* Because the table frame attribute is overridden by CSS in most browsers. */ div.tableblock > table[frame="void"] { border-style: none; } div.tableblock > table[frame="hsides"] { border-left-style: none; border-right-style: none; } div.tableblock > table[frame="vsides"] { border-top-style: none; border-bottom-style: none; } /* * html5 specific * * */ table.tableblock { margin-top: 1.0em; margin-bottom: 1.5em; } thead, p.tableblock.header { font-weight: bold; color: #527bbd; } p.tableblock { margin-top: 0; } table.tableblock { border-width: 3px; border-spacing: 0px; border-style: solid; border-color: #527bbd; border-collapse: collapse; } th.tableblock, td.tableblock { border-width: 1px; padding: 4px; border-style: solid; border-color: #527bbd; } table.tableblock.frame-topbot { border-left-style: hidden; border-right-style: hidden; } table.tableblock.frame-sides { border-top-style: hidden; border-bottom-style: hidden; } table.tableblock.frame-none { border-style: hidden; } th.tableblock.halign-left, td.tableblock.halign-left { text-align: left; } th.tableblock.halign-center, td.tableblock.halign-center { text-align: center; } th.tableblock.halign-right, td.tableblock.halign-right { text-align: right; } th.tableblock.valign-top, td.tableblock.valign-top { vertical-align: top; } th.tableblock.valign-middle, td.tableblock.valign-middle { vertical-align: middle; } th.tableblock.valign-bottom, td.tableblock.valign-bottom { vertical-align: bottom; } /* * manpage specific * * */ body.manpage h1 { padding-top: 0.5em; padding-bottom: 0.5em; border-top: 2px solid silver; border-bottom: 2px solid silver; } body.manpage h2 { border-style: none; } body.manpage div.sectionbody { margin-left: 3em; } @media print { body.manpage div#toc { display: none; } } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/lang-fi.conf������������������������������������������������������������������0000644�0001750�0001750�00000002245�13570064211�016145� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# # AsciiDoc Finnish language configuration file. # [attributes] # Captions, used by (X)HTML backends. # Captions on RHS are displayed in outputs. ifdef::basebackend-html[] caution-caption=Huom important-caption=Tärkeää note-caption=Huomio tip-caption=Vinkki warning-caption=Varoitus figure-caption=Kuvio table-caption=Taulukko example-caption=Esimerkki toc-title=Sisällysluettelo appendix-caption=Liitteet # Man page NAME section title. manname-title=NAME [footer-text] Versio {revnumber}{basebackend-xhtml11?<br />}{basebackend-xhtml11=<br>} Viimeksi päivitetty template::[footer-date] endif::basebackend-html[] [specialsections] # DocBook special sections. # The regular expression on LHS is matched against source titles. ifdef::basebackend-docbook[] ifdef::doctype-article[] ^Tiivistelmä$=abstract endif::doctype-article[] ifdef::doctype-book[] ^Loppukirjoitus$=colophon ^Omistus$=dedication ^Esipuhe$=preface endif::doctype-book[] ^$Hakemisto=index ^(Lähdeluettelo|Lähteet|Viitteet)$=bibliography ^Sanasto$=glossary ^Liitteet [A-Z][:.](?P<title>.*)$=appendix endif::basebackend-docbook[] ifdef::doctype-manpage[] (?i)^Yhteenveto$=synopsis endif::doctype-manpage[] �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/docbook-xsl/������������������������������������������������������������������0000755�0001750�0001750�00000000000�13570064211�016202� 5����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/docbook-xsl/asciidoc-docbook-xsl.txt������������������������������������������0000644�0001750�0001750�00000004611�13570064211�022745� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������AsciiDoc DocBook XSL Stylesheets Notes ====================================== Output file customisation is achieved by tweaking the DocBook XSL stylesheets. I've tried to keep customization to a minimum and confine it to the separate XSL driver files in the distribution `./docbook-xsl/` directory (see the User Guide for details). To polish some rough edges I've written some patches for the DocBook XSL stylesheets -- you don't need them but they're documented below and included in the distribution `./docbook-xsl/` directory. Manually upgrading Debian to the latest DocBook XSL stylesheets --------------------------------------------------------------- The DocBook XSL Stylesheets distribution is just a directory full of text files and you can switch between releases by changing the directory name in the system XML catalog. To upgrade to the latest docbook-xsl stylesheets without having to wait for the Debian `docbook-xsl` package: - Download the latest docbook-xsl tarball from http://sourceforge.net/projects/docbook/. Bleeding edge snapshots can be found at http://docbook.sourceforge.net/snapshots/ - Unzip the tarball to `/usr/share/xml/docbook/stylesheet/`: $ cd /usr/share/xml/docbook/stylesheet $ sudo tar -xzf /tmp/docbook-xsl-1.72.0.tar.gz - Edit `/etc/xml/docbook-xsl.xml` catalog and replace occurrences of the current stylesheets directory with the new one (in our example it would be `/usr/share/xml/docbook/stylesheet/docbook-xsl-1.72.0`. $ cd /etc/xml/ $ sudo cp -p docbook-xsl.xml docbook-xsl.xml.ORIG $ sudo vi docbook-xsl.xml Customizing Generated Text -------------------------- An example http://www.sagehill.net/docbookxsl/CustomGentext.html#CustomGenText[DocBook XSL Stylesheets customization file] for formatting chapter titles without chapter numbering. .custom-chapter.xml --------------------------------------------------------------------- <!-- Customize chapter title --> <l:i18n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0"> <l:l10n language="en"> <l:context name="title"> <l:template name="chapter" text="%t"/> </l:context> </l:l10n> </l:i18n> --------------------------------------------------------------------- Executed with this 'xsltproc' parameter: --param local.l10n.xml document\(\'custom-chapter.xml\'\) NOTE: This example is hypothetical -- use the 'xsltproc' `--stringparam chapter.autolabel 0` option to do the same job. �����������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/docbook-xsl/xhtml.xsl���������������������������������������������������������0000644�0001750�0001750�00000001207�13570064211�020066� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������<!-- Generates single XHTML document from DocBook XML source using DocBook XSL stylesheets. NOTE: The URL reference to the current DocBook XSL stylesheets is rewritten to point to the copy on the local disk drive by the XML catalog rewrite directives so it doesn't need to go out to the Internet for the stylesheets. This means you don't need to edit the <xsl:import> elements on a machine by machine basis. --> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:import href="http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl"/> <xsl:import href="common.xsl"/> </xsl:stylesheet> �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/docbook-xsl/common.xsl��������������������������������������������������������0000644�0001750�0001750�00000007204�13570064211�020225� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������<!-- Included in xhtml.xsl, xhtml.chunked.xsl, htmlhelp.xsl. Contains common XSL stylesheets parameters. Output documents styled by docbook.css. --> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:param name="html.stylesheet" select="'docbook-xsl.css'"/> <xsl:param name="htmlhelp.chm" select="'htmlhelp.chm'"/> <xsl:param name="htmlhelp.hhc.section.depth" select="5"/> <xsl:param name="section.autolabel"> <xsl:choose> <xsl:when test="/processing-instruction('asciidoc-numbered')">1</xsl:when> <xsl:otherwise>0</xsl:otherwise> </xsl:choose> </xsl:param> <xsl:param name="suppress.navigation" select="0"/> <xsl:param name="navig.graphics.extension" select="'.png'"/> <xsl:param name="navig.graphics" select="0"/> <xsl:param name="navig.graphics.path">images/icons/</xsl:param> <xsl:param name="navig.showtitles">0</xsl:param> <xsl:param name="shade.verbatim" select="0"/> <xsl:attribute-set name="shade.verbatim.style"> <xsl:attribute name="border">0</xsl:attribute> <xsl:attribute name="background-color">#E0E0E0</xsl:attribute> </xsl:attribute-set> <xsl:param name="admon.graphics" select="1"/> <xsl:param name="admon.graphics.path">images/icons/</xsl:param> <xsl:param name="admon.graphics.extension" select="'.png'"/> <xsl:param name="admon.style"> <xsl:text>margin-left: 0; margin-right: 10%;</xsl:text> </xsl:param> <xsl:param name="admon.textlabel" select="1"/> <xsl:param name="callout.defaultcolumn" select="'60'"/> <xsl:param name="callout.graphics.extension" select="'.png'"/> <xsl:param name="callout.graphics" select="'1'"/> <xsl:param name="callout.graphics.number.limit" select="'10'"/> <xsl:param name="callout.graphics.path" select="'images/icons/callouts/'"/> <xsl:param name="callout.list.table" select="'1'"/> <!-- This does not seem to work. --> <xsl:param name="section.autolabel.max.depth" select="2"/> <xsl:param name="chunk.first.sections" select="1"/> <xsl:param name="chunk.section.depth" select="1"/> <xsl:param name="chunk.quietly" select="0"/> <xsl:param name="chunk.toc" select="''"/> <xsl:param name="chunk.tocs.and.lots" select="0"/> <xsl:param name="html.cellpadding" select="'4px'"/> <xsl:param name="html.cellspacing" select="''"/> <xsl:param name="table.borders.with.css" select="1"/> <xsl:param name="table.cell.border.color" select="'#527bbd'"/> <xsl:param name="table.cell.border.style" select="'solid'"/> <xsl:param name="table.cell.border.thickness" select="'1px'"/> <xsl:param name="table.footnote.number.format" select="'a'"/> <xsl:param name="table.footnote.number.symbols" select="''"/> <xsl:param name="table.frame.border.color" select="'#527bbd'"/> <xsl:param name="table.frame.border.style" select="'solid'"/> <xsl:param name="table.frame.border.thickness" select="'3px'"/> <xsl:param name="tablecolumns.extension" select="'1'"/> <xsl:param name="highlight.source" select="1"/> <xsl:param name="section.label.includes.component.label" select="1"/> <!-- Table of contents inserted by <?asciidoc-toc?> processing instruction. --> <xsl:param name="generate.toc"> <xsl:choose> <xsl:when test="/processing-instruction('asciidoc-toc')"> article toc,title book toc,title,figure,table,example,equation <!-- The only way I could find that suppressed book chapter TOCs --> <xsl:if test="$generate.section.toc.level != 0"> chapter toc,title part toc,title preface toc,title qandadiv toc qandaset toc reference toc,title sect1 toc sect2 toc sect3 toc sect4 toc sect5 toc section toc set toc,title </xsl:if> </xsl:when> <xsl:otherwise> article nop book nop </xsl:otherwise> </xsl:choose> </xsl:param> </xsl:stylesheet> ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/docbook-xsl/fo.xsl������������������������������������������������������������0000644�0001750�0001750�00000012700�13570064211�017336� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������<!-- Generates single FO document from DocBook XML source using DocBook XSL stylesheets. See xsl-stylesheets/fo/param.xsl for all parameters. NOTE: The URL reference to the current DocBook XSL stylesheets is rewritten to point to the copy on the local disk drive by the XML catalog rewrite directives so it doesn't need to go out to the Internet for the stylesheets. This means you don't need to edit the <xsl:import> elements on a machine by machine basis. --> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format"> <xsl:import href="http://docbook.sourceforge.net/release/xsl/current/fo/docbook.xsl"/> <xsl:import href="common.xsl"/> <xsl:param name="fop1.extensions" select="1" /> <xsl:param name="variablelist.as.blocks" select="1" /> <xsl:param name="paper.type" select="'A4'"/> <!-- <xsl:param name="paper.type" select="'USletter'"/> --> <xsl:param name="hyphenate">false</xsl:param> <!-- justify, left or right --> <xsl:param name="alignment">left</xsl:param> <xsl:param name="body.font.family" select="'serif'"/> <xsl:param name="body.font.master">12</xsl:param> <xsl:param name="body.font.size"> <xsl:value-of select="$body.font.master"/><xsl:text>pt</xsl:text> </xsl:param> <xsl:param name="body.margin.bottom" select="'0.5in'"/> <xsl:param name="body.margin.top" select="'0.5in'"/> <xsl:param name="bridgehead.in.toc" select="0"/> <!-- overide setting in common.xsl --> <xsl:param name="table.frame.border.thickness" select="'2px'"/> <!-- Default fetches image from Internet (long timeouts) --> <xsl:param name="draft.watermark.image" select="''"/> <!-- Line break --> <xsl:template match="processing-instruction('asciidoc-br')"> <fo:block/> </xsl:template> <!-- Horizontal ruler --> <xsl:template match="processing-instruction('asciidoc-hr')"> <fo:block space-after="1em"> <fo:leader leader-pattern="rule" rule-thickness="0.5pt" rule-style="solid" leader-length.minimum="100%"/> </fo:block> </xsl:template> <!-- Hard page break --> <xsl:template match="processing-instruction('asciidoc-pagebreak')"> <fo:block break-after='page'/> </xsl:template> <!-- Sets title to body text indent --> <xsl:param name="body.start.indent"> <xsl:choose> <xsl:when test="$fop.extensions != 0">0pt</xsl:when> <xsl:when test="$passivetex.extensions != 0">0pt</xsl:when> <xsl:otherwise>1pc</xsl:otherwise> </xsl:choose> </xsl:param> <xsl:param name="title.margin.left"> <xsl:choose> <xsl:when test="$fop.extensions != 0">-1pc</xsl:when> <xsl:when test="$passivetex.extensions != 0">0pt</xsl:when> <xsl:otherwise>0pt</xsl:otherwise> </xsl:choose> </xsl:param> <xsl:param name="page.margin.bottom" select="'0.25in'"/> <xsl:param name="page.margin.inner"> <xsl:choose> <xsl:when test="$double.sided != 0">0.75in</xsl:when> <xsl:otherwise>0.75in</xsl:otherwise> </xsl:choose> </xsl:param> <xsl:param name="page.margin.outer"> <xsl:choose> <xsl:when test="$double.sided != 0">0.5in</xsl:when> <xsl:otherwise>0.5in</xsl:otherwise> </xsl:choose> </xsl:param> <xsl:param name="page.margin.top" select="'0.5in'"/> <xsl:param name="page.orientation" select="'portrait'"/> <xsl:param name="page.width"> <xsl:choose> <xsl:when test="$page.orientation = 'portrait'"> <xsl:value-of select="$page.width.portrait"/> </xsl:when> <xsl:otherwise> <xsl:value-of select="$page.height.portrait"/> </xsl:otherwise> </xsl:choose> </xsl:param> <xsl:attribute-set name="monospace.properties"> <xsl:attribute name="font-size">10pt</xsl:attribute> </xsl:attribute-set> <xsl:attribute-set name="admonition.title.properties"> <xsl:attribute name="font-size">14pt</xsl:attribute> <xsl:attribute name="font-weight">bold</xsl:attribute> <xsl:attribute name="hyphenate">false</xsl:attribute> <xsl:attribute name="keep-with-next.within-column">always</xsl:attribute> </xsl:attribute-set> <xsl:attribute-set name="sidebar.properties" use-attribute-sets="formal.object.properties"> <xsl:attribute name="border-style">solid</xsl:attribute> <xsl:attribute name="border-width">1pt</xsl:attribute> <xsl:attribute name="border-color">silver</xsl:attribute> <xsl:attribute name="background-color">#ffffee</xsl:attribute> <xsl:attribute name="padding-left">12pt</xsl:attribute> <xsl:attribute name="padding-right">12pt</xsl:attribute> <xsl:attribute name="padding-top">6pt</xsl:attribute> <xsl:attribute name="padding-bottom">6pt</xsl:attribute> <xsl:attribute name="margin-left">0pt</xsl:attribute> <xsl:attribute name="margin-right">12pt</xsl:attribute> <xsl:attribute name="margin-top">6pt</xsl:attribute> <xsl:attribute name="margin-bottom">6pt</xsl:attribute> </xsl:attribute-set> <xsl:param name="callout.graphics" select="'1'"/> <!-- Only shade programlisting and screen verbatim elements --> <xsl:param name="shade.verbatim" select="1"/> <xsl:attribute-set name="shade.verbatim.style"> <xsl:attribute name="background-color"> <xsl:choose> <xsl:when test="self::programlisting|self::screen">#E0E0E0</xsl:when> <xsl:otherwise>inherit</xsl:otherwise> </xsl:choose> </xsl:attribute> </xsl:attribute-set> <!-- Force XSL Stylesheets 1.72 default table breaks to be the same as the current version (1.74) default which (for tables) is keep-together="auto". --> <xsl:attribute-set name="table.properties"> <xsl:attribute name="keep-together.within-column">auto</xsl:attribute> </xsl:attribute-set> </xsl:stylesheet> ����������������������������������������������������������������asciidoc-py3-9.0.0rc1/docbook-xsl/chunked.xsl�������������������������������������������������������0000644�0001750�0001750�00000001523�13570064211�020354� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������<!-- Generates chunked XHTML documents from DocBook XML source using DocBook XSL stylesheets. NOTE: The URL reference to the current DocBook XSL stylesheets is rewritten to point to the copy on the local disk drive by the XML catalog rewrite directives so it doesn't need to go out to the Internet for the stylesheets. This means you don't need to edit the <xsl:import> elements on a machine by machine basis. --> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:import href="http://docbook.sourceforge.net/release/xsl/current/xhtml/chunk.xsl"/> <xsl:import href="common.xsl"/> <xsl:param name="navig.graphics.path">images/icons/</xsl:param> <xsl:param name="admon.graphics.path">images/icons/</xsl:param> <xsl:param name="callout.graphics.path" select="'images/icons/callouts/'"/> </xsl:stylesheet> �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/docbook-xsl/htmlhelp.xsl������������������������������������������������������0000644�0001750�0001750�00000001746�13570064211�020557� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������<!-- Generates chunked HTML Help HTML documents from DocBook XML source using DocBook XSL stylesheets. NOTE: The URL reference to the current DocBook XSL stylesheets is rewritten to point to the copy on the local disk drive by the XML catalog rewrite directives so it doesn't need to go out to the Internet for the stylesheets. This means you don't need to edit the <xsl:import> elements on a machine by machine basis. --> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:import href="http://docbook.sourceforge.net/release/xsl/current/htmlhelp/htmlhelp.xsl"/> <xsl:import href="common.xsl"/> <xsl:param name="htmlhelp.hhp" select="'asciidoc.hhp'"/> <xsl:param name="suppress.navigation" select="1"/> <!-- Line break --> <xsl:template match="processing-instruction('asciidoc-br')"> <br/> </xsl:template> <!-- Horizontal ruler --> <xsl:template match="processing-instruction('asciidoc-hr')"> <hr/> </xsl:template> </xsl:stylesheet> ��������������������������asciidoc-py3-9.0.0rc1/docbook-xsl/epub.xsl����������������������������������������������������������0000644�0001750�0001750�00000002065�13570064211�017670� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������<!-- Generates EPUB XHTML documents from DocBook XML source using DocBook XSL stylesheets. NOTE: The URL reference to the current DocBook XSL stylesheets is rewritten to point to the copy on the local disk drive by the XML catalog rewrite directives so it doesn't need to go out to the Internet for the stylesheets. This means you don't need to edit the <xsl:import> elements on a machine by machine basis. --> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:import href="http://docbook.sourceforge.net/release/xsl/current/epub/docbook.xsl"/> <xsl:import href="common.xsl"/> <!-- DocBook XSL 1.75.2: Nav headers are invalid XHTML (table width element). Suppressed by default in Docbook XSL 1.76.1 epub.xsl. --> <xsl:param name="suppress.navigation" select="1"/> <!-- DocBook XLS 1.75.2 doesn't handle TOCs --> <xsl:param name="generate.toc"> <xsl:choose> <xsl:when test="/article"> /article nop </xsl:when> <xsl:when test="/book"> /book nop </xsl:when> </xsl:choose> </xsl:param> </xsl:stylesheet> ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/docbook-xsl/text.xsl����������������������������������������������������������0000644�0001750�0001750�00000003312�13570064211�017715� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0"?> <!-- Used by AsciiDoc a2x(1) for w3m(1) based text generation. NOTE: The URL reference to the current DocBook XSL stylesheets is rewritten to point to the copy on the local disk drive by the XML catalog rewrite directives so it doesn't need to go out to the Internet for the stylesheets. This means you don't need to edit the <xsl:import> elements on a machine by machine basis. --> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:import href="http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl"/> <!-- parameters for optimal text output --> <xsl:param name="callout.graphics" select="0"/> <xsl:param name="callout.unicode" select="0"/> <xsl:param name="section.autolabel" select="1"/> <xsl:param name="section.label.includes.component.label" select="1"/> <xsl:param name="generate.toc"> appendix title article/appendix nop article toc,title book toc,title,figure,table,example,equation chapter title part toc,title preface toc,title qandadiv toc qandaset toc reference toc,title section toc set toc,title </xsl:param> <xsl:template match="book/bookinfo/title | article/articleinfo/title" mode="titlepage.mode"> <hr /> <xsl:apply-imports/> <hr /> </xsl:template> <xsl:template match="book/*/title | article/*/title" mode="titlepage.mode"> <br /><hr /> <xsl:apply-imports/> <hr /> </xsl:template> <xsl:template match="book/chapter/*/title | article/section/*/title" mode="titlepage.mode"> <br /> <xsl:apply-imports/> <hr width="100" align="left" /> </xsl:template> </xsl:stylesheet> ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/docbook-xsl/manpage.xsl�������������������������������������������������������0000644�0001750�0001750�00000002114�13570064211�020340� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������<!-- Generates single roff manpage document from DocBook XML source using DocBook XSL stylesheets. NOTE: The URL reference to the current DocBook XSL stylesheets is rewritten to point to the copy on the local disk drive by the XML catalog rewrite directives so it doesn't need to go out to the Internet for the stylesheets. This means you don't need to edit the <xsl:import> elements on a machine by machine basis. --> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:import href="http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl"/> <xsl:import href="common.xsl"/> <!-- Only render the link text --> <xsl:template match="ulink"> <xsl:variable name="content"> <xsl:apply-templates/> </xsl:variable> <xsl:value-of select="$content"/> </xsl:template> <!-- Don't automatically generate the REFERENCES section --> <xsl:template name="endnotes.list"> </xsl:template> <!-- Next entry for backward compatibility with old docbook-xsl versions --> <xsl:template name="format.links.list"> </xsl:template> </xsl:stylesheet> ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/text.conf���������������������������������������������������������������������0000644�0001750�0001750�00000000666�13570064211�015621� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# text.conf # Used by the AsciiDoc a2x(1) toolchain wrapper utility. # Filters to add leading blank line and margin indent to verbatim # block elements so lynx(1) generated text output looks nicer. [paradef-default] verse-style=template="verseparagraph",filter="echo; echo; sed 's/^/ /'" [paradef-literal] filter=echo; echo; sed 's/^/ /' [blockdef-listing] filter=echo; sed 's/^/ /' [blockdef-literal] filter=echo; sed 's/^/ /' ��������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/xhtml11.conf������������������������������������������������������������������0000644�0001750�0001750�00000054743�13570064211�016140� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# # xhtml11.conf # # Asciidoc configuration file. # xhtml11 backend, generates XHTML 1.1 conformant markup. # [miscellaneous] outfilesuffix=.html [attributes] basebackend=html basebackend-html= basebackend-xhtml11= [replacements2] # Line break. (?m)^(.*)\s\+$=\1<br /> [replacements] ifdef::asciidoc7compatible[] # Superscripts. \^(.+?)\^=<sup>\1</sup> # Subscripts. ~(.+?)~=<sub>\1</sub> endif::asciidoc7compatible[] [ruler-blockmacro] <hr /> [pagebreak-blockmacro] <div style="page-break-after:always"></div> [blockdef-pass] asciimath-style=template="asciimathblock",subs=() latexmath-style=template="latexmathblock",subs=(),posattrs=(),filter="unwraplatex.py" [macros] # math macros. # Special characters are escaped in HTML math markup. (?s)[\\]?(?P<name>asciimath):(?P<subslist>\S*?)\[(?P<passtext>.*?)(?<!\\)\]=[specialcharacters] ^(?P<name>asciimath)::(?P<subslist>\S*?)(\[(?P<passtext>.*?)\])$=#[specialcharacters] (?s)[\\]?(?P<name>latexmath):(?P<subslist>\S*?)\[(?:\$\s*)?(?P<passtext>.*?)(?:\s*\$)?(?<!\\)\]=[specialcharacters] ^(?P<name>latexmath)::(?P<subslist>\S*?)(\[(?:\\\[\s*)?(?P<passtext>.*?)(?:\s*\\\])?\])$=#[specialcharacters] [asciimath-inlinemacro] `{passtext}` [asciimath-blockmacro] <div class="mathblock{role? {role}}{unbreakable-option? unbreakable}"{id? id="{id}"}> <div class="content"> <div class="title">{title}</div> `{passtext}` </div></div> [asciimathblock] <div class="mathblock{role? {role}}{unbreakable-option? unbreakable}"{id? id="{id}"}> <div class="content"> <div class="title">{title}</div> `|` </div></div> [latexmath-inlinemacro] ${passtext}$ [latexmath-blockmacro] <div class="mathblock{role? {role}}{unbreakable-option? unbreakable}"{id? id="{id}"}> <div class="content"> <div class="title">{title}</div> {backslash}[{passtext}{backslash}] </div></div> [latexmathblock] <div class="mathblock{role? {role}}{unbreakable-option? unbreakable}"{id? id="{id}"}> <div class="content"> <div class="title">{title}</div> \[|\] </div></div> [image-inlinemacro] <span class="image{role? {role}}"> <a class="image" href="{link}"> {data-uri%}<img src="{imagesdir=}{imagesdir?/}{target}" alt="{alt={target}}"{width? width="{width}"}{height? height="{height}"}{title? title="{title}"} /> {data-uri#}<img alt="{alt={target}}"{width? width="{width}"}{height? height="{height}"}{title? title="{title}"} {data-uri#}{sys:"{python}" -u -c "import mimetypes,sys; print('src=\x22data:' + mimetypes.guess_type(r'{target}')[0] + ';base64,');"} {data-uri#}{sys3:"{python}" -u -c "import base64,sys; base64.encode(sys.stdin.buffer,sys.stdout.buffer)" < "{eval:os.path.join(r"{indir={outdir}}",r"{imagesdir=}",r"{target}")}"}" /> {link#}</a> </span> [image-blockmacro] <div class="imageblock{style? {style}}{role? {role}}{unbreakable-option? unbreakable}"{id? id="{id}"}{align? style="text-align:{align};"}{float? style="float:{float};"}> <div class="content"> <a class="image" href="{link}"> {data-uri%}<img src="{imagesdir=}{imagesdir?/}{target}" alt="{alt={target}}"{width? width="{width}"}{height? height="{height}"} /> {data-uri#}<img alt="{alt={target}}"{width? width="{width}"}{height? height="{height}"} {data-uri#}{sys:"{python}" -u -c "import mimetypes,base64,sys; print('src=\x22data:'+mimetypes.guess_type(r'{target}')[0]+';base64,'); base64.encode(sys.stdin.buffer,sys.stdout.buffer)" < "{eval:os.path.join(r"{indir={outdir}}",r"{imagesdir=}",r"{target}")}"}" /> {link#}</a> </div> <div class="title">{caption={figure-caption} {counter:figure-number}. }{title}</div> </div> [unfloat-blockmacro] <div style="clear:both;"></div> [toc-blockmacro] template::[toc] [indexterm-inlinemacro] # Index term. {empty} [indexterm2-inlinemacro] # Index term. # Single entry index term that is visible in the primary text flow. {1} [footnote-inlinemacro] # footnote:[<text>]. <span class="footnote"><br />[{0}]<br /></span> [footnoteref-inlinemacro] # footnoteref:[<id>], create reference to footnote. {2%}<span class="footnoteref"><br /><a href="#_footnote_{1}">[{1}]</a><br /></span> # footnoteref:[<id>,<text>], create footnote with ID. {2#}<span class="footnote" id="_footnote_{1}"><br />[{2}]<br /></span> [callout-inlinemacro] ifndef::icons[] <b><{index}></b> endif::icons[] ifdef::icons[] ifndef::data-uri[] <img src="{icon={iconsdir}/callouts/{index}.png}" alt="{index}" /> endif::data-uri[] ifdef::data-uri[] <img alt="{index}" src="data:image/png;base64, {sys:"{python}" -u -c "import base64,sys; base64.encode(sys.stdin.buffer,sys.stdout.buffer)" < "{eval:os.path.join(r"{indir={outdir}}",r"{icon={iconsdir}/callouts/{index}.png}")}"}" /> endif::data-uri[] endif::icons[] # Comment line macros. [comment-inlinemacro] {showcomments#}<br /><span class="comment">{passtext}</span><br /> [comment-blockmacro] {showcomments#}<p><span class="comment">{passtext}</span></p> [literal-inlinemacro] # Inline literal. <code>{passtext}</code> # List tags. [listtags-bulleted] list=<div class="ulist{style? {style}}{compact-option? compact}{role? {role}}"{id? id="{id}"}>{title?<div class="title">{title}</div>}<ul>|</ul></div> item=<li>|</li> text=<p>|</p> [listtags-numbered] # The start attribute is not valid XHTML 1.1 but all browsers support it. list=<div class="olist{style? {style}}{compact-option? compact}{role? {role}}"{id? id="{id}"}>{title?<div class="title">{title}</div>}<ol class="{style}"{start? start="{start}"}>|</ol></div> item=<li>|</li> text=<p>|</p> [listtags-labeled] list=<div class="dlist{compact-option? compact}{role? {role}}"{id? id="{id}"}>{title?<div class="title">{title}</div>}<dl>|</dl></div> entry= label= term=<dt class="hdlist1{strong-option? strong}">|</dt> item=<dd>|</dd> text=<p>|</p> [listtags-horizontal] list=<div class="hdlist{compact-option? compact}{role? {role}}"{id? id="{id}"}>{title?<div class="title">{title}</div>}<table>{labelwidth?<col width="{labelwidth}%" />}{itemwidth?<col width="{itemwidth}%" />}|</table></div> label=<td class="hdlist1{strong-option? strong}">|</td> term=|<br /> entry=<tr>|</tr> item=<td class="hdlist2">|</td> text=<p style="margin-top: 0;">|</p> [listtags-qanda] list=<div class="qlist{style? {style}}{role? {role}}"{id? id="{id}"}>{title?<div class="title">{title}</div>}<ol>|</ol></div> entry=<li>|</li> label= term=<p><em>|</em></p> item= text=<p>|</p> [listtags-callout] ifndef::icons[] list=<div class="colist{style? {style}}{role? {role}}"{id? id="{id}"}>{title?<div class="title">{title}</div>}<ol>|</ol></div> item=<li>|</li> text=<p>|</p> endif::icons[] ifdef::icons[] list=<div class="colist{style? {style}}{role? {role}}"{id? id="{id}"}>{title?<div class="title">{title}</div>}<table>|</table></div> ifndef::data-uri[] item=<tr><td><img src="{iconsdir}/callouts/{listindex}.png" alt="{listindex}" /></td><td>|</td></tr> endif::data-uri[] ifdef::data-uri[] item=<tr><td><img alt="{listindex}" src="data:image/png;base64, {sys:"{python}" -u -c "import base64,sys; base64.encode(sys.stdin.buffer,sys.stdout.buffer)" < "{eval:os.path.join(r"{indir={outdir}}",r"{icon={iconsdir}/callouts/{listindex}.png}")}"}" /></td><td>|</td></tr> endif::data-uri[] text=| endif::icons[] [listtags-glossary] list=<div class="dlist{style? {style}}{role? {role}}"{id? id="{id}"}>{title?<div class="title">{title}</div>}<dl>|</dl></div> label= entry= term=<dt>|</dt> item=<dd>|</dd> text=<p>|</p> [listtags-bibliography] list=<div class="ulist{style? {style}}{role? {role}}"{id? id="{id}"}>{title?<div class="title">{title}</div>}<ul>|</ul></div> item=<li>|</li> text=<p>|</p> [tags] # Quoted text. emphasis=<em>{1?<span class="{1}">}|{1?</span>}</em> strong=<strong>{1?<span class="{1}">}|{1?</span>}</strong> monospaced=<code>{1?<span class="{1}">}|{1?</span>}</code> singlequoted={lsquo}{1?<span class="{1}">}|{1?</span>}{rsquo} doublequoted={ldquo}{1?<span class="{1}">}|{1?</span>}{rdquo} unquoted={1?<span class="{1}">}|{1?</span>} superscript=<sup>{1?<span class="{1}">}|{1?</span>}</sup> subscript=<sub>{1?<span class="{1}">}|{1?</span>}</sub> ifdef::deprecated-quotes[] # Override with deprecated quote attributes. emphasis={role?<span class="{role}">}<em{1,2,3? style="}{1?color:{1};}{2?background-color:{2};}{3?font-size:{3}em;}{1,2,3?"}>|</em>{role?</span>} strong={role?<span class="{role}">}<strong{1,2,3? style="}{1?color:{1};}{2?background-color:{2};}{3?font-size:{3}em;}{1,2,3?"}>|</strong>{role?</span>} monospaced={role?<span class="{role}">}<code{1,2,3? style="}{1?color:{1};}{2?background-color:{2};}{3?font-size:{3}em;}{1,2,3?"}>|</code>{role?</span>} singlequoted={role?<span class="{role}">}{1,2,3?<span style="}{1?color:{1};}{2?background-color:{2};}{3?font-size:{3}em;}{1,2,3?">}{amp}#8216;|{amp}#8217;{1,2,3?</span>}{role?</span>} doublequoted={role?<span class="{role}">}{1,2,3?<span style="}{1?color:{1};}{2?background-color:{2};}{3?font-size:{3}em;}{1,2,3?">}{amp}#8220;|{amp}#8221;{1,2,3?</span>}{role?</span>} unquoted={role?<span class="{role}">}{1,2,3?<span style="{1?color:{1};}{2?background-color:{2};}{3?font-size:{3}em;}">}|{1,2,3?</span>}{role?</span>} superscript={role?<span class="{role}">}<sup{1,2,3? style="}{1?color:{1};}{2?background-color:{2};}{3?font-size:{3}em;}{1,2,3?"}>|</sup>{role?</span>} subscript={role?<span class="{role}">}<sub{1,2,3? style="}{1?color:{1};}{2?background-color:{2};}{3?font-size:{3}em;}{1,2,3?"}>|</sub>{role?</span>} endif::deprecated-quotes[] # Inline macros [http-inlinemacro] <a href="{name}:{target}">{0={name}:{target}}</a> [https-inlinemacro] <a href="{name}:{target}">{0={name}:{target}}</a> [ftp-inlinemacro] <a href="{name}:{target}">{0={name}:{target}}</a> [file-inlinemacro] <a href="{name}:{target}">{0={name}:{target}}</a> [irc-inlinemacro] <a href="{name}:{target}">{0={name}:{target}}</a> [mailto-inlinemacro] <a href="mailto:{target}">{0={target}}</a> [link-inlinemacro] <a href="{target}">{0={target}}</a> [callto-inlinemacro] <a href="{name}:{target}">{0={target}}</a> # anchor:id[text] [anchor-inlinemacro] <a id="{target}"></a> # [[id,text]] [anchor2-inlinemacro] <a id="{1}"></a> # [[[id]]] [anchor3-inlinemacro] <a id="{1}"></a>[{1}] # xref:id[text] [xref-inlinemacro] <a href="#{target}">{0=[{target}]}</a> # <<id,text>> [xref2-inlinemacro] <a href="#{1}">{2=[{1}]}</a> # Special word substitution. [emphasizedwords] <em>{words}</em> [monospacedwords] <code>{words}</code> [strongwords] <strong>{words}</strong> # Paragraph substitution. [paragraph] <div class="paragraph{role? {role}}{unbreakable-option? unbreakable}"{id? id="{id}"}>{title?<div class="title">{title}</div>}<p> | </p></div> [admonitionparagraph] template::[admonitionblock] # Delimited blocks. [listingblock] <div class="listingblock{role? {role}}{unbreakable-option? unbreakable}"{id? id="{id}"}> <div class="title">{caption=}{title}</div> <div class="content"> <pre><code> | </code></pre> </div></div> [literalblock] <div class="literalblock{role? {role}}{unbreakable-option? unbreakable}"{id? id="{id}"}> <div class="title">{title}</div> <div class="content"> <pre><code> | </code></pre> </div></div> [sidebarblock] <div class="sidebarblock{role? {role}}{unbreakable-option? unbreakable}"{id? id="{id}"}> <div class="content"> <div class="title">{title}</div> | </div></div> [openblock] <div class="openblock{role? {role}}{unbreakable-option? unbreakable}"{id? id="{id}"}> <div class="title">{title}</div> <div class="content"> | </div></div> [partintroblock] template::[openblock] [abstractblock] template::[quoteblock] [quoteblock] <div class="quoteblock{role? {role}}{unbreakable-option? unbreakable}"{id? id="{id}"}> <div class="title">{title}</div> <div class="content"> | </div> <div class="attribution"> <em>{citetitle}</em>{attribution?<br />} — {attribution} </div></div> [verseblock] <div class="verseblock{role? {role}}{unbreakable-option? unbreakable}"{id? id="{id}"}> <div class="title">{title}</div> <pre class="content"> | </pre> <div class="attribution"> <em>{citetitle}</em>{attribution?<br />} — {attribution} </div></div> [exampleblock] <div class="exampleblock{role? {role}}{unbreakable-option? unbreakable}"{id? id="{id}"}> <div class="title">{caption={example-caption} {counter:example-number}. }{title}</div> <div class="content"> | </div></div> [admonitionblock] <div class="admonitionblock{role? {role}}{unbreakable-option? unbreakable}"{id? id="{id}"}> <table><tr> <td class="icon"> {data-uri%}{icons#}<img src="{icon={iconsdir}/{name}.png}" alt="{caption}" /> {data-uri#}{icons#}<img alt="{caption}" src="data:image/png;base64, {data-uri#}{icons#}{sys:"{python}" -u -c "import base64,sys; base64.encode(sys.stdin.buffer,sys.stdout.buffer)" < "{eval:os.path.join(r"{indir={outdir}}",r"{icon={iconsdir}/{name}.png}")}"}" /> {icons%}<div class="title">{caption}</div> </td> <td class="content"> <div class="title">{title}</div> | </td> </tr></table> </div> # Tables. [tabletags-default] colspec=<col{autowidth-option! width="{colpcwidth}%"} /> bodyrow=<tr>|</tr> headdata=<th {colspan@1::colspan="{colspan}" }{rowspan@1::rowspan="{rowspan}" }align="{halign}" valign="{valign}">|</th> bodydata=<td {colspan@1::colspan="{colspan}" }{rowspan@1::rowspan="{rowspan}" }align="{halign}" valign="{valign}">|</td> paragraph=<p class="table">|</p> [tabletags-header] paragraph=<p class="table header">|</p> [tabletags-emphasis] paragraph=<p class="table"><em>|</em></p> [tabletags-strong] paragraph=<p class="table"><strong>|</strong></p> [tabletags-monospaced] paragraph=<p class="table"><code>|</code></p> [tabletags-verse] bodydata=<td {colspan@1::colspan="{colspan}" }{rowspan@1::rowspan="{rowspan}" }align="{halign}" valign="{valign}"><div class="verse">|</div></td> paragraph= [tabletags-literal] bodydata=<td {colspan@1::colspan="{colspan}" }{rowspan@1::rowspan="{rowspan}" }align="{halign}" valign="{valign}"><div class="literal"><pre><code>|</code></pre></div></td> paragraph= [tabletags-asciidoc] bodydata=<td {colspan@1::colspan="{colspan}" }{rowspan@1::rowspan="{rowspan}" }align="{halign}" valign="{valign}"><div>|</div></td> paragraph= [table] <div class="tableblock{role? {role}}{unbreakable-option? unbreakable}"{id? id="{id}"}> <table rules="{grid=all}" style="margin-left:{align@left:0}{align@center|right:auto}; margin-right:{align@left|center:auto}{align@right:0};" style="float:{float};" {autowidth-option%}width="{tablepcwidth}%" {autowidth-option#}{width#width="{tablepcwidth}%"} frame="{frame%border}" frame="{frame@topbot:hsides}{frame@all:border}{frame@none:void}{frame@sides:vsides}" cellspacing="0" cellpadding="4"> <caption class="title">{caption={table-caption} {counter:table-number}. }{title}</caption> {colspecs} {headrows#}<thead> {headrows} {headrows#}</thead> {footrows#}<tfoot> {footrows} {footrows#}</tfoot> <tbody> {bodyrows} </tbody> </table> </div> #-------------------------------------------------------------------- # Deprecated old table definitions. # [miscellaneous] # Screen width in pixels. pagewidth=800 pageunits= [old_tabledef-default] template=old_table colspec=<col width="{colwidth}{pageunits}" /> bodyrow=<tr>|</tr> headdata=<th align="{colalign}">|</th> footdata=<td align="{colalign}">|</td> bodydata=<td align="{colalign}">|</td> [old_table] <div class="tableblock"{id? id="{id}"}> <table rules="{grid=none}" frame="{frame%hsides}" frame="{frame@topbot:hsides}{frame@all:border}{frame@none:void}{frame@sides:vsides}" cellspacing="0" cellpadding="4"> <caption class="title">{caption={table-caption}}{title}</caption> {colspecs} {headrows#}<thead> {headrows} {headrows#}</thead> {footrows#}<tfoot> {footrows} {footrows#}</tfoot> <tbody valign="top"> {bodyrows} </tbody> </table> </div> # End of deprecated old table definitions. #-------------------------------------------------------------------- [floatingtitle] <h{level@0:1}{level@1:2}{level@2:3}{level@3:4}{level@4:5}{id? id="{id}"} class="float">{title}</h{level@0:1}{level@1:2}{level@2:3}{level@3:4}{level@4:5}> [preamble] # Untitled elements between header and first section title. <div id="preamble"> <div class="sectionbody"> | </div> </div> # Document sections. [sect0] <h1{id? id="{id}"}>{title}</h1> | [sect1] <div class="sect1{style? {style}}{role? {role}}"> <h2{id? id="{id}"}>{numbered?{sectnum} }{title}</h2> <div class="sectionbody"> | </div> </div> [sect2] <div class="sect2{style? {style}}{role? {role}}"> <h3{id? id="{id}"}>{numbered?{sectnum} }{title}</h3> | </div> [sect3] <div class="sect3{style? {style}}{role? {role}}"> <h4{id? id="{id}"}>{numbered?{sectnum} }{title}</h4> | </div> [sect4] <div class="sect4{style? {style}}{role? {role}}"> <h5{id? id="{id}"}>{title}</h5> | </div> [appendix] <div class="sect1{style? {style}}{role? {role}}"> <h2{id? id="{id}"}>{numbered?{sectnum} }{appendix-caption} {counter:appendix-number:A}: {title}</h2> <div class="sectionbody"> | </div> </div> [toc] <div id="toc"> <div id="toctitle">{toc-title}</div> <noscript><p><b>JavaScript must be enabled in your browser to display the table of contents.</b></p></noscript> </div> [header] <?xml version="1.0" encoding="{encoding}"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="{lang=en}"> <head> <meta http-equiv="Content-Type" content="{quirks=application/xhtml+xml}{quirks?text/html}; charset={encoding}" /> <meta name="generator" content="AsciiDoc {asciidoc-version}" /> <meta name="description" content="{description}" /> <meta name="keywords" content="{keywords}" /> <title>{title} {title%}{doctitle=} ifdef::linkcss[] ifdef::quirks[] endif::quirks[] ifeval::["{source-highlighter}"=="pygments"] endif::[] # DEPRECATED: 'pygments' attribute. ifdef::pygments[] ifdef::toc2[] endif::linkcss[] ifndef::linkcss[] endif::linkcss[] ifndef::disable-javascript[] ifdef::linkcss[] endif::linkcss[] ifndef::linkcss[] endif::linkcss[] endif::disable-javascript[] ifdef::asciimath[] ifdef::linkcss[] endif::linkcss[] ifndef::linkcss[] endif::linkcss[] endif::asciimath[] ifdef::latexmath[] ifdef::linkcss[] endif::linkcss[] ifndef::linkcss[] endif::linkcss[] endif::latexmath[] ifdef::mathjax[] endif::mathjax[] {docinfo1,docinfo2#}{include:{docdir}/docinfo.html} {docinfo,docinfo2#}{include:{docdir}/{docname}-docinfo.html} template::[docinfo] # Article, book header. ifndef::doctype-manpage[] endif::doctype-manpage[] # Man page header. ifdef::doctype-manpage[] endif::doctype-manpage[]
[footer]
{disable-javascript%

} [footer-date] # Default footer date is document modification time ifeval::["{footer-style=default}"!="revdate"] {docdate} {doctime} endif::[] # If set to "revdate", it'll be set to the revision date ifeval::["{footer-style=default}"=="revdate"] {revdate} endif::[] ifdef::doctype-manpage[] [synopsis] template::[sect1] endif::doctype-manpage[] ifdef::quirks[] include::xhtml11-quirks.conf[] endif::quirks[] asciidoc-py3-9.0.0rc1/vim/0000755000175000017500000000000013570064211014551 5ustar josephjosephasciidoc-py3-9.0.0rc1/vim/syntax/0000755000175000017500000000000013570064211016077 5ustar josephjosephasciidoc-py3-9.0.0rc1/vim/syntax/asciidoc.vim0000644000175000017500000002515313570064211020400 0ustar josephjoseph" Vim syntax file " Language: AsciiDoc " Author: Stuart Rackham (inspired by Felix " Obenhuber's original asciidoc.vim script). " URL: http://asciidoc.org/ " Licence: GPL (http://www.gnu.org) " Remarks: Vim 6 or greater " Limitations: " " - Nested quoted text formatting is highlighted according to the outer " format. " - If a closing Example Block delimiter may be mistaken for a title " underline. A workaround is to insert a blank line before the closing " delimiter. " - Lines within a paragraph starting with equals characters are " highlighted as single-line titles. " - Lines within a paragraph beginning with a period are highlighted as " block titles. if exists("b:current_syntax") finish endif syn clear syn sync fromstart syn sync linebreaks=100 " Run :help syn-priority to review syntax matching priority. syn keyword asciidocToDo TODO FIXME CHECK TEST XXX ZZZ DEPRECATED syn match asciidocBackslash /\\/ syn region asciidocIdMarker start=/^\$Id:\s/ end=/\s\$$/ syn match asciidocCallout /\\\@/ syn match asciidocOpenBlockDelimiter /^--$/ syn match asciidocLineBreak /[ \t]+$/ containedin=asciidocList syn match asciidocRuler /^'\{3,}$/ syn match asciidocPagebreak /^<\{3,}$/ syn match asciidocEntityRef /\\\@\?[0-9A-Za-z_]\@!/ syn match asciidocAttributeRef /\\\@.]\{,3}\)\?\([a-z]\)\?\)\?|/ containedin=asciidocTableBlock contained syn region asciidocTableBlock matchgroup=asciidocTableDelimiter start=/^|=\{3,}$/ end=/^|=\{3,}$/ keepend contains=ALL syn match asciidocTablePrefix /\(\S\@.]\{,3}\)\?\([a-z]\)\?\)\?!/ containedin=asciidocTableBlock contained syn region asciidocTableBlock2 matchgroup=asciidocTableDelimiter2 start=/^!=\{3,}$/ end=/^!=\{3,}$/ keepend contains=ALL syn match asciidocListContinuation /^+$/ syn region asciidocLiteralBlock start=/^\.\{4,}$/ end=/^\.\{4,}$/ contains=asciidocCallout,asciidocToDo keepend syn region asciidocListingBlock start=/^-\{4,}$/ end=/^-\{4,}$/ contains=asciidocCallout,asciidocToDo keepend syn region asciidocCommentBlock start="^/\{4,}$" end="^/\{4,}$" contains=asciidocToDo syn region asciidocPassthroughBlock start="^+\{4,}$" end="^+\{4,}$" " Allowing leading \w characters in the filter delimiter is to accommodate " the pre version 8.2.7 syntax and may be removed in future releases. syn region asciidocFilterBlock start=/^\w*\~\{4,}$/ end=/^\w*\~\{4,}$/ syn region asciidocMacroAttributes matchgroup=asciidocRefMacro start=/\\\@>\)\|^$/ contains=asciidocQuoted.* keepend syn region asciidocMacroAttributes matchgroup=asciidocAnchorMacro start=/\\\@ _frozentime, 'File created before first public release' return _localtime(_frozentime) def generate_expected(self, backend): time.localtime = _frozen_localtime os.environ['TZ'] = _frozentz time.tzset() try: return f(self, backend) finally: time.localtime = _localtime del os.environ['TZ'] time.tzset() return generate_expected class AsciiDocTest(object): def __init__(self): self.number = None # Test number (1..). self.name = '' # Optional test name. self.title = '' # Optional test name. self.description = [] # List of lines followoing title. self.source = None # AsciiDoc test source file name. self.options = [] self.attributes = {'asciidoc-version': 'test'} self.backends = BACKENDS self.confdir = None self.datadir = None # Where output files are stored. self.disabled = False self.passed = self.skipped = self.failed = 0 def backend_filename(self, backend): """ Return the path name of the backend output file that is generated from the test name and output file type. """ return '%s-%s%s' % ( os.path.normpath(os.path.join(self.datadir, self.name)), backend, BACKEND_EXT[backend]) def parse(self, lines, confdir, datadir): """ Parse conf file test section from list of text lines. """ self.__init__() self.confdir = confdir self.datadir = datadir lines = Lines(lines) while not lines.eol(): l = lines.read_until(r'^%') if l: if not l[0].startswith('%'): if l[0][0] == '!': self.disabled = True self.title = l[0][1:] else: self.title = l[0] self.description = l[1:] continue reo = re.match(r'^%\s*(?P[\w_-]+)', l[0]) if not reo: raise ValueError directive = reo.groupdict()['directive'] data = normalize_data(l[1:]) if directive == 'source': if data: self.source = os.path.normpath(os.path.join( self.confdir, os.path.normpath(data[0]))) elif directive == 'options': self.options = eval(' '.join(data)) for i, v in enumerate(self.options): if isinstance(v, str): self.options[i] = (v, None) elif directive == 'attributes': self.attributes.update(eval(' '.join(data))) elif directive == 'backends': self.backends = eval(' '.join(data)) elif directive == 'name': self.name = data[0].strip() else: raise ValueError if not self.title: self.title = self.source if not self.name: self.name = os.path.basename(os.path.splitext(self.source)[0]) def is_missing(self, backend): """ Returns True if there is no output test data file for backend. """ return not os.path.isfile(self.backend_filename(backend)) def is_missing_or_outdated(self, backend): """ Returns True if the output test data file is missing or out of date. """ return self.is_missing(backend) or ( os.path.getmtime(self.source) > os.path.getmtime(self.backend_filename(backend))) def get_expected(self, backend): """ Return expected test data output for backend. """ with open(self.backend_filename(backend), encoding='utf-8') as open_file: result = open_file.readlines() # Strip line terminators. result = [s.rstrip() for s in result] return result @mock_localtime def generate_expected(self, backend): """ Generate and return test data output for backend. """ asciidoc = asciidocapi.AsciiDocAPI() asciidoc.options.values = self.options asciidoc.attributes = self.attributes infile = self.source outfile = io.StringIO() asciidoc.execute(infile, outfile, backend) return outfile.getvalue().splitlines() def update_expected(self, backend): """ Generate and write backend data. """ lines = self.generate_expected(backend) if not os.path.isdir(self.datadir): print(('CREATING: %s' % self.datadir)) os.mkdir(self.datadir) with open(self.backend_filename(backend), 'w+', encoding='utf-8') as open_file: print(('WRITING: %s' % open_file.name)) open_file.writelines([s + os.linesep for s in lines]) def update(self, backend=None, force=False): """ Regenerate and update expected test data outputs. """ if backend is None: backends = self.backends else: backends = [backend] for backend in backends: if force or self.is_missing_or_outdated(backend): self.update_expected(backend) def run(self, backend=None): """ Execute test. Return True if test passes. """ if backend is None: backends = self.backends else: backends = [backend] result = True # Assume success. self.passed = self.failed = self.skipped = 0 print(('%d: %s' % (self.number, self.title))) if self.source and os.path.isfile(self.source): print(('SOURCE: asciidoc: %s' % self.source)) for backend in backends: fromfile = self.backend_filename(backend) if not self.is_missing(backend): expected = self.get_expected(backend) strip_end(expected) got = self.generate_expected(backend) strip_end(got) lines = [] for line in difflib.unified_diff(got, expected, n=0): lines.append(line) if lines: result = False self.failed +=1 lines = lines[3:] print(('FAILED: %s: %s' % (backend, fromfile))) message('+++ %s' % fromfile) message('--- got') for line in lines: message(line) message() else: self.passed += 1 print(('PASSED: %s: %s' % (backend, fromfile))) else: self.skipped += 1 print(('SKIPPED: %s: %s' % (backend, fromfile))) else: self.skipped += len(backends) if self.source: msg = 'MISSING: %s' % self.source else: msg = 'NO ASCIIDOC SOURCE FILE SPECIFIED' print(msg) print('') return result class AsciiDocTests(object): def __init__(self, conffile): """ Parse configuration file :param conffile: """ self.conffile = conffile self.passed = self.failed = self.skipped = 0 # All file names are relative to configuration file directory. self.confdir = os.path.dirname(self.conffile) self.datadir = self.confdir # Default expected files directory. self.tests = [] # List of parsed AsciiDocTest objects. self.globals = {} with open(self.conffile, encoding='utf-8') as open_file: lines = Lines(open_file.readlines()) first = True while not lines.eol(): s = lines.read_until(r'^%+$') s = [l for l in s if l] # Drop blank lines. # Must be at least one non-blank line in addition to delimiter. if len(s) > 1: # Optional globals precede all tests. if first and re.match(r'^%\s*globals$', s[0]): self.globals = eval(' '.join(normalize_data(s[1:]))) if 'datadir' in self.globals: self.datadir = os.path.join( self.confdir, os.path.normpath(self.globals['datadir']) ) else: test = AsciiDocTest() test.parse(s[1:], self.confdir, self.datadir) self.tests.append(test) test.number = len(self.tests) first = False def run(self, number=None, backend=None): """ Run all tests. If number is specified run test number (1..). """ self.passed = self.failed = self.skipped = 0 for test in self.tests: if (not test.disabled or number) and (not number or number == test.number) and (not backend or backend in test.backends): test.run(backend) self.passed += test.passed self.failed += test.failed self.skipped += test.skipped if self.passed > 0: print(('TOTAL PASSED: %s' % self.passed)) if self.failed > 0: print(('TOTAL FAILED: %s' % self.failed)) if self.skipped > 0: print(('TOTAL SKIPPED: %s' % self.skipped)) def update(self, number=None, backend=None, force=False): """ Regenerate expected test data and update configuratio file. """ for test in self.tests: if (not test.disabled or number) and (not number or number == test.number): test.update(backend, force=force) def list(self): """ Lists tests to stdout. """ for test in self.tests: print('%d: %s%s' % (test.number, iif(test.disabled,'!'), test.title)) class Lines(list): """ A list of strings. Adds eol() and read_until() to list type. """ def __init__(self, lines): super(Lines, self).__init__() self.extend([s.rstrip() for s in lines]) self.pos = 0 def eol(self): return self.pos >= len(self) def read_until(self, regexp): """ Return a list of lines from current position up until the next line matching regexp. Advance position to matching line. """ result = [] if not self.eol(): result.append(self[self.pos]) self.pos += 1 while not self.eol(): if re.match(regexp, self[self.pos]): break result.append(self[self.pos]) self.pos += 1 return result if __name__ == '__main__': # Process command line options. from argparse import ArgumentParser parser = ArgumentParser(description='Run AsciiDoc conformance tests specified in ' 'configuration FILE.') msg = 'Use configuration file CONF_FILE (default configuration file is testasciidoc.conf in' \ 'testasciidoc.py directory)' parser.add_argument('-v', '--version', action='version', version='%(prog)s {}'.format(__version__)) parser.add_argument('-f', '--conf-file', help=msg) subparsers = parser.add_subparsers(metavar='command', dest='command') subparsers.required = True subparsers.add_parser('list', help='List tests') options = ArgumentParser(add_help=False) options.add_argument('-n', '--number', type=int, help='Test number to run') options.add_argument('-b', '--backend', type=str, help='Backend to run') subparsers.add_parser('run', help='Execute tests', parents=[options]) subparser = subparsers.add_parser('update', help='Regenerate and update test data', parents=[options]) subparser.add_argument('--force', action='store_true', help='Update all test data overwriting existing data') args = parser.parse_args() conffile = os.path.join(os.path.dirname(sys.argv[0]), 'testasciidoc.conf') force = 'force' in args and args.force is True if args.conf_file is not None: conffile = args.conf_file if not os.path.isfile(conffile): message('missing CONF_FILE: %s' % conffile) sys.exit(1) tests = AsciiDocTests(conffile) cmd = args.command number = None backend = None if 'number' in args: number = args.number if 'backend' in args: backend = args.backend if backend and backend not in BACKENDS: message('illegal BACKEND: {:s}'.format(backend)) sys.exit(1) if number is not None and (number < 1 or number > len(tests.tests)): message('illegal test NUMBER: {:d}'.format(number)) sys.exit(1) if cmd == 'run': tests.run(number, backend) if tests.failed: sys.exit(1) elif cmd == 'update': tests.update(number, backend, force=force) elif cmd == 'list': tests.list() asciidoc-py3-9.0.0rc1/tests/asciidocapi.py0000777000175000017500000000000013570064211022774 2../asciidocapi.pyustar josephjosephasciidoc-py3-9.0.0rc1/tests/testasciidoc.conf0000644000175000017500000003506313570064211020454 0ustar josephjoseph% globals { 'datadir': 'data', } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Test cases % source data/testcases.txt %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Filters % source data/filters-test.txt %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Tables % source ../examples/website/newtables.txt %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Old tables % source data/oldtables.txt %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Source highlighter % source ../doc/source-highlight-filter.txt %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Example article % options ['--section-numbers', ('--attribute','css-signature=article-test')] % attributes # So document date in footer doesn't generate an error. {'docdate':None} % source ../doc/article.txt %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Example article with embedded images (data URIs) % source ../doc/article.txt % name article-data-uri % backends ['html4','xhtml11','html5'] % options ['--section-numbers'] % attributes {'docdate':None, 'data-uri':True, 'icons':True} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Example article with included docinfo file. % source ../doc/article.txt % name article-docinfo % backends ['docbook','docbook5'] % options ['--section-numbers'] % attributes {'docdate':None, 'docinfo':True} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Example book % options ['--section-numbers'] % source ../doc/book.txt %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Example multi-part book % options ['--section-numbers'] % source ../doc/book-multi.txt %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Man page % attributes # So document date in footer doesn't generate an error. {'docdate':None} % source ../doc/asciidoc.1.txt %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Example slideshow % backends ['slidy'] % source ../doc/slidy-example.txt %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ASCIIMathML % attributes {'asciimath':'','deprecated-quotes':''} % backends ['xhtml11','html5'] % source ../doc/asciimathml.txt %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% LaTeXMathML % attributes {'latexmath':''} % backends ['xhtml11','html5'] % source ../doc/latexmathml.txt %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% LaTeX Math % backends ['docbook','docbook5'] % source ../doc/latexmath.txt %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% LaTeX Filter % source ../doc/latex-filter.txt %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% !User Guide % options ['--section-numbers'] % source ../doc/asciidoc.txt %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% UTF-8 Examples % source data/utf8-examples.txt %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Additional Open Block and Paragraph styles % source data/open-block-test.txt %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% English language file (article) % backends ['docbook','docbook5','xhtml11','html4','html5'] % name lang-en-article-test % source data/lang-en-test.txt % options [('--doctype','article')] % attributes {'toc':True} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% English language file (book) % backends ['docbook','docbook5','xhtml11','html4','html5'] % name lang-en-book-test % source data/lang-en-test.txt % options [('--doctype','book')] % attributes {'toc':True} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% English language file (manpage) % backends ['docbook','docbook5'] % source data/lang-en-man-test.txt %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Russian language file (article) % backends ['docbook','docbook5','xhtml11','html4','html5'] % name lang-ru-article-test % source data/lang-ru-test.txt % options [('--doctype','article')] % attributes {'toc':True} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Russian language file (book) % backends ['docbook','docbook5','xhtml11','html4','html5'] % name lang-ru-book-test % source data/lang-ru-test.txt % options [('--doctype','book')] % attributes {'toc':True} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Russian language file (manpage) % backends ['docbook','docbook5'] % source data/lang-ru-man-test.txt %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% French language file (article) % backends ['docbook','docbook5','xhtml11','html4','html5'] % name lang-fr-article-test % source data/lang-fr-test.txt % options [('--doctype','article')] % attributes {'toc':True} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% French language file (book) % backends ['docbook','docbook5','xhtml11','html4','html5'] % name lang-fr-book-test % source data/lang-fr-test.txt % options [('--doctype','book')] % attributes {'toc':True} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% French language file (manpage) % backends ['docbook','docbook5'] % source data/lang-fr-man-test.txt %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% German language file (article) % backends ['docbook','docbook5','xhtml11','html4','html5'] % name lang-de-article-test % source data/lang-de-test.txt % options [('--doctype','article')] % attributes {'toc':True} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% German language file (book) % backends ['docbook','docbook5','xhtml11','html4','html5'] % name lang-de-book-test % source data/lang-de-test.txt % options [('--doctype','book')] % attributes {'toc':True} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% German language file (manpage) % backends ['docbook','docbook5'] % source data/lang-de-man-test.txt %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Hungarian language file (article) % backends ['docbook','docbook5','xhtml11','html4','html5'] % name lang-hu-article-test % source data/lang-hu-test.txt % options [('--doctype','article')] % attributes {'toc':True} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Hungarian language file (book) % backends ['docbook','docbook5','xhtml11','html4','html5'] % name lang-hu-book-test % source data/lang-hu-test.txt % options [('--doctype','book')] % attributes {'toc':True} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Hungarian language file (manpage) % backends ['docbook','docbook5'] % source data/lang-hu-man-test.txt %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Spanish language file (article) % backends ['docbook','docbook5','xhtml11','html4','html5'] % name lang-es-article-test % source data/lang-es-test.txt % options [('--doctype','article')] % attributes {'toc':True} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Spanish language file (book) % backends ['docbook','docbook5','xhtml11','html4','html5'] % name lang-es-book-test % source data/lang-es-test.txt % options [('--doctype','book')] % attributes {'toc':True} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Spanish language file (manpage) % backends ['docbook','docbook5'] % source data/lang-es-man-test.txt %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Brazilian Portuguese language file (article) % backends ['docbook','docbook5','xhtml11','html4','html5'] % name lang-pt-BR-article-test % source data/lang-pt-BR-test.txt % options [('--doctype','article')] % attributes {'toc':True} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Brazilian Portuguese language file (book) % backends ['docbook','docbook5','xhtml11','html4','html5'] % name lang-pt-BR-book-test % source data/lang-pt-BR-test.txt % options [('--doctype','book')] % attributes {'toc':True} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Brazilian Portuguese language file (manpage) % backends ['docbook','docbook5'] % source data/lang-pt-BR-man-test.txt %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Ukrainian language file (article) % backends ['docbook','docbook5','xhtml11','html4','html5'] % name lang-uk-article-test % source data/lang-uk-test.txt % options [('--doctype','article')] % attributes {'toc':True} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Ukrainian language file (book) % backends ['docbook','docbook5','xhtml11','html4','html5'] % name lang-uk-book-test % source data/lang-uk-test.txt % options [('--doctype','book')] % attributes {'toc':True} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Ukrainian language file (manpage) % backends ['docbook','docbook5'] % source data/lang-uk-man-test.txt %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Dutch language file (article) % backends ['docbook','docbook5','xhtml11','html4','html5'] % name lang-nl-article-test % source data/lang-nl-test.txt % options [('--doctype','article')] % attributes {'toc':True} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Dutch language file (book) % backends ['docbook','docbook5','xhtml11','html4','html5'] % name lang-nl-book-test % source data/lang-nl-test.txt % options [('--doctype','book')] % attributes {'toc':True} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Dutch language file (manpage) % backends ['docbook','docbook5'] % source data/lang-nl-man-test.txt %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Italian language file (article) % backends ['docbook','docbook5','xhtml11','html4','html5'] % name lang-it-article-test % source data/lang-it-test.txt % options [('--doctype','article')] % attributes {'toc':True} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Italian language file (book) % backends ['docbook','docbook5','xhtml11','html4','html5'] % name lang-it-book-test % source data/lang-it-test.txt % options [('--doctype','book')] % attributes {'toc':True} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Italian language file (manpage) % backends ['docbook','docbook5'] % source data/lang-it-man-test.txt %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Czech language file (article) % backends ['docbook','docbook5','xhtml11','html4','html5'] % name lang-cs-article-test % source data/lang-cs-test.txt % options [('--doctype','article')] % attributes {'toc':True} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Czech language file (book) % backends ['docbook','docbook5','xhtml11','html4','html5'] % name lang-cs-book-test % source data/lang-cs-test.txt % options [('--doctype','book')] % attributes {'toc':True} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Czech language file (manpage) % backends ['docbook','docbook5'] % source data/lang-cs-man-test.txt %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Romanian language file (article) % backends ['docbook','docbook5','xhtml11','html4','html5'] % name lang-ro-article-test % source data/lang-ro-test.txt % options [('--doctype','article')] % attributes {'toc':True} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Romanian language file (book) % backends ['docbook','docbook5','xhtml11','html4','html5'] % name lang-ro-book-test % source data/lang-ro-test.txt % options [('--doctype','book')] % attributes {'toc':True} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Romanian language file (manpage) % backends ['docbook','docbook5'] % source data/lang-ro-man-test.txt %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Japanese language file (article) % backends ['docbook','docbook5','xhtml11','html4','html5'] % name lang-ja-article-test % source data/lang-ja-test.txt % options [('--doctype','article')] % attributes {'toc':True} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Japanese language file (book) % backends ['docbook','docbook5','xhtml11','html4','html5'] % name lang-ja-book-test % source data/lang-ja-test.txt % options [('--doctype','book')] % attributes {'toc':True} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Japanese language file (manpage) % backends ['docbook','docbook5'] % source data/lang-ja-man-test.txt %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% RCS $Id$ marker test % source data/rcs-id-marker-test.txt %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% UTF-8 BOM test % source data/utf8-bom-test.txt %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Deprecated quote attributes % attributes {'deprecated-quotes':''} % source data/deprecated-quotes.txt %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Swedish language file (article) % backends ['docbook','docbook5','xhtml11','html4','html5'] % name lang-sv-article-test % source data/lang-sv-test.txt % options [('--doctype','article')] % attributes {'toc':True} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Swedish language file (book) % backends ['docbook','docbook5','xhtml11','html4','html5'] % name lang-sv-book-test % source data/lang-sv-test.txt % options [('--doctype','book')] % attributes {'toc':True} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Swedish language file (manpage) % backends ['docbook','docbook5'] % source data/lang-sv-man-test.txt %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Last Updated field not displayed in HTML backends % backends ['xhtml11','html4','html5'] % name lang-en-no-last-updated-test % source data/lang-en-test.txt % attributes {'footer-style':'none'} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Last Updated field displays revision date % backends ['xhtml11','html4','html5'] % name lang-en-last-updated-is-revdate-test % source data/lang-en-test.txt % attributes {'footer-style':'revdate'} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% asciidoc-py3-9.0.0rc1/tests/data/0000755000175000017500000000000013570064211016031 5ustar josephjosephasciidoc-py3-9.0.0rc1/tests/data/lang-es-man-test-docbook5.xml0000644000175000017500000000171013570064211023331 0ustar josephjoseph ASCIIDOC(1) asciidoc 1     asciidoc converts an AsciiDoc text file to HTML or DocBook asciidoc [OPTIONS] FILE DESCRIPTION The asciidoc(1) command translates the AsciiDoc text file FILE to DocBook or HTML. If FILE is - then the standard input is used. asciidoc-py3-9.0.0rc1/tests/data/article-data-uri-html4.html0000644000175000017500000004176213570064211023106 0ustar josephjoseph The Article Title

The Article Title

Author's Name
<authors@email.address>
version 1.0, 2003-12

This is the optional preamble (an untitled section body). Useful for writing simple sectionless documents consisting only of a preamble.

Note The abstract, preface, appendix, bibliography, glossary and index section titles are significant (specialsections).

Example Abstract

The optional abstract (one or more paragraphs) goes here.

This document is an AsciiDoc article skeleton containing briefly annotated element placeholders plus a couple of example index entries and footnotes.


1. The First Section

Article sections start at level 1 and can be nested up to four levels deep.
[An example footnote.]

And now for something completely different: monkeys, lions and tigers (Bengal and Siberian) using the alternative syntax index entries. Note that multi-entry terms generate separate index entries.

Here are a couple of image examples: an images/smallnew.png example inline image followed by an example block image:

Tiger image

Figure 1. Tiger block image

Followed by an example table:

Option Description

-a USER GROUP

Add USER to GROUP.

-R GROUP

Disables access to GROUP.

Table 1. An example table

Lorum ipum…

Example 1. An example example

1.1. Sub-section with Anchor

Sub-section at level 2.

1.1.1. A Nested Sub-section

Sub-section at level 3.

Yet another nested Sub-section

Sub-section at level 4.

This is the maximum sub-section depth supported by the distributed AsciiDoc configuration.
[A second example footnote.]


2. The Second Section

Article sections are at level 1 and can contain sub-sections nested up to four deep.

An example link to anchor at start of the first sub-section.

An example link to a bibliography entry [taoup].


Appendix A: Example Appendix

AsciiDoc article appendices are just just article sections with specialsection titles.

Appendix Sub-section

Appendix sub-section at level 2.


Example Bibliography

The bibliography list is a style of AsciiDoc bulleted list.

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.


Example Glossary

Glossaries are optional. Glossaries entries are an example of a style of AsciiDoc labeled lists.

A glossary term

The corresponding (indented) definition.

A second glossary term

The corresponding (indented) definition.


Version 1.0
Last updated 2002-11-25 00:37:42 UTC

asciidoc-py3-9.0.0rc1/tests/data/latex-filter-html4.html0000644000175000017500000001613113570064211022347 0ustar josephjoseph LaTeX Filter

LaTeX Filter

The AsciiDoc distribution includes a LaTeX filter that translates LaTeX source to an image which is automatically inserted into the AsciiDoc output document. Although it can accept any LaTeX source, the primary use is to render mathematical formulae (see the examples below). The filter implements the latex Listing block and Paragraph styles.

Two image formats are supported; PNG and SVG. PNG is the default since that was the first format that this filter supported. However, SVG is a better format since it’s scalable. Using SVG make formulas look good in both PDFs and on web pages. SVG will also scale well when zooming in on a web page for example. It is recommended to always use the SVG format. This can be done by setting the imgfmt parameter to svg, as is done below. An even better way is to set the global attribute latex-imgfmt to svg. Then SVG will be used for all formulas.

This LaTeX paragraph:

["latex", imgfmt="svg"]
---------------------------------------------------------------------
\begin{equation*}
y = \int_0^\infty \gamma^2 \cos(x) dx
\end{equation*}
---------------------------------------------------------------------

Renders:

latex-filter__1.svg

Compare the formula above, which is rendered as an SVG image, to the formula below which has been rendered as a PNG image. The difference will be most notable if zooming in on a web page, printing the web page or when rendering the document as a PDF.

["latex", "latex2.png", 140, imgfmt="png"]
---------------------------------------------------------------------
\begin{equation*}
y = \int_0^\infty \gamma^2 \cos(x) dx
\end{equation*}
---------------------------------------------------------------------

Renders:

latex2.png

This LaTeX block:

["latex","latex1.svg",imgfmt="svg",align="center"]
---------------------------------------------------------------------
\begin{equation*}
\displaystyle{ V_i = C_0 - C_3
\frac{C_1\cos(\theta_i+C_3)}{C_4+C_1\cos(\theta_i+C_2)} }
\end{equation*}
---------------------------------------------------------------------

Renders:

latex1.svg

This LaTeX block:

.LaTeX filter example
[latex]
["latex","latex3.svg",imgfmt="svg"]
---------------------------------------------------------------------
\begin{equation}
\Re{z} =\frac{n\pi \dfrac{\theta +\psi}{2}}{
\left(\dfrac{\theta +\psi}{2}\right)^2 + \left( \dfrac{1}{2}
\log \left\lvert\dfrac{B}{A}\right\rvert\right)^2}.
\end{equation}

\begin{equation}
\boxed{\eta \leq C(\delta(\eta) +\Lambda_M(0,\delta))}
\end{equation}

\begin{equation}\label{first}
a=b+c
\end{equation}

\begin{subequations}\label{grp}
\begin{align}
a&=b+c\label{second}\\
d&=e+f+g\label{third}\\
h&=i+j\label{fourth}
\end{align}
\end{subequations}
---------------------------------------------------------------------

Renders:

latex3.svg

Figure 1. LaTeX filter example

This LaTeX paragraph:

.A LaTeX table
["latex",imgfmt="svg"]
\begin{tabular}{c r @{.} l}
Pi expression &
\multicolumn{2}{c}{Value} \\
\hline
$\pi$ & 3&1416 \\
$\pi^{\pi}$ & 36&46 \\
$(\pi^{\pi})^{\pi}$ & 80662&7 \\
\end{tabular}

Renders:

latex-filter__2.svg

Figure 2. A LaTeX table


Using the Filter

  • The LaTeX filter is invoked by setting the Listing block or Paragraph style (the first positional block attribute) to latex.

  • The second positional attribute (named target is optional, it sets the name of the generated image file. If this is not supplied a file name like {docname}__{target-number}.{imgfmt} is synthesised (where {docname} is the document file name, {target-number} is an integer number and {imgfmt} is the image format (png or svg).

  • The third positional attribute, named dpi, is also optional; it is an integer number that sets the output resolution in dots per inch for a PNG image. It is ignored for an SVG image.

  • The image format to use can be selected by setting the imgfmt parameter or by globally setting the latex-imgfmt attribute. Setting it to svg will render SVG images and setting it to png will render PNG images. The default is png.

Because the LaTeX images are rendered using the image block templates you can also use the optional named image block attributes (see Image macro attributes in the AsciiDoc User Guide).

Tip

You can also change the image size using the following LaTeX commands:

\tiny
\scriptsize
\footnotesize
\small
\normalsize
\large
\Large
\LARGE
\huge

For example:

[latex]
\Large $y = \int_0^\infty \gamma^2 \cos(x) dx$

The \Large command is outside the $ math delimiters.

The filter (./filters/latex/latex2img.py) can be used outside AsciiDoc to convert LaTeX source to images.

Execute the following command to see how to use it:

$ ./filters/latex/latex2img.py --help

Limitations

  • The asciidoc(1) input and output files cannot both be - (stdin and stdout), either the input or output files (or both) must be a named file.


Installation

In addition to AsciiDoc you will need to have latex(1), dvipng(1) (for PNG) and/or dvisvgm(1) (for SVG) installed.


Last updated 2002-11-25 00:37:42 UTC

asciidoc-py3-9.0.0rc1/tests/data/lang-ja-article-test-xhtml11.html0000644000175000017500000004601713570064211024132 0ustar josephjoseph Languages Test

概要

概要セクション

第一セクション

警告

以下は処理系が翻訳するのでこのソースでは翻訳しない。

Lorum ipsum.
補足
Lorum ipsum.
警告
Lorum ipsum.
注意
Lorum ipsum.
重要
Lorum ipsum.
虎の絵
図 1. Tiger

続いて表の例。

表 1. Table
オプション 説明

-a USER GROUP

USERGROUP に追加する

-R GROUP

GROUP へのアクセスを禁止する

そしてまったく異なるものの例: 猿、ライオン、虎。

付録 A: 付録の例

付録セクション

参考文献

参考文献セクション

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.

用語集

用語集セクション

用語

(インデントされた)用語の定義

別の用語

(インデントされた)用語の定義


asciidoc-py3-9.0.0rc1/tests/data/lang-uk-man-test-docbook5.xml0000644000175000017500000000171213570064211023343 0ustar josephjoseph ASCIIDOC(1) asciidoc 1     asciidoc converts an AsciiDoc text file to HTML or DocBook asciidoc [OPTIONS] FILE DESCRIPTION The asciidoc(1) command translates the AsciiDoc text file FILE to DocBook or HTML. If FILE is - then the standard input is used. asciidoc-py3-9.0.0rc1/tests/data/lang-ro-book-test-html4.html0000644000175000017500000000663213570064211023220 0ustar josephjoseph Languages Test

Languages Test

version v1.0, 2003-12-21


Dedica

Dedication special section.


Prefazione

Preface special section.


Colofone

Colophon special section.


The First Section

Admonishments

Do not translate in the source file — they are translated to the output file

Nota

Lorum ipsum.

Suggerimento

Lorum ipsum.

Avvertenza

Lorum ipsum.

Attenzione

Lorum ipsum.

Importante

Lorum ipsum.
Tiger image

Figura 1. Tiger

Followed by an example table:

Option Description

-a USER GROUP

Add USER to GROUP.

-R GROUP

Disables access to GROUP.

Tabella 1. Table

And now for something completely different: monkeys, lions and tigers.


Appendice A: Example Appendix

Appendix special section.


Bibliografia

Bibliography special section.

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.


Glossario

Glossary special section.

A glossary term

The corresponding (indented) definition.

A second glossary term

The corresponding (indented) definition.


Versione v1.0
Ultimo aggiornamento 2002-11-25 00:37:42 UTC

asciidoc-py3-9.0.0rc1/tests/data/latexmathml-xhtml11.html0000644000175000017500000021441213570064211022537 0ustar josephjoseph LaTeXMathML Formulae

LaTeXMathML capability has been added to AsciiDoc for users who are more familar with or prefer LaTeX math formulas to the ASCIIMathML notation.

LaTeXMathML is a derivative of ASCIIMathML — in terms of usage the only difference it that you use the latexmath attribute instead of the asciimath attribute.

LaTeXMathML processes LaTeX math formulas not arbitrary LaTeX (as dblatex(1) does). See the LaTeXMathML website for details.

Here’s the AsciiDoc source that generated this page.

Some example LaTeXMathML formulas:

  • $R_x = 10.0 \times \sin(R_\phi)$

  • $\sum_{n=1}^\infty \frac{1}{2^n}$

  • $\lim_{x\to\infty} f(x) = k \choose r + \frac ab \sum_{n=1}^\infty a_n + \displaystyle{ \left\{ \frac{1}{13} \sum_{n=1}^\infty b_n \right\} }$

  • $\$\alpha + \$\beta = \$(\alpha + \beta)$

  • $\begin{eqnarray} x & = & \frac{-7 \pm \sqrt{49 - 24}}{6} \\ & = & -2 \textrm{ or } -\frac13. \end{eqnarray}$

  • $\displaystyle{ V_i = C_0 - C_3 \frac{C_1\cos(\theta_i+C_3)}{C_4+C_1\cos(\theta_i+C_2)} }$


asciidoc-py3-9.0.0rc1/tests/data/testcases-xhtml11.html0000644000175000017500000013723613570064211022225 0ustar josephjoseph Test Cases

Passthrough attributes

*lorum ipsum*

<b>*lorum ipsum*</b>

Author attributes

{eval:expression}, {sys:command} and {sys2:command}, {counter:c1}

Hello Joe Bloggs (Joe Bloggs, JB).

first name or last name or surname.

first name and last name.

System attributes

1 99 A

1 = 1, 99 = 99, A = A

2 100 B 2 100 B

2 = 2, 100 = 100, B = B

y: Foobar

3, 7

3, 3

Quoted text attributes

A=X, (X), X, [X] X

A=X, (_X_), X, [X] X X

[*X*] +X+

fun with text. fun with text. fun with text. fun with text. fun with text. “fun with text”. ‘fun with text’.

fun with text.

fun with text.

Obvious and very obvious.

Underline text, overline text and line-through text.

Testing 123 …

(“+1\n+”) if (usually “+-1\n+”)

(“1\n”) if (usually “-1\n”)

(‘Joe Bloggs’) and ‘Joe Bloggs’

Configuration attribute entries

term

definition

term

definition

role attribute

Paragraph with a role attribute.

  • first

  • second

  • third

Break list nesting

  1. List 1.

  2. List 1.

  1. List 2.

  2. List 2.

Listing Blocks

$ ls -al
[subs="quotes"]
------------------------------------------
$ ls *-al*
------------------------------------------
Listing
$ ls -al
Example 1. Listing example
$ ls -al
Python paragraph
if n < 0: print 'Hello World!'
Titled Python listing
if n < 0: print 'Hello World!'
Example 2. Python listing example
if n < 0: print 'Hello World!'

Links

An inline anchor. An inline anchor with reftext.

[X1]; captioned link to this test case.

[X2] link to inline anchor; captioned link to inline anchor.

Link to [X3] anchor.

An example link to a bibliography entry [Test::Unit].

Titles

Level 4

Level 3

Level 2

Level 1

Level 4

Level 3

Level 2

Level 1

Block title

Lorum ipsum.

Lists

Bulleted:

  • item text

    • item text

      • item text

        • item text

          • item text

            • item text

Numbered:

  1. arabic (decimal) numbering

    1. loweralpha numbering

      1. upperalpha numbering

        1. lowerroman numbering

          1. upperroman numbering

            1. arabic (decimal) numbering

              1. loweralpha numbering

                1. lowerroman numbering

                  1. upperalpha numbering

                    1. upperroman numbering

Labeled:

label

item text

label

item text

label

item text

label

item text

With item anchor:

one

Item one.

two

Item two.

three

Item three.

Inline passthroughs

  • Test `ABC`.

  • Test ABC.

  • The ++i and ++j auto-increments.

  • Paths ~/.vim and ~/docs.

  • The __init__ method.

  • The {id} attribute.

List start number test:

Images

Block images

Tyger tyger
Figure 1. Tyger tyger
Tiger
Figure 2: Tyger tyger two
music2.png
Note Lorum ipsum.

NEW testing 123.

Inline images

Inline image smallnew.png

Inline image NEW!

Inline image NEW!

Admonishments

Note
Lorum ipsum.
Tip
Lorum ipsum.
Warning
Lorum ipsum.
Caution
Lorum ipsum.
Important
Lorum ipsum.
Note Lorum ipsum.
Tip Lorum ipsum.
Warning Lorum ipsum.
Caution Lorum ipsum.
Important Lorum ipsum.

Backslash escapes

Apostrophe

Don’t vs don't.

Exceptions

There are a number of exceptions to the usual single backslash rule — mostly relating to URL macros that have two syntaxes or quoting ambiguity. Here are some non-standard escape examples:

AsciiDoc Renders
\joe.bloggs@example.com
<\joe.bloggs@example.com>
\mailto:[\joe.bloggs@example.com]
joe.bloggs@example.com <joe.bloggs@example.com> mailto:[joe.bloggs@example.com]
\http://www.example.com
\\http://www.example.com[]
\\http://www.example.com[Foobar Limited]
http://www.example.com http://www.example.com[] http://www.example.com[Foobar Limited]
A C\++ Library for C++
\\``double-quotes''
\*\*F**ile Open\...
A C++ Library for C++ ``double-quotes'' **F**ile Open...

Paragraphs

Normal paragraph

This is a bold a line This is a strong line This is another strong line

Literal paragraph
This is a *bold* a line
This is a 'strong' line
This is another _strong_ line
Verse paragraph
This is a bold a line
This is a strong line
This is another strong line
Indented (literal) paragraph
This is a *bold* a line
This is a 'strong' line
This is another _strong_ line
Indented with quotes substitution
This is a bold a line
This is a strong line
This is another strong line
Literal paragraph with quotes substitution
This is a bold a line
This is a strong line
This is another strong line
Monospaced paragraph with line breaks

This is a bold line
This is a strong line
This is another strong line

Another monospaced paragraph with line breaks

This is a bold a line
This is a strong line
This is another strong line

Literal block with quotes substitution
This is a bold a line
This is a strong line
This is another strong line
To see a world in a grain of sand,
And a heaven in a wild flower,
Hold infinity in the palm of your hand,
And eternity in an hour.
from Auguries of Innocence
— William Blake
A good notation has subtlety and suggestiveness which at times makes it almost seem like a live teacher.
The World of Mathematics (1956)
— Bertrand Russell

Comments

Qui in magna commodo, est labitur dolorum an. Est ne magna primis. adolescens. Sit munere ponderum dignissim et. Minim luptatum et.

This comment line will be displayed in the output.

Qui in magna commodo, est labitur dolorum an. Est ne magna primis.
Visible inline comment line.
adolescens. Sit munere ponderum dignissim et. Minim luptatum et.

Block title

Lorum ipsum.

Block title

Lorum ipsum.

Index Terms

Test 1 test1.

Test 2 .

Test 3 .

Test 4 .

Test 5 test5.

Test 6 .

Test 7 .

Test 8 .

Table with fractional column width units

Note
pagewidth and pageunits only apply to DocBook outputs.
Table 1. Horizontal and vertical source data
Date Duration Avg HR Notes

22-Aug-08

10:24

157

Worked out MSHR (max sustainable heart rate) by going hard for this interval.

22-Aug-08

23:03

152

Back-to-back with previous interval.

24-Aug-08

40:00

145

Moderately hard interspersed with 3x 3min intervals (2min hard + 1min really hard taking the HR up to 160).

Table with parent configuration file and header attribute entry

  • Attribute entry from header: TEST_ATTRIBUTE

  • Replacement from testcases.conf configuration file: TEST_REPLACEMENT

Table column specifiers with merged cells

1- A

2- B

i- a

ii- b

Values 1

v1

v2

v3

Values 2

v4

v5

v6

Floating tables and images

Table 2. Simple table

1

2

A

3

4

B

5

6

C

Tiger image
Figure 2. Tiger

Section level offsets

At level 1

Section title

At level 2

Section title

At level 2

Section title

At level 3

Section level offsets

At level 1

Single-quoted attributes

Sir, a woman’s preaching is like a dog’s walking on his hind legs. It is not done well; but you are surprised to find it done at all.

Sir, a woman’s preaching is like a dog’s walking on his hind legs. It is not done well; but you are surprised to find it done at all.

Footnotes

Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel.
[footnote one. Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel. Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel.]
Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel.
[footnote two. Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel.]
Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel
[F2]
. Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel.
[http://asciidoc.org/ Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel images/smallnew.png ]
Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel.
[http://asciidoc.org/]
Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel
[AsciiDoc website.]
. Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et
[A footnote, "with an image" images/smallnew.png ]
.
[With [square brackets]]
Qui in magna commodo, est labitur dolorum an. Est ne magna primis.

Rulers and page breaks

Lorum ipsum…


Lorum ipsum…

Lorum ipsum…

这是一个测试

Double-with character titles. link to auto-generated section ID.

Block macros

RS458 is 2.

Template line 1. Template line 2.

àn îd without accénts

Lorum ipsum…

àn îd with accénts

Lorum ipsum…


asciidoc-py3-9.0.0rc1/tests/data/lang-pt-BR-article-test-html5.html0000644000175000017500000004577513570064211024231 0ustar josephjoseph Languages Test

Resumo

Abstract special section.

The First Section

Admonishments

Do not translate in the source file — they are translated to the output file

Nota
Lorum ipsum.
Sugestão
Lorum ipsum.
Aviso
Lorum ipsum.
Atenção
Lorum ipsum.
Importante
Lorum ipsum.
Tiger image
Figura 1. Tiger

Followed by an example table:

Tabela 1. Table
Option Description

-a USER GROUP

Add USER to GROUP.

-R GROUP

Disables access to GROUP.

And now for something completely different: monkeys, lions and tigers.

Appêndice A: Example Appendix

Appendix special section.

Bibliografia

Bibliography special section.

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.

Glossário

Glossary special section.

A glossary term

The corresponding (indented) definition.

A second glossary term

The corresponding (indented) definition.


asciidoc-py3-9.0.0rc1/tests/data/open-block-test-docbook.xml0000644000175000017500000000527213570064211023205 0ustar josephjoseph
Additional Open Block and Paragraph styles Lorum ipsum… Lorum ipsum… Lorum ipsum… Lorum ipsum… A title Lorum ipsum… Lorum ipsum… Lorum ipsum… Lorum ipsum… Lorum ipsum… Lorum ipsum… Lorum ipsum… Lorum ipsum… Lorum ipsum… Lorum ipsum… Lorum ipsum… Lorum ipsum…
Sir Arthur Conan Doyle The Adventures of Sherlock Holmes As he spoke there was the sharp sound of horses' hoofs and grating wheels against the curb, followed by a sharp pull at the bell. Holmes whistled. "A pair, by the sound," said he. "Yes," he continued, glancing out of the window. "A nice little brougham and a pair of beauties. A hundred and fifty guineas apiece. There’s money in this case, Watson, if there is nothing else."
William Blake from Auguries of Innocence To see a world in a grain of sand, And a heaven in a wild flower, Hold infinity in the palm of your hand, And eternity in an hour.
y = 15 if y == 24: x = 42 open-block-test__1.png open-block-test__2.png open-block-test__3.png
asciidoc-py3-9.0.0rc1/tests/data/open-block-test__3.md50000644000175000017500000000002013570064211022017 0ustar josephjoseph (״Xasciidoc-py3-9.0.0rc1/tests/data/book-multi-xhtml11.html0000644000175000017500000005522313570064211022304 0ustar josephjoseph Multi-Part Book Title Goes Here

Example Dedication

The optional dedication goes here.

This document is an AsciiDoc multi-part book skeleton containing briefly annotated element placeholders plus a couple of example index entries and footnotes. Books are normally used to generate DocBook markup and the preface, appendix, bibliography, glossary and index section titles are significant (specialsections).

Note
Multi-part books differ from all other AsciiDoc document formats in that top level sections (dedication, preface, book parts, appendices, bibliography, glossary, index) must be level zero headings (not level one).

Example Preface

The optional book preface goes here at section level zero.

0.1. Preface Sub-section

Note
Preface and appendix subsections start out of sequence at level 2 (level 1 is skipped). This only applies to multi-part book documents.

The First Part of the Book

Optional part introduction title

Optional part introduction goes here.

1. The First Chapter

Chapters can be grouped by preceding them with a level 0 Book Part title.

Book chapters are at level 1 and can contain sub-sections nested up to three deep.
[An example footnote.]

It’s also worth noting that a book part can have it’s own preface, bibliography, glossary and index. Chapters can have their own bibliography, glossary and index.

And now for something completely different: monkeys, lions and tigers (Bengal and Siberian) using the alternative syntax index entries. Note that multi-entry terms generate separate index entries.

Here are a couple of image examples: an images/smallnew.png example inline image followed by an example block image:

Tiger image
Figure 1. Tiger block image

Followed by an example table:

Table 1. An example table
Option Description

-a USER GROUP

Add USER to GROUP.

-R GROUP

Disables access to GROUP.

Example 1. An example example

Lorum ipum…

1.1. Sub-section with Anchor

Sub-section at level 2.

1.1.1. Chapter Sub-section

Sub-section at level 3.

Chapter Sub-section

Sub-section at level 4.

This is the maximum sub-section depth supported by the distributed AsciiDoc configuration.
[A second example footnote.]

2. The Second Chapter

An example link to anchor at start of the first sub-section.

An example link to a bibliography entry [taoup].

The Second Part of the Book

1. The First Chapter of the Second Part

Chapters grouped into book parts are at level 1 and can contain sub-sections.

Appendix A: Example Appendix

One or more optional appendixes go here at section level zero.

Appendix Sub-section

Note
Preface and appendix subsections start out of sequence at level 2 (level 1 is skipped). This only applies to multi-part book documents.

Example Bibliography

The bibliography list is a style of AsciiDoc bulleted list.

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.

Example Glossary

Glossaries are optional. Glossaries entries are an example of a style of AsciiDoc labeled lists.

A glossary term

The corresponding (indented) definition.

A second glossary term

The corresponding (indented) definition.

Example Colophon

Text at the end of a book describing facts about its production.

Example Index


asciidoc-py3-9.0.0rc1/tests/data/lang-es-test.txt0000644000175000017500000000373513570064211021105 0ustar josephjoseph// Test for lang-es.conf language file. :lang: es Languages Test ============== :revnumber: v1.0 :revdate: 2003-12-21 ifdef::doctype-article[] Resumen ------- Abstract special section. endif::doctype-article[] ifdef::doctype-book[] Dedicación ---------- Dedication special section. Prefacio -------- Preface special section. Colofón ------- Colophon special section. endif::doctype-book[] The First Section ----------------- Admonishments ~~~~~~~~~~~~~ Do not translate in the source file -- they are translated to the output file NOTE: Lorum ipsum. TIP: Lorum ipsum. WARNING: Lorum ipsum. CAUTION: Lorum ipsum. IMPORTANT: Lorum ipsum. .Tiger image::../../images/tiger.png[Tiger image] Followed by an example table: .Table [width="60%",options="header"] |============================================== | Option | Description | -a 'USER GROUP' | Add 'USER' to 'GROUP'. | -R 'GROUP' | Disables access to 'GROUP'. |============================================== And now for something completely different: ((monkeys)), lions and tigers. Apéndice A: Example Appendix ---------------------------- Appendix special section. Bibliografía ------------ Bibliography special section. [bibliography] - [[[taoup]]] Eric Steven Raymond. 'The Art of Unix Programming'. Addison-Wesley. ISBN 0-13-142901-9. - [[[walsh-muellner]]] Norman Walsh & Leonard Muellner. 'DocBook - The Definitive Guide'. O'Reilly & Associates. 1999. ISBN 1-56592-580-7. Glosario -------- Glossary special section. [glossary] A glossary term:: The corresponding (indented) definition. A second glossary term:: The corresponding (indented) definition. ifdef::basebackend-docbook[] Índice ------ //////////////////////////////////////////////////////////////// Index special section. The index is normally left completely empty, it's contents being generated automatically by the DocBook toolchain. //////////////////////////////////////////////////////////////// endif::basebackend-docbook[] asciidoc-py3-9.0.0rc1/tests/data/open-block-test-docbook5.xml0000644000175000017500000000522413570064211023267 0ustar josephjoseph
Additional Open Block and Paragraph styles Lorum ipsum… Lorum ipsum… Lorum ipsum… Lorum ipsum… A title Lorum ipsum… Lorum ipsum… Lorum ipsum… Lorum ipsum… Lorum ipsum… Lorum ipsum… Lorum ipsum… Lorum ipsum… Lorum ipsum… Lorum ipsum… Lorum ipsum… Lorum ipsum…
Sir Arthur Conan Doyle The Adventures of Sherlock Holmes As he spoke there was the sharp sound of horses' hoofs and grating wheels against the curb, followed by a sharp pull at the bell. Holmes whistled. "A pair, by the sound," said he. "Yes," he continued, glancing out of the window. "A nice little brougham and a pair of beauties. A hundred and fifty guineas apiece. There’s money in this case, Watson, if there is nothing else."
William Blake from Auguries of Innocence To see a world in a grain of sand, And a heaven in a wild flower, Hold infinity in the palm of your hand, And eternity in an hour.
y = 15 if y == 24: x = 42 open-block-test__1.png open-block-test__2.png open-block-test__3.png
asciidoc-py3-9.0.0rc1/tests/data/filters-test-docbook5.xml0000644000175000017500000000506513570064211022711 0ustar josephjoseph
Filter Tests
Toy filter example from User Guide ''' A multi-line comment.''' def sub_word(mo): ''' Single line comment.''' word = mo.group('word') # Inline comment if word in keywords[language]: return quote + word + quote else: return word
Pychart Chart generations from FAQ No barchart to avoid depending on Pychart for the tests. See also: http://asciidoc.org/faq.html#_is_it_possible_to_include_charts_in_asciidoc_documents barchart.png
Graphviz Graphs
Simple graph Graphviz->AsciiDoc->HTML
Not so simple graph graphviz2.png
Music filter
A tune generated from ABC notation music1.png
Link to following fragment.
A fragment generated from LilyPond source music2.png
asciidoc-py3-9.0.0rc1/tests/data/lang-uk-article-test-xhtml11.html0000644000175000017500000004640213570064211024155 0ustar josephjoseph Languages Test

Анотація

Abstract special section.

The First Section

Admonishments

Do not translate in the source file — they are translated to the output file

Зауваження
Lorum ipsum.
Підказка
Lorum ipsum.
Увага
Lorum ipsum.
Попередження
Lorum ipsum.
Важливо
Lorum ipsum.
Tiger image
Рисунок 1. Tiger

Followed by an example table:

Таблиця 1. Table
Option Description

-a USER GROUP

Add USER to GROUP.

-R GROUP

Disables access to GROUP.

And now for something completely different: monkeys, lions and tigers.

Додаток A: Example Appendix

Appendix special section.

Бібліографія

Bibliography special section.

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.

Словник термінів

Glossary special section.

A glossary term

The corresponding (indented) definition.

A second glossary term

The corresponding (indented) definition.


asciidoc-py3-9.0.0rc1/tests/data/lang-cs-article-test-xhtml11.html0000644000175000017500000004611513570064211024144 0ustar josephjoseph Languages Test

Abstract

Abstract special section.

The First Section

Admonishments

Do not translate in the source file — they are translated to the output file

Poznámka
Lorum ipsum.
Tip
Lorum ipsum.
Varování
Lorum ipsum.
Pozor
Lorum ipsum.
Důležité
Lorum ipsum.
Tiger image
Obrázek 1. Tiger

Followed by an example table:

Tabulka 1. Table
Option Description

-a USER GROUP

Add USER to GROUP.

-R GROUP

Disables access to GROUP.

And now for something completely different: monkeys, lions and tigers.

Appendice A: Example Appendix

Appendix special section.

Bibliografia

Bibliography special section.

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.

Glossario

Glossary special section.

A glossary term

The corresponding (indented) definition.

A second glossary term

The corresponding (indented) definition.


asciidoc-py3-9.0.0rc1/tests/data/lang-pt-BR-test.txt0000644000175000017500000000374513570064211021423 0ustar josephjoseph// Test for lang-pt-BR.conf language file. :lang: pt-BR Languages Test ============== :revnumber: v1.0 :revdate: 2003-12-21 ifdef::doctype-article[] Resumo ------ Abstract special section. endif::doctype-article[] ifdef::doctype-book[] Dedicação --------- Dedication special section. Prefácio -------- Preface special section. Cólofon ------- Colophon special section. endif::doctype-book[] The First Section ----------------- Admonishments ~~~~~~~~~~~~~ Do not translate in the source file -- they are translated to the output file NOTE: Lorum ipsum. TIP: Lorum ipsum. WARNING: Lorum ipsum. CAUTION: Lorum ipsum. IMPORTANT: Lorum ipsum. .Tiger image::../../images/tiger.png[Tiger image] Followed by an example table: .Table [width="60%",options="header"] |============================================== | Option | Description | -a 'USER GROUP' | Add 'USER' to 'GROUP'. | -R 'GROUP' | Disables access to 'GROUP'. |============================================== And now for something completely different: ((monkeys)), lions and tigers. Appêndice A: Example Appendix ----------------------------- Appendix special section. Bibliografia ------------ Bibliography special section. [bibliography] - [[[taoup]]] Eric Steven Raymond. 'The Art of Unix Programming'. Addison-Wesley. ISBN 0-13-142901-9. - [[[walsh-muellner]]] Norman Walsh & Leonard Muellner. 'DocBook - The Definitive Guide'. O'Reilly & Associates. 1999. ISBN 1-56592-580-7. Glossário --------- Glossary special section. [glossary] A glossary term:: The corresponding (indented) definition. A second glossary term:: The corresponding (indented) definition. ifdef::basebackend-docbook[] Índice ------ //////////////////////////////////////////////////////////////// Index special section. The index is normally left completely empty, it's contents being generated automatically by the DocBook toolchain. //////////////////////////////////////////////////////////////// endif::basebackend-docbook[] asciidoc-py3-9.0.0rc1/tests/data/lang-de-article-test-html5.html0000644000175000017500000004601013570064211023654 0ustar josephjoseph Languages Test

Zusammenfassung

Abstract special section.

The First Section

Admonishments

Do not translate in the source file — they are translated to the output file

Anmerkung
Lorum ipsum.
Tipp
Lorum ipsum.
Warnung
Lorum ipsum.
Achtung
Lorum ipsum.
Wichtig
Lorum ipsum.
Tiger image
Abbildung 1. Tiger

Followed by an example table:

Tabelle 1. Table
Option Description

-a USER GROUP

Add USER to GROUP.

-R GROUP

Disables access to GROUP.

And now for something completely different: monkeys, lions and tigers.

Anhang A: Example Appendix

Appendix special section.

Literaturverzeichnis

Bibliography special section.

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.

Glossar

Glossary special section.

A glossary term

The corresponding (indented) definition.

A second glossary term

The corresponding (indented) definition.


asciidoc-py3-9.0.0rc1/tests/data/lang-cs-book-test-html5.html0000644000175000017500000004643513570064211023213 0ustar josephjoseph Languages Test

Dedica

Dedication special section.

Prefazione

Preface special section.

Colofone

Colophon special section.

The First Section

Admonishments

Do not translate in the source file — they are translated to the output file

Poznámka
Lorum ipsum.
Tip
Lorum ipsum.
Varování
Lorum ipsum.
Pozor
Lorum ipsum.
Důležité
Lorum ipsum.
Tiger image
Obrázek 1. Tiger

Followed by an example table:

Tabulka 1. Table
Option Description

-a USER GROUP

Add USER to GROUP.

-R GROUP

Disables access to GROUP.

And now for something completely different: monkeys, lions and tigers.

Appendice A: Example Appendix

Appendix special section.

Bibliografia

Bibliography special section.

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.

Glossario

Glossary special section.

A glossary term

The corresponding (indented) definition.

A second glossary term

The corresponding (indented) definition.


asciidoc-py3-9.0.0rc1/tests/data/lang-ja-book-test-docbook5.xml0000644000175000017500000000717613570064211023507 0ustar josephjoseph Languages Test 2003-12-21 v1.02003-12-21 献辞 献辞セクション 前書 前書セクション 奥付 奥付セクション 第一セクション
警告 以下は処理系が翻訳するのでこのソースでは翻訳しない。 Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum.
Tiger 虎の絵
続いて表の例。 Table オプション 説明 -a USER GROUP USERGROUP に追加する -R GROUP GROUP へのアクセスを禁止する
そしてまったく異なるものの例: 猿、ライオン、虎。
付録の例 付録セクション 参考文献 参考文献セクション [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9. [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7. 用語集 用語集セクション 用語 (インデントされた)用語の定義 別の用語 (インデントされた)用語の定義 索引
asciidoc-py3-9.0.0rc1/tests/data/testcases-html4.html0000644000175000017500000006337013570064211021754 0ustar josephjoseph Test Cases

Test Cases

Joe Bloggs


Passthrough attributes

*lorum ipsum*

<b>*lorum ipsum*</b>


Author attributes

{eval:expression}, {sys:command} and {sys2:command}, {counter:c1}

Hello Joe Bloggs (Joe Bloggs, JB).

first name or last name or surname.

first name and last name.


System attributes

1 99 A

1 = 1, 99 = 99, A = A

2 100 B 2 100 B

2 = 2, 100 = 100, B = B

y: Foobar

3, 7

3, 3


Quoted text attributes

A=X, (X), X, [X] X

A=X, (_X_), X, [X] X X

[*X*] +X+

[_intro] intro [_intro] intro

fun with text. fun with text. fun with text. fun with text. fun with text. “fun with text”. ‘fun with text’.

fun with text.

fun with text.

Obvious and very obvious.

Underline text, overline text and line-through text.

Testing 123 …

(“+1\n+”) if (usually “+-1\n+”)

(“1\n”) if (usually “-1\n”)

(‘Joe Bloggs’) and ‘Joe Bloggs’


Configuration attribute entries

term

definition

term

definition


role attribute

Paragraph with a role attribute.

  • first

  • second

  • third


Break list nesting

  1. List 1.

  2. List 1.

  1. List 2.

  2. List 2.


Listing Blocks

$ ls -al
[subs="quotes"]
------------------------------------------
$ ls *-al*
------------------------------------------

Listing

$ ls -al
$ ls -al

Example 1. Listing example

Python paragraph

if n < 0: print 'Hello World!'

Titled Python listing

if n < 0: print 'Hello World!'
if n < 0: print 'Hello World!'

Example 2. Python listing example


Links

An inline anchor. An inline anchor with reftext.

[X1]; captioned link to this test case.

[X2] link to inline anchor; captioned link to inline anchor.

Link to [X3] anchor.

An example link to a bibliography entry [Test::Unit].

[Test::Unit]

http://ruby-doc.org/stdlib/libdoc/test/unit/rdoc/classes/Test/Unit.html


Titles

Level 4

Level 3

Level 2

Level 1

Level 4

Level 3

Level 2

Level 1

Block title
Lorum ipsum.


Lists

Bulleted:

  • item text

    • item text

      • item text

        • item text

          • item text

            • item text

Numbered:

  1. arabic (decimal) numbering

    1. loweralpha numbering

      1. upperalpha numbering

        1. lowerroman numbering

          1. upperroman numbering

            1. arabic (decimal) numbering

              1. loweralpha numbering

                1. lowerroman numbering

                  1. upperalpha numbering

                    1. upperroman numbering

Labeled:

label

item text

label

item text

label

item text

label

item text

With item anchor:

one

Item one.

two

Item two.

three

Item three.


Inline passthroughs

  • Test `ABC`.

  • Test ABC.

  • The ++i and ++j auto-increments.

  • Paths ~/.vim and ~/docs.

  • The __init__ method.

  • The {id} attribute.

List start number test:

  1. List item 7.

  2. List item 8.


Images

Block images

Tyger tyger

Figure 1. Tyger tyger

Tiger

Figure 2: Tyger tyger two

music2.png
Note Lorum ipsum.

Inline images

Inline image smallnew.png

Inline image NEW!

Inline image NEW!


Admonishments

Note

Lorum ipsum.

Tip

Lorum ipsum.

Warning

Lorum ipsum.

Caution

Lorum ipsum.

Important

Lorum ipsum.
Note Lorum ipsum.
Tip Lorum ipsum.
Warning Lorum ipsum.
Caution Lorum ipsum.
Important Lorum ipsum.

Backslash escapes

Apostrophe
Don’t vs don't.

Exceptions
There are a number of exceptions to the usual single backslash rule — mostly relating to URL macros that have two syntaxes or quoting ambiguity. Here are some non-standard escape examples:

AsciiDoc Renders
\joe.bloggs@example.com
<\joe.bloggs@example.com>
\mailto:[\joe.bloggs@example.com]
joe.bloggs@example.com
<joe.bloggs@example.com>
mailto:[joe.bloggs@example.com]
\http://www.example.com
\\http://www.example.com[]
\\http://www.example.com[Foobar Limited]
http://www.example.com
http://www.example.com[]
http://www.example.com[Foobar Limited]
A C\++ Library for C++
\\``double-quotes''
\*\*F**ile Open\...
A C++ Library for C++
``double-quotes''
**F**ile Open...

Paragraphs

Normal paragraph
This is a bold a line This is a strong line This is another strong line

Literal paragraph

This is a *bold* a line
This is a 'strong' line
This is another _strong_ line

Verse paragraph

This is a bold a line
This is a strong line
This is another strong line

Indented (literal) paragraph

This is a *bold* a line
This is a 'strong' line
This is another _strong_ line

Indented with quotes substitution

This is a bold a line
This is a strong line
This is another strong line

Literal paragraph with quotes substitution

This is a bold a line
This is a strong line
This is another strong line

Monospaced paragraph with line breaks
This is a bold line
This is a strong line
This is another strong line

Another monospaced paragraph with line breaks
This is a bold a line
This is a strong line
This is another strong line

Literal block with quotes substitution

This is a bold a line
This is a strong line
This is another strong line
To see a world in a grain of sand,
And a heaven in a wild flower,
Hold infinity in the palm of your hand,
And eternity in an hour.

from Auguries of Innocence
— William Blake

A good notation has subtlety and suggestiveness which at times makes it almost seem like a live teacher.

The World of Mathematics (1956)
— Bertrand Russell


URLs

Mail Addresses

joe_bloggs@mail_server.com_

joe-bloggs@mail-server.com.

joe-bloggs@mail-server.com,joe-bloggs@mail-server.com,

Mail

Mail

Mail

joe.bloggs@mail.server.com
lorum ipsum.


Comments

Qui in magna commodo, est labitur dolorum an. Est ne magna primis. adolescens. Sit munere ponderum dignissim et. Minim luptatum et.

This comment line will be displayed in the output.

Qui in magna commodo, est labitur dolorum an. Est ne magna primis.
Visible inline comment line.
adolescens. Sit munere ponderum dignissim et. Minim luptatum et.

Block title
Lorum ipsum.

Block title
Lorum ipsum.


Index Terms

Test 1 test1.

Test 2 .

Test 3 .

Test 4 .

Test 5 test5.

Test 6 .

Test 7 .

Test 8 .

Multi-passthough substitution (see http://groups.google.com/group/asciidoc/browse_frm/thread/1269dc2feb1a482c) foo


Table with fractional column width units

Note

pagewidth and pageunits only apply to DocBook outputs.
Date Duration Avg HR Notes

22-Aug-08

10:24

157

Worked out MSHR (max sustainable heart rate) by going hard for this interval.

22-Aug-08

23:03

152

Back-to-back with previous interval.

24-Aug-08

40:00

145

Moderately hard interspersed with 3x 3min intervals (2min hard + 1min really hard taking the HR up to 160).

Table 1. Horizontal and vertical source data


Table with parent configuration file and header attribute entry

  • Attribute entry from header: TEST_ATTRIBUTE

  • Replacement from testcases.conf configuration file: TEST_REPLACEMENT


Table column specifiers with merged cells

See http://groups.google.com/group/asciidoc/browse_thread/thread/c9238380a1f2507a

1- A

2- B

i- a

ii- b

Values 1

v1

v2

v3

Values 2

v4

v5

v6


Floating tables and images

1

2

A

3

4

B

5

6

C

Table 2. Simple table

Tiger image

Figure 2. Tiger



Section level offsets

At level 1

Section title

At level 2

Section title

At level 2

Section title

At level 3


Section level offsets

At level 1


Single-quoted attributes

Sir, a woman’s preaching is like a dog’s walking on his hind legs. It is not done well; but you are surprised to find it done at all.

Samuel Johnson

Sir, a woman’s preaching is like a dog’s walking on his hind legs. It is not done well; but you are surprised to find it done at all.

Samuel Johnson


Footnotes

Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel.
[footnote one. Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel. Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel.]
Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel.
[footnote two. Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel.]
Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel
[F2]
. Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel.
[http://asciidoc.org/ Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel images/smallnew.png]
Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel.
[http://asciidoc.org/]
Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel
[AsciiDoc website.]
. Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et
[A footnote, "with an image" images/smallnew.png]
.
[With [square brackets]]
Qui in magna commodo, est labitur dolorum an. Est ne magna primis.


Rulers and page breaks

Lorum ipsum…


Lorum ipsum…

Lorum ipsum…


这是一个测试

Double-with character titles. link to auto-generated section ID.


Block macros

RS458 is 2.

Template line 1. Template line 2.


àn îd without accénts

Lorum ipsum…


àn îd with accénts

Lorum ipsum…


Inline macros

A URL with [square brackets].


Last updated 2002-11-25 00:37:42 UTC

asciidoc-py3-9.0.0rc1/tests/data/lang-hu-man-test-docbook.xml0000644000175000017500000000211113570064211023245 0ustar josephjoseph ASCIIDOC(1) asciidoc 1     asciidoc converts an AsciiDoc text file to HTML or DocBook asciidoc [OPTIONS] FILE DESCRIPTION The asciidoc(1) command translates the AsciiDoc text file FILE to DocBook or HTML. If FILE is - then the standard input is used. asciidoc-py3-9.0.0rc1/tests/data/lang-sv-article-test-docbook.xml0000644000175000017500000000671513570064211024147 0ustar josephjoseph
Languages Test 2003-12-21 v1.02003-12-21 Abstract special section.
The First Section
Admonishments Do not translate in the source file — they are translated to the output file Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum.
Tiger Tiger image
Followed by an example table: Table Option Description -a USER GROUP Add USER to GROUP. -R GROUP Disables access to GROUP.
And now for something completely different: monkeysmonkeys, lions and tigers.
Exempel-appendix Appendix special section. Referenser Bibliography special section. [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9. [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7. Ordlista Glossary special section. A glossary term The corresponding (indented) definition. A second glossary term The corresponding (indented) definition. Sakregister
asciidoc-py3-9.0.0rc1/tests/data/lang-es-article-test-html4.html0000644000175000017500000000634413570064211023700 0ustar josephjoseph Languages Test

Languages Test

version v1.0, 2003-12-21


Resumen

Abstract special section.


The First Section

Admonishments

Do not translate in the source file — they are translated to the output file

Nota

Lorum ipsum.

Sugerencia

Lorum ipsum.

Aviso

Lorum ipsum.

Atención

Lorum ipsum.

Importante

Lorum ipsum.
Tiger image

Figura 1. Tiger

Followed by an example table:

Option Description

-a USER GROUP

Add USER to GROUP.

-R GROUP

Disables access to GROUP.

Tabla 1. Table

And now for something completely different: monkeys, lions and tigers.


Apéndice A: Example Appendix

Appendix special section.


Bibliografía

Bibliography special section.

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.


Glosario

Glossary special section.

A glossary term

The corresponding (indented) definition.

A second glossary term

The corresponding (indented) definition.


Version v1.0
Last updated 2002-11-25 00:37:42 UTC

asciidoc-py3-9.0.0rc1/tests/data/article-docbook5.xml0000644000175000017500000001475713570064211021717 0ustar josephjoseph
The Article Title 2003-12 Author's Name authors@email.address AN 1.02003-12AN This is the optional preamble (an untitled section body). Useful for writing simple sectionless documents consisting only of a preamble. The abstract, preface, appendix, bibliography, glossary and index section titles are significant (specialsections). The optional abstract (one or more paragraphs) goes here. This document is an AsciiDoc article skeleton containing briefly annotated element placeholders plus a couple of example index entries and footnotes.
The First Section Article sections start at level 1 and can be nested up to four levels deep. An example footnote. Example index entry And now for something completely different: monkeysmonkeys, lions and tigers (Bengal and Siberian) using the alternative syntax index entries. Big catsLions Lions Big catsTigersBengal Tiger TigersBengal Tiger Bengal Tiger Big catsTigersSiberian Tiger TigersSiberian Tiger Siberian Tiger Note that multi-entry terms generate separate index entries. Here are a couple of image examples: an images/smallnew.png example inline image followed by an example block image:
Tiger block image Tiger image
Followed by an example table: An example table Option Description -a USER GROUP Add USER to GROUP. -R GROUP Disables access to GROUP.
An example example Lorum ipum…
Sub-section with Anchor Sub-section at level 2.
A Nested Sub-section Sub-section at level 3.
Yet another nested Sub-section Sub-section at level 4. This is the maximum sub-section depth supported by the distributed AsciiDoc configuration. A second example footnote.
The Second Section Article sections are at level 1 and can contain sub-sections nested up to four deep. An example link to anchor at start of the first sub-section. Second example index entry An example link to a bibliography entry .
Example Appendix AsciiDoc article appendices are just just article sections with specialsection titles.
Appendix Sub-section Appendix sub-section at level 2.
Example Bibliography The bibliography list is a style of AsciiDoc bulleted list. [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9. [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7. Example Glossary Glossaries are optional. Glossaries entries are an example of a style of AsciiDoc labeled lists. A glossary term The corresponding (indented) definition. A second glossary term The corresponding (indented) definition.
asciidoc-py3-9.0.0rc1/tests/data/lang-fr-man-test.txt0000644000175000017500000000057413570064211021654 0ustar josephjoseph// Test for lang-fr.conf language file. :lang: fr ASCIIDOC(1) =========== :doctype: manpage NAME ---- asciidoc - converts an AsciiDoc text file to HTML or DocBook SYNOPSIS -------- *asciidoc* ['OPTIONS'] 'FILE' DESCRIPTION ----------- The asciidoc(1) command translates the AsciiDoc text file 'FILE' to DocBook or HTML. If 'FILE' is '-' then the standard input is used. ... asciidoc-py3-9.0.0rc1/tests/data/lang-cs-article-test-html4.html0000644000175000017500000000635513570064211023700 0ustar josephjoseph Languages Test

Languages Test

version v1.0, 2003-12-21


Abstract

Abstract special section.


The First Section

Admonishments

Do not translate in the source file — they are translated to the output file

Poznámka

Lorum ipsum.

Tip

Lorum ipsum.

Varování

Lorum ipsum.

Pozor

Lorum ipsum.

Důležité

Lorum ipsum.
Tiger image

Obrázek 1. Tiger

Followed by an example table:

Option Description

-a USER GROUP

Add USER to GROUP.

-R GROUP

Disables access to GROUP.

Tabulka 1. Table

And now for something completely different: monkeys, lions and tigers.


Appendice A: Example Appendix

Appendix special section.


Bibliografia

Bibliography special section.

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.


Glossario

Glossary special section.

A glossary term

The corresponding (indented) definition.

A second glossary term

The corresponding (indented) definition.


Verze v1.0
Poslední úprava 2002-11-25 00:37:42 UTC

asciidoc-py3-9.0.0rc1/tests/data/lang-sv-article-test-html5.html0000644000175000017500000004576213570064211023731 0ustar josephjoseph Languages Test

Sammanfattning

Abstract special section.

The First Section

Admonishments

Do not translate in the source file — they are translated to the output file

Not
Lorum ipsum.
Tips
Lorum ipsum.
Varning
Lorum ipsum.
Varning
Lorum ipsum.
Viktigt
Lorum ipsum.
Tiger image
Figur 1. Tiger

Followed by an example table:

Tabell 1. Table
Option Description

-a USER GROUP

Add USER to GROUP.

-R GROUP

Disables access to GROUP.

And now for something completely different: monkeys, lions and tigers.

Appendix A: Exempel-appendix

Appendix special section.

Referenser

Bibliography special section.

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.

Ordlista

Glossary special section.

A glossary term

The corresponding (indented) definition.

A second glossary term

The corresponding (indented) definition.


asciidoc-py3-9.0.0rc1/tests/data/lang-ru-book-test-html4.html0000644000175000017500000000720013570064211023216 0ustar josephjoseph Languages Test

Languages Test

version v1.0, 2003-12-21


Посвящение

Dedication special section.


Введение

Preface special section.


Колофон

Colophon special section.


The First Section

Admonishments

Do not translate in the source file — they are translated to the output file

Замечание

Lorum ipsum.

Подсказка

Lorum ipsum.

Внимание

Lorum ipsum.

Предостережение

Lorum ipsum.

Важно

Lorum ipsum.
Tiger image

Рисунок 1. Tiger

Followed by an example table:

Option Description

-a USER GROUP

Add USER to GROUP.

-R GROUP

Disables access to GROUP.

Таблица 1. Table

And now for something completely different: monkeys, lions and tigers.


Приложение A: Example Appendix

Appendix special section.


Библиография

Bibliography special section.

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.


Словарь терминов

Glossary special section.

A glossary term

The corresponding (indented) definition.

A second glossary term

The corresponding (indented) definition.


Редакция v1.0
Последнее обновление 2002-11-25 00:37:42 UTC

asciidoc-py3-9.0.0rc1/tests/data/lang-hu-article-test-docbook.xml0000644000175000017500000000671013570064211024126 0ustar josephjoseph
Languages Test 2003-12-21 v1.02003-12-21 Abstract special section.
The First Section
Admonishments Do not translate in the source file — they are translated to the output file Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum.
Tiger Tiger image
Followed by an example table: Table Option Description -a USER GROUP Add USER to GROUP. -R GROUP Disables access to GROUP.
And now for something completely different: monkeysmonkeys, lions and tigers.
Example Appendix Appendix special section. Bibliográfia Bibliography special section. [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9. [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7. Szójegyzék Glossary special section. A glossary term The corresponding (indented) definition. A second glossary term The corresponding (indented) definition. Index
asciidoc-py3-9.0.0rc1/tests/data/newtables-html5.html0000644000175000017500000017066513570064211021751 0ustar josephjoseph AsciiDoc New tables

New in version 8.3.0

I’ve finally come up with a new tables syntax that I’m happy with and can at last remove this footnote from the User Guide: “The current table syntax is overly complicated and unwieldy to edit, hopefully a more usable syntax will appear in future versions of AsciiDoc.”

Update

The following additions were made at AsciiDoc 8.4.4:

  • Cell column and row spanning.

  • Styles can be applied per cell.

  • Vertical cell alignment can be applied to columns and cells.

See the examples at the end of this document.

At first glance it doesn’t look much different to the old syntax but it’s a lot more flexible, easier to enter and supports a lot of column styles (for example the asciidoc style supports AsciiDoc block and inline elements). The old tables syntax has been deprecated but is currently still processed. Here are some examples of AsciiDoc new tables:

Table 1. Simple table

1

2

A

3

4

B

5

6

C

AsciiDoc source
[width="15%"]
|=======
|1 |2 |A
|3 |4 |B
|5 |6 |C
|=======
Table 2. Table with title, header and footer
Column 1 Column 2

6

Three items

1

Item 1

2

Item 2

3

Item 3

AsciiDoc source
.An example table
[width="40%",frame="topbot",options="header,footer"]
|======================
|Column 1 |Column 2
|1        |Item 1
|2        |Item 2
|3        |Item 3
|6        |Three items
|======================
Table 3. Columns formatted with strong, monospaced and emphasis styles
Columns 2 and 3

footer 1

footer 2

footer 3

1

Item 1

Item 1

2

Item 2

Item 2

3

Item 3

Item 3

4

Item 4

Item 4

AsciiDoc source
.An example table
[width="50%",cols=">s,^2m,^2e",frame="topbot",options="header,footer"]
|==========================
|      2+|Columns 2 and 3
|1       |Item 1  |Item 1
|2       |Item 2  |Item 2
|3       |Item 3  |Item 3
|4       |Item 4  |Item 4
|footer 1|footer 2|footer 3
|==========================
Table 4. A table with externally sourced CSV data
ID Customer Name Contact Name Customer Address Phone

AROUT

Around the Horn

Thomas Hardy

120 Hanover Sq. London

(171) 555-7788

BERGS

Berglunds snabbkop

Christina Berglund

Berguvsvagen 8 Lulea

0921-12 34 65

BLAUS

Blauer See Delikatessen

Hanna Moos

Forsterstr. 57 Mannheim

0621-08460

BLONP

Blondel pere et fils

Frederique Citeaux

24, place Kleber Strasbourg

88.60.15.31

BOLID

Bolido Comidas preparadas

Martin Sommer

C/ Araquil, 67 Madrid

(91) 555 22 82

BONAP

Bon app'

Laurence Lebihan

12, rue des Bouchers Marseille

91.24.45.40

BOTTM

Bottom-Dollar Markets

Elizabeth Lincoln

23 Tsawassen Blvd. Tsawassen

(604) 555-4729

BSBEV

B’s Beverages

Victoria Ashworth

Fauntleroy Circus London

(171) 555-1212

CACTU

Cactus Comidas para llevar

Patricio Simpson

Cerrito 333 Buenos Aires

(1) 135-5555

AsciiDoc source
 [format="csv",cols="^1,4*2",options="header"]
 |===================================================
 ID,Customer Name,Contact Name,Customer Address,Phone
 include::customers.csv[]
 |===================================================
Table 5. DVS formatted table

root

x

0

0

root

/root

/bin/bash

daemon

x

1

1

daemon

/usr/sbin

/bin/sh

bin

x

2

2

bin

/bin

/bin/sh

sys

x

3

3

sys

/dev

/bin/sh

sync

x

4

65534

sync

/bin

/bin/sync

games

x

5

60

games

/usr/games

/bin/sh

AsciiDoc source
[width="70%",format="dsv"]
|====================================
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/bin/sh
|====================================
Table 6. Horizontal and vertical source data
Date Duration Avg HR Notes

22-Aug-08

10:24

157

Worked out MSHR (max sustainable heart rate) by going hard for this interval.

22-Aug-08

23:03

152

Back-to-back with previous interval.

24-Aug-08

40:00

145

Moderately hard interspersed with 3x 3min intervals (2min hard + 1min really hard taking the HR up to 160).

Short cells can be entered horizontally, longer cells vertically. The default behavior is to strip leading and trailing blank lines within a cell. These characteristics aid readability and data entry.

AsciiDoc source
.Windtrainer workouts
[width="80%",cols="3,^2,^2,10",options="header"]
|=========================================================
|Date |Duration |Avg HR |Notes

|22-Aug-08 |10:24 | 157 |
Worked out MSHR (max sustainable heart rate) by going hard
for this interval.

|22-Aug-08 |23:03 | 152 |
Back-to-back with previous interval.

|24-Aug-08 |40:00 | 145 |
Moderately hard interspersed with 3x 3min intervals (2min
hard + 1min really hard taking the HR up to 160).

|=========================================================
Table 7. Default and verse styles
Default paragraphs Centered verses

Per id.

Consul necessitatibus per id, consetetur, eu pro everti postulant homero verear ea mea, qui.

Consul necessitatibus per id, consetetur, eu pro everti postulant homero verear ea mea, qui.

Per id. Consul necessitatibus per id, consetetur, eu pro everti postulant homero verear ea mea, qui. Consul necessitatibus per id, consetetur, eu pro everti postulant homero verear ea mea, qui.
AsciiDoc source
[cols=",^v",options="header"]
|===================================
|Default paragraphs |Centered verses
2*|Per id.

Consul *necessitatibus* per id,
consetetur, eu pro everti postulant
homero verear ea mea, qui.

Consul *necessitatibus* per id,
consetetur, eu pro everti postulant
homero verear ea mea, qui.
|===================================
Table 8. Horizontal and vertial headings
West Central East Total

Q1

270

292

342

904

Q2

322

276

383

981

Q3

298

252

274

824

Q4

344

247

402

993

AsciiDoc source
.Horizontal and vertial headings
[cols="h,4*",options="header",width="50%"]
|==================================
|      |West |Central |East | Total
|Q1    |270  |292     |342  | 904
|Q2    |322  |276     |383  | 981
|Q3    |298  |252     |274  | 824
|Q4    |344  |247     |402  | 993
|==================================
Table 9. AsciiDoc style in first column, Literal in second
Output markup AsciiDoc source

Consul necessitatibus per id, consetetur, eu pro everti postulant homero verear ea mea, qui.

Consul *necessitatibus* per id,
consetetur, eu pro everti postulant
homero verear ea mea, qui.
Code filter example
''' A multi-line
    comment.'''
def sub_word(mo):
    ''' Single line comment.'''
    word = mo.group('word')
    if word in keywords[language]:
        return quote + word + quote
    else:
        return word
  • Lorem ipsum dolor sit amet, consectetuer adipiscing elit.

    • Fusce euismod commodo velit.

    • Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel.

    • Vivamus fringilla mi eu lacus.

    • Donec eget arcu bibendum nunc consequat lobortis.

  • Nulla porttitor vulputate libero.

    1. Fusce euismod commodo velit.

    2. Vivamus fringilla mi eu lacus.

Consul *necessitatibus* per id,
consetetur, eu pro everti postulant
homero verear ea mea, qui.

-----------------------------------
Consul *necessitatibus* per id,
consetetur, eu pro everti postulant
homero verear ea mea, qui.
-----------------------------------

.Code filter example
[source,python]
-----------------------------------
''' A multi-line
    comment.'''
def sub_word(mo):
    ''' Single line comment.'''
    word = mo.group('word')
    if word in keywords[language]:
        return quote + word + quote
    else:
        return word
-----------------------------------

- Lorem ipsum dolor sit amet,
  consectetuer adipiscing elit.
  * Fusce euismod commodo velit.
  * Qui in magna commodo, est labitur
    dolorum an. Est ne magna primis
    adolescens. Sit munere ponderum
    dignissim et. Minim luptatum et vel.
  * Vivamus fringilla mi eu lacus.
  * Donec eget arcu bibendum nunc
    consequat lobortis.
- Nulla porttitor vulputate libero.
  . Fusce euismod commodo velit.
  . Vivamus fringilla mi eu lacus.
AsciiDoc source
[cols="asciidoc,literal",options="header",grid="cols"]
|==================================
|Output markup |AsciiDoc source
2*|
Consul *necessitatibus* per id,
consetetur, eu pro everti postulant
homero verear ea mea, qui.

-----------------------------------
Consul *necessitatibus* per id,
consetetur, eu pro everti postulant
homero verear ea mea, qui.
-----------------------------------

.Code filter example
[source,python]
-----------------------------------
''' A multi-line
    comment.'''
def sub_word(mo):
   ''' Single line comment.'''
    word = mo.group('word')
    if word in keywords[language]:
        return quote + word + quote
    else:
        return word
-----------------------------------

- Lorem ipsum dolor sit amet,
  consectetuer adipiscing elit.
  * Fusce euismod commodo velit.
  * Qui in magna commodo, est labitur
    dolorum an. Est ne magna primis
    adolescens. Sit munere ponderum
    dignissim et. Minim luptatum et vel.
  * Vivamus fringilla mi eu lacus.
  * Donec eget arcu bibendum nunc
    consequat lobortis.
- Nulla porttitor vulputate libero.
  . Fusce euismod commodo velit.
  . Vivamus fringilla mi eu lacus.

|==================================
Table 10. Cell containing lots of example markup elements

URLs: The AsciiDoc home page, http://asciidoc.org/, email Joe Bloggs, joe.bloggs@example.com, joe.bloggs.

Link: See AsciiDoc source.

Emphasized text, Strong text, Monospaced text, “Quoted text”.

Subscripts and superscripts: eπi+1 = 0. H2O and x10. Some super text and some sub text

Replacements: © copyright, ™ trademark, ® registered trademark, — em dash, … ellipsis, → right arrow, ← left arrow, ⇒ right double arrow, ⇐ left double arrow.

AsciiDoc source
|====================================================================
|'URLs':
http://asciidoc.org/[The AsciiDoc home page],
http://asciidoc.org/,
mailto:joe.bloggs@example.com[email Joe Bloggs],
joe.bloggs@example.com,
callto:joe.bloggs[].

'Link': See <<X1,AsciiDoc source>>.

'Emphasized text', *Strong text*, +Monospaced text+, ``Quoted text''.

'Subscripts and superscripts': e^{amp}#960;i^+1 = 0. H~2~O and x^10^.
Some ^super text^ and ~some sub text~

'Replacements': (C) copyright, (TM) trademark, (R) registered trademark,
-- em dash, ... ellipsis, -> right arrow, <- left arrow, => right
double arrow, <= left double arrow.
|====================================================================
Table 11. Nested table

Normal cell

Cell with nested table

Nested table cell 1

Nested table cell 2

AsciiDoc source
[width="75%",cols="1,2a"]
|==============================================
|Normal cell

|Cell with nested table

[cols="2,1"]
!==============================================
!Nested table cell 1 !Nested table cell 2
!==============================================

|==============================================
Table 12. Spans, alignments and styles

1

2

3

4

5

6

7

8

9

10

AsciiDoc source
.Spans, alignments and styles
[cols="e,m,^,>s",width="25%"]
|================
|1 >s|2 |3 |4
^|5 2.2+^.^|6 .3+<.>m|7
^|8
|9 2+>|10
|================
Table 13. Three panes

Top Left Pane

Consul necessitatibus per id, consetetur, eu pro everti postulant homero verear ea mea, qui.

Consul necessitatibus per id, consetetur, eu pro everti postulant homero verear ea mea, qui.

Right Pane

Consul necessitatibus per id, consetetur, eu pro everti postulant homero verear ea mea, qui.

Consul *necessitatibus* per id,
consetetur, eu pro everti postulant
homero verear ea mea, qui.
Code filter example
''' A multi-line
    comment.'''
def sub_word(mo):
    ''' Single line comment.'''
    word = mo.group('word')
    if word in keywords[language]:
        return quote + word + quote
    else:
        return word
  • Lorem ipsum dolor sit amet, consectetuer adipiscing elit.

    • Fusce euismod commodo velit.

    • Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel.

    • Vivamus fringilla mi eu lacus.

    • Donec eget arcu bibendum nunc consequat lobortis.

  • Nulla porttitor vulputate libero.

    1. Fusce euismod commodo velit.

    2. Vivamus fringilla mi eu lacus.

Bottom Left Pane

Consul necessitatibus per id, consetetur, eu pro everti postulant homero verear ea mea, qui.

Consul necessitatibus per id, consetetur, eu pro everti postulant homero verear ea mea, qui.

  • Lorem ipsum dolor sit amet, consectetuer adipiscing elit.

    • Fusce euismod commodo velit.

    • Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel.

    • Vivamus fringilla mi eu lacus.

    • Donec eget arcu bibendum nunc consequat lobortis.

  • Nulla porttitor vulputate libero.

    1. Fusce euismod commodo velit.

    2. Vivamus fringilla mi eu lacus.

AsciiDoc source
.Three panes
[cols="a,2a"]
|==================================
|
[float]
Top Left Pane
~~~~~~~~~~~~~
Consul *necessitatibus* per id,
consetetur, eu pro everti postulant
homero verear ea mea, qui.

Consul *necessitatibus* per id,
consetetur, eu pro everti postulant
homero verear ea mea, qui.

.2+|
[float]
Right Pane
~~~~~~~~~~
Consul *necessitatibus* per id,
consetetur, eu pro everti postulant
homero verear ea mea, qui.

-----------------------------------
Consul *necessitatibus* per id,
consetetur, eu pro everti postulant
homero verear ea mea, qui.
-----------------------------------

.Code filter example
[source,python]
-----------------------------------
''' A multi-line
    comment.'''
def sub_word(mo):
    ''' Single line comment.'''
    word = mo.group('word')
    if word in keywords[language]:
        return quote + word + quote
    else:
        return word
-----------------------------------

- Lorem ipsum dolor sit amet,
  consectetuer adipiscing elit.
  * Fusce euismod commodo velit.
  * Qui in magna commodo, est labitur
    dolorum an. Est ne magna primis
    adolescens. Sit munere ponderum
    dignissim et. Minim luptatum et vel.
  * Vivamus fringilla mi eu lacus.
  * Donec eget arcu bibendum nunc
    consequat lobortis.
- Nulla porttitor vulputate libero.
  . Fusce euismod commodo velit.
  . Vivamus fringilla mi eu lacus.

|
[float]
Bottom Left Pane
~~~~~~~~~~~~~~~~
Consul *necessitatibus* per id,
consetetur, eu pro everti postulant
homero verear ea mea, qui.

Consul *necessitatibus* per id,
consetetur, eu pro everti postulant
homero verear ea mea, qui.

- Lorem ipsum dolor sit amet,
  consectetuer adipiscing elit.
  * Fusce euismod commodo velit.
  * Qui in magna commodo, est labitur
    dolorum an. Est ne magna primis
    adolescens. Sit munere ponderum
    dignissim et. Minim luptatum et vel.
  * Vivamus fringilla mi eu lacus.
  * Donec eget arcu bibendum nunc
    consequat lobortis.
- Nulla porttitor vulputate libero.
  . Fusce euismod commodo velit.
  . Vivamus fringilla mi eu lacus.

|==================================

Combinations of align, frame, grid, valign and halign attributes

frame grid valign halign
     

all

all

top

left

AsciiDoc source
:frame: all
:grid: all
:halign: left
:valign: top

[options="header"]
|====
||frame | grid |valign |halign
v|&nbsp;
&nbsp;
&nbsp;
|{frame} | {grid} |{valign} |{halign}
|====
Table 14. Table test
frame grid valign halign
     

sides

rows

middle

center

AsciiDoc source
:frame: sides
:grid: rows
:halign: center
:valign: middle

.Table test
[width="50%",options="header"]
|====
||frame | grid |valign |halign
v|&nbsp;
&nbsp;
&nbsp;
|{frame} | {grid} |{valign} |{halign}
|====
frame grid valign halign
     

topbot

cols

bottom

right

AsciiDoc source
:frame: topbot
:grid: cols
:halign: right
:valign: bottom

[align="right",width="50%",options="header"]
|====
||frame | grid |valign |halign
v|&nbsp;
&nbsp;
&nbsp;
|{frame} | {grid} |{valign} |{halign}
|====
frame grid valign halign
     

none

none

top

left

AsciiDoc source
:frame: none
:grid: none
:halign: left
:valign: top

[align="center",width="50%",options="header"]
|====
||frame | grid |valign |halign
v|&nbsp;
&nbsp;
&nbsp;
|{frame} | {grid} |{valign} |{halign}
|====

asciidoc-py3-9.0.0rc1/tests/data/lang-it-article-test-docbook.xml0000644000175000017500000000670113570064211024126 0ustar josephjoseph
Languages Test 2003-12-21 v1.02003-12-21 Abstract special section.
The First Section
Admonishments Do not translate in the source file — they are translated to the output file Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum.
Tiger Tiger image
Followed by an example table: Table Option Description -a USER GROUP Add USER to GROUP. -R GROUP Disables access to GROUP.
And now for something completely different: monkeysmonkeys, lions and tigers.
Example Appendix Appendix special section. Bibliografia Bibliography special section. [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9. [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7. Glossario Glossary special section. A glossary term The corresponding (indented) definition. A second glossary term The corresponding (indented) definition. Index
asciidoc-py3-9.0.0rc1/tests/data/lang-ro-book-test-xhtml11.html0000644000175000017500000004661613570064211023474 0ustar josephjoseph Languages Test

Dedica

Dedication special section.

Prefazione

Preface special section.

Colofone

Colophon special section.

The First Section

Admonishments

Do not translate in the source file — they are translated to the output file

Nota
Lorum ipsum.
Suggerimento
Lorum ipsum.
Avvertenza
Lorum ipsum.
Attenzione
Lorum ipsum.
Importante
Lorum ipsum.
Tiger image
Figura 1. Tiger

Followed by an example table:

Tabella 1. Table
Option Description

-a USER GROUP

Add USER to GROUP.

-R GROUP

Disables access to GROUP.

And now for something completely different: monkeys, lions and tigers.

Appendice A: Example Appendix

Appendix special section.

Bibliografia

Bibliography special section.

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.

Glossario

Glossary special section.

A glossary term

The corresponding (indented) definition.

A second glossary term

The corresponding (indented) definition.


asciidoc-py3-9.0.0rc1/tests/data/lang-uk-book-test-xhtml11.html0000644000175000017500000004712213570064211023464 0ustar josephjoseph Languages Test

Присвячення

Dedication special section.

Вступ

Preface special section.

Колофон

Colophon special section.

The First Section

Admonishments

Do not translate in the source file — they are translated to the output file

Зауваження
Lorum ipsum.
Підказка
Lorum ipsum.
Увага
Lorum ipsum.
Попередження
Lorum ipsum.
Важливо
Lorum ipsum.
Tiger image
Рисунок 1. Tiger

Followed by an example table:

Таблиця 1. Table
Option Description

-a USER GROUP

Add USER to GROUP.

-R GROUP

Disables access to GROUP.

And now for something completely different: monkeys, lions and tigers.

Додаток A: Example Appendix

Appendix special section.

Бібліографія

Bibliography special section.

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.

Словник термінів

Glossary special section.

A glossary term

The corresponding (indented) definition.

A second glossary term

The corresponding (indented) definition.


asciidoc-py3-9.0.0rc1/tests/data/oldtables-docbook5.xml0000644000175000017500000001265113570064211022234 0ustar josephjoseph
AsciiDoc Old Tables Examples of the AsciiDoc old tables syntax. This syntax was used in AsciiDoc versions up to 8.2.7 and has since been deprecated in favor of the new tables syntax. Simple table: 1 2 3 4 5 6 Table with title, header and footer: An example table Column 1 Column 2 6 Three items 1 Item 1 2 Item 2 3 Item 3
Four columns totaling 15% of the pagewidth, CSV data: 1 2 3 4 a b c d A B C D A table with a numeric ruler and externally sourced CSV data: ID Customer Name Contact Name Customer Address Phone AROUT Around the Horn Thomas Hardy 120 Hanover Sq. London (171) 555-7788 BERGS Berglunds snabbkop Christina Berglund Berguvsvagen 8 Lulea 0921-12 34 65 BLAUS Blauer See Delikatessen Hanna Moos Forsterstr. 57 Mannheim 0621-08460 BLONP Blondel pere et fils Frederique Citeaux 24, place Kleber Strasbourg 88.60.15.31 BOLID Bolido Comidas preparadas Martin Sommer C/ Araquil, 67 Madrid (91) 555 22 82 BONAP Bon app' Laurence Lebihan 12, rue des Bouchers Marseille 91.24.45.40 BOTTM Bottom-Dollar Markets Elizabeth Lincoln 23 Tsawassen Blvd. Tsawassen (604) 555-4729 BSBEV B’s Beverages Victoria Ashworth Fauntleroy Circus London (171) 555-1212 CACTU Cactus Comidas para llevar Patricio Simpson Cerrito 333 Buenos Aires (1) 135-5555
asciidoc-py3-9.0.0rc1/tests/data/lang-nl-book-test-docbook5.xml0000644000175000017500000000751513570064211023523 0ustar josephjoseph Languages Test 2003-12-21 v1.02003-12-21 Opdracht Bijzonder dedication sectie. Voorwoord Bijzonder preface sectie. Colofon Bijzonder colophon sectie. Het Eerste Hoofdstuk
Vermaningen Vertaal ze niet in the broncode — ze worden vanzelf vertaald in het output bestand Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum.
Tiger Tiger image
Gevolgd door een voorbeeld tabel: Table Optie Beschrijving -a USER GROUP Voeg USER toe aan GROUP. -R GROUP Schakel toegang uit tot GROUP.
En nu iets totaal anders: apenapen, leeuwen en tijgers.
Voorbeeld Bijlage Bijzonder appendix sectie. Literatuurlijst Bijzonder bibliography sectie. [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9. [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7. Woordenlijst Bijzonder glossary sectie. Een woordenlijst term De bijhorende (ingesprongen) definitie. Een tweede term De bijhorende (ingesprongen) definitie. Register
asciidoc-py3-9.0.0rc1/tests/data/lang-it-man-test-docbook5.xml0000644000175000017500000000170713570064211023344 0ustar josephjoseph ASCIIDOC(1) asciidoc 1     asciidoc converts an AsciiDoc text file to HTML or DocBook asciidoc [OPTIONS] FILE DESCRIPTION The asciidoc(1) command translates the AsciiDoc text file FILE to DocBook or HTML. If FILE is - then the standard input is used. asciidoc-py3-9.0.0rc1/tests/data/lang-hu-article-test-docbook5.xml0000644000175000017500000000671213570064211024215 0ustar josephjoseph
Languages Test 2003-12-21 v1.02003-12-21 Abstract special section.
The First Section
Admonishments Do not translate in the source file — they are translated to the output file Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum.
Tiger Tiger image
Followed by an example table: Table Option Description -a USER GROUP Add USER to GROUP. -R GROUP Disables access to GROUP.
And now for something completely different: monkeysmonkeys, lions and tigers.
Example Appendix Appendix special section. Bibliográfia Bibliography special section. [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9. [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7. Szójegyzék Glossary special section. A glossary term The corresponding (indented) definition. A second glossary term The corresponding (indented) definition. Index
asciidoc-py3-9.0.0rc1/tests/data/source-highlight-filter-docbook5.xml0000644000175000017500000002561513570064211025017 0ustar josephjoseph
Source Code Highlight Filter The AsciiDoc distribution includes a source filter for highlighting code syntax.
DocBook Outputs AsciiDoc encloses the source code in a DocBook programlisting element and leaves source code highlighting to the DocBook toolchain (dblatex has a particularly nice programlisting highlighter). The DocBook programlisting element is assigned two attributes: The language attribute is set to the AsciiDoc language attribute. The linenumbering attribute is set to the AsciiDoc src_numbered attribute (numbered or unnumbered).
HTML Outputs You have the choice of three HTML source code highlighters, your selection is determined by the source-highlighter attribute (defaults to source-highlight): Set the source-highlighter attribute from the asciidoc(1) command-line or in the document header (not in the document body, because the configuration file conditional macros are processed at load time).
GNU Source Highlight The default highlighter is the GNU source-highlight which can highlight html4, html5 and xhtml11 outputs. The GNU source-highlight must be installed and the source-highlight command must reside in the shell search PATH.
Highlight You can use Highlight syntax highlighter for xhtml11, html5 and html4 outputs (set the source-highlighter attribute to highlighter). The highlight command must reside in the shell search PATH. To make Highlighter your default highlighter put the following line your ~/.asciidoc/asciidoc.conf file: source-highlighter=highlight The AsciiDoc encoding attribute is passed to Highlighter using the --encoding command-line option.
Pygments The Pygments syntax highlighter can be used for xhtml11 and html5 outputs (set the source-highlighter attribute to pygments). The pygmentize command must reside in the shell search PATH. You can customize Pygments CSS styles by editing ./stylesheets/pygments.css. The pygments.css CSS file was generated with: from pygments.formatters import HtmlFormatter print HtmlFormatter().get_style_defs('.highlight') To make Pygments your default highlighter put the following line your ~/.asciidoc/asciidoc.conf file: source-highlighter=pygments The AsciiDoc encoding attribute is passed to Pygments using the -O command-line option.
Block attributes The following attributes can be included in source code block attribute lists. style and language are mandatory. style, language and src_numbered are the first three positional attributes in that order. The args attribute allows the inclusion of arbitrary (highlighter dependent) command options. style Set to source. language The source code language name. The language names vary between highlighters — consult the selected highlighter manual. src_numbered Set to numbered to include line numbers. src_tab Set tab size (GNU source-highlight only). args Include this attribute value in the highlighter command-line (HTML outputs) or in the programlisting element (DocBook).
Testing Test the filter by converting the test file to HTML with AsciiDoc: $ asciidoc -v ./filters/source/source-highlight-filter-test.txt $ firefox ./filters/source/source-highlight-filter-test.html &
Examples
Source code paragraphs The source paragraph style will highlight a paragraph of source code. These three code paragraphs: [source,python] if n < 0: print 'Hello World!' :language: python [source] if n < 0: print 'Hello World!' [source,ruby,numbered] [true, false].cycle([0, 1, 2, 3, 4]) do |a, b| puts "#{a.inspect} => #{b.inspect}" Render this highlighted source code: if n < 0: print 'Hello World!' if n < 0: print 'Hello World!' [true, false].cycle([0, 1, 2, 3, 4]) do |a, b| puts "#{a.inspect} => #{b.inspect}"
Unnumbered source code listing This source-highlight filtered block: [source,python] --------------------------------------------------------------------- ''' A multi-line comment.''' def sub_word(mo): ''' Single line comment.''' word = mo.group('word') # Inline comment if word in keywords[language]: return quote + word + quote else: return word --------------------------------------------------------------------- Renders this highlighted source code: ''' A multi-line comment.''' def sub_word(mo): ''' Single line comment.''' word = mo.group('word') # Inline comment if word in keywords[language]: return quote + word + quote else: return word
Numbered source code listing with callouts This source-highlight filtered block: [source,ruby,numbered] --------------------------------------------------------------------- # # Useful Ruby base class extensions. # class Array # Execute a block passing it corresponding items in # +self+ and +other_array+. # If self has less items than other_array it is repeated. def cycle(other_array) # :yields: item, other_item other_array.each_with_index do |item, index| yield(self[index % self.length], item) end end end if $0 == __FILE__ # <1> # Array#cycle test # true => 0 # false => 1 # true => 2 # false => 3 # true => 4 puts 'Array#cycle test' # <2> [true, false].cycle([0, 1, 2, 3, 4]) do |a, b| puts "#{a.inspect} => #{b.inspect}" end end --------------------------------------------------------------------- <1> First callout. <2> Second callout. Renders this highlighted source code: # # Useful Ruby base class extensions. # class Array # Execute a block passing it corresponding items in # +self+ and +other_array+. # If self has less items than other_array it is repeated. def cycle(other_array) # :yields: item, other_item other_array.each_with_index do |item, index| yield(self[index % self.length], item) end end end if $0 == __FILE__ # # Array#cycle test # true => 0 # false => 1 # true => 2 # false => 3 # true => 4 puts 'Array#cycle test' # [true, false].cycle([0, 1, 2, 3, 4]) do |a, b| puts "#{a.inspect} => #{b.inspect}" end end First callout. Second callout. If the source language attribute has been set (using an AttributeEntry or from the command-line) you don’t have to specify it in each source code block. You should place callout markers inside source code comments to ensure they are not misinterpreted and mangled by the highlighter.
asciidoc-py3-9.0.0rc1/tests/data/lang-fr-article-test-html5.html0000644000175000017500000004600113570064211023673 0ustar josephjoseph Languages Test

Résumé

Abstract special section.

The First Section

Admonishments

Do not translate in the source file — they are translated to the output file

Note
Lorum ipsum.
Astuce
Lorum ipsum.
Attention
Lorum ipsum.
Avertissement
Lorum ipsum.
Important
Lorum ipsum.
Tiger image
Figure 1. Tiger

Followed by an example table:

Tableau 1. Table
Option Description

-a USER GROUP

Add USER to GROUP.

-R GROUP

Disables access to GROUP.

And now for something completely different: monkeys, lions and tigers.

Appendice A: Example Appendix

Appendix special section.

Bibliographie

Bibliography special section.

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.

Glossaire

Glossary special section.

A glossary term

The corresponding (indented) definition.

A second glossary term

The corresponding (indented) definition.


asciidoc-py3-9.0.0rc1/tests/data/lang-cs-man-test.txt0000644000175000017500000000057213570064211021650 0ustar josephjoseph// Test for lang-it.conf language file. :lang: cs ASCIIDOC(1) =========== :doctype: manpage NAME ---- asciidoc - converts an AsciiDoc text file to HTML or DocBook SINOSSI ------- *asciidoc* ['OPTIONS'] 'FILE' DESCRIPTION ----------- The asciidoc(1) command translates the AsciiDoc text file 'FILE' to DocBook or HTML. If 'FILE' is '-' then the standard input is used. ... asciidoc-py3-9.0.0rc1/tests/data/lang-es-book-test-html5.html0000644000175000017500000004645213570064211023214 0ustar josephjoseph Languages Test

Dedicación

Dedication special section.

Prefacio

Preface special section.

Colofón

Colophon special section.

The First Section

Admonishments

Do not translate in the source file — they are translated to the output file

Nota
Lorum ipsum.
Sugerencia
Lorum ipsum.
Aviso
Lorum ipsum.
Atención
Lorum ipsum.
Importante
Lorum ipsum.
Tiger image
Figura 1. Tiger

Followed by an example table:

Tabla 1. Table
Option Description

-a USER GROUP

Add USER to GROUP.

-R GROUP

Disables access to GROUP.

And now for something completely different: monkeys, lions and tigers.

Apéndice A: Example Appendix

Appendix special section.

Bibliografía

Bibliography special section.

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.

Glosario

Glossary special section.

A glossary term

The corresponding (indented) definition.

A second glossary term

The corresponding (indented) definition.


asciidoc-py3-9.0.0rc1/tests/data/lang-ru-man-test.txt0000644000175000017500000000057313570064211021672 0ustar josephjoseph// Test for lang-ru.conf language file. :lang: ru ASCIIDOC(1) =========== :doctype: manpage NAME ---- asciidoc - converts an AsciiDoc text file to HTML or DocBook ОБЗОР ----- *asciidoc* ['OPTIONS'] 'FILE' DESCRIPTION ----------- The asciidoc(1) command translates the AsciiDoc text file 'FILE' to DocBook or HTML. If 'FILE' is '-' then the standard input is used. ... asciidoc-py3-9.0.0rc1/tests/data/oldtables-html4.html0000644000175000017500000001610713570064211021723 0ustar josephjoseph AsciiDoc Old Tables

AsciiDoc Old Tables

Examples of the AsciiDoc old tables syntax. This syntax was used in AsciiDoc versions up to 8.2.7 and has since been deprecated in favor of the new tables syntax.

Simple table:

1 2
3 4
5 6

Table with title, header and footer:

TableAn example table

Column 1 Column 2
6 Three items
1 Item 1
2 Item 2
3 Item 3

Four columns totaling 15% of the pagewidth, CSV data:

1 2 3 4
a b c d
A B C D

A table with a numeric ruler and externally sourced CSV data:

ID Customer Name Contact Name Customer Address Phone
AROUT Around the Horn Thomas Hardy 120 Hanover Sq.
London
(171) 555-7788
BERGS Berglunds snabbkop Christina Berglund Berguvsvagen 8
Lulea
0921-12 34 65
BLAUS Blauer See Delikatessen Hanna Moos Forsterstr. 57
Mannheim
0621-08460
BLONP Blondel pere et fils Frederique Citeaux 24, place Kleber
Strasbourg
88.60.15.31
BOLID Bolido Comidas preparadas Martin Sommer C/ Araquil, 67
Madrid
(91) 555 22 82
BONAP Bon app' Laurence Lebihan 12, rue des Bouchers
Marseille
91.24.45.40
BOTTM Bottom-Dollar Markets Elizabeth Lincoln 23 Tsawassen Blvd.
Tsawassen
(604) 555-4729
BSBEV B’s Beverages Victoria Ashworth Fauntleroy Circus
London
(171) 555-1212
CACTU Cactus Comidas para llevar Patricio Simpson Cerrito 333
Buenos Aires
(1) 135-5555


Last updated 2002-11-25 00:37:42 UTC

asciidoc-py3-9.0.0rc1/tests/data/lang-hu-test.txt0000644000175000017500000000373213570064211021107 0ustar josephjoseph// Test for lang-hu.conf language file. :lang: hu Languages Test ============== :revnumber: v1.0 :revdate: 2003-12-21 ifdef::doctype-article[] Kivonat ------- Abstract special section. endif::doctype-article[] ifdef::doctype-book[] Ajánlás -------- Dedication special section. Előszó ------ Preface special section. Utószó ------ Colophon special section. endif::doctype-book[] The First Section ----------------- Admonishments ~~~~~~~~~~~~~ Do not translate in the source file -- they are translated to the output file NOTE: Lorum ipsum. TIP: Lorum ipsum. WARNING: Lorum ipsum. CAUTION: Lorum ipsum. IMPORTANT: Lorum ipsum. .Tiger image::../../images/tiger.png[Tiger image] Followed by an example table: .Table [width="60%",options="header"] |============================================== | Option | Description | -a 'USER GROUP' | Add 'USER' to 'GROUP'. | -R 'GROUP' | Disables access to 'GROUP'. |============================================== And now for something completely different: ((monkeys)), lions and tigers. A függelék: Example Appendix ---------------------------- Appendix special section. Bibliográfia ------------ Bibliography special section. [bibliography] - [[[taoup]]] Eric Steven Raymond. 'The Art of Unix Programming'. Addison-Wesley. ISBN 0-13-142901-9. - [[[walsh-muellner]]] Norman Walsh & Leonard Muellner. 'DocBook - The Definitive Guide'. O'Reilly & Associates. 1999. ISBN 1-56592-580-7. Szójegyzék ---------- Glossary special section. [glossary] A glossary term:: The corresponding (indented) definition. A second glossary term:: The corresponding (indented) definition. ifdef::basebackend-docbook[] Index ----- //////////////////////////////////////////////////////////////// Index special section. The index is normally left completely empty, it's contents being generated automatically by the DocBook toolchain. //////////////////////////////////////////////////////////////// endif::basebackend-docbook[] asciidoc-py3-9.0.0rc1/tests/data/lang-fr-book-test-docbook.xml0000644000175000017500000000724713570064211023436 0ustar josephjoseph Languages Test 2003-12-21 v1.02003-12-21 Dédicace Dedication special section. Préface Preface special section. Colophon Colophon special section. The First Section
Admonishments Do not translate in the source file — they are translated to the output file Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum.
Tiger Tiger image
Followed by an example table: Table Option Description -a USER GROUP Add USER to GROUP. -R GROUP Disables access to GROUP.
And now for something completely different: monkeysmonkeys, lions and tigers.
Example Appendix Appendix special section. Bibliographie Bibliography special section. [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9. [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7. Glossaire Glossary special section. A glossary term The corresponding (indented) definition. A second glossary term The corresponding (indented) definition. Index
asciidoc-py3-9.0.0rc1/tests/data/lang-cs-article-test-docbook.xml0000644000175000017500000000674213570064211024124 0ustar josephjoseph
Languages Test 2003-12-21 v1.02003-12-21
Abstract Abstract special section.
The First Section
Admonishments Do not translate in the source file — they are translated to the output file Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum.
Tiger Tiger image
Followed by an example table: Table Option Description -a USER GROUP Add USER to GROUP. -R GROUP Disables access to GROUP.
And now for something completely different: monkeysmonkeys, lions and tigers.
Appendice A: Example Appendix Appendix special section.
Bibliografia Bibliography special section. [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9. [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.
Glossario Glossary special section. A glossary term The corresponding (indented) definition. A second glossary term The corresponding (indented) definition.
Index
asciidoc-py3-9.0.0rc1/tests/data/lang-it-book-test-html4.html0000644000175000017500000000663213570064211023214 0ustar josephjoseph Languages Test

Languages Test

version v1.0, 2003-12-21


Dedica

Dedication special section.


Prefazione

Preface special section.


Colofone

Colophon special section.


The First Section

Admonishments

Do not translate in the source file — they are translated to the output file

Nota

Lorum ipsum.

Suggerimento

Lorum ipsum.

Avvertenza

Lorum ipsum.

Attenzione

Lorum ipsum.

Importante

Lorum ipsum.
Tiger image

Figura 1. Tiger

Followed by an example table:

Option Description

-a USER GROUP

Add USER to GROUP.

-R GROUP

Disables access to GROUP.

Tabella 1. Table

And now for something completely different: monkeys, lions and tigers.


Appendice A: Example Appendix

Appendix special section.


Bibliografia

Bibliography special section.

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.


Glossario

Glossary special section.

A glossary term

The corresponding (indented) definition.

A second glossary term

The corresponding (indented) definition.


Versione v1.0
Ultimo aggiornamento 2002-11-25 00:37:42 UTC

asciidoc-py3-9.0.0rc1/tests/data/lang-ru-book-test-xhtml11.html0000644000175000017500000004720213570064211023472 0ustar josephjoseph Languages Test

Посвящение

Dedication special section.

Введение

Preface special section.

Колофон

Colophon special section.

The First Section

Admonishments

Do not translate in the source file — they are translated to the output file

Замечание
Lorum ipsum.
Подсказка
Lorum ipsum.
Внимание
Lorum ipsum.
Предостережение
Lorum ipsum.
Важно
Lorum ipsum.
Tiger image
Рисунок 1. Tiger

Followed by an example table:

Таблица 1. Table
Option Description

-a USER GROUP

Add USER to GROUP.

-R GROUP

Disables access to GROUP.

And now for something completely different: monkeys, lions and tigers.

Приложение A: Example Appendix

Appendix special section.

Библиография

Bibliography special section.

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.

Словарь терминов

Glossary special section.

A glossary term

The corresponding (indented) definition.

A second glossary term

The corresponding (indented) definition.


asciidoc-py3-9.0.0rc1/tests/data/lang-es-article-test-docbook5.xml0000644000175000017500000000670613570064211024213 0ustar josephjoseph
Languages Test 2003-12-21 v1.02003-12-21 Abstract special section.
The First Section
Admonishments Do not translate in the source file — they are translated to the output file Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum.
Tiger Tiger image
Followed by an example table: Table Option Description -a USER GROUP Add USER to GROUP. -R GROUP Disables access to GROUP.
And now for something completely different: monkeysmonkeys, lions and tigers.
Example Appendix Appendix special section. Bibliografía Bibliography special section. [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9. [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7. Glosario Glossary special section. A glossary term The corresponding (indented) definition. A second glossary term The corresponding (indented) definition. Índice
asciidoc-py3-9.0.0rc1/tests/data/lang-fr-article-test-docbook.xml0000644000175000017500000000670313570064211024123 0ustar josephjoseph
Languages Test 2003-12-21 v1.02003-12-21 Abstract special section.
The First Section
Admonishments Do not translate in the source file — they are translated to the output file Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum.
Tiger Tiger image
Followed by an example table: Table Option Description -a USER GROUP Add USER to GROUP. -R GROUP Disables access to GROUP.
And now for something completely different: monkeysmonkeys, lions and tigers.
Example Appendix Appendix special section. Bibliographie Bibliography special section. [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9. [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7. Glossaire Glossary special section. A glossary term The corresponding (indented) definition. A second glossary term The corresponding (indented) definition. Index
asciidoc-py3-9.0.0rc1/tests/data/lang-cs-book-test-docbook.xml0000644000175000017500000000724613570064211023433 0ustar josephjoseph Languages Test 2003-12-21 v1.02003-12-21 Dedica Dedication special section. Prefazione Preface special section. Colofone Colophon special section. The First Section
Admonishments Do not translate in the source file — they are translated to the output file Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum.
Tiger Tiger image
Followed by an example table: Table Option Description -a USER GROUP Add USER to GROUP. -R GROUP Disables access to GROUP.
And now for something completely different: monkeysmonkeys, lions and tigers.
Appendice A: Example Appendix Appendix special section. Bibliografia Bibliography special section. [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9. [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7. Glossario Glossary special section. A glossary term The corresponding (indented) definition. A second glossary term The corresponding (indented) definition. Index
asciidoc-py3-9.0.0rc1/tests/data/lang-cs-article-test-docbook5.xml0000644000175000017500000000674413570064211024213 0ustar josephjoseph
Languages Test 2003-12-21 v1.02003-12-21
Abstract Abstract special section.
The First Section
Admonishments Do not translate in the source file — they are translated to the output file Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum.
Tiger Tiger image
Followed by an example table: Table Option Description -a USER GROUP Add USER to GROUP. -R GROUP Disables access to GROUP.
And now for something completely different: monkeysmonkeys, lions and tigers.
Appendice A: Example Appendix Appendix special section.
Bibliografia Bibliography special section. [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9. [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.
Glossario Glossary special section. A glossary term The corresponding (indented) definition. A second glossary term The corresponding (indented) definition.
Index
asciidoc-py3-9.0.0rc1/tests/data/utf8-examples-docbook.xml0000644000175000017500000003576013570064211022706 0ustar josephjoseph
UTF-8 encoded sample plain-text file Markus Kuhn [ˈmaʳkʊs kuːn] http://www.cl.cam.ac.uk/~mgk25/ — 2002-07-25 The ASCII compatible UTF-8 encoding used in this plain-text file is defined in Unicode, ISO 10646-1, and RFC 2279. Using Unicode/UTF-8, you can write in emails and source code things such as
Mathematics and sciences ∮ E⋅da = Q, n → ∞, ∑ f(i) = ∏ g(i), ⎧⎡⎛┌─────┐⎞⎤⎫ ⎪⎢⎜│a²+b³ ⎟⎥⎪ ∀x∈ℝ: ⌈x⌉ = −⌊−x⌋, α ∧ ¬β = ¬(¬α ∨ β), ⎪⎢⎜│───── ⎟⎥⎪ ⎪⎢⎜⎷ c₈ ⎟⎥⎪ ℕ ⊆ ℕ₀ ⊂ ℤ ⊂ ℚ ⊂ ℝ ⊂ ℂ, ⎨⎢⎜ ⎟⎥⎬ ⎪⎢⎜ ∞ ⎟⎥⎪ ⊥ < a ≠ b ≡ c ≤ d ≪ ⊤ ⇒ (⟦A⟧ ⇔ ⟪B⟫), ⎪⎢⎜ ⎲ ⎟⎥⎪ ⎪⎢⎜ ⎳aⁱ-bⁱ⎟⎥⎪ 2H₂ + O₂ ⇌ 2H₂O, R = 4.7 kΩ, ⌀ 200 mm ⎩⎣⎝i=1 ⎠⎦⎭
Linguistics and dictionaries ði ıntəˈnæʃənəl fəˈnɛtık əsoʊsiˈeıʃn Y [ˈʏpsilɔn], Yen [jɛn], Yoga [ˈjoːgɑ]
APL ((V⍳V)=⍳⍴V)/V←,V ⌷←⍳→⍴∆∇⊃‾⍎⍕⌈
Nicer typography in plain text files ‘single’ and “double” quotes Curly apostrophes: “We’ve been here” ‚deutsche‘ „Anführungszeichen“ †, ‡, ‰, •, 3–4, —, −5/+5, ™, … ASCII safety test: 1lI|, 0OD, 8B the euro symbol: 14.95 €
Combining characters STARGΛ̊TE SG-1, a = v̇ = r̈, a⃑ ⊥ b⃑
Greek (in Polytonic)
The Greek anthem Σὲ γνωρίζω ἀπὸ τὴν κόψη τοῦ σπαθιοῦ τὴν τρομερή, σὲ γνωρίζω ἀπὸ τὴν ὄψη ποὺ μὲ βία μετράει τὴ γῆ. ᾿Απ᾿ τὰ κόκκαλα βγαλμένη τῶν ῾Ελλήνων τὰ ἱερά καὶ σὰν πρῶτα ἀνδρειωμένη χαῖρε, ὦ χαῖρε, ᾿Ελευθεριά!
From a speech of Demosthenes in the 4th century BC Οὐχὶ ταὐτὰ παρίσταταί μοι γιγνώσκειν, ὦ ἄνδρες ᾿Αθηναῖοι, ὅταν τ᾿ εἰς τὰ πράγματα ἀποβλέψω καὶ ὅταν πρὸς τοὺς λόγους οὓς ἀκούω· τοὺς μὲν γὰρ λόγους περὶ τοῦ τιμωρήσασθαι Φίλιππον ὁρῶ γιγνομένους, τὰ δὲ πράγματ᾿ εἰς τοῦτο προήκοντα, ὥσθ᾿ ὅπως μὴ πεισόμεθ᾿ αὐτοὶ πρότερον κακῶς σκέψασθαι δέον. οὐδέν οὖν ἄλλο μοι δοκοῦσιν οἱ τὰ τοιαῦτα λέγοντες ἢ τὴν ὑπόθεσιν, περὶ ἧς βουλεύεσθαι, οὐχὶ τὴν οὖσαν παριστάντες ὑμῖν ἁμαρτάνειν. ἐγὼ δέ, ὅτι μέν ποτ᾿ ἐξῆν τῇ πόλει καὶ τὰ αὑτῆς ἔχειν ἀσφαλῶς καὶ Φίλιππον τιμωρήσασθαι, καὶ μάλ᾿ ἀκριβῶς οἶδα· ἐπ᾿ ἐμοῦ γάρ, οὐ πάλαι γέγονεν ταῦτ᾿ ἀμφότερα· νῦν μέντοι πέπεισμαι τοῦθ᾿ ἱκανὸν προλαβεῖν ἡμῖν εἶναι τὴν πρώτην, ὅπως τοὺς συμμάχους σώσομεν. ἐὰν γὰρ τοῦτο βεβαίως ὑπάρξῃ, τότε καὶ περὶ τοῦ τίνα τιμωρήσεταί τις καὶ ὃν τρόπον ἐξέσται σκοπεῖν· πρὶν δὲ τὴν ἀρχὴν ὀρθῶς ὑποθέσθαι, μάταιον ἡγοῦμαι περὶ τῆς τελευτῆς ὁντινοῦν ποιεῖσθαι λόγον. Δημοσθένους, Γ´ ᾿Ολυνθιακὸς
Georgian: From a Unicode conference invitationგთხოვთ ახლავე გაიაროთ რეგისტრაცია Unicode-ის მეათე საერთაშორისო კონფერენციაზე დასასწრებად, რომელიც გაიმართება 10-12 მარტს, ქ. მაინცში, გერმანიაში. კონფერენცია შეჰკრებს ერთად მსოფლიოს ექსპერტებს ისეთ დარგებში როგორიცაა ინტერნეტი და Unicode-ი, ინტერნაციონალიზაცია და ლოკალიზაცია, Unicode-ის გამოყენება ოპერაციულ სისტემებსა, და გამოყენებით პროგრამებში, შრიფტებში, ტექსტების დამუშავებასა და მრავალენოვან კომპიუტერულ სისტემებში.
Russian From a Unicode conference invitationЗарегистрируйтесь сейчас на Десятую Международную Конференцию по Unicode, которая состоится 10-12 марта 1997 года в Майнце в Германии. Конференция соберет широкий круг экспертов по вопросам глобального Интернета и Unicode, локализации и интернационализации, воплощению и применению Unicode в различных операционных системах и программных приложениях, шрифтах, верстке и многоязычных компьютерных системах.
Thai (UCS Level 2) Excerpt from a poetry on The Romance of The Three Kingdoms (a Chinese classic San Gua): [----------------------------|------------------------] ๏ แผ่นดินฮั่นเสื่อมโทรมแสนสังเวช พระปกเกศกองบู๊กู้ขึ้นใหม่ สิบสองกษัตริย์ก่อนหน้าแลถัดไป สององค์ไซร้โง่เขลาเบาปัญญา ทรงนับถือขันทีเป็นที่พึ่ง บ้านเมืองจึงวิปริตเป็นนักหนา โฮจิ๋นเรียกทัพทั่วหัวเมืองมา หมายจะฆ่ามดชั่วตัวสำคัญ เหมือนขับไสไล่เสือจากเคหา รับหมาป่าเข้ามาเลยอาสัญ ฝ่ายอ้องอุ้นยุแยกให้แตกกัน ใช้สาวนั้นเป็นชนวนชื่นชวนใจ พลันลิฉุยกุยกีกลับก่อเหตุ ช่างอาเพศจริงหนาฟ้าร้องไห้ ต้องรบราฆ่าฟันจนบรรลัย ฤๅหาใครค้ำชูกู้บรรลังก์ ฯ (The above is a two-column text. If combining characters are handled correctly, the lines of the second column should be aligned with the | character above.)
Ethiopian
Proverbs in the Amharic language ሰማይ አይታረስ ንጉሥ አይከሰስ። ብላ ካለኝ እንደአባቴ በቆመጠኝ። ጌጥ ያለቤቱ ቁምጥና ነው። ደሀ በሕልሙ ቅቤ ባይጠጣ ንጣት በገደለው። የአፍ ወለምታ በቅቤ አይታሽም። አይጥ በበላ ዳዋ ተመታ። ሲተረጉሙ ይደረግሙ። ቀስ በቀስ፥ ዕንቁላል በእግሩ ይሄዳል። ድር ቢያብር አንበሳ ያስር። ሰው እንደቤቱ እንጅ እንደ ጉረቤቱ አይተዳደርም። እግዜር የከፈተውን ጉሮሮ ሳይዘጋው አይድርም። የጎረቤት ሌባ፥ ቢያዩት ይስቅ ባያዩት ያጠልቅ። ሥራ ከመፍታት ልጄን ላፋታት። ዓባይ ማደሪያ የለው፥ ግንድ ይዞ ይዞራል። የእስላም አገሩ መካ የአሞራ አገሩ ዋርካ። ተንጋሎ ቢተፉ ተመልሶ ባፉ። ወዳጅህ ማር ቢሆን ጨርስህ አትላሰው። እግርህን በፍራሽህ ልክ ዘርጋ።
Runes ᚻᛖ ᚳᚹᚫᚦ ᚦᚫᛏ ᚻᛖ ᛒᚢᛞᛖ ᚩᚾ ᚦᚫᛗ ᛚᚪᚾᛞᛖ ᚾᚩᚱᚦᚹᛖᚪᚱᛞᚢᛗ ᚹᛁᚦ ᚦᚪ ᚹᛖᛥᚫ (Old English, which transcribed into Latin reads “He cwaeth that he bude thaem lande northweardum with tha Westsae.” and means “He said that he lived in the northern land near the Western Sea.”)
Braille ⡌⠁⠧⠑ ⠼⠁⠒ ⡍⠜⠇⠑⠹⠰⠎ ⡣⠕⠌ ⡍⠜⠇⠑⠹ ⠺⠁⠎ ⠙⠑⠁⠙⠒ ⠞⠕ ⠃⠑⠛⠔ ⠺⠊⠹⠲ ⡹⠻⠑ ⠊⠎ ⠝⠕ ⠙⠳⠃⠞ ⠱⠁⠞⠑⠧⠻ ⠁⠃⠳⠞ ⠹⠁⠞⠲ ⡹⠑ ⠗⠑⠛⠊⠌⠻ ⠕⠋ ⠙⠊⠎ ⠃⠥⠗⠊⠁⠇ ⠺⠁⠎ ⠎⠊⠛⠝⠫ ⠃⠹ ⠹⠑ ⠊⠇⠻⠛⠹⠍⠁⠝⠂ ⠹⠑ ⠊⠇⠻⠅⠂ ⠹⠑ ⠥⠝⠙⠻⠞⠁⠅⠻⠂ ⠁⠝⠙ ⠹⠑ ⠡⠊⠑⠋ ⠍⠳⠗⠝⠻⠲ ⡎⠊⠗⠕⠕⠛⠑ ⠎⠊⠛⠝⠫ ⠊⠞⠲ ⡁⠝⠙ ⡎⠊⠗⠕⠕⠛⠑⠰⠎ ⠝⠁⠍⠑ ⠺⠁⠎ ⠛⠕⠕⠙ ⠥⠏⠕⠝ ⠰⡡⠁⠝⠛⠑⠂ ⠋⠕⠗ ⠁⠝⠹⠹⠔⠛ ⠙⠑ ⠡⠕⠎⠑ ⠞⠕ ⠏⠥⠞ ⠙⠊⠎ ⠙⠁⠝⠙ ⠞⠕⠲ ⡕⠇⠙ ⡍⠜⠇⠑⠹ ⠺⠁⠎ ⠁⠎ ⠙⠑⠁⠙ ⠁⠎ ⠁ ⠙⠕⠕⠗⠤⠝⠁⠊⠇⠲ ⡍⠔⠙⠖ ⡊ ⠙⠕⠝⠰⠞ ⠍⠑⠁⠝ ⠞⠕ ⠎⠁⠹ ⠹⠁⠞ ⡊ ⠅⠝⠪⠂ ⠕⠋ ⠍⠹ ⠪⠝ ⠅⠝⠪⠇⠫⠛⠑⠂ ⠱⠁⠞ ⠹⠻⠑ ⠊⠎ ⠏⠜⠞⠊⠊⠥⠇⠜⠇⠹ ⠙⠑⠁⠙ ⠁⠃⠳⠞ ⠁ ⠙⠕⠕⠗⠤⠝⠁⠊⠇⠲ ⡊ ⠍⠊⠣⠞ ⠙⠁⠧⠑ ⠃⠑⠲ ⠔⠊⠇⠔⠫⠂ ⠍⠹⠎⠑⠇⠋⠂ ⠞⠕ ⠗⠑⠛⠜⠙ ⠁ ⠊⠕⠋⠋⠔⠤⠝⠁⠊⠇ ⠁⠎ ⠹⠑ ⠙⠑⠁⠙⠑⠌ ⠏⠊⠑⠊⠑ ⠕⠋ ⠊⠗⠕⠝⠍⠕⠝⠛⠻⠹ ⠔ ⠹⠑ ⠞⠗⠁⠙⠑⠲ ⡃⠥⠞ ⠹⠑ ⠺⠊⠎⠙⠕⠍ ⠕⠋ ⠳⠗ ⠁⠝⠊⠑⠌⠕⠗⠎ ⠊⠎ ⠔ ⠹⠑ ⠎⠊⠍⠊⠇⠑⠆ ⠁⠝⠙ ⠍⠹ ⠥⠝⠙⠁⠇⠇⠪⠫ ⠙⠁⠝⠙⠎ ⠩⠁⠇⠇ ⠝⠕⠞ ⠙⠊⠌⠥⠗⠃ ⠊⠞⠂ ⠕⠗ ⠹⠑ ⡊⠳⠝⠞⠗⠹⠰⠎ ⠙⠕⠝⠑ ⠋⠕⠗⠲ ⡹⠳ ⠺⠊⠇⠇ ⠹⠻⠑⠋⠕⠗⠑ ⠏⠻⠍⠊⠞ ⠍⠑ ⠞⠕ ⠗⠑⠏⠑⠁⠞⠂ ⠑⠍⠏⠙⠁⠞⠊⠊⠁⠇⠇⠹⠂ ⠹⠁⠞ ⡍⠜⠇⠑⠹ ⠺⠁⠎ ⠁⠎ ⠙⠑⠁⠙ ⠁⠎ ⠁ ⠙⠕⠕⠗⠤⠝⠁⠊⠇⠲ (The first couple of paragraphs of "A Christmas Carol" by Dickens)
Compact font selection example text ABCDEFGHIJKLMNOPQRSTUVWXYZ /0123456789 abcdefghijklmnopqrstuvwxyz £©µÀÆÖÞßéöÿ –—‘“”„†•…‰™œŠŸž€ ΑΒΓΔΩαβγδω АБВГДабвгд ∀∂∈ℝ∧∪≡∞ ↑↗↨↻⇣ ┐┼╔╘░►☺♀ fi�⑀₂ἠḂӥẄɐː⍎אԱა
Greetings in various languages Hello world, Καλημέρα κόσμε, コンニチハ
Box drawing alignment tests █ ▉ ╔══╦══╗ ┌──┬──┐ ╭──┬──╮ ╭──┬──╮ ┏━━┳━━┓ ┎┒┏┑ ╷ ╻ ┏┯┓ ┌┰┐ ▊ ╱╲╱╲╳╳╳ ║┌─╨─┐║ │╔═╧═╗│ │╒═╪═╕│ │╓─╁─╖│ ┃┌─╂─┐┃ ┗╃╄┙ ╶┼╴╺╋╸┠┼┨ ┝╋┥ ▋ ╲╱╲╱╳╳╳ ║│╲ ╱│║ │║ ║│ ││ │ ││ │║ ┃ ║│ ┃│ ╿ │┃ ┍╅╆┓ ╵ ╹ ┗┷┛ └┸┘ ▌ ╱╲╱╲╳╳╳ ╠╡ ╳ ╞╣ ├╢ ╟┤ ├┼─┼─┼┤ ├╫─╂─╫┤ ┣┿╾┼╼┿┫ ┕┛┖┚ ┌┄┄┐ ╎ ┏┅┅┓ ┋ ▍ ╲╱╲╱╳╳╳ ║│╱ ╲│║ │║ ║│ ││ │ ││ │║ ┃ ║│ ┃│ ╽ │┃ ░░▒▒▓▓██ ┊ ┆ ╎ ╏ ┇ ┋ ▎ ║└─╥─┘║ │╚═╤═╝│ │╘═╪═╛│ │╙─╀─╜│ ┃└─╂─┘┃ ░░▒▒▓▓██ ┊ ┆ ╎ ╏ ┇ ┋ ▏ ╚══╩══╝ └──┴──┘ ╰──┴──╯ ╰──┴──╯ ┗━━┻━━┛ ▗▄▖▛▀▜ └╌╌┘ ╎ ┗╍╍┛ ┋ ▁▂▃▄▅▆▇█ ▝▀▘▙▄▟
asciidoc-py3-9.0.0rc1/tests/data/source-highlight-filter-docbook.xml0000644000175000017500000002556013570064211024731 0ustar josephjoseph
Source Code Highlight Filter The AsciiDoc distribution includes a source filter for highlighting code syntax.
DocBook Outputs AsciiDoc encloses the source code in a DocBook programlisting element and leaves source code highlighting to the DocBook toolchain (dblatex has a particularly nice programlisting highlighter). The DocBook programlisting element is assigned two attributes: The language attribute is set to the AsciiDoc language attribute. The linenumbering attribute is set to the AsciiDoc src_numbered attribute (numbered or unnumbered).
HTML Outputs You have the choice of three HTML source code highlighters, your selection is determined by the source-highlighter attribute (defaults to source-highlight): Set the source-highlighter attribute from the asciidoc(1) command-line or in the document header (not in the document body, because the configuration file conditional macros are processed at load time).
GNU Source Highlight The default highlighter is the GNU source-highlight which can highlight html4, html5 and xhtml11 outputs. The GNU source-highlight must be installed and the source-highlight command must reside in the shell search PATH.
Highlight You can use Highlight syntax highlighter for xhtml11, html5 and html4 outputs (set the source-highlighter attribute to highlighter). The highlight command must reside in the shell search PATH. To make Highlighter your default highlighter put the following line your ~/.asciidoc/asciidoc.conf file: source-highlighter=highlight The AsciiDoc encoding attribute is passed to Highlighter using the --encoding command-line option.
Pygments The Pygments syntax highlighter can be used for xhtml11 and html5 outputs (set the source-highlighter attribute to pygments). The pygmentize command must reside in the shell search PATH. You can customize Pygments CSS styles by editing ./stylesheets/pygments.css. The pygments.css CSS file was generated with: from pygments.formatters import HtmlFormatter print HtmlFormatter().get_style_defs('.highlight') To make Pygments your default highlighter put the following line your ~/.asciidoc/asciidoc.conf file: source-highlighter=pygments The AsciiDoc encoding attribute is passed to Pygments using the -O command-line option.
Block attributes The following attributes can be included in source code block attribute lists. style and language are mandatory. style, language and src_numbered are the first three positional attributes in that order. The args attribute allows the inclusion of arbitrary (highlighter dependent) command options. style Set to source. language The source code language name. The language names vary between highlighters — consult the selected highlighter manual. src_numbered Set to numbered to include line numbers. src_tab Set tab size (GNU source-highlight only). args Include this attribute value in the highlighter command-line (HTML outputs) or in the programlisting element (DocBook).
Testing Test the filter by converting the test file to HTML with AsciiDoc: $ asciidoc -v ./filters/source/source-highlight-filter-test.txt $ firefox ./filters/source/source-highlight-filter-test.html &
Examples
Source code paragraphs The source paragraph style will highlight a paragraph of source code. These three code paragraphs: [source,python] if n < 0: print 'Hello World!' :language: python [source] if n < 0: print 'Hello World!' [source,ruby,numbered] [true, false].cycle([0, 1, 2, 3, 4]) do |a, b| puts "#{a.inspect} => #{b.inspect}" Render this highlighted source code: if n < 0: print 'Hello World!' if n < 0: print 'Hello World!' [true, false].cycle([0, 1, 2, 3, 4]) do |a, b| puts "#{a.inspect} => #{b.inspect}"
Unnumbered source code listing This source-highlight filtered block: [source,python] --------------------------------------------------------------------- ''' A multi-line comment.''' def sub_word(mo): ''' Single line comment.''' word = mo.group('word') # Inline comment if word in keywords[language]: return quote + word + quote else: return word --------------------------------------------------------------------- Renders this highlighted source code: ''' A multi-line comment.''' def sub_word(mo): ''' Single line comment.''' word = mo.group('word') # Inline comment if word in keywords[language]: return quote + word + quote else: return word
Numbered source code listing with callouts This source-highlight filtered block: [source,ruby,numbered] --------------------------------------------------------------------- # # Useful Ruby base class extensions. # class Array # Execute a block passing it corresponding items in # +self+ and +other_array+. # If self has less items than other_array it is repeated. def cycle(other_array) # :yields: item, other_item other_array.each_with_index do |item, index| yield(self[index % self.length], item) end end end if $0 == __FILE__ # <1> # Array#cycle test # true => 0 # false => 1 # true => 2 # false => 3 # true => 4 puts 'Array#cycle test' # <2> [true, false].cycle([0, 1, 2, 3, 4]) do |a, b| puts "#{a.inspect} => #{b.inspect}" end end --------------------------------------------------------------------- <1> First callout. <2> Second callout. Renders this highlighted source code: # # Useful Ruby base class extensions. # class Array # Execute a block passing it corresponding items in # +self+ and +other_array+. # If self has less items than other_array it is repeated. def cycle(other_array) # :yields: item, other_item other_array.each_with_index do |item, index| yield(self[index % self.length], item) end end end if $0 == __FILE__ # # Array#cycle test # true => 0 # false => 1 # true => 2 # false => 3 # true => 4 puts 'Array#cycle test' # [true, false].cycle([0, 1, 2, 3, 4]) do |a, b| puts "#{a.inspect} => #{b.inspect}" end end First callout. Second callout. If the source language attribute has been set (using an AttributeEntry or from the command-line) you don’t have to specify it in each source code block. You should place callout markers inside source code comments to ensure they are not misinterpreted and mangled by the highlighter.
asciidoc-py3-9.0.0rc1/tests/data/graphviz1.png0000644000175000017500000002467013570064211020463 0ustar josephjosephPNG  IHDR;RQ@bKGD IDATxyTTG 4K7 ".QPQh@јhqpI45c8q2jޘQYYJա Zj!/d2( ( 8;;ٹO}μZ-_Bܼy(//GII ʄ555Phhh0[[[( T*  OOO666&"7illD~~> QRRr yUUUjS)NRJ///!{zz nnnC`` LCQQQ塨7n@AAPVVJvKZ#www "$$*[258ڼ999˗|ƍBemm-;݅jP(BP( aoo\.ggg[[[scc#MMMESS4Њh4h4* eee(..>jVVVB@@` <[61FVV._|!//B D. CC^3T*T*ֲ$ [goe+窪*h4!WWW 2({xxDXXBBBhoThZ?iii@NN233QZZ NKKh]h5ppphԲnY6z4j@ee%q W\\,B(}q%ŋDvv6 acc ުꉔ(((*!yyyz*!HbСDHHa }|2pydee!++ \ 򯟟\\\,} RUU&+W#44Æ z/III8qp9466BR!,, C ʴZ7t(,,Dvv6233,ddd@#F@TTƏ6^3ӳ̻'ODjj*p@.cȐ! mzZm[tvPi2WCCJ%FHDEEaܸql.RQQ!lHMMEee%d2„nh 0֖mz= Kff𷡡@TTPYZH Z-~g$&&8<0rHDEE!224hPt:dgg ti\p0j("66&L0iYuN:'N 11鰲 A0j(ahm܌\={VԄ`ʔ)BrE:%K 44TMNcrr2?Ϗ˗s6|W@/Ç,999\nGItrr>_,..>Gyy9.\'--PWW۷3""8dnڴׯ_õkrsǎllln̼ a08`X)))JVܰaǏODB///XB,ܺjsʔ)H$߿?{9&$$1NcJJ W^`d6l2K땨jn޼^^^匋ÇrRRRGqͬ׼Z-[N0|7ѝɈ< |7K;v,Esޞ|gO?QYZC^cǸpB* rΛ7'O^A}}=ׯ_O*J,))^Gaa!?Ύܲe ZF=Vi&S*2..f{8:?yd2pƍ⣌.ȩSO?%bZͯG&>ܿz4BBBkۖ)))믿N\P&&&>Htf޵\n+V0//A|רT*RvZjKq$%%122̓8z(|IJ$qc())3(HOϳM+WSO߱~?tJ%򗿈5>BUUׯ_O'''zzz/{PH^|s!N>$\pqqqX^xҒ,ʁƠ ϖ9pˣGnޙ5,Y">飔sJ>|8WKKZk׮ CYZH7s1L[r%--ɬzYgMM%=4ܺuf͢5׿˩]7o^1cx…{W*ĉ)DZcήPt:KT*6dZ-.\HL󟖖вi&ZYYW_cZ̙3)JvZ{hnn)P JHHx r;t ;vXZIinn9sXZCϮ]hcc t;7[n1**F)/2%%UUUlhh`~~>w%iFiJM&L LGy,,,ng۶mի6w9*wc,uZy^۷oÜ={6pѢElhh0nSqFJ$~ᇖ|H$MFWEcոU :!1bD-7_ED~`ͻ&Mbpp0_]|xa8yʼǍqƙ$=ztZ%%%R+nC3 O<`zX(uׯ_O|SEغu+% ,-(**B[oet,e!!!h{exxx4o\l42[o֖Ν3dffʊf4ӧ*\|\rt O>iyۉ9r$sssgFcIOL9Zh9`?_~pA`;rVnwSSSCOOOXXٳMK.%ٳ,u7yw}GD”KK!I>:t… k ~??IǏ'~Wfp?t;ͨ42443f̰1cpĈܴio޼rrr(H{n[200},o>SX&۷S*}7Yfqfk^ p?LpΙ3NNNmÇs̙trr\.#wu_ff&MFRI>2zNaa!z)* g[ڍ.]*~z0ilo~fllPT*D"ѣuN_HGTʝ;wI$TKw4~ʕ \.g~8vX<}tN{{{r4K.Sp]cYO ZR\\%Kۛ2\ti z СCgϚ5]cxxxieeG}_|Eu]^^^fYxRMyn YnFR4z:99q˖-nkeeed'bcccy t={6YPPXhw C|ƍǩVHv }Yfee ,h7 OSt׭[&|W }G@D]vuu  m$P3۶mkwfg1..NV@5kph4llldNN򛁚FDDPTr,))Zfrr2lԨA̻hgg'+../x+k0!!!ucy6kkkZ[[S*g|||bbb,2*22M[`7lёڌBqF1cF%/Rl I6lqU`\rEEE0D"mW[[ {{. J[nFUUT*ƍ񁧧'n޼&|MM J%@zU111HNNƆ zj~~ {z[ѣGΝ;t1tP̚5id4T*N=p!XjT!33SNEaa!)))8q"QPP؋/ 닩Sbԩ={6lllp(,,D~~>;b,u:˗yyy0`pq xyy a 7Ν;xb|7e˖pRpttČ3 gΜQL<0(//Ǒ#GP[[?8w_gv5]SqaL:prrjyf*ڵk^\hp޽E-ocTVVr͚5 B~CWT*Rxc677sgkAǏؼڱcL):O&q֭f^}Nuݻ9w\:;; Z d^og; ?/Jfzᾒd} `5"W呮p-1L[fDDDztMڵkwjmyfGqYܹs; ޗlx;MYr===~G l۶}'Nn8cqt:> *//o|sdܰץw}l: I3xok4Ncǎqڴipᘏtyj)0rL///7Z5W} O?eܰd2J$:88pܹs'`aÆ{Ϟ=H$UbۚѣG9Iy ?@ss}a@\~G־}Z왷xc׮]2<}t޽=EEEM wȨ"ra+BܴiSO:ŨVۼ׭[G|[7L {p}lٲs /0::鶇1n9'/tzvxIw̛${=Tv=yN5FߟIEݍNoAL+V0==gvv6?xر 6N֬YJ޾}[Q5}tPVȑ#pxڣAAAC^;v pc.6mDGGGa%iiކQQQܼyމ;vƦ)eŌ3:-@ +ӦMcFFXRR5kz)!\ee%¨T* #:`&&&JA[׳FĿKmKJJjᾺ{^JltҼ[Ϊf||DZ]zy?H6{O?t{ڟ?N15ϟҥK9h :88P&3f W\fjwSZZ{nnnaXX=ǰ///3fyO>Vn{t3Uvֶ,>>>=fLK5jlNϫWZer-ɓ'wyq L&Jk=֖UUU&֕2փ{(k:оy߾}|gL&'cNͼKtvvAO>>^znݺ2"/dffޞ󎥥_7n*++ķ~DD_~m_<))ܶmPDҨuIۻ5k}}}Ԃy89zh655YZNi&je\xRwʷݒw}~!v܉y ܾ1o<ƍ--۸}6Fooo8pΖ$bA0g={Ν%u Zׯ9jˣh0aĉEy-\jC&[d2.]{z3׮]c`` CCC"} Z͘ׯglT>־^y?-y(HꫯEDGSS|MZYYqf}mgpp0d-1:t(}Q_5׬YӧނNehccӕ75vͼIrΝtttaxS)ҫaDD[ZY(--i(ɸ~> ^ϭ[Ύƍc~~%xJR.^,oiֶ㈺n.q֖}kHߡ֭=###kiIfE?\.㙖fiI"&"33ڵk9K~s=f*裏RRzU'ܛywٸq#U*===_>^Ν;KR>ό~W?VVV\`A=Ez/n)J9rȇv/€zzziسg]\\ .˩n˅LƯ͊J" VoᴶK/cp[^]vߟ|,U*{(--[oE'''TUUw/zHR\\xY@vv6{9d2z{{>2="OMM ߟRO?8uuuFooopm.sr _~eՕѥDVvIOOOj aIDAT>w#MMMܸq# d{'%<<[l^σ2..rJ-brrXq :'OLTʙ3grϞ=r^T*L\tjnٲ>>>\l #7dddpժU"U"@fP^!!!@WWW\)nݺ-[0<<ؿ.\c]]yy!.]T(sBBB׿U\pv.]J\NJ˗cIMMŋP(hooW^yEEEݙDˣvzNBBB݋K.Ftt4L-!??HNNÇQRR ̚5 O=&LkkkK\|{޽{qi!&&'OFLL Œ-{(rdgg#)) III8r1j(̞=gFXX%)nݺxl߾¼y0w\XZEtvލ8<%K`prrnż&'' 8rN8Z!::&MBdd$,LAZZ;dƍɓ1sL HHHO?pss1cLfi=N,>}GERRn޼ GGGL8SNŬYgi}8z(v؁};w.q >WNu:qA޽.\~رcMe̻%MMMHMMERRqi#GDDD"##1b 8RԒr-Jss3]s!-- gΜAzz:j5lmm%d3rҒEB_ZǏZH9|h ]ի8wRSStcƌALL bbbP F")) ?P^^WWWL<SLI0p@K|`H"77?3 xzzbΜ9o'iyfdff"--M222jaccGyC A! mh4#77YYYDvv6rrrTPDFF rzdgg y=55ϟo„KK논/";;hllzTTP ͺqy$&&"11ǏG]]\\\0** Æ $ qHMMEuu5 &M)S`ʔ)y Bvv`dvt:_~G@@puuo+ɲ2%%%(((@~~+++"44UeȐ!𕈘Fdee ,ddd //zꊀa󃷷===T*-z(..FYYpM\~VRRkx0d![:DF#55Uخ\pttDHH 0y (,,ב'Lnn.4 $ y1zhR0oc466իBA PVV&v WWW8::BP@PYTڪ h4jjzC@V 555(//GYYY$ ת@ 0@4iz\zyyyB7uܺuUx;;;ҪRM+K+7De-"""""ː"DDDDDDDL(IENDB`asciidoc-py3-9.0.0rc1/tests/data/lang-ru-book-test-docbook5.xml0000644000175000017500000000756213570064211023542 0ustar josephjoseph Languages Test 2003-12-21 v1.02003-12-21 Посвящение Dedication special section. Введение Preface special section. Колофон Colophon special section. The First Section
Admonishments Do not translate in the source file — they are translated to the output file Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum.
Tiger Tiger image
Followed by an example table: Table Option Description -a USER GROUP Add USER to GROUP. -R GROUP Disables access to GROUP.
And now for something completely different: monkeysmonkeys, lions and tigers.
Example Appendix Appendix special section. Библиография Bibliography special section. [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9. [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7. Словарь терминов Glossary special section. A glossary term The corresponding (indented) definition. A second glossary term The corresponding (indented) definition. Предметный указатель
asciidoc-py3-9.0.0rc1/tests/data/lang-sv-book-test-xhtml11.html0000644000175000017500000004657613570064211023511 0ustar josephjoseph Languages Test

Dedikation

Dedication special section.

Förord

Preface special section.

Kolofon

Colophon special section.

The First Section

Admonishments

Do not translate in the source file — they are translated to the output file

Not
Lorum ipsum.
Tips
Lorum ipsum.
Varning
Lorum ipsum.
Varning
Lorum ipsum.
Viktigt
Lorum ipsum.
Tiger image
Figur 1. Tiger

Followed by an example table:

Tabell 1. Table
Option Description

-a USER GROUP

Add USER to GROUP.

-R GROUP

Disables access to GROUP.

And now for something completely different: monkeys, lions and tigers.

Appendix A: Exempel-appendix

Appendix special section.

Referenser

Bibliography special section.

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.

Ordlista

Glossary special section.

A glossary term

The corresponding (indented) definition.

A second glossary term

The corresponding (indented) definition.


asciidoc-py3-9.0.0rc1/tests/data/lang-ja-article-test-docbook5.xml0000644000175000017500000000663613570064211024200 0ustar josephjoseph
Languages Test 2003-12-21 v1.02003-12-21 概要セクション
第一セクション
警告 以下は処理系が翻訳するのでこのソースでは翻訳しない。 Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum.
Tiger 虎の絵
続いて表の例。 Table オプション 説明 -a USER GROUP USERGROUP に追加する -R GROUP GROUP へのアクセスを禁止する
そしてまったく異なるものの例: 猿、ライオン、虎。
付録の例 付録セクション 参考文献 参考文献セクション [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9. [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7. 用語集 用語集セクション 用語 (インデントされた)用語の定義 別の用語 (インデントされた)用語の定義 索引
asciidoc-py3-9.0.0rc1/tests/data/lang-en-book-test-xhtml11.html0000644000175000017500000004657413570064211023461 0ustar josephjoseph Languages Test

Dedication

Dedication special section.

Preface

Preface special section.

Colophon

Colophon special section.

The First Section

Admonishments

Do not translate in the source file — they are translated to the output file

Note
Lorum ipsum.
Tip
Lorum ipsum.
Warning
Lorum ipsum.
Caution
Lorum ipsum.
Important
Lorum ipsum.
Tiger image
Figure 1. Tiger

Followed by an example table:

Table 1. Table
Option Description

-a USER GROUP

Add USER to GROUP.

-R GROUP

Disables access to GROUP.

And now for something completely different: monkeys, lions and tigers.

Appendix A: Example Appendix

Appendix special section.

Bibliography

Bibliography special section.

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.

Glossary

Glossary special section.

A glossary term

The corresponding (indented) definition.

A second glossary term

The corresponding (indented) definition.


asciidoc-py3-9.0.0rc1/tests/data/testcases-docbook5.xml0000644000175000017500000010010213570064211022246 0ustar josephjoseph
Test <emphasis>Cases</emphasis> Joe Bloggs JB
Passthrough attributes *lorum ipsum* <emphasis>*lorum ipsum*</emphasis>
Author attributes {eval:expression}, {sys:command} and {sys2:command}, {counter:c1} Hello Joe Bloggs (Joe Bloggs, JB). first name or last name or surname. first name and last name.
System attributes 1 99 A 1 = 1, 99 = 99, A = A 2 100 B 2 100 B 2 = 2, 100 = 100, B = B y: Foobar 3, 7 3, 3
Quoted text attributes A=X, (X), X, [X] X A=X, (_X_), X, [X] X X [*X*] +X+ intro intro fun with text. fun with text. fun with text. fun with text. fun with text. “fun with text”. ‘fun with text’. fun with text. fun with text. Obvious and very obvious. Underline text, overline text and line-through text. Testing 123 … (“+1\n+”) if (usually “+-1\n+”) (“1\n”) if (usually “-1\n”) (‘Joe Bloggs’) and ‘Joe Bloggs’
Configuration attribute entries term definition term definition
role attribute Paragraph with a role attribute. first second third
Break list nesting List 1. List 1. List 2. List 2.
Listing Blocks $ ls -al [subs="quotes"] ------------------------------------------ $ ls *-al* ------------------------------------------ Listing $ ls -al Listing example $ ls -al Python paragraph if n < 0: print 'Hello World!' Titled Python listing if n < 0: print 'Hello World!' Python listing example if n < 0: print 'Hello World!'
Links An inline anchor. An inline anchor with reftext. ; captioned link to this test case. link to inline anchor; captioned link to inline anchor. Link to anchor. An example link to a bibliography entry . [Test::Unit] http://ruby-doc.org/stdlib/libdoc/test/unit/rdoc/classes/Test/Unit.html
Titles Level 4 Level 3 Level 2 Level 1 Level 4 Level 3 Level 2 Level 1 Block titleLorum ipsum.
Lists Bulleted: item text item text item text item text item text item text Numbered: arabic (decimal) numbering loweralpha numbering upperalpha numbering lowerroman numbering upperroman numbering arabic (decimal) numbering loweralpha numbering lowerroman numbering upperalpha numbering upperroman numbering Labeled: label item text label item text label item text label item text With item anchor: one Item one. two Item two. three Item three.
Inline passthroughs Test `ABC`. Test ABC. The ++i and ++j auto-increments. Paths ~/.vim and ~/docs. The __init__ method. The {id} attribute. List start number test: List item 7. List item 8.
Images
Block images
Tyger tyger Tyger tyger
Tyger tyger two Tiger
music2.png Lorum ipsum.
Inline images Inline image smallnew.png Inline image NEW! Inline image NEW!
Admonishments Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum.
Backslash escapes ApostropheDon’t vs don't. ExceptionsThere are a number of exceptions to the usual single backslash rule — mostly relating to URL macros that have two syntaxes or quoting ambiguity. Here are some non-standard escape examples: AsciiDoc Renders \joe.bloggs@example.com <\joe.bloggs@example.com> \mailto:[\joe.bloggs@example.com] joe.bloggs@example.com <joe.bloggs@example.com> mailto:[joe.bloggs@example.com] \http://www.example.com \\http://www.example.com[] \\http://www.example.com[Foobar Limited] http://www.example.com http://www.example.com[] http://www.example.com[Foobar Limited] A C\++ Library for C++ \\``double-quotes'' \*\*F**ile Open\... A C++ Library for C++ ``double-quotes'' **F**ile Open...
Paragraphs Normal paragraphThis is a bold a line This is a strong line This is another strong line Literal paragraph This is a *bold* a line This is a 'strong' line This is another _strong_ line
Verse paragraph This is a bold a line This is a strong line This is another strong line
Indented (literal) paragraph This is a *bold* a line This is a 'strong' line This is another _strong_ line Indented with quotes substitution This is a bold a line This is a strong line This is another strong line Literal paragraph with quotes substitution This is a bold a line This is a strong line This is another strong line Literal block with quotes substitution This is a bold a line This is a strong line This is another strong line
William Blake from Auguries of Innocence To see a world in a grain of sand, And a heaven in a wild flower, Hold infinity in the palm of your hand, And eternity in an hour.
Bertrand Russell The World of Mathematics (1956) A good notation has subtlety and suggestiveness which at times makes it almost seem like a live teacher.
URLs
Mail Addresses joe_bloggs@mail_server.com_ joe-bloggs@mail-server.com. joe-bloggs@mail-server.com,joe-bloggs@mail-server.com, Mail Mail Mail joe.bloggs@mail.server.com lorum ipsum.
Comments Qui in magna commodo, est labitur dolorum an. Est ne magna primis. adolescens. Sit munere ponderum dignissim et. Minim luptatum et. This comment line will be displayed in the output. Qui in magna commodo, est labitur dolorum an. Est ne magna primis. Visible inline comment line. adolescens. Sit munere ponderum dignissim et. Minim luptatum et. Block titleLorum ipsum. Block titleLorum ipsum.
List of terms Using positional attribute to specify section template. A glossary term The corresponding (indented) definition. A second glossary term The corresponding (indented) definition. List of terms Using named template attribute to specify section template. A glossary term The corresponding (indented) definition. A second glossary term The corresponding (indented) definition.
Index Terms Test 1 test1test1. Test 2 test2 . Test 3 test3secondary secondary . Test 4 test4secondarytertiary secondarytertiary tertiary . Test 5 test5test5. Test 6 test6 . Test 7 test7secondary secondary . Test 8 test8secondarytertiary secondarytertiary tertiary . Multi-passthough substitution (see http://groups.google.com/group/asciidoc/browse_frm/thread/1269dc2feb1a482c) foofoo foobar bar foobartwo bartwo two
Table with fractional column width units pagewidth and pageunits only apply to DocBook outputs. Horizontal and vertical source data Date Duration Avg HR Notes 22-Aug-08 10:24 157 Worked out MSHR (max sustainable heart rate) by going hard for this interval. 22-Aug-08 23:03 152 Back-to-back with previous interval. 24-Aug-08 40:00 145 Moderately hard interspersed with 3x 3min intervals (2min hard + 1min really hard taking the HR up to 160).
Table with parent configuration file and header attribute entry Attribute entry from header: TEST_ATTRIBUTE Replacement from testcases.conf configuration file: TEST_REPLACEMENT
Table column specifiers with merged cells See http://groups.google.com/group/asciidoc/browse_thread/thread/c9238380a1f2507a 1- A 2- B i- a ii- b Values 1 v1 v2 v3 Values 2 v4 v5 v6
Floating tables and images Simple table 1 2 A 3 4 B 5 6 C
Tiger Tiger image
Section level offsets At level 1
Section title At level 2
Section title At level 2
Section title At level 3
Section level offsets At level 1
Single-quoted attributes
Samuel Johnson Sir, a woman’s preaching is like a dog’s walking on his hind legs. It is not done well; but you are surprised to find it done at all.
Samuel Johnson Sir, a woman’s preaching is like a dog’s walking on his hind legs. It is not done well; but you are surprised to find it done at all.
Footnotes Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel. footnote one. Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel. Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel. Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel. footnote two. Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel. Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel . Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel. http://asciidoc.org/ Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel images/smallnew.png Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel. http://asciidoc.org/ Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel AsciiDoc website.. Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et A footnote, "with an image" images/smallnew.png . With [square brackets] Qui in magna commodo, est labitur dolorum an. Est ne magna primis.
Rulers and page breaks Lorum ipsum… Lorum ipsum… Lorum ipsum…
这是一个测试 Double-with character titles. link to auto-generated section ID.
Block macros RS458 is 2.
Template line 1. Template line 2.
àn îd without accénts Lorum ipsum…
àn îd with accénts Lorum ipsum…
Inline macros A URL with [square brackets].
asciidoc-py3-9.0.0rc1/tests/data/music1.png0000644000175000017500000003001513570064211017737 0ustar josephjosephPNG  IHDR N/IDATx}ͪ8׮RvWћ§a!Aġ E8=j>L֨!wQInÃJ|3,e[ٻ@*]Zcy,*9!@ fYo@HV.Na>Z O0?A'M!>7e|S D6.o=iUF*LW23E)D, =o~ObGG7iwPtM˱P/A0)|ߒq_N3i_5nSF+&ܧ96ݟqpˆڎ `7^GB}sr\:6aᷦ'b;#$~f~zS]> cTp󰟹̚64JQ~f~u,zY LB/(kSZwl؇2J`%+E3^)n6=XȈX2Ϯ '߄ Ί[0nt\t+H<f)>Œ1f5۰c5~?~kr8 J^R*Y>6VdY??F !pww@30L.En[E~"p?VpU\-\&u'C4@bɩl^Bvp0 Sl 7-s P,mnbJ\Te}Z{Z}QY௼.oϨ-j>/+F8i<W:@t2p?cZ e gtuU ,kZ=8 +*]GBWܽ&nIA}/ў_lAlߚur}Cy,gE͎G!1n4?t~~Hiv? }¹O=? n4ܯrJǕֲ~RP5\32 @BWUfk aF1QE[˪q74Ƅԛ,&dƲYlS~@K<;N x&[E~"p?ʑ!p?ʱo'*ټz&rVp\;bo+y^NJ./Y9oH@~/h-}>툀J1[?唳n8LRes?ЛGhVqO"ct"WP#AT8wi,%>}܍.8y^"2A t?ū `*Sq?%hb ijU |z6- 9i+>4K5BQ$f)vICElA0NK6?~`oB] db,hl)UqC= l% D~E[fǴm*zQB#OSq?g [\sJlw5pl|h /%IQw l% Dt2n'o_c[O/7hTbI*Di;8=xHZtVs6Qdu-Pu* ̐~^QБm:S[^lFl_`M4rIFdw5S٤%J茶w5wslئ#cJ&a"}GgNI/ܗvC-ͅX̀<}^n@qI<)'FIv9(4\1;8sJr /ܗvCM*K6J͆Æ>)iEU@/+FB}-i B i9q3p% Z%tLU] c~:@Cf MIX:&j08Vi9p;p% j<hsr=giUt{}: Qj s% Sh_-=]ޡ;!?ЅLW#9Nq]2 ~8fsw6ʗLoZ٠%hzAN ңfE}/PgkY#PeScZtLK v͠/;~So}II6d L$6Bd;$Ek=i/1a~J*ޒi_W {o:.=}v79FBʼ2ܧU5<5bT;~rkK+3T ,/cߴ~z"͵c?or~i.Ϋ.0EQ.yUnnadcOa#y NvҠsIhǍvʼII|n&6cQ V촴AIu2qZ99dv!vo$Bг)1p]#:pnŹZbAM3 xE- x6e~F!-mx _w)`7M,;QpFƙ#ʧC>0 ;R zmעc[eb|s@5#p?VpU*n[E~"p?Vp@? X`>z=9{@Ѯ ,<\l@H\`ŏSW7p? gVHL`îv\Y ;JżZ!#D>[PJpgץ]D~ Gɶ{GBnz &X" ꖟ㨦>(S5\@~%?o#%ԴV`Nb}upBBOiWpYN@??J ݗ-7џ\P:c{^c2< gǫߢ4 c,'֞gé]83㓖{ŏ7|u,0˫(BhoFоܳi)۲ݟl>"΋'ɺ-&'CF IU`{w@=Qaށ@.cuZmL&N#'ؽ& - Bɻy5 ^cr^ (~}لU+=N0W}4q1~3b.A!Y² u5ьu8_qʢC!O!O; ݿF dYsxل9' ,ފ~1 BlT xڄO;];{>u t=wRl)6szs," &?q1@$.W_]I_u>j72 ۊKgL:ౙ SGDҬ| |'Eo}<=~b%O4!&WYJS@܏pM ]R{~7wQM9}~uPIitjݿ4>E{[iSy`/ꗯtYV8Z< }1 YSH>a' 6'?~٢uepnO$߯'ʟ4{HF:">oDЖ Ͱ:$MQBB=Xe4N-{?Lny_"&&;x-wAK̿|ir oroi 1`Dx t 92tM]㽪8G==,I L]C6mޏIa6lՔ@F0Zfx #Y80hE֣) ulpZ^ŨaicN٦ "lvET.~/&RM?CMqZO uN;+F`ZK 0vie/W_LVlUK/^w GS`~N1}$tIB?k>~U'hZQyz3MJkPmr_07r/fQWx(4Z_Իǩ+Kzqta"Ś4wn/>qVsc1q75ժ6M 븿zе"2y̪nP~"Hr<߂4qV^'#u~c(g9hfk7 ]yc/KK) /mVrN~>#[tϧqve¨"6eyp0`Rϊ#m|%+pp4 *J[3Es«mp)E1=&o' `dD+(ڍ&!ȜrFS+MA3q?vVC=T NF v8ݯ-x[@_jV_Q>&H2S$IljUvlnlɮ}pKD8uΓJ;*M'ޯl/csKkb2nj=ގ K4[j 񈜸?5pK49]gO&s}id 5Ib`{e/iQ}Y8?܏)bu?5m[>L(,H}7B ivcRQ13Sq%]:p#qjИr3N%˙Q7clK4KJtYrr=l )tڦHsY'{l m?R+-?}hωglO[g9tYos!uI~VFR&9kfiKk G0)Q~"Re4HOl%8 2s93Ir3krnjWyJK'7B*>G]oܬv4m6GIU?Q+>l_iQrɮ#ܗkIcҊ٨lƻ=MO5}!ܗF 8pN6ҊNu&A .*t(X \~Q^3 M>^{Hs#u$}ZF6]%kO WʎL<te\gJK3DgͺI;94O+]pk`J!M΃[x?SE_ךŪD;?`I/]ƃdц:o\) \\1Ɏl\_K85 j7>f7۱8T{asE#Hikc!~j0UbZlhl\(sF*v/x(Zy-$mv?s\' Xcv_m_Zs}SɮW/e4JTD}Zh7\'#%2;!GIwzw͘:PT\,[V""q_^1Q8JU]U=^g?P/R *adqrq[QEU=BW;/X}sep~UbH.x~}7Gh}ײH=e#ωsQFJ=SQ^V^%8-4Ng' ֱPBl4kE >8OTd=Qt'jrSjlyd ' i<O+vvsp^8yl_bU9^l'o%%sb+޾D5y=HB܇n -U"DYzl_.FIpE| ;OXH~b![ͺ&SFQ4ɷf=u-Ch_c'/ƹߢx=|5:S _.W~HkIۗȼ q?ܿ\.%}L^N[Ƃ=jt |18h%M_|$,.F87 Xbĉ1ͥ5'~c://uK8Q歝^k>Yl: Lwgb )ٹ,41,# xb<8 U*n[E~"p?VpU*n[E~"p?VpU*g" gb.rO3Q -°SC\<ɯq-炐3)!p.?]'@u_\:rF՞'8jw_OrO襽x yeL]7ϧ^ua=d a[|q? à?ʯ[DE񫄞oǀ"#_: O qEKx(rJ y!>ӾA4C$7p_WaOA1~>K$+e ^uΓ==S|ܯoָ Y ޝ|'Dhb {G{ ÓwjBQUS?\sA .oQ(J٢ڝ1%b)>i|zGfWCq}>}Hu<BI F{B~ޗf Tn~S_MxKqhb~4Sl/`nR/>Q4! =bl:j/͢.&+%PS\G0DWEl`3+^A0>%&[q`w6s>›kdC^YrWw?dc=!`G+oe0q_!Zܪ/T3?}<~Չb>>h?ݎݹ?g1h/|ŝhT{hP0q_.ZwYD0Q)FSm~'W:Qg3lO׮2` f`tb)dȩj-PЄEUu¤ҋjv߀=xېcwvg8(-SiNW7B SߜCnQ"QރczƱpDGrXyq ;F=5y5Vdd)Y=葍NBg9,LJ&>%;;nJƚ5^TmG=RI>1 "M{`XCUA~|,*vr0<@ҟ'[gGQсn}WEFg-*r4˞m[W.Fت7Yz~5H?v .XW9Pޟ@8A~gsų&-*㾽s_yl_aTpbRwKOc jA-(u>1'5Mm Z)1l=)8z^Ma畡h NW5EC*Mgo2^ss8wrk8pe~jOtZ\L4x)ߧhm' "i۠iizzTy%-*k;$}?asl@&Pompݮ/~=YNM9y.U"Y xnvKq:vᾬғṗk_YQavߚMrs'S2x g4вvKq_^/KO}Ϙ|?JݍOe}uHqGLFz6 % xȌ>]͛yo|Z{riJ*5Nc5F$hES%dB."h̖QOɝTD&kPIdq3!Wmi%MͶckQoLH(Aa GEv l4w >cw՝l=Lhe6|NC&t:#p,Z#J`q3!3G0%;?A6 /כ .- :`s)|< aYɕ3 `A7$#IIENDB`asciidoc-py3-9.0.0rc1/tests/data/open-block-test.txt0000644000175000017500000000263013570064211021601 0ustar josephjoseph= Additional Open Block and Paragraph styles [comment] Lorum ipsum... [comment] -- Lorum ipsum... -- [example] Lorum ipsum... [example] -- Lorum ipsum... Lorum ipsum... -- [sidebar] Lorum ipsum... [sidebar] .A title -- Lorum ipsum... Lorum ipsum... -- [NOTE] -- Lorum ipsum... Lorum ipsum... -- [CAUTION] -- Lorum ipsum... Lorum ipsum... -- [IMPORTANT] -- Lorum ipsum... Lorum ipsum... -- [WARNING] -- Lorum ipsum... Lorum ipsum... -- [TIP] -- Lorum ipsum... Lorum ipsum... -- [quote, Sir Arthur Conan Doyle, The Adventures of Sherlock Holmes] -- As he spoke there was the sharp sound of horses' hoofs and grating wheels against the curb, followed by a sharp pull at the bell. Holmes whistled. "A pair, by the sound," said he. "Yes," he continued, glancing out of the window. "A nice little brougham and a pair of beauties. A hundred and fifty guineas apiece. There's money in this case, Watson, if there is nothing else." -- [verse, William Blake, from Auguries of Innocence] -- To see a world in a grain of sand, And a heaven in a wild flower, Hold infinity in the palm of your hand, And eternity in an hour. -- [source,python] -- y = 15 if y == 24: x = 42 -- [latex] -- $y = \int_0^\infty \gamma^2 \cos(x) dx$ -- [graphviz] -- digraph G { rankdir=LR; Graphviz->AsciiDoc->HTML} -- [music] -- \version "2.10.0" \paper { ragged-right = ##t } { \time 3/4 \clef bass c2 e4 g2. f4 e d c2 r4 } -- asciidoc-py3-9.0.0rc1/tests/data/lang-en-book-test-html4.html0000644000175000017500000000657513570064211023210 0ustar josephjoseph Languages Test

Languages Test

version v1.0, 2003-12-21


Dedication

Dedication special section.


Preface

Preface special section.


Colophon

Colophon special section.


The First Section

Admonishments

Do not translate in the source file — they are translated to the output file

Note

Lorum ipsum.

Tip

Lorum ipsum.

Warning

Lorum ipsum.

Caution

Lorum ipsum.

Important

Lorum ipsum.
Tiger image

Figure 1. Tiger

Followed by an example table:

Option Description

-a USER GROUP

Add USER to GROUP.

-R GROUP

Disables access to GROUP.

Table 1. Table

And now for something completely different: monkeys, lions and tigers.


Appendix A: Example Appendix

Appendix special section.


Bibliography

Bibliography special section.

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.


Glossary

Glossary special section.

A glossary term

The corresponding (indented) definition.

A second glossary term

The corresponding (indented) definition.


Version v1.0
Last updated 2002-11-25 00:37:42 UTC

asciidoc-py3-9.0.0rc1/tests/data/lang-es-article-test-xhtml11.html0000644000175000017500000004612213570064211024144 0ustar josephjoseph Languages Test

Resumen

Abstract special section.

The First Section

Admonishments

Do not translate in the source file — they are translated to the output file

Nota
Lorum ipsum.
Sugerencia
Lorum ipsum.
Aviso
Lorum ipsum.
Atención
Lorum ipsum.
Importante
Lorum ipsum.
Tiger image
Figura 1. Tiger

Followed by an example table:

Tabla 1. Table
Option Description

-a USER GROUP

Add USER to GROUP.

-R GROUP

Disables access to GROUP.

And now for something completely different: monkeys, lions and tigers.

Apéndice A: Example Appendix

Appendix special section.

Bibliografía

Bibliography special section.

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.

Glosario

Glossary special section.

A glossary term

The corresponding (indented) definition.

A second glossary term

The corresponding (indented) definition.


asciidoc-py3-9.0.0rc1/tests/data/asciimathml-html5.html0000644000175000017500000016747413570064211022264 0ustar josephjoseph ASCIIMathML Formulae

ASCIIMathML is a clever JavaScript written by Peter Jipsen that dynamically transforms mathematical formulae written in a wiki-like plain text markup to MathML markup which is displayed as standard mathematical notation by the Web Browser. See Appendix E in the AsciiDoc User Guide for more details.

The AsciiDoc xhtml11 backend supports ASCIIMathML — it links the ASCIIMathML script and escapes ASCIIMathML delimiters and special characters to yield valid XHTML. To use ASCIIMathML:

  1. Include the -a asciimath command-line option when you run asciidoc(1).

  2. Enclose ASCIIMathML formulas inside math or double-dollar passthroughs or in math passthrough blocks.

Here’s the AsciiDoc source that generated this page.

NOTE
  • When you use the asciimath:[] inline macro you need to escape ] characters in the formulas with a backslash, escaping is unnecessary if you use the double-dollar macro (for examples see the second formula below).

  • See the ASCIIMathML website for ASCIIMathML documentation and the latest version.

  • If the formulas don’t appear to be correct you probably need to install the correct math fonts (see the ASCIIMathML website for details).

  • See the LaTeXMathML page if you prefer to use LaTeX math formulas.

A list of example formulas:

  • `[[a,b],[c,d]]((n),(k))`

  • `x/x={(1,if x!=0),(text{undefined},if x=0):}`

  • `d/dxf(x)=lim_(h->0)(f(x+h)-f(x))/h`

  • `sum_(i=1)\^n i=(n(n+1))/2`$ and bold `int_0\^(pi/2) sinx\ dx=1`

  • `(a,b]={x in RR : a < x <= b}`

  • `x^2+y_1+z_12^34`

The first three terms factor to give `(x+b/(2a))^2=(b^2)/(4a^2)-c/a`.

`x+b/(2a)=+-sqrt((b^2)/(4a^2)-c/a)`.

Now we take square roots on both sides and get `x+b/(2a)=+-sqrt((b^2)/(4a^2)-c/a)`. Finally we move the `b/(2a)` to the right and simplify to get the two solutions: `x_(1,2)=(-b+-sqrt(b^2-4ac))/(2a)`.


asciidoc-py3-9.0.0rc1/tests/data/lang-ru-man-test-docbook.xml0000644000175000017500000000210713570064211023264 0ustar josephjoseph ASCIIDOC(1) asciidoc 1     asciidoc converts an AsciiDoc text file to HTML or DocBook asciidoc [OPTIONS] FILE DESCRIPTION The asciidoc(1) command translates the AsciiDoc text file FILE to DocBook or HTML. If FILE is - then the standard input is used. asciidoc-py3-9.0.0rc1/tests/data/lang-fr-book-test-html5.html0000644000175000017500000004646713570064211023222 0ustar josephjoseph Languages Test

Dédicace

Dedication special section.

Préface

Preface special section.

Colophon

Colophon special section.

The First Section

Admonishments

Do not translate in the source file — they are translated to the output file

Note
Lorum ipsum.
Astuce
Lorum ipsum.
Attention
Lorum ipsum.
Avertissement
Lorum ipsum.
Important
Lorum ipsum.
Tiger image
Figure 1. Tiger

Followed by an example table:

Tableau 1. Table
Option Description

-a USER GROUP

Add USER to GROUP.

-R GROUP

Disables access to GROUP.

And now for something completely different: monkeys, lions and tigers.

Appendice A: Example Appendix

Appendix special section.

Bibliographie

Bibliography special section.

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.

Glossaire

Glossary special section.

A glossary term

The corresponding (indented) definition.

A second glossary term

The corresponding (indented) definition.


asciidoc-py3-9.0.0rc1/tests/data/lang-it-book-test-html5.html0000644000175000017500000004645213570064211023221 0ustar josephjoseph Languages Test

Dedica

Dedication special section.

Prefazione

Preface special section.

Colofone

Colophon special section.

The First Section

Admonishments

Do not translate in the source file — they are translated to the output file

Nota
Lorum ipsum.
Suggerimento
Lorum ipsum.
Avvertenza
Lorum ipsum.
Attenzione
Lorum ipsum.
Importante
Lorum ipsum.
Tiger image
Figura 1. Tiger

Followed by an example table:

Tabella 1. Table
Option Description

-a USER GROUP

Add USER to GROUP.

-R GROUP

Disables access to GROUP.

And now for something completely different: monkeys, lions and tigers.

Appendice A: Example Appendix

Appendix special section.

Bibliografia

Bibliography special section.

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.

Glossario

Glossary special section.

A glossary term

The corresponding (indented) definition.

A second glossary term

The corresponding (indented) definition.


asciidoc-py3-9.0.0rc1/tests/data/oldtables-html5.html0000644000175000017500000005416313570064211021730 0ustar josephjoseph AsciiDoc Old Tables

Examples of the AsciiDoc old tables syntax. This syntax was used in AsciiDoc versions up to 8.2.7 and has since been deprecated in favor of the new tables syntax.

Simple table:

1 2
3 4
5 6

Table with title, header and footer:

TableAn example table
Column 1 Column 2
6 Three items
1 Item 1
2 Item 2
3 Item 3

Four columns totaling 15% of the pagewidth, CSV data:

1 2 3 4
a b c d
A B C D

A table with a numeric ruler and externally sourced CSV data:

ID Customer Name Contact Name Customer Address Phone
AROUT Around the Horn Thomas Hardy 120 Hanover Sq.
London
(171) 555-7788
BERGS Berglunds snabbkop Christina Berglund Berguvsvagen 8
Lulea
0921-12 34 65
BLAUS Blauer See Delikatessen Hanna Moos Forsterstr. 57
Mannheim
0621-08460
BLONP Blondel pere et fils Frederique Citeaux 24, place Kleber
Strasbourg
88.60.15.31
BOLID Bolido Comidas preparadas Martin Sommer C/ Araquil, 67
Madrid
(91) 555 22 82
BONAP Bon app' Laurence Lebihan 12, rue des Bouchers
Marseille
91.24.45.40
BOTTM Bottom-Dollar Markets Elizabeth Lincoln 23 Tsawassen Blvd.
Tsawassen
(604) 555-4729
BSBEV B’s Beverages Victoria Ashworth Fauntleroy Circus
London
(171) 555-1212
CACTU Cactus Comidas para llevar Patricio Simpson Cerrito 333
Buenos Aires
(1) 135-5555

asciidoc-py3-9.0.0rc1/tests/data/lang-it-article-test-xhtml11.html0000644000175000017500000004613213570064211024152 0ustar josephjoseph Languages Test

Abstract

Abstract special section.

The First Section

Admonishments

Do not translate in the source file — they are translated to the output file

Nota
Lorum ipsum.
Suggerimento
Lorum ipsum.
Avvertenza
Lorum ipsum.
Attenzione
Lorum ipsum.
Importante
Lorum ipsum.
Tiger image
Figura 1. Tiger

Followed by an example table:

Tabella 1. Table
Option Description

-a USER GROUP

Add USER to GROUP.

-R GROUP

Disables access to GROUP.

And now for something completely different: monkeys, lions and tigers.

Appendice A: Example Appendix

Appendix special section.

Bibliografia

Bibliography special section.

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.

Glossario

Glossary special section.

A glossary term

The corresponding (indented) definition.

A second glossary term

The corresponding (indented) definition.


asciidoc-py3-9.0.0rc1/tests/data/rcs-id-marker-test-html5.html0000644000175000017500000003701013570064211023364 0ustar josephjoseph RCS $Id$ Marker Test

Lorum ipsum…


asciidoc-py3-9.0.0rc1/tests/data/lang-ja-book-test-html4.html0000644000175000017500000000647613570064211023200 0ustar josephjoseph Languages Test

Languages Test

version v1.0, 2003-12-21


献辞

献辞セクション


前書

前書セクション


奥付

奥付セクション


第一セクション

警告

以下は処理系が翻訳するのでこのソースでは翻訳しない。

Lorum ipsum.

補足

Lorum ipsum.

警告

Lorum ipsum.

注意

Lorum ipsum.

重要

Lorum ipsum.
虎の絵

図 1. Tiger

続いて表の例。

オプション 説明

-a USER GROUP

USERGROUP に追加する

-R GROUP

GROUP へのアクセスを禁止する

表 1. Table

そしてまったく異なるものの例: 猿、ライオン、虎。


付録 A: 付録の例

付録セクション


参考文献

参考文献セクション

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.


用語集

用語集セクション

用語

(インデントされた)用語の定義

別の用語

(インデントされた)用語の定義


バージョン v1.0
2002-11-25 00:37:42 UTC 更新

asciidoc-py3-9.0.0rc1/tests/data/lang-en-no-last-updated-test-xhtml11.html0000644000175000017500000004547113570064211025523 0ustar josephjoseph Languages Test

Abstract

Abstract special section.

The First Section

Admonishments

Do not translate in the source file — they are translated to the output file

Note
Lorum ipsum.
Tip
Lorum ipsum.
Warning
Lorum ipsum.
Caution
Lorum ipsum.
Important
Lorum ipsum.
Tiger image
Figure 1. Tiger

Followed by an example table:

Table 1. Table
Option Description

-a USER GROUP

Add USER to GROUP.

-R GROUP

Disables access to GROUP.

And now for something completely different: monkeys, lions and tigers.

Appendix A: Example Appendix

Appendix special section.

Bibliography

Bibliography special section.

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.

Glossary

Glossary special section.

A glossary term

The corresponding (indented) definition.

A second glossary term

The corresponding (indented) definition.


asciidoc-py3-9.0.0rc1/tests/data/lang-uk-book-test-html5.html0000644000175000017500000004675613570064211023233 0ustar josephjoseph Languages Test

Присвячення

Dedication special section.

Вступ

Preface special section.

Колофон

Colophon special section.

The First Section

Admonishments

Do not translate in the source file — they are translated to the output file

Зауваження
Lorum ipsum.
Підказка
Lorum ipsum.
Увага
Lorum ipsum.
Попередження
Lorum ipsum.
Важливо
Lorum ipsum.
Tiger image
Рисунок 1. Tiger

Followed by an example table:

Таблиця 1. Table
Option Description

-a USER GROUP

Add USER to GROUP.

-R GROUP

Disables access to GROUP.

And now for something completely different: monkeys, lions and tigers.

Додаток A: Example Appendix

Appendix special section.

Бібліографія

Bibliography special section.

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.

Словник термінів

Glossary special section.

A glossary term

The corresponding (indented) definition.

A second glossary term

The corresponding (indented) definition.


asciidoc-py3-9.0.0rc1/tests/data/latex-filter-docbook5.xml0000644000175000017500000001706613570064211022670 0ustar josephjoseph
LaTeX Filter The AsciiDoc distribution includes a LaTeX filter that translates LaTeX source to an image which is automatically inserted into the AsciiDoc output document. Although it can accept any LaTeX source, the primary use is to render mathematical formulae (see the examples below). The filter implements the latex Listing block and Paragraph styles. Two image formats are supported; PNG and SVG. PNG is the default since that was the first format that this filter supported. However, SVG is a better format since it’s scalable. Using SVG make formulas look good in both PDFs and on web pages. SVG will also scale well when zooming in on a web page for example. It is recommended to always use the SVG format. This can be done by setting the imgfmt parameter to svg, as is done below. An even better way is to set the global attribute latex-imgfmt to svg. Then SVG will be used for all formulas. This LaTeX paragraph: ["latex", imgfmt="svg"] --------------------------------------------------------------------- \begin{equation*} y = \int_0^\infty \gamma^2 \cos(x) dx \end{equation*} --------------------------------------------------------------------- Renders: latex-filter__1.svg Compare the formula above, which is rendered as an SVG image, to the formula below which has been rendered as a PNG image. The difference will be most notable if zooming in on a web page, printing the web page or when rendering the document as a PDF. ["latex", "latex2.png", 140, imgfmt="png"] --------------------------------------------------------------------- \begin{equation*} y = \int_0^\infty \gamma^2 \cos(x) dx \end{equation*} --------------------------------------------------------------------- Renders: latex2.png This LaTeX block: ["latex","latex1.svg",imgfmt="svg",align="center"] --------------------------------------------------------------------- \begin{equation*} \displaystyle{ V_i = C_0 - C_3 \frac{C_1\cos(\theta_i+C_3)}{C_4+C_1\cos(\theta_i+C_2)} } \end{equation*} --------------------------------------------------------------------- Renders: latex1.svg This LaTeX block: .LaTeX filter example [latex] ["latex","latex3.svg",imgfmt="svg"] --------------------------------------------------------------------- \begin{equation} \Re{z} =\frac{n\pi \dfrac{\theta +\psi}{2}}{ \left(\dfrac{\theta +\psi}{2}\right)^2 + \left( \dfrac{1}{2} \log \left\lvert\dfrac{B}{A}\right\rvert\right)^2}. \end{equation} \begin{equation} \boxed{\eta \leq C(\delta(\eta) +\Lambda_M(0,\delta))} \end{equation} \begin{equation}\label{first} a=b+c \end{equation} \begin{subequations}\label{grp} \begin{align} a&=b+c\label{second}\\ d&=e+f+g\label{third}\\ h&=i+j\label{fourth} \end{align} \end{subequations} --------------------------------------------------------------------- Renders:
LaTeX filter example latex3.svg
This LaTeX paragraph: .A LaTeX table ["latex",imgfmt="svg"] \begin{tabular}{c r @{.} l} Pi expression & \multicolumn{2}{c}{Value} \\ \hline $\pi$ & 3&1416 \\ $\pi^{\pi}$ & 36&46 \\ $(\pi^{\pi})^{\pi}$ & 80662&7 \\ \end{tabular} Renders:
A LaTeX table latex-filter__2.svg
Using the Filter The LaTeX filter is invoked by setting the Listing block or Paragraph style (the first positional block attribute) to latex. The second positional attribute (named target is optional, it sets the name of the generated image file. If this is not supplied a file name like {docname}__{target-number}.{imgfmt} is synthesised (where {docname} is the document file name, {target-number} is an integer number and {imgfmt} is the image format (png or svg). The third positional attribute, named dpi, is also optional; it is an integer number that sets the output resolution in dots per inch for a PNG image. It is ignored for an SVG image. The image format to use can be selected by setting the imgfmt parameter or by globally setting the latex-imgfmt attribute. Setting it to svg will render SVG images and setting it to png will render PNG images. The default is png. Because the LaTeX images are rendered using the image block templates you can also use the optional named image block attributes (see Image macro attributes in the AsciiDoc User Guide). You can also change the image size using the following LaTeX commands: \tiny \scriptsize \footnotesize \small \normalsize \large \Large \LARGE \huge For example: [latex] \Large $y = \int_0^\infty \gamma^2 \cos(x) dx$ The \Large command is outside the $ math delimiters. The filter (./filters/latex/latex2img.py) can be used outside AsciiDoc to convert LaTeX source to images. Execute the following command to see how to use it: $ ./filters/latex/latex2img.py --help
Limitations The asciidoc(1) input and output files cannot both be - (stdin and stdout), either the input or output files (or both) must be a named file.
Installation In addition to AsciiDoc you will need to have latex(1), dvipng(1) (for PNG) and/or dvisvgm(1) (for SVG) installed.
asciidoc-py3-9.0.0rc1/tests/data/lang-fr-article-test-html4.html0000644000175000017500000000636713570064211023705 0ustar josephjoseph Languages Test

Languages Test

version v1.0, 2003-12-21


Résumé

Abstract special section.


The First Section

Admonishments

Do not translate in the source file — they are translated to the output file

Note

Lorum ipsum.

Astuce

Lorum ipsum.

Attention

Lorum ipsum.

Avertissement

Lorum ipsum.

Important

Lorum ipsum.
Tiger image

Figure 1. Tiger

Followed by an example table:

Option Description

-a USER GROUP

Add USER to GROUP.

-R GROUP

Disables access to GROUP.

Tableau 1. Table

And now for something completely different: monkeys, lions and tigers.


Appendice A: Example Appendix

Appendix special section.


Bibliographie

Bibliography special section.

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.


Glossaire

Glossary special section.

A glossary term

The corresponding (indented) definition.

A second glossary term

The corresponding (indented) definition.


Version v1.0
Dernière mise à jour 2002-11-25 00:37:42 UTC

asciidoc-py3-9.0.0rc1/tests/data/utf8-bom-test-xhtml11.html0000644000175000017500000003763613570064211022650 0ustar josephjoseph UTF-8 BOM Test

Include file with UTF-8 BOM:

UTF-8 BOM Test

Include file with UTF-8 BOM:

include::utf8-bom-test.txt[depth=1]

Lorum ipsum…

Lorum ipsum…


asciidoc-py3-9.0.0rc1/tests/data/lang-ja-book-test-xhtml11.html0000644000175000017500000004646213570064211023445 0ustar josephjoseph Languages Test

献辞

献辞セクション

前書

前書セクション

奥付

奥付セクション

第一セクション

警告

以下は処理系が翻訳するのでこのソースでは翻訳しない。

Lorum ipsum.
補足
Lorum ipsum.
警告
Lorum ipsum.
注意
Lorum ipsum.
重要
Lorum ipsum.
虎の絵
図 1. Tiger

続いて表の例。

表 1. Table
オプション 説明

-a USER GROUP

USERGROUP に追加する

-R GROUP

GROUP へのアクセスを禁止する

そしてまったく異なるものの例: 猿、ライオン、虎。

付録 A: 付録の例

付録セクション

参考文献

参考文献セクション

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.

用語集

用語集セクション

用語

(インデントされた)用語の定義

別の用語

(インデントされた)用語の定義


asciidoc-py3-9.0.0rc1/tests/data/article-docbook.xml0000644000175000017500000001476013570064211021624 0ustar josephjoseph
The Article Title 2003-12 Author's Name authors@email.address AN 1.02003-12AN This is the optional preamble (an untitled section body). Useful for writing simple sectionless documents consisting only of a preamble. The abstract, preface, appendix, bibliography, glossary and index section titles are significant (specialsections). The optional abstract (one or more paragraphs) goes here. This document is an AsciiDoc article skeleton containing briefly annotated element placeholders plus a couple of example index entries and footnotes.
The First Section Article sections start at level 1 and can be nested up to four levels deep. An example footnote. Example index entry And now for something completely different: monkeysmonkeys, lions and tigers (Bengal and Siberian) using the alternative syntax index entries. Big catsLions Lions Big catsTigersBengal Tiger TigersBengal Tiger Bengal Tiger Big catsTigersSiberian Tiger TigersSiberian Tiger Siberian Tiger Note that multi-entry terms generate separate index entries. Here are a couple of image examples: an images/smallnew.png example inline image followed by an example block image:
Tiger block image Tiger image
Followed by an example table: An example table Option Description -a USER GROUP Add USER to GROUP. -R GROUP Disables access to GROUP.
An example example Lorum ipum…
Sub-section with Anchor Sub-section at level 2.
A Nested Sub-section Sub-section at level 3.
Yet another nested Sub-section Sub-section at level 4. This is the maximum sub-section depth supported by the distributed AsciiDoc configuration. A second example footnote.
The Second Section Article sections are at level 1 and can contain sub-sections nested up to four deep. An example link to anchor at start of the first sub-section. Second example index entry An example link to a bibliography entry .
Example Appendix AsciiDoc article appendices are just just article sections with specialsection titles.
Appendix Sub-section Appendix sub-section at level 2.
Example Bibliography The bibliography list is a style of AsciiDoc bulleted list. [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9. [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7. Example Glossary Glossaries are optional. Glossaries entries are an example of a style of AsciiDoc labeled lists. A glossary term The corresponding (indented) definition. A second glossary term The corresponding (indented) definition. Example Index
asciidoc-py3-9.0.0rc1/tests/data/latexmath-docbook5.xml0000644000175000017500000001022213570064211022242 0ustar josephjoseph
Embedding LaTeX Math in AsciiDoc dblatex documents You can include LaTeX math equations in AsciiDoc documents that are processed by dblatex. The AsciiDoc latexmath macros and passthrough blocks generate DocBook inlineequation, informalequation and equation elements containing the LaTeX markup which is processed by dblatex.
Inline equations This markup: An inline equation latexmath:[$C = \alpha + \beta Y^{\gamma} + \epsilon$] using the 'latexmath' inline macro. Renders: An inline equation using the latexmath inline macro.
Informal equations Informal (untitled) equations are generated with a latexmath style passthrough delimited block. This markup: [latexmath] ++++++++++++++++++++++++++++++++++++++++++++ \[C = \alpha + \beta Y^{\gamma} + \epsilon\] ++++++++++++++++++++++++++++++++++++++++++++ Renders: Functionally identical block macro syntax: latexmath::[\[C = \alpha + \beta Y^{\gamma} + \epsilon\]] Renders:
Formal equations Formal equations are titled and are generated with a latexmath style passthrough delimited block. This markup: .First equation [latexmath] ++++++++++++++++++++++++++++++++++++++++++++ \[C = \alpha + \beta Y^{\gamma} + \epsilon\] ++++++++++++++++++++++++++++++++++++++++++++ Renders: First equation This markup: .Matrix [latexmath] ++++++++++++++++++++++++++++++++++++++++++++ \[ P^{e \rightarrow c}= \left[ \begin{array}{*{3}{r@{}l}} & \cos \theta & & \sin \theta \sin \varphi & & \sin \theta \cos \varphi\\ & \sin \theta \sin \psi & & \cos \varphi \cos \psi - \cos \theta \sin \varphi \sin \psi & - & \sin \varphi \cos \psi - \cos \theta \cos \varphi \sin \psi\\ - & \sin \theta \cos \psi & & \cos \varphi \sin \psi + \cos \theta \sin \varphi \cos \psi & - & \sin \varphi \sin \psi + \cos \theta \cos \varphi \cos \psi\\ \end{array} \right] \] ++++++++++++++++++++++++++++++++++++++++++++ Renders: Matrix
asciidoc-py3-9.0.0rc1/tests/data/lang-uk-book-test-html4.html0000644000175000017500000000713213570064211023213 0ustar josephjoseph Languages Test

Languages Test

version v1.0, 2011-01-30


Присвячення

Dedication special section.


Вступ

Preface special section.


Колофон

Colophon special section.


The First Section

Admonishments

Do not translate in the source file — they are translated to the output file

Зауваження

Lorum ipsum.

Підказка

Lorum ipsum.

Увага

Lorum ipsum.

Попередження

Lorum ipsum.

Важливо

Lorum ipsum.
Tiger image

Рисунок 1. Tiger

Followed by an example table:

Option Description

-a USER GROUP

Add USER to GROUP.

-R GROUP

Disables access to GROUP.

Таблиця 1. Table

And now for something completely different: monkeys, lions and tigers.


Додаток A: Example Appendix

Appendix special section.


Бібліографія

Bibliography special section.

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.


Словник термінів

Glossary special section.

A glossary term

The corresponding (indented) definition.

A second glossary term

The corresponding (indented) definition.


Версія v1.0
Востаннє оновлено 2002-11-25 00:37:42 UTC

asciidoc-py3-9.0.0rc1/tests/data/lang-it-article-test-html5.html0000644000175000017500000004576613570064211023721 0ustar josephjoseph Languages Test

Abstract

Abstract special section.

The First Section

Admonishments

Do not translate in the source file — they are translated to the output file

Nota
Lorum ipsum.
Suggerimento
Lorum ipsum.
Avvertenza
Lorum ipsum.
Attenzione
Lorum ipsum.
Importante
Lorum ipsum.
Tiger image
Figura 1. Tiger

Followed by an example table:

Tabella 1. Table
Option Description

-a USER GROUP

Add USER to GROUP.

-R GROUP

Disables access to GROUP.

And now for something completely different: monkeys, lions and tigers.

Appendice A: Example Appendix

Appendix special section.

Bibliografia

Bibliography special section.

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.

Glossario

Glossary special section.

A glossary term

The corresponding (indented) definition.

A second glossary term

The corresponding (indented) definition.


asciidoc-py3-9.0.0rc1/tests/data/lang-de-article-test-html4.html0000644000175000017500000000637713570064211023667 0ustar josephjoseph Languages Test

Languages Test

version v1.0, 2003-12-21


Zusammenfassung

Abstract special section.


The First Section

Admonishments

Do not translate in the source file — they are translated to the output file

Anmerkung

Lorum ipsum.

Tipp

Lorum ipsum.

Warnung

Lorum ipsum.

Achtung

Lorum ipsum.

Wichtig

Lorum ipsum.
Tiger image

Abbildung 1. Tiger

Followed by an example table:

Option Description

-a USER GROUP

Add USER to GROUP.

-R GROUP

Disables access to GROUP.

Tabelle 1. Table

And now for something completely different: monkeys, lions and tigers.


Anhang A: Example Appendix

Appendix special section.


Literaturverzeichnis

Bibliography special section.

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.


Glossar

Glossary special section.

A glossary term

The corresponding (indented) definition.

A second glossary term

The corresponding (indented) definition.


Version v1.0
Letzte Änderung 2002-11-25 00:37:42 UTC

asciidoc-py3-9.0.0rc1/tests/data/lang-fr-article-test-docbook5.xml0000644000175000017500000000670513570064211024212 0ustar josephjoseph
Languages Test 2003-12-21 v1.02003-12-21 Abstract special section.
The First Section
Admonishments Do not translate in the source file — they are translated to the output file Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum.
Tiger Tiger image
Followed by an example table: Table Option Description -a USER GROUP Add USER to GROUP. -R GROUP Disables access to GROUP.
And now for something completely different: monkeysmonkeys, lions and tigers.
Example Appendix Appendix special section. Bibliographie Bibliography special section. [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9. [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7. Glossaire Glossary special section. A glossary term The corresponding (indented) definition. A second glossary term The corresponding (indented) definition. Index
asciidoc-py3-9.0.0rc1/tests/data/lang-ja-book-test-html5.html0000644000175000017500000004631613570064211023176 0ustar josephjoseph Languages Test

献辞

献辞セクション

前書

前書セクション

奥付

奥付セクション

第一セクション

警告

以下は処理系が翻訳するのでこのソースでは翻訳しない。

Lorum ipsum.
補足
Lorum ipsum.
警告
Lorum ipsum.
注意
Lorum ipsum.
重要
Lorum ipsum.
虎の絵
図 1. Tiger

続いて表の例。

表 1. Table
オプション 説明

-a USER GROUP

USERGROUP に追加する

-R GROUP

GROUP へのアクセスを禁止する

そしてまったく異なるものの例: 猿、ライオン、虎。

付録 A: 付録の例

付録セクション

参考文献

参考文献セクション

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.

用語集

用語集セクション

用語

(インデントされた)用語の定義

別の用語

(インデントされた)用語の定義


asciidoc-py3-9.0.0rc1/tests/data/lang-it-test.txt0000644000175000017500000000373213570064211021107 0ustar josephjoseph// Test for lang-it.conf language file. :lang: it Languages Test ============== :revnumber: v1.0 :revdate: 2003-12-21 ifdef::doctype-article[] Abstract -------- Abstract special section. endif::doctype-article[] ifdef::doctype-book[] Dedica ------ Dedication special section. Prefazione ---------- Preface special section. Colofone -------- Colophon special section. endif::doctype-book[] The First Section ----------------- Admonishments ~~~~~~~~~~~~~ Do not translate in the source file -- they are translated to the output file NOTE: Lorum ipsum. TIP: Lorum ipsum. WARNING: Lorum ipsum. CAUTION: Lorum ipsum. IMPORTANT: Lorum ipsum. .Tiger image::../../images/tiger.png[Tiger image] Followed by an example table: .Table [width="60%",options="header"] |============================================== | Option | Description | -a 'USER GROUP' | Add 'USER' to 'GROUP'. | -R 'GROUP' | Disables access to 'GROUP'. |============================================== And now for something completely different: ((monkeys)), lions and tigers. Appendice A: Example Appendix ----------------------------- Appendix special section. Bibliografia ------------ Bibliography special section. [bibliography] - [[[taoup]]] Eric Steven Raymond. 'The Art of Unix Programming'. Addison-Wesley. ISBN 0-13-142901-9. - [[[walsh-muellner]]] Norman Walsh & Leonard Muellner. 'DocBook - The Definitive Guide'. O'Reilly & Associates. 1999. ISBN 1-56592-580-7. Glossario --------- Glossary special section. [glossary] A glossary term:: The corresponding (indented) definition. A second glossary term:: The corresponding (indented) definition. ifdef::basebackend-docbook[] Index ----- //////////////////////////////////////////////////////////////// Index special section. The index is normally left completely empty, it's contents being generated automatically by the DocBook toolchain. //////////////////////////////////////////////////////////////// endif::basebackend-docbook[] asciidoc-py3-9.0.0rc1/tests/data/lang-pt-BR-book-test-docbook5.xml0000644000175000017500000000734013570064211024032 0ustar josephjoseph Languages Test 2003-12-21 v1.02003-12-21 Dedicação Dedication special section. Prefácio Preface special section. Cólofon Colophon special section. The First Section
Admonishments Do not translate in the source file — they are translated to the output file Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum.
Tiger Tiger image
Followed by an example table: Table Option Description -a USER GROUP Add USER to GROUP. -R GROUP Disables access to GROUP.
And now for something completely different: monkeysmonkeys, lions and tigers.
Appêndice A: Example Appendix Appendix special section. Bibliografia Bibliography special section. [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9. [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7. Glossário Glossary special section. A glossary term The corresponding (indented) definition. A second glossary term The corresponding (indented) definition. Índice
asciidoc-py3-9.0.0rc1/tests/data/deprecated-quotes-xhtml11.html0000644000175000017500000004024313570064211023634 0ustar josephjoseph

fun with text. fun with text. fun with text. More fun with text. Yet more fun with text. Yet more fun with text. Yet more fun with text.

Yet more fun with text.

Yet more fun with text.


asciidoc-py3-9.0.0rc1/tests/data/lang-pt-BR-article-test-html4.html0000644000175000017500000000635713570064211024221 0ustar josephjoseph Languages Test

Languages Test

version v1.0, 2003-12-21


Resumo

Abstract special section.


The First Section

Admonishments

Do not translate in the source file — they are translated to the output file

Nota

Lorum ipsum.

Sugestão

Lorum ipsum.

Aviso

Lorum ipsum.

Atenção

Lorum ipsum.

Importante

Lorum ipsum.
Tiger image

Figura 1. Tiger

Followed by an example table:

Option Description

-a USER GROUP

Add USER to GROUP.

-R GROUP

Disables access to GROUP.

Tabela 1. Table

And now for something completely different: monkeys, lions and tigers.


Appêndice A: Example Appendix

Appendix special section.


Bibliografia

Bibliography special section.

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.


Glossário

Glossary special section.

A glossary term

The corresponding (indented) definition.

A second glossary term

The corresponding (indented) definition.


Versão v1.0
Última Atualização 2002-11-25 00:37:42 UTC

asciidoc-py3-9.0.0rc1/tests/data/utf8-bom-test.txt0000644000175000017500000000020013570064211021200 0ustar josephjosephUTF-8 BOM Test ============== Include file with UTF-8 BOM: :leveloffset: 1 include::{docname}.txt[depth=1] Lorum ipsum... asciidoc-py3-9.0.0rc1/tests/data/lang-sv-man-test-docbook.xml0000644000175000017500000000210613570064211023265 0ustar josephjoseph ASCIIDOC(1) asciidoc 1     asciidoc converts an AsciiDoc text file to HTML or DocBook asciidoc [OPTIONS] FILE BESKRIVNING The asciidoc(1) command translates the AsciiDoc text file FILE to DocBook or HTML. If FILE is - then the standard input is used. asciidoc-py3-9.0.0rc1/tests/data/lang-de-book-test-html4.html0000644000175000017500000000661613570064211023172 0ustar josephjoseph Languages Test

Languages Test

version v1.0, 2003-12-21


Widmung

Dedication special section.


Vorwort

Preface special section.


Kolophon

Colophon special section.


The First Section

Admonishments

Do not translate in the source file — they are translated to the output file

Anmerkung

Lorum ipsum.

Tipp

Lorum ipsum.

Warnung

Lorum ipsum.

Achtung

Lorum ipsum.

Wichtig

Lorum ipsum.
Tiger image

Abbildung 1. Tiger

Followed by an example table:

Option Description

-a USER GROUP

Add USER to GROUP.

-R GROUP

Disables access to GROUP.

Tabelle 1. Table

And now for something completely different: monkeys, lions and tigers.


Anhang A: Example Appendix

Appendix special section.


Literaturverzeichnis

Bibliography special section.

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.


Glossar

Glossary special section.

A glossary term

The corresponding (indented) definition.

A second glossary term

The corresponding (indented) definition.


Version v1.0
Letzte Änderung 2002-11-25 00:37:42 UTC

asciidoc-py3-9.0.0rc1/tests/data/lang-ru-article-test-docbook5.xml0000644000175000017500000000712513570064211024226 0ustar josephjoseph
Languages Test 2003-12-21 v1.02003-12-21 Abstract special section.
The First Section
Admonishments Do not translate in the source file — they are translated to the output file Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum.
Tiger Tiger image
Followed by an example table: Table Option Description -a USER GROUP Add USER to GROUP. -R GROUP Disables access to GROUP.
And now for something completely different: monkeysmonkeys, lions and tigers.
Example Appendix Appendix special section. Библиография Bibliography special section. [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9. [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7. Словарь терминов Glossary special section. A glossary term The corresponding (indented) definition. A second glossary term The corresponding (indented) definition. Предметный указатель
asciidoc-py3-9.0.0rc1/tests/data/deprecated-quotes.txt0000644000175000017500000000055513570064211022215 0ustar josephjoseph// Deprecated quote attributes. [role="foo"]##fun with text##. ["green","yellow",2,role="foo"]##fun with text##. [green,yellow,2]##fun with text##. More [red,black,4]*fun with text*. Yet more [red,,1.5]**fun with text**. Yet more [red,,1.5]+fun with text+. Yet more [red,,1.5]'fun with text'. Yet more [red,,1.5]_fun with text_. Yet more [orange]'fun with text'. asciidoc-py3-9.0.0rc1/tests/data/lang-ru-article-test-xhtml11.html0000644000175000017500000004645613570064211024175 0ustar josephjoseph Languages Test

Аннотация

Abstract special section.

The First Section

Admonishments

Do not translate in the source file — they are translated to the output file

Замечание
Lorum ipsum.
Подсказка
Lorum ipsum.
Внимание
Lorum ipsum.
Предостережение
Lorum ipsum.
Важно
Lorum ipsum.
Tiger image
Рисунок 1. Tiger

Followed by an example table:

Таблица 1. Table
Option Description

-a USER GROUP

Add USER to GROUP.

-R GROUP

Disables access to GROUP.

And now for something completely different: monkeys, lions and tigers.

Приложение A: Example Appendix

Appendix special section.

Библиография

Bibliography special section.

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.

Словарь терминов

Glossary special section.

A glossary term

The corresponding (indented) definition.

A second glossary term

The corresponding (indented) definition.


asciidoc-py3-9.0.0rc1/tests/data/book-html5.html0000644000175000017500000005246013570064211020707 0ustar josephjoseph Book Title Goes Here

1. Example Dedication

Optional dedication.

This document is an AsciiDoc book skeleton containing briefly annotated example elements plus a couple of example index entries and footnotes.

Books are normally used to generate DocBook markup and the titles of the preface, appendix, bibliography, glossary and index sections are significant (specialsections).

2. Example Preface

Optional preface.

2.1. Preface Sub-section

Preface sub-section body.

3. The First Chapter

Chapters can contain sub-sections nested up to three deep.
[An example footnote.]

Chapters can have their own bibliography, glossary and index.

And now for something completely different: monkeys, lions and tigers (Bengal and Siberian) using the alternative syntax index entries. Note that multi-entry terms generate separate index entries.

Here are a couple of image examples: an images/smallnew.png example inline image followed by an example block image:

Tiger image
Figure 1. Tiger block image

Followed by an example table:

Table 1. An example table
Option Description

-a USER GROUP

Add USER to GROUP.

-R GROUP

Disables access to GROUP.

Example 1. An example example

Lorum ipum…

3.1. Sub-section with Anchor

Sub-section at level 2.

3.1.1. Chapter Sub-section

Sub-section at level 3.

Chapter Sub-section

Sub-section at level 4.

This is the maximum sub-section depth supported by the distributed AsciiDoc configuration.
[A second example footnote.]

4. The Second Chapter

An example link to anchor at start of the first sub-section.

An example link to a bibliography entry [taoup].

5. The Third Chapter

Book chapters are at level 1 and can contain sub-sections.

Appendix A: Example Appendix

One or more optional appendixes go here at section level 1.

Appendix Sub-section

Sub-section body.

Example Bibliography

The bibliography list is a style of AsciiDoc bulleted list.

Books
  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.

Articles
  • [abc2003] Gall Anonim. An article, Whatever. 2003.

Example Glossary

Glossaries are optional. Glossaries entries are an example of a style of AsciiDoc labeled lists.

A glossary term

The corresponding (indented) definition.

A second glossary term

The corresponding (indented) definition.

Example Colophon

Text at the end of a book describing facts about its production.

Example Index


asciidoc-py3-9.0.0rc1/tests/data/lang-cs-man-test-docbook5.xml0000644000175000017500000000172213570064211023332 0ustar josephjoseph ASCIIDOC(1) asciidoc 1     asciidoc converts an AsciiDoc text file to HTML or DocBook SINOSSI asciidoc [OPTIONS] FILE DESCRIPTION The asciidoc(1) command translates the AsciiDoc text file FILE to DocBook or HTML. If FILE is - then the standard input is used. asciidoc-py3-9.0.0rc1/tests/data/lang-de-man-test.txt0000644000175000017500000000057713570064211021640 0ustar josephjoseph// Test for lang-de.conf language file. :lang: de ASCIIDOC(1) =========== :doctype: manpage NAME ---- asciidoc - converts an AsciiDoc text file to HTML or DocBook ÜBERSICHT --------- *asciidoc* ['OPTIONS'] 'FILE' DESCRIPTION ----------- The asciidoc(1) command translates the AsciiDoc text file 'FILE' to DocBook or HTML. If 'FILE' is '-' then the standard input is used. ... asciidoc-py3-9.0.0rc1/tests/data/lang-en-article-test-docbook5.xml0000644000175000017500000000670113570064211024201 0ustar josephjoseph
Languages Test 2003-12-21 v1.02003-12-21 Abstract special section.
The First Section
Admonishments Do not translate in the source file — they are translated to the output file Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum.
Tiger Tiger image
Followed by an example table: Table Option Description -a USER GROUP Add USER to GROUP. -R GROUP Disables access to GROUP.
And now for something completely different: monkeysmonkeys, lions and tigers.
Example Appendix Appendix special section. Bibliography Bibliography special section. [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9. [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7. Glossary Glossary special section. A glossary term The corresponding (indented) definition. A second glossary term The corresponding (indented) definition. Index
asciidoc-py3-9.0.0rc1/tests/data/lang-cs-test.txt0000644000175000017500000000373213570064211021100 0ustar josephjoseph// Test for lang-cs.conf language file. :lang: cs Languages Test ============== :revnumber: v1.0 :revdate: 2003-12-21 ifdef::doctype-article[] Abstract -------- Abstract special section. endif::doctype-article[] ifdef::doctype-book[] Dedica ------ Dedication special section. Prefazione ---------- Preface special section. Colofone -------- Colophon special section. endif::doctype-book[] The First Section ----------------- Admonishments ~~~~~~~~~~~~~ Do not translate in the source file -- they are translated to the output file NOTE: Lorum ipsum. TIP: Lorum ipsum. WARNING: Lorum ipsum. CAUTION: Lorum ipsum. IMPORTANT: Lorum ipsum. .Tiger image::../../images/tiger.png[Tiger image] Followed by an example table: .Table [width="60%",options="header"] |============================================== | Option | Description | -a 'USER GROUP' | Add 'USER' to 'GROUP'. | -R 'GROUP' | Disables access to 'GROUP'. |============================================== And now for something completely different: ((monkeys)), lions and tigers. Appendice A: Example Appendix ----------------------------- Appendix special section. Bibliografia ------------ Bibliography special section. [bibliography] - [[[taoup]]] Eric Steven Raymond. 'The Art of Unix Programming'. Addison-Wesley. ISBN 0-13-142901-9. - [[[walsh-muellner]]] Norman Walsh & Leonard Muellner. 'DocBook - The Definitive Guide'. O'Reilly & Associates. 1999. ISBN 1-56592-580-7. Glossario --------- Glossary special section. [glossary] A glossary term:: The corresponding (indented) definition. A second glossary term:: The corresponding (indented) definition. ifdef::basebackend-docbook[] Index ----- //////////////////////////////////////////////////////////////// Index special section. The index is normally left completely empty, it's contents being generated automatically by the DocBook toolchain. //////////////////////////////////////////////////////////////// endif::basebackend-docbook[] asciidoc-py3-9.0.0rc1/tests/data/testcases.conf0000644000175000017500000000030113570064211020670 0ustar josephjoseph[replacements] test-replacement=TEST_REPLACEMENT [test-template] This template is overridden and should not be displayed. [test-template] Template line 1. [+test-template] Template line 2. asciidoc-py3-9.0.0rc1/tests/data/lang-nl-test.txt0000644000175000017500000000361713570064211021106 0ustar josephjoseph// Test for lang-nl.conf language file. :lang: nl = Languages Test :revnumber: v1.0 :revdate: 2003-12-21 ifdef::doctype-article[] == Samenvatting Bijzonder 'abstract' sectie. endif::doctype-article[] ifdef::doctype-book[] == Opdracht Bijzonder 'dedication' sectie. == Voorwoord Bijzonder 'preface' sectie. == Colofon Bijzonder 'colophon' sectie. endif::doctype-book[] == Het Eerste Hoofdstuk === Vermaningen Vertaal ze niet in the broncode -- ze worden vanzelf vertaald in het output bestand NOTE: Lorum ipsum. TIP: Lorum ipsum. WARNING: Lorum ipsum. CAUTION: Lorum ipsum. IMPORTANT: Lorum ipsum. .Tiger image::../../images/tiger.png[Tiger image] Gevolgd door een voorbeeld tabel: .Table [width="60%",options="header"] |============================================== | Optie | Beschrijving | -a 'USER GROUP' | Voeg 'USER' toe aan 'GROUP'. | -R 'GROUP' | Schakel toegang uit tot 'GROUP'. |============================================== En nu iets totaal anders: ((apen)), leeuwen en tijgers. == Bijlage A: Voorbeeld Bijlage Bijzonder 'appendix' sectie. == Literatuurlijst Bijzonder 'bibliography' sectie. [bibliography] - [[[taoup]]] Eric Steven Raymond. 'The Art of Unix Programming'. Addison-Wesley. ISBN 0-13-142901-9. - [[[walsh-muellner]]] Norman Walsh & Leonard Muellner. 'DocBook - The Definitive Guide'. O'Reilly & Associates. 1999. ISBN 1-56592-580-7. == Woordenlijst Bijzonder 'glossary' sectie. [glossary] Een woordenlijst term:: De bijhorende (ingesprongen) definitie. Een tweede term:: De bijhorende (ingesprongen) definitie. ifdef::basebackend-docbook[] == Register //////////////////////////////////////////////////////////////// Bijzonder 'index' sectie. Het register wordt normaal leeg gehouden, de inhoud wordt automatisch gegenereerd door de DocBook hulpmiddelen. //////////////////////////////////////////////////////////////// endif::basebackend-docbook[] asciidoc-py3-9.0.0rc1/tests/data/lang-en-article-test-html5.html0000644000175000017500000004574213570064211023701 0ustar josephjoseph Languages Test

Abstract

Abstract special section.

The First Section

Admonishments

Do not translate in the source file — they are translated to the output file

Note
Lorum ipsum.
Tip
Lorum ipsum.
Warning
Lorum ipsum.
Caution
Lorum ipsum.
Important
Lorum ipsum.
Tiger image
Figure 1. Tiger

Followed by an example table:

Table 1. Table
Option Description

-a USER GROUP

Add USER to GROUP.

-R GROUP

Disables access to GROUP.

And now for something completely different: monkeys, lions and tigers.

Appendix A: Example Appendix

Appendix special section.

Bibliography

Bibliography special section.

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.

Glossary

Glossary special section.

A glossary term

The corresponding (indented) definition.

A second glossary term

The corresponding (indented) definition.


asciidoc-py3-9.0.0rc1/tests/data/lang-nl-article-test-docbook.xml0000644000175000017500000000706013570064211024122 0ustar josephjoseph
Languages Test 2003-12-21 v1.02003-12-21 Bijzonder abstract sectie.
Het Eerste Hoofdstuk
Vermaningen Vertaal ze niet in the broncode — ze worden vanzelf vertaald in het output bestand Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum.
Tiger Tiger image
Gevolgd door een voorbeeld tabel: Table Optie Beschrijving -a USER GROUP Voeg USER toe aan GROUP. -R GROUP Schakel toegang uit tot GROUP.
En nu iets totaal anders: apenapen, leeuwen en tijgers.
Voorbeeld Bijlage Bijzonder appendix sectie. Literatuurlijst Bijzonder bibliography sectie. [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9. [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7. Woordenlijst Bijzonder glossary sectie. Een woordenlijst term De bijhorende (ingesprongen) definitie. Een tweede term De bijhorende (ingesprongen) definitie. Register
asciidoc-py3-9.0.0rc1/tests/data/newtables-docbook5.xml0000644000175000017500000012240113570064211022242 0ustar josephjoseph
AsciiDoc New tables New in version 8.3.0 I’ve finally come up with a new tables syntax that I’m happy with and can at last remove this footnote from the User Guide: “The current table syntax is overly complicated and unwieldy to edit, hopefully a more usable syntax will appear in future versions of AsciiDoc.” Update The following additions were made at AsciiDoc 8.4.4: Cell column and row spanning. Styles can be applied per cell. Vertical cell alignment can be applied to columns and cells. See the examples at the end of this document. At first glance it doesn’t look much different to the old syntax but it’s a lot more flexible, easier to enter and supports a lot of column styles (for example the asciidoc style supports AsciiDoc block and inline elements). The old tables syntax has been deprecated but is currently still processed. Here are some examples of AsciiDoc new tables: Simple table 1 2 A 3 4 B 5 6 C
AsciiDoc source [width="15%"] |======= |1 |2 |A |3 |4 |B |5 |6 |C |======= Table with title, header and footer Column 1 Column 2 6 Three items 1 Item 1 2 Item 2 3 Item 3
AsciiDoc source .An example table [width="40%",frame="topbot",options="header,footer"] |====================== |Column 1 |Column 2 |1 |Item 1 |2 |Item 2 |3 |Item 3 |6 |Three items |====================== Columns formatted with strong, monospaced and emphasis styles Columns 2 and 3 footer 1 footer 2 footer 3 1 Item 1 Item 1 2 Item 2 Item 2 3 Item 3 Item 3 4 Item 4 Item 4
AsciiDoc source .An example table [width="50%",cols=">s,^2m,^2e",frame="topbot",options="header,footer"] |========================== | 2+|Columns 2 and 3 |1 |Item 1 |Item 1 |2 |Item 2 |Item 2 |3 |Item 3 |Item 3 |4 |Item 4 |Item 4 |footer 1|footer 2|footer 3 |========================== A table with externally sourced CSV data ID Customer Name Contact Name Customer Address Phone AROUT Around the Horn Thomas Hardy 120 Hanover Sq. London (171) 555-7788 BERGS Berglunds snabbkop Christina Berglund Berguvsvagen 8 Lulea 0921-12 34 65 BLAUS Blauer See Delikatessen Hanna Moos Forsterstr. 57 Mannheim 0621-08460 BLONP Blondel pere et fils Frederique Citeaux 24, place Kleber Strasbourg 88.60.15.31 BOLID Bolido Comidas preparadas Martin Sommer C/ Araquil, 67 Madrid (91) 555 22 82 BONAP Bon app' Laurence Lebihan 12, rue des Bouchers Marseille 91.24.45.40 BOTTM Bottom-Dollar Markets Elizabeth Lincoln 23 Tsawassen Blvd. Tsawassen (604) 555-4729 BSBEV B’s Beverages Victoria Ashworth Fauntleroy Circus London (171) 555-1212 CACTU Cactus Comidas para llevar Patricio Simpson Cerrito 333 Buenos Aires (1) 135-5555
AsciiDoc source [format="csv",cols="^1,4*2",options="header"] |=================================================== ID,Customer Name,Contact Name,Customer Address,Phone include::customers.csv[] |=================================================== DVS formatted table root x 0 0 root /root /bin/bash daemon x 1 1 daemon /usr/sbin /bin/sh bin x 2 2 bin /bin /bin/sh sys x 3 3 sys /dev /bin/sh sync x 4 65534 sync /bin /bin/sync games x 5 60 games /usr/games /bin/sh
AsciiDoc source [width="70%",format="dsv"] |==================================== root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/bin/sh bin:x:2:2:bin:/bin:/bin/sh sys:x:3:3:sys:/dev:/bin/sh sync:x:4:65534:sync:/bin:/bin/sync games:x:5:60:games:/usr/games:/bin/sh |==================================== Horizontal and vertical source data Date Duration Avg HR Notes 22-Aug-08 10:24 157 Worked out MSHR (max sustainable heart rate) by going hard for this interval. 22-Aug-08 23:03 152 Back-to-back with previous interval. 24-Aug-08 40:00 145 Moderately hard interspersed with 3x 3min intervals (2min hard + 1min really hard taking the HR up to 160).
Short cells can be entered horizontally, longer cells vertically. The default behavior is to strip leading and trailing blank lines within a cell. These characteristics aid readability and data entry. AsciiDoc source .Windtrainer workouts [width="80%",cols="3,^2,^2,10",options="header"] |========================================================= |Date |Duration |Avg HR |Notes |22-Aug-08 |10:24 | 157 | Worked out MSHR (max sustainable heart rate) by going hard for this interval. |22-Aug-08 |23:03 | 152 | Back-to-back with previous interval. |24-Aug-08 |40:00 | 145 | Moderately hard interspersed with 3x 3min intervals (2min hard + 1min really hard taking the HR up to 160). |========================================================= Default and verse styles Default paragraphs Centered verses Per id. Consul necessitatibus per id, consetetur, eu pro everti postulant homero verear ea mea, qui. Consul necessitatibus per id, consetetur, eu pro everti postulant homero verear ea mea, qui. Per id. Consul necessitatibus per id, consetetur, eu pro everti postulant homero verear ea mea, qui. Consul necessitatibus per id, consetetur, eu pro everti postulant homero verear ea mea, qui.
AsciiDoc source [cols=",^v",options="header"] |=================================== |Default paragraphs |Centered verses 2*|Per id. Consul *necessitatibus* per id, consetetur, eu pro everti postulant homero verear ea mea, qui. Consul *necessitatibus* per id, consetetur, eu pro everti postulant homero verear ea mea, qui. |=================================== Horizontal and vertial headings West Central East Total Q1 270 292 342 904 Q2 322 276 383 981 Q3 298 252 274 824 Q4 344 247 402 993
AsciiDoc source .Horizontal and vertial headings [cols="h,4*",options="header",width="50%"] |================================== | |West |Central |East | Total |Q1 |270 |292 |342 | 904 |Q2 |322 |276 |383 | 981 |Q3 |298 |252 |274 | 824 |Q4 |344 |247 |402 | 993 |================================== AsciiDoc style in first column, Literal in second Output markup AsciiDoc source Consul necessitatibus per id, consetetur, eu pro everti postulant homero verear ea mea, qui. Consul *necessitatibus* per id, consetetur, eu pro everti postulant homero verear ea mea, qui. Code filter example ''' A multi-line comment.''' def sub_word(mo): ''' Single line comment.''' word = mo.group('word') if word in keywords[language]: return quote + word + quote else: return word Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Fusce euismod commodo velit. Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel. Vivamus fringilla mi eu lacus. Donec eget arcu bibendum nunc consequat lobortis. Nulla porttitor vulputate libero. Fusce euismod commodo velit. Vivamus fringilla mi eu lacus. Consul *necessitatibus* per id, consetetur, eu pro everti postulant homero verear ea mea, qui. ----------------------------------- Consul *necessitatibus* per id, consetetur, eu pro everti postulant homero verear ea mea, qui. ----------------------------------- .Code filter example [source,python] ----------------------------------- ''' A multi-line comment.''' def sub_word(mo): ''' Single line comment.''' word = mo.group('word') if word in keywords[language]: return quote + word + quote else: return word ----------------------------------- - Lorem ipsum dolor sit amet, consectetuer adipiscing elit. * Fusce euismod commodo velit. * Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel. * Vivamus fringilla mi eu lacus. * Donec eget arcu bibendum nunc consequat lobortis. - Nulla porttitor vulputate libero. . Fusce euismod commodo velit. . Vivamus fringilla mi eu lacus.
AsciiDoc source [cols="asciidoc,literal",options="header",grid="cols"] |================================== |Output markup |AsciiDoc source 2*| Consul *necessitatibus* per id, consetetur, eu pro everti postulant homero verear ea mea, qui. ----------------------------------- Consul *necessitatibus* per id, consetetur, eu pro everti postulant homero verear ea mea, qui. ----------------------------------- .Code filter example [source,python] ----------------------------------- ''' A multi-line comment.''' def sub_word(mo): ''' Single line comment.''' word = mo.group('word') if word in keywords[language]: return quote + word + quote else: return word ----------------------------------- - Lorem ipsum dolor sit amet, consectetuer adipiscing elit. * Fusce euismod commodo velit. * Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel. * Vivamus fringilla mi eu lacus. * Donec eget arcu bibendum nunc consequat lobortis. - Nulla porttitor vulputate libero. . Fusce euismod commodo velit. . Vivamus fringilla mi eu lacus. |================================== Cell containing lots of example markup elements URLs: The AsciiDoc home page, http://asciidoc.org/, email Joe Bloggs, joe.bloggs@example.com, joe.bloggs. Link: See AsciiDoc source. Emphasized text, Strong text, Monospaced text, “Quoted text”. Subscripts and superscripts: eπi+1 = 0. H2O and x10. Some super text and some sub text Replacements: © copyright, ™ trademark, ® registered trademark, — em dash, … ellipsis, → right arrow, ← left arrow, ⇒ right double arrow, ⇐ left double arrow.
AsciiDoc source |==================================================================== |'URLs': http://asciidoc.org/[The AsciiDoc home page], http://asciidoc.org/, mailto:joe.bloggs@example.com[email Joe Bloggs], joe.bloggs@example.com, callto:joe.bloggs[]. 'Link': See <<X1,AsciiDoc source>>. 'Emphasized text', *Strong text*, +Monospaced text+, ``Quoted text''. 'Subscripts and superscripts': e^{amp}#960;i^+1 = 0. H~2~O and x^10^. Some ^super text^ and ~some sub text~ 'Replacements': (C) copyright, (TM) trademark, (R) registered trademark, -- em dash, ... ellipsis, -> right arrow, <- left arrow, => right double arrow, <= left double arrow. |==================================================================== Nested table Normal cell Cell with nested table Nested table cell 1 Nested table cell 2
AsciiDoc source [width="75%",cols="1,2a"] |============================================== |Normal cell |Cell with nested table [cols="2,1"] !============================================== !Nested table cell 1 !Nested table cell 2 !============================================== |============================================== Spans, alignments and styles 1 2 3 4 5 6 7 8 9 10
AsciiDoc source .Spans, alignments and styles [cols="e,m,^,>s",width="25%"] |================ |1 >s|2 |3 |4 ^|5 2.2+^.^|6 .3+<.>m|7 ^|8 |9 2+>|10 |================ Three panes Top Left Pane Consul necessitatibus per id, consetetur, eu pro everti postulant homero verear ea mea, qui. Consul necessitatibus per id, consetetur, eu pro everti postulant homero verear ea mea, qui. Right Pane Consul necessitatibus per id, consetetur, eu pro everti postulant homero verear ea mea, qui. Consul *necessitatibus* per id, consetetur, eu pro everti postulant homero verear ea mea, qui. Code filter example ''' A multi-line comment.''' def sub_word(mo): ''' Single line comment.''' word = mo.group('word') if word in keywords[language]: return quote + word + quote else: return word Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Fusce euismod commodo velit. Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel. Vivamus fringilla mi eu lacus. Donec eget arcu bibendum nunc consequat lobortis. Nulla porttitor vulputate libero. Fusce euismod commodo velit. Vivamus fringilla mi eu lacus. Bottom Left Pane Consul necessitatibus per id, consetetur, eu pro everti postulant homero verear ea mea, qui. Consul necessitatibus per id, consetetur, eu pro everti postulant homero verear ea mea, qui. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Fusce euismod commodo velit. Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel. Vivamus fringilla mi eu lacus. Donec eget arcu bibendum nunc consequat lobortis. Nulla porttitor vulputate libero. Fusce euismod commodo velit. Vivamus fringilla mi eu lacus.
AsciiDoc source .Three panes [cols="a,2a"] |================================== | [float] Top Left Pane ~~~~~~~~~~~~~ Consul *necessitatibus* per id, consetetur, eu pro everti postulant homero verear ea mea, qui. Consul *necessitatibus* per id, consetetur, eu pro everti postulant homero verear ea mea, qui. .2+| [float] Right Pane ~~~~~~~~~~ Consul *necessitatibus* per id, consetetur, eu pro everti postulant homero verear ea mea, qui. ----------------------------------- Consul *necessitatibus* per id, consetetur, eu pro everti postulant homero verear ea mea, qui. ----------------------------------- .Code filter example [source,python] ----------------------------------- ''' A multi-line comment.''' def sub_word(mo): ''' Single line comment.''' word = mo.group('word') if word in keywords[language]: return quote + word + quote else: return word ----------------------------------- - Lorem ipsum dolor sit amet, consectetuer adipiscing elit. * Fusce euismod commodo velit. * Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel. * Vivamus fringilla mi eu lacus. * Donec eget arcu bibendum nunc consequat lobortis. - Nulla porttitor vulputate libero. . Fusce euismod commodo velit. . Vivamus fringilla mi eu lacus. | [float] Bottom Left Pane ~~~~~~~~~~~~~~~~ Consul *necessitatibus* per id, consetetur, eu pro everti postulant homero verear ea mea, qui. Consul *necessitatibus* per id, consetetur, eu pro everti postulant homero verear ea mea, qui. - Lorem ipsum dolor sit amet, consectetuer adipiscing elit. * Fusce euismod commodo velit. * Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel. * Vivamus fringilla mi eu lacus. * Donec eget arcu bibendum nunc consequat lobortis. - Nulla porttitor vulputate libero. . Fusce euismod commodo velit. . Vivamus fringilla mi eu lacus. |==================================
Combinations of <emphasis>align</emphasis>, <emphasis>frame</emphasis>, <emphasis>grid</emphasis>, <emphasis>valign</emphasis> and <emphasis>halign</emphasis> attributes frame grid valign halign       all all top left AsciiDoc source :frame: all :grid: all :halign: left :valign: top [options="header"] |==== ||frame | grid |valign |halign v|&nbsp; &nbsp; &nbsp; |{frame} | {grid} |{valign} |{halign} |==== Table test frame grid valign halign       sides rows middle center
AsciiDoc source :frame: sides :grid: rows :halign: center :valign: middle .Table test [width="50%",options="header"] |==== ||frame | grid |valign |halign v|&nbsp; &nbsp; &nbsp; |{frame} | {grid} |{valign} |{halign} |==== frame grid valign halign       topbot cols bottom right AsciiDoc source :frame: topbot :grid: cols :halign: right :valign: bottom [align="right",width="50%",options="header"] |==== ||frame | grid |valign |halign v|&nbsp; &nbsp; &nbsp; |{frame} | {grid} |{valign} |{halign} |==== frame grid valign halign       none none top left AsciiDoc source :frame: none :grid: none :halign: left :valign: top [align="center",width="50%",options="header"] |==== ||frame | grid |valign |halign v|&nbsp; &nbsp; &nbsp; |{frame} | {grid} |{valign} |{halign} |====
asciidoc-py3-9.0.0rc1/tests/data/lang-fr-book-test-docbook5.xml0000644000175000017500000000727213570064211023521 0ustar josephjoseph Languages Test 2003-12-21 v1.02003-12-21 Dédicace Dedication special section. Préface Preface special section. Colophon Colophon special section. The First Section
Admonishments Do not translate in the source file — they are translated to the output file Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum.
Tiger Tiger image
Followed by an example table: Table Option Description -a USER GROUP Add USER to GROUP. -R GROUP Disables access to GROUP.
And now for something completely different: monkeysmonkeys, lions and tigers.
Example Appendix Appendix special section. Bibliographie Bibliography special section. [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9. [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7. Glossaire Glossary special section. A glossary term The corresponding (indented) definition. A second glossary term The corresponding (indented) definition. Index
asciidoc-py3-9.0.0rc1/tests/data/lang-uk-test.txt0000644000175000017500000000412113570064211021103 0ustar josephjoseph// Test for lang-uk.conf language file. :lang: uk Languages Test ============== :revnumber: v1.0 :revdate: 2011-01-30 ifdef::doctype-article[] Анотація -------- Abstract special section. endif::doctype-article[] ifdef::doctype-book[] Присвячення ----------- Dedication special section. Вступ ----- Preface special section. Колофон ------- Colophon special section. endif::doctype-book[] The First Section ----------------- Admonishments ~~~~~~~~~~~~~ Do not translate in the source file -- they are translated to the output file NOTE: Lorum ipsum. TIP: Lorum ipsum. WARNING: Lorum ipsum. CAUTION: Lorum ipsum. IMPORTANT: Lorum ipsum. .Tiger image::../../images/tiger.png[Tiger image] Followed by an example table: .Table [width="60%",options="header"] |============================================== | Option | Description | -a 'USER GROUP' | Add 'USER' to 'GROUP'. | -R 'GROUP' | Disables access to 'GROUP'. |============================================== And now for something completely different: ((monkeys)), lions and tigers. Додаток A: Example Appendix --------------------------- Appendix special section. Бібліографія ------------ Bibliography special section. [bibliography] - [[[taoup]]] Eric Steven Raymond. 'The Art of Unix Programming'. Addison-Wesley. ISBN 0-13-142901-9. - [[[walsh-muellner]]] Norman Walsh & Leonard Muellner. 'DocBook - The Definitive Guide'. O'Reilly & Associates. 1999. ISBN 1-56592-580-7. Словник термінів ---------------- Glossary special section. [glossary] A glossary term:: The corresponding (indented) definition. A second glossary term:: The corresponding (indented) definition. ifdef::basebackend-docbook[] Предметний покажчик ------------------- //////////////////////////////////////////////////////////////// Index special section. The index is normally left completely empty, it's contents being generated automatically by the DocBook toolchain. //////////////////////////////////////////////////////////////// endif::basebackend-docbook[] asciidoc-py3-9.0.0rc1/tests/data/open-block-test__1.png0000644000175000017500000000164513570064211022132 0ustar josephjosephPNG  IHDRt7` pHYs+WIDAThm0?@B6B 77 xۇJ[d (^R^:3Rs.W3{ٚ\]x pΥιRj\ˁ~~#PQ9n¨teflؗ.06YKjd:3BK3{^O |(;Xp᥮69^wE&Z F@OЛ]Lށ)kꋿs&ژJI[} ֛ٖX9MP.ͬ/>u_=N-=ȵQHlAf9Vc~|s ,<0Nj;v9Џ43E&n_*ff\R1&~_k C?NGx/k=D# ^h-䀦bFDIVV'^sSorp $b6 `e/*3uO fyn &^ݗM$ԙٍ`+GwkAat'{8 KRZ`ϑ(GY ]-4@:E`.@}z՞33̆Z}`)? mE%>M3AHd*=ō(Ihh\i_l"+ͬ_GN!H6*0y(J+b(no`J*(*=>79>m1+%*iȟY|}TfncJ!;4f=a2x˧YY$]x\x\4GjLb.&TOKl#/d+֪eIENDB`asciidoc-py3-9.0.0rc1/tests/data/utf8-bom-test-html5.html0000644000175000017500000003734613570064211022401 0ustar josephjoseph UTF-8 BOM Test

Include file with UTF-8 BOM:

UTF-8 BOM Test

Include file with UTF-8 BOM:

include::utf8-bom-test.txt[depth=1]

Lorum ipsum…

Lorum ipsum…


asciidoc-py3-9.0.0rc1/tests/data/lang-es-book-test-xhtml11.html0000644000175000017500000004661613570064211023463 0ustar josephjoseph Languages Test

Dedicación

Dedication special section.

Prefacio

Preface special section.

Colofón

Colophon special section.

The First Section

Admonishments

Do not translate in the source file — they are translated to the output file

Nota
Lorum ipsum.
Sugerencia
Lorum ipsum.
Aviso
Lorum ipsum.
Atención
Lorum ipsum.
Importante
Lorum ipsum.
Tiger image
Figura 1. Tiger

Followed by an example table:

Tabla 1. Table
Option Description

-a USER GROUP

Add USER to GROUP.

-R GROUP

Disables access to GROUP.

And now for something completely different: monkeys, lions and tigers.

Apéndice A: Example Appendix

Appendix special section.

Bibliografía

Bibliography special section.

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.

Glosario

Glossary special section.

A glossary term

The corresponding (indented) definition.

A second glossary term

The corresponding (indented) definition.


asciidoc-py3-9.0.0rc1/tests/data/testcases-docbook.xml0000644000175000017500000007736413570064211022210 0ustar josephjoseph
Test <emphasis>Cases</emphasis> Joe Bloggs JB
Passthrough attributes *lorum ipsum* <emphasis>*lorum ipsum*</emphasis>
Author attributes {eval:expression}, {sys:command} and {sys2:command}, {counter:c1} Hello Joe Bloggs (Joe Bloggs, JB). first name or last name or surname. first name and last name.
System attributes 1 99 A 1 = 1, 99 = 99, A = A 2 100 B 2 100 B 2 = 2, 100 = 100, B = B y: Foobar 3, 7 3, 3
Quoted text attributes A=X, (X), X, [X] X A=X, (_X_), X, [X] X X [*X*] +X+ intro intro fun with text. fun with text. fun with text. fun with text. fun with text. “fun with text”. ‘fun with text’. fun with text. fun with text. Obvious and very obvious. Underline text, overline text and line-through text. Testing 123 … (“+1\n+”) if (usually “+-1\n+”) (“1\n”) if (usually “-1\n”) (‘Joe Bloggs’) and ‘Joe Bloggs’
Configuration attribute entries term definition term definition
role attribute Paragraph with a role attribute. first second third
Break list nesting List 1. List 1. List 2. List 2.
Listing Blocks $ ls -al [subs="quotes"] ------------------------------------------ $ ls *-al* ------------------------------------------ Listing $ ls -al Listing example $ ls -al Python paragraph if n < 0: print 'Hello World!' Titled Python listing if n < 0: print 'Hello World!' Python listing example if n < 0: print 'Hello World!'
Links An inline anchor. An inline anchor with reftext. ; captioned link to this test case. link to inline anchor; captioned link to inline anchor. Link to anchor. An example link to a bibliography entry . [Test::Unit] http://ruby-doc.org/stdlib/libdoc/test/unit/rdoc/classes/Test/Unit.html
Titles Level 4 Level 3 Level 2 Level 1 Level 4 Level 3 Level 2 Level 1 Block titleLorum ipsum.
Lists Bulleted: item text item text item text item text item text item text Numbered: arabic (decimal) numbering loweralpha numbering upperalpha numbering lowerroman numbering upperroman numbering arabic (decimal) numbering loweralpha numbering lowerroman numbering upperalpha numbering upperroman numbering Labeled: label item text label item text label item text label item text With item anchor: one Item one. two Item two. three Item three.
Inline passthroughs Test `ABC`. Test ABC. The ++i and ++j auto-increments. Paths ~/.vim and ~/docs. The __init__ method. The {id} attribute. List start number test: List item 7. List item 8.
Images
Block images
Tyger tyger Tyger tyger
Tyger tyger two Tiger
music2.png Lorum ipsum.
Inline images Inline image smallnew.png Inline image NEW! Inline image NEW!
Admonishments Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum.
Backslash escapes ApostropheDon’t vs don't. ExceptionsThere are a number of exceptions to the usual single backslash rule — mostly relating to URL macros that have two syntaxes or quoting ambiguity. Here are some non-standard escape examples: AsciiDoc Renders \joe.bloggs@example.com <\joe.bloggs@example.com> \mailto:[\joe.bloggs@example.com] joe.bloggs@example.com <joe.bloggs@example.com> mailto:[joe.bloggs@example.com] \http://www.example.com \\http://www.example.com[] \\http://www.example.com[Foobar Limited] http://www.example.com http://www.example.com[] http://www.example.com[Foobar Limited] A C\++ Library for C++ \\``double-quotes'' \*\*F**ile Open\... A C++ Library for C++ ``double-quotes'' **F**ile Open...
Paragraphs Normal paragraphThis is a bold a line This is a strong line This is another strong line Literal paragraph This is a *bold* a line This is a 'strong' line This is another _strong_ line
Verse paragraph This is a bold a line This is a strong line This is another strong line
Indented (literal) paragraph This is a *bold* a line This is a 'strong' line This is another _strong_ line Indented with quotes substitution This is a bold a line This is a strong line This is another strong line Literal paragraph with quotes substitution This is a bold a line This is a strong line This is another strong line Literal block with quotes substitution This is a bold a line This is a strong line This is another strong line
William Blake from Auguries of Innocence To see a world in a grain of sand, And a heaven in a wild flower, Hold infinity in the palm of your hand, And eternity in an hour.
Bertrand Russell The World of Mathematics (1956) A good notation has subtlety and suggestiveness which at times makes it almost seem like a live teacher.
URLs
Mail Addresses joe_bloggs@mail_server.com_ joe-bloggs@mail-server.com. joe-bloggs@mail-server.com,joe-bloggs@mail-server.com, Mail Mail Mail joe.bloggs@mail.server.com lorum ipsum.
Comments Qui in magna commodo, est labitur dolorum an. Est ne magna primis. adolescens. Sit munere ponderum dignissim et. Minim luptatum et. This comment line will be displayed in the output. Qui in magna commodo, est labitur dolorum an. Est ne magna primis. Visible inline comment line. adolescens. Sit munere ponderum dignissim et. Minim luptatum et. Block titleLorum ipsum. Block titleLorum ipsum.
List of terms Using positional attribute to specify section template. A glossary term The corresponding (indented) definition. A second glossary term The corresponding (indented) definition. List of terms Using named template attribute to specify section template. A glossary term The corresponding (indented) definition. A second glossary term The corresponding (indented) definition.
Index Terms Test 1 test1test1. Test 2 test2 . Test 3 test3secondary secondary . Test 4 test4secondarytertiary secondarytertiary tertiary . Test 5 test5test5. Test 6 test6 . Test 7 test7secondary secondary . Test 8 test8secondarytertiary secondarytertiary tertiary . Multi-passthough substitution (see http://groups.google.com/group/asciidoc/browse_frm/thread/1269dc2feb1a482c) foofoo foobar bar foobartwo bartwo two
Table with fractional column width units pagewidth and pageunits only apply to DocBook outputs. Horizontal and vertical source data Date Duration Avg HR Notes 22-Aug-08 10:24 157 Worked out MSHR (max sustainable heart rate) by going hard for this interval. 22-Aug-08 23:03 152 Back-to-back with previous interval. 24-Aug-08 40:00 145 Moderately hard interspersed with 3x 3min intervals (2min hard + 1min really hard taking the HR up to 160).
Table with parent configuration file and header attribute entry Attribute entry from header: TEST_ATTRIBUTE Replacement from testcases.conf configuration file: TEST_REPLACEMENT
Table column specifiers with merged cells See http://groups.google.com/group/asciidoc/browse_thread/thread/c9238380a1f2507a 1- A 2- B i- a ii- b Values 1 v1 v2 v3 Values 2 v4 v5 v6
Floating tables and images Simple table 1 2 A 3 4 B 5 6 C
Tiger Tiger image
Section level offsets At level 1
Section title At level 2
Section title At level 2
Section title At level 3
Section level offsets At level 1
Single-quoted attributes
Samuel Johnson Sir, a woman’s preaching is like a dog’s walking on his hind legs. It is not done well; but you are surprised to find it done at all.
Samuel Johnson Sir, a woman’s preaching is like a dog’s walking on his hind legs. It is not done well; but you are surprised to find it done at all.
Footnotes Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel. footnote one. Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel. Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel. Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel. footnote two. Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel. Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel . Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel. http://asciidoc.org/ Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel images/smallnew.png Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel. http://asciidoc.org/ Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel AsciiDoc website.. Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et A footnote, "with an image" images/smallnew.png . With [square brackets] Qui in magna commodo, est labitur dolorum an. Est ne magna primis.
Rulers and page breaks Lorum ipsum… Lorum ipsum… Lorum ipsum…
这是一个测试 Double-with character titles. link to auto-generated section ID.
Block macros RS458 is 2.
Template line 1. Template line 2.
àn îd without accénts Lorum ipsum…
àn îd with accénts Lorum ipsum…
Inline macros A URL with [square brackets].
asciidoc-py3-9.0.0rc1/tests/data/lang-en-man-test-docbook5.xml0000644000175000017500000000171013570064211023324 0ustar josephjoseph ASCIIDOC(1) asciidoc 1     asciidoc converts an AsciiDoc text file to HTML or DocBook asciidoc [OPTIONS] FILE DESCRIPTION The asciidoc(1) command translates the AsciiDoc text file FILE to DocBook or HTML. If FILE is - then the standard input is used. asciidoc-py3-9.0.0rc1/tests/data/article-data-uri-html5.html0000644000175000017500000010217013570064211023076 0ustar josephjoseph The Article Title

This is the optional preamble (an untitled section body). Useful for writing simple sectionless documents consisting only of a preamble.

Note The abstract, preface, appendix, bibliography, glossary and index section titles are significant (specialsections).

Example Abstract

The optional abstract (one or more paragraphs) goes here.

This document is an AsciiDoc article skeleton containing briefly annotated element placeholders plus a couple of example index entries and footnotes.

1. The First Section

Article sections start at level 1 and can be nested up to four levels deep.
[An example footnote.]

And now for something completely different: monkeys, lions and tigers (Bengal and Siberian) using the alternative syntax index entries. Note that multi-entry terms generate separate index entries.

Here are a couple of image examples: an images/smallnew.png example inline image followed by an example block image:

Tiger image
Figure 1. Tiger block image

Followed by an example table:

Table 1. An example table
Option Description

-a USER GROUP

Add USER to GROUP.

-R GROUP

Disables access to GROUP.

Example 1. An example example

Lorum ipum…

1.1. Sub-section with Anchor

Sub-section at level 2.

1.1.1. A Nested Sub-section

Sub-section at level 3.

Yet another nested Sub-section

Sub-section at level 4.

This is the maximum sub-section depth supported by the distributed AsciiDoc configuration.
[A second example footnote.]

2. The Second Section

Article sections are at level 1 and can contain sub-sections nested up to four deep.

An example link to anchor at start of the first sub-section.

An example link to a bibliography entry [taoup].

Appendix A: Example Appendix

AsciiDoc article appendices are just just article sections with specialsection titles.

Appendix Sub-section

Appendix sub-section at level 2.

Example Bibliography

The bibliography list is a style of AsciiDoc bulleted list.

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.

Example Glossary

Glossaries are optional. Glossaries entries are an example of a style of AsciiDoc labeled lists.

A glossary term

The corresponding (indented) definition.

A second glossary term

The corresponding (indented) definition.


asciidoc-py3-9.0.0rc1/tests/data/lang-hu-man-test-docbook5.xml0000644000175000017500000000171413570064211023342 0ustar josephjoseph ASCIIDOC(1) asciidoc 1     asciidoc converts an AsciiDoc text file to HTML or DocBook asciidoc [OPTIONS] FILE DESCRIPTION The asciidoc(1) command translates the AsciiDoc text file FILE to DocBook or HTML. If FILE is - then the standard input is used. asciidoc-py3-9.0.0rc1/tests/data/lang-pt-BR-article-test-docbook.xml0000644000175000017500000000674113570064211024442 0ustar josephjoseph
Languages Test 2003-12-21 v1.02003-12-21 Abstract special section.
The First Section
Admonishments Do not translate in the source file — they are translated to the output file Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum.
Tiger Tiger image
Followed by an example table: Table Option Description -a USER GROUP Add USER to GROUP. -R GROUP Disables access to GROUP.
And now for something completely different: monkeysmonkeys, lions and tigers.
Appêndice A: Example Appendix Appendix special section.
Bibliografia Bibliography special section. [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9. [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7. Glossário Glossary special section. A glossary term The corresponding (indented) definition. A second glossary term The corresponding (indented) definition. Índice
asciidoc-py3-9.0.0rc1/tests/data/lang-fr-test.txt0000644000175000017500000000373213570064211021102 0ustar josephjoseph// Test for lang-fr.conf language file. :lang: fr Languages Test ============== :revnumber: v1.0 :revdate: 2003-12-21 ifdef::doctype-article[] Résumé ------ Abstract special section. endif::doctype-article[] ifdef::doctype-book[] Dédicace -------- Dedication special section. Préface ------- Preface special section. Colophon -------- Colophon special section. endif::doctype-book[] The First Section ----------------- Admonishments ~~~~~~~~~~~~~ Do not translate in the source file -- they are translated to the output file NOTE: Lorum ipsum. TIP: Lorum ipsum. WARNING: Lorum ipsum. CAUTION: Lorum ipsum. IMPORTANT: Lorum ipsum. .Tiger image::../../images/tiger.png[Tiger image] Followed by an example table: .Table [width="60%",options="header"] |============================================== | Option | Description | -a 'USER GROUP' | Add 'USER' to 'GROUP'. | -R 'GROUP' | Disables access to 'GROUP'. |============================================== And now for something completely different: ((monkeys)), lions and tigers. Appendice A: Example Appendix ----------------------------- Appendix special section. Bibliographie ------------- Bibliography special section. [bibliography] - [[[taoup]]] Eric Steven Raymond. 'The Art of Unix Programming'. Addison-Wesley. ISBN 0-13-142901-9. - [[[walsh-muellner]]] Norman Walsh & Leonard Muellner. 'DocBook - The Definitive Guide'. O'Reilly & Associates. 1999. ISBN 1-56592-580-7. Glossaire --------- Glossary special section. [glossary] A glossary term:: The corresponding (indented) definition. A second glossary term:: The corresponding (indented) definition. ifdef::basebackend-docbook[] Index ----- //////////////////////////////////////////////////////////////// Index special section. The index is normally left completely empty, it's contents being generated automatically by the DocBook toolchain. //////////////////////////////////////////////////////////////// endif::basebackend-docbook[] asciidoc-py3-9.0.0rc1/tests/data/lang-uk-article-test-docbook.xml0000644000175000017500000000715613570064211024136 0ustar josephjoseph
Languages Test 2011-01-30 v1.02011-01-30 Abstract special section.
The First Section
Admonishments Do not translate in the source file — they are translated to the output file Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum.
Tiger Tiger image
Followed by an example table: Table Option Description -a USER GROUP Add USER to GROUP. -R GROUP Disables access to GROUP.
And now for something completely different: monkeysmonkeys, lions and tigers.
Додаток A: Example Appendix Appendix special section.
Бібліографія Bibliography special section. [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9. [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7. Словник термінів Glossary special section. A glossary term The corresponding (indented) definition. A second glossary term The corresponding (indented) definition. Предметний покажчик
asciidoc-py3-9.0.0rc1/tests/data/lang-cs-book-test-xhtml11.html0000644000175000017500000004660113570064211023453 0ustar josephjoseph Languages Test

Dedica

Dedication special section.

Prefazione

Preface special section.

Colofone

Colophon special section.

The First Section

Admonishments

Do not translate in the source file — they are translated to the output file

Poznámka
Lorum ipsum.
Tip
Lorum ipsum.
Varování
Lorum ipsum.
Pozor
Lorum ipsum.
Důležité
Lorum ipsum.
Tiger image
Obrázek 1. Tiger

Followed by an example table:

Tabulka 1. Table
Option Description

-a USER GROUP

Add USER to GROUP.

-R GROUP

Disables access to GROUP.

And now for something completely different: monkeys, lions and tigers.

Appendice A: Example Appendix

Appendix special section.

Bibliografia

Bibliography special section.

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.

Glossario

Glossary special section.

A glossary term

The corresponding (indented) definition.

A second glossary term

The corresponding (indented) definition.


asciidoc-py3-9.0.0rc1/tests/data/lang-pt-BR-book-test-xhtml11.html0000644000175000017500000004664113570064211023776 0ustar josephjoseph Languages Test

Dedicação

Dedication special section.

Prefácio

Preface special section.

Cólofon

Colophon special section.

The First Section

Admonishments

Do not translate in the source file — they are translated to the output file

Nota
Lorum ipsum.
Sugestão
Lorum ipsum.
Aviso
Lorum ipsum.
Atenção
Lorum ipsum.
Importante
Lorum ipsum.
Tiger image
Figura 1. Tiger

Followed by an example table:

Tabela 1. Table
Option Description

-a USER GROUP

Add USER to GROUP.

-R GROUP

Disables access to GROUP.

And now for something completely different: monkeys, lions and tigers.

Appêndice A: Example Appendix

Appendix special section.

Bibliografia

Bibliography special section.

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.

Glossário

Glossary special section.

A glossary term

The corresponding (indented) definition.

A second glossary term

The corresponding (indented) definition.


asciidoc-py3-9.0.0rc1/tests/data/lang-sv-book-test-html4.html0000644000175000017500000000657213570064211023233 0ustar josephjoseph Languages Test

Languages Test

version v1.0, 2003-12-21


Dedikation

Dedication special section.


Förord

Preface special section.


Kolofon

Colophon special section.


The First Section

Admonishments

Do not translate in the source file — they are translated to the output file

Not

Lorum ipsum.

Tips

Lorum ipsum.

Varning

Lorum ipsum.

Varning

Lorum ipsum.

Viktigt

Lorum ipsum.
Tiger image

Figur 1. Tiger

Followed by an example table:

Option Description

-a USER GROUP

Add USER to GROUP.

-R GROUP

Disables access to GROUP.

Tabell 1. Table

And now for something completely different: monkeys, lions and tigers.


Appendix A: Exempel-appendix

Appendix special section.


Referenser

Bibliography special section.

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.


Ordlista

Glossary special section.

A glossary term

The corresponding (indented) definition.

A second glossary term

The corresponding (indented) definition.


Version v1.0
Senast uppdaterad 2002-11-25 00:37:42 UTC

asciidoc-py3-9.0.0rc1/tests/data/lang-sv-man-test.txt0000644000175000017500000000057513570064211021676 0ustar josephjoseph// Test for lang-sv.conf language file. :lang: sv ASCIIDOC(1) =========== :doctype: manpage NAMN ---- asciidoc - converts an AsciiDoc text file to HTML or DocBook ÖVERSIKT -------- *asciidoc* ['OPTIONS'] 'FILE' BESKRIVNING ----------- The asciidoc(1) command translates the AsciiDoc text file 'FILE' to DocBook or HTML. If 'FILE' is '-' then the standard input is used. ... asciidoc-py3-9.0.0rc1/tests/data/lang-ro-article-test-html4.html0000644000175000017500000000637113570064211023711 0ustar josephjoseph Languages Test

Languages Test

version v1.0, 2003-12-21


Abstract

Abstract special section.


The First Section

Admonishments

Do not translate in the source file — they are translated to the output file

Nota

Lorum ipsum.

Suggerimento

Lorum ipsum.

Avvertenza

Lorum ipsum.

Attenzione

Lorum ipsum.

Importante

Lorum ipsum.
Tiger image

Figura 1. Tiger

Followed by an example table:

Option Description

-a USER GROUP

Add USER to GROUP.

-R GROUP

Disables access to GROUP.

Tabella 1. Table

And now for something completely different: monkeys, lions and tigers.


Appendice A: Example Appendix

Appendix special section.


Bibliografia

Bibliography special section.

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.


Glossario

Glossary special section.

A glossary term

The corresponding (indented) definition.

A second glossary term

The corresponding (indented) definition.


Versione v1.0
Ultimo aggiornamento 2002-11-25 00:37:42 UTC

asciidoc-py3-9.0.0rc1/tests/data/lang-nl-man-test-docbook.xml0000644000175000017500000000210513570064211023245 0ustar josephjoseph ASCIIDOC(1) asciidoc 1     asciidoc converts an AsciiDoc text file to HTML or DocBook asciidoc [OPTIONS] FILE DESCRIPTION The asciidoc(1) command translates the AsciiDoc text file FILE to DocBook or HTML. If FILE is - then the standard input is used. asciidoc-py3-9.0.0rc1/tests/data/utf8-bom-test-docbook5.xml0000644000175000017500000000106113570064211022672 0ustar josephjoseph
UTF-8 BOM Test Include file with UTF-8 BOM:
UTF-8 BOM Test Include file with UTF-8 BOM: include::utf8-bom-test.txt[depth=1] Lorum ipsum… Lorum ipsum…
asciidoc-py3-9.0.0rc1/tests/data/lang-nl-book-test-docbook.xml0000644000175000017500000000747213570064211023440 0ustar josephjoseph Languages Test 2003-12-21 v1.02003-12-21 Opdracht Bijzonder dedication sectie. Voorwoord Bijzonder preface sectie. Colofon Bijzonder colophon sectie. Het Eerste Hoofdstuk
Vermaningen Vertaal ze niet in the broncode — ze worden vanzelf vertaald in het output bestand Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum.
Tiger Tiger image
Gevolgd door een voorbeeld tabel: Table Optie Beschrijving -a USER GROUP Voeg USER toe aan GROUP. -R GROUP Schakel toegang uit tot GROUP.
En nu iets totaal anders: apenapen, leeuwen en tijgers.
Voorbeeld Bijlage Bijzonder appendix sectie. Literatuurlijst Bijzonder bibliography sectie. [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9. [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7. Woordenlijst Bijzonder glossary sectie. Een woordenlijst term De bijhorende (ingesprongen) definitie. Een tweede term De bijhorende (ingesprongen) definitie. Register
asciidoc-py3-9.0.0rc1/tests/data/lang-nl-article-test-xhtml11.html0000644000175000017500000004622013570064211024145 0ustar josephjoseph Languages Test

Samenvatting

Bijzonder abstract sectie.

Het Eerste Hoofdstuk

Vermaningen

Vertaal ze niet in the broncode — ze worden vanzelf vertaald in het output bestand

Opmerking
Lorum ipsum.
Tip
Lorum ipsum.
Waarschuwing
Lorum ipsum.
Let op
Lorum ipsum.
Belangrijk
Lorum ipsum.
Tiger image
Figuur 1. Tiger

Gevolgd door een voorbeeld tabel:

Tabel 1. Table
Optie Beschrijving

-a USER GROUP

Voeg USER toe aan GROUP.

-R GROUP

Schakel toegang uit tot GROUP.

En nu iets totaal anders: apen, leeuwen en tijgers.

Bijlage A: Voorbeeld Bijlage

Bijzonder appendix sectie.

Literatuurlijst

Bijzonder bibliography sectie.

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.

Woordenlijst

Bijzonder glossary sectie.

Een woordenlijst term

De bijhorende (ingesprongen) definitie.

Een tweede term

De bijhorende (ingesprongen) definitie.


asciidoc-py3-9.0.0rc1/tests/data/lang-hu-man-test.txt0000644000175000017500000000060213570064211021651 0ustar josephjoseph// Test for lang-hu.conf language file. :lang: hu ASCIIDOC(1) =========== :doctype: manpage NAME ---- asciidoc - converts an AsciiDoc text file to HTML or DocBook ÁTTEKINTÉS ---------- *asciidoc* ['OPTIONS'] 'FILE' DESCRIPTION ----------- The asciidoc(1) command translates the AsciiDoc text file 'FILE' to DocBook or HTML. If 'FILE' is '-' then the standard input is used. ... asciidoc-py3-9.0.0rc1/tests/data/lang-nl-book-test-html4.html0000644000175000017500000000672513570064211023214 0ustar josephjoseph Languages Test

Languages Test

version v1.0, 2003-12-21


Opdracht

Bijzonder dedication sectie.


Voorwoord

Bijzonder preface sectie.


Colofon

Bijzonder colophon sectie.


Het Eerste Hoofdstuk

Vermaningen

Vertaal ze niet in the broncode — ze worden vanzelf vertaald in het output bestand

Opmerking

Lorum ipsum.

Tip

Lorum ipsum.

Waarschuwing

Lorum ipsum.

Let op

Lorum ipsum.

Belangrijk

Lorum ipsum.
Tiger image

Figuur 1. Tiger

Gevolgd door een voorbeeld tabel:

Optie Beschrijving

-a USER GROUP

Voeg USER toe aan GROUP.

-R GROUP

Schakel toegang uit tot GROUP.

Tabel 1. Table

En nu iets totaal anders: apen, leeuwen en tijgers.


Bijlage A: Voorbeeld Bijlage

Bijzonder appendix sectie.


Literatuurlijst

Bijzonder bibliography sectie.

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.


Woordenlijst

Bijzonder glossary sectie.

Een woordenlijst term

De bijhorende (ingesprongen) definitie.

Een tweede term

De bijhorende (ingesprongen) definitie.


Versie v1.0
Laatst bijgewerkt 2002-11-25 00:37:42 UTC

asciidoc-py3-9.0.0rc1/tests/data/filters-test-html4.html0000644000175000017500000000413013570064211022370 0ustar josephjoseph Filter Tests

Filter Tests


Toy filter example from User Guide

''' A multi-line
    comment.'''
def sub_word(mo):
    ''' Single line comment.'''
    word = mo.group('word')   # Inline comment
    if word in keywords[language]:
        return quote + word + quote
    else:
        return word

Pychart Chart generations from FAQ

No barchart to avoid depending on Pychart for the tests. See also: http://asciidoc.org/faq.html#_is_it_possible_to_include_charts_in_asciidoc_documents

barchart.png

Graphviz Graphs

Graphviz->AsciiDoc->HTML

Figure 1. Simple graph

graphviz2.png

Figure 2. Not so simple graph


Music filter

music1.png

Figure 3. A tune generated from ABC notation

Link to following fragment.

music2.png

Figure 4. A fragment generated from LilyPond source


Last updated 2002-11-25 00:37:42 UTC

asciidoc-py3-9.0.0rc1/tests/data/open-block-test-xhtml11.html0000644000175000017500000004624413570064211023233 0ustar josephjoseph Additional Open Block and Paragraph styles
Lorum ipsum…

Lorum ipsum…

Lorum ipsum…

Lorum ipsum…
A title

Lorum ipsum…

Lorum ipsum…

Note

Lorum ipsum…

Lorum ipsum…

Caution

Lorum ipsum…

Lorum ipsum…

Important

Lorum ipsum…

Lorum ipsum…

Warning

Lorum ipsum…

Lorum ipsum…

Tip

Lorum ipsum…

Lorum ipsum…

As he spoke there was the sharp sound of horses' hoofs and grating wheels against the curb, followed by a sharp pull at the bell. Holmes whistled.

"A pair, by the sound," said he. "Yes," he continued, glancing out of the window. "A nice little brougham and a pair of beauties. A hundred and fifty guineas apiece. There’s money in this case, Watson, if there is nothing else."

The Adventures of Sherlock Holmes
— Sir Arthur Conan Doyle
To see a world in a grain of sand,
And a heaven in a wild flower,
Hold infinity in the palm of your hand,
And eternity in an hour.
from Auguries of Innocence
— William Blake
y = 15

if y == 24:
    x = 42
open-block-test__1.png
open-block-test__2.png
open-block-test__3.png

asciidoc-py3-9.0.0rc1/tests/data/lang-de-article-test-docbook.xml0000644000175000017500000000676213570064211024111 0ustar josephjoseph
Languages Test 2003-12-21 v1.02003-12-21 Abstract special section.
The First Section
Admonishments Do not translate in the source file — they are translated to the output file Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum.
Tiger Tiger image
Followed by an example table: Table Option Description -a USER GROUP Add USER to GROUP. -R GROUP Disables access to GROUP.
And now for something completely different: monkeysmonkeys, lions and tigers.
Example Appendix Appendix special section. Literaturverzeichnis Bibliography special section. [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9. [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7. Glossar Glossary special section. A glossary term The corresponding (indented) definition. A second glossary term The corresponding (indented) definition. Stichwortverzeichnis
asciidoc-py3-9.0.0rc1/tests/data/lang-de-book-test-xhtml11.html0000644000175000017500000004661613570064211023444 0ustar josephjoseph Languages Test

Widmung

Dedication special section.

Vorwort

Preface special section.

Kolophon

Colophon special section.

The First Section

Admonishments

Do not translate in the source file — they are translated to the output file

Anmerkung
Lorum ipsum.
Tipp
Lorum ipsum.
Warnung
Lorum ipsum.
Achtung
Lorum ipsum.
Wichtig
Lorum ipsum.
Tiger image
Abbildung 1. Tiger

Followed by an example table:

Tabelle 1. Table
Option Description

-a USER GROUP

Add USER to GROUP.

-R GROUP

Disables access to GROUP.

And now for something completely different: monkeys, lions and tigers.

Anhang A: Example Appendix

Appendix special section.

Literaturverzeichnis

Bibliography special section.

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.

Glossar

Glossary special section.

A glossary term

The corresponding (indented) definition.

A second glossary term

The corresponding (indented) definition.


asciidoc-py3-9.0.0rc1/tests/data/lang-es-article-test-docbook.xml0000644000175000017500000000670413570064211024124 0ustar josephjoseph
Languages Test 2003-12-21 v1.02003-12-21 Abstract special section.
The First Section
Admonishments Do not translate in the source file — they are translated to the output file Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum.
Tiger Tiger image
Followed by an example table: Table Option Description -a USER GROUP Add USER to GROUP. -R GROUP Disables access to GROUP.
And now for something completely different: monkeysmonkeys, lions and tigers.
Example Appendix Appendix special section. Bibliografía Bibliography special section. [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9. [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7. Glosario Glossary special section. A glossary term The corresponding (indented) definition. A second glossary term The corresponding (indented) definition. Índice
asciidoc-py3-9.0.0rc1/tests/data/lang-it-man-test.txt0000644000175000017500000000057213570064211021657 0ustar josephjoseph// Test for lang-it.conf language file. :lang: it ASCIIDOC(1) =========== :doctype: manpage NAME ---- asciidoc - converts an AsciiDoc text file to HTML or DocBook SINOSSI ------- *asciidoc* ['OPTIONS'] 'FILE' DESCRIPTION ----------- The asciidoc(1) command translates the AsciiDoc text file 'FILE' to DocBook or HTML. If 'FILE' is '-' then the standard input is used. ... asciidoc-py3-9.0.0rc1/tests/data/lang-cs-book-test-html4.html0000644000175000017500000000661613570064211023207 0ustar josephjoseph Languages Test

Languages Test

version v1.0, 2003-12-21


Dedica

Dedication special section.


Prefazione

Preface special section.


Colofone

Colophon special section.


The First Section

Admonishments

Do not translate in the source file — they are translated to the output file

Poznámka

Lorum ipsum.

Tip

Lorum ipsum.

Varování

Lorum ipsum.

Pozor

Lorum ipsum.

Důležité

Lorum ipsum.
Tiger image

Obrázek 1. Tiger

Followed by an example table:

Option Description

-a USER GROUP

Add USER to GROUP.

-R GROUP

Disables access to GROUP.

Tabulka 1. Table

And now for something completely different: monkeys, lions and tigers.


Appendice A: Example Appendix

Appendix special section.


Bibliografia

Bibliography special section.

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.


Glossario

Glossary special section.

A glossary term

The corresponding (indented) definition.

A second glossary term

The corresponding (indented) definition.


Verze v1.0
Poslední úprava 2002-11-25 00:37:42 UTC

asciidoc-py3-9.0.0rc1/tests/data/lang-fr-book-test-html4.html0000644000175000017500000000663213570064211023207 0ustar josephjoseph Languages Test

Languages Test

version v1.0, 2003-12-21


Dédicace

Dedication special section.


Préface

Preface special section.


Colophon

Colophon special section.


The First Section

Admonishments

Do not translate in the source file — they are translated to the output file

Note

Lorum ipsum.

Astuce

Lorum ipsum.

Attention

Lorum ipsum.

Avertissement

Lorum ipsum.

Important

Lorum ipsum.
Tiger image

Figure 1. Tiger

Followed by an example table:

Option Description

-a USER GROUP

Add USER to GROUP.

-R GROUP

Disables access to GROUP.

Tableau 1. Table

And now for something completely different: monkeys, lions and tigers.


Appendice A: Example Appendix

Appendix special section.


Bibliographie

Bibliography special section.

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.


Glossaire

Glossary special section.

A glossary term

The corresponding (indented) definition.

A second glossary term

The corresponding (indented) definition.


Version v1.0
Dernière mise à jour 2002-11-25 00:37:42 UTC

asciidoc-py3-9.0.0rc1/tests/data/lang-en-last-updated-is-revdate-test-html4.html0000644000175000017500000000631513570064211026676 0ustar josephjoseph Languages Test

Languages Test

version v1.0, 2003-12-21


Abstract

Abstract special section.


The First Section

Admonishments

Do not translate in the source file — they are translated to the output file

Note

Lorum ipsum.

Tip

Lorum ipsum.

Warning

Lorum ipsum.

Caution

Lorum ipsum.

Important

Lorum ipsum.
Tiger image

Figure 1. Tiger

Followed by an example table:

Option Description

-a USER GROUP

Add USER to GROUP.

-R GROUP

Disables access to GROUP.

Table 1. Table

And now for something completely different: monkeys, lions and tigers.


Appendix A: Example Appendix

Appendix special section.


Bibliography

Bibliography special section.

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.


Glossary

Glossary special section.

A glossary term

The corresponding (indented) definition.

A second glossary term

The corresponding (indented) definition.


Version v1.0
Last updated 2003-12-21

asciidoc-py3-9.0.0rc1/tests/data/lang-hu-article-test-html5.html0000644000175000017500000004600713570064211023706 0ustar josephjoseph Languages Test

Kivonat

Abstract special section.

The First Section

Admonishments

Do not translate in the source file — they are translated to the output file

Megjegyzés
Lorum ipsum.
Tipp
Lorum ipsum.
Figyelem
Lorum ipsum.
Figyelmeztetés
Lorum ipsum.
Fontos
Lorum ipsum.
Tiger image
Ábra 1. Tiger

Followed by an example table:

Táblázat 1. Table
Option Description

-a USER GROUP

Add USER to GROUP.

-R GROUP

Disables access to GROUP.

And now for something completely different: monkeys, lions and tigers.

A függelék: Example Appendix

Appendix special section.

Bibliográfia

Bibliography special section.

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.

Szójegyzék

Glossary special section.

A glossary term

The corresponding (indented) definition.

A second glossary term

The corresponding (indented) definition.


asciidoc-py3-9.0.0rc1/tests/data/lang-it-book-test-docbook5.xml0000644000175000017500000000726613570064211023531 0ustar josephjoseph Languages Test 2003-12-21 v1.02003-12-21 Dedica Dedication special section. Prefazione Preface special section. Colofone Colophon special section. The First Section
Admonishments Do not translate in the source file — they are translated to the output file Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum.
Tiger Tiger image
Followed by an example table: Table Option Description -a USER GROUP Add USER to GROUP. -R GROUP Disables access to GROUP.
And now for something completely different: monkeysmonkeys, lions and tigers.
Example Appendix Appendix special section. Bibliografia Bibliography special section. [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9. [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7. Glossario Glossary special section. A glossary term The corresponding (indented) definition. A second glossary term The corresponding (indented) definition. Index
asciidoc-py3-9.0.0rc1/tests/data/article-docinfo-docbook5.xml0000644000175000017500000002154513570064211023327 0ustar josephjoseph
The Article Title 2003-12 Author's Name authors@email.address AN 1.02003-12AN Dr Lois Common-Denominator Director, M. Behn School of Coop. Eng. Director of Cooperative Efforts The Marguerite Behn International School of Cooperative Engineering Mr Steven Norman T ATI Senior Application Analyst Foobar, Inc. Application Development Peter Pan Sr. Spiderman Peter's a super hero in his spare time. 2009 Behn International This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 1.1 May 2009 PP Updates. 1.0 October 2003 PP First release. This is the optional preamble (an untitled section body). Useful for writing simple sectionless documents consisting only of a preamble. The abstract, preface, appendix, bibliography, glossary and index section titles are significant (specialsections). The optional abstract (one or more paragraphs) goes here. This document is an AsciiDoc article skeleton containing briefly annotated element placeholders plus a couple of example index entries and footnotes.
The First Section Article sections start at level 1 and can be nested up to four levels deep. An example footnote. Example index entry And now for something completely different: monkeysmonkeys, lions and tigers (Bengal and Siberian) using the alternative syntax index entries. Big catsLions Lions Big catsTigersBengal Tiger TigersBengal Tiger Bengal Tiger Big catsTigersSiberian Tiger TigersSiberian Tiger Siberian Tiger Note that multi-entry terms generate separate index entries. Here are a couple of image examples: an images/smallnew.png example inline image followed by an example block image:
Tiger block image Tiger image
Followed by an example table: An example table Option Description -a USER GROUP Add USER to GROUP. -R GROUP Disables access to GROUP.
An example example Lorum ipum…
Sub-section with Anchor Sub-section at level 2.
A Nested Sub-section Sub-section at level 3.
Yet another nested Sub-section Sub-section at level 4. This is the maximum sub-section depth supported by the distributed AsciiDoc configuration. A second example footnote.
The Second Section Article sections are at level 1 and can contain sub-sections nested up to four deep. An example link to anchor at start of the first sub-section. Second example index entry An example link to a bibliography entry .
Example Appendix AsciiDoc article appendices are just just article sections with specialsection titles.
Appendix Sub-section Appendix sub-section at level 2.
Example Bibliography The bibliography list is a style of AsciiDoc bulleted list. [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9. [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7. Example Glossary Glossaries are optional. Glossaries entries are an example of a style of AsciiDoc labeled lists. A glossary term The corresponding (indented) definition. A second glossary term The corresponding (indented) definition.
asciidoc-py3-9.0.0rc1/tests/data/filters-test.txt0000644000175000017500000000467413570064211021232 0ustar josephjosephFilter Tests ============ == Toy filter example from User Guide [code,python] ---------------------------------------------- ''' A multi-line comment.''' def sub_word(mo): ''' Single line comment.''' word = mo.group('word') # Inline comment if word in keywords[language]: return quote + word + quote else: return word ---------------------------------------------- == Pychart Chart generations from FAQ // Generate chart image file. sys2::[python "{indir}/barchart.py" --format=png --output="{outdir={indir}}/{imagesdir=}{imagesdir?/}barchart.png" --scale=2] // Display chart image file. image::barchart.png[] == Graphviz Graphs .Simple graph ["graphviz", "graphviz1.png", alt="Graphviz->AsciiDoc->HTML"] --------------------------------------------------------------------- digraph G { rankdir=LR; Graphviz->AsciiDoc->HTML} --------------------------------------------------------------------- .Not so simple graph ["graphviz", "graphviz2.png"] --------------------------------------------------------------------- digraph automata_0 { size ="8.5, 11"; node [shape = circle]; 0 [ style = filled, color=lightgrey ]; 2 [ shape = doublecircle ]; 0 -> 2 [ label = "a " ]; 0 -> 1 [ label = "other " ]; 1 -> 2 [ label = "a " ]; 1 -> 1 [ label = "other " ]; 2 -> 2 [ label = "a " ]; 2 -> 1 [ label = "other " ]; "Machine: a" [ shape = plaintext ]; } --------------------------------------------------------------------- == Music filter .A tune generated from ABC notation [music,music1.png] --------------------------------------------------------------------- T:The Butterfly R:slip jig C:Tommy Potts H:Fiddle player Tommy Potts made this tune from two older slip jigs, H:one of which is called "Skin the Peelers" in Roche's collection. D:Bothy Band: 1975. M:9/8 K:Em vB2(E G2)(E F3)|B2(E G2)(E F)ED|vB2(E G2)(E F3)|(B2d) d2(uB A)FD:| |:(vB2c) (e2f) g3|(uB2d) (g2e) (dBA)|(B2c) (e2f) g2(ua|b2a) (g2e) (dBA):| |:~B3 (B2A) G2A|~B3 BA(uB d)BA|~B3 (B2A) G2(A|B2d) (g2e) (dBA):| --------------------------------------------------------------------- <>. [[X1]] .A fragment generated from LilyPond source ["music", "music2.png", "ly", link="music2.ly"] --------------------------------------------------------------------- \version "2.10.0" \paper { ragged-right = ##t } { \time 3/4 \clef bass c2 e4 g2. f4 e d c2 r4 } --------------------------------------------------------------------- asciidoc-py3-9.0.0rc1/tests/data/oldtables-docbook.xml0000644000175000017500000001271713570064211022152 0ustar josephjoseph
AsciiDoc Old Tables Examples of the AsciiDoc old tables syntax. This syntax was used in AsciiDoc versions up to 8.2.7 and has since been deprecated in favor of the new tables syntax. Simple table: 1 2 3 4 5 6 Table with title, header and footer: An example table Column 1 Column 2 6 Three items 1 Item 1 2 Item 2 3 Item 3
Four columns totaling 15% of the pagewidth, CSV data: 1 2 3 4 a b c d A B C D A table with a numeric ruler and externally sourced CSV data: ID Customer Name Contact Name Customer Address Phone AROUT Around the Horn Thomas Hardy 120 Hanover Sq. London (171) 555-7788 BERGS Berglunds snabbkop Christina Berglund Berguvsvagen 8 Lulea 0921-12 34 65 BLAUS Blauer See Delikatessen Hanna Moos Forsterstr. 57 Mannheim 0621-08460 BLONP Blondel pere et fils Frederique Citeaux 24, place Kleber Strasbourg 88.60.15.31 BOLID Bolido Comidas preparadas Martin Sommer C/ Araquil, 67 Madrid (91) 555 22 82 BONAP Bon app' Laurence Lebihan 12, rue des Bouchers Marseille 91.24.45.40 BOTTM Bottom-Dollar Markets Elizabeth Lincoln 23 Tsawassen Blvd. Tsawassen (604) 555-4729 BSBEV B’s Beverages Victoria Ashworth Fauntleroy Circus London (171) 555-1212 CACTU Cactus Comidas para llevar Patricio Simpson Cerrito 333 Buenos Aires (1) 135-5555
asciidoc-py3-9.0.0rc1/tests/data/lang-cs-article-test-html5.html0000644000175000017500000004575113570064211023704 0ustar josephjoseph Languages Test

Abstract

Abstract special section.

The First Section

Admonishments

Do not translate in the source file — they are translated to the output file

Poznámka
Lorum ipsum.
Tip
Lorum ipsum.
Varování
Lorum ipsum.
Pozor
Lorum ipsum.
Důležité
Lorum ipsum.
Tiger image
Obrázek 1. Tiger

Followed by an example table:

Tabulka 1. Table
Option Description

-a USER GROUP

Add USER to GROUP.

-R GROUP

Disables access to GROUP.

And now for something completely different: monkeys, lions and tigers.

Appendice A: Example Appendix

Appendix special section.

Bibliografia

Bibliography special section.

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.

Glossario

Glossary special section.

A glossary term

The corresponding (indented) definition.

A second glossary term

The corresponding (indented) definition.


asciidoc-py3-9.0.0rc1/tests/data/lang-de-man-test-docbook.xml0000644000175000017500000000210713570064211023226 0ustar josephjoseph ASCIIDOC(1) asciidoc 1     asciidoc converts an AsciiDoc text file to HTML or DocBook asciidoc [OPTIONS] FILE DESCRIPTION The asciidoc(1) command translates the AsciiDoc text file FILE to DocBook or HTML. If FILE is - then the standard input is used. asciidoc-py3-9.0.0rc1/tests/data/lang-hu-book-test-html5.html0000644000175000017500000004647713570064211023230 0ustar josephjoseph Languages Test

Ajánlás

Dedication special section.

Előszó

Preface special section.

Utószó

Colophon special section.

The First Section

Admonishments

Do not translate in the source file — they are translated to the output file

Megjegyzés
Lorum ipsum.
Tipp
Lorum ipsum.
Figyelem
Lorum ipsum.
Figyelmeztetés
Lorum ipsum.
Fontos
Lorum ipsum.
Tiger image
Ábra 1. Tiger

Followed by an example table:

Táblázat 1. Table
Option Description

-a USER GROUP

Add USER to GROUP.

-R GROUP

Disables access to GROUP.

And now for something completely different: monkeys, lions and tigers.

A függelék: Example Appendix

Appendix special section.

Bibliográfia

Bibliography special section.

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.

Szójegyzék

Glossary special section.

A glossary term

The corresponding (indented) definition.

A second glossary term

The corresponding (indented) definition.


asciidoc-py3-9.0.0rc1/tests/data/lang-en-book-test-docbook5.xml0000644000175000017500000000726613570064211023517 0ustar josephjoseph Languages Test 2003-12-21 v1.02003-12-21 Dedication Dedication special section. Preface Preface special section. Colophon Colophon special section. The First Section
Admonishments Do not translate in the source file — they are translated to the output file Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum.
Tiger Tiger image
Followed by an example table: Table Option Description -a USER GROUP Add USER to GROUP. -R GROUP Disables access to GROUP.
And now for something completely different: monkeysmonkeys, lions and tigers.
Example Appendix Appendix special section. Bibliography Bibliography special section. [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9. [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7. Glossary Glossary special section. A glossary term The corresponding (indented) definition. A second glossary term The corresponding (indented) definition. Index
asciidoc-py3-9.0.0rc1/tests/data/book-docbook5.xml0000644000175000017500000001610013570064211021206 0ustar josephjoseph Book Title Goes Here 2003-12 Author's Name AN 1.02003-12AN Example Dedication Optional dedication. This document is an AsciiDoc book skeleton containing briefly annotated example elements plus a couple of example index entries and footnotes. Books are normally used to generate DocBook markup and the titles of the preface, appendix, bibliography, glossary and index sections are significant (specialsections). Example Preface Optional preface.
Preface Sub-section Preface sub-section body.
The First Chapter Chapters can contain sub-sections nested up to three deep. An example footnote. Example index entry Chapters can have their own bibliography, glossary and index. And now for something completely different: monkeysmonkeys, lions and tigers (Bengal and Siberian) using the alternative syntax index entries. Big catsLions Lions Big catsTigersBengal Tiger TigersBengal Tiger Bengal Tiger Big catsTigersSiberian Tiger TigersSiberian Tiger Siberian Tiger Note that multi-entry terms generate separate index entries. Here are a couple of image examples: an images/smallnew.png example inline image followed by an example block image:
Tiger block image Tiger image
Followed by an example table: An example table Option Description -a USER GROUP Add USER to GROUP. -R GROUP Disables access to GROUP.
An example example Lorum ipum…
Sub-section with Anchor Sub-section at level 2.
Chapter Sub-section Sub-section at level 3.
Chapter Sub-section Sub-section at level 4. This is the maximum sub-section depth supported by the distributed AsciiDoc configuration. A second example footnote.
The Second Chapter An example link to anchor at start of the first sub-section. Second example index entry An example link to a bibliography entry . The Third Chapter Book chapters are at level 1 and can contain sub-sections. Example Appendix One or more optional appendixes go here at section level 1.
Appendix Sub-section Sub-section body.
Example Bibliography The bibliography list is a style of AsciiDoc bulleted list. Books [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9. [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7. Articles [abc2003] Gall Anonim. An article, Whatever. 2003. Example Glossary Glossaries are optional. Glossaries entries are an example of a style of AsciiDoc labeled lists. A glossary term The corresponding (indented) definition. A second glossary term The corresponding (indented) definition. Example Colophon Text at the end of a book describing facts about its production. Example Index
asciidoc-py3-9.0.0rc1/tests/data/asciidoc.1-docbook5.xml0000644000175000017500000003420013570064211022172 0ustar josephjoseph ASCIIDOC(1) asciidoc 1     asciidoc converts an AsciiDoc text file to HTML or DocBook asciidoc [OPTIONS] FILE DESCRIPTION The asciidoc(1) command translates the AsciiDoc text file FILE to DocBook or HTML. If FILE is - then the standard input is used. OPTIONS -a, --attribute=ATTRIBUTE Define or delete document attribute. ATTRIBUTE is formatted like NAME=VALUE. Command-line attributes take precedence over document and configuration file attributes. Alternate acceptable forms are NAME (the VALUE defaults to an empty string); NAME! (delete the NAME attribute); NAME=VALUE@ (do not override document or configuration file attributes). Values containing spaces should be enclosed in double-quote characters. This option may be specified more than once. A special attribute named trace controls the output of diagnostic information. -b, --backend=BACKEND Backend output file format: docbook45, docbook5, xhtml11, html4, html5, slidy, wordpress or latex (the latex backend is experimental). You can also use the backend alias names html (aliased to xhtml11) or docbook (aliased to docbook45). Defaults to html. The --backend option is also used to manage backend plugins (see PLUGIN COMMANDS). -f, --conf-file=CONF_FILE Use configuration file CONF_FILE.Configuration files processed in command-line order (after implicit configuration files). This option may be specified more than once. --doctest Run Python doctests in asciidoc module. -d, --doctype=DOCTYPE Document type: article, manpage or book. The book document type is only supported by the docbook backends. Default document type is article. -c, --dump-conf Dump configuration to stdout. --filter=FILTER Specify the name of a filter to be loaded (used to load filters that are not auto-loaded). This option may be specified more than once. The --filter option is also used to manage filter plugins (see PLUGIN COMMANDS). -h, --help [TOPIC] Print help TOPIC. --help topics will print a list of help topics, --help syntax summarizes AsciiDoc syntax, --help manpage prints the AsciiDoc manpage. -e, --no-conf Exclude implicitly loaded configuration files except for those named like the input file (infile.conf and infile-backend.conf). -s, --no-header-footer Suppress document header and footer output. -o, --out-file=OUT_FILE Write output to file OUT_FILE. Defaults to the base name of input file with backend extension. If the input is stdin then the outfile defaults to stdout. If OUT_FILE is - then the standard output is used. -n, --section-numbers Auto-number HTML article section titles. Synonym for --attribute numbered. --safe Enable safe mode. Safe mode is disabled by default. AsciiDoc safe mode skips potentially dangerous scripted sections in AsciiDoc source files. --theme=THEME Specify a theme name. Synonym for --attribute theme=THEME. The --theme option is also used to manage theme plugins (see PLUGIN COMMANDS). -v, --verbose Verbosely print processing information and configuration file checks to stderr. --version Print program version number. PLUGIN COMMANDS The asciidoc(1) --filter, --backend and --theme options are used to install, remove and list AsciiDoc filter, backend and theme plugins. Syntax: asciidoc OPTION install ZIP_FILE [PLUGINS_DIR] asciidoc OPTION remove PLUGIN_NAME [PLUGINS_DIR] asciidoc OPTION list asciidoc OPTION build ZIP_FILE PLUGIN_SOURCE Where: OPTION asciidoc(1) --filter, --backend or --theme option specifying the type of plugin. PLUGIN_NAME A unique plugin name containing only alphanumeric or underscore characters. ZIP_FILE A Zip file containing plugin resources, the name must start with the plugin name e.g. my_filter-1.0.zip packages filter my_filter. PLUGINS_DIR The directory containing installed plugins. Each plugin is contained in its own separate subdirectory which has the same name as the plugin. PLUGINS_DIR defaults to the $HOME/.asciidoc/filters (for filter plugins) or $HOME/.asciidoc/backends (for backend plugins) or $HOME/.asciidoc/themes (for theme plugins). PLUGIN_SOURCE The name of a directory containing the plugin source files or the name of a single source file. The plugin commands perform as follows: install Create a subdirectory in PLUGINS_DIR with the same name as the plugin then extract the ZIP_FILE into it. remove Delete the PLUGIN_NAME plugin subdirectory and all its contents from the PLUGINS_DIR. list List the names and locations of all installed filter or theme plugins (including standard plugins installed in the global configuration directory). build Create a plugin file named ZIP_FILE containing the files and subdirectories specified by PLUGIN_SOURCE. File and directory names starting with a period are skipped. ENVIRONMENT VARIABLES SOURCE_DATE_EPOCH If the SOURCE_DATE_EPOCH environment variable is set to a UNIX timestamp, then the {docdate}, {doctime}, {localdate}, and {localtime} attributes are computed in the UTC time zone, with any timestamps newer than SOURCE_DATE_EPOCH replaced by SOURCE_DATE_EPOCH. (This helps software using AsciiDoc to build reproducibly.) EXAMPLES asciidoc asciidoc_file_name.txt Simply generate an html file from the asciidoc_file_name.txt that is in current directory using asciidoc. asciidoc -b html5 asciidoc_file_name.txt Use the -b switch to use one of the proposed backend or another one you installed on your computer. asciidoc -a data-uri -a icons -a toc -a max-width=55em article.txt Use the -a switch to set attributes from command-line. AsciiDoc generated its stand-alone HTML user guide containing embedded CSS, JavaScript and images from the AsciiDoc article template with this command. asciidoc -b html5 -d manpage asciidoc.1.txt Generating the asciidoc manpage using the html5 backend. EXIT STATUS 0 Success 1 Failure (syntax or usage error; configuration error; document processing failure; unexpected error). BUGS See the AsciiDoc distribution BUGS file. AUTHOR AsciiDoc was originally written by Stuart Rackham. Many people have contributed to it. RESOURCES SourceForge: http://sourceforge.net/projects/asciidoc/ Main web site: http://asciidoc.org/ SEE ALSO a2x(1) COPYING Copyright (C) 2002-2011 Stuart Rackham. Free use of this software is granted under the terms of the GNU General Public License (GPL). asciidoc-py3-9.0.0rc1/tests/data/lang-ja-article-test-html5.html0000644000175000017500000004565313570064211023672 0ustar josephjoseph Languages Test

概要

概要セクション

第一セクション

警告

以下は処理系が翻訳するのでこのソースでは翻訳しない。

Lorum ipsum.
補足
Lorum ipsum.
警告
Lorum ipsum.
注意
Lorum ipsum.
重要
Lorum ipsum.
虎の絵
図 1. Tiger

続いて表の例。

表 1. Table
オプション 説明

-a USER GROUP

USERGROUP に追加する

-R GROUP

GROUP へのアクセスを禁止する

そしてまったく異なるものの例: 猿、ライオン、虎。

付録 A: 付録の例

付録セクション

参考文献

参考文献セクション

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.

用語集

用語集セクション

用語

(インデントされた)用語の定義

別の用語

(インデントされた)用語の定義


asciidoc-py3-9.0.0rc1/tests/data/lang-it-article-test-docbook5.xml0000644000175000017500000000670313570064211024215 0ustar josephjoseph
Languages Test 2003-12-21 v1.02003-12-21 Abstract special section.
The First Section
Admonishments Do not translate in the source file — they are translated to the output file Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum.
Tiger Tiger image
Followed by an example table: Table Option Description -a USER GROUP Add USER to GROUP. -R GROUP Disables access to GROUP.
And now for something completely different: monkeysmonkeys, lions and tigers.
Example Appendix Appendix special section. Bibliografia Bibliography special section. [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9. [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7. Glossario Glossary special section. A glossary term The corresponding (indented) definition. A second glossary term The corresponding (indented) definition. Index
asciidoc-py3-9.0.0rc1/tests/data/lang-en-last-updated-is-revdate-test-xhtml11.html0000644000175000017500000004560313570064211027147 0ustar josephjoseph Languages Test

Abstract

Abstract special section.

The First Section

Admonishments

Do not translate in the source file — they are translated to the output file

Note
Lorum ipsum.
Tip
Lorum ipsum.
Warning
Lorum ipsum.
Caution
Lorum ipsum.
Important
Lorum ipsum.
Tiger image
Figure 1. Tiger

Followed by an example table:

Table 1. Table
Option Description

-a USER GROUP

Add USER to GROUP.

-R GROUP

Disables access to GROUP.

And now for something completely different: monkeys, lions and tigers.

Appendix A: Example Appendix

Appendix special section.

Bibliography

Bibliography special section.

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.

Glossary

Glossary special section.

A glossary term

The corresponding (indented) definition.

A second glossary term

The corresponding (indented) definition.


asciidoc-py3-9.0.0rc1/tests/data/book-multi-docbook5.xml0000644000175000017500000001773113570064211022351 0ustar josephjoseph Multi-Part Book Title Goes Here 2003-12 Author's Name AN 1.02003-12AN Example Dedication The optional dedication goes here. This document is an AsciiDoc multi-part book skeleton containing briefly annotated element placeholders plus a couple of example index entries and footnotes. Books are normally used to generate DocBook markup and the preface, appendix, bibliography, glossary and index section titles are significant (specialsections). Multi-part books differ from all other AsciiDoc document formats in that top level sections (dedication, preface, book parts, appendices, bibliography, glossary, index) must be level zero headings (not level one). Example Preface The optional book preface goes here at section level zero.
Preface Sub-section Preface and appendix subsections start out of sequence at level 2 (level 1 is skipped). This only applies to multi-part book documents.
The First Part of the Book Optional part introduction title Optional part introduction goes here. The First Chapter Chapters can be grouped by preceding them with a level 0 Book Part title. Book chapters are at level 1 and can contain sub-sections nested up to three deep. An example footnote. Example index entry It’s also worth noting that a book part can have it’s own preface, bibliography, glossary and index. Chapters can have their own bibliography, glossary and index. And now for something completely different: monkeysmonkeys, lions and tigers (Bengal and Siberian) using the alternative syntax index entries. Big catsLions Lions Big catsTigersBengal Tiger TigersBengal Tiger Bengal Tiger Big catsTigersSiberian Tiger TigersSiberian Tiger Siberian Tiger Note that multi-entry terms generate separate index entries. Here are a couple of image examples: an images/smallnew.png example inline image followed by an example block image:
Tiger block image Tiger image
Followed by an example table: An example table Option Description -a USER GROUP Add USER to GROUP. -R GROUP Disables access to GROUP.
An example example Lorum ipum…
Sub-section with Anchor Sub-section at level 2.
Chapter Sub-section Sub-section at level 3.
Chapter Sub-section Sub-section at level 4. This is the maximum sub-section depth supported by the distributed AsciiDoc configuration. A second example footnote.
The Second Chapter An example link to anchor at start of the first sub-section. Second example index entry An example link to a bibliography entry .
The Second Part of the Book The First Chapter of the Second Part Chapters grouped into book parts are at level 1 and can contain sub-sections. Example Appendix One or more optional appendixes go here at section level zero.
Appendix Sub-section Preface and appendix subsections start out of sequence at level 2 (level 1 is skipped). This only applies to multi-part book documents.
Example Bibliography The bibliography list is a style of AsciiDoc bulleted list. [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9. [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7. Example Glossary Glossaries are optional. Glossaries entries are an example of a style of AsciiDoc labeled lists. A glossary term The corresponding (indented) definition. A second glossary term The corresponding (indented) definition. Example Colophon Text at the end of a book describing facts about its production. Example Index
asciidoc-py3-9.0.0rc1/tests/data/lang-pt-BR-article-test-docbook5.xml0000644000175000017500000000674313570064211024531 0ustar josephjoseph
Languages Test 2003-12-21 v1.02003-12-21 Abstract special section.
The First Section
Admonishments Do not translate in the source file — they are translated to the output file Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum.
Tiger Tiger image
Followed by an example table: Table Option Description -a USER GROUP Add USER to GROUP. -R GROUP Disables access to GROUP.
And now for something completely different: monkeysmonkeys, lions and tigers.
Appêndice A: Example Appendix Appendix special section.
Bibliografia Bibliography special section. [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9. [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7. Glossário Glossary special section. A glossary term The corresponding (indented) definition. A second glossary term The corresponding (indented) definition. Índice
asciidoc-py3-9.0.0rc1/tests/data/lang-es-article-test-html5.html0000644000175000017500000004575613570064211023713 0ustar josephjoseph Languages Test

Resumen

Abstract special section.

The First Section

Admonishments

Do not translate in the source file — they are translated to the output file

Nota
Lorum ipsum.
Sugerencia
Lorum ipsum.
Aviso
Lorum ipsum.
Atención
Lorum ipsum.
Importante
Lorum ipsum.
Tiger image
Figura 1. Tiger

Followed by an example table:

Tabla 1. Table
Option Description

-a USER GROUP

Add USER to GROUP.

-R GROUP

Disables access to GROUP.

And now for something completely different: monkeys, lions and tigers.

Apéndice A: Example Appendix

Appendix special section.

Bibliografía

Bibliography special section.

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.

Glosario

Glossary special section.

A glossary term

The corresponding (indented) definition.

A second glossary term

The corresponding (indented) definition.


asciidoc-py3-9.0.0rc1/tests/data/lang-sv-test.txt0000644000175000017500000000421113570064211021114 0ustar josephjoseph// Test for lang-sv.conf language file. :lang: sv Languages Test ============== :revnumber: v1.0 :revdate: 2003-12-21 ifdef::doctype-article[] // Translate title. Sammanfattning -------------- Abstract special section. endif::doctype-article[] ifdef::doctype-book[] // Translate title. Dedikation ---------- Dedication special section. // Translate title. Förord ------ Preface special section. // Translate title. Kolofon ------- Colophon special section. endif::doctype-book[] The First Section ----------------- Admonishments ~~~~~~~~~~~~~ Do not translate in the source file -- they are translated to the output file NOTE: Lorum ipsum. TIP: Lorum ipsum. WARNING: Lorum ipsum. CAUTION: Lorum ipsum. IMPORTANT: Lorum ipsum. .Tiger image::../../images/tiger.png[Tiger image] Followed by an example table: .Table [width="60%",options="header"] |============================================== | Option | Description | -a 'USER GROUP' | Add 'USER' to 'GROUP'. | -R 'GROUP' | Disables access to 'GROUP'. |============================================== And now for something completely different: ((monkeys)), lions and tigers. // Translate title. Appendix A: Exempel-appendix ---------------------------- Appendix special section. // Translate title. Referenser ---------- Bibliography special section. [bibliography] - [[[taoup]]] Eric Steven Raymond. 'The Art of Unix Programming'. Addison-Wesley. ISBN 0-13-142901-9. - [[[walsh-muellner]]] Norman Walsh & Leonard Muellner. 'DocBook - The Definitive Guide'. O'Reilly & Associates. 1999. ISBN 1-56592-580-7. // Translate title. Ordlista -------- Glossary special section. [glossary] A glossary term:: The corresponding (indented) definition. A second glossary term:: The corresponding (indented) definition. ifdef::basebackend-docbook[] // Translate title. Sakregister ----------- //////////////////////////////////////////////////////////////// Index special section. The index is normally left completely empty, it's contents being generated automatically by the DocBook toolchain. //////////////////////////////////////////////////////////////// endif::basebackend-docbook[] asciidoc-py3-9.0.0rc1/tests/data/lang-it-article-test-html4.html0000644000175000017500000000637113570064211023705 0ustar josephjoseph Languages Test

Languages Test

version v1.0, 2003-12-21


Abstract

Abstract special section.


The First Section

Admonishments

Do not translate in the source file — they are translated to the output file

Nota

Lorum ipsum.

Suggerimento

Lorum ipsum.

Avvertenza

Lorum ipsum.

Attenzione

Lorum ipsum.

Importante

Lorum ipsum.
Tiger image

Figura 1. Tiger

Followed by an example table:

Option Description

-a USER GROUP

Add USER to GROUP.

-R GROUP

Disables access to GROUP.

Tabella 1. Table

And now for something completely different: monkeys, lions and tigers.


Appendice A: Example Appendix

Appendix special section.


Bibliografia

Bibliography special section.

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.


Glossario

Glossary special section.

A glossary term

The corresponding (indented) definition.

A second glossary term

The corresponding (indented) definition.


Versione v1.0
Ultimo aggiornamento 2002-11-25 00:37:42 UTC

asciidoc-py3-9.0.0rc1/tests/data/utf8-examples-html4.html0000644000175000017500000003474513570064211022464 0ustar josephjoseph UTF-8 encoded sample plain-text file

UTF-8 encoded sample plain-text file

Markus Kuhn [ˈmaʳkʊs kuːn] http://www.cl.cam.ac.uk/~mgk25/ — 2002-07-25

The ASCII compatible UTF-8 encoding used in this plain-text file is defined in Unicode, ISO 10646-1, and RFC 2279.

Using Unicode/UTF-8, you can write in emails and source code things such as


Mathematics and sciences

∮ E⋅da = Q,  n → ∞, ∑ f(i) = ∏ g(i),      ⎧⎡⎛┌─────┐⎞⎤⎫
                                          ⎪⎢⎜│a²+b³ ⎟⎥⎪
∀x∈ℝ: ⌈x⌉ = −⌊−x⌋, α ∧ ¬β = ¬(¬α ∨ β),    ⎪⎢⎜│───── ⎟⎥⎪
                                          ⎪⎢⎜⎷ c₈   ⎟⎥⎪
ℕ ⊆ ℕ₀ ⊂ ℤ ⊂ ℚ ⊂ ℝ ⊂ ℂ,                   ⎨⎢⎜       ⎟⎥⎬
                                          ⎪⎢⎜ ∞     ⎟⎥⎪
⊥ < a ≠ b ≡ c ≤ d ≪ ⊤ ⇒ (⟦A⟧ ⇔ ⟪B⟫),      ⎪⎢⎜ ⎲     ⎟⎥⎪
                                          ⎪⎢⎜ ⎳aⁱ-bⁱ⎟⎥⎪
2H₂ + O₂ ⇌ 2H₂O, R = 4.7 kΩ, ⌀ 200 mm     ⎩⎣⎝i=1    ⎠⎦⎭

Linguistics and dictionaries

ði ıntəˈnæʃənəl fəˈnɛtık əsoʊsiˈeıʃn
Y [ˈʏpsilɔn], Yen [jɛn], Yoga [ˈjoːgɑ]


APL

((V⍳V)=⍳⍴V)/V←,V    ⌷←⍳→⍴∆∇⊃‾⍎⍕⌈

Nicer typography in plain text files

  • ‘single’ and “double” quotes

  • Curly apostrophes: “We’ve been here”

  • ‚deutsche‘ „Anführungszeichen“

  • †, ‡, ‰, •, 3–4, —, −5/+5, ™, …

  • ASCII safety test: 1lI|, 0OD, 8B

  • the euro symbol: 14.95 €


Combining characters

STARGΛ̊TE SG-1, a = v̇ = r̈, a⃑ ⊥ b⃑


Greek (in Polytonic)

Σὲ γνωρίζω ἀπὸ τὴν κόψη
τοῦ σπαθιοῦ τὴν τρομερή,
σὲ γνωρίζω ἀπὸ τὴν ὄψη
ποὺ μὲ βία μετράει τὴ γῆ.

᾿Απ᾿ τὰ κόκκαλα βγαλμένη
τῶν ῾Ελλήνων τὰ ἱερά
καὶ σὰν πρῶτα ἀνδρειωμένη
χαῖρε, ὦ χαῖρε, ᾿Ελευθεριά!

— The Greek anthem

Οὐχὶ ταὐτὰ παρίσταταί μοι γιγνώσκειν, ὦ ἄνδρες ᾿Αθηναῖοι,
ὅταν τ᾿ εἰς τὰ πράγματα ἀποβλέψω καὶ ὅταν πρὸς τοὺς
λόγους οὓς ἀκούω· τοὺς μὲν γὰρ λόγους περὶ τοῦ
τιμωρήσασθαι Φίλιππον ὁρῶ γιγνομένους, τὰ δὲ πράγματ᾿
εἰς τοῦτο προήκοντα,  ὥσθ᾿ ὅπως μὴ πεισόμεθ᾿ αὐτοὶ
πρότερον κακῶς σκέψασθαι δέον. οὐδέν οὖν ἄλλο μοι δοκοῦσιν
οἱ τὰ τοιαῦτα λέγοντες ἢ τὴν ὑπόθεσιν, περὶ ἧς βουλεύεσθαι,
οὐχὶ τὴν οὖσαν παριστάντες ὑμῖν ἁμαρτάνειν. ἐγὼ δέ, ὅτι μέν
ποτ᾿ ἐξῆν τῇ πόλει καὶ τὰ αὑτῆς ἔχειν ἀσφαλῶς καὶ Φίλιππον
τιμωρήσασθαι, καὶ μάλ᾿ ἀκριβῶς οἶδα· ἐπ᾿ ἐμοῦ γάρ, οὐ πάλαι
γέγονεν ταῦτ᾿ ἀμφότερα· νῦν μέντοι πέπεισμαι τοῦθ᾿ ἱκανὸν
προλαβεῖν ἡμῖν εἶναι τὴν πρώτην, ὅπως τοὺς συμμάχους
σώσομεν. ἐὰν γὰρ τοῦτο βεβαίως ὑπάρξῃ, τότε καὶ περὶ τοῦ
τίνα τιμωρήσεταί τις καὶ ὃν τρόπον ἐξέσται σκοπεῖν· πρὶν δὲ
τὴν ἀρχὴν ὀρθῶς ὑποθέσθαι, μάταιον ἡγοῦμαι περὶ τῆς
τελευτῆς ὁντινοῦν ποιεῖσθαι λόγον.

Δημοσθένους, Γ´ ᾿Ολυνθιακὸς

— From a speech of Demosthenes in the 4th century BC


Georgian:

From a Unicode conference invitation
გთხოვთ ახლავე გაიაროთ რეგისტრაცია Unicode-ის მეათე საერთაშორისო კონფერენციაზე დასასწრებად, რომელიც გაიმართება 10-12 მარტს, ქ. მაინცში, გერმანიაში. კონფერენცია შეჰკრებს ერთად მსოფლიოს ექსპერტებს ისეთ დარგებში როგორიცაა ინტერნეტი და Unicode-ი, ინტერნაციონალიზაცია და ლოკალიზაცია, Unicode-ის გამოყენება ოპერაციულ სისტემებსა, და გამოყენებით პროგრამებში, შრიფტებში, ტექსტების დამუშავებასა და მრავალენოვან კომპიუტერულ სისტემებში.


Russian

From a Unicode conference invitation
Зарегистрируйтесь сейчас на Десятую Международную Конференцию по Unicode, которая состоится 10-12 марта 1997 года в Майнце в Германии. Конференция соберет широкий круг экспертов по вопросам глобального Интернета и Unicode, локализации и интернационализации, воплощению и применению Unicode в различных операционных системах и программных приложениях, шрифтах, верстке и многоязычных компьютерных системах.


Thai (UCS Level 2)

Excerpt from a poetry on The Romance of The Three Kingdoms (a Chinese classic San Gua):

[----------------------------|------------------------]
  ๏ แผ่นดินฮั่นเสื่อมโทรมแสนสังเวช  พระปกเกศกองบู๊กู้ขึ้นใหม่
สิบสองกษัตริย์ก่อนหน้าแลถัดไป       สององค์ไซร้โง่เขลาเบาปัญญา
  ทรงนับถือขันทีเป็นที่พึ่ง           บ้านเมืองจึงวิปริตเป็นนักหนา
โฮจิ๋นเรียกทัพทั่วหัวเมืองมา         หมายจะฆ่ามดชั่วตัวสำคัญ
  เหมือนขับไสไล่เสือจากเคหา      รับหมาป่าเข้ามาเลยอาสัญ
ฝ่ายอ้องอุ้นยุแยกให้แตกกัน          ใช้สาวนั้นเป็นชนวนชื่นชวนใจ
  พลันลิฉุยกุยกีกลับก่อเหตุ          ช่างอาเพศจริงหนาฟ้าร้องไห้
ต้องรบราฆ่าฟันจนบรรลัย           ฤๅหาใครค้ำชูกู้บรรลังก์ ฯ

(The above is a two-column text. If combining characters are handled correctly, the lines of the second column should be aligned with the | character above.)


Ethiopian

Proverbs in the Amharic language

ሰማይ አይታረስ ንጉሥ አይከሰስ።
ብላ ካለኝ እንደአባቴ በቆመጠኝ።
ጌጥ ያለቤቱ ቁምጥና ነው።
ደሀ በሕልሙ ቅቤ ባይጠጣ ንጣት በገደለው።
የአፍ ወለምታ በቅቤ አይታሽም።
አይጥ በበላ ዳዋ ተመታ።
ሲተረጉሙ ይደረግሙ።
ቀስ በቀስ፥ ዕንቁላል በእግሩ ይሄዳል።
ድር ቢያብር አንበሳ ያስር።
ሰው እንደቤቱ እንጅ እንደ ጉረቤቱ አይተዳደርም።
እግዜር የከፈተውን ጉሮሮ ሳይዘጋው አይድርም።
የጎረቤት ሌባ፥ ቢያዩት ይስቅ ባያዩት ያጠልቅ።
ሥራ ከመፍታት ልጄን ላፋታት።
ዓባይ ማደሪያ የለው፥ ግንድ ይዞ ይዞራል።
የእስላም አገሩ መካ የአሞራ አገሩ ዋርካ።
ተንጋሎ ቢተፉ ተመልሶ ባፉ።
ወዳጅህ ማር ቢሆን ጨርስህ አትላሰው።
እግርህን በፍራሽህ ልክ ዘርጋ።


Runes

ᚻᛖ ᚳᚹᚫᚦ ᚦᚫᛏ ᚻᛖ ᛒᚢᛞᛖ ᚩᚾ ᚦᚫᛗ ᛚᚪᚾᛞᛖ ᚾᚩᚱᚦᚹᛖᚪᚱᛞᚢᛗ ᚹᛁᚦ ᚦᚪ ᚹᛖᛥᚫ

(Old English, which transcribed into Latin reads “He cwaeth that he bude thaem lande northweardum with tha Westsae.” and means “He said that he lived in the northern land near the Western Sea.”)


Braille

⡌⠁⠧⠑ ⠼⠁⠒  ⡍⠜⠇⠑⠹⠰⠎ ⡣⠕⠌
⡍⠜⠇⠑⠹ ⠺⠁⠎ ⠙⠑⠁⠙⠒ ⠞⠕ ⠃⠑⠛⠔ ⠺⠊⠹⠲ ⡹⠻⠑ ⠊⠎ ⠝⠕ ⠙⠳⠃⠞
⠱⠁⠞⠑⠧⠻ ⠁⠃⠳⠞ ⠹⠁⠞⠲ ⡹⠑ ⠗⠑⠛⠊⠌⠻ ⠕⠋ ⠙⠊⠎ ⠃⠥⠗⠊⠁⠇ ⠺⠁⠎
⠎⠊⠛⠝⠫ ⠃⠹ ⠹⠑ ⠊⠇⠻⠛⠹⠍⠁⠝⠂ ⠹⠑ ⠊⠇⠻⠅⠂ ⠹⠑ ⠥⠝⠙⠻⠞⠁⠅⠻⠂
⠁⠝⠙ ⠹⠑ ⠡⠊⠑⠋ ⠍⠳⠗⠝⠻⠲ ⡎⠊⠗⠕⠕⠛⠑ ⠎⠊⠛⠝⠫ ⠊⠞⠲ ⡁⠝⠙
⡎⠊⠗⠕⠕⠛⠑⠰⠎ ⠝⠁⠍⠑ ⠺⠁⠎ ⠛⠕⠕⠙ ⠥⠏⠕⠝ ⠰⡡⠁⠝⠛⠑⠂ ⠋⠕⠗ ⠁⠝⠹⠹⠔⠛ ⠙⠑
⠡⠕⠎⠑ ⠞⠕ ⠏⠥⠞ ⠙⠊⠎ ⠙⠁⠝⠙ ⠞⠕⠲
⡕⠇⠙ ⡍⠜⠇⠑⠹ ⠺⠁⠎ ⠁⠎ ⠙⠑⠁⠙ ⠁⠎ ⠁ ⠙⠕⠕⠗⠤⠝⠁⠊⠇⠲
⡍⠔⠙⠖ ⡊ ⠙⠕⠝⠰⠞ ⠍⠑⠁⠝ ⠞⠕ ⠎⠁⠹ ⠹⠁⠞ ⡊ ⠅⠝⠪⠂ ⠕⠋ ⠍⠹
⠪⠝ ⠅⠝⠪⠇⠫⠛⠑⠂ ⠱⠁⠞ ⠹⠻⠑ ⠊⠎ ⠏⠜⠞⠊⠊⠥⠇⠜⠇⠹ ⠙⠑⠁⠙ ⠁⠃⠳⠞
⠁ ⠙⠕⠕⠗⠤⠝⠁⠊⠇⠲ ⡊ ⠍⠊⠣⠞ ⠙⠁⠧⠑ ⠃⠑⠲ ⠔⠊⠇⠔⠫⠂ ⠍⠹⠎⠑⠇⠋⠂ ⠞⠕
⠗⠑⠛⠜⠙ ⠁ ⠊⠕⠋⠋⠔⠤⠝⠁⠊⠇ ⠁⠎ ⠹⠑ ⠙⠑⠁⠙⠑⠌ ⠏⠊⠑⠊⠑ ⠕⠋ ⠊⠗⠕⠝⠍⠕⠝⠛⠻⠹
⠔ ⠹⠑ ⠞⠗⠁⠙⠑⠲ ⡃⠥⠞ ⠹⠑ ⠺⠊⠎⠙⠕⠍ ⠕⠋ ⠳⠗ ⠁⠝⠊⠑⠌⠕⠗⠎
⠊⠎ ⠔ ⠹⠑ ⠎⠊⠍⠊⠇⠑⠆ ⠁⠝⠙ ⠍⠹ ⠥⠝⠙⠁⠇⠇⠪⠫ ⠙⠁⠝⠙⠎
⠩⠁⠇⠇ ⠝⠕⠞ ⠙⠊⠌⠥⠗⠃ ⠊⠞⠂ ⠕⠗ ⠹⠑ ⡊⠳⠝⠞⠗⠹⠰⠎ ⠙⠕⠝⠑ ⠋⠕⠗⠲ ⡹⠳
⠺⠊⠇⠇ ⠹⠻⠑⠋⠕⠗⠑ ⠏⠻⠍⠊⠞ ⠍⠑ ⠞⠕ ⠗⠑⠏⠑⠁⠞⠂ ⠑⠍⠏⠙⠁⠞⠊⠊⠁⠇⠇⠹⠂ ⠹⠁⠞
⡍⠜⠇⠑⠹ ⠺⠁⠎ ⠁⠎ ⠙⠑⠁⠙ ⠁⠎ ⠁ ⠙⠕⠕⠗⠤⠝⠁⠊⠇⠲

(The first couple of paragraphs of "A Christmas Carol" by Dickens)


Compact font selection example text

ABCDEFGHIJKLMNOPQRSTUVWXYZ /0123456789
abcdefghijklmnopqrstuvwxyz £©µÀÆÖÞßéöÿ
–—‘“”„†•…‰™œŠŸž€ ΑΒΓΔΩαβγδω АБВГДабвгд
∀∂∈ℝ∧∪≡∞ ↑↗↨↻⇣ ┐┼╔╘░►☺♀ fi�⑀₂ἠḂӥẄɐː⍎אԱა

Greetings in various languages

Hello world, Καλημέρα κόσμε, コンニチハ


Box drawing alignment tests

                                                                      █
                                                                      ▉
  ╔══╦══╗  ┌──┬──┐  ╭──┬──╮  ╭──┬──╮  ┏━━┳━━┓  ┎┒┏┑   ╷  ╻ ┏┯┓ ┌┰┐    ▊ ╱╲╱╲╳╳╳
  ║┌─╨─┐║  │╔═╧═╗│  │╒═╪═╕│  │╓─╁─╖│  ┃┌─╂─┐┃  ┗╃╄┙  ╶┼╴╺╋╸┠┼┨ ┝╋┥    ▋ ╲╱╲╱╳╳╳
  ║│╲ ╱│║  │║   ║│  ││ │ ││  │║ ┃ ║│  ┃│ ╿ │┃  ┍╅╆┓   ╵  ╹ ┗┷┛ └┸┘    ▌ ╱╲╱╲╳╳╳
  ╠╡ ╳ ╞╣  ├╢   ╟┤  ├┼─┼─┼┤  ├╫─╂─╫┤  ┣┿╾┼╼┿┫  ┕┛┖┚     ┌┄┄┐ ╎ ┏┅┅┓ ┋ ▍ ╲╱╲╱╳╳╳
  ║│╱ ╲│║  │║   ║│  ││ │ ││  │║ ┃ ║│  ┃│ ╽ │┃  ░░▒▒▓▓██ ┊  ┆ ╎ ╏  ┇ ┋ ▎
  ║└─╥─┘║  │╚═╤═╝│  │╘═╪═╛│  │╙─╀─╜│  ┃└─╂─┘┃  ░░▒▒▓▓██ ┊  ┆ ╎ ╏  ┇ ┋ ▏
  ╚══╩══╝  └──┴──┘  ╰──┴──╯  ╰──┴──╯  ┗━━┻━━┛  ▗▄▖▛▀▜   └╌╌┘ ╎ ┗╍╍┛ ┋  ▁▂▃▄▅▆▇█
                                               ▝▀▘▙▄▟


Last updated 2002-11-25 00:37:42 UTC

asciidoc-py3-9.0.0rc1/tests/data/lang-en-no-last-updated-test-html4.html0000644000175000017500000000616713570064211025254 0ustar josephjoseph Languages Test

Languages Test

version v1.0, 2003-12-21


Abstract

Abstract special section.


The First Section

Admonishments

Do not translate in the source file — they are translated to the output file

Note

Lorum ipsum.

Tip

Lorum ipsum.

Warning

Lorum ipsum.

Caution

Lorum ipsum.

Important

Lorum ipsum.
Tiger image

Figure 1. Tiger

Followed by an example table:

Option Description

-a USER GROUP

Add USER to GROUP.

-R GROUP

Disables access to GROUP.

Table 1. Table

And now for something completely different: monkeys, lions and tigers.


Appendix A: Example Appendix

Appendix special section.


Bibliography

Bibliography special section.

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.


Glossary

Glossary special section.

A glossary term

The corresponding (indented) definition.

A second glossary term

The corresponding (indented) definition.

asciidoc-py3-9.0.0rc1/tests/data/lang-hu-article-test-xhtml11.html0000644000175000017500000004615313570064211024155 0ustar josephjoseph Languages Test

Kivonat

Abstract special section.

The First Section

Admonishments

Do not translate in the source file — they are translated to the output file

Megjegyzés
Lorum ipsum.
Tipp
Lorum ipsum.
Figyelem
Lorum ipsum.
Figyelmeztetés
Lorum ipsum.
Fontos
Lorum ipsum.
Tiger image
Ábra 1. Tiger

Followed by an example table:

Táblázat 1. Table
Option Description

-a USER GROUP

Add USER to GROUP.

-R GROUP

Disables access to GROUP.

And now for something completely different: monkeys, lions and tigers.

A függelék: Example Appendix

Appendix special section.

Bibliográfia

Bibliography special section.

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.

Szójegyzék

Glossary special section.

A glossary term

The corresponding (indented) definition.

A second glossary term

The corresponding (indented) definition.


asciidoc-py3-9.0.0rc1/tests/data/filters-test-html5.html0000644000175000017500000004257613570064211022411 0ustar josephjoseph Filter Tests

Toy filter example from User Guide

''' A multi-line
    comment.'''
def sub_word(mo):
    ''' Single line comment.'''
    word = mo.group('word')   # Inline comment
    if word in keywords[language]:
        return quote + word + quote
    else:
        return word

Pychart Chart generations from FAQ

No barchart to avoid depending on Pychart for the tests. See also: http://asciidoc.org/faq.html#_is_it_possible_to_include_charts_in_asciidoc_documents

barchart.png

Graphviz Graphs

Graphviz->AsciiDoc->HTML
Figure 1. Simple graph
graphviz2.png
Figure 2. Not so simple graph

Music filter

music1.png
Figure 3. A tune generated from ABC notation
Figure 4. A fragment generated from LilyPond source

asciidoc-py3-9.0.0rc1/tests/data/lang-cs-book-test-docbook5.xml0000644000175000017500000000727113570064211023516 0ustar josephjoseph Languages Test 2003-12-21 v1.02003-12-21 Dedica Dedication special section. Prefazione Preface special section. Colofone Colophon special section. The First Section
Admonishments Do not translate in the source file — they are translated to the output file Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum.
Tiger Tiger image
Followed by an example table: Table Option Description -a USER GROUP Add USER to GROUP. -R GROUP Disables access to GROUP.
And now for something completely different: monkeysmonkeys, lions and tigers.
Appendice A: Example Appendix Appendix special section. Bibliografia Bibliography special section. [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9. [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7. Glossario Glossary special section. A glossary term The corresponding (indented) definition. A second glossary term The corresponding (indented) definition. Index
asciidoc-py3-9.0.0rc1/tests/data/lang-ro-article-test-xhtml11.html0000644000175000017500000004613213570064211024156 0ustar josephjoseph Languages Test

Abstract

Abstract special section.

The First Section

Admonishments

Do not translate in the source file — they are translated to the output file

Nota
Lorum ipsum.
Suggerimento
Lorum ipsum.
Avvertenza
Lorum ipsum.
Attenzione
Lorum ipsum.
Importante
Lorum ipsum.
Tiger image
Figura 1. Tiger

Followed by an example table:

Tabella 1. Table
Option Description

-a USER GROUP

Add USER to GROUP.

-R GROUP

Disables access to GROUP.

And now for something completely different: monkeys, lions and tigers.

Appendice A: Example Appendix

Appendix special section.

Bibliografia

Bibliography special section.

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.

Glossario

Glossary special section.

A glossary term

The corresponding (indented) definition.

A second glossary term

The corresponding (indented) definition.


asciidoc-py3-9.0.0rc1/tests/data/asciimathml-xhtml11.html0000644000175000017500000016762513570064211022527 0ustar josephjoseph ASCIIMathML Formulae

ASCIIMathML is a clever JavaScript written by Peter Jipsen that dynamically transforms mathematical formulae written in a wiki-like plain text markup to MathML markup which is displayed as standard mathematical notation by the Web Browser. See Appendix E in the AsciiDoc User Guide for more details.

The AsciiDoc xhtml11 backend supports ASCIIMathML — it links the ASCIIMathML script and escapes ASCIIMathML delimiters and special characters to yield valid XHTML. To use ASCIIMathML:

  1. Include the -a asciimath command-line option when you run asciidoc(1).

  2. Enclose ASCIIMathML formulas inside math or double-dollar passthroughs or in math passthrough blocks.

Here’s the AsciiDoc source that generated this page.

NOTE
  • When you use the asciimath:[] inline macro you need to escape ] characters in the formulas with a backslash, escaping is unnecessary if you use the double-dollar macro (for examples see the second formula below).

  • See the ASCIIMathML website for ASCIIMathML documentation and the latest version.

  • If the formulas don’t appear to be correct you probably need to install the correct math fonts (see the ASCIIMathML website for details).

  • See the LaTeXMathML page if you prefer to use LaTeX math formulas.

A list of example formulas:

  • `[[a,b],[c,d]]((n),(k))`

  • `x/x={(1,if x!=0),(text{undefined},if x=0):}`

  • `d/dxf(x)=lim_(h->0)(f(x+h)-f(x))/h`

  • `sum_(i=1)\^n i=(n(n+1))/2`$ and bold `int_0\^(pi/2) sinx\ dx=1`

  • `(a,b]={x in RR : a < x <= b}`

  • `x^2+y_1+z_12^34`

The first three terms factor to give `(x+b/(2a))^2=(b^2)/(4a^2)-c/a`.

`x+b/(2a)=+-sqrt((b^2)/(4a^2)-c/a)`.

Now we take square roots on both sides and get `x+b/(2a)=+-sqrt((b^2)/(4a^2)-c/a)`. Finally we move the `b/(2a)` to the right and simplify to get the two solutions: `x_(1,2)=(-b+-sqrt(b^2-4ac))/(2a)`.


asciidoc-py3-9.0.0rc1/tests/data/asciidoc.1-docbook.xml0000644000175000017500000003431313570064211022112 0ustar josephjoseph ASCIIDOC(1) asciidoc 1     asciidoc converts an AsciiDoc text file to HTML or DocBook asciidoc [OPTIONS] FILE DESCRIPTION The asciidoc(1) command translates the AsciiDoc text file FILE to DocBook or HTML. If FILE is - then the standard input is used. OPTIONS -a, --attribute=ATTRIBUTE Define or delete document attribute. ATTRIBUTE is formatted like NAME=VALUE. Command-line attributes take precedence over document and configuration file attributes. Alternate acceptable forms are NAME (the VALUE defaults to an empty string); NAME! (delete the NAME attribute); NAME=VALUE@ (do not override document or configuration file attributes). Values containing spaces should be enclosed in double-quote characters. This option may be specified more than once. A special attribute named trace controls the output of diagnostic information. -b, --backend=BACKEND Backend output file format: docbook45, docbook5, xhtml11, html4, html5, slidy, wordpress or latex (the latex backend is experimental). You can also use the backend alias names html (aliased to xhtml11) or docbook (aliased to docbook45). Defaults to html. The --backend option is also used to manage backend plugins (see PLUGIN COMMANDS). -f, --conf-file=CONF_FILE Use configuration file CONF_FILE.Configuration files processed in command-line order (after implicit configuration files). This option may be specified more than once. --doctest Run Python doctests in asciidoc module. -d, --doctype=DOCTYPE Document type: article, manpage or book. The book document type is only supported by the docbook backends. Default document type is article. -c, --dump-conf Dump configuration to stdout. --filter=FILTER Specify the name of a filter to be loaded (used to load filters that are not auto-loaded). This option may be specified more than once. The --filter option is also used to manage filter plugins (see PLUGIN COMMANDS). -h, --help [TOPIC] Print help TOPIC. --help topics will print a list of help topics, --help syntax summarizes AsciiDoc syntax, --help manpage prints the AsciiDoc manpage. -e, --no-conf Exclude implicitly loaded configuration files except for those named like the input file (infile.conf and infile-backend.conf). -s, --no-header-footer Suppress document header and footer output. -o, --out-file=OUT_FILE Write output to file OUT_FILE. Defaults to the base name of input file with backend extension. If the input is stdin then the outfile defaults to stdout. If OUT_FILE is - then the standard output is used. -n, --section-numbers Auto-number HTML article section titles. Synonym for --attribute numbered. --safe Enable safe mode. Safe mode is disabled by default. AsciiDoc safe mode skips potentially dangerous scripted sections in AsciiDoc source files. --theme=THEME Specify a theme name. Synonym for --attribute theme=THEME. The --theme option is also used to manage theme plugins (see PLUGIN COMMANDS). -v, --verbose Verbosely print processing information and configuration file checks to stderr. --version Print program version number. PLUGIN COMMANDS The asciidoc(1) --filter, --backend and --theme options are used to install, remove and list AsciiDoc filter, backend and theme plugins. Syntax: asciidoc OPTION install ZIP_FILE [PLUGINS_DIR] asciidoc OPTION remove PLUGIN_NAME [PLUGINS_DIR] asciidoc OPTION list asciidoc OPTION build ZIP_FILE PLUGIN_SOURCE Where: OPTION asciidoc(1) --filter, --backend or --theme option specifying the type of plugin. PLUGIN_NAME A unique plugin name containing only alphanumeric or underscore characters. ZIP_FILE A Zip file containing plugin resources, the name must start with the plugin name e.g. my_filter-1.0.zip packages filter my_filter. PLUGINS_DIR The directory containing installed plugins. Each plugin is contained in its own separate subdirectory which has the same name as the plugin. PLUGINS_DIR defaults to the $HOME/.asciidoc/filters (for filter plugins) or $HOME/.asciidoc/backends (for backend plugins) or $HOME/.asciidoc/themes (for theme plugins). PLUGIN_SOURCE The name of a directory containing the plugin source files or the name of a single source file. The plugin commands perform as follows: install Create a subdirectory in PLUGINS_DIR with the same name as the plugin then extract the ZIP_FILE into it. remove Delete the PLUGIN_NAME plugin subdirectory and all its contents from the PLUGINS_DIR. list List the names and locations of all installed filter or theme plugins (including standard plugins installed in the global configuration directory). build Create a plugin file named ZIP_FILE containing the files and subdirectories specified by PLUGIN_SOURCE. File and directory names starting with a period are skipped. ENVIRONMENT VARIABLES SOURCE_DATE_EPOCH If the SOURCE_DATE_EPOCH environment variable is set to a UNIX timestamp, then the {docdate}, {doctime}, {localdate}, and {localtime} attributes are computed in the UTC time zone, with any timestamps newer than SOURCE_DATE_EPOCH replaced by SOURCE_DATE_EPOCH. (This helps software using AsciiDoc to build reproducibly.) EXAMPLES asciidoc asciidoc_file_name.txt Simply generate an html file from the asciidoc_file_name.txt that is in current directory using asciidoc. asciidoc -b html5 asciidoc_file_name.txt Use the -b switch to use one of the proposed backend or another one you installed on your computer. asciidoc -a data-uri -a icons -a toc -a max-width=55em article.txt Use the -a switch to set attributes from command-line. AsciiDoc generated its stand-alone HTML user guide containing embedded CSS, JavaScript and images from the AsciiDoc article template with this command. asciidoc -b html5 -d manpage asciidoc.1.txt Generating the asciidoc manpage using the html5 backend. EXIT STATUS 0 Success 1 Failure (syntax or usage error; configuration error; document processing failure; unexpected error). BUGS See the AsciiDoc distribution BUGS file. AUTHOR AsciiDoc was originally written by Stuart Rackham. Many people have contributed to it. RESOURCES SourceForge: http://sourceforge.net/projects/asciidoc/ Main web site: http://asciidoc.org/ SEE ALSO a2x(1) COPYING Copyright (C) 2002-2011 Stuart Rackham. Free use of this software is granted under the terms of the GNU General Public License (GPL). asciidoc-py3-9.0.0rc1/tests/data/article-data-uri-xhtml11.html0000644000175000017500000010234613570064211023350 0ustar josephjoseph The Article Title

This is the optional preamble (an untitled section body). Useful for writing simple sectionless documents consisting only of a preamble.

Note The abstract, preface, appendix, bibliography, glossary and index section titles are significant (specialsections).

Example Abstract

The optional abstract (one or more paragraphs) goes here.

This document is an AsciiDoc article skeleton containing briefly annotated element placeholders plus a couple of example index entries and footnotes.

1. The First Section

Article sections start at level 1 and can be nested up to four levels deep.
[An example footnote.]

And now for something completely different: monkeys, lions and tigers (Bengal and Siberian) using the alternative syntax index entries. Note that multi-entry terms generate separate index entries.

Here are a couple of image examples: an images/smallnew.png example inline image followed by an example block image:

Tiger image
Figure 1. Tiger block image

Followed by an example table:

Table 1. An example table
Option Description

-a USER GROUP

Add USER to GROUP.

-R GROUP

Disables access to GROUP.

Example 1. An example example

Lorum ipum…

1.1. Sub-section with Anchor

Sub-section at level 2.

1.1.1. A Nested Sub-section

Sub-section at level 3.

Yet another nested Sub-section

Sub-section at level 4.

This is the maximum sub-section depth supported by the distributed AsciiDoc configuration.
[A second example footnote.]

2. The Second Section

Article sections are at level 1 and can contain sub-sections nested up to four deep.

An example link to anchor at start of the first sub-section.

An example link to a bibliography entry [taoup].

Appendix A: Example Appendix

AsciiDoc article appendices are just just article sections with specialsection titles.

Appendix Sub-section

Appendix sub-section at level 2.

Example Bibliography

The bibliography list is a style of AsciiDoc bulleted list.

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.

Example Glossary

Glossaries are optional. Glossaries entries are an example of a style of AsciiDoc labeled lists.

A glossary term

The corresponding (indented) definition.

A second glossary term

The corresponding (indented) definition.


asciidoc-py3-9.0.0rc1/tests/data/lang-hu-book-test-xhtml11.html0000644000175000017500000004664313570064211023470 0ustar josephjoseph Languages Test

Ajánlás

Dedication special section.

Előszó

Preface special section.

Utószó

Colophon special section.

The First Section

Admonishments

Do not translate in the source file — they are translated to the output file

Megjegyzés
Lorum ipsum.
Tipp
Lorum ipsum.
Figyelem
Lorum ipsum.
Figyelmeztetés
Lorum ipsum.
Fontos
Lorum ipsum.
Tiger image
Ábra 1. Tiger

Followed by an example table:

Táblázat 1. Table
Option Description

-a USER GROUP

Add USER to GROUP.

-R GROUP

Disables access to GROUP.

And now for something completely different: monkeys, lions and tigers.

A függelék: Example Appendix

Appendix special section.

Bibliográfia

Bibliography special section.

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.

Szójegyzék

Glossary special section.

A glossary term

The corresponding (indented) definition.

A second glossary term

The corresponding (indented) definition.


asciidoc-py3-9.0.0rc1/tests/data/lang-nl-article-test-html4.html0000644000175000017500000000645013570064211023700 0ustar josephjoseph Languages Test

Languages Test

version v1.0, 2003-12-21


Samenvatting

Bijzonder abstract sectie.


Het Eerste Hoofdstuk

Vermaningen

Vertaal ze niet in the broncode — ze worden vanzelf vertaald in het output bestand

Opmerking

Lorum ipsum.

Tip

Lorum ipsum.

Waarschuwing

Lorum ipsum.

Let op

Lorum ipsum.

Belangrijk

Lorum ipsum.
Tiger image

Figuur 1. Tiger

Gevolgd door een voorbeeld tabel:

Optie Beschrijving

-a USER GROUP

Voeg USER toe aan GROUP.

-R GROUP

Schakel toegang uit tot GROUP.

Tabel 1. Table

En nu iets totaal anders: apen, leeuwen en tijgers.


Bijlage A: Voorbeeld Bijlage

Bijzonder appendix sectie.


Literatuurlijst

Bijzonder bibliography sectie.

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.


Woordenlijst

Bijzonder glossary sectie.

Een woordenlijst term

De bijhorende (ingesprongen) definitie.

Een tweede term

De bijhorende (ingesprongen) definitie.


Versie v1.0
Laatst bijgewerkt 2002-11-25 00:37:42 UTC

asciidoc-py3-9.0.0rc1/tests/data/lang-ro-article-test-docbook.xml0000644000175000017500000000670113570064211024132 0ustar josephjoseph
Languages Test 2003-12-21 v1.02003-12-21 Abstract special section.
The First Section
Admonishments Do not translate in the source file — they are translated to the output file Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum.
Tiger Tiger image
Followed by an example table: Table Option Description -a USER GROUP Add USER to GROUP. -R GROUP Disables access to GROUP.
And now for something completely different: monkeysmonkeys, lions and tigers.
Example Appendix Appendix special section. Bibliografia Bibliography special section. [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9. [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7. Glossario Glossary special section. A glossary term The corresponding (indented) definition. A second glossary term The corresponding (indented) definition. Index
asciidoc-py3-9.0.0rc1/tests/data/utf8-examples-xhtml11.html0000644000175000017500000007622613570064211022732 0ustar josephjoseph UTF-8 encoded sample plain-text file

Markus Kuhn [ˈmaʳkʊs kuːn] http://www.cl.cam.ac.uk/~mgk25/ — 2002-07-25

The ASCII compatible UTF-8 encoding used in this plain-text file is defined in Unicode, ISO 10646-1, and RFC 2279.

Using Unicode/UTF-8, you can write in emails and source code things such as

Mathematics and sciences

∮ E⋅da = Q,  n → ∞, ∑ f(i) = ∏ g(i),      ⎧⎡⎛┌─────┐⎞⎤⎫
                                          ⎪⎢⎜│a²+b³ ⎟⎥⎪
∀x∈ℝ: ⌈x⌉ = −⌊−x⌋, α ∧ ¬β = ¬(¬α ∨ β),    ⎪⎢⎜│───── ⎟⎥⎪
                                          ⎪⎢⎜⎷ c₈   ⎟⎥⎪
ℕ ⊆ ℕ₀ ⊂ ℤ ⊂ ℚ ⊂ ℝ ⊂ ℂ,                   ⎨⎢⎜       ⎟⎥⎬
                                          ⎪⎢⎜ ∞     ⎟⎥⎪
⊥ < a ≠ b ≡ c ≤ d ≪ ⊤ ⇒ (⟦A⟧ ⇔ ⟪B⟫),      ⎪⎢⎜ ⎲     ⎟⎥⎪
                                          ⎪⎢⎜ ⎳aⁱ-bⁱ⎟⎥⎪
2H₂ + O₂ ⇌ 2H₂O, R = 4.7 kΩ, ⌀ 200 mm     ⎩⎣⎝i=1    ⎠⎦⎭

Linguistics and dictionaries

ði ıntəˈnæʃənəl fəˈnɛtık əsoʊsiˈeıʃn
Y [ˈʏpsilɔn], Yen [jɛn], Yoga [ˈjoːgɑ]

APL

((V⍳V)=⍳⍴V)/V←,V    ⌷←⍳→⍴∆∇⊃‾⍎⍕⌈

Nicer typography in plain text files

  • ‘single’ and “double” quotes

  • Curly apostrophes: “We’ve been here”

  • ‚deutsche‘ „Anführungszeichen“

  • †, ‡, ‰, •, 3–4, —, −5/+5, ™, …

  • ASCII safety test: 1lI|, 0OD, 8B

  • the euro symbol: 14.95 €

Combining characters

STARGΛ̊TE SG-1, a = v̇ = r̈, a⃑ ⊥ b⃑

Greek (in Polytonic)

Σὲ γνωρίζω ἀπὸ τὴν κόψη
τοῦ σπαθιοῦ τὴν τρομερή,
σὲ γνωρίζω ἀπὸ τὴν ὄψη
ποὺ μὲ βία μετράει τὴ γῆ.

᾿Απ᾿ τὰ κόκκαλα βγαλμένη
τῶν ῾Ελλήνων τὰ ἱερά
καὶ σὰν πρῶτα ἀνδρειωμένη
χαῖρε, ὦ χαῖρε, ᾿Ελευθεριά!
— The Greek anthem
Οὐχὶ ταὐτὰ παρίσταταί μοι γιγνώσκειν, ὦ ἄνδρες ᾿Αθηναῖοι,
ὅταν τ᾿ εἰς τὰ πράγματα ἀποβλέψω καὶ ὅταν πρὸς τοὺς
λόγους οὓς ἀκούω· τοὺς μὲν γὰρ λόγους περὶ τοῦ
τιμωρήσασθαι Φίλιππον ὁρῶ γιγνομένους, τὰ δὲ πράγματ᾿
εἰς τοῦτο προήκοντα,  ὥσθ᾿ ὅπως μὴ πεισόμεθ᾿ αὐτοὶ
πρότερον κακῶς σκέψασθαι δέον. οὐδέν οὖν ἄλλο μοι δοκοῦσιν
οἱ τὰ τοιαῦτα λέγοντες ἢ τὴν ὑπόθεσιν, περὶ ἧς βουλεύεσθαι,
οὐχὶ τὴν οὖσαν παριστάντες ὑμῖν ἁμαρτάνειν. ἐγὼ δέ, ὅτι μέν
ποτ᾿ ἐξῆν τῇ πόλει καὶ τὰ αὑτῆς ἔχειν ἀσφαλῶς καὶ Φίλιππον
τιμωρήσασθαι, καὶ μάλ᾿ ἀκριβῶς οἶδα· ἐπ᾿ ἐμοῦ γάρ, οὐ πάλαι
γέγονεν ταῦτ᾿ ἀμφότερα· νῦν μέντοι πέπεισμαι τοῦθ᾿ ἱκανὸν
προλαβεῖν ἡμῖν εἶναι τὴν πρώτην, ὅπως τοὺς συμμάχους
σώσομεν. ἐὰν γὰρ τοῦτο βεβαίως ὑπάρξῃ, τότε καὶ περὶ τοῦ
τίνα τιμωρήσεταί τις καὶ ὃν τρόπον ἐξέσται σκοπεῖν· πρὶν δὲ
τὴν ἀρχὴν ὀρθῶς ὑποθέσθαι, μάταιον ἡγοῦμαι περὶ τῆς
τελευτῆς ὁντινοῦν ποιεῖσθαι λόγον.

Δημοσθένους, Γ´ ᾿Ολυνθιακὸς
— From a speech of Demosthenes in the 4th century BC

Georgian:

From a Unicode conference invitation

გთხოვთ ახლავე გაიაროთ რეგისტრაცია Unicode-ის მეათე საერთაშორისო კონფერენციაზე დასასწრებად, რომელიც გაიმართება 10-12 მარტს, ქ. მაინცში, გერმანიაში. კონფერენცია შეჰკრებს ერთად მსოფლიოს ექსპერტებს ისეთ დარგებში როგორიცაა ინტერნეტი და Unicode-ი, ინტერნაციონალიზაცია და ლოკალიზაცია, Unicode-ის გამოყენება ოპერაციულ სისტემებსა, და გამოყენებით პროგრამებში, შრიფტებში, ტექსტების დამუშავებასა და მრავალენოვან კომპიუტერულ სისტემებში.

Russian

From a Unicode conference invitation

Зарегистрируйтесь сейчас на Десятую Международную Конференцию по Unicode, которая состоится 10-12 марта 1997 года в Майнце в Германии. Конференция соберет широкий круг экспертов по вопросам глобального Интернета и Unicode, локализации и интернационализации, воплощению и применению Unicode в различных операционных системах и программных приложениях, шрифтах, верстке и многоязычных компьютерных системах.

Thai (UCS Level 2)

Excerpt from a poetry on The Romance of The Three Kingdoms (a Chinese classic San Gua):

[----------------------------|------------------------]
  ๏ แผ่นดินฮั่นเสื่อมโทรมแสนสังเวช  พระปกเกศกองบู๊กู้ขึ้นใหม่
สิบสองกษัตริย์ก่อนหน้าแลถัดไป       สององค์ไซร้โง่เขลาเบาปัญญา
  ทรงนับถือขันทีเป็นที่พึ่ง           บ้านเมืองจึงวิปริตเป็นนักหนา
โฮจิ๋นเรียกทัพทั่วหัวเมืองมา         หมายจะฆ่ามดชั่วตัวสำคัญ
  เหมือนขับไสไล่เสือจากเคหา      รับหมาป่าเข้ามาเลยอาสัญ
ฝ่ายอ้องอุ้นยุแยกให้แตกกัน          ใช้สาวนั้นเป็นชนวนชื่นชวนใจ
  พลันลิฉุยกุยกีกลับก่อเหตุ          ช่างอาเพศจริงหนาฟ้าร้องไห้
ต้องรบราฆ่าฟันจนบรรลัย           ฤๅหาใครค้ำชูกู้บรรลังก์ ฯ

(The above is a two-column text. If combining characters are handled correctly, the lines of the second column should be aligned with the | character above.)

Ethiopian

Proverbs in the Amharic language
ሰማይ አይታረስ ንጉሥ አይከሰስ።
ብላ ካለኝ እንደአባቴ በቆመጠኝ።
ጌጥ ያለቤቱ ቁምጥና ነው።
ደሀ በሕልሙ ቅቤ ባይጠጣ ንጣት በገደለው።
የአፍ ወለምታ በቅቤ አይታሽም።
አይጥ በበላ ዳዋ ተመታ።
ሲተረጉሙ ይደረግሙ።
ቀስ በቀስ፥ ዕንቁላል በእግሩ ይሄዳል።
ድር ቢያብር አንበሳ ያስር።
ሰው እንደቤቱ እንጅ እንደ ጉረቤቱ አይተዳደርም።
እግዜር የከፈተውን ጉሮሮ ሳይዘጋው አይድርም።
የጎረቤት ሌባ፥ ቢያዩት ይስቅ ባያዩት ያጠልቅ።
ሥራ ከመፍታት ልጄን ላፋታት።
ዓባይ ማደሪያ የለው፥ ግንድ ይዞ ይዞራል።
የእስላም አገሩ መካ የአሞራ አገሩ ዋርካ።
ተንጋሎ ቢተፉ ተመልሶ ባፉ።
ወዳጅህ ማር ቢሆን ጨርስህ አትላሰው።
እግርህን በፍራሽህ ልክ ዘርጋ።

Runes

ᚻᛖ ᚳᚹᚫᚦ ᚦᚫᛏ ᚻᛖ ᛒᚢᛞᛖ ᚩᚾ ᚦᚫᛗ ᛚᚪᚾᛞᛖ ᚾᚩᚱᚦᚹᛖᚪᚱᛞᚢᛗ ᚹᛁᚦ ᚦᚪ ᚹᛖᛥᚫ

(Old English, which transcribed into Latin reads “He cwaeth that he bude thaem lande northweardum with tha Westsae.” and means “He said that he lived in the northern land near the Western Sea.”)

Braille

⡌⠁⠧⠑ ⠼⠁⠒  ⡍⠜⠇⠑⠹⠰⠎ ⡣⠕⠌
⡍⠜⠇⠑⠹ ⠺⠁⠎ ⠙⠑⠁⠙⠒ ⠞⠕ ⠃⠑⠛⠔ ⠺⠊⠹⠲ ⡹⠻⠑ ⠊⠎ ⠝⠕ ⠙⠳⠃⠞
⠱⠁⠞⠑⠧⠻ ⠁⠃⠳⠞ ⠹⠁⠞⠲ ⡹⠑ ⠗⠑⠛⠊⠌⠻ ⠕⠋ ⠙⠊⠎ ⠃⠥⠗⠊⠁⠇ ⠺⠁⠎
⠎⠊⠛⠝⠫ ⠃⠹ ⠹⠑ ⠊⠇⠻⠛⠹⠍⠁⠝⠂ ⠹⠑ ⠊⠇⠻⠅⠂ ⠹⠑ ⠥⠝⠙⠻⠞⠁⠅⠻⠂
⠁⠝⠙ ⠹⠑ ⠡⠊⠑⠋ ⠍⠳⠗⠝⠻⠲ ⡎⠊⠗⠕⠕⠛⠑ ⠎⠊⠛⠝⠫ ⠊⠞⠲ ⡁⠝⠙
⡎⠊⠗⠕⠕⠛⠑⠰⠎ ⠝⠁⠍⠑ ⠺⠁⠎ ⠛⠕⠕⠙ ⠥⠏⠕⠝ ⠰⡡⠁⠝⠛⠑⠂ ⠋⠕⠗ ⠁⠝⠹⠹⠔⠛ ⠙⠑
⠡⠕⠎⠑ ⠞⠕ ⠏⠥⠞ ⠙⠊⠎ ⠙⠁⠝⠙ ⠞⠕⠲
⡕⠇⠙ ⡍⠜⠇⠑⠹ ⠺⠁⠎ ⠁⠎ ⠙⠑⠁⠙ ⠁⠎ ⠁ ⠙⠕⠕⠗⠤⠝⠁⠊⠇⠲
⡍⠔⠙⠖ ⡊ ⠙⠕⠝⠰⠞ ⠍⠑⠁⠝ ⠞⠕ ⠎⠁⠹ ⠹⠁⠞ ⡊ ⠅⠝⠪⠂ ⠕⠋ ⠍⠹
⠪⠝ ⠅⠝⠪⠇⠫⠛⠑⠂ ⠱⠁⠞ ⠹⠻⠑ ⠊⠎ ⠏⠜⠞⠊⠊⠥⠇⠜⠇⠹ ⠙⠑⠁⠙ ⠁⠃⠳⠞
⠁ ⠙⠕⠕⠗⠤⠝⠁⠊⠇⠲ ⡊ ⠍⠊⠣⠞ ⠙⠁⠧⠑ ⠃⠑⠲ ⠔⠊⠇⠔⠫⠂ ⠍⠹⠎⠑⠇⠋⠂ ⠞⠕
⠗⠑⠛⠜⠙ ⠁ ⠊⠕⠋⠋⠔⠤⠝⠁⠊⠇ ⠁⠎ ⠹⠑ ⠙⠑⠁⠙⠑⠌ ⠏⠊⠑⠊⠑ ⠕⠋ ⠊⠗⠕⠝⠍⠕⠝⠛⠻⠹
⠔ ⠹⠑ ⠞⠗⠁⠙⠑⠲ ⡃⠥⠞ ⠹⠑ ⠺⠊⠎⠙⠕⠍ ⠕⠋ ⠳⠗ ⠁⠝⠊⠑⠌⠕⠗⠎
⠊⠎ ⠔ ⠹⠑ ⠎⠊⠍⠊⠇⠑⠆ ⠁⠝⠙ ⠍⠹ ⠥⠝⠙⠁⠇⠇⠪⠫ ⠙⠁⠝⠙⠎
⠩⠁⠇⠇ ⠝⠕⠞ ⠙⠊⠌⠥⠗⠃ ⠊⠞⠂ ⠕⠗ ⠹⠑ ⡊⠳⠝⠞⠗⠹⠰⠎ ⠙⠕⠝⠑ ⠋⠕⠗⠲ ⡹⠳
⠺⠊⠇⠇ ⠹⠻⠑⠋⠕⠗⠑ ⠏⠻⠍⠊⠞ ⠍⠑ ⠞⠕ ⠗⠑⠏⠑⠁⠞⠂ ⠑⠍⠏⠙⠁⠞⠊⠊⠁⠇⠇⠹⠂ ⠹⠁⠞
⡍⠜⠇⠑⠹ ⠺⠁⠎ ⠁⠎ ⠙⠑⠁⠙ ⠁⠎ ⠁ ⠙⠕⠕⠗⠤⠝⠁⠊⠇⠲

(The first couple of paragraphs of "A Christmas Carol" by Dickens)

Compact font selection example text

ABCDEFGHIJKLMNOPQRSTUVWXYZ /0123456789
abcdefghijklmnopqrstuvwxyz £©µÀÆÖÞßéöÿ
–—‘“”„†•…‰™œŠŸž€ ΑΒΓΔΩαβγδω АБВГДабвгд
∀∂∈ℝ∧∪≡∞ ↑↗↨↻⇣ ┐┼╔╘░►☺♀ fi�⑀₂ἠḂӥẄɐː⍎אԱა

Greetings in various languages

Hello world, Καλημέρα κόσμε, コンニチハ

Box drawing alignment tests

                                                                      █
                                                                      ▉
  ╔══╦══╗  ┌──┬──┐  ╭──┬──╮  ╭──┬──╮  ┏━━┳━━┓  ┎┒┏┑   ╷  ╻ ┏┯┓ ┌┰┐    ▊ ╱╲╱╲╳╳╳
  ║┌─╨─┐║  │╔═╧═╗│  │╒═╪═╕│  │╓─╁─╖│  ┃┌─╂─┐┃  ┗╃╄┙  ╶┼╴╺╋╸┠┼┨ ┝╋┥    ▋ ╲╱╲╱╳╳╳
  ║│╲ ╱│║  │║   ║│  ││ │ ││  │║ ┃ ║│  ┃│ ╿ │┃  ┍╅╆┓   ╵  ╹ ┗┷┛ └┸┘    ▌ ╱╲╱╲╳╳╳
  ╠╡ ╳ ╞╣  ├╢   ╟┤  ├┼─┼─┼┤  ├╫─╂─╫┤  ┣┿╾┼╼┿┫  ┕┛┖┚     ┌┄┄┐ ╎ ┏┅┅┓ ┋ ▍ ╲╱╲╱╳╳╳
  ║│╱ ╲│║  │║   ║│  ││ │ ││  │║ ┃ ║│  ┃│ ╽ │┃  ░░▒▒▓▓██ ┊  ┆ ╎ ╏  ┇ ┋ ▎
  ║└─╥─┘║  │╚═╤═╝│  │╘═╪═╛│  │╙─╀─╜│  ┃└─╂─┘┃  ░░▒▒▓▓██ ┊  ┆ ╎ ╏  ┇ ┋ ▏
  ╚══╩══╝  └──┴──┘  ╰──┴──╯  ╰──┴──╯  ┗━━┻━━┛  ▗▄▖▛▀▜   └╌╌┘ ╎ ┗╍╍┛ ┋  ▁▂▃▄▅▆▇█
                                               ▝▀▘▙▄▟

asciidoc-py3-9.0.0rc1/tests/data/lang-en-book-test-html5.html0000644000175000017500000004643013570064211023203 0ustar josephjoseph Languages Test

Dedication

Dedication special section.

Preface

Preface special section.

Colophon

Colophon special section.

The First Section

Admonishments

Do not translate in the source file — they are translated to the output file

Note
Lorum ipsum.
Tip
Lorum ipsum.
Warning
Lorum ipsum.
Caution
Lorum ipsum.
Important
Lorum ipsum.
Tiger image
Figure 1. Tiger

Followed by an example table:

Table 1. Table
Option Description

-a USER GROUP

Add USER to GROUP.

-R GROUP

Disables access to GROUP.

And now for something completely different: monkeys, lions and tigers.

Appendix A: Example Appendix

Appendix special section.

Bibliography

Bibliography special section.

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.

Glossary

Glossary special section.

A glossary term

The corresponding (indented) definition.

A second glossary term

The corresponding (indented) definition.


asciidoc-py3-9.0.0rc1/tests/data/utf8-examples-html5.html0000644000175000017500000007571213570064211022464 0ustar josephjoseph UTF-8 encoded sample plain-text file

Markus Kuhn [ˈmaʳkʊs kuːn] http://www.cl.cam.ac.uk/~mgk25/ — 2002-07-25

The ASCII compatible UTF-8 encoding used in this plain-text file is defined in Unicode, ISO 10646-1, and RFC 2279.

Using Unicode/UTF-8, you can write in emails and source code things such as

Mathematics and sciences

∮ E⋅da = Q,  n → ∞, ∑ f(i) = ∏ g(i),      ⎧⎡⎛┌─────┐⎞⎤⎫
                                          ⎪⎢⎜│a²+b³ ⎟⎥⎪
∀x∈ℝ: ⌈x⌉ = −⌊−x⌋, α ∧ ¬β = ¬(¬α ∨ β),    ⎪⎢⎜│───── ⎟⎥⎪
                                          ⎪⎢⎜⎷ c₈   ⎟⎥⎪
ℕ ⊆ ℕ₀ ⊂ ℤ ⊂ ℚ ⊂ ℝ ⊂ ℂ,                   ⎨⎢⎜       ⎟⎥⎬
                                          ⎪⎢⎜ ∞     ⎟⎥⎪
⊥ < a ≠ b ≡ c ≤ d ≪ ⊤ ⇒ (⟦A⟧ ⇔ ⟪B⟫),      ⎪⎢⎜ ⎲     ⎟⎥⎪
                                          ⎪⎢⎜ ⎳aⁱ-bⁱ⎟⎥⎪
2H₂ + O₂ ⇌ 2H₂O, R = 4.7 kΩ, ⌀ 200 mm     ⎩⎣⎝i=1    ⎠⎦⎭

Linguistics and dictionaries

ði ıntəˈnæʃənəl fəˈnɛtık əsoʊsiˈeıʃn
Y [ˈʏpsilɔn], Yen [jɛn], Yoga [ˈjoːgɑ]

APL

((V⍳V)=⍳⍴V)/V←,V    ⌷←⍳→⍴∆∇⊃‾⍎⍕⌈

Nicer typography in plain text files

  • ‘single’ and “double” quotes

  • Curly apostrophes: “We’ve been here”

  • ‚deutsche‘ „Anführungszeichen“

  • †, ‡, ‰, •, 3–4, —, −5/+5, ™, …

  • ASCII safety test: 1lI|, 0OD, 8B

  • the euro symbol: 14.95 €

Combining characters

STARGΛ̊TE SG-1, a = v̇ = r̈, a⃑ ⊥ b⃑

Greek (in Polytonic)

Σὲ γνωρίζω ἀπὸ τὴν κόψη
τοῦ σπαθιοῦ τὴν τρομερή,
σὲ γνωρίζω ἀπὸ τὴν ὄψη
ποὺ μὲ βία μετράει τὴ γῆ.

᾿Απ᾿ τὰ κόκκαλα βγαλμένη
τῶν ῾Ελλήνων τὰ ἱερά
καὶ σὰν πρῶτα ἀνδρειωμένη
χαῖρε, ὦ χαῖρε, ᾿Ελευθεριά!
— The Greek anthem
Οὐχὶ ταὐτὰ παρίσταταί μοι γιγνώσκειν, ὦ ἄνδρες ᾿Αθηναῖοι,
ὅταν τ᾿ εἰς τὰ πράγματα ἀποβλέψω καὶ ὅταν πρὸς τοὺς
λόγους οὓς ἀκούω· τοὺς μὲν γὰρ λόγους περὶ τοῦ
τιμωρήσασθαι Φίλιππον ὁρῶ γιγνομένους, τὰ δὲ πράγματ᾿
εἰς τοῦτο προήκοντα,  ὥσθ᾿ ὅπως μὴ πεισόμεθ᾿ αὐτοὶ
πρότερον κακῶς σκέψασθαι δέον. οὐδέν οὖν ἄλλο μοι δοκοῦσιν
οἱ τὰ τοιαῦτα λέγοντες ἢ τὴν ὑπόθεσιν, περὶ ἧς βουλεύεσθαι,
οὐχὶ τὴν οὖσαν παριστάντες ὑμῖν ἁμαρτάνειν. ἐγὼ δέ, ὅτι μέν
ποτ᾿ ἐξῆν τῇ πόλει καὶ τὰ αὑτῆς ἔχειν ἀσφαλῶς καὶ Φίλιππον
τιμωρήσασθαι, καὶ μάλ᾿ ἀκριβῶς οἶδα· ἐπ᾿ ἐμοῦ γάρ, οὐ πάλαι
γέγονεν ταῦτ᾿ ἀμφότερα· νῦν μέντοι πέπεισμαι τοῦθ᾿ ἱκανὸν
προλαβεῖν ἡμῖν εἶναι τὴν πρώτην, ὅπως τοὺς συμμάχους
σώσομεν. ἐὰν γὰρ τοῦτο βεβαίως ὑπάρξῃ, τότε καὶ περὶ τοῦ
τίνα τιμωρήσεταί τις καὶ ὃν τρόπον ἐξέσται σκοπεῖν· πρὶν δὲ
τὴν ἀρχὴν ὀρθῶς ὑποθέσθαι, μάταιον ἡγοῦμαι περὶ τῆς
τελευτῆς ὁντινοῦν ποιεῖσθαι λόγον.

Δημοσθένους, Γ´ ᾿Ολυνθιακὸς
— From a speech of Demosthenes in the 4th century BC

Georgian:

From a Unicode conference invitation

გთხოვთ ახლავე გაიაროთ რეგისტრაცია Unicode-ის მეათე საერთაშორისო კონფერენციაზე დასასწრებად, რომელიც გაიმართება 10-12 მარტს, ქ. მაინცში, გერმანიაში. კონფერენცია შეჰკრებს ერთად მსოფლიოს ექსპერტებს ისეთ დარგებში როგორიცაა ინტერნეტი და Unicode-ი, ინტერნაციონალიზაცია და ლოკალიზაცია, Unicode-ის გამოყენება ოპერაციულ სისტემებსა, და გამოყენებით პროგრამებში, შრიფტებში, ტექსტების დამუშავებასა და მრავალენოვან კომპიუტერულ სისტემებში.

Russian

From a Unicode conference invitation

Зарегистрируйтесь сейчас на Десятую Международную Конференцию по Unicode, которая состоится 10-12 марта 1997 года в Майнце в Германии. Конференция соберет широкий круг экспертов по вопросам глобального Интернета и Unicode, локализации и интернационализации, воплощению и применению Unicode в различных операционных системах и программных приложениях, шрифтах, верстке и многоязычных компьютерных системах.

Thai (UCS Level 2)

Excerpt from a poetry on The Romance of The Three Kingdoms (a Chinese classic San Gua):

[----------------------------|------------------------]
  ๏ แผ่นดินฮั่นเสื่อมโทรมแสนสังเวช  พระปกเกศกองบู๊กู้ขึ้นใหม่
สิบสองกษัตริย์ก่อนหน้าแลถัดไป       สององค์ไซร้โง่เขลาเบาปัญญา
  ทรงนับถือขันทีเป็นที่พึ่ง           บ้านเมืองจึงวิปริตเป็นนักหนา
โฮจิ๋นเรียกทัพทั่วหัวเมืองมา         หมายจะฆ่ามดชั่วตัวสำคัญ
  เหมือนขับไสไล่เสือจากเคหา      รับหมาป่าเข้ามาเลยอาสัญ
ฝ่ายอ้องอุ้นยุแยกให้แตกกัน          ใช้สาวนั้นเป็นชนวนชื่นชวนใจ
  พลันลิฉุยกุยกีกลับก่อเหตุ          ช่างอาเพศจริงหนาฟ้าร้องไห้
ต้องรบราฆ่าฟันจนบรรลัย           ฤๅหาใครค้ำชูกู้บรรลังก์ ฯ

(The above is a two-column text. If combining characters are handled correctly, the lines of the second column should be aligned with the | character above.)

Ethiopian

Proverbs in the Amharic language
ሰማይ አይታረስ ንጉሥ አይከሰስ።
ብላ ካለኝ እንደአባቴ በቆመጠኝ።
ጌጥ ያለቤቱ ቁምጥና ነው።
ደሀ በሕልሙ ቅቤ ባይጠጣ ንጣት በገደለው።
የአፍ ወለምታ በቅቤ አይታሽም።
አይጥ በበላ ዳዋ ተመታ።
ሲተረጉሙ ይደረግሙ።
ቀስ በቀስ፥ ዕንቁላል በእግሩ ይሄዳል።
ድር ቢያብር አንበሳ ያስር።
ሰው እንደቤቱ እንጅ እንደ ጉረቤቱ አይተዳደርም።
እግዜር የከፈተውን ጉሮሮ ሳይዘጋው አይድርም።
የጎረቤት ሌባ፥ ቢያዩት ይስቅ ባያዩት ያጠልቅ።
ሥራ ከመፍታት ልጄን ላፋታት።
ዓባይ ማደሪያ የለው፥ ግንድ ይዞ ይዞራል።
የእስላም አገሩ መካ የአሞራ አገሩ ዋርካ።
ተንጋሎ ቢተፉ ተመልሶ ባፉ።
ወዳጅህ ማር ቢሆን ጨርስህ አትላሰው።
እግርህን በፍራሽህ ልክ ዘርጋ።

Runes

ᚻᛖ ᚳᚹᚫᚦ ᚦᚫᛏ ᚻᛖ ᛒᚢᛞᛖ ᚩᚾ ᚦᚫᛗ ᛚᚪᚾᛞᛖ ᚾᚩᚱᚦᚹᛖᚪᚱᛞᚢᛗ ᚹᛁᚦ ᚦᚪ ᚹᛖᛥᚫ

(Old English, which transcribed into Latin reads “He cwaeth that he bude thaem lande northweardum with tha Westsae.” and means “He said that he lived in the northern land near the Western Sea.”)

Braille

⡌⠁⠧⠑ ⠼⠁⠒  ⡍⠜⠇⠑⠹⠰⠎ ⡣⠕⠌
⡍⠜⠇⠑⠹ ⠺⠁⠎ ⠙⠑⠁⠙⠒ ⠞⠕ ⠃⠑⠛⠔ ⠺⠊⠹⠲ ⡹⠻⠑ ⠊⠎ ⠝⠕ ⠙⠳⠃⠞
⠱⠁⠞⠑⠧⠻ ⠁⠃⠳⠞ ⠹⠁⠞⠲ ⡹⠑ ⠗⠑⠛⠊⠌⠻ ⠕⠋ ⠙⠊⠎ ⠃⠥⠗⠊⠁⠇ ⠺⠁⠎
⠎⠊⠛⠝⠫ ⠃⠹ ⠹⠑ ⠊⠇⠻⠛⠹⠍⠁⠝⠂ ⠹⠑ ⠊⠇⠻⠅⠂ ⠹⠑ ⠥⠝⠙⠻⠞⠁⠅⠻⠂
⠁⠝⠙ ⠹⠑ ⠡⠊⠑⠋ ⠍⠳⠗⠝⠻⠲ ⡎⠊⠗⠕⠕⠛⠑ ⠎⠊⠛⠝⠫ ⠊⠞⠲ ⡁⠝⠙
⡎⠊⠗⠕⠕⠛⠑⠰⠎ ⠝⠁⠍⠑ ⠺⠁⠎ ⠛⠕⠕⠙ ⠥⠏⠕⠝ ⠰⡡⠁⠝⠛⠑⠂ ⠋⠕⠗ ⠁⠝⠹⠹⠔⠛ ⠙⠑
⠡⠕⠎⠑ ⠞⠕ ⠏⠥⠞ ⠙⠊⠎ ⠙⠁⠝⠙ ⠞⠕⠲
⡕⠇⠙ ⡍⠜⠇⠑⠹ ⠺⠁⠎ ⠁⠎ ⠙⠑⠁⠙ ⠁⠎ ⠁ ⠙⠕⠕⠗⠤⠝⠁⠊⠇⠲
⡍⠔⠙⠖ ⡊ ⠙⠕⠝⠰⠞ ⠍⠑⠁⠝ ⠞⠕ ⠎⠁⠹ ⠹⠁⠞ ⡊ ⠅⠝⠪⠂ ⠕⠋ ⠍⠹
⠪⠝ ⠅⠝⠪⠇⠫⠛⠑⠂ ⠱⠁⠞ ⠹⠻⠑ ⠊⠎ ⠏⠜⠞⠊⠊⠥⠇⠜⠇⠹ ⠙⠑⠁⠙ ⠁⠃⠳⠞
⠁ ⠙⠕⠕⠗⠤⠝⠁⠊⠇⠲ ⡊ ⠍⠊⠣⠞ ⠙⠁⠧⠑ ⠃⠑⠲ ⠔⠊⠇⠔⠫⠂ ⠍⠹⠎⠑⠇⠋⠂ ⠞⠕
⠗⠑⠛⠜⠙ ⠁ ⠊⠕⠋⠋⠔⠤⠝⠁⠊⠇ ⠁⠎ ⠹⠑ ⠙⠑⠁⠙⠑⠌ ⠏⠊⠑⠊⠑ ⠕⠋ ⠊⠗⠕⠝⠍⠕⠝⠛⠻⠹
⠔ ⠹⠑ ⠞⠗⠁⠙⠑⠲ ⡃⠥⠞ ⠹⠑ ⠺⠊⠎⠙⠕⠍ ⠕⠋ ⠳⠗ ⠁⠝⠊⠑⠌⠕⠗⠎
⠊⠎ ⠔ ⠹⠑ ⠎⠊⠍⠊⠇⠑⠆ ⠁⠝⠙ ⠍⠹ ⠥⠝⠙⠁⠇⠇⠪⠫ ⠙⠁⠝⠙⠎
⠩⠁⠇⠇ ⠝⠕⠞ ⠙⠊⠌⠥⠗⠃ ⠊⠞⠂ ⠕⠗ ⠹⠑ ⡊⠳⠝⠞⠗⠹⠰⠎ ⠙⠕⠝⠑ ⠋⠕⠗⠲ ⡹⠳
⠺⠊⠇⠇ ⠹⠻⠑⠋⠕⠗⠑ ⠏⠻⠍⠊⠞ ⠍⠑ ⠞⠕ ⠗⠑⠏⠑⠁⠞⠂ ⠑⠍⠏⠙⠁⠞⠊⠊⠁⠇⠇⠹⠂ ⠹⠁⠞
⡍⠜⠇⠑⠹ ⠺⠁⠎ ⠁⠎ ⠙⠑⠁⠙ ⠁⠎ ⠁ ⠙⠕⠕⠗⠤⠝⠁⠊⠇⠲

(The first couple of paragraphs of "A Christmas Carol" by Dickens)

Compact font selection example text

ABCDEFGHIJKLMNOPQRSTUVWXYZ /0123456789
abcdefghijklmnopqrstuvwxyz £©µÀÆÖÞßéöÿ
–—‘“”„†•…‰™œŠŸž€ ΑΒΓΔΩαβγδω АБВГДабвгд
∀∂∈ℝ∧∪≡∞ ↑↗↨↻⇣ ┐┼╔╘░►☺♀ fi�⑀₂ἠḂӥẄɐː⍎אԱა

Greetings in various languages

Hello world, Καλημέρα κόσμε, コンニチハ

Box drawing alignment tests

                                                                      █
                                                                      ▉
  ╔══╦══╗  ┌──┬──┐  ╭──┬──╮  ╭──┬──╮  ┏━━┳━━┓  ┎┒┏┑   ╷  ╻ ┏┯┓ ┌┰┐    ▊ ╱╲╱╲╳╳╳
  ║┌─╨─┐║  │╔═╧═╗│  │╒═╪═╕│  │╓─╁─╖│  ┃┌─╂─┐┃  ┗╃╄┙  ╶┼╴╺╋╸┠┼┨ ┝╋┥    ▋ ╲╱╲╱╳╳╳
  ║│╲ ╱│║  │║   ║│  ││ │ ││  │║ ┃ ║│  ┃│ ╿ │┃  ┍╅╆┓   ╵  ╹ ┗┷┛ └┸┘    ▌ ╱╲╱╲╳╳╳
  ╠╡ ╳ ╞╣  ├╢   ╟┤  ├┼─┼─┼┤  ├╫─╂─╫┤  ┣┿╾┼╼┿┫  ┕┛┖┚     ┌┄┄┐ ╎ ┏┅┅┓ ┋ ▍ ╲╱╲╱╳╳╳
  ║│╱ ╲│║  │║   ║│  ││ │ ││  │║ ┃ ║│  ┃│ ╽ │┃  ░░▒▒▓▓██ ┊  ┆ ╎ ╏  ┇ ┋ ▎
  ║└─╥─┘║  │╚═╤═╝│  │╘═╪═╛│  │╙─╀─╜│  ┃└─╂─┘┃  ░░▒▒▓▓██ ┊  ┆ ╎ ╏  ┇ ┋ ▏
  ╚══╩══╝  └──┴──┘  ╰──┴──╯  ╰──┴──╯  ┗━━┻━━┛  ▗▄▖▛▀▜   └╌╌┘ ╎ ┗╍╍┛ ┋  ▁▂▃▄▅▆▇█
                                               ▝▀▘▙▄▟

asciidoc-py3-9.0.0rc1/tests/data/slidy-example-slidy.html0000644000175000017500000040447013570064211022627 0ustar josephjoseph Slidy Example Slideshow

This preamble will appear on a separate slide.

AsciiDoc Elements

Sagittis in vestibulum. Habitasse ante nulla enim bibendum nulla. Odio sed pede litora.

Titles inside delimited blocks must be floated

Porta nisl metus. Justo porttitor vel. Cras consequat tincidunt id sed conubia. Feugiat felis justo. Nunc amet nulla. Eu ac orci mollis.

images/tiger.png
Figure 1. Tiger

Incremental Elements

The remaining elements on this page are incremental, press the space bar to reveal them.

  • Rhoncus pede justo.
  • Velit pede dolor.
  • Iaculis commodo et.
  • Volutpat tristique nec.

Sagittis in vestibulum. Habitasse ante nulla enim bibendum nulla. Odio sed pede litora.

  1. Rhoncus pede justo.
  2. Velit pede dolor.
  3. Iaculis commodo et.
  4. Volutpat tristique nec.

Outline Elements

The following list is a Slidy outline list — nested bulleted or numbered lists are expanded when the enclosing list item (the ones with blue bullet points or numbers) are clicked.

  • Rhoncus pede justo.
    • Rhoncus pede justo.
    • Velit pede dolor.
  • Velit pede dolor.
    • Iaculis commodo et.
      Note Note admonition paragraph.
    • Volutpat tristique nec.
      images/tiger.png
    • Iaculis commodo et.
    • Volutpat tristique nec.
  • Iaculis commodo et.
    1. Rhoncus pede justo.
      • Velit pede dolor.
      • Iaculis commodo et.
    2. Volutpat tristique nec.
  • Volutpat tristique nec.

AsciiDoc Elements

Note Note admonition paragraph.
Important Important admonition paragraph.
Sidebar

Faucibus sagittis commodo sed et eu. Quam nullam ornare. Sed vel est. Mauris urna lobortis interdum placerat per id magnis enim.

AsciiDoc Elements

A quote block:

A good notation has subtlety and suggestiveness which at times makes it almost seem like a live teacher.

The World of Mathematics (1956)
— Bertrand Russell

A verse block:

To see a world in a grain of sand,
And a heaven in a wild flower,
Hold infinity in the palm of your hand,
And eternity in an hour.
from Auguries of Innocence
— William Blake

AsciiDoc Elements

Table 1. Horizontal and vertical source data
Date Duration Avg HR Notes

22-Aug-08

10:24

157

Worked out MSHR (max sustainable heart rate) by going hard for this interval.

22-Aug-08

23:03

152

Back-to-back with previous interval.

24-Aug-08

40:00

145

Moderately hard interspersed with 3x 3min intervals (2min hard + 1min really hard taking the HR up to 160).

Filters

Python source
''' A multi-line
    comment.'''
def sub_word(mo):
    ''' Single line comment.'''
    word = mo.group('word')     # Inline comment
    if word in keywords[language]:
        return quote + word + quote
    else:
        return word
asciidoc-py3-9.0.0rc1/tests/data/lang-uk-article-test-html5.html0000644000175000017500000004623613570064211023715 0ustar josephjoseph Languages Test

Анотація

Abstract special section.

The First Section

Admonishments

Do not translate in the source file — they are translated to the output file

Зауваження
Lorum ipsum.
Підказка
Lorum ipsum.
Увага
Lorum ipsum.
Попередження
Lorum ipsum.
Важливо
Lorum ipsum.
Tiger image
Рисунок 1. Tiger

Followed by an example table:

Таблиця 1. Table
Option Description

-a USER GROUP

Add USER to GROUP.

-R GROUP

Disables access to GROUP.

And now for something completely different: monkeys, lions and tigers.

Додаток A: Example Appendix

Appendix special section.

Бібліографія

Bibliography special section.

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.

Словник термінів

Glossary special section.

A glossary term

The corresponding (indented) definition.

A second glossary term

The corresponding (indented) definition.


asciidoc-py3-9.0.0rc1/tests/data/barchart.py0000644000175000017500000000025313570064211020171 0ustar josephjosephprint("No barchart to avoid depending on Pychart for the tests.\n" "See also: http://asciidoc.org/faq.html#_is_it_possible_to_include_charts_in_asciidoc_documents") asciidoc-py3-9.0.0rc1/tests/data/lang-de-article-test-docbook5.xml0000644000175000017500000000676413570064211024200 0ustar josephjoseph
Languages Test 2003-12-21 v1.02003-12-21 Abstract special section.
The First Section
Admonishments Do not translate in the source file — they are translated to the output file Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum.
Tiger Tiger image
Followed by an example table: Table Option Description -a USER GROUP Add USER to GROUP. -R GROUP Disables access to GROUP.
And now for something completely different: monkeysmonkeys, lions and tigers.
Example Appendix Appendix special section. Literaturverzeichnis Bibliography special section. [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9. [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7. Glossar Glossary special section. A glossary term The corresponding (indented) definition. A second glossary term The corresponding (indented) definition. Stichwortverzeichnis
asciidoc-py3-9.0.0rc1/tests/data/lang-fr-article-test-xhtml11.html0000644000175000017500000004614513570064211024151 0ustar josephjoseph Languages Test

Résumé

Abstract special section.

The First Section

Admonishments

Do not translate in the source file — they are translated to the output file

Note
Lorum ipsum.
Astuce
Lorum ipsum.
Attention
Lorum ipsum.
Avertissement
Lorum ipsum.
Important
Lorum ipsum.
Tiger image
Figure 1. Tiger

Followed by an example table:

Tableau 1. Table
Option Description

-a USER GROUP

Add USER to GROUP.

-R GROUP

Disables access to GROUP.

And now for something completely different: monkeys, lions and tigers.

Appendice A: Example Appendix

Appendix special section.

Bibliographie

Bibliography special section.

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.

Glossaire

Glossary special section.

A glossary term

The corresponding (indented) definition.

A second glossary term

The corresponding (indented) definition.


asciidoc-py3-9.0.0rc1/tests/data/lang-en-man-test-docbook.xml0000644000175000017500000000210513570064211023236 0ustar josephjoseph ASCIIDOC(1) asciidoc 1     asciidoc converts an AsciiDoc text file to HTML or DocBook asciidoc [OPTIONS] FILE DESCRIPTION The asciidoc(1) command translates the AsciiDoc text file FILE to DocBook or HTML. If FILE is - then the standard input is used. asciidoc-py3-9.0.0rc1/tests/data/book-docbook.xml0000644000175000017500000001573613570064211021137 0ustar josephjoseph Book Title Goes Here 2003-12 Author's Name AN 1.02003-12AN Example Dedication Optional dedication. This document is an AsciiDoc book skeleton containing briefly annotated example elements plus a couple of example index entries and footnotes. Books are normally used to generate DocBook markup and the titles of the preface, appendix, bibliography, glossary and index sections are significant (specialsections). Example Preface Optional preface.
Preface Sub-section Preface sub-section body.
The First Chapter Chapters can contain sub-sections nested up to three deep. An example footnote. Example index entry Chapters can have their own bibliography, glossary and index. And now for something completely different: monkeysmonkeys, lions and tigers (Bengal and Siberian) using the alternative syntax index entries. Big catsLions Lions Big catsTigersBengal Tiger TigersBengal Tiger Bengal Tiger Big catsTigersSiberian Tiger TigersSiberian Tiger Siberian Tiger Note that multi-entry terms generate separate index entries. Here are a couple of image examples: an images/smallnew.png example inline image followed by an example block image:
Tiger block image Tiger image
Followed by an example table: An example table Option Description -a USER GROUP Add USER to GROUP. -R GROUP Disables access to GROUP.
An example example Lorum ipum…
Sub-section with Anchor Sub-section at level 2.
Chapter Sub-section Sub-section at level 3.
Chapter Sub-section Sub-section at level 4. This is the maximum sub-section depth supported by the distributed AsciiDoc configuration. A second example footnote.
The Second Chapter An example link to anchor at start of the first sub-section. Second example index entry An example link to a bibliography entry . The Third Chapter Book chapters are at level 1 and can contain sub-sections. Example Appendix One or more optional appendixes go here at section level 1.
Appendix Sub-section Sub-section body.
Example Bibliography The bibliography list is a style of AsciiDoc bulleted list. Books [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9. [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7. Articles [abc2003] Gall Anonim. An article, Whatever. 2003. Example Glossary Glossaries are optional. Glossaries entries are an example of a style of AsciiDoc labeled lists. A glossary term The corresponding (indented) definition. A second glossary term The corresponding (indented) definition. Example Colophon Text at the end of a book describing facts about its production. Example Index
asciidoc-py3-9.0.0rc1/tests/data/open-block-test-html5.html0000644000175000017500000004574213570064211022770 0ustar josephjoseph Additional Open Block and Paragraph styles
Lorum ipsum…

Lorum ipsum…

Lorum ipsum…

Lorum ipsum…
A title

Lorum ipsum…

Lorum ipsum…

Note

Lorum ipsum…

Lorum ipsum…

Caution

Lorum ipsum…

Lorum ipsum…

Important

Lorum ipsum…

Lorum ipsum…

Warning

Lorum ipsum…

Lorum ipsum…

Tip

Lorum ipsum…

Lorum ipsum…

As he spoke there was the sharp sound of horses' hoofs and grating wheels against the curb, followed by a sharp pull at the bell. Holmes whistled.

"A pair, by the sound," said he. "Yes," he continued, glancing out of the window. "A nice little brougham and a pair of beauties. A hundred and fifty guineas apiece. There’s money in this case, Watson, if there is nothing else."

The Adventures of Sherlock Holmes
— Sir Arthur Conan Doyle
To see a world in a grain of sand,
And a heaven in a wild flower,
Hold infinity in the palm of your hand,
And eternity in an hour.
from Auguries of Innocence
— William Blake
y = 15

if y == 24:
    x = 42
open-block-test__1.png
open-block-test__2.png
open-block-test__3.png

asciidoc-py3-9.0.0rc1/tests/data/lang-pt-BR-man-test-docbook.xml0000644000175000017500000000210713570064211023562 0ustar josephjoseph ASCIIDOC(1) asciidoc 1     asciidoc converts an AsciiDoc text file to HTML or DocBook asciidoc [OPTIONS] FILE DESCRIPTION The asciidoc(1) command translates the AsciiDoc text file FILE to DocBook or HTML. If FILE is - then the standard input is used. asciidoc-py3-9.0.0rc1/tests/data/lang-uk-book-test-docbook5.xml0000644000175000017500000000760713570064211023533 0ustar josephjoseph Languages Test 2011-01-30 v1.02011-01-30 Присвячення Dedication special section. Вступ Preface special section. Колофон Colophon special section. The First Section
Admonishments Do not translate in the source file — they are translated to the output file Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum.
Tiger Tiger image
Followed by an example table: Table Option Description -a USER GROUP Add USER to GROUP. -R GROUP Disables access to GROUP.
And now for something completely different: monkeysmonkeys, lions and tigers.
Додаток A: Example Appendix Appendix special section. Бібліографія Bibliography special section. [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9. [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7. Словник термінів Glossary special section. A glossary term The corresponding (indented) definition. A second glossary term The corresponding (indented) definition. Предметний покажчик
asciidoc-py3-9.0.0rc1/tests/data/article-html4.html0000644000175000017500000001132113570064211021366 0ustar josephjoseph The Article Title

The Article Title

Author's Name
<authors@email.address>
version 1.0, 2003-12

This is the optional preamble (an untitled section body). Useful for writing simple sectionless documents consisting only of a preamble.

Note

The abstract, preface, appendix, bibliography, glossary and index section titles are significant (specialsections).

Example Abstract

The optional abstract (one or more paragraphs) goes here.

This document is an AsciiDoc article skeleton containing briefly annotated element placeholders plus a couple of example index entries and footnotes.


1. The First Section

Article sections start at level 1 and can be nested up to four levels deep.
[An example footnote.]

And now for something completely different: monkeys, lions and tigers (Bengal and Siberian) using the alternative syntax index entries. Note that multi-entry terms generate separate index entries.

Here are a couple of image examples: an images/smallnew.png example inline image followed by an example block image:

Tiger image

Figure 1. Tiger block image

Followed by an example table:

Option Description

-a USER GROUP

Add USER to GROUP.

-R GROUP

Disables access to GROUP.

Table 1. An example table

Lorum ipum…

Example 1. An example example

1.1. Sub-section with Anchor

Sub-section at level 2.

1.1.1. A Nested Sub-section

Sub-section at level 3.

Yet another nested Sub-section

Sub-section at level 4.

This is the maximum sub-section depth supported by the distributed AsciiDoc configuration.
[A second example footnote.]


2. The Second Section

Article sections are at level 1 and can contain sub-sections nested up to four deep.

An example link to anchor at start of the first sub-section.

An example link to a bibliography entry [taoup].


Appendix A: Example Appendix

AsciiDoc article appendices are just just article sections with specialsection titles.

Appendix Sub-section

Appendix sub-section at level 2.


Example Bibliography

The bibliography list is a style of AsciiDoc bulleted list.

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.


Example Glossary

Glossaries are optional. Glossaries entries are an example of a style of AsciiDoc labeled lists.

A glossary term

The corresponding (indented) definition.

A second glossary term

The corresponding (indented) definition.


Version 1.0
Last updated 2002-11-25 00:37:42 UTC

asciidoc-py3-9.0.0rc1/tests/data/rcs-id-marker-test-html4.html0000644000175000017500000000076513570064211023372 0ustar josephjoseph RCS $Id$ Marker Test

RCS $Id$ Marker Test

jbloggs
version 1.5, 2009/05/17

Lorum ipsum…


Version 1.5
Last updated 2002-11-25 00:37:42 UTC

asciidoc-py3-9.0.0rc1/tests/data/utf8-examples.txt0000644000175000017500000003206013570064211021275 0ustar josephjosephUTF-8 encoded sample plain-text file ==================================== Markus Kuhn [ˈmaʳkʊs kuːn] — 2002-07-25 The ASCII compatible UTF-8 encoding used in this plain-text file is defined in Unicode, ISO 10646-1, and RFC 2279. Using Unicode/UTF-8, you can write in emails and source code things such as == Mathematics and sciences ∮ E⋅da = Q, n → ∞, ∑ f(i) = ∏ g(i), ⎧⎡⎛┌─────┐⎞⎤⎫ ⎪⎢⎜│a²+b³ ⎟⎥⎪ ∀x∈ℝ: ⌈x⌉ = −⌊−x⌋, α ∧ ¬β = ¬(¬α ∨ β), ⎪⎢⎜│───── ⎟⎥⎪ ⎪⎢⎜⎷ c₈ ⎟⎥⎪ ℕ ⊆ ℕ₀ ⊂ ℤ ⊂ ℚ ⊂ ℝ ⊂ ℂ, ⎨⎢⎜ ⎟⎥⎬ ⎪⎢⎜ ∞ ⎟⎥⎪ ⊥ < a ≠ b ≡ c ≤ d ≪ ⊤ ⇒ (⟦A⟧ ⇔ ⟪B⟫), ⎪⎢⎜ ⎲ ⎟⎥⎪ ⎪⎢⎜ ⎳aⁱ-bⁱ⎟⎥⎪ 2H₂ + O₂ ⇌ 2H₂O, R = 4.7 kΩ, ⌀ 200 mm ⎩⎣⎝i=1 ⎠⎦⎭ == Linguistics and dictionaries ði ıntəˈnæʃənəl fəˈnɛtık əsoʊsiˈeıʃn + Y [ˈʏpsilɔn], Yen [jɛn], Yoga [ˈjoːgɑ] == APL ((V⍳V)=⍳⍴V)/V←,V ⌷←⍳→⍴∆∇⊃‾⍎⍕⌈ == Nicer typography in plain text files - ‘single’ and “double” quotes - Curly apostrophes: “We’ve been here” - ‚deutsche‘ „Anführungszeichen“ - †, ‡, ‰, •, 3–4, —, −5/+5, ™, … - ASCII safety test: 1lI|, 0OD, 8B - the euro symbol: 14.95 € == Combining characters STARGΛ̊TE SG-1, a = v̇ = r̈, a⃑ ⊥ b⃑ == Greek (in Polytonic) [verse, The Greek anthem] ________________________________ Σὲ γνωρίζω ἀπὸ τὴν κόψη τοῦ σπαθιοῦ τὴν τρομερή, σὲ γνωρίζω ἀπὸ τὴν ὄψη ποὺ μὲ βία μετράει τὴ γῆ. ᾿Απ᾿ τὰ κόκκαλα βγαλμένη τῶν ῾Ελλήνων τὰ ἱερά καὶ σὰν πρῶτα ἀνδρειωμένη χαῖρε, ὦ χαῖρε, ᾿Ελευθεριά! ________________________________ [verse,From a speech of Demosthenes in the 4th century BC] ______________________________________________________________ Οὐχὶ ταὐτὰ παρίσταταί μοι γιγνώσκειν, ὦ ἄνδρες ᾿Αθηναῖοι, ὅταν τ᾿ εἰς τὰ πράγματα ἀποβλέψω καὶ ὅταν πρὸς τοὺς λόγους οὓς ἀκούω· τοὺς μὲν γὰρ λόγους περὶ τοῦ τιμωρήσασθαι Φίλιππον ὁρῶ γιγνομένους, τὰ δὲ πράγματ᾿ εἰς τοῦτο προήκοντα, ὥσθ᾿ ὅπως μὴ πεισόμεθ᾿ αὐτοὶ πρότερον κακῶς σκέψασθαι δέον. οὐδέν οὖν ἄλλο μοι δοκοῦσιν οἱ τὰ τοιαῦτα λέγοντες ἢ τὴν ὑπόθεσιν, περὶ ἧς βουλεύεσθαι, οὐχὶ τὴν οὖσαν παριστάντες ὑμῖν ἁμαρτάνειν. ἐγὼ δέ, ὅτι μέν ποτ᾿ ἐξῆν τῇ πόλει καὶ τὰ αὑτῆς ἔχειν ἀσφαλῶς καὶ Φίλιππον τιμωρήσασθαι, καὶ μάλ᾿ ἀκριβῶς οἶδα· ἐπ᾿ ἐμοῦ γάρ, οὐ πάλαι γέγονεν ταῦτ᾿ ἀμφότερα· νῦν μέντοι πέπεισμαι τοῦθ᾿ ἱκανὸν προλαβεῖν ἡμῖν εἶναι τὴν πρώτην, ὅπως τοὺς συμμάχους σώσομεν. ἐὰν γὰρ τοῦτο βεβαίως ὑπάρξῃ, τότε καὶ περὶ τοῦ τίνα τιμωρήσεταί τις καὶ ὃν τρόπον ἐξέσται σκοπεῖν· πρὶν δὲ τὴν ἀρχὴν ὀρθῶς ὑποθέσθαι, μάταιον ἡγοῦμαι περὶ τῆς τελευτῆς ὁντινοῦν ποιεῖσθαι λόγον. Δημοσθένους, Γ´ ᾿Ολυνθιακὸς ______________________________________________________________ == Georgian: .From a Unicode conference invitation გთხოვთ ახლავე გაიაროთ რეგისტრაცია Unicode-ის მეათე საერთაშორისო კონფერენციაზე დასასწრებად, რომელიც გაიმართება 10-12 მარტს, ქ. მაინცში, გერმანიაში. კონფერენცია შეჰკრებს ერთად მსოფლიოს ექსპერტებს ისეთ დარგებში როგორიცაა ინტერნეტი და Unicode-ი, ინტერნაციონალიზაცია და ლოკალიზაცია, Unicode-ის გამოყენება ოპერაციულ სისტემებსა, და გამოყენებით პროგრამებში, შრიფტებში, ტექსტების დამუშავებასა და მრავალენოვან კომპიუტერულ სისტემებში. == Russian .From a Unicode conference invitation Зарегистрируйтесь сейчас на Десятую Международную Конференцию по Unicode, которая состоится 10-12 марта 1997 года в Майнце в Германии. Конференция соберет широкий круг экспертов по вопросам глобального Интернета и Unicode, локализации и интернационализации, воплощению и применению Unicode в различных операционных системах и программных приложениях, шрифтах, верстке и многоязычных компьютерных системах. == Thai (UCS Level 2) Excerpt from a poetry on The Romance of The Three Kingdoms (a Chinese classic 'San Gua'): [----------------------------|------------------------] ๏ แผ่นดินฮั่นเสื่อมโทรมแสนสังเวช พระปกเกศกองบู๊กู้ขึ้นใหม่ สิบสองกษัตริย์ก่อนหน้าแลถัดไป สององค์ไซร้โง่เขลาเบาปัญญา ทรงนับถือขันทีเป็นที่พึ่ง บ้านเมืองจึงวิปริตเป็นนักหนา โฮจิ๋นเรียกทัพทั่วหัวเมืองมา หมายจะฆ่ามดชั่วตัวสำคัญ เหมือนขับไสไล่เสือจากเคหา รับหมาป่าเข้ามาเลยอาสัญ ฝ่ายอ้องอุ้นยุแยกให้แตกกัน ใช้สาวนั้นเป็นชนวนชื่นชวนใจ พลันลิฉุยกุยกีกลับก่อเหตุ ช่างอาเพศจริงหนาฟ้าร้องไห้ ต้องรบราฆ่าฟันจนบรรลัย ฤๅหาใครค้ำชูกู้บรรลังก์ ฯ (The above is a two-column text. If combining characters are handled correctly, the lines of the second column should be aligned with the | character above.) == Ethiopian .Proverbs in the Amharic language [verse] ሰማይ አይታረስ ንጉሥ አይከሰስ። ብላ ካለኝ እንደአባቴ በቆመጠኝ። ጌጥ ያለቤቱ ቁምጥና ነው። ደሀ በሕልሙ ቅቤ ባይጠጣ ንጣት በገደለው። የአፍ ወለምታ በቅቤ አይታሽም። አይጥ በበላ ዳዋ ተመታ። ሲተረጉሙ ይደረግሙ። ቀስ በቀስ፥ ዕንቁላል በእግሩ ይሄዳል። ድር ቢያብር አንበሳ ያስር። ሰው እንደቤቱ እንጅ እንደ ጉረቤቱ አይተዳደርም። እግዜር የከፈተውን ጉሮሮ ሳይዘጋው አይድርም። የጎረቤት ሌባ፥ ቢያዩት ይስቅ ባያዩት ያጠልቅ። ሥራ ከመፍታት ልጄን ላፋታት። ዓባይ ማደሪያ የለው፥ ግንድ ይዞ ይዞራል። የእስላም አገሩ መካ የአሞራ አገሩ ዋርካ። ተንጋሎ ቢተፉ ተመልሶ ባፉ። ወዳጅህ ማር ቢሆን ጨርስህ አትላሰው። እግርህን በፍራሽህ ልክ ዘርጋ። == Runes ᚻᛖ ᚳᚹᚫᚦ ᚦᚫᛏ ᚻᛖ ᛒᚢᛞᛖ ᚩᚾ ᚦᚫᛗ ᛚᚪᚾᛞᛖ ᚾᚩᚱᚦᚹᛖᚪᚱᛞᚢᛗ ᚹᛁᚦ ᚦᚪ ᚹᛖᛥᚫ (Old English, which transcribed into Latin reads ``He cwaeth that he bude thaem lande northweardum with tha Westsae.'' and means ``He said that he lived in the northern land near the Western Sea.'') == Braille ⡌⠁⠧⠑ ⠼⠁⠒ ⡍⠜⠇⠑⠹⠰⠎ ⡣⠕⠌ ⡍⠜⠇⠑⠹ ⠺⠁⠎ ⠙⠑⠁⠙⠒ ⠞⠕ ⠃⠑⠛⠔ ⠺⠊⠹⠲ ⡹⠻⠑ ⠊⠎ ⠝⠕ ⠙⠳⠃⠞ ⠱⠁⠞⠑⠧⠻ ⠁⠃⠳⠞ ⠹⠁⠞⠲ ⡹⠑ ⠗⠑⠛⠊⠌⠻ ⠕⠋ ⠙⠊⠎ ⠃⠥⠗⠊⠁⠇ ⠺⠁⠎ ⠎⠊⠛⠝⠫ ⠃⠹ ⠹⠑ ⠊⠇⠻⠛⠹⠍⠁⠝⠂ ⠹⠑ ⠊⠇⠻⠅⠂ ⠹⠑ ⠥⠝⠙⠻⠞⠁⠅⠻⠂ ⠁⠝⠙ ⠹⠑ ⠡⠊⠑⠋ ⠍⠳⠗⠝⠻⠲ ⡎⠊⠗⠕⠕⠛⠑ ⠎⠊⠛⠝⠫ ⠊⠞⠲ ⡁⠝⠙ ⡎⠊⠗⠕⠕⠛⠑⠰⠎ ⠝⠁⠍⠑ ⠺⠁⠎ ⠛⠕⠕⠙ ⠥⠏⠕⠝ ⠰⡡⠁⠝⠛⠑⠂ ⠋⠕⠗ ⠁⠝⠹⠹⠔⠛ ⠙⠑ ⠡⠕⠎⠑ ⠞⠕ ⠏⠥⠞ ⠙⠊⠎ ⠙⠁⠝⠙ ⠞⠕⠲ ⡕⠇⠙ ⡍⠜⠇⠑⠹ ⠺⠁⠎ ⠁⠎ ⠙⠑⠁⠙ ⠁⠎ ⠁ ⠙⠕⠕⠗⠤⠝⠁⠊⠇⠲ ⡍⠔⠙⠖ ⡊ ⠙⠕⠝⠰⠞ ⠍⠑⠁⠝ ⠞⠕ ⠎⠁⠹ ⠹⠁⠞ ⡊ ⠅⠝⠪⠂ ⠕⠋ ⠍⠹ ⠪⠝ ⠅⠝⠪⠇⠫⠛⠑⠂ ⠱⠁⠞ ⠹⠻⠑ ⠊⠎ ⠏⠜⠞⠊⠊⠥⠇⠜⠇⠹ ⠙⠑⠁⠙ ⠁⠃⠳⠞ ⠁ ⠙⠕⠕⠗⠤⠝⠁⠊⠇⠲ ⡊ ⠍⠊⠣⠞ ⠙⠁⠧⠑ ⠃⠑⠲ ⠔⠊⠇⠔⠫⠂ ⠍⠹⠎⠑⠇⠋⠂ ⠞⠕ ⠗⠑⠛⠜⠙ ⠁ ⠊⠕⠋⠋⠔⠤⠝⠁⠊⠇ ⠁⠎ ⠹⠑ ⠙⠑⠁⠙⠑⠌ ⠏⠊⠑⠊⠑ ⠕⠋ ⠊⠗⠕⠝⠍⠕⠝⠛⠻⠹ ⠔ ⠹⠑ ⠞⠗⠁⠙⠑⠲ ⡃⠥⠞ ⠹⠑ ⠺⠊⠎⠙⠕⠍ ⠕⠋ ⠳⠗ ⠁⠝⠊⠑⠌⠕⠗⠎ ⠊⠎ ⠔ ⠹⠑ ⠎⠊⠍⠊⠇⠑⠆ ⠁⠝⠙ ⠍⠹ ⠥⠝⠙⠁⠇⠇⠪⠫ ⠙⠁⠝⠙⠎ ⠩⠁⠇⠇ ⠝⠕⠞ ⠙⠊⠌⠥⠗⠃ ⠊⠞⠂ ⠕⠗ ⠹⠑ ⡊⠳⠝⠞⠗⠹⠰⠎ ⠙⠕⠝⠑ ⠋⠕⠗⠲ ⡹⠳ ⠺⠊⠇⠇ ⠹⠻⠑⠋⠕⠗⠑ ⠏⠻⠍⠊⠞ ⠍⠑ ⠞⠕ ⠗⠑⠏⠑⠁⠞⠂ ⠑⠍⠏⠙⠁⠞⠊⠊⠁⠇⠇⠹⠂ ⠹⠁⠞ ⡍⠜⠇⠑⠹ ⠺⠁⠎ ⠁⠎ ⠙⠑⠁⠙ ⠁⠎ ⠁ ⠙⠕⠕⠗⠤⠝⠁⠊⠇⠲ (The first couple of paragraphs of "A Christmas Carol" by Dickens) == Compact font selection example text ABCDEFGHIJKLMNOPQRSTUVWXYZ /0123456789 abcdefghijklmnopqrstuvwxyz £©µÀÆÖÞßéöÿ –—‘“”„†•…‰™œŠŸž€ ΑΒΓΔΩαβγδω АБВГДабвгд ∀∂∈ℝ∧∪≡∞ ↑↗↨↻⇣ ┐┼╔╘░►☺♀ fi�⑀₂ἠḂӥẄɐː⍎אԱა == Greetings in various languages Hello world, Καλημέρα κόσμε, コンニチハ == Box drawing alignment tests --------------------------------------------------------------------- █ ▉ ╔══╦══╗ ┌──┬──┐ ╭──┬──╮ ╭──┬──╮ ┏━━┳━━┓ ┎┒┏┑ ╷ ╻ ┏┯┓ ┌┰┐ ▊ ╱╲╱╲╳╳╳ ║┌─╨─┐║ │╔═╧═╗│ │╒═╪═╕│ │╓─╁─╖│ ┃┌─╂─┐┃ ┗╃╄┙ ╶┼╴╺╋╸┠┼┨ ┝╋┥ ▋ ╲╱╲╱╳╳╳ ║│╲ ╱│║ │║ ║│ ││ │ ││ │║ ┃ ║│ ┃│ ╿ │┃ ┍╅╆┓ ╵ ╹ ┗┷┛ └┸┘ ▌ ╱╲╱╲╳╳╳ ╠╡ ╳ ╞╣ ├╢ ╟┤ ├┼─┼─┼┤ ├╫─╂─╫┤ ┣┿╾┼╼┿┫ ┕┛┖┚ ┌┄┄┐ ╎ ┏┅┅┓ ┋ ▍ ╲╱╲╱╳╳╳ ║│╱ ╲│║ │║ ║│ ││ │ ││ │║ ┃ ║│ ┃│ ╽ │┃ ░░▒▒▓▓██ ┊ ┆ ╎ ╏ ┇ ┋ ▎ ║└─╥─┘║ │╚═╤═╝│ │╘═╪═╛│ │╙─╀─╜│ ┃└─╂─┘┃ ░░▒▒▓▓██ ┊ ┆ ╎ ╏ ┇ ┋ ▏ ╚══╩══╝ └──┴──┘ ╰──┴──╯ ╰──┴──╯ ┗━━┻━━┛ ▗▄▖▛▀▜ └╌╌┘ ╎ ┗╍╍┛ ┋ ▁▂▃▄▅▆▇█ ▝▀▘▙▄▟ --------------------------------------------------------------------- asciidoc-py3-9.0.0rc1/tests/data/lang-ro-article-test-docbook5.xml0000644000175000017500000000670313570064211024221 0ustar josephjoseph
Languages Test 2003-12-21 v1.02003-12-21 Abstract special section.
The First Section
Admonishments Do not translate in the source file — they are translated to the output file Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum.
Tiger Tiger image
Followed by an example table: Table Option Description -a USER GROUP Add USER to GROUP. -R GROUP Disables access to GROUP.
And now for something completely different: monkeysmonkeys, lions and tigers.
Example Appendix Appendix special section. Bibliografia Bibliography special section. [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9. [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7. Glossario Glossary special section. A glossary term The corresponding (indented) definition. A second glossary term The corresponding (indented) definition. Index
asciidoc-py3-9.0.0rc1/tests/data/lang-ro-book-test-docbook.xml0000644000175000017500000000724313570064211023443 0ustar josephjoseph Languages Test 2003-12-21 v1.02003-12-21 Dedica Dedication special section. Prefazione Preface special section. Colofone Colophon special section. The First Section
Admonishments Do not translate in the source file — they are translated to the output file Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum.
Tiger Tiger image
Followed by an example table: Table Option Description -a USER GROUP Add USER to GROUP. -R GROUP Disables access to GROUP.
And now for something completely different: monkeysmonkeys, lions and tigers.
Example Appendix Appendix special section. Bibliografia Bibliography special section. [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9. [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7. Glossario Glossary special section. A glossary term The corresponding (indented) definition. A second glossary term The corresponding (indented) definition. Index
asciidoc-py3-9.0.0rc1/tests/data/lang-hu-article-test-html4.html0000644000175000017500000000640013570064211023676 0ustar josephjoseph Languages Test

Languages Test

version v1.0, 2003-12-21


Kivonat

Abstract special section.


The First Section

Admonishments

Do not translate in the source file — they are translated to the output file

Megjegyzés

Lorum ipsum.

Tipp

Lorum ipsum.

Figyelem

Lorum ipsum.

Figyelmeztetés

Lorum ipsum.

Fontos

Lorum ipsum.
Tiger image

Ábra 1. Tiger

Followed by an example table:

Option Description

-a USER GROUP

Add USER to GROUP.

-R GROUP

Disables access to GROUP.

Táblázat 1. Table

And now for something completely different: monkeys, lions and tigers.


A függelék: Example Appendix

Appendix special section.


Bibliográfia

Bibliography special section.

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.


Szójegyzék

Glossary special section.

A glossary term

The corresponding (indented) definition.

A second glossary term

The corresponding (indented) definition.


Verzió v1.0
Utolsó frissítés: 2002-11-25 00:37:42 UTC

asciidoc-py3-9.0.0rc1/tests/data/lang-sv-book-test-html5.html0000644000175000017500000004643213570064211023233 0ustar josephjoseph Languages Test

Dedikation

Dedication special section.

Förord

Preface special section.

Kolofon

Colophon special section.

The First Section

Admonishments

Do not translate in the source file — they are translated to the output file

Not
Lorum ipsum.
Tips
Lorum ipsum.
Varning
Lorum ipsum.
Varning
Lorum ipsum.
Viktigt
Lorum ipsum.
Tiger image
Figur 1. Tiger

Followed by an example table:

Tabell 1. Table
Option Description

-a USER GROUP

Add USER to GROUP.

-R GROUP

Disables access to GROUP.

And now for something completely different: monkeys, lions and tigers.

Appendix A: Exempel-appendix

Appendix special section.

Referenser

Bibliography special section.

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.

Ordlista

Glossary special section.

A glossary term

The corresponding (indented) definition.

A second glossary term

The corresponding (indented) definition.


asciidoc-py3-9.0.0rc1/tests/data/lang-sv-book-test-docbook5.xml0000644000175000017500000000727413570064211023544 0ustar josephjoseph Languages Test 2003-12-21 v1.02003-12-21 Dedikation Dedication special section. Förord Preface special section. Kolofon Colophon special section. The First Section
Admonishments Do not translate in the source file — they are translated to the output file Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum.
Tiger Tiger image
Followed by an example table: Table Option Description -a USER GROUP Add USER to GROUP. -R GROUP Disables access to GROUP.
And now for something completely different: monkeysmonkeys, lions and tigers.
Exempel-appendix Appendix special section. Referenser Bibliography special section. [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9. [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7. Ordlista Glossary special section. A glossary term The corresponding (indented) definition. A second glossary term The corresponding (indented) definition. Sakregister
asciidoc-py3-9.0.0rc1/tests/data/lang-nl-article-test-docbook5.xml0000644000175000017500000000706213570064211024211 0ustar josephjoseph
Languages Test 2003-12-21 v1.02003-12-21 Bijzonder abstract sectie.
Het Eerste Hoofdstuk
Vermaningen Vertaal ze niet in the broncode — ze worden vanzelf vertaald in het output bestand Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum.
Tiger Tiger image
Gevolgd door een voorbeeld tabel: Table Optie Beschrijving -a USER GROUP Voeg USER toe aan GROUP. -R GROUP Schakel toegang uit tot GROUP.
En nu iets totaal anders: apenapen, leeuwen en tijgers.
Voorbeeld Bijlage Bijzonder appendix sectie. Literatuurlijst Bijzonder bibliography sectie. [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9. [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7. Woordenlijst Bijzonder glossary sectie. Een woordenlijst term De bijhorende (ingesprongen) definitie. Een tweede term De bijhorende (ingesprongen) definitie. Register
asciidoc-py3-9.0.0rc1/tests/data/lang-ru-man-test-docbook5.xml0000644000175000017500000000171213570064211023352 0ustar josephjoseph ASCIIDOC(1) asciidoc 1     asciidoc converts an AsciiDoc text file to HTML or DocBook asciidoc [OPTIONS] FILE DESCRIPTION The asciidoc(1) command translates the AsciiDoc text file FILE to DocBook or HTML. If FILE is - then the standard input is used. asciidoc-py3-9.0.0rc1/tests/data/lang-it-man-test-docbook.xml0000644000175000017500000000210413570064211023247 0ustar josephjoseph ASCIIDOC(1) asciidoc 1     asciidoc converts an AsciiDoc text file to HTML or DocBook asciidoc [OPTIONS] FILE DESCRIPTION The asciidoc(1) command translates the AsciiDoc text file FILE to DocBook or HTML. If FILE is - then the standard input is used. asciidoc-py3-9.0.0rc1/tests/data/latexmathml-html5.html0000644000175000017500000021421313570064211022271 0ustar josephjoseph LaTeXMathML Formulae

LaTeXMathML capability has been added to AsciiDoc for users who are more familar with or prefer LaTeX math formulas to the ASCIIMathML notation.

LaTeXMathML is a derivative of ASCIIMathML — in terms of usage the only difference it that you use the latexmath attribute instead of the asciimath attribute.

LaTeXMathML processes LaTeX math formulas not arbitrary LaTeX (as dblatex(1) does). See the LaTeXMathML website for details.

Here’s the AsciiDoc source that generated this page.

Some example LaTeXMathML formulas:

  • $R_x = 10.0 \times \sin(R_\phi)$

  • $\sum_{n=1}^\infty \frac{1}{2^n}$

  • $\lim_{x\to\infty} f(x) = k \choose r + \frac ab \sum_{n=1}^\infty a_n + \displaystyle{ \left\{ \frac{1}{13} \sum_{n=1}^\infty b_n \right\} }$

  • $\$\alpha + \$\beta = \$(\alpha + \beta)$

  • $\begin{eqnarray} x & = & \frac{-7 \pm \sqrt{49 - 24}}{6} \\ & = & -2 \textrm{ or } -\frac13. \end{eqnarray}$

  • $\displaystyle{ V_i = C_0 - C_3 \frac{C_1\cos(\theta_i+C_3)}{C_4+C_1\cos(\theta_i+C_2)} }$


asciidoc-py3-9.0.0rc1/tests/data/deprecated-quotes-docbook.xml0000644000175000017500000000134113570064211023606 0ustar josephjoseph
2002-11-25 fun with text. fun with text. fun with text. More fun with text. Yet more fun with text. Yet more fun with text. Yet more fun with text. Yet more fun with text. Yet more fun with text.
asciidoc-py3-9.0.0rc1/tests/data/latexmath-docbook.xml0000644000175000017500000001024713570064211022164 0ustar josephjoseph
Embedding LaTeX Math in AsciiDoc dblatex documents You can include LaTeX math equations in AsciiDoc documents that are processed by dblatex. The AsciiDoc latexmath macros and passthrough blocks generate DocBook inlineequation, informalequation and equation elements containing the LaTeX markup which is processed by dblatex.
Inline equations This markup: An inline equation latexmath:[$C = \alpha + \beta Y^{\gamma} + \epsilon$] using the 'latexmath' inline macro. Renders: An inline equation using the latexmath inline macro.
Informal equations Informal (untitled) equations are generated with a latexmath style passthrough delimited block. This markup: [latexmath] ++++++++++++++++++++++++++++++++++++++++++++ \[C = \alpha + \beta Y^{\gamma} + \epsilon\] ++++++++++++++++++++++++++++++++++++++++++++ Renders: Functionally identical block macro syntax: latexmath::[\[C = \alpha + \beta Y^{\gamma} + \epsilon\]] Renders:
Formal equations Formal equations are titled and are generated with a latexmath style passthrough delimited block. This markup: .First equation [latexmath] ++++++++++++++++++++++++++++++++++++++++++++ \[C = \alpha + \beta Y^{\gamma} + \epsilon\] ++++++++++++++++++++++++++++++++++++++++++++ Renders: First equation This markup: .Matrix [latexmath] ++++++++++++++++++++++++++++++++++++++++++++ \[ P^{e \rightarrow c}= \left[ \begin{array}{*{3}{r@{}l}} & \cos \theta & & \sin \theta \sin \varphi & & \sin \theta \cos \varphi\\ & \sin \theta \sin \psi & & \cos \varphi \cos \psi - \cos \theta \sin \varphi \sin \psi & - & \sin \varphi \cos \psi - \cos \theta \cos \varphi \sin \psi\\ - & \sin \theta \cos \psi & & \cos \varphi \sin \psi + \cos \theta \sin \varphi \cos \psi & - & \sin \varphi \sin \psi + \cos \theta \cos \varphi \cos \psi\\ \end{array} \right] \] ++++++++++++++++++++++++++++++++++++++++++++ Renders: Matrix
asciidoc-py3-9.0.0rc1/tests/data/open-block-test__3.png0000644000175000017500000000220513570064211022125 0ustar josephjosephPNG  IHDR!,QLIDAThZKn0qHa5t!^ еV>,JJbÏuSm8_^%-a|wb3Ý  B"Hm)Kݖ1p\6HO}m=$!˞-͈:`<$LkQYnxDk{ RʜPSqXEUvTea(cT}˳YX$ϐox I0`}1/ QmCmey/A"Ceca]ղʲ9*O?U֩ߓPzB0-[![uX;9yO:ߤbht1V1c aw-#%jz Llur>٦ɖH n?T8u_-Sm?z^=cewumS}<2Ox_xD6kWfZ\|!B][Weɋ<t2sTvImXe-:f0D-N&LpxCQ&W9g0D Lsp삡g@ՠЬ2X Lp%3c~eHbV^ ne+[d(8nh]Ӹ>Bk+}E& Languages Test 2003-12-21 v1.02003-12-21 Dedica Dedication special section. Prefazione Preface special section. Colofone Colophon special section. The First Section
Admonishments Do not translate in the source file — they are translated to the output file Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum.
Tiger Tiger image
Followed by an example table: Table Option Description -a USER GROUP Add USER to GROUP. -R GROUP Disables access to GROUP.
And now for something completely different: monkeysmonkeys, lions and tigers.
Example Appendix Appendix special section. Bibliografia Bibliography special section. [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9. [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7. Glossario Glossary special section. A glossary term The corresponding (indented) definition. A second glossary term The corresponding (indented) definition. Index
asciidoc-py3-9.0.0rc1/tests/data/lang-en-man-test.txt0000644000175000017500000000057413570064211021647 0ustar josephjoseph// Test for lang-en.conf language file. :lang: en ASCIIDOC(1) =========== :doctype: manpage NAME ---- asciidoc - converts an AsciiDoc text file to HTML or DocBook SYNOPSIS -------- *asciidoc* ['OPTIONS'] 'FILE' DESCRIPTION ----------- The asciidoc(1) command translates the AsciiDoc text file 'FILE' to DocBook or HTML. If 'FILE' is '-' then the standard input is used. ... asciidoc-py3-9.0.0rc1/tests/data/lang-de-book-test-html5.html0000644000175000017500000004645213570064211023175 0ustar josephjoseph Languages Test

Widmung

Dedication special section.

Vorwort

Preface special section.

Kolophon

Colophon special section.

The First Section

Admonishments

Do not translate in the source file — they are translated to the output file

Anmerkung
Lorum ipsum.
Tipp
Lorum ipsum.
Warnung
Lorum ipsum.
Achtung
Lorum ipsum.
Wichtig
Lorum ipsum.
Tiger image
Abbildung 1. Tiger

Followed by an example table:

Tabelle 1. Table
Option Description

-a USER GROUP

Add USER to GROUP.

-R GROUP

Disables access to GROUP.

And now for something completely different: monkeys, lions and tigers.

Anhang A: Example Appendix

Appendix special section.

Literaturverzeichnis

Bibliography special section.

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.

Glossar

Glossary special section.

A glossary term

The corresponding (indented) definition.

A second glossary term

The corresponding (indented) definition.


asciidoc-py3-9.0.0rc1/tests/data/asciidoc.1-html5.html0000644000175000017500000006562213570064211021676 0ustar josephjoseph ASCIIDOC(1)

SYNOPSIS

asciidoc [OPTIONS] FILE

DESCRIPTION

The asciidoc(1) command translates the AsciiDoc text file FILE to DocBook or HTML. If FILE is - then the standard input is used.

OPTIONS

-a, --attribute=ATTRIBUTE

Define or delete document attribute. ATTRIBUTE is formatted like NAME=VALUE. Command-line attributes take precedence over document and configuration file attributes. Alternate acceptable forms are NAME (the VALUE defaults to an empty string); NAME! (delete the NAME attribute); NAME=VALUE@ (do not override document or configuration file attributes). Values containing spaces should be enclosed in double-quote characters. This option may be specified more than once. A special attribute named trace controls the output of diagnostic information.

-b, --backend=BACKEND

Backend output file format: docbook45, docbook5, xhtml11, html4, html5, slidy, wordpress or latex (the latex backend is experimental). You can also use the backend alias names html (aliased to xhtml11) or docbook (aliased to docbook45). Defaults to html. The --backend option is also used to manage backend plugins (see PLUGIN COMMANDS).

-f, --conf-file=CONF_FILE

Use configuration file CONF_FILE.Configuration files processed in command-line order (after implicit configuration files). This option may be specified more than once.

--doctest

Run Python doctests in asciidoc module.

-d, --doctype=DOCTYPE

Document type: article, manpage or book. The book document type is only supported by the docbook backends. Default document type is article.

-c, --dump-conf

Dump configuration to stdout.

--filter=FILTER

Specify the name of a filter to be loaded (used to load filters that are not auto-loaded). This option may be specified more than once. The --filter option is also used to manage filter plugins (see PLUGIN COMMANDS).

-h, --help [TOPIC]

Print help TOPIC. --help topics will print a list of help topics, --help syntax summarizes AsciiDoc syntax, --help manpage prints the AsciiDoc manpage.

-e, --no-conf

Exclude implicitly loaded configuration files except for those named like the input file (infile.conf and infile-backend.conf).

-s, --no-header-footer

Suppress document header and footer output.

-o, --out-file=OUT_FILE

Write output to file OUT_FILE. Defaults to the base name of input file with backend extension. If the input is stdin then the outfile defaults to stdout. If OUT_FILE is - then the standard output is used.

-n, --section-numbers

Auto-number HTML article section titles. Synonym for --attribute numbered.

--safe

Enable safe mode. Safe mode is disabled by default. AsciiDoc safe mode skips potentially dangerous scripted sections in AsciiDoc source files.

--theme=THEME

Specify a theme name. Synonym for --attribute theme=THEME. The --theme option is also used to manage theme plugins (see PLUGIN COMMANDS).

-v, --verbose

Verbosely print processing information and configuration file checks to stderr.

--version

Print program version number.

PLUGIN COMMANDS

The asciidoc(1) --filter, --backend and --theme options are used to install, remove and list AsciiDoc filter, backend and theme plugins. Syntax:

asciidoc OPTION install ZIP_FILE [PLUGINS_DIR]
asciidoc OPTION remove PLUGIN_NAME [PLUGINS_DIR]
asciidoc OPTION list
asciidoc OPTION build ZIP_FILE PLUGIN_SOURCE

Where:

OPTION

asciidoc(1) --filter, --backend or --theme option specifying the type of plugin.

PLUGIN_NAME

A unique plugin name containing only alphanumeric or underscore characters.

ZIP_FILE

A Zip file containing plugin resources, the name must start with the plugin name e.g. my_filter-1.0.zip packages filter my_filter.

PLUGINS_DIR

The directory containing installed plugins. Each plugin is contained in its own separate subdirectory which has the same name as the plugin. PLUGINS_DIR defaults to the $HOME/.asciidoc/filters (for filter plugins) or $HOME/.asciidoc/backends (for backend plugins) or $HOME/.asciidoc/themes (for theme plugins).

PLUGIN_SOURCE

The name of a directory containing the plugin source files or the name of a single source file.

The plugin commands perform as follows:

install

Create a subdirectory in PLUGINS_DIR with the same name as the plugin then extract the ZIP_FILE into it.

remove

Delete the PLUGIN_NAME plugin subdirectory and all its contents from the PLUGINS_DIR.

list

List the names and locations of all installed filter or theme plugins (including standard plugins installed in the global configuration directory).

build

Create a plugin file named ZIP_FILE containing the files and subdirectories specified by PLUGIN_SOURCE. File and directory names starting with a period are skipped.

ENVIRONMENT VARIABLES

SOURCE_DATE_EPOCH

If the SOURCE_DATE_EPOCH environment variable is set to a UNIX timestamp, then the {docdate}, {doctime}, {localdate}, and {localtime} attributes are computed in the UTC time zone, with any timestamps newer than SOURCE_DATE_EPOCH replaced by SOURCE_DATE_EPOCH. (This helps software using AsciiDoc to build reproducibly.)

EXAMPLES

asciidoc asciidoc_file_name.txt

Simply generate an html file from the asciidoc_file_name.txt that is in current directory using asciidoc.

asciidoc -b html5 asciidoc_file_name.txt

Use the -b switch to use one of the proposed backend or another one you installed on your computer.

asciidoc -a data-uri -a icons -a toc -a max-width=55em article.txt

Use the -a switch to set attributes from command-line. AsciiDoc generated its stand-alone HTML user guide containing embedded CSS, JavaScript and images from the AsciiDoc article template with this command.

asciidoc -b html5 -d manpage asciidoc.1.txt

Generating the asciidoc manpage using the html5 backend.

EXIT STATUS

0

Success

1

Failure (syntax or usage error; configuration error; document processing failure; unexpected error).

BUGS

See the AsciiDoc distribution BUGS file.

AUTHOR

AsciiDoc was originally written by Stuart Rackham. Many people have contributed to it.

RESOURCES

SEE ALSO

a2x(1)

COPYING

Copyright (C) 2002-2011 Stuart Rackham. Free use of this software is granted under the terms of the GNU General Public License (GPL).


asciidoc-py3-9.0.0rc1/tests/data/lang-de-book-test-docbook5.xml0000644000175000017500000000733413570064211023501 0ustar josephjoseph Languages Test 2003-12-21 v1.02003-12-21 Widmung Dedication special section. Vorwort Preface special section. Kolophon Colophon special section. The First Section
Admonishments Do not translate in the source file — they are translated to the output file Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum.
Tiger Tiger image
Followed by an example table: Table Option Description -a USER GROUP Add USER to GROUP. -R GROUP Disables access to GROUP.
And now for something completely different: monkeysmonkeys, lions and tigers.
Example Appendix Appendix special section. Literaturverzeichnis Bibliography special section. [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9. [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7. Glossar Glossary special section. A glossary term The corresponding (indented) definition. A second glossary term The corresponding (indented) definition. Stichwortverzeichnis
asciidoc-py3-9.0.0rc1/tests/data/lang-ro-man-test-docbook5.xml0000644000175000017500000000170713570064211023350 0ustar josephjoseph ASCIIDOC(1) asciidoc 1     asciidoc converts an AsciiDoc text file to HTML or DocBook asciidoc [OPTIONS] FILE DESCRIPTION The asciidoc(1) command translates the AsciiDoc text file FILE to DocBook or HTML. If FILE is - then the standard input is used. asciidoc-py3-9.0.0rc1/tests/data/rcs-id-marker-test-docbook.xml0000644000175000017500000000113013570064211023601 0ustar josephjoseph
RCS $Id$ Marker Test 2009/05/17 jbloggs J 1.52009/05/17J Lorum ipsum…
asciidoc-py3-9.0.0rc1/tests/data/lang-es-book-test-docbook5.xml0000644000175000017500000000730013570064211023511 0ustar josephjoseph Languages Test 2003-12-21 v1.02003-12-21 Dedicación Dedication special section. Prefacio Preface special section. Colofón Colophon special section. The First Section
Admonishments Do not translate in the source file — they are translated to the output file Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum.
Tiger Tiger image
Followed by an example table: Table Option Description -a USER GROUP Add USER to GROUP. -R GROUP Disables access to GROUP.
And now for something completely different: monkeysmonkeys, lions and tigers.
Example Appendix Appendix special section. Bibliografía Bibliography special section. [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9. [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7. Glosario Glossary special section. A glossary term The corresponding (indented) definition. A second glossary term The corresponding (indented) definition. Índice
asciidoc-py3-9.0.0rc1/tests/data/lang-nl-book-test-html5.html0000644000175000017500000004655413570064211023221 0ustar josephjoseph Languages Test

Opdracht

Bijzonder dedication sectie.

Voorwoord

Bijzonder preface sectie.

Colofon

Bijzonder colophon sectie.

Het Eerste Hoofdstuk

Vermaningen

Vertaal ze niet in the broncode — ze worden vanzelf vertaald in het output bestand

Opmerking
Lorum ipsum.
Tip
Lorum ipsum.
Waarschuwing
Lorum ipsum.
Let op
Lorum ipsum.
Belangrijk
Lorum ipsum.
Tiger image
Figuur 1. Tiger

Gevolgd door een voorbeeld tabel:

Tabel 1. Table
Optie Beschrijving

-a USER GROUP

Voeg USER toe aan GROUP.

-R GROUP

Schakel toegang uit tot GROUP.

En nu iets totaal anders: apen, leeuwen en tijgers.

Bijlage A: Voorbeeld Bijlage

Bijzonder appendix sectie.

Literatuurlijst

Bijzonder bibliography sectie.

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.

Woordenlijst

Bijzonder glossary sectie.

Een woordenlijst term

De bijhorende (ingesprongen) definitie.

Een tweede term

De bijhorende (ingesprongen) definitie.


asciidoc-py3-9.0.0rc1/tests/data/latex-filter-html5.html0000644000175000017500000005621713570064211022361 0ustar josephjoseph LaTeX Filter

The AsciiDoc distribution includes a LaTeX filter that translates LaTeX source to an image which is automatically inserted into the AsciiDoc output document. Although it can accept any LaTeX source, the primary use is to render mathematical formulae (see the examples below). The filter implements the latex Listing block and Paragraph styles.

Two image formats are supported; PNG and SVG. PNG is the default since that was the first format that this filter supported. However, SVG is a better format since it’s scalable. Using SVG make formulas look good in both PDFs and on web pages. SVG will also scale well when zooming in on a web page for example. It is recommended to always use the SVG format. This can be done by setting the imgfmt parameter to svg, as is done below. An even better way is to set the global attribute latex-imgfmt to svg. Then SVG will be used for all formulas.

This LaTeX paragraph:

["latex", imgfmt="svg"]
---------------------------------------------------------------------
\begin{equation*}
y = \int_0^\infty \gamma^2 \cos(x) dx
\end{equation*}
---------------------------------------------------------------------

Renders:

latex-filter__1.svg

Compare the formula above, which is rendered as an SVG image, to the formula below which has been rendered as a PNG image. The difference will be most notable if zooming in on a web page, printing the web page or when rendering the document as a PDF.

["latex", "latex2.png", 140, imgfmt="png"]
---------------------------------------------------------------------
\begin{equation*}
y = \int_0^\infty \gamma^2 \cos(x) dx
\end{equation*}
---------------------------------------------------------------------

Renders:

latex2.png

This LaTeX block:

["latex","latex1.svg",imgfmt="svg",align="center"]
---------------------------------------------------------------------
\begin{equation*}
\displaystyle{ V_i = C_0 - C_3
\frac{C_1\cos(\theta_i+C_3)}{C_4+C_1\cos(\theta_i+C_2)} }
\end{equation*}
---------------------------------------------------------------------

Renders:

latex1.svg

This LaTeX block:

.LaTeX filter example
[latex]
["latex","latex3.svg",imgfmt="svg"]
---------------------------------------------------------------------
\begin{equation}
\Re{z} =\frac{n\pi \dfrac{\theta +\psi}{2}}{
\left(\dfrac{\theta +\psi}{2}\right)^2 + \left( \dfrac{1}{2}
\log \left\lvert\dfrac{B}{A}\right\rvert\right)^2}.
\end{equation}

\begin{equation}
\boxed{\eta \leq C(\delta(\eta) +\Lambda_M(0,\delta))}
\end{equation}

\begin{equation}\label{first}
a=b+c
\end{equation}

\begin{subequations}\label{grp}
\begin{align}
a&=b+c\label{second}\\
d&=e+f+g\label{third}\\
h&=i+j\label{fourth}
\end{align}
\end{subequations}
---------------------------------------------------------------------

Renders:

latex3.svg
Figure 1. LaTeX filter example

This LaTeX paragraph:

.A LaTeX table
["latex",imgfmt="svg"]
\begin{tabular}{c r @{.} l}
Pi expression &
\multicolumn{2}{c}{Value} \\
\hline
$\pi$ & 3&1416 \\
$\pi^{\pi}$ & 36&46 \\
$(\pi^{\pi})^{\pi}$ & 80662&7 \\
\end{tabular}

Renders:

latex-filter__2.svg
Figure 2. A LaTeX table

Using the Filter

  • The LaTeX filter is invoked by setting the Listing block or Paragraph style (the first positional block attribute) to latex.

  • The second positional attribute (named target is optional, it sets the name of the generated image file. If this is not supplied a file name like {docname}__{target-number}.{imgfmt} is synthesised (where {docname} is the document file name, {target-number} is an integer number and {imgfmt} is the image format (png or svg).

  • The third positional attribute, named dpi, is also optional; it is an integer number that sets the output resolution in dots per inch for a PNG image. It is ignored for an SVG image.

  • The image format to use can be selected by setting the imgfmt parameter or by globally setting the latex-imgfmt attribute. Setting it to svg will render SVG images and setting it to png will render PNG images. The default is png.

Because the LaTeX images are rendered using the image block templates you can also use the optional named image block attributes (see Image macro attributes in the AsciiDoc User Guide).

Tip

You can also change the image size using the following LaTeX commands:

\tiny
\scriptsize
\footnotesize
\small
\normalsize
\large
\Large
\LARGE
\huge

For example:

[latex]
\Large $y = \int_0^\infty \gamma^2 \cos(x) dx$

The \Large command is outside the $ math delimiters.

The filter (./filters/latex/latex2img.py) can be used outside AsciiDoc to convert LaTeX source to images.

Execute the following command to see how to use it:

$ ./filters/latex/latex2img.py --help

Limitations

  • The asciidoc(1) input and output files cannot both be - (stdin and stdout), either the input or output files (or both) must be a named file.

Installation

In addition to AsciiDoc you will need to have latex(1), dvipng(1) (for PNG) and/or dvisvgm(1) (for SVG) installed.


asciidoc-py3-9.0.0rc1/tests/data/graphviz2.png0000644000175000017500000004107013570064211020455 0ustar josephjosephPNG  IHDR(-4jbKGD IDATxw\S !$f(VEEEPQ.wmѢ"bYEP("eCXkY7yዜ|r`b B!7@A4Q455555Df BPh4adP-dB,444:SaFcJ*OYMhll,//0lPMLcccqqquu5@O`s86 uX\ZZZZZ d6rd7^ uF9~bpT[[[^6$NQSSеDOOD ^o*233C UUUJy)QP9u! MBa~~>\|SZUUUJAHxm'_oAAAccE($֩|=)3ObݻwʯLZښjG($V I\  OHTVVFf}}}mm-> $555R7w|(K}t5m]v%r]^U$@ H7̀9;;;b!|y}!Ex}KOO?W\D3fPK=$hhhƬ,1Ζڟ&wh4ƍ| |۶mk)&&f:::L&ܹsٳgСL&_~-g̘p0xI;wJJJLMM}}}t] "—0HtbRy{{CW\innlwww*k}} DGGԸڵkYYYeeeJHHprrgϞy9sfݺu[-kٳgKU\\p~ܹs7o5jǯqvvvqqi3i (s5P ݵ?p?>l0CCCk###6=vVo-[ֿ--M6n޼6l qWHHHnn]&Nf]]]8׈D]/^H3E555F׿}.YZZ*3&1M XYYmݺ5%% L`e^^^NNe;UD"*aqew5662 ]޽{~ƿ\__РA4QkUP'#xb_FzjΝ;w󃃃p`Qq? 1p2 t`(]%%%.  |pttH>{ 0j(Y,),_\[[ۍ3gly޽{.U}D4cv$R}3gTWWtҥK, @455׬Y]VWW69<{lÑ#G?>>Xr^:|t:]u`WA+PPP@e*?zhZZ` *5 0@ ]<%𲒒uEGG|[[ۭ[Ο?_Nmm޽{/\p e|%2E^%ʝ;w^x@WW!88_DPәHxPVVV\\:G}D:0 6 }:b$|Tmmm9IR%!z HxhkkBo0 @$|#Ba:::h:9"444++ŋDX,raֆ&J ðofsa2b! Hxѣo_m+ d2-333\Dt?p444,]ǧ*+Dwx\PP%ŨL__ *k}Fkkk[DfPW-[6}>L; 9m"Z k֬:|v` Du5%=zhxx8Lh( CCxPUUdɒϝ;WvkZZZt:u5-AUVrk׮r &Z-0p000@C _E"сkxVA]Mrٳg^*=zzz^MDxwɒ%SLq]]݊ Etw_~I߯:::HxfxxxDDDTT"*+--ꫯ'M*dM `X{U\p5z zoWԩS/^p8jAt;ziݻUVXbر  \ Tx˖-޹s+hAoj?~ƍJHFGl6B^}vݺuk׮uuuUNhEђ%4:Zhkk⚚EGtS0}TP, >|زhhhjx@N3INN1bDvv"5=۷o_jjɓ'[U۽{7ϯhu(;ZZZ>nJ^ZZ_suɓ'.\xq##1cƌ9Ku𪪪h]MPDT*4662˗/O>\OC\NعsgZZZJJ 1L!@=}t׮]ﷵ%ۗBCic/!00l_CKK M o홙O>PT7E[[x"=JxO<<  ADuwT*B*+ACQɕX55Fb!NӋpvv&1`yyyd{P(L>_WWY,Ҳ7nHB:u-!>DDϞ=}v||srr$Fp ?QF5bI\PSSS%Le˖m۶T΃f5D#/^|0 Q +W(ʴi***dt> s2#bXz=~0qĘH$o޼ TWW722:vLCY̪gΜhd{PP(nnn?7EEE_}p$''8\|{A]%''ϟ?_ kʲӧp~˗RCCb۷_~......(/^zhذauU ,,$t-CV\9vSNJ'O?pСbX:::ά|N/\S(vܹcǎٳgYI#Gζ" q֭JL477_xqĈݻٳg O:5uTfhhk׮*k\\\zʋ/Ϟ=#JYXF?~\<%%ɉB̜9ÇRxPXXihh&/^8T Cvv6@mFObP(ܺu+Fsvv~~TTTRǿ{V^^spp'ܹC#c:t0x̘1 Dmmm&M KCLd;P :^RRۉYYY}IMMCSSS;wѣG #44T5*@|2َ T󭭭'NHMrC-**RO"hժU ɓJJ4Hav'ccbO>ClÆ t:ڵk9sx<`0$~J6DRO>1c(#"/^p^~ikkoٲE --#GB%hSxcǎ%Nlٲd*b\ Ç:th}}=^3l!/zS.7o0SRRh4/,%33Ty<^@@= }B%h}˘Ztt4|))ݻwgߖ-[?G_u׮]P(0,6a:::JuVA-s@LL ^_Q( hll߿^R__odd XXXX[[[[[Jl{{{//#Gdff?͛"" 6XZZf͚D$9uJ%βZʪ[ܹsO8QCC0lذ(aJU֭[GJUCRxͦi=z\>@(x5k%O<gmmm33x'Hwo;CDwD?BPOOo޽] nݺ|KLMM q%޼y#1\ttJJJf͚E>,)>}:qUz3f 璓TZu sT,/Ϝ9&.;v`$sΝ3gN%0$dϟ/   d%0ׯj gܸqo_:Q[n]~W6yLf}}*B>!''o߾xɳgvWZZ hxsN[[͛7b !p>^VVVsss>}W^u( NHmo߾޽/Ԭdit:}۶m.]L>]GGd۟;wN0̆"???333555333b70 |||$Ϙ1yyy-)) MMM}}}!fс/Bw޽{PPP~wh>}NILq}dȑ5hhhЀۗ7nhgC 177r111Ɩ}-_yZZ x{{YZZEGG$$$XZZxJ #QQQօP4|ptHSSѣ2SCCõkhq/[LFbxԨQ+W|˗/ROd֭0ʩS°0^Ҿ%/c_4rmy=B:>j$p^B|)iiinnn $$2_VVx=NKK>`TWWƍN0pNLLL0 $220yddx9'+ d0f$&MZf\vÙ bzć-//p8(Y`0B¿KJJ:i?`$1amrX̔02=B| <*ѤHO 11Qjbʕ+Rx…jjj g"ǎcph4. ڈ%%% }t vZٳgTҪC2«SWW'R?h4M77ٳg/T*̣qF]]] tz122r NQɕ"TV~)q@ 044 RWcO0/_zٿ~aѣ#""hDDD$ "z'/** n`KvޭEbvHOOÇKbtgVl)S[|e.^زߋ蝴"& +V%UUUdꉋ0DΗL0#mÓ\x=َ ȧ!Ǐ?d2 "¨TjRR{xx Ǐ WX׎_|d[ڵkG7C O Ó2H4~x[[je&ŁL %^ܜqF qdOX+ZBZڜd;z(F#{y6=pY 񒦦&;;O>[D"Ǐ7mp]AE2ߺu P^^N#iSxNNNDũZJ 2իW ۧ`ϟ?[&U'8@II َ ȧeT&)ܹs eƍ p8~)QIII c݊W-A"Tsacɓ'tŋ?`0~)~eee˼ xkx#ܹsuuu_xA,p8Ço zgD׏7ԔCkc gggssիTVViiiǗ( a?CZNMMzlGӅ555&Mb0?sw߼yzjcccѣG&ڢ'O;wn˖-...t:`̞=ՠIII\.755PT JEV :ڕ-#z'];" CCCT9sZ ˜ '''%4o߾>>>gΜiuucc} ;q6 6zDt:FRFvA>xZZZ}{߿_vΝ;/_l۷o0@]]}-W[ݐI1 }jbb2j(U^RrB2mHKK{ 1Xz50?|xΝ02)&G/A^^|]Q4_|ErrŋmllHY~D+)[2OӑȁfϞ]ZZQRxNP,XP1)^ "***wUNΦ&D@^CCC]]L;߳gOhh(̛4B!g" M[<ʕ+L` UZ<4ƒ14440;Jd*:*#zƁN}}g^tѣʩ ӫφ3fƍV;i*vo>`K*auq{=ihVWW Cю?㏊ u58OSS09 O,[4k4hЦMZGh4mmb)%ek͛7xe˖)'8RNXXXQSS;zh||ZPRxu\/_~JURx666^jY^TTgfffffOL=??ƌ n))) MMM}}}!fjvΝt:=$$kbbbOd2ϝ;yHx.@,,,,477r111ƖEEE5mU ?4>/(**422IHHxFݻ'ǎRm],--uwwܸqnj|.H)SbeNK`?&&X 6]bX555 .Em \Uv%qZ]v-<%C,TGGE/#>kbb"1{sMtFO>&&&.\(++cZ5"5|>_OOO";L~TYYY^^f͚;.]{L_Ӄr8|FD,u<.KѸ\.\j#ޒ4x`蘞-~ZiXf ǣFFF^R\\pBCCC55Ctvh cccew  ZQQf8 /oT[XXBdfMy\!;2>x &&rRP[[ @c<D+W,((8}\Q5 kk]vn *BC@dҥK7o,JARN:-)D1Wo^]]OvS*… d~B!gddu]v)'dR7n ,KeS#|]vذa/,-233ۻw,Fi(ʱcRSS{dN8qݻwR)//ArGnq5m۶'O˦h"}}Jm ADm7n:k֬o.0СC|>_: eeeHxy B>}Z(z{{+? 0ȑ#ݎZ<9p744 ˢJlٲJB ADm۶={VeʕeeegΜ^$<$- \z[a,>Hqoyy9ZN@(*A~?o޼A)j*{{۷o[^|ifffbb؈Z<&VXI&z*..?VP-U__ŋ_6uׯ/annngVUEƎkhhsVLΟ?OP233ۿ믿nka'NTD)Y,֕+W3a„s̙k5)ׯ_gp8ׯ_quu}S4/>>߿?|;ר룏>"qmTggg*XVVF;#\a/((hp??? F)3BuPEbHt cccדܾ}{M>B ׯ{xx`6dbbMDAE޼yٳgH\YYpB æM?b*55uʔ)}|>_^"*- :;;?ҥKLR\\㕕<oҤIJP }t{A_>uT bnn7ߴ{&a^tttf.\r;RyQ\\lbbJJ'33sڵ e„ {MM իW~tŊ msar\9<'aoV~ӄrܹsԘLܹs\KPT;;D"ݴiӔj;wtٲeF'NhjjN08!m9'GRHHH6hL&X,~qIQ[MT"5nnn'N.f!C&Mg]|%lPzܹCӵ544X,p8-u0f̘8NϷHLLtqqȃƎtC!@=>|A^H$bǎΚ5kLLL`ԔNWJ|=.]*V^^l.r˖-#;yf̙x5;}6l`oo/9~ i&yBsss.[]]cllliiR{-?<--[ۊ,--kjj,--y<qqwww@ BCbe4"Gṹn7o^lԩSxyXX8Ծ 1._8~8^OTA#h7\]Ljkkl6^éݎջwnUф .###'OKFqpp(zˬ&B(RR>^.))|~n4Fn˕%33Sbuj$a0P]]-ӹ0>X$=2*͑#Gzrʕ+ͅB!xg5cccMLL$f5w=w`Tˇ()--ӧɅ ʪ###A{ѷ>Iܹh'{-//5)))HLLRz\.FrDՉ⤤X,GGGb'j+**֬Ytǃwя>N~Vd;"gϞh- qqq_~͛Zx=Et 4Ɠ 6,..lG ..nȑɕ؀CCq;vK+:4~xGGdzg*oD|U$44ĄX񐦦&##Z, į vI?7677GFF:99h7666Ak7o`vurݸva+VsΝ;BѣGAAAM:5%%G@Eo9UF}}prrJNN 4M(]VVVmm-F ^DFFΘ1&++ӧO]\\=zg,[F:"2s)S899 0@iN" ubi71ʗI&%%%UWW_|~KHH鍍^ɓn/vtU HI!aD={ZFmzDH ^{,ZD!܋/^"(>>ۛbQ(* L'2QUUeoooccJss'|kjjs@ 믿N8϶effZ[[+C| Y*OIDATRRɔQ秮wp7" ^\xJ)M6h˗/+" u'NPԀmg ~~~4-,,L^g|ۻwkO>a0.\eʂ6Iwӧ'$$ 6 ]ff̙#/Ulw3|_|aɓe ɓ'b]UU%/u --;w{xxDEEuP(6lXyyyBBp8*ZǓXo߾DxzܸqFh{EFF=zÆ 'OF z'Hxu̙G B6mmmm``s֖deetI&}<ld'7jkkSRRsrrJKKkkk1 000x}2dJEAhr $<?vCaIENDB`asciidoc-py3-9.0.0rc1/tests/data/article-xhtml11.html0000644000175000017500000005170013570064211021641 0ustar josephjoseph The Article Title

This is the optional preamble (an untitled section body). Useful for writing simple sectionless documents consisting only of a preamble.

Note
The abstract, preface, appendix, bibliography, glossary and index section titles are significant (specialsections).

Example Abstract

The optional abstract (one or more paragraphs) goes here.

This document is an AsciiDoc article skeleton containing briefly annotated element placeholders plus a couple of example index entries and footnotes.

1. The First Section

Article sections start at level 1 and can be nested up to four levels deep.
[An example footnote.]

And now for something completely different: monkeys, lions and tigers (Bengal and Siberian) using the alternative syntax index entries. Note that multi-entry terms generate separate index entries.

Here are a couple of image examples: an images/smallnew.png example inline image followed by an example block image:

Tiger image
Figure 1. Tiger block image

Followed by an example table:

Table 1. An example table
Option Description

-a USER GROUP

Add USER to GROUP.

-R GROUP

Disables access to GROUP.

Example 1. An example example

Lorum ipum…

1.1. Sub-section with Anchor

Sub-section at level 2.

1.1.1. A Nested Sub-section

Sub-section at level 3.

Yet another nested Sub-section

Sub-section at level 4.

This is the maximum sub-section depth supported by the distributed AsciiDoc configuration.
[A second example footnote.]

2. The Second Section

Article sections are at level 1 and can contain sub-sections nested up to four deep.

An example link to anchor at start of the first sub-section.

An example link to a bibliography entry [taoup].

Appendix A: Example Appendix

AsciiDoc article appendices are just just article sections with specialsection titles.

Appendix Sub-section

Appendix sub-section at level 2.

Example Bibliography

The bibliography list is a style of AsciiDoc bulleted list.

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.

Example Glossary

Glossaries are optional. Glossaries entries are an example of a style of AsciiDoc labeled lists.

A glossary term

The corresponding (indented) definition.

A second glossary term

The corresponding (indented) definition.


asciidoc-py3-9.0.0rc1/tests/data/oldtables-xhtml11.html0000644000175000017500000005174613570064211022201 0ustar josephjoseph AsciiDoc Old Tables

Examples of the AsciiDoc old tables syntax. This syntax was used in AsciiDoc versions up to 8.2.7 and has since been deprecated in favor of the new tables syntax.

Simple table:

1 2
3 4
5 6

Table with title, header and footer:

TableAn example table
Column 1 Column 2
6 Three items
1 Item 1
2 Item 2
3 Item 3

Four columns totaling 15% of the pagewidth, CSV data:

1 2 3 4
a b c d
A B C D

A table with a numeric ruler and externally sourced CSV data:

ID Customer Name Contact Name Customer Address Phone
AROUT Around the Horn Thomas Hardy 120 Hanover Sq.
London
(171) 555-7788
BERGS Berglunds snabbkop Christina Berglund Berguvsvagen 8
Lulea
0921-12 34 65
BLAUS Blauer See Delikatessen Hanna Moos Forsterstr. 57
Mannheim
0621-08460
BLONP Blondel pere et fils Frederique Citeaux 24, place Kleber
Strasbourg
88.60.15.31
BOLID Bolido Comidas preparadas Martin Sommer C/ Araquil, 67
Madrid
(91) 555 22 82
BONAP Bon app' Laurence Lebihan 12, rue des Bouchers
Marseille
91.24.45.40
BOTTM Bottom-Dollar Markets Elizabeth Lincoln 23 Tsawassen Blvd.
Tsawassen
(604) 555-4729
BSBEV B’s Beverages Victoria Ashworth Fauntleroy Circus
London
(171) 555-1212
CACTU Cactus Comidas para llevar Patricio Simpson Cerrito 333
Buenos Aires
(1) 135-5555

asciidoc-py3-9.0.0rc1/tests/data/testcases.html0000644000175000017500000006516313570064211020730 0ustar josephjoseph Test Cases

Test Cases

Joe Bloggs


Passthrough attributes

*lorum ipsum*

<b>*lorum ipsum*</b>


Author attributes

{eval:expression}, {sys:command} and {sys2:command}, {counter:c1}

Hello Joe Bloggs (Joe Bloggs, JB).

first name or last name or surname.

first name and last name.


System attributes

1 99 A

1 = 1, 99 = 99, A = A

2 100 B 2 100 B

2 = 2, 100 = 100, B = B

y: Foobar

3, 7

3, 3


Quoted text attributes

A=X, (X), X, [X] X

A=X, (_X_), X, [X] X X

[*X*] +X+

[_intro] intro [_intro] intro

fun with text. fun with text. fun with text. fun with text. fun with text. “fun with text”. ‘fun with text’.

fun with text.

fun with text.

Obvious and very obvious.

Underline text, overline text and line-through text.

Testing 123 …

(“+1\n+”) if (usually “+-1\n+”)

(“1\n”) if (usually “-1\n”)

(‘Joe Bloggs’) and ‘Joe Bloggs’


Configuration attribute entries

term

definition

term

definition


role attribute

Paragraph with a role attribute.

  • first

  • second

  • third


Break list nesting

  1. List 1.

  2. List 1.

  1. List 2.

  2. List 2.


Listing Blocks

$ ls -al
[subs="quotes"]
------------------------------------------
$ ls *-al*
------------------------------------------

Listing

$ ls -al
$ ls -al

Example 1. Listing example

Python paragraph

if n < 0: print 'Hello World!'

Titled Python listing

if n < 0: print 'Hello World!'
if n < 0: print 'Hello World!'

Example 2. Python listing example


Links

An inline anchor. An inline anchor with reftext.

[X1]; captioned link to this test case.

[X2] link to inline anchor; captioned link to inline anchor.

Link to [X3] anchor.

An example link to a bibliography entry [Test::Unit].

[Test::Unit]

http://ruby-doc.org/stdlib/libdoc/test/unit/rdoc/classes/Test/Unit.html


Titles

Level 4

Level 3

Level 2

Level 1

Level 4

Level 3

Level 2

Level 1

Block title
Lorum ipsum.


Lists

Bulleted:

  • item text

    • item text

      • item text

        • item text

          • item text

            • item text

Numbered:

  1. arabic (decimal) numbering

    1. loweralpha numbering

      1. upperalpha numbering

        1. lowerroman numbering

          1. upperroman numbering

            1. arabic (decimal) numbering

              1. loweralpha numbering

                1. lowerroman numbering

                  1. upperalpha numbering

                    1. upperroman numbering

Labeled:

label

item text

label

item text

label

item text

label

item text

With item anchor:

one

Item one.

two

Item two.

three

Item three.


Inline passthroughs

  • Test `ABC`.

  • Test ABC.

  • The ++i and ++j auto-increments.

  • Paths ~/.vim and ~/docs.

  • The __init__ method.

  • The {id} attribute.

List start number test:

  1. List item 7.

  2. List item 8.


Images

Block images

Tyger tyger

Figure 1. Tyger tyger

Tiger

Figure 2: Tyger tyger two

music2.png
Note Lorum ipsum.

Inline images

Inline image smallnew.png

Inline image NEW!

Inline image NEW!


Admonishments

Note

Lorum ipsum.

Tip

Lorum ipsum.

Warning

Lorum ipsum.

Caution

Lorum ipsum.

Important

Lorum ipsum.
Note Lorum ipsum.
Tip Lorum ipsum.
Warning Lorum ipsum.
Caution Lorum ipsum.
Important Lorum ipsum.

Backslash escapes

Apostrophe
Don’t vs don't.

Exceptions
There are a number of exceptions to the usual single backslash rule — mostly relating to URL macros that have two syntaxes or quoting ambiguity. Here are some non-standard escape examples:

AsciiDoc Renders
\joe.bloggs@example.com
<\joe.bloggs@example.com>
\mailto:[\joe.bloggs@example.com]
joe.bloggs@example.com
<joe.bloggs@example.com>
mailto:[joe.bloggs@example.com]
\http://www.example.com
\\http://www.example.com[]
\\http://www.example.com[Foobar Limited]
http://www.example.com
http://www.example.com[]
http://www.example.com[Foobar Limited]
A C\++ Library for C++
\\``double-quotes''
\*\*F**ile Open\...
A C++ Library for C++
``double-quotes''
**F**ile Open...

Paragraphs

Normal paragraph
This is a bold a line This is a strong line This is another strong line

Literal paragraph

This is a *bold* a line
This is a 'strong' line
This is another _strong_ line

Verse paragraph

This is a bold a line
This is a strong line
This is another strong line

Indented (literal) paragraph

This is a *bold* a line
This is a 'strong' line
This is another _strong_ line

Indented with quotes substitution

This is a bold a line
This is a strong line
This is another strong line

Literal paragraph with quotes substitution

This is a bold a line
This is a strong line
This is another strong line

Monospaced paragraph with line breaks
This is a bold line
This is a strong line
This is another strong line

Another monospaced paragraph with line breaks
This is a bold a line
This is a strong line
This is another strong line

Literal block with quotes substitution

This is a bold a line
This is a strong line
This is another strong line
To see a world in a grain of sand,
And a heaven in a wild flower,
Hold infinity in the palm of your hand,
And eternity in an hour.

from Auguries of Innocence
— William Blake

A good notation has subtlety and suggestiveness which at times makes it almost seem like a live teacher.

The World of Mathematics (1956)
— Bertrand Russell


URLs

Mail Addresses

joe_bloggs@mail_server.com_

joe-bloggs@mail-server.com.

joe-bloggs@mail-server.com,joe-bloggs@mail-server.com,

Mail

Mail

Mail

joe.bloggs@mail.server.com
lorum ipsum.


Comments

Qui in magna commodo, est labitur dolorum an. Est ne magna primis. adolescens. Sit munere ponderum dignissim et. Minim luptatum et.

This comment line will be displayed in the output.

Qui in magna commodo, est labitur dolorum an. Est ne magna primis.
Visible inline comment line.
adolescens. Sit munere ponderum dignissim et. Minim luptatum et.

Block title
Lorum ipsum.

Block title
Lorum ipsum.


Index Terms

Test 1 test1.

Test 2 .

Test 3 .

Test 4 .

Test 5 test5.

Test 6 .

Test 7 .

Test 8 .

Multi-passthough substitution (see http://groups.google.com/group/asciidoc/browse_frm/thread/1269dc2feb1a482c) foo


Table with fractional column width units

Note

pagewidth and pageunits only apply to DocBook outputs.
Date Duration Avg HR Notes

22-Aug-08

10:24

157

Worked out MSHR (max sustainable heart rate) by going hard for this interval.

22-Aug-08

23:03

152

Back-to-back with previous interval.

24-Aug-08

40:00

145

Moderately hard interspersed with 3x 3min intervals (2min hard + 1min really hard taking the HR up to 160).

Table 1. Horizontal and vertical source data


Table with parent configuration file and header attribute entry

  • Attribute entry from header: TEST_ATTRIBUTE

  • Replacement from testcases.conf configuration file: TEST_REPLACEMENT


Table column specifiers with merged cells

See http://groups.google.com/group/asciidoc/browse_thread/thread/c9238380a1f2507a

1- A

2- B

i- a

ii- b

Values 1

v1

v2

v3

Values 2

v4

v5

v6


Floating tables and images

1

2

A

3

4

B

5

6

C

Table 2. Simple table

Tiger image

Figure 2. Tiger



Section level offsets

At level 1

Section title

At level 2

Section title

At level 2

Section title

At level 3


Section level offsets

At level 1


Single-quoted attributes

Sir, a woman’s preaching is like a dog’s walking on his hind legs. It is not done well; but you are surprised to find it done at all.

Samuel Johnson

Sir, a woman’s preaching is like a dog’s walking on his hind legs. It is not done well; but you are surprised to find it done at all.

Samuel Johnson


Footnotes

Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel.
[footnote one. Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel. Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel.]
Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel.
[footnote two. Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel.]
Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel
[F2]
. Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel.
[http://asciidoc.org/ Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel images/smallnew.png]
Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel.
[http://asciidoc.org/]
Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel
[AsciiDoc website.]
. Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et
[A footnote, "with an image" images/smallnew.png]
.
[With [square brackets]]
Qui in magna commodo, est labitur dolorum an. Est ne magna primis.


Rulers and page breaks

Lorum ipsum…


Lorum ipsum…

Lorum ipsum…


这是一个测试

Double-with character titles. link to auto-generated section ID.


Block macros

RS458 is 2.

Template line 1. Template line 2.


àn îd without accénts

Lorum ipsum…


àn îd with accénts

Lorum ipsum…


Inline macros

A URL with [square brackets].


Last updated 2019-01-17 09:02:58 EST

asciidoc-py3-9.0.0rc1/tests/data/music2.md50000644000175000017500000000002013570064211017632 0ustar josephjoseph (״Xasciidoc-py3-9.0.0rc1/tests/data/book-multi-html5.html0000644000175000017500000005504313570064211022037 0ustar josephjoseph Multi-Part Book Title Goes Here

Example Dedication

The optional dedication goes here.

This document is an AsciiDoc multi-part book skeleton containing briefly annotated element placeholders plus a couple of example index entries and footnotes. Books are normally used to generate DocBook markup and the preface, appendix, bibliography, glossary and index section titles are significant (specialsections).

Note
Multi-part books differ from all other AsciiDoc document formats in that top level sections (dedication, preface, book parts, appendices, bibliography, glossary, index) must be level zero headings (not level one).

Example Preface

The optional book preface goes here at section level zero.

0.1. Preface Sub-section

Note
Preface and appendix subsections start out of sequence at level 2 (level 1 is skipped). This only applies to multi-part book documents.

The First Part of the Book

Optional part introduction title

Optional part introduction goes here.

1. The First Chapter

Chapters can be grouped by preceding them with a level 0 Book Part title.

Book chapters are at level 1 and can contain sub-sections nested up to three deep.
[An example footnote.]

It’s also worth noting that a book part can have it’s own preface, bibliography, glossary and index. Chapters can have their own bibliography, glossary and index.

And now for something completely different: monkeys, lions and tigers (Bengal and Siberian) using the alternative syntax index entries. Note that multi-entry terms generate separate index entries.

Here are a couple of image examples: an images/smallnew.png example inline image followed by an example block image:

Tiger image
Figure 1. Tiger block image

Followed by an example table:

Table 1. An example table
Option Description

-a USER GROUP

Add USER to GROUP.

-R GROUP

Disables access to GROUP.

Example 1. An example example

Lorum ipum…

1.1. Sub-section with Anchor

Sub-section at level 2.

1.1.1. Chapter Sub-section

Sub-section at level 3.

Chapter Sub-section

Sub-section at level 4.

This is the maximum sub-section depth supported by the distributed AsciiDoc configuration.
[A second example footnote.]

2. The Second Chapter

An example link to anchor at start of the first sub-section.

An example link to a bibliography entry [taoup].

The Second Part of the Book

1. The First Chapter of the Second Part

Chapters grouped into book parts are at level 1 and can contain sub-sections.

Appendix A: Example Appendix

One or more optional appendixes go here at section level zero.

Appendix Sub-section

Note
Preface and appendix subsections start out of sequence at level 2 (level 1 is skipped). This only applies to multi-part book documents.

Example Bibliography

The bibliography list is a style of AsciiDoc bulleted list.

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.

Example Glossary

Glossaries are optional. Glossaries entries are an example of a style of AsciiDoc labeled lists.

A glossary term

The corresponding (indented) definition.

A second glossary term

The corresponding (indented) definition.

Example Colophon

Text at the end of a book describing facts about its production.

Example Index


asciidoc-py3-9.0.0rc1/tests/data/book-multi-docbook.xml0000644000175000017500000001756313570064211022267 0ustar josephjoseph Multi-Part Book Title Goes Here 2003-12 Author's Name AN 1.02003-12AN Example Dedication The optional dedication goes here. This document is an AsciiDoc multi-part book skeleton containing briefly annotated element placeholders plus a couple of example index entries and footnotes. Books are normally used to generate DocBook markup and the preface, appendix, bibliography, glossary and index section titles are significant (specialsections). Multi-part books differ from all other AsciiDoc document formats in that top level sections (dedication, preface, book parts, appendices, bibliography, glossary, index) must be level zero headings (not level one). Example Preface The optional book preface goes here at section level zero.
Preface Sub-section Preface and appendix subsections start out of sequence at level 2 (level 1 is skipped). This only applies to multi-part book documents.
The First Part of the Book Optional part introduction title Optional part introduction goes here. The First Chapter Chapters can be grouped by preceding them with a level 0 Book Part title. Book chapters are at level 1 and can contain sub-sections nested up to three deep. An example footnote. Example index entry It’s also worth noting that a book part can have it’s own preface, bibliography, glossary and index. Chapters can have their own bibliography, glossary and index. And now for something completely different: monkeysmonkeys, lions and tigers (Bengal and Siberian) using the alternative syntax index entries. Big catsLions Lions Big catsTigersBengal Tiger TigersBengal Tiger Bengal Tiger Big catsTigersSiberian Tiger TigersSiberian Tiger Siberian Tiger Note that multi-entry terms generate separate index entries. Here are a couple of image examples: an images/smallnew.png example inline image followed by an example block image:
Tiger block image Tiger image
Followed by an example table: An example table Option Description -a USER GROUP Add USER to GROUP. -R GROUP Disables access to GROUP.
An example example Lorum ipum…
Sub-section with Anchor Sub-section at level 2.
Chapter Sub-section Sub-section at level 3.
Chapter Sub-section Sub-section at level 4. This is the maximum sub-section depth supported by the distributed AsciiDoc configuration. A second example footnote.
The Second Chapter An example link to anchor at start of the first sub-section. Second example index entry An example link to a bibliography entry .
The Second Part of the Book The First Chapter of the Second Part Chapters grouped into book parts are at level 1 and can contain sub-sections. Example Appendix One or more optional appendixes go here at section level zero.
Appendix Sub-section Preface and appendix subsections start out of sequence at level 2 (level 1 is skipped). This only applies to multi-part book documents.
Example Bibliography The bibliography list is a style of AsciiDoc bulleted list. [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9. [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7. Example Glossary Glossaries are optional. Glossaries entries are an example of a style of AsciiDoc labeled lists. A glossary term The corresponding (indented) definition. A second glossary term The corresponding (indented) definition. Example Colophon Text at the end of a book describing facts about its production. Example Index
asciidoc-py3-9.0.0rc1/tests/data/lang-ja-book-test-docbook.xml0000644000175000017500000000715313570064211023415 0ustar josephjoseph Languages Test 2003-12-21 v1.02003-12-21 献辞 献辞セクション 前書 前書セクション 奥付 奥付セクション 第一セクション
警告 以下は処理系が翻訳するのでこのソースでは翻訳しない。 Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum.
Tiger 虎の絵
続いて表の例。 Table オプション 説明 -a USER GROUP USERGROUP に追加する -R GROUP GROUP へのアクセスを禁止する
そしてまったく異なるものの例: 猿、ライオン、虎。
付録の例 付録セクション 参考文献 参考文献セクション [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9. [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7. 用語集 用語集セクション 用語 (インデントされた)用語の定義 別の用語 (インデントされた)用語の定義 索引
asciidoc-py3-9.0.0rc1/tests/data/lang-ro-test.txt0000644000175000017500000000373213570064211021113 0ustar josephjoseph// Test for lang-it.conf language file. :lang: it Languages Test ============== :revnumber: v1.0 :revdate: 2003-12-21 ifdef::doctype-article[] Abstract -------- Abstract special section. endif::doctype-article[] ifdef::doctype-book[] Dedica ------ Dedication special section. Prefazione ---------- Preface special section. Colofone -------- Colophon special section. endif::doctype-book[] The First Section ----------------- Admonishments ~~~~~~~~~~~~~ Do not translate in the source file -- they are translated to the output file NOTE: Lorum ipsum. TIP: Lorum ipsum. WARNING: Lorum ipsum. CAUTION: Lorum ipsum. IMPORTANT: Lorum ipsum. .Tiger image::../../images/tiger.png[Tiger image] Followed by an example table: .Table [width="60%",options="header"] |============================================== | Option | Description | -a 'USER GROUP' | Add 'USER' to 'GROUP'. | -R 'GROUP' | Disables access to 'GROUP'. |============================================== And now for something completely different: ((monkeys)), lions and tigers. Appendice A: Example Appendix ----------------------------- Appendix special section. Bibliografia ------------ Bibliography special section. [bibliography] - [[[taoup]]] Eric Steven Raymond. 'The Art of Unix Programming'. Addison-Wesley. ISBN 0-13-142901-9. - [[[walsh-muellner]]] Norman Walsh & Leonard Muellner. 'DocBook - The Definitive Guide'. O'Reilly & Associates. 1999. ISBN 1-56592-580-7. Glossario --------- Glossary special section. [glossary] A glossary term:: The corresponding (indented) definition. A second glossary term:: The corresponding (indented) definition. ifdef::basebackend-docbook[] Index ----- //////////////////////////////////////////////////////////////// Index special section. The index is normally left completely empty, it's contents being generated automatically by the DocBook toolchain. //////////////////////////////////////////////////////////////// endif::basebackend-docbook[] asciidoc-py3-9.0.0rc1/tests/data/lang-ja-man-test-docbook.xml0000644000175000017500000000215113570064211023227 0ustar josephjoseph ASCIIDOC(1) asciidoc 1     asciidoc AsciiDoc テキストファイルを HTML や DocBook に変換する asciidoc [OPTIONS] FILE 説明 asciidoc(1) コマンドは AsciiDoc テキストファイル FILE を DocBook や HTML に変換する。 FILE- ならば標準入力を使用する。 asciidoc-py3-9.0.0rc1/tests/data/lang-hu-book-test-html4.html0000644000175000017500000000664513570064211023220 0ustar josephjoseph Languages Test

Languages Test

version v1.0, 2003-12-21


Ajánlás

Dedication special section.


Előszó

Preface special section.


Utószó

Colophon special section.


The First Section

Admonishments

Do not translate in the source file — they are translated to the output file

Megjegyzés

Lorum ipsum.

Tipp

Lorum ipsum.

Figyelem

Lorum ipsum.

Figyelmeztetés

Lorum ipsum.

Fontos

Lorum ipsum.
Tiger image

Ábra 1. Tiger

Followed by an example table:

Option Description

-a USER GROUP

Add USER to GROUP.

-R GROUP

Disables access to GROUP.

Táblázat 1. Table

And now for something completely different: monkeys, lions and tigers.


A függelék: Example Appendix

Appendix special section.


Bibliográfia

Bibliography special section.

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.


Szójegyzék

Glossary special section.

A glossary term

The corresponding (indented) definition.

A second glossary term

The corresponding (indented) definition.


Verzió v1.0
Utolsó frissítés: 2002-11-25 00:37:42 UTC

asciidoc-py3-9.0.0rc1/tests/data/lang-pt-BR-man-test.txt0000644000175000017500000000060013570064211022157 0ustar josephjoseph// Test for lang-pt-BR.conf language file. :lang: pt-BR ASCIIDOC(1) =========== :doctype: manpage NAME ---- asciidoc - converts an AsciiDoc text file to HTML or DocBook SINOPSE ------- *asciidoc* ['OPTIONS'] 'FILE' DESCRIPTION ----------- The asciidoc(1) command translates the AsciiDoc text file 'FILE' to DocBook or HTML. If 'FILE' is '-' then the standard input is used. ... asciidoc-py3-9.0.0rc1/tests/data/lang-uk-man-test-docbook.xml0000644000175000017500000000210713570064211023255 0ustar josephjoseph ASCIIDOC(1) asciidoc 1     asciidoc converts an AsciiDoc text file to HTML or DocBook asciidoc [OPTIONS] FILE DESCRIPTION The asciidoc(1) command translates the AsciiDoc text file FILE to DocBook or HTML. If FILE is - then the standard input is used. asciidoc-py3-9.0.0rc1/tests/data/lang-ro-man-test.txt0000644000175000017500000000057213570064211021663 0ustar josephjoseph// Test for lang-it.conf language file. :lang: it ASCIIDOC(1) =========== :doctype: manpage NAME ---- asciidoc - converts an AsciiDoc text file to HTML or DocBook SINOSSI ------- *asciidoc* ['OPTIONS'] 'FILE' DESCRIPTION ----------- The asciidoc(1) command translates the AsciiDoc text file 'FILE' to DocBook or HTML. If 'FILE' is '-' then the standard input is used. ... asciidoc-py3-9.0.0rc1/tests/data/lang-en-article-test-xhtml11.html0000644000175000017500000004610613570064211024141 0ustar josephjoseph Languages Test

Abstract

Abstract special section.

The First Section

Admonishments

Do not translate in the source file — they are translated to the output file

Note
Lorum ipsum.
Tip
Lorum ipsum.
Warning
Lorum ipsum.
Caution
Lorum ipsum.
Important
Lorum ipsum.
Tiger image
Figure 1. Tiger

Followed by an example table:

Table 1. Table
Option Description

-a USER GROUP

Add USER to GROUP.

-R GROUP

Disables access to GROUP.

And now for something completely different: monkeys, lions and tigers.

Appendix A: Example Appendix

Appendix special section.

Bibliography

Bibliography special section.

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.

Glossary

Glossary special section.

A glossary term

The corresponding (indented) definition.

A second glossary term

The corresponding (indented) definition.


asciidoc-py3-9.0.0rc1/tests/data/deprecated-quotes-docbook5.xml0000644000175000017500000000127313570064211023677 0ustar josephjoseph
2002-11-25 fun with text. fun with text. fun with text. More fun with text. Yet more fun with text. Yet more fun with text. Yet more fun with text. Yet more fun with text. Yet more fun with text.
asciidoc-py3-9.0.0rc1/tests/data/lang-en-last-updated-is-revdate-test-html5.html0000644000175000017500000004543713570064211026707 0ustar josephjoseph Languages Test

Abstract

Abstract special section.

The First Section

Admonishments

Do not translate in the source file — they are translated to the output file

Note
Lorum ipsum.
Tip
Lorum ipsum.
Warning
Lorum ipsum.
Caution
Lorum ipsum.
Important
Lorum ipsum.
Tiger image
Figure 1. Tiger

Followed by an example table:

Table 1. Table
Option Description

-a USER GROUP

Add USER to GROUP.

-R GROUP

Disables access to GROUP.

And now for something completely different: monkeys, lions and tigers.

Appendix A: Example Appendix

Appendix special section.

Bibliography

Bibliography special section.

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.

Glossary

Glossary special section.

A glossary term

The corresponding (indented) definition.

A second glossary term

The corresponding (indented) definition.


asciidoc-py3-9.0.0rc1/tests/data/lang-ru-article-test-html4.html0000644000175000017500000000667713570064211023730 0ustar josephjoseph Languages Test

Languages Test

version v1.0, 2003-12-21


Аннотация

Abstract special section.


The First Section

Admonishments

Do not translate in the source file — they are translated to the output file

Замечание

Lorum ipsum.

Подсказка

Lorum ipsum.

Внимание

Lorum ipsum.

Предостережение

Lorum ipsum.

Важно

Lorum ipsum.
Tiger image

Рисунок 1. Tiger

Followed by an example table:

Option Description

-a USER GROUP

Add USER to GROUP.

-R GROUP

Disables access to GROUP.

Таблица 1. Table

And now for something completely different: monkeys, lions and tigers.


Приложение A: Example Appendix

Appendix special section.


Библиография

Bibliography special section.

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.


Словарь терминов

Glossary special section.

A glossary term

The corresponding (indented) definition.

A second glossary term

The corresponding (indented) definition.


Редакция v1.0
Последнее обновление 2002-11-25 00:37:42 UTC

asciidoc-py3-9.0.0rc1/tests/data/lang-sv-book-test-docbook.xml0000644000175000017500000000725113570064211023452 0ustar josephjoseph Languages Test 2003-12-21 v1.02003-12-21 Dedikation Dedication special section. Förord Preface special section. Kolofon Colophon special section. The First Section
Admonishments Do not translate in the source file — they are translated to the output file Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum.
Tiger Tiger image
Followed by an example table: Table Option Description -a USER GROUP Add USER to GROUP. -R GROUP Disables access to GROUP.
And now for something completely different: monkeysmonkeys, lions and tigers.
Exempel-appendix Appendix special section. Referenser Bibliography special section. [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9. [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7. Ordlista Glossary special section. A glossary term The corresponding (indented) definition. A second glossary term The corresponding (indented) definition. Sakregister
asciidoc-py3-9.0.0rc1/tests/data/lang-es-man-test-docbook.xml0000644000175000017500000000210513570064211023243 0ustar josephjoseph ASCIIDOC(1) asciidoc 1     asciidoc converts an AsciiDoc text file to HTML or DocBook asciidoc [OPTIONS] FILE DESCRIPTION The asciidoc(1) command translates the AsciiDoc text file FILE to DocBook or HTML. If FILE is - then the standard input is used. asciidoc-py3-9.0.0rc1/tests/data/book-multi-html4.html0000644000175000017500000001431713570064211022035 0ustar josephjoseph Multi-Part Book Title Goes Here

Multi-Part Book Title Goes Here

Author's Name
version 1.0, 2003-12


Example Dedication

The optional dedication goes here.

This document is an AsciiDoc multi-part book skeleton containing briefly annotated element placeholders plus a couple of example index entries and footnotes. Books are normally used to generate DocBook markup and the preface, appendix, bibliography, glossary and index section titles are significant (specialsections).

Note

Multi-part books differ from all other AsciiDoc document formats in that top level sections (dedication, preface, book parts, appendices, bibliography, glossary, index) must be level zero headings (not level one).

Example Preface

The optional book preface goes here at section level zero.

0.1. Preface Sub-section

Note

Preface and appendix subsections start out of sequence at level 2 (level 1 is skipped). This only applies to multi-part book documents.

The First Part of the Book

Optional part introduction title

Optional part introduction goes here.


1. The First Chapter

Chapters can be grouped by preceding them with a level 0 Book Part title.

Book chapters are at level 1 and can contain sub-sections nested up to three deep.
[An example footnote.]

It’s also worth noting that a book part can have it’s own preface, bibliography, glossary and index. Chapters can have their own bibliography, glossary and index.

And now for something completely different: monkeys, lions and tigers (Bengal and Siberian) using the alternative syntax index entries. Note that multi-entry terms generate separate index entries.

Here are a couple of image examples: an images/smallnew.png example inline image followed by an example block image:

Tiger image

Figure 1. Tiger block image

Followed by an example table:

Option Description

-a USER GROUP

Add USER to GROUP.

-R GROUP

Disables access to GROUP.

Table 1. An example table

Lorum ipum…

Example 1. An example example

1.1. Sub-section with Anchor

Sub-section at level 2.

1.1.1. Chapter Sub-section

Sub-section at level 3.

Chapter Sub-section

Sub-section at level 4.

This is the maximum sub-section depth supported by the distributed AsciiDoc configuration.
[A second example footnote.]


2. The Second Chapter

An example link to anchor at start of the first sub-section.

An example link to a bibliography entry [taoup].


The Second Part of the Book


1. The First Chapter of the Second Part

Chapters grouped into book parts are at level 1 and can contain sub-sections.


Appendix A: Example Appendix

One or more optional appendixes go here at section level zero.

Appendix Sub-section

Note

Preface and appendix subsections start out of sequence at level 2 (level 1 is skipped). This only applies to multi-part book documents.

Example Bibliography

The bibliography list is a style of AsciiDoc bulleted list.

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.


Example Glossary

Glossaries are optional. Glossaries entries are an example of a style of AsciiDoc labeled lists.

A glossary term

The corresponding (indented) definition.

A second glossary term

The corresponding (indented) definition.


Example Colophon

Text at the end of a book describing facts about its production.


Example Index


Version 1.0
Last updated 2002-11-25 00:37:42 UTC

asciidoc-py3-9.0.0rc1/tests/data/lang-nl-man-test.txt0000644000175000017500000000057413570064211021656 0ustar josephjoseph// Test for lang-nl.conf language file. :lang: nl ASCIIDOC(1) =========== :doctype: manpage NAME ---- asciidoc - converts an AsciiDoc text file to HTML or DocBook SYNOPSIS -------- *asciidoc* ['OPTIONS'] 'FILE' DESCRIPTION ----------- The asciidoc(1) command translates the AsciiDoc text file 'FILE' to DocBook or HTML. If 'FILE' is '-' then the standard input is used. ... asciidoc-py3-9.0.0rc1/tests/data/utf8-bom-test-docbook.xml0000644000175000017500000000112313570064211022604 0ustar josephjoseph
UTF-8 BOM Test Include file with UTF-8 BOM:
UTF-8 BOM Test Include file with UTF-8 BOM: include::utf8-bom-test.txt[depth=1] Lorum ipsum… Lorum ipsum…
asciidoc-py3-9.0.0rc1/tests/data/testcases-html5.html0000644000175000017500000014271513570064211021756 0ustar josephjoseph Test Cases

Passthrough attributes

*lorum ipsum*

<b>*lorum ipsum*</b>

Author attributes

{eval:expression}, {sys:command} and {sys2:command}, {counter:c1}

Hello Joe Bloggs (Joe Bloggs, JB).

first name or last name or surname.

first name and last name.

System attributes

1 99 A

1 = 1, 99 = 99, A = A

2 100 B 2 100 B

2 = 2, 100 = 100, B = B

y: Foobar

3, 7

3, 3

Quoted text attributes

A=X, (X), X, [X] X

A=X, (_X_), X, [X] X X

[*X*] +X+

fun with text. fun with text. fun with text. fun with text. fun with text. “fun with text”. ‘fun with text’.

fun with text.

fun with text.

Obvious and very obvious.

Underline text, overline text and line-through text.

Testing 123 …

(“+1\n+”) if (usually “+-1\n+”)

(“1\n”) if (usually “-1\n”)

(‘Joe Bloggs’) and ‘Joe Bloggs’

Configuration attribute entries

term

definition

term

definition

role attribute

Paragraph with a role attribute.

  • first

  • second

  • third

Break list nesting

  1. List 1.

  2. List 1.

  1. List 2.

  2. List 2.

Listing Blocks

$ ls -al
[subs="quotes"]
------------------------------------------
$ ls *-al*
------------------------------------------
Listing
$ ls -al
Example 1. Listing example
$ ls -al
Python paragraph
if n < 0: print 'Hello World!'
Titled Python listing
if n < 0: print 'Hello World!'
Example 2. Python listing example
if n < 0: print 'Hello World!'

Links

An inline anchor. An inline anchor with reftext.

[X1]; captioned link to this test case.

[X2] link to inline anchor; captioned link to inline anchor.

Link to [X3] anchor.

An example link to a bibliography entry [Test::Unit].

Titles

Level 4

Level 3

Level 2

Level 1

Level 4

Level 3

Level 2

Level 1

Block title

Lorum ipsum.

Lists

Bulleted:

  • item text

    • item text

      • item text

        • item text

          • item text

            • item text

Numbered:

  1. arabic (decimal) numbering

    1. loweralpha numbering

      1. upperalpha numbering

        1. lowerroman numbering

          1. upperroman numbering

            1. arabic (decimal) numbering

              1. loweralpha numbering

                1. lowerroman numbering

                  1. upperalpha numbering

                    1. upperroman numbering

Labeled:

label

item text

label

item text

label

item text

label

item text

With item anchor:

one

Item one.

two

Item two.

three

Item three.

Inline passthroughs

  • Test `ABC`.

  • Test ABC.

  • The ++i and ++j auto-increments.

  • Paths ~/.vim and ~/docs.

  • The __init__ method.

  • The {id} attribute.

List start number test:

  1. List item 7.

  2. List item 8.

Images

Block images

Tyger tyger
Figure 1. Tyger tyger
Tiger
Figure 2: Tyger tyger two
music2.png
Note Lorum ipsum.

Inline images

Inline image smallnew.png

Inline image NEW!

Inline image NEW!

Admonishments

Note
Lorum ipsum.
Tip
Lorum ipsum.
Warning
Lorum ipsum.
Caution
Lorum ipsum.
Important
Lorum ipsum.
Note Lorum ipsum.
Tip Lorum ipsum.
Warning Lorum ipsum.
Caution Lorum ipsum.
Important Lorum ipsum.

Backslash escapes

Apostrophe

Don’t vs don't.

Exceptions

There are a number of exceptions to the usual single backslash rule — mostly relating to URL macros that have two syntaxes or quoting ambiguity. Here are some non-standard escape examples:

AsciiDoc Renders
\joe.bloggs@example.com
<\joe.bloggs@example.com>
\mailto:[\joe.bloggs@example.com]
joe.bloggs@example.com <joe.bloggs@example.com> mailto:[joe.bloggs@example.com]
\http://www.example.com
\\http://www.example.com[]
\\http://www.example.com[Foobar Limited]
http://www.example.com http://www.example.com[] http://www.example.com[Foobar Limited]
A C\++ Library for C++
\\``double-quotes''
\*\*F**ile Open\...
A C++ Library for C++ ``double-quotes'' **F**ile Open...

Paragraphs

Normal paragraph

This is a bold a line This is a strong line This is another strong line

Literal paragraph
This is a *bold* a line
This is a 'strong' line
This is another _strong_ line
Verse paragraph
This is a bold a line
This is a strong line
This is another strong line
Indented (literal) paragraph
This is a *bold* a line
This is a 'strong' line
This is another _strong_ line
Indented with quotes substitution
This is a bold a line
This is a strong line
This is another strong line
Literal paragraph with quotes substitution
This is a bold a line
This is a strong line
This is another strong line
Monospaced paragraph with line breaks

This is a bold line
This is a strong line
This is another strong line

Another monospaced paragraph with line breaks

This is a bold a line
This is a strong line
This is another strong line

Literal block with quotes substitution
This is a bold a line
This is a strong line
This is another strong line
To see a world in a grain of sand,
And a heaven in a wild flower,
Hold infinity in the palm of your hand,
And eternity in an hour.
from Auguries of Innocence
— William Blake
A good notation has subtlety and suggestiveness which at times makes it almost seem like a live teacher.
The World of Mathematics (1956)
— Bertrand Russell

Comments

Qui in magna commodo, est labitur dolorum an. Est ne magna primis. adolescens. Sit munere ponderum dignissim et. Minim luptatum et.

This comment line will be displayed in the output.

Qui in magna commodo, est labitur dolorum an. Est ne magna primis.
Visible inline comment line.
adolescens. Sit munere ponderum dignissim et. Minim luptatum et.

Block title

Lorum ipsum.

Block title

Lorum ipsum.

Index Terms

Test 1 test1.

Test 2 .

Test 3 .

Test 4 .

Test 5 test5.

Test 6 .

Test 7 .

Test 8 .

Table with fractional column width units

Note
pagewidth and pageunits only apply to DocBook outputs.
Table 1. Horizontal and vertical source data
Date Duration Avg HR Notes

22-Aug-08

10:24

157

Worked out MSHR (max sustainable heart rate) by going hard for this interval.

22-Aug-08

23:03

152

Back-to-back with previous interval.

24-Aug-08

40:00

145

Moderately hard interspersed with 3x 3min intervals (2min hard + 1min really hard taking the HR up to 160).

Table with parent configuration file and header attribute entry

  • Attribute entry from header: TEST_ATTRIBUTE

  • Replacement from testcases.conf configuration file: TEST_REPLACEMENT

Table column specifiers with merged cells

1- A

2- B

i- a

ii- b

Values 1

v1

v2

v3

Values 2

v4

v5

v6

Floating tables and images

Table 2. Simple table

1

2

A

3

4

B

5

6

C

Tiger image
Figure 2. Tiger

Section level offsets

At level 1

Section title

At level 2

Section title

At level 2

Section title

At level 3

Section level offsets

At level 1

Single-quoted attributes

Sir, a woman’s preaching is like a dog’s walking on his hind legs. It is not done well; but you are surprised to find it done at all.

Sir, a woman’s preaching is like a dog’s walking on his hind legs. It is not done well; but you are surprised to find it done at all.

Footnotes

Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel.
[footnote one. Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel. Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel.]
Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel.
[footnote two. Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel.]
Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel
[F2]
. Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel.
[http://asciidoc.org/ Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel images/smallnew.png ]
Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel.
[http://asciidoc.org/]
Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel
[AsciiDoc website.]
. Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et
[A footnote, "with an image" images/smallnew.png ]
.
[With [square brackets]]
Qui in magna commodo, est labitur dolorum an. Est ne magna primis.

Rulers and page breaks

Lorum ipsum…


Lorum ipsum…

Lorum ipsum…

这是一个测试

Double-with character titles. link to auto-generated section ID.

HTML 5 audio and video block macros

Audio tag test
Example video

Block macros

RS458 is 2.

Template line 1. Template line 2.

àn îd without accénts

Lorum ipsum…

àn îd with accénts

Lorum ipsum…


asciidoc-py3-9.0.0rc1/tests/data/book-html4.html0000644000175000017500000001160113570064211020676 0ustar josephjoseph Book Title Goes Here

Book Title Goes Here

Author's Name
version 1.0, 2003-12


1. Example Dedication

Optional dedication.

This document is an AsciiDoc book skeleton containing briefly annotated example elements plus a couple of example index entries and footnotes.

Books are normally used to generate DocBook markup and the titles of the preface, appendix, bibliography, glossary and index sections are significant (specialsections).


2. Example Preface

Optional preface.

2.1. Preface Sub-section

Preface sub-section body.


3. The First Chapter

Chapters can contain sub-sections nested up to three deep.
[An example footnote.]

Chapters can have their own bibliography, glossary and index.

And now for something completely different: monkeys, lions and tigers (Bengal and Siberian) using the alternative syntax index entries. Note that multi-entry terms generate separate index entries.

Here are a couple of image examples: an images/smallnew.png example inline image followed by an example block image:

Tiger image

Figure 1. Tiger block image

Followed by an example table:

Option Description

-a USER GROUP

Add USER to GROUP.

-R GROUP

Disables access to GROUP.

Table 1. An example table

Lorum ipum…

Example 1. An example example

3.1. Sub-section with Anchor

Sub-section at level 2.

3.1.1. Chapter Sub-section

Sub-section at level 3.

Chapter Sub-section

Sub-section at level 4.

This is the maximum sub-section depth supported by the distributed AsciiDoc configuration.
[A second example footnote.]


4. The Second Chapter

An example link to anchor at start of the first sub-section.

An example link to a bibliography entry [taoup].


5. The Third Chapter

Book chapters are at level 1 and can contain sub-sections.


Appendix A: Example Appendix

One or more optional appendixes go here at section level 1.

Appendix Sub-section

Sub-section body.


Example Bibliography

The bibliography list is a style of AsciiDoc bulleted list.

Books

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.

Articles

  • [abc2003] Gall Anonim. An article, Whatever. 2003.


Example Glossary

Glossaries are optional. Glossaries entries are an example of a style of AsciiDoc labeled lists.

A glossary term

The corresponding (indented) definition.

A second glossary term

The corresponding (indented) definition.


Example Colophon

Text at the end of a book describing facts about its production.


Example Index


Version 1.0
Last updated 2002-11-25 00:37:42 UTC

asciidoc-py3-9.0.0rc1/tests/data/rcs-id-marker-test.txt0000644000175000017500000000016213570064211022206 0ustar josephjosephRCS $Id$ Marker Test ==================== $Id: mydoc.txt,v 1.5 2009/05/17 17:58:44 jbloggs Exp $ Lorum ipsum... asciidoc-py3-9.0.0rc1/tests/data/rcs-id-marker-test-xhtml11.html0000644000175000017500000003730413570064211023637 0ustar josephjoseph RCS $Id$ Marker Test

Lorum ipsum…


asciidoc-py3-9.0.0rc1/tests/data/lang-nl-article-test-html5.html0000644000175000017500000004605413570064211023705 0ustar josephjoseph Languages Test

Samenvatting

Bijzonder abstract sectie.

Het Eerste Hoofdstuk

Vermaningen

Vertaal ze niet in the broncode — ze worden vanzelf vertaald in het output bestand

Opmerking
Lorum ipsum.
Tip
Lorum ipsum.
Waarschuwing
Lorum ipsum.
Let op
Lorum ipsum.
Belangrijk
Lorum ipsum.
Tiger image
Figuur 1. Tiger

Gevolgd door een voorbeeld tabel:

Tabel 1. Table
Optie Beschrijving

-a USER GROUP

Voeg USER toe aan GROUP.

-R GROUP

Schakel toegang uit tot GROUP.

En nu iets totaal anders: apen, leeuwen en tijgers.

Bijlage A: Voorbeeld Bijlage

Bijzonder appendix sectie.

Literatuurlijst

Bijzonder bibliography sectie.

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.

Woordenlijst

Bijzonder glossary sectie.

Een woordenlijst term

De bijhorende (ingesprongen) definitie.

Een tweede term

De bijhorende (ingesprongen) definitie.


asciidoc-py3-9.0.0rc1/tests/data/lang-uk-book-test-docbook.xml0000644000175000017500000000756413570064211023450 0ustar josephjoseph Languages Test 2011-01-30 v1.02011-01-30 Присвячення Dedication special section. Вступ Preface special section. Колофон Colophon special section. The First Section
Admonishments Do not translate in the source file — they are translated to the output file Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum.
Tiger Tiger image
Followed by an example table: Table Option Description -a USER GROUP Add USER to GROUP. -R GROUP Disables access to GROUP.
And now for something completely different: monkeysmonkeys, lions and tigers.
Додаток A: Example Appendix Appendix special section. Бібліографія Bibliography special section. [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9. [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7. Словник термінів Glossary special section. A glossary term The corresponding (indented) definition. A second glossary term The corresponding (indented) definition. Предметний покажчик
asciidoc-py3-9.0.0rc1/tests/data/lang-pt-BR-book-test-docbook.xml0000644000175000017500000000731513570064211023747 0ustar josephjoseph Languages Test 2003-12-21 v1.02003-12-21 Dedicação Dedication special section. Prefácio Preface special section. Cólofon Colophon special section. The First Section
Admonishments Do not translate in the source file — they are translated to the output file Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum.
Tiger Tiger image
Followed by an example table: Table Option Description -a USER GROUP Add USER to GROUP. -R GROUP Disables access to GROUP.
And now for something completely different: monkeysmonkeys, lions and tigers.
Appêndice A: Example Appendix Appendix special section. Bibliografia Bibliography special section. [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9. [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7. Glossário Glossary special section. A glossary term The corresponding (indented) definition. A second glossary term The corresponding (indented) definition. Índice
asciidoc-py3-9.0.0rc1/tests/data/lang-uk-man-test.txt0000644000175000017500000000057313570064211021663 0ustar josephjoseph// Test for lang-uk.conf language file. :lang: uk ASCIIDOC(1) =========== :doctype: manpage NAME ---- asciidoc - converts an AsciiDoc text file to HTML or DocBook ОГЛЯД ----- *asciidoc* ['OPTIONS'] 'FILE' DESCRIPTION ----------- The asciidoc(1) command translates the AsciiDoc text file 'FILE' to DocBook or HTML. If 'FILE' is '-' then the standard input is used. ... asciidoc-py3-9.0.0rc1/tests/data/utf8-bom-test-html4.html0000644000175000017500000000115713570064211022367 0ustar josephjoseph UTF-8 BOM Test

UTF-8 BOM Test

Include file with UTF-8 BOM:


UTF-8 BOM Test

Include file with UTF-8 BOM:

include::utf8-bom-test.txt[depth=1]

Lorum ipsum…

Lorum ipsum…


Last updated 2002-11-25 00:37:42 UTC

asciidoc-py3-9.0.0rc1/tests/data/lang-ja-man-test.txt0000644000175000017500000000062613570064211021635 0ustar josephjoseph// Test for lang-ja.conf language file. :lang: ja ASCIIDOC(1) =========== :doctype: manpage == 名前 asciidoc - AsciiDoc テキストファイルを HTML や DocBook に変換する == 書式 *asciidoc* ['OPTIONS'] 'FILE' == 説明 asciidoc(1) コマンドは AsciiDoc テキストファイル 'FILE' を DocBook や HTML に変換する。 'FILE' が '-' ならば標準入力を使用する。 ... asciidoc-py3-9.0.0rc1/tests/data/lang-it-book-test-xhtml11.html0000644000175000017500000004661613570064211023470 0ustar josephjoseph Languages Test

Dedica

Dedication special section.

Prefazione

Preface special section.

Colofone

Colophon special section.

The First Section

Admonishments

Do not translate in the source file — they are translated to the output file

Nota
Lorum ipsum.
Suggerimento
Lorum ipsum.
Avvertenza
Lorum ipsum.
Attenzione
Lorum ipsum.
Importante
Lorum ipsum.
Tiger image
Figura 1. Tiger

Followed by an example table:

Tabella 1. Table
Option Description

-a USER GROUP

Add USER to GROUP.

-R GROUP

Disables access to GROUP.

And now for something completely different: monkeys, lions and tigers.

Appendice A: Example Appendix

Appendix special section.

Bibliografia

Bibliography special section.

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.

Glossario

Glossary special section.

A glossary term

The corresponding (indented) definition.

A second glossary term

The corresponding (indented) definition.


asciidoc-py3-9.0.0rc1/tests/data/article-docinfo-docbook.xml0000644000175000017500000002154613570064211023243 0ustar josephjoseph
The Article Title 2003-12 Author's Name authors@email.address AN 1.02003-12AN Dr Lois Common-Denominator Director, M. Behn School of Coop. Eng. Director of Cooperative Efforts The Marguerite Behn International School of Cooperative Engineering Mr Steven Norman T ATI Senior Application Analyst Foobar, Inc. Application Development Peter Pan Sr. Spiderman Peter's a super hero in his spare time. 2009 Behn International This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 1.1 May 2009 PP Updates. 1.0 October 2003 PP First release. This is the optional preamble (an untitled section body). Useful for writing simple sectionless documents consisting only of a preamble. The abstract, preface, appendix, bibliography, glossary and index section titles are significant (specialsections). The optional abstract (one or more paragraphs) goes here. This document is an AsciiDoc article skeleton containing briefly annotated element placeholders plus a couple of example index entries and footnotes.
The First Section Article sections start at level 1 and can be nested up to four levels deep. An example footnote. Example index entry And now for something completely different: monkeysmonkeys, lions and tigers (Bengal and Siberian) using the alternative syntax index entries. Big catsLions Lions Big catsTigersBengal Tiger TigersBengal Tiger Bengal Tiger Big catsTigersSiberian Tiger TigersSiberian Tiger Siberian Tiger Note that multi-entry terms generate separate index entries. Here are a couple of image examples: an images/smallnew.png example inline image followed by an example block image:
Tiger block image Tiger image
Followed by an example table: An example table Option Description -a USER GROUP Add USER to GROUP. -R GROUP Disables access to GROUP.
An example example Lorum ipum…
Sub-section with Anchor Sub-section at level 2.
A Nested Sub-section Sub-section at level 3.
Yet another nested Sub-section Sub-section at level 4. This is the maximum sub-section depth supported by the distributed AsciiDoc configuration. A second example footnote.
The Second Section Article sections are at level 1 and can contain sub-sections nested up to four deep. An example link to anchor at start of the first sub-section. Second example index entry An example link to a bibliography entry .
Example Appendix AsciiDoc article appendices are just just article sections with specialsection titles.
Appendix Sub-section Appendix sub-section at level 2.
Example Bibliography The bibliography list is a style of AsciiDoc bulleted list. [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9. [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7. Example Glossary Glossaries are optional. Glossaries entries are an example of a style of AsciiDoc labeled lists. A glossary term The corresponding (indented) definition. A second glossary term The corresponding (indented) definition. Example Index
asciidoc-py3-9.0.0rc1/tests/data/lang-fr-man-test-docbook5.xml0000644000175000017500000000171013570064211023331 0ustar josephjoseph ASCIIDOC(1) asciidoc 1     asciidoc converts an AsciiDoc text file to HTML or DocBook asciidoc [OPTIONS] FILE DESCRIPTION The asciidoc(1) command translates the AsciiDoc text file FILE to DocBook or HTML. If FILE is - then the standard input is used. asciidoc-py3-9.0.0rc1/tests/data/lang-cs-man-test-docbook.xml0000644000175000017500000000211713570064211023244 0ustar josephjoseph ASCIIDOC(1) asciidoc 1     asciidoc converts an AsciiDoc text file to HTML or DocBook SINOSSI asciidoc [OPTIONS] FILE DESCRIPTION The asciidoc(1) command translates the AsciiDoc text file FILE to DocBook or HTML. If FILE is - then the standard input is used. asciidoc-py3-9.0.0rc1/tests/data/lang-es-book-test-docbook.xml0000644000175000017500000000725513570064211023435 0ustar josephjoseph Languages Test 2003-12-21 v1.02003-12-21 Dedicación Dedication special section. Prefacio Preface special section. Colofón Colophon special section. The First Section
Admonishments Do not translate in the source file — they are translated to the output file Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum.
Tiger Tiger image
Followed by an example table: Table Option Description -a USER GROUP Add USER to GROUP. -R GROUP Disables access to GROUP.
And now for something completely different: monkeysmonkeys, lions and tigers.
Example Appendix Appendix special section. Bibliografía Bibliography special section. [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9. [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7. Glosario Glossary special section. A glossary term The corresponding (indented) definition. A second glossary term The corresponding (indented) definition. Índice
asciidoc-py3-9.0.0rc1/tests/data/source-highlight-filter-html5.html0000644000175000017500000010430513570064211024501 0ustar josephjoseph Source Code Highlight Filter

The AsciiDoc distribution includes a source filter for highlighting code syntax.

DocBook Outputs

AsciiDoc encloses the source code in a DocBook programlisting element and leaves source code highlighting to the DocBook toolchain (dblatex has a particularly nice programlisting highlighter). The DocBook programlisting element is assigned two attributes:

  1. The language attribute is set to the AsciiDoc language attribute.

  2. The linenumbering attribute is set to the AsciiDoc src_numbered attribute (numbered or unnumbered).

HTML Outputs

You have the choice of three HTML source code highlighters, your selection is determined by the source-highlighter attribute (defaults to source-highlight):

Note
Set the source-highlighter attribute from the asciidoc(1) command-line or in the document header (not in the document body, because the configuration file conditional macros are processed at load time).

GNU Source Highlight

The default highlighter is the GNU source-highlight which can highlight html4, html5 and xhtml11 outputs. The GNU source-highlight must be installed and the source-highlight command must reside in the shell search PATH.

Highlight

You can use Highlight syntax highlighter for xhtml11, html5 and html4 outputs (set the source-highlighter attribute to highlighter).

  • The highlight command must reside in the shell search PATH.

  • To make Highlighter your default highlighter put the following line your ~/.asciidoc/asciidoc.conf file:

    source-highlighter=highlight
  • The AsciiDoc encoding attribute is passed to Highlighter using the --encoding command-line option.

Pygments

The Pygments syntax highlighter can be used for xhtml11 and html5 outputs (set the source-highlighter attribute to pygments).

  • The pygmentize command must reside in the shell search PATH.

  • You can customize Pygments CSS styles by editing ./stylesheets/pygments.css. The pygments.css CSS file was generated with:

    from pygments.formatters import HtmlFormatter
    print HtmlFormatter().get_style_defs('.highlight')
  • To make Pygments your default highlighter put the following line your ~/.asciidoc/asciidoc.conf file:

    source-highlighter=pygments
  • The AsciiDoc encoding attribute is passed to Pygments using the -O command-line option.

Block attributes

The following attributes can be included in source code block attribute lists.

  • style and language are mandatory.

  • style, language and src_numbered are the first three positional attributes in that order.

  • The args attribute allows the inclusion of arbitrary (highlighter dependent) command options.

style

Set to source.

language

The source code language name.

Note
The language names vary between highlighters — consult the selected highlighter manual.
src_numbered

Set to numbered to include line numbers.

src_tab

Set tab size (GNU source-highlight only).

args

Include this attribute value in the highlighter command-line (HTML outputs) or in the programlisting element (DocBook).

Testing

Test the filter by converting the test file to HTML with AsciiDoc:

$ asciidoc -v ./filters/source/source-highlight-filter-test.txt
$ firefox ./filters/source/source-highlight-filter-test.html &

Examples

Source code paragraphs

The source paragraph style will highlight a paragraph of source code. These three code paragraphs:

[source,python]
if n < 0: print 'Hello World!'

:language: python

[source]
if n < 0: print 'Hello World!'

[source,ruby,numbered]
[true, false].cycle([0, 1, 2, 3, 4]) do |a, b|
    puts "#{a.inspect} => #{b.inspect}"

Render this highlighted source code:

if n < 0: print 'Hello World!'
if n < 0: print 'Hello World!'
    1: [true, false].cycle([0, 1, 2, 3, 4]) do |a, b|
    2:     puts "#{a.inspect} => #{b.inspect}"

Unnumbered source code listing

This source-highlight filtered block:

 [source,python]
 ---------------------------------------------------------------------
 ''' A multi-line
     comment.'''
 def sub_word(mo):
     ''' Single line comment.'''
     word = mo.group('word')   # Inline comment
     if word in keywords[language]:
         return quote + word + quote
     else:
         return word
 ---------------------------------------------------------------------

Renders this highlighted source code:

''' A multi-line
    comment.'''
def sub_word(mo):
    ''' Single line comment.'''
    word = mo.group('word')     # Inline comment
    if word in keywords[language]:
        return quote + word + quote
    else:
        return word

Numbered source code listing with callouts

This source-highlight filtered block:

 [source,ruby,numbered]
 ---------------------------------------------------------------------
 #
 # Useful Ruby base class extensions.
 #

 class Array

   # Execute a block passing it corresponding items in
   # +self+ and +other_array+.
   # If self has less items than other_array it is repeated.

   def cycle(other_array)  # :yields: item, other_item
     other_array.each_with_index do |item, index|
       yield(self[index % self.length], item)
     end
   end

 end

 if $0 == __FILE__                                 # <1>
   # Array#cycle test
   # true => 0
   # false => 1
   # true => 2
   # false => 3
   # true => 4
   puts 'Array#cycle test'                         # <2>
   [true, false].cycle([0, 1, 2, 3, 4]) do |a, b|
     puts "#{a.inspect} => #{b.inspect}"
   end
 end
 ---------------------------------------------------------------------

 <1> First callout.
 <2> Second callout.

Renders this highlighted source code:

    1: #
    2: # Useful Ruby base class extensions.
    3: #
    4:
    5: class Array
    6:
    7:   # Execute a block passing it corresponding items in
    8:   # +self+ and +other_array+.
    9:   # If self has less items than other_array it is repeated.
   10:
   11:   def cycle(other_array)  # :yields: item, other_item
   12:     other_array.each_with_index do |item, index|
   13:       yield(self[index % self.length], item)
   14:     end
   15:   end
   16:
   17: end
   18:
   19: if $0 == __FILE__                                 # <1>
   20:   # Array#cycle test
   21:   # true => 0
   22:   # false => 1
   23:   # true => 2
   24:   # false => 3
   25:   # true => 4
   26:   puts 'Array#cycle test'                         # <2>
   27:   [true, false].cycle([0, 1, 2, 3, 4]) do |a, b|
   28:     puts "#{a.inspect} => #{b.inspect}"
   29:   end
   30: end
  1. First callout.

  2. Second callout.

Tip
  • If the source language attribute has been set (using an AttributeEntry or from the command-line) you don’t have to specify it in each source code block.

  • You should place callout markers inside source code comments to ensure they are not misinterpreted and mangled by the highlighter.


asciidoc-py3-9.0.0rc1/tests/data/lang-ru-article-test-docbook.xml0000644000175000017500000000712313570064211024137 0ustar josephjoseph
Languages Test 2003-12-21 v1.02003-12-21 Abstract special section.
The First Section
Admonishments Do not translate in the source file — they are translated to the output file Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum.
Tiger Tiger image
Followed by an example table: Table Option Description -a USER GROUP Add USER to GROUP. -R GROUP Disables access to GROUP.
And now for something completely different: monkeysmonkeys, lions and tigers.
Example Appendix Appendix special section. Библиография Bibliography special section. [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9. [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7. Словарь терминов Glossary special section. A glossary term The corresponding (indented) definition. A second glossary term The corresponding (indented) definition. Предметный указатель
asciidoc-py3-9.0.0rc1/tests/data/lang-ro-book-test-html5.html0000644000175000017500000004645213570064211023225 0ustar josephjoseph Languages Test

Dedica

Dedication special section.

Prefazione

Preface special section.

Colofone

Colophon special section.

The First Section

Admonishments

Do not translate in the source file — they are translated to the output file

Nota
Lorum ipsum.
Suggerimento
Lorum ipsum.
Avvertenza
Lorum ipsum.
Attenzione
Lorum ipsum.
Importante
Lorum ipsum.
Tiger image
Figura 1. Tiger

Followed by an example table:

Tabella 1. Table
Option Description

-a USER GROUP

Add USER to GROUP.

-R GROUP

Disables access to GROUP.

And now for something completely different: monkeys, lions and tigers.

Appendice A: Example Appendix

Appendix special section.

Bibliografia

Bibliography special section.

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.

Glossario

Glossary special section.

A glossary term

The corresponding (indented) definition.

A second glossary term

The corresponding (indented) definition.


asciidoc-py3-9.0.0rc1/tests/data/lang-en-test.txt0000644000175000017500000000417013570064211021072 0ustar josephjoseph// Test for lang-en.conf language file. :lang: en Languages Test ============== :revnumber: v1.0 :revdate: 2003-12-21 ifdef::doctype-article[] // Translate title. Abstract -------- Abstract special section. endif::doctype-article[] ifdef::doctype-book[] // Translate title. Dedication ---------- Dedication special section. // Translate title. Preface ------- Preface special section. // Translate title. Colophon -------- Colophon special section. endif::doctype-book[] The First Section ----------------- Admonishments ~~~~~~~~~~~~~ Do not translate in the source file -- they are translated to the output file NOTE: Lorum ipsum. TIP: Lorum ipsum. WARNING: Lorum ipsum. CAUTION: Lorum ipsum. IMPORTANT: Lorum ipsum. .Tiger image::../../images/tiger.png[Tiger image] Followed by an example table: .Table [width="60%",options="header"] |============================================== | Option | Description | -a 'USER GROUP' | Add 'USER' to 'GROUP'. | -R 'GROUP' | Disables access to 'GROUP'. |============================================== And now for something completely different: ((monkeys)), lions and tigers. // Translate title. Appendix A: Example Appendix ---------------------------- Appendix special section. // Translate title. Bibliography ------------ Bibliography special section. [bibliography] - [[[taoup]]] Eric Steven Raymond. 'The Art of Unix Programming'. Addison-Wesley. ISBN 0-13-142901-9. - [[[walsh-muellner]]] Norman Walsh & Leonard Muellner. 'DocBook - The Definitive Guide'. O'Reilly & Associates. 1999. ISBN 1-56592-580-7. // Translate title. Glossary -------- Glossary special section. [glossary] A glossary term:: The corresponding (indented) definition. A second glossary term:: The corresponding (indented) definition. ifdef::basebackend-docbook[] // Translate title. Index ----- //////////////////////////////////////////////////////////////// Index special section. The index is normally left completely empty, it's contents being generated automatically by the DocBook toolchain. //////////////////////////////////////////////////////////////// endif::basebackend-docbook[] asciidoc-py3-9.0.0rc1/tests/data/asciidoc.1-html4.html0000644000175000017500000002363013570064211021666 0ustar josephjoseph ASCIIDOC(1)

ASCIIDOC(1) Manual Page


NAME

asciidoc - converts an AsciiDoc text file to HTML or DocBook

SYNOPSIS

asciidoc [OPTIONS] FILE

DESCRIPTION

The asciidoc(1) command translates the AsciiDoc text file FILE to DocBook or HTML. If FILE is - then the standard input is used.

OPTIONS

-a, --attribute=ATTRIBUTE

Define or delete document attribute. ATTRIBUTE is formatted like NAME=VALUE. Command-line attributes take precedence over document and configuration file attributes. Alternate acceptable forms are NAME (the VALUE defaults to an empty string); NAME! (delete the NAME attribute); NAME=VALUE@ (do not override document or configuration file attributes). Values containing spaces should be enclosed in double-quote characters. This option may be specified more than once. A special attribute named trace controls the output of diagnostic information.

-b, --backend=BACKEND

Backend output file format: docbook45, docbook5, xhtml11, html4, html5, slidy, wordpress or latex (the latex backend is experimental). You can also use the backend alias names html (aliased to xhtml11) or docbook (aliased to docbook45). Defaults to html. The --backend option is also used to manage backend plugins (see PLUGIN COMMANDS).

-f, --conf-file=CONF_FILE

Use configuration file CONF_FILE.Configuration files processed in command-line order (after implicit configuration files). This option may be specified more than once.

--doctest

Run Python doctests in asciidoc module.

-d, --doctype=DOCTYPE

Document type: article, manpage or book. The book document type is only supported by the docbook backends. Default document type is article.

-c, --dump-conf

Dump configuration to stdout.

--filter=FILTER

Specify the name of a filter to be loaded (used to load filters that are not auto-loaded). This option may be specified more than once. The --filter option is also used to manage filter plugins (see PLUGIN COMMANDS).

-h, --help [TOPIC]

Print help TOPIC. --help topics will print a list of help topics, --help syntax summarizes AsciiDoc syntax, --help manpage prints the AsciiDoc manpage.

-e, --no-conf

Exclude implicitly loaded configuration files except for those named like the input file (infile.conf and infile-backend.conf).

-s, --no-header-footer

Suppress document header and footer output.

-o, --out-file=OUT_FILE

Write output to file OUT_FILE. Defaults to the base name of input file with backend extension. If the input is stdin then the outfile defaults to stdout. If OUT_FILE is - then the standard output is used.

-n, --section-numbers

Auto-number HTML article section titles. Synonym for --attribute numbered.

--safe

Enable safe mode. Safe mode is disabled by default. AsciiDoc safe mode skips potentially dangerous scripted sections in AsciiDoc source files.

--theme=THEME

Specify a theme name. Synonym for --attribute theme=THEME. The --theme option is also used to manage theme plugins (see PLUGIN COMMANDS).

-v, --verbose

Verbosely print processing information and configuration file checks to stderr.

--version

Print program version number.

PLUGIN COMMANDS

The asciidoc(1) --filter, --backend and --theme options are used to install, remove and list AsciiDoc filter, backend and theme plugins. Syntax:

asciidoc OPTION install ZIP_FILE [PLUGINS_DIR]
asciidoc OPTION remove PLUGIN_NAME [PLUGINS_DIR]
asciidoc OPTION list
asciidoc OPTION build ZIP_FILE PLUGIN_SOURCE

Where:

OPTION

asciidoc(1) --filter, --backend or --theme option specifying the type of plugin.

PLUGIN_NAME

A unique plugin name containing only alphanumeric or underscore characters.

ZIP_FILE

A Zip file containing plugin resources, the name must start with the plugin name e.g. my_filter-1.0.zip packages filter my_filter.

PLUGINS_DIR

The directory containing installed plugins. Each plugin is contained in its own separate subdirectory which has the same name as the plugin. PLUGINS_DIR defaults to the $HOME/.asciidoc/filters (for filter plugins) or $HOME/.asciidoc/backends (for backend plugins) or $HOME/.asciidoc/themes (for theme plugins).

PLUGIN_SOURCE

The name of a directory containing the plugin source files or the name of a single source file.

The plugin commands perform as follows:

install

Create a subdirectory in PLUGINS_DIR with the same name as the plugin then extract the ZIP_FILE into it.

remove

Delete the PLUGIN_NAME plugin subdirectory and all its contents from the PLUGINS_DIR.

list

List the names and locations of all installed filter or theme plugins (including standard plugins installed in the global configuration directory).

build

Create a plugin file named ZIP_FILE containing the files and subdirectories specified by PLUGIN_SOURCE. File and directory names starting with a period are skipped.

ENVIRONMENT VARIABLES

SOURCE_DATE_EPOCH

If the SOURCE_DATE_EPOCH environment variable is set to a UNIX timestamp, then the {docdate}, {doctime}, {localdate}, and {localtime} attributes are computed in the UTC time zone, with any timestamps newer than SOURCE_DATE_EPOCH replaced by SOURCE_DATE_EPOCH. (This helps software using AsciiDoc to build reproducibly.)

EXAMPLES

asciidoc asciidoc_file_name.txt

Simply generate an html file from the asciidoc_file_name.txt that is in current directory using asciidoc.

asciidoc -b html5 asciidoc_file_name.txt

Use the -b switch to use one of the proposed backend or another one you installed on your computer.

asciidoc -a data-uri -a icons -a toc -a max-width=55em article.txt

Use the -a switch to set attributes from command-line. AsciiDoc generated its stand-alone HTML user guide containing embedded CSS, JavaScript and images from the AsciiDoc article template with this command.

asciidoc -b html5 -d manpage asciidoc.1.txt

Generating the asciidoc manpage using the html5 backend.

EXIT STATUS

0

Success

1

Failure (syntax or usage error; configuration error; document processing failure; unexpected error).

BUGS

See the AsciiDoc distribution BUGS file.

AUTHOR

AsciiDoc was originally written by Stuart Rackham. Many people have contributed to it.

RESOURCES

SourceForge: http://sourceforge.net/projects/asciidoc/

Main web site: http://asciidoc.org/

SEE ALSO

a2x(1)

COPYING

Copyright (C) 2002-2011 Stuart Rackham. Free use of this software is granted under the terms of the GNU General Public License (GPL).


Last updated 2002-11-25 00:37:42 UTC

asciidoc-py3-9.0.0rc1/tests/data/lang-ru-article-test-html5.html0000644000175000017500000004631213570064211023717 0ustar josephjoseph Languages Test

Аннотация

Abstract special section.

The First Section

Admonishments

Do not translate in the source file — they are translated to the output file

Замечание
Lorum ipsum.
Подсказка
Lorum ipsum.
Внимание
Lorum ipsum.
Предостережение
Lorum ipsum.
Важно
Lorum ipsum.
Tiger image
Рисунок 1. Tiger

Followed by an example table:

Таблица 1. Table
Option Description

-a USER GROUP

Add USER to GROUP.

-R GROUP

Disables access to GROUP.

And now for something completely different: monkeys, lions and tigers.

Приложение A: Example Appendix

Appendix special section.

Библиография

Bibliography special section.

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.

Словарь терминов

Glossary special section.

A glossary term

The corresponding (indented) definition.

A second glossary term

The corresponding (indented) definition.


asciidoc-py3-9.0.0rc1/tests/data/rcs-id-marker-test-docbook5.xml0000644000175000017500000000114513570064211023674 0ustar josephjoseph
RCS $Id$ Marker Test 2009/05/17 jbloggs J 1.52009/05/17J Lorum ipsum…
asciidoc-py3-9.0.0rc1/tests/data/lang-en-article-test-docbook.xml0000644000175000017500000000667713570064211024130 0ustar josephjoseph
Languages Test 2003-12-21 v1.02003-12-21 Abstract special section.
The First Section
Admonishments Do not translate in the source file — they are translated to the output file Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum.
Tiger Tiger image
Followed by an example table: Table Option Description -a USER GROUP Add USER to GROUP. -R GROUP Disables access to GROUP.
And now for something completely different: monkeysmonkeys, lions and tigers.
Example Appendix Appendix special section. Bibliography Bibliography special section. [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9. [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7. Glossary Glossary special section. A glossary term The corresponding (indented) definition. A second glossary term The corresponding (indented) definition. Index
asciidoc-py3-9.0.0rc1/tests/data/lang-ja-man-test-docbook5.xml0000644000175000017500000000175413570064211023324 0ustar josephjoseph ASCIIDOC(1) asciidoc 1     asciidoc AsciiDoc テキストファイルを HTML や DocBook に変換する asciidoc [OPTIONS] FILE 説明 asciidoc(1) コマンドは AsciiDoc テキストファイル FILE を DocBook や HTML に変換する。 FILE- ならば標準入力を使用する。 asciidoc-py3-9.0.0rc1/tests/data/asciidoc.1-xhtml11.html0000644000175000017500000006534313570064211022143 0ustar josephjoseph ASCIIDOC(1)

SYNOPSIS

asciidoc [OPTIONS] FILE

DESCRIPTION

The asciidoc(1) command translates the AsciiDoc text file FILE to DocBook or HTML. If FILE is - then the standard input is used.

OPTIONS

-a, --attribute=ATTRIBUTE

Define or delete document attribute. ATTRIBUTE is formatted like NAME=VALUE. Command-line attributes take precedence over document and configuration file attributes. Alternate acceptable forms are NAME (the VALUE defaults to an empty string); NAME! (delete the NAME attribute); NAME=VALUE@ (do not override document or configuration file attributes). Values containing spaces should be enclosed in double-quote characters. This option may be specified more than once. A special attribute named trace controls the output of diagnostic information.

-b, --backend=BACKEND

Backend output file format: docbook45, docbook5, xhtml11, html4, html5, slidy, wordpress or latex (the latex backend is experimental). You can also use the backend alias names html (aliased to xhtml11) or docbook (aliased to docbook45). Defaults to html. The --backend option is also used to manage backend plugins (see PLUGIN COMMANDS).

-f, --conf-file=CONF_FILE

Use configuration file CONF_FILE.Configuration files processed in command-line order (after implicit configuration files). This option may be specified more than once.

--doctest

Run Python doctests in asciidoc module.

-d, --doctype=DOCTYPE

Document type: article, manpage or book. The book document type is only supported by the docbook backends. Default document type is article.

-c, --dump-conf

Dump configuration to stdout.

--filter=FILTER

Specify the name of a filter to be loaded (used to load filters that are not auto-loaded). This option may be specified more than once. The --filter option is also used to manage filter plugins (see PLUGIN COMMANDS).

-h, --help [TOPIC]

Print help TOPIC. --help topics will print a list of help topics, --help syntax summarizes AsciiDoc syntax, --help manpage prints the AsciiDoc manpage.

-e, --no-conf

Exclude implicitly loaded configuration files except for those named like the input file (infile.conf and infile-backend.conf).

-s, --no-header-footer

Suppress document header and footer output.

-o, --out-file=OUT_FILE

Write output to file OUT_FILE. Defaults to the base name of input file with backend extension. If the input is stdin then the outfile defaults to stdout. If OUT_FILE is - then the standard output is used.

-n, --section-numbers

Auto-number HTML article section titles. Synonym for --attribute numbered.

--safe

Enable safe mode. Safe mode is disabled by default. AsciiDoc safe mode skips potentially dangerous scripted sections in AsciiDoc source files.

--theme=THEME

Specify a theme name. Synonym for --attribute theme=THEME. The --theme option is also used to manage theme plugins (see PLUGIN COMMANDS).

-v, --verbose

Verbosely print processing information and configuration file checks to stderr.

--version

Print program version number.

PLUGIN COMMANDS

The asciidoc(1) --filter, --backend and --theme options are used to install, remove and list AsciiDoc filter, backend and theme plugins. Syntax:

asciidoc OPTION install ZIP_FILE [PLUGINS_DIR]
asciidoc OPTION remove PLUGIN_NAME [PLUGINS_DIR]
asciidoc OPTION list
asciidoc OPTION build ZIP_FILE PLUGIN_SOURCE

Where:

OPTION

asciidoc(1) --filter, --backend or --theme option specifying the type of plugin.

PLUGIN_NAME

A unique plugin name containing only alphanumeric or underscore characters.

ZIP_FILE

A Zip file containing plugin resources, the name must start with the plugin name e.g. my_filter-1.0.zip packages filter my_filter.

PLUGINS_DIR

The directory containing installed plugins. Each plugin is contained in its own separate subdirectory which has the same name as the plugin. PLUGINS_DIR defaults to the $HOME/.asciidoc/filters (for filter plugins) or $HOME/.asciidoc/backends (for backend plugins) or $HOME/.asciidoc/themes (for theme plugins).

PLUGIN_SOURCE

The name of a directory containing the plugin source files or the name of a single source file.

The plugin commands perform as follows:

install

Create a subdirectory in PLUGINS_DIR with the same name as the plugin then extract the ZIP_FILE into it.

remove

Delete the PLUGIN_NAME plugin subdirectory and all its contents from the PLUGINS_DIR.

list

List the names and locations of all installed filter or theme plugins (including standard plugins installed in the global configuration directory).

build

Create a plugin file named ZIP_FILE containing the files and subdirectories specified by PLUGIN_SOURCE. File and directory names starting with a period are skipped.

ENVIRONMENT VARIABLES

SOURCE_DATE_EPOCH

If the SOURCE_DATE_EPOCH environment variable is set to a UNIX timestamp, then the {docdate}, {doctime}, {localdate}, and {localtime} attributes are computed in the UTC time zone, with any timestamps newer than SOURCE_DATE_EPOCH replaced by SOURCE_DATE_EPOCH. (This helps software using AsciiDoc to build reproducibly.)

EXAMPLES

asciidoc asciidoc_file_name.txt

Simply generate an html file from the asciidoc_file_name.txt that is in current directory using asciidoc.

asciidoc -b html5 asciidoc_file_name.txt

Use the -b switch to use one of the proposed backend or another one you installed on your computer.

asciidoc -a data-uri -a icons -a toc -a max-width=55em article.txt

Use the -a switch to set attributes from command-line. AsciiDoc generated its stand-alone HTML user guide containing embedded CSS, JavaScript and images from the AsciiDoc article template with this command.

asciidoc -b html5 -d manpage asciidoc.1.txt

Generating the asciidoc manpage using the html5 backend.

EXIT STATUS

0

Success

1

Failure (syntax or usage error; configuration error; document processing failure; unexpected error).

BUGS

See the AsciiDoc distribution BUGS file.

AUTHOR

AsciiDoc was originally written by Stuart Rackham. Many people have contributed to it.

RESOURCES

SEE ALSO

a2x(1)

COPYING

Copyright (C) 2002-2011 Stuart Rackham. Free use of this software is granted under the terms of the GNU General Public License (GPL).


asciidoc-py3-9.0.0rc1/tests/data/latex-filter-docbook.xml0000644000175000017500000001711313570064211022574 0ustar josephjoseph
LaTeX Filter The AsciiDoc distribution includes a LaTeX filter that translates LaTeX source to an image which is automatically inserted into the AsciiDoc output document. Although it can accept any LaTeX source, the primary use is to render mathematical formulae (see the examples below). The filter implements the latex Listing block and Paragraph styles. Two image formats are supported; PNG and SVG. PNG is the default since that was the first format that this filter supported. However, SVG is a better format since it’s scalable. Using SVG make formulas look good in both PDFs and on web pages. SVG will also scale well when zooming in on a web page for example. It is recommended to always use the SVG format. This can be done by setting the imgfmt parameter to svg, as is done below. An even better way is to set the global attribute latex-imgfmt to svg. Then SVG will be used for all formulas. This LaTeX paragraph: ["latex", imgfmt="svg"] --------------------------------------------------------------------- \begin{equation*} y = \int_0^\infty \gamma^2 \cos(x) dx \end{equation*} --------------------------------------------------------------------- Renders: latex-filter__1.svg Compare the formula above, which is rendered as an SVG image, to the formula below which has been rendered as a PNG image. The difference will be most notable if zooming in on a web page, printing the web page or when rendering the document as a PDF. ["latex", "latex2.png", 140, imgfmt="png"] --------------------------------------------------------------------- \begin{equation*} y = \int_0^\infty \gamma^2 \cos(x) dx \end{equation*} --------------------------------------------------------------------- Renders: latex2.png This LaTeX block: ["latex","latex1.svg",imgfmt="svg",align="center"] --------------------------------------------------------------------- \begin{equation*} \displaystyle{ V_i = C_0 - C_3 \frac{C_1\cos(\theta_i+C_3)}{C_4+C_1\cos(\theta_i+C_2)} } \end{equation*} --------------------------------------------------------------------- Renders: latex1.svg This LaTeX block: .LaTeX filter example [latex] ["latex","latex3.svg",imgfmt="svg"] --------------------------------------------------------------------- \begin{equation} \Re{z} =\frac{n\pi \dfrac{\theta +\psi}{2}}{ \left(\dfrac{\theta +\psi}{2}\right)^2 + \left( \dfrac{1}{2} \log \left\lvert\dfrac{B}{A}\right\rvert\right)^2}. \end{equation} \begin{equation} \boxed{\eta \leq C(\delta(\eta) +\Lambda_M(0,\delta))} \end{equation} \begin{equation}\label{first} a=b+c \end{equation} \begin{subequations}\label{grp} \begin{align} a&=b+c\label{second}\\ d&=e+f+g\label{third}\\ h&=i+j\label{fourth} \end{align} \end{subequations} --------------------------------------------------------------------- Renders:
LaTeX filter example latex3.svg
This LaTeX paragraph: .A LaTeX table ["latex",imgfmt="svg"] \begin{tabular}{c r @{.} l} Pi expression & \multicolumn{2}{c}{Value} \\ \hline $\pi$ & 3&1416 \\ $\pi^{\pi}$ & 36&46 \\ $(\pi^{\pi})^{\pi}$ & 80662&7 \\ \end{tabular} Renders:
A LaTeX table latex-filter__2.svg
Using the Filter The LaTeX filter is invoked by setting the Listing block or Paragraph style (the first positional block attribute) to latex. The second positional attribute (named target is optional, it sets the name of the generated image file. If this is not supplied a file name like {docname}__{target-number}.{imgfmt} is synthesised (where {docname} is the document file name, {target-number} is an integer number and {imgfmt} is the image format (png or svg). The third positional attribute, named dpi, is also optional; it is an integer number that sets the output resolution in dots per inch for a PNG image. It is ignored for an SVG image. The image format to use can be selected by setting the imgfmt parameter or by globally setting the latex-imgfmt attribute. Setting it to svg will render SVG images and setting it to png will render PNG images. The default is png. Because the LaTeX images are rendered using the image block templates you can also use the optional named image block attributes (see Image macro attributes in the AsciiDoc User Guide). You can also change the image size using the following LaTeX commands: \tiny \scriptsize \footnotesize \small \normalsize \large \Large \LARGE \huge For example: [latex] \Large $y = \int_0^\infty \gamma^2 \cos(x) dx$ The \Large command is outside the $ math delimiters. The filter (./filters/latex/latex2img.py) can be used outside AsciiDoc to convert LaTeX source to images. Execute the following command to see how to use it: $ ./filters/latex/latex2img.py --help
Limitations The asciidoc(1) input and output files cannot both be - (stdin and stdout), either the input or output files (or both) must be a named file.
Installation In addition to AsciiDoc you will need to have latex(1), dvipng(1) (for PNG) and/or dvisvgm(1) (for SVG) installed.
asciidoc-py3-9.0.0rc1/tests/data/lang-nl-man-test-docbook5.xml0000644000175000017500000000171013570064211023333 0ustar josephjoseph ASCIIDOC(1) asciidoc 1     asciidoc converts an AsciiDoc text file to HTML or DocBook asciidoc [OPTIONS] FILE DESCRIPTION The asciidoc(1) command translates the AsciiDoc text file FILE to DocBook or HTML. If FILE is - then the standard input is used. asciidoc-py3-9.0.0rc1/tests/data/utf8-examples-docbook5.xml0000644000175000017500000003601313570064211022763 0ustar josephjoseph
UTF-8 encoded sample plain-text file Markus Kuhn [ˈmaʳkʊs kuːn] http://www.cl.cam.ac.uk/~mgk25/ — 2002-07-25 The ASCII compatible UTF-8 encoding used in this plain-text file is defined in Unicode, ISO 10646-1, and RFC 2279. Using Unicode/UTF-8, you can write in emails and source code things such as
Mathematics and sciences ∮ E⋅da = Q, n → ∞, ∑ f(i) = ∏ g(i), ⎧⎡⎛┌─────┐⎞⎤⎫ ⎪⎢⎜│a²+b³ ⎟⎥⎪ ∀x∈ℝ: ⌈x⌉ = −⌊−x⌋, α ∧ ¬β = ¬(¬α ∨ β), ⎪⎢⎜│───── ⎟⎥⎪ ⎪⎢⎜⎷ c₈ ⎟⎥⎪ ℕ ⊆ ℕ₀ ⊂ ℤ ⊂ ℚ ⊂ ℝ ⊂ ℂ, ⎨⎢⎜ ⎟⎥⎬ ⎪⎢⎜ ∞ ⎟⎥⎪ ⊥ < a ≠ b ≡ c ≤ d ≪ ⊤ ⇒ (⟦A⟧ ⇔ ⟪B⟫), ⎪⎢⎜ ⎲ ⎟⎥⎪ ⎪⎢⎜ ⎳aⁱ-bⁱ⎟⎥⎪ 2H₂ + O₂ ⇌ 2H₂O, R = 4.7 kΩ, ⌀ 200 mm ⎩⎣⎝i=1 ⎠⎦⎭
Linguistics and dictionaries ði ıntəˈnæʃənəl fəˈnɛtık əsoʊsiˈeıʃn Y [ˈʏpsilɔn], Yen [jɛn], Yoga [ˈjoːgɑ]
APL ((V⍳V)=⍳⍴V)/V←,V ⌷←⍳→⍴∆∇⊃‾⍎⍕⌈
Nicer typography in plain text files ‘single’ and “double” quotes Curly apostrophes: “We’ve been here” ‚deutsche‘ „Anführungszeichen“ †, ‡, ‰, •, 3–4, —, −5/+5, ™, … ASCII safety test: 1lI|, 0OD, 8B the euro symbol: 14.95 €
Combining characters STARGΛ̊TE SG-1, a = v̇ = r̈, a⃑ ⊥ b⃑
Greek (in Polytonic)
The Greek anthem Σὲ γνωρίζω ἀπὸ τὴν κόψη τοῦ σπαθιοῦ τὴν τρομερή, σὲ γνωρίζω ἀπὸ τὴν ὄψη ποὺ μὲ βία μετράει τὴ γῆ. ᾿Απ᾿ τὰ κόκκαλα βγαλμένη τῶν ῾Ελλήνων τὰ ἱερά καὶ σὰν πρῶτα ἀνδρειωμένη χαῖρε, ὦ χαῖρε, ᾿Ελευθεριά!
From a speech of Demosthenes in the 4th century BC Οὐχὶ ταὐτὰ παρίσταταί μοι γιγνώσκειν, ὦ ἄνδρες ᾿Αθηναῖοι, ὅταν τ᾿ εἰς τὰ πράγματα ἀποβλέψω καὶ ὅταν πρὸς τοὺς λόγους οὓς ἀκούω· τοὺς μὲν γὰρ λόγους περὶ τοῦ τιμωρήσασθαι Φίλιππον ὁρῶ γιγνομένους, τὰ δὲ πράγματ᾿ εἰς τοῦτο προήκοντα, ὥσθ᾿ ὅπως μὴ πεισόμεθ᾿ αὐτοὶ πρότερον κακῶς σκέψασθαι δέον. οὐδέν οὖν ἄλλο μοι δοκοῦσιν οἱ τὰ τοιαῦτα λέγοντες ἢ τὴν ὑπόθεσιν, περὶ ἧς βουλεύεσθαι, οὐχὶ τὴν οὖσαν παριστάντες ὑμῖν ἁμαρτάνειν. ἐγὼ δέ, ὅτι μέν ποτ᾿ ἐξῆν τῇ πόλει καὶ τὰ αὑτῆς ἔχειν ἀσφαλῶς καὶ Φίλιππον τιμωρήσασθαι, καὶ μάλ᾿ ἀκριβῶς οἶδα· ἐπ᾿ ἐμοῦ γάρ, οὐ πάλαι γέγονεν ταῦτ᾿ ἀμφότερα· νῦν μέντοι πέπεισμαι τοῦθ᾿ ἱκανὸν προλαβεῖν ἡμῖν εἶναι τὴν πρώτην, ὅπως τοὺς συμμάχους σώσομεν. ἐὰν γὰρ τοῦτο βεβαίως ὑπάρξῃ, τότε καὶ περὶ τοῦ τίνα τιμωρήσεταί τις καὶ ὃν τρόπον ἐξέσται σκοπεῖν· πρὶν δὲ τὴν ἀρχὴν ὀρθῶς ὑποθέσθαι, μάταιον ἡγοῦμαι περὶ τῆς τελευτῆς ὁντινοῦν ποιεῖσθαι λόγον. Δημοσθένους, Γ´ ᾿Ολυνθιακὸς
Georgian: From a Unicode conference invitationგთხოვთ ახლავე გაიაროთ რეგისტრაცია Unicode-ის მეათე საერთაშორისო კონფერენციაზე დასასწრებად, რომელიც გაიმართება 10-12 მარტს, ქ. მაინცში, გერმანიაში. კონფერენცია შეჰკრებს ერთად მსოფლიოს ექსპერტებს ისეთ დარგებში როგორიცაა ინტერნეტი და Unicode-ი, ინტერნაციონალიზაცია და ლოკალიზაცია, Unicode-ის გამოყენება ოპერაციულ სისტემებსა, და გამოყენებით პროგრამებში, შრიფტებში, ტექსტების დამუშავებასა და მრავალენოვან კომპიუტერულ სისტემებში.
Russian From a Unicode conference invitationЗарегистрируйтесь сейчас на Десятую Международную Конференцию по Unicode, которая состоится 10-12 марта 1997 года в Майнце в Германии. Конференция соберет широкий круг экспертов по вопросам глобального Интернета и Unicode, локализации и интернационализации, воплощению и применению Unicode в различных операционных системах и программных приложениях, шрифтах, верстке и многоязычных компьютерных системах.
Thai (UCS Level 2) Excerpt from a poetry on The Romance of The Three Kingdoms (a Chinese classic San Gua): [----------------------------|------------------------] ๏ แผ่นดินฮั่นเสื่อมโทรมแสนสังเวช พระปกเกศกองบู๊กู้ขึ้นใหม่ สิบสองกษัตริย์ก่อนหน้าแลถัดไป สององค์ไซร้โง่เขลาเบาปัญญา ทรงนับถือขันทีเป็นที่พึ่ง บ้านเมืองจึงวิปริตเป็นนักหนา โฮจิ๋นเรียกทัพทั่วหัวเมืองมา หมายจะฆ่ามดชั่วตัวสำคัญ เหมือนขับไสไล่เสือจากเคหา รับหมาป่าเข้ามาเลยอาสัญ ฝ่ายอ้องอุ้นยุแยกให้แตกกัน ใช้สาวนั้นเป็นชนวนชื่นชวนใจ พลันลิฉุยกุยกีกลับก่อเหตุ ช่างอาเพศจริงหนาฟ้าร้องไห้ ต้องรบราฆ่าฟันจนบรรลัย ฤๅหาใครค้ำชูกู้บรรลังก์ ฯ (The above is a two-column text. If combining characters are handled correctly, the lines of the second column should be aligned with the | character above.)
Ethiopian
Proverbs in the Amharic language ሰማይ አይታረስ ንጉሥ አይከሰስ። ብላ ካለኝ እንደአባቴ በቆመጠኝ። ጌጥ ያለቤቱ ቁምጥና ነው። ደሀ በሕልሙ ቅቤ ባይጠጣ ንጣት በገደለው። የአፍ ወለምታ በቅቤ አይታሽም። አይጥ በበላ ዳዋ ተመታ። ሲተረጉሙ ይደረግሙ። ቀስ በቀስ፥ ዕንቁላል በእግሩ ይሄዳል። ድር ቢያብር አንበሳ ያስር። ሰው እንደቤቱ እንጅ እንደ ጉረቤቱ አይተዳደርም። እግዜር የከፈተውን ጉሮሮ ሳይዘጋው አይድርም። የጎረቤት ሌባ፥ ቢያዩት ይስቅ ባያዩት ያጠልቅ። ሥራ ከመፍታት ልጄን ላፋታት። ዓባይ ማደሪያ የለው፥ ግንድ ይዞ ይዞራል። የእስላም አገሩ መካ የአሞራ አገሩ ዋርካ። ተንጋሎ ቢተፉ ተመልሶ ባፉ። ወዳጅህ ማር ቢሆን ጨርስህ አትላሰው። እግርህን በፍራሽህ ልክ ዘርጋ።
Runes ᚻᛖ ᚳᚹᚫᚦ ᚦᚫᛏ ᚻᛖ ᛒᚢᛞᛖ ᚩᚾ ᚦᚫᛗ ᛚᚪᚾᛞᛖ ᚾᚩᚱᚦᚹᛖᚪᚱᛞᚢᛗ ᚹᛁᚦ ᚦᚪ ᚹᛖᛥᚫ (Old English, which transcribed into Latin reads “He cwaeth that he bude thaem lande northweardum with tha Westsae.” and means “He said that he lived in the northern land near the Western Sea.”)
Braille ⡌⠁⠧⠑ ⠼⠁⠒ ⡍⠜⠇⠑⠹⠰⠎ ⡣⠕⠌ ⡍⠜⠇⠑⠹ ⠺⠁⠎ ⠙⠑⠁⠙⠒ ⠞⠕ ⠃⠑⠛⠔ ⠺⠊⠹⠲ ⡹⠻⠑ ⠊⠎ ⠝⠕ ⠙⠳⠃⠞ ⠱⠁⠞⠑⠧⠻ ⠁⠃⠳⠞ ⠹⠁⠞⠲ ⡹⠑ ⠗⠑⠛⠊⠌⠻ ⠕⠋ ⠙⠊⠎ ⠃⠥⠗⠊⠁⠇ ⠺⠁⠎ ⠎⠊⠛⠝⠫ ⠃⠹ ⠹⠑ ⠊⠇⠻⠛⠹⠍⠁⠝⠂ ⠹⠑ ⠊⠇⠻⠅⠂ ⠹⠑ ⠥⠝⠙⠻⠞⠁⠅⠻⠂ ⠁⠝⠙ ⠹⠑ ⠡⠊⠑⠋ ⠍⠳⠗⠝⠻⠲ ⡎⠊⠗⠕⠕⠛⠑ ⠎⠊⠛⠝⠫ ⠊⠞⠲ ⡁⠝⠙ ⡎⠊⠗⠕⠕⠛⠑⠰⠎ ⠝⠁⠍⠑ ⠺⠁⠎ ⠛⠕⠕⠙ ⠥⠏⠕⠝ ⠰⡡⠁⠝⠛⠑⠂ ⠋⠕⠗ ⠁⠝⠹⠹⠔⠛ ⠙⠑ ⠡⠕⠎⠑ ⠞⠕ ⠏⠥⠞ ⠙⠊⠎ ⠙⠁⠝⠙ ⠞⠕⠲ ⡕⠇⠙ ⡍⠜⠇⠑⠹ ⠺⠁⠎ ⠁⠎ ⠙⠑⠁⠙ ⠁⠎ ⠁ ⠙⠕⠕⠗⠤⠝⠁⠊⠇⠲ ⡍⠔⠙⠖ ⡊ ⠙⠕⠝⠰⠞ ⠍⠑⠁⠝ ⠞⠕ ⠎⠁⠹ ⠹⠁⠞ ⡊ ⠅⠝⠪⠂ ⠕⠋ ⠍⠹ ⠪⠝ ⠅⠝⠪⠇⠫⠛⠑⠂ ⠱⠁⠞ ⠹⠻⠑ ⠊⠎ ⠏⠜⠞⠊⠊⠥⠇⠜⠇⠹ ⠙⠑⠁⠙ ⠁⠃⠳⠞ ⠁ ⠙⠕⠕⠗⠤⠝⠁⠊⠇⠲ ⡊ ⠍⠊⠣⠞ ⠙⠁⠧⠑ ⠃⠑⠲ ⠔⠊⠇⠔⠫⠂ ⠍⠹⠎⠑⠇⠋⠂ ⠞⠕ ⠗⠑⠛⠜⠙ ⠁ ⠊⠕⠋⠋⠔⠤⠝⠁⠊⠇ ⠁⠎ ⠹⠑ ⠙⠑⠁⠙⠑⠌ ⠏⠊⠑⠊⠑ ⠕⠋ ⠊⠗⠕⠝⠍⠕⠝⠛⠻⠹ ⠔ ⠹⠑ ⠞⠗⠁⠙⠑⠲ ⡃⠥⠞ ⠹⠑ ⠺⠊⠎⠙⠕⠍ ⠕⠋ ⠳⠗ ⠁⠝⠊⠑⠌⠕⠗⠎ ⠊⠎ ⠔ ⠹⠑ ⠎⠊⠍⠊⠇⠑⠆ ⠁⠝⠙ ⠍⠹ ⠥⠝⠙⠁⠇⠇⠪⠫ ⠙⠁⠝⠙⠎ ⠩⠁⠇⠇ ⠝⠕⠞ ⠙⠊⠌⠥⠗⠃ ⠊⠞⠂ ⠕⠗ ⠹⠑ ⡊⠳⠝⠞⠗⠹⠰⠎ ⠙⠕⠝⠑ ⠋⠕⠗⠲ ⡹⠳ ⠺⠊⠇⠇ ⠹⠻⠑⠋⠕⠗⠑ ⠏⠻⠍⠊⠞ ⠍⠑ ⠞⠕ ⠗⠑⠏⠑⠁⠞⠂ ⠑⠍⠏⠙⠁⠞⠊⠊⠁⠇⠇⠹⠂ ⠹⠁⠞ ⡍⠜⠇⠑⠹ ⠺⠁⠎ ⠁⠎ ⠙⠑⠁⠙ ⠁⠎ ⠁ ⠙⠕⠕⠗⠤⠝⠁⠊⠇⠲ (The first couple of paragraphs of "A Christmas Carol" by Dickens)
Compact font selection example text ABCDEFGHIJKLMNOPQRSTUVWXYZ /0123456789 abcdefghijklmnopqrstuvwxyz £©µÀÆÖÞßéöÿ –—‘“”„†•…‰™œŠŸž€ ΑΒΓΔΩαβγδω АБВГДабвгд ∀∂∈ℝ∧∪≡∞ ↑↗↨↻⇣ ┐┼╔╘░►☺♀ fi�⑀₂ἠḂӥẄɐː⍎אԱა
Greetings in various languages Hello world, Καλημέρα κόσμε, コンニチハ
Box drawing alignment tests █ ▉ ╔══╦══╗ ┌──┬──┐ ╭──┬──╮ ╭──┬──╮ ┏━━┳━━┓ ┎┒┏┑ ╷ ╻ ┏┯┓ ┌┰┐ ▊ ╱╲╱╲╳╳╳ ║┌─╨─┐║ │╔═╧═╗│ │╒═╪═╕│ │╓─╁─╖│ ┃┌─╂─┐┃ ┗╃╄┙ ╶┼╴╺╋╸┠┼┨ ┝╋┥ ▋ ╲╱╲╱╳╳╳ ║│╲ ╱│║ │║ ║│ ││ │ ││ │║ ┃ ║│ ┃│ ╿ │┃ ┍╅╆┓ ╵ ╹ ┗┷┛ └┸┘ ▌ ╱╲╱╲╳╳╳ ╠╡ ╳ ╞╣ ├╢ ╟┤ ├┼─┼─┼┤ ├╫─╂─╫┤ ┣┿╾┼╼┿┫ ┕┛┖┚ ┌┄┄┐ ╎ ┏┅┅┓ ┋ ▍ ╲╱╲╱╳╳╳ ║│╱ ╲│║ │║ ║│ ││ │ ││ │║ ┃ ║│ ┃│ ╽ │┃ ░░▒▒▓▓██ ┊ ┆ ╎ ╏ ┇ ┋ ▎ ║└─╥─┘║ │╚═╤═╝│ │╘═╪═╛│ │╙─╀─╜│ ┃└─╂─┘┃ ░░▒▒▓▓██ ┊ ┆ ╎ ╏ ┇ ┋ ▏ ╚══╩══╝ └──┴──┘ ╰──┴──╯ ╰──┴──╯ ┗━━┻━━┛ ▗▄▖▛▀▜ └╌╌┘ ╎ ┗╍╍┛ ┋ ▁▂▃▄▅▆▇█ ▝▀▘▙▄▟
asciidoc-py3-9.0.0rc1/tests/data/lang-fr-book-test-xhtml11.html0000644000175000017500000004663313570064211023462 0ustar josephjoseph Languages Test

Dédicace

Dedication special section.

Préface

Preface special section.

Colophon

Colophon special section.

The First Section

Admonishments

Do not translate in the source file — they are translated to the output file

Note
Lorum ipsum.
Astuce
Lorum ipsum.
Attention
Lorum ipsum.
Avertissement
Lorum ipsum.
Important
Lorum ipsum.
Tiger image
Figure 1. Tiger

Followed by an example table:

Tableau 1. Table
Option Description

-a USER GROUP

Add USER to GROUP.

-R GROUP

Disables access to GROUP.

And now for something completely different: monkeys, lions and tigers.

Appendice A: Example Appendix

Appendix special section.

Bibliographie

Bibliography special section.

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.

Glossaire

Glossary special section.

A glossary term

The corresponding (indented) definition.

A second glossary term

The corresponding (indented) definition.


asciidoc-py3-9.0.0rc1/tests/data/music1.md50000644000175000017500000000002013570064211017631 0ustar josephjosephԧxgWA\ZwA-asciidoc-py3-9.0.0rc1/tests/data/lang-ru-test.txt0000644000175000017500000000414613570064211021121 0ustar josephjoseph// Test for lang-ru.conf language file. :lang: ru Languages Test ============== :revnumber: v1.0 :revdate: 2003-12-21 ifdef::doctype-article[] Аннотация --------- Abstract special section. endif::doctype-article[] ifdef::doctype-book[] Посвящение ---------- Dedication special section. Введение -------- Preface special section. Колофон ------- Colophon special section. endif::doctype-book[] The First Section ----------------- Admonishments ~~~~~~~~~~~~~ Do not translate in the source file -- they are translated to the output file NOTE: Lorum ipsum. TIP: Lorum ipsum. WARNING: Lorum ipsum. CAUTION: Lorum ipsum. IMPORTANT: Lorum ipsum. .Tiger image::../../images/tiger.png[Tiger image] Followed by an example table: .Table [width="60%",options="header"] |============================================== | Option | Description | -a 'USER GROUP' | Add 'USER' to 'GROUP'. | -R 'GROUP' | Disables access to 'GROUP'. |============================================== And now for something completely different: ((monkeys)), lions and tigers. Приложение A: Example Appendix ------------------------------ Appendix special section. Библиография ------------ Bibliography special section. [bibliography] - [[[taoup]]] Eric Steven Raymond. 'The Art of Unix Programming'. Addison-Wesley. ISBN 0-13-142901-9. - [[[walsh-muellner]]] Norman Walsh & Leonard Muellner. 'DocBook - The Definitive Guide'. O'Reilly & Associates. 1999. ISBN 1-56592-580-7. Словарь терминов ---------------- Glossary special section. [glossary] A glossary term:: The corresponding (indented) definition. A second glossary term:: The corresponding (indented) definition. ifdef::basebackend-docbook[] Предметный указатель -------------------- //////////////////////////////////////////////////////////////// Index special section. The index is normally left completely empty, it's contents being generated automatically by the DocBook toolchain. //////////////////////////////////////////////////////////////// endif::basebackend-docbook[] asciidoc-py3-9.0.0rc1/tests/data/lang-ro-article-test-html5.html0000644000175000017500000004576613570064211023725 0ustar josephjoseph Languages Test

Abstract

Abstract special section.

The First Section

Admonishments

Do not translate in the source file — they are translated to the output file

Nota
Lorum ipsum.
Suggerimento
Lorum ipsum.
Avvertenza
Lorum ipsum.
Attenzione
Lorum ipsum.
Importante
Lorum ipsum.
Tiger image
Figura 1. Tiger

Followed by an example table:

Tabella 1. Table
Option Description

-a USER GROUP

Add USER to GROUP.

-R GROUP

Disables access to GROUP.

And now for something completely different: monkeys, lions and tigers.

Appendice A: Example Appendix

Appendix special section.

Bibliografia

Bibliography special section.

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.

Glossario

Glossary special section.

A glossary term

The corresponding (indented) definition.

A second glossary term

The corresponding (indented) definition.


asciidoc-py3-9.0.0rc1/tests/data/article-html5.html0000644000175000017500000005152413570064211021400 0ustar josephjoseph The Article Title

This is the optional preamble (an untitled section body). Useful for writing simple sectionless documents consisting only of a preamble.

Note
The abstract, preface, appendix, bibliography, glossary and index section titles are significant (specialsections).

Example Abstract

The optional abstract (one or more paragraphs) goes here.

This document is an AsciiDoc article skeleton containing briefly annotated element placeholders plus a couple of example index entries and footnotes.

1. The First Section

Article sections start at level 1 and can be nested up to four levels deep.
[An example footnote.]

And now for something completely different: monkeys, lions and tigers (Bengal and Siberian) using the alternative syntax index entries. Note that multi-entry terms generate separate index entries.

Here are a couple of image examples: an images/smallnew.png example inline image followed by an example block image:

Tiger image
Figure 1. Tiger block image

Followed by an example table:

Table 1. An example table
Option Description

-a USER GROUP

Add USER to GROUP.

-R GROUP

Disables access to GROUP.

Example 1. An example example

Lorum ipum…

1.1. Sub-section with Anchor

Sub-section at level 2.

1.1.1. A Nested Sub-section

Sub-section at level 3.

Yet another nested Sub-section

Sub-section at level 4.

This is the maximum sub-section depth supported by the distributed AsciiDoc configuration.
[A second example footnote.]

2. The Second Section

Article sections are at level 1 and can contain sub-sections nested up to four deep.

An example link to anchor at start of the first sub-section.

An example link to a bibliography entry [taoup].

Appendix A: Example Appendix

AsciiDoc article appendices are just just article sections with specialsection titles.

Appendix Sub-section

Appendix sub-section at level 2.

Example Bibliography

The bibliography list is a style of AsciiDoc bulleted list.

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.

Example Glossary

Glossaries are optional. Glossaries entries are an example of a style of AsciiDoc labeled lists.

A glossary term

The corresponding (indented) definition.

A second glossary term

The corresponding (indented) definition.


asciidoc-py3-9.0.0rc1/tests/data/open-block-test__1.md50000644000175000017500000000002013570064211022015 0ustar josephjoseph-^5bUasciidoc-py3-9.0.0rc1/tests/data/deprecated-quotes-html5.html0000644000175000017500000003777613570064211023410 0ustar josephjoseph

fun with text. fun with text. fun with text. More fun with text. Yet more fun with text. Yet more fun with text. Yet more fun with text.

Yet more fun with text.

Yet more fun with text.


asciidoc-py3-9.0.0rc1/tests/data/deprecated-quotes-html4.html0000644000175000017500000000176713570064211023376 0ustar josephjoseph

fun with text. fun with text. fun with text. More fun with text. Yet more fun with text. Yet more fun with text. Yet more fun with text.

Yet more fun with text.

Yet more fun with text.


Last updated 2002-11-25 00:37:42 UTC

asciidoc-py3-9.0.0rc1/tests/data/lang-fr-man-test-docbook.xml0000644000175000017500000000210513570064211023243 0ustar josephjoseph ASCIIDOC(1) asciidoc 1     asciidoc converts an AsciiDoc text file to HTML or DocBook asciidoc [OPTIONS] FILE DESCRIPTION The asciidoc(1) command translates the AsciiDoc text file FILE to DocBook or HTML. If FILE is - then the standard input is used. asciidoc-py3-9.0.0rc1/tests/data/lang-en-book-test-docbook.xml0000644000175000017500000000724313570064211023425 0ustar josephjoseph Languages Test 2003-12-21 v1.02003-12-21 Dedication Dedication special section. Preface Preface special section. Colophon Colophon special section. The First Section
Admonishments Do not translate in the source file — they are translated to the output file Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum.
Tiger Tiger image
Followed by an example table: Table Option Description -a USER GROUP Add USER to GROUP. -R GROUP Disables access to GROUP.
And now for something completely different: monkeysmonkeys, lions and tigers.
Example Appendix Appendix special section. Bibliography Bibliography special section. [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9. [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7. Glossary Glossary special section. A glossary term The corresponding (indented) definition. A second glossary term The corresponding (indented) definition. Index
asciidoc-py3-9.0.0rc1/tests/data/lang-hu-book-test-docbook.xml0000644000175000017500000000725513570064211023442 0ustar josephjoseph Languages Test 2003-12-21 v1.02003-12-21 Ajánlás Dedication special section. Előszó Preface special section. Utószó Colophon special section. The First Section
Admonishments Do not translate in the source file — they are translated to the output file Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum.
Tiger Tiger image
Followed by an example table: Table Option Description -a USER GROUP Add USER to GROUP. -R GROUP Disables access to GROUP.
And now for something completely different: monkeysmonkeys, lions and tigers.
Example Appendix Appendix special section. Bibliográfia Bibliography special section. [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9. [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7. Szójegyzék Glossary special section. A glossary term The corresponding (indented) definition. A second glossary term The corresponding (indented) definition. Index
asciidoc-py3-9.0.0rc1/tests/data/lang-en-article-test-html4.html0000644000175000017500000000633213570064211023670 0ustar josephjoseph Languages Test

Languages Test

version v1.0, 2003-12-21


Abstract

Abstract special section.


The First Section

Admonishments

Do not translate in the source file — they are translated to the output file

Note

Lorum ipsum.

Tip

Lorum ipsum.

Warning

Lorum ipsum.

Caution

Lorum ipsum.

Important

Lorum ipsum.
Tiger image

Figure 1. Tiger

Followed by an example table:

Option Description

-a USER GROUP

Add USER to GROUP.

-R GROUP

Disables access to GROUP.

Table 1. Table

And now for something completely different: monkeys, lions and tigers.


Appendix A: Example Appendix

Appendix special section.


Bibliography

Bibliography special section.

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.


Glossary

Glossary special section.

A glossary term

The corresponding (indented) definition.

A second glossary term

The corresponding (indented) definition.


Version v1.0
Last updated 2002-11-25 00:37:42 UTC

asciidoc-py3-9.0.0rc1/tests/data/filters-test-docbook.xml0000644000175000017500000000510213570064211022614 0ustar josephjoseph
Filter Tests
Toy filter example from User Guide ''' A multi-line comment.''' def sub_word(mo): ''' Single line comment.''' word = mo.group('word') # Inline comment if word in keywords[language]: return quote + word + quote else: return word
Pychart Chart generations from FAQ No barchart to avoid depending on Pychart for the tests. See also: http://asciidoc.org/faq.html#_is_it_possible_to_include_charts_in_asciidoc_documents barchart.png
Graphviz Graphs
Simple graph Graphviz->AsciiDoc->HTML
Not so simple graph graphviz2.png
Music filter
A tune generated from ABC notation music1.png
Link to following fragment.
A fragment generated from LilyPond source music2.png
asciidoc-py3-9.0.0rc1/tests/data/lang-uk-article-test-html4.html0000644000175000017500000000663513570064211023713 0ustar josephjoseph Languages Test

Languages Test

version v1.0, 2011-01-30


Анотація

Abstract special section.


The First Section

Admonishments

Do not translate in the source file — they are translated to the output file

Зауваження

Lorum ipsum.

Підказка

Lorum ipsum.

Увага

Lorum ipsum.

Попередження

Lorum ipsum.

Важливо

Lorum ipsum.
Tiger image

Рисунок 1. Tiger

Followed by an example table:

Option Description

-a USER GROUP

Add USER to GROUP.

-R GROUP

Disables access to GROUP.

Таблиця 1. Table

And now for something completely different: monkeys, lions and tigers.


Додаток A: Example Appendix

Appendix special section.


Бібліографія

Bibliography special section.

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.


Словник термінів

Glossary special section.

A glossary term

The corresponding (indented) definition.

A second glossary term

The corresponding (indented) definition.


Версія v1.0
Востаннє оновлено 2002-11-25 00:37:42 UTC

asciidoc-py3-9.0.0rc1/tests/data/lang-hu-book-test-docbook5.xml0000644000175000017500000000730013570064211023516 0ustar josephjoseph Languages Test 2003-12-21 v1.02003-12-21 Ajánlás Dedication special section. Előszó Preface special section. Utószó Colophon special section. The First Section
Admonishments Do not translate in the source file — they are translated to the output file Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum.
Tiger Tiger image
Followed by an example table: Table Option Description -a USER GROUP Add USER to GROUP. -R GROUP Disables access to GROUP.
And now for something completely different: monkeysmonkeys, lions and tigers.
Example Appendix Appendix special section. Bibliográfia Bibliography special section. [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9. [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7. Szójegyzék Glossary special section. A glossary term The corresponding (indented) definition. A second glossary term The corresponding (indented) definition. Index
asciidoc-py3-9.0.0rc1/tests/data/testcases.txt0000644000175000017500000004173113570064211020576 0ustar josephjoseph// // A collection of AsciiDoc test cases. // Test 'Cases' ============ :author: Joe Bloggs // Web page meta data. :title: Test Cases :keywords: AsciiDoc, DocBook, EPUB, slideshow :description: AsciiDoc is a text document format for writing short documents, + articles, books, slideshows and UNIX man pages. :replacements.(\w)'(\w): \1’\2 :test-attribute: TEST_ATTRIBUTE == Passthrough attributes == ifdef::basebackend-docbook[] :passtest: pass:[*lorum ipsum*] endif::basebackend-docbook[] ifdef::basebackend-html[] :passtest: pass:[*lorum ipsum*] endif::basebackend-html[] {passtest} ifdef::basebackend-docbook[] :passtest: pass:specialcharacters,quotes[*lorum ipsum*] endif::basebackend-docbook[] ifdef::basebackend-html[] :passtest: pass:specialcharacters,quotes[*lorum ipsum*] endif::basebackend-html[] {passtest} == Author attributes == \{eval:expression}, \{sys:command} and \{sys2:command}, \{counter:c1} Hello *{author}* ({firstname} {lastname}, {authorinitials}). {firstname,lastname,surname#}first name or last name or surname. {firstname+lastname+surname#}first name and last name and surname. {firstname+lastname#}first name and last name. == System attributes == {counter:c1} {counter:c2:99} {counter:c3:A} {c1} = 1, {c2} = 99, {c3} = A {counter:c1} {counter:c2:99} {counter:c3:A} {c1} {c2} {c3} {c1} = 2, {c2} = 100, {c3} = B {set:y:Foobar} y: {y} {set:y!} y: {y} :x: 3 :y: {eval:{x}+4} {x}, {y} {set:y:{x}} {x}, {y} == Quoted text attributes == A=_X_, (_X_), _X_, [_X_] _X_ A=*_X_*, (`_X_`), _`X`_, [*_X_*] +_X_+ _X_ // These two illustrate that nesting doesn't always work. [_*X*_] _+X+_ [[_intro]] <<_intro>> <<_intro,intro>> xref:_intro[] _intro_ // Quote attributes. [foo]#fun with text#. [foo bar]*fun with text*. [foo]+fun with text+. [foo]_fun with text_. [foo]'fun with text'. [foo]``fun with text''. [foo]`fun with text'. [foo]$$fun with text$$. [foo]+++fun with text+++. [red]#Obvious# and [big red yellow-background]*very obvious*. [underline]#Underline text#, [overline]#overline text# and [line-through]#line-through text#. [firstletter]##T##esting 123 ... (``+1\n+'') if (usually ``+-1\n+'') (``++1\n++'') if (usually ``++-1\n++'') (`{author}') and `{author}' == Configuration attribute entries == :listdef-labeled.style: horizontal term:: definition :listdef-labeled.style: vertical term:: definition ifdef::backend-xhtml11[] <> :xref2-inlinemacro.: {2?{2}} <> :xref2-inlinemacro.: {2=[{1}]} endif::[] == role attribute == [role="test"] Paragraph with a role attribute. [role="test"] - first - second - third == Break list nesting == 1. List 1. 2. List 1. // New list. a. List 2. b. List 2. == Listing Blocks == [subs="quotes"] ------------------------------------------ $ ls *-al* ------------------------------------------ [listing] .......................................... [subs="quotes"] ------------------------------------------ $ ls *-al* ------------------------------------------ .......................................... .Listing ------------------------------------------ $ ls -al ------------------------------------------ .Listing example ========================================== ------------------------------------------ $ ls -al ------------------------------------------ ========================================== .Python paragraph [source,python] if n < 0: print 'Hello World!' .Titled Python listing [source,python] ------------------------------------------ if n < 0: print 'Hello World!' ------------------------------------------ .Python listing example ========================================== [source,python] ------------------------------------------ if n < 0: print 'Hello World!' ------------------------------------------ ========================================== [[X1,anchor reftext]] == Links == An [[X2]] inline anchor. An [[X3, anchor reftext]] inline anchor with reftext. <>; captioned link to <>. <> link to inline anchor; captioned link to <>. Link to <> anchor. An example link to a bibliography entry <>. [horizontal] [[[Test::Unit]]]:: http://ruby-doc.org/stdlib/libdoc/test/unit/rdoc/classes/Test/Unit.html == Titles == [float] ===== Level 4 ===== [float] ==== Level 3 ==== [float] === Level 2 === [float] == Level 1 == [float] Level 4 +++++++ [float] Level 3 ^^^^^^^ [float] Level 2 ~~~~~~~ [float] Level 1 ------- .Block title Lorum ipsum. == Lists == Bulleted: - item text * item text ** item text *** item text **** item text ***** item text Numbered: 1. arabic (decimal) numbering a. loweralpha numbering A. upperalpha numbering i) lowerroman numbering I) upperroman numbering . arabic (decimal) numbering .. loweralpha numbering ... lowerroman numbering .... upperalpha numbering ..... upperroman numbering Labeled: label:: item text label;; item text label::: item text label:::: item text With item anchor: one:: Item one. [[item_two]]two:: Item two. three:: Item three. == Inline passthroughs == - Test pass:[`ABC`]. - Test `pass:[ABC]`. - The `++i` and `++j` auto-increments. - Paths `~/.vim` and `~/docs`. - The `__init__` method. - The `{id}` attribute. List start number test: // The ol start attribute is not valid XHTML 1.1 (but it works in all // browsers). ifndef::backend-xhtml11[] [start=7] . List item 7. . List item 8. endif::backend-xhtml11[] == Images === Block images [[tiger_image]] .Tyger tyger image::../../images/tiger.png[Tyger tyger] :height: 250 :width: 350 .Tyger tyger two image::../../images/tiger.png[caption="Figure 2: ", alt="Tiger", align="center"] :height!: :width!: // Images and icons directories. :imagesdir: ../../doc image::music2.png[] :icons: :iconsdir: ../../images/icons NOTE: Lorum ipsum. :icons!: ifdef::backend-xhtml11[] :imagesdir: ../../images :data-uri: image:smallnew.png[NEW] 'testing' `123`. endif::[] :data-uri!: === Inline images :imagesdir: ../../images Inline image image:smallnew.png[] Inline image image:smallnew.png[NEW!] Inline image image:smallnew.png["NEW!",title="Small new"] == Admonishments NOTE: Lorum ipsum. TIP: Lorum ipsum. WARNING: Lorum ipsum. CAUTION: Lorum ipsum. IMPORTANT: Lorum ipsum. // With icon images. :icons: :iconsdir: ../../images/icons NOTE: Lorum ipsum. TIP: Lorum ipsum. WARNING: Lorum ipsum. CAUTION: Lorum ipsum. IMPORTANT: Lorum ipsum. :icons!: == Backslash escapes .Apostrophe Don't vs don\'t. .Exceptions There are a number of exceptions to the usual single backslash rule -- mostly relating to URL macros that have two syntaxes or quoting ambiguity. Here are some non-standard escape examples: [cols="l,v",width="40%",options="header"] |======================================== |AsciiDoc | Renders 2*| \joe.bloggs@example.com <\joe.bloggs@example.com> \mailto:[\joe.bloggs@example.com] 2*| \http://www.example.com \\http://www.example.com[] \\http://www.example.com[Foobar Limited] 2*| A C\++ Library for C++ \\``double-quotes'' \*\*F**ile Open\... |======================================== == Paragraphs .Normal paragraph This is a *bold* a line This is a 'strong' line This is another _strong_ line .Literal paragraph [literal] This is a *bold* a line This is a 'strong' line This is another _strong_ line .Verse paragraph [verse] This is a *bold* a line This is a 'strong' line This is another _strong_ line .Indented (literal) paragraph This is a *bold* a line This is a 'strong' line This is another _strong_ line .Indented with quotes substitution [subs="quotes"] This is a *bold* a line This is a 'strong' line This is another _strong_ line .Literal paragraph with quotes substitution ["literal",subs="quotes"] This is a *bold* a line This is a 'strong' line This is another _strong_ line ifndef::basebackend-docbook[] .Monospaced paragraph with line breaks +This is a *bold* line+ + +This is a 'strong' line+ + +This is another _strong_ line+ .Another monospaced paragraph with line breaks +This is a *bold* a line + This is a 'strong' line + This is another _strong_ line+ endif::basebackend-docbook[] .Literal block with quotes substitution [subs="quotes"] ............................. This is a *bold* a line This is a 'strong' line This is another _strong_ line ............................. [verse, William Blake, from Auguries of Innocence] To see a world in a grain of sand, And a heaven in a wild flower, Hold infinity in the palm of your hand, And eternity in an hour. [quote, Bertrand Russell, The World of Mathematics (1956)] A good notation has subtlety and suggestiveness which at times makes it almost seem like a live teacher. URLs ---- Mail Addresses ~~~~~~~~~~~~~~ joe_bloggs@mail_server.com_ joe-bloggs@mail-server.com. joe-bloggs@mail-server.com,joe-bloggs@mail-server.com, mailto:joe-bloggs@mail-server.com[Mail] mailto:joe_bloggs@mail_server.com[Mail] mailto:joe.bloggs@mail.server.com[Mail] joe.bloggs@mail.server.com + lorum ipsum. Comments -------- ///////////////////////////////////////////////////////////////////// A comment block. ///////////////////////////////////////////////////////////////////// // This is a comment line. Qui in magna commodo, est labitur dolorum an. Est ne magna primis. // Inline comment line. adolescens. Sit munere ponderum dignissim et. Minim luptatum et. :showcomments: // This comment line will be displayed in the output. Qui in magna commodo, est labitur dolorum an. Est ne magna primis. // Visible inline comment line. adolescens. Sit munere ponderum dignissim et. Minim luptatum et. ///////////////////////////////////////////////////////////////////// Comment blocks are never displayed in the output. ///////////////////////////////////////////////////////////////////// :showcomments!: [[comment_macro]] .Block title // Block macro comment does not consume titles or attributes. Lorum ipsum. [[comment_block]] .Block title ///////////////////////////////////////////////////////////////////// Delimited comment block does not consume titles or attributes. ///////////////////////////////////////////////////////////////////// Lorum ipsum. ifdef::basebackend-docbook[] [glossary] List of terms ------------- Using positional attribute to specify section template. [glossary] A glossary term:: The corresponding (indented) definition. A second glossary term:: The corresponding (indented) definition. [template="glossary"] List of terms ------------- Using named 'template' attribute to specify section template. [glossary] A glossary term:: The corresponding (indented) definition. A second glossary term:: The corresponding (indented) definition. endif::basebackend-docbook[] Index Terms ----------- Test 1 ((test1)). Test 2 (((test2))). Test 3 (((test3,secondary))). Test 4 (((test4,secondary,tertiary))). Test 5 indexterm2:[test5]. Test 6 indexterm:[test6]. Test 7 indexterm:[test7,secondary]. Test 8 indexterm:[test8,secondary,tertiary]. Multi-passthough substitution (see http://groups.google.com/group/asciidoc/browse_frm/thread/1269dc2feb1a482c) ((`foo`)) (((foo,`bar`))) (((foo,`bar`,`two`))) Table with fractional column width units ---------------------------------------- NOTE: 'pagewidth' and 'pageunits' only apply to DocBook outputs. :miscellaneous.pagewidth: 17.5 :miscellaneous.pageunits: cm .Horizontal and vertical source data [width="50%",cols="3,^2,^2,10",options="header"] |========================================================= |Date |Duration |Avg HR |Notes |22-Aug-08 |10:24 | 157 | Worked out MSHR (max sustainable heart rate) by going hard for this interval. |22-Aug-08 |23:03 | 152 | Back-to-back with previous interval. |24-Aug-08 |40:00 | 145 | Moderately hard interspersed with 3x 3min intervals (2min hard + 1min really hard taking the HR up to 160). |========================================================= == Table with parent configuration file and header attribute entry [cols="asciidoc"] |==== | - Attribute entry from header: {test-attribute} - Replacement from `testcases.conf` configuration file: test-replacement |==== == Table column specifiers with merged cells See http://groups.google.com/group/asciidoc/browse_thread/thread/c9238380a1f2507a [cols="<1m,>1,^1s, ^1e"] |============================================ .2+| .2+|1- A 2+|2- B |i- a |ii- b |Values 1 |v1 |v2 |v3 |Values 2 |v4 |v5 |v6 |============================================ Floating tables and images -------------------------- .Simple table [float="left",width="15%"] |======= |1 |2 |A |3 |4 |B |5 |6 |C |======= .Tiger [float="right"] image::images/tiger.png["Tiger image"] unfloat::[] Section level offsets --------------------- At level 1 :leveloffset: -1 Section title ^^^^^^^^^^^^^ At level 2 :leveloffset: 0 Section title ~~~~~~~~~~~~~ At level 2 :leveloffset: 2 Section title ------------- At level 3 :leveloffset!: :numbered!: Section level offsets --------------------- At level 1 Single-quoted attributes ------------------------ [quote,'http://en.wikipedia.org/wiki/Samuel_Johnson[Samuel Johnson]'] _____________________________________________________________________ Sir, a woman's preaching is like a dog's walking on his hind legs. It is not done well; but you are surprised to find it done at all. _____________________________________________________________________ ["quote","'http://en.wikipedia.org/wiki/Samuel_Johnson[Samuel Johnson]'"] _____________________________________________________________________ Sir, a woman's preaching is like a dog's walking on his hind legs. It is not done well; but you are surprised to find it done at all. _____________________________________________________________________ Footnotes --------- Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel. footnote:[footnote one. Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel. Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel.] Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel. footnoteref:["F2","footnote two. Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel."] Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel footnoteref:[F2]. Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel. footnote:[http://asciidoc.org/ Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel image:images/smallnew.png[]] Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel. footnote:[http://asciidoc.org/] Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel footnote:[http://asciidoc.org/[AsciiDoc website].]. Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et footnoteref:[F3,A footnote, "with an image" image:images/smallnew.png[]]. footnote:[With [square brackets\]] Qui in magna commodo, est labitur dolorum an. Est ne magna primis. Rulers and page breaks ---------------------- Lorum ipsum... '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Lorum ipsum... <<< Lorum ipsum... 这是一个测试 ------------ Double-with character titles. <<_这是一个测试,link to auto-generated section ID>>. ifdef::backend-html5[] HTML 5 audio and video block macros ----------------------------------- audio::images/example.ogg[] .Audio tag test audio::images/example.ogg[] video::images/gizmo.ogv[width=200,options="nocontrols,autoplay"] .Example video video::images/gizmo.ogv[] video::http://www.808.dk/pics/video/gizmo.ogv[] ++++ ++++ endif::backend-html5[] == Block macros :rs458: 2 ifeval::[{rs458}==2] RS458 is 2. endif::[] ifeval::[not ({rs458}==2)] This will not be processed. endif::[] // Test eval block macro. eval::[Section.setlevel(1)] // Test template concatenation. {template:test-template} // Test ascii-ids attribute. :ascii-ids: == àn îd without accénts Lorum ipsum... :ascii-ids!: == àn îd with accénts Lorum ipsum... == Inline macros http://groups.google.com/group/asciidoc/[A URL with [square brackets\]]. asciidoc-py3-9.0.0rc1/tests/data/newtables-docbook.xml0000644000175000017500000012237213570064211022164 0ustar josephjoseph
AsciiDoc New tables New in version 8.3.0 I’ve finally come up with a new tables syntax that I’m happy with and can at last remove this footnote from the User Guide: “The current table syntax is overly complicated and unwieldy to edit, hopefully a more usable syntax will appear in future versions of AsciiDoc.” Update The following additions were made at AsciiDoc 8.4.4: Cell column and row spanning. Styles can be applied per cell. Vertical cell alignment can be applied to columns and cells. See the examples at the end of this document. At first glance it doesn’t look much different to the old syntax but it’s a lot more flexible, easier to enter and supports a lot of column styles (for example the asciidoc style supports AsciiDoc block and inline elements). The old tables syntax has been deprecated but is currently still processed. Here are some examples of AsciiDoc new tables: Simple table 1 2 A 3 4 B 5 6 C
AsciiDoc source [width="15%"] |======= |1 |2 |A |3 |4 |B |5 |6 |C |======= Table with title, header and footer Column 1 Column 2 6 Three items 1 Item 1 2 Item 2 3 Item 3
AsciiDoc source .An example table [width="40%",frame="topbot",options="header,footer"] |====================== |Column 1 |Column 2 |1 |Item 1 |2 |Item 2 |3 |Item 3 |6 |Three items |====================== Columns formatted with strong, monospaced and emphasis styles Columns 2 and 3 footer 1 footer 2 footer 3 1 Item 1 Item 1 2 Item 2 Item 2 3 Item 3 Item 3 4 Item 4 Item 4
AsciiDoc source .An example table [width="50%",cols=">s,^2m,^2e",frame="topbot",options="header,footer"] |========================== | 2+|Columns 2 and 3 |1 |Item 1 |Item 1 |2 |Item 2 |Item 2 |3 |Item 3 |Item 3 |4 |Item 4 |Item 4 |footer 1|footer 2|footer 3 |========================== A table with externally sourced CSV data ID Customer Name Contact Name Customer Address Phone AROUT Around the Horn Thomas Hardy 120 Hanover Sq. London (171) 555-7788 BERGS Berglunds snabbkop Christina Berglund Berguvsvagen 8 Lulea 0921-12 34 65 BLAUS Blauer See Delikatessen Hanna Moos Forsterstr. 57 Mannheim 0621-08460 BLONP Blondel pere et fils Frederique Citeaux 24, place Kleber Strasbourg 88.60.15.31 BOLID Bolido Comidas preparadas Martin Sommer C/ Araquil, 67 Madrid (91) 555 22 82 BONAP Bon app' Laurence Lebihan 12, rue des Bouchers Marseille 91.24.45.40 BOTTM Bottom-Dollar Markets Elizabeth Lincoln 23 Tsawassen Blvd. Tsawassen (604) 555-4729 BSBEV B’s Beverages Victoria Ashworth Fauntleroy Circus London (171) 555-1212 CACTU Cactus Comidas para llevar Patricio Simpson Cerrito 333 Buenos Aires (1) 135-5555
AsciiDoc source [format="csv",cols="^1,4*2",options="header"] |=================================================== ID,Customer Name,Contact Name,Customer Address,Phone include::customers.csv[] |=================================================== DVS formatted table root x 0 0 root /root /bin/bash daemon x 1 1 daemon /usr/sbin /bin/sh bin x 2 2 bin /bin /bin/sh sys x 3 3 sys /dev /bin/sh sync x 4 65534 sync /bin /bin/sync games x 5 60 games /usr/games /bin/sh
AsciiDoc source [width="70%",format="dsv"] |==================================== root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/bin/sh bin:x:2:2:bin:/bin:/bin/sh sys:x:3:3:sys:/dev:/bin/sh sync:x:4:65534:sync:/bin:/bin/sync games:x:5:60:games:/usr/games:/bin/sh |==================================== Horizontal and vertical source data Date Duration Avg HR Notes 22-Aug-08 10:24 157 Worked out MSHR (max sustainable heart rate) by going hard for this interval. 22-Aug-08 23:03 152 Back-to-back with previous interval. 24-Aug-08 40:00 145 Moderately hard interspersed with 3x 3min intervals (2min hard + 1min really hard taking the HR up to 160).
Short cells can be entered horizontally, longer cells vertically. The default behavior is to strip leading and trailing blank lines within a cell. These characteristics aid readability and data entry. AsciiDoc source .Windtrainer workouts [width="80%",cols="3,^2,^2,10",options="header"] |========================================================= |Date |Duration |Avg HR |Notes |22-Aug-08 |10:24 | 157 | Worked out MSHR (max sustainable heart rate) by going hard for this interval. |22-Aug-08 |23:03 | 152 | Back-to-back with previous interval. |24-Aug-08 |40:00 | 145 | Moderately hard interspersed with 3x 3min intervals (2min hard + 1min really hard taking the HR up to 160). |========================================================= Default and verse styles Default paragraphs Centered verses Per id. Consul necessitatibus per id, consetetur, eu pro everti postulant homero verear ea mea, qui. Consul necessitatibus per id, consetetur, eu pro everti postulant homero verear ea mea, qui. Per id. Consul necessitatibus per id, consetetur, eu pro everti postulant homero verear ea mea, qui. Consul necessitatibus per id, consetetur, eu pro everti postulant homero verear ea mea, qui.
AsciiDoc source [cols=",^v",options="header"] |=================================== |Default paragraphs |Centered verses 2*|Per id. Consul *necessitatibus* per id, consetetur, eu pro everti postulant homero verear ea mea, qui. Consul *necessitatibus* per id, consetetur, eu pro everti postulant homero verear ea mea, qui. |=================================== Horizontal and vertial headings West Central East Total Q1 270 292 342 904 Q2 322 276 383 981 Q3 298 252 274 824 Q4 344 247 402 993
AsciiDoc source .Horizontal and vertial headings [cols="h,4*",options="header",width="50%"] |================================== | |West |Central |East | Total |Q1 |270 |292 |342 | 904 |Q2 |322 |276 |383 | 981 |Q3 |298 |252 |274 | 824 |Q4 |344 |247 |402 | 993 |================================== AsciiDoc style in first column, Literal in second Output markup AsciiDoc source Consul necessitatibus per id, consetetur, eu pro everti postulant homero verear ea mea, qui. Consul *necessitatibus* per id, consetetur, eu pro everti postulant homero verear ea mea, qui. Code filter example ''' A multi-line comment.''' def sub_word(mo): ''' Single line comment.''' word = mo.group('word') if word in keywords[language]: return quote + word + quote else: return word Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Fusce euismod commodo velit. Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel. Vivamus fringilla mi eu lacus. Donec eget arcu bibendum nunc consequat lobortis. Nulla porttitor vulputate libero. Fusce euismod commodo velit. Vivamus fringilla mi eu lacus. Consul *necessitatibus* per id, consetetur, eu pro everti postulant homero verear ea mea, qui. ----------------------------------- Consul *necessitatibus* per id, consetetur, eu pro everti postulant homero verear ea mea, qui. ----------------------------------- .Code filter example [source,python] ----------------------------------- ''' A multi-line comment.''' def sub_word(mo): ''' Single line comment.''' word = mo.group('word') if word in keywords[language]: return quote + word + quote else: return word ----------------------------------- - Lorem ipsum dolor sit amet, consectetuer adipiscing elit. * Fusce euismod commodo velit. * Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel. * Vivamus fringilla mi eu lacus. * Donec eget arcu bibendum nunc consequat lobortis. - Nulla porttitor vulputate libero. . Fusce euismod commodo velit. . Vivamus fringilla mi eu lacus.
AsciiDoc source [cols="asciidoc,literal",options="header",grid="cols"] |================================== |Output markup |AsciiDoc source 2*| Consul *necessitatibus* per id, consetetur, eu pro everti postulant homero verear ea mea, qui. ----------------------------------- Consul *necessitatibus* per id, consetetur, eu pro everti postulant homero verear ea mea, qui. ----------------------------------- .Code filter example [source,python] ----------------------------------- ''' A multi-line comment.''' def sub_word(mo): ''' Single line comment.''' word = mo.group('word') if word in keywords[language]: return quote + word + quote else: return word ----------------------------------- - Lorem ipsum dolor sit amet, consectetuer adipiscing elit. * Fusce euismod commodo velit. * Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel. * Vivamus fringilla mi eu lacus. * Donec eget arcu bibendum nunc consequat lobortis. - Nulla porttitor vulputate libero. . Fusce euismod commodo velit. . Vivamus fringilla mi eu lacus. |================================== Cell containing lots of example markup elements URLs: The AsciiDoc home page, http://asciidoc.org/, email Joe Bloggs, joe.bloggs@example.com, joe.bloggs. Link: See AsciiDoc source. Emphasized text, Strong text, Monospaced text, “Quoted text”. Subscripts and superscripts: eπi+1 = 0. H2O and x10. Some super text and some sub text Replacements: © copyright, ™ trademark, ® registered trademark, — em dash, … ellipsis, → right arrow, ← left arrow, ⇒ right double arrow, ⇐ left double arrow.
AsciiDoc source |==================================================================== |'URLs': http://asciidoc.org/[The AsciiDoc home page], http://asciidoc.org/, mailto:joe.bloggs@example.com[email Joe Bloggs], joe.bloggs@example.com, callto:joe.bloggs[]. 'Link': See <<X1,AsciiDoc source>>. 'Emphasized text', *Strong text*, +Monospaced text+, ``Quoted text''. 'Subscripts and superscripts': e^{amp}#960;i^+1 = 0. H~2~O and x^10^. Some ^super text^ and ~some sub text~ 'Replacements': (C) copyright, (TM) trademark, (R) registered trademark, -- em dash, ... ellipsis, -> right arrow, <- left arrow, => right double arrow, <= left double arrow. |==================================================================== Nested table Normal cell Cell with nested table Nested table cell 1 Nested table cell 2
AsciiDoc source [width="75%",cols="1,2a"] |============================================== |Normal cell |Cell with nested table [cols="2,1"] !============================================== !Nested table cell 1 !Nested table cell 2 !============================================== |============================================== Spans, alignments and styles 1 2 3 4 5 6 7 8 9 10
AsciiDoc source .Spans, alignments and styles [cols="e,m,^,>s",width="25%"] |================ |1 >s|2 |3 |4 ^|5 2.2+^.^|6 .3+<.>m|7 ^|8 |9 2+>|10 |================ Three panes Top Left Pane Consul necessitatibus per id, consetetur, eu pro everti postulant homero verear ea mea, qui. Consul necessitatibus per id, consetetur, eu pro everti postulant homero verear ea mea, qui. Right Pane Consul necessitatibus per id, consetetur, eu pro everti postulant homero verear ea mea, qui. Consul *necessitatibus* per id, consetetur, eu pro everti postulant homero verear ea mea, qui. Code filter example ''' A multi-line comment.''' def sub_word(mo): ''' Single line comment.''' word = mo.group('word') if word in keywords[language]: return quote + word + quote else: return word Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Fusce euismod commodo velit. Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel. Vivamus fringilla mi eu lacus. Donec eget arcu bibendum nunc consequat lobortis. Nulla porttitor vulputate libero. Fusce euismod commodo velit. Vivamus fringilla mi eu lacus. Bottom Left Pane Consul necessitatibus per id, consetetur, eu pro everti postulant homero verear ea mea, qui. Consul necessitatibus per id, consetetur, eu pro everti postulant homero verear ea mea, qui. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Fusce euismod commodo velit. Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel. Vivamus fringilla mi eu lacus. Donec eget arcu bibendum nunc consequat lobortis. Nulla porttitor vulputate libero. Fusce euismod commodo velit. Vivamus fringilla mi eu lacus.
AsciiDoc source .Three panes [cols="a,2a"] |================================== | [float] Top Left Pane ~~~~~~~~~~~~~ Consul *necessitatibus* per id, consetetur, eu pro everti postulant homero verear ea mea, qui. Consul *necessitatibus* per id, consetetur, eu pro everti postulant homero verear ea mea, qui. .2+| [float] Right Pane ~~~~~~~~~~ Consul *necessitatibus* per id, consetetur, eu pro everti postulant homero verear ea mea, qui. ----------------------------------- Consul *necessitatibus* per id, consetetur, eu pro everti postulant homero verear ea mea, qui. ----------------------------------- .Code filter example [source,python] ----------------------------------- ''' A multi-line comment.''' def sub_word(mo): ''' Single line comment.''' word = mo.group('word') if word in keywords[language]: return quote + word + quote else: return word ----------------------------------- - Lorem ipsum dolor sit amet, consectetuer adipiscing elit. * Fusce euismod commodo velit. * Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel. * Vivamus fringilla mi eu lacus. * Donec eget arcu bibendum nunc consequat lobortis. - Nulla porttitor vulputate libero. . Fusce euismod commodo velit. . Vivamus fringilla mi eu lacus. | [float] Bottom Left Pane ~~~~~~~~~~~~~~~~ Consul *necessitatibus* per id, consetetur, eu pro everti postulant homero verear ea mea, qui. Consul *necessitatibus* per id, consetetur, eu pro everti postulant homero verear ea mea, qui. - Lorem ipsum dolor sit amet, consectetuer adipiscing elit. * Fusce euismod commodo velit. * Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel. * Vivamus fringilla mi eu lacus. * Donec eget arcu bibendum nunc consequat lobortis. - Nulla porttitor vulputate libero. . Fusce euismod commodo velit. . Vivamus fringilla mi eu lacus. |==================================
Combinations of <emphasis>align</emphasis>, <emphasis>frame</emphasis>, <emphasis>grid</emphasis>, <emphasis>valign</emphasis> and <emphasis>halign</emphasis> attributes frame grid valign halign       all all top left AsciiDoc source :frame: all :grid: all :halign: left :valign: top [options="header"] |==== ||frame | grid |valign |halign v|&nbsp; &nbsp; &nbsp; |{frame} | {grid} |{valign} |{halign} |==== Table test frame grid valign halign       sides rows middle center
AsciiDoc source :frame: sides :grid: rows :halign: center :valign: middle .Table test [width="50%",options="header"] |==== ||frame | grid |valign |halign v|&nbsp; &nbsp; &nbsp; |{frame} | {grid} |{valign} |{halign} |==== frame grid valign halign       topbot cols bottom right AsciiDoc source :frame: topbot :grid: cols :halign: right :valign: bottom [align="right",width="50%",options="header"] |==== ||frame | grid |valign |halign v|&nbsp; &nbsp; &nbsp; |{frame} | {grid} |{valign} |{halign} |==== frame grid valign halign       none none top left AsciiDoc source :frame: none :grid: none :halign: left :valign: top [align="center",width="50%",options="header"] |==== ||frame | grid |valign |halign v|&nbsp; &nbsp; &nbsp; |{frame} | {grid} |{valign} |{halign} |====
asciidoc-py3-9.0.0rc1/tests/data/lang-ja-article-test-docbook.xml0000644000175000017500000000663413570064211024111 0ustar josephjoseph
Languages Test 2003-12-21 v1.02003-12-21 概要セクション
第一セクション
警告 以下は処理系が翻訳するのでこのソースでは翻訳しない。 Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum.
Tiger 虎の絵
続いて表の例。 Table オプション 説明 -a USER GROUP USERGROUP に追加する -R GROUP GROUP へのアクセスを禁止する
そしてまったく異なるものの例: 猿、ライオン、虎。
付録の例 付録セクション 参考文献 参考文献セクション [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9. [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7. 用語集 用語集セクション 用語 (インデントされた)用語の定義 別の用語 (インデントされた)用語の定義 索引
asciidoc-py3-9.0.0rc1/tests/data/music2.png0000644000175000017500000000220513570064211017740 0ustar josephjosephPNG  IHDR!,QLIDAThZKn0qHa5t!^ еV>,JJbÏuSm8_^%-a|wb3Ý  B"Hm)Kݖ1p\6HO}m=$!˞-͈:`<$LkQYnxDk{ RʜPSqXEUvTea(cT}˳YX$ϐox I0`}1/ QmCmey/A"Ceca]ղʲ9*O?U֩ߓPzB0-[![uX;9yO:ߤbht1V1c aw-#%jz Llur>٦ɖH n?T8u_-Sm?z^=cewumS}<2Ox_xD6kWfZ\|!B][Weɋ<t2sTvImXe-:f0D-N&LpxCQ&W9g0D Lsp삡g@ՠЬ2X Lp%3c~eHbV^ ne+[d(8nh]Ӹ>Bk+}E& Languages Test 2003-12-21 v1.02003-12-21 Dedica Dedication special section. Prefazione Preface special section. Colofone Colophon special section. The First Section
Admonishments Do not translate in the source file — they are translated to the output file Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum.
Tiger Tiger image
Followed by an example table: Table Option Description -a USER GROUP Add USER to GROUP. -R GROUP Disables access to GROUP.
And now for something completely different: monkeysmonkeys, lions and tigers.
Example Appendix Appendix special section. Bibliografia Bibliography special section. [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9. [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7. Glossario Glossary special section. A glossary term The corresponding (indented) definition. A second glossary term The corresponding (indented) definition. Index
asciidoc-py3-9.0.0rc1/tests/data/open-block-test-html4.html0000644000175000017500000000720013570064211022752 0ustar josephjoseph Additional Open Block and Paragraph styles

Additional Open Block and Paragraph styles

Lorum ipsum…

Lorum ipsum…

Lorum ipsum…

Lorum ipsum…

A title

Lorum ipsum…

Lorum ipsum…

Note

Lorum ipsum…

Lorum ipsum…

Caution

Lorum ipsum…

Lorum ipsum…

Important

Lorum ipsum…

Lorum ipsum…

Warning

Lorum ipsum…

Lorum ipsum…

Tip

Lorum ipsum…

Lorum ipsum…

As he spoke there was the sharp sound of horses' hoofs and grating wheels against the curb, followed by a sharp pull at the bell. Holmes whistled.

"A pair, by the sound," said he. "Yes," he continued, glancing out of the window. "A nice little brougham and a pair of beauties. A hundred and fifty guineas apiece. There’s money in this case, Watson, if there is nothing else."

The Adventures of Sherlock Holmes
— Sir Arthur Conan Doyle

To see a world in a grain of sand,
And a heaven in a wild flower,
Hold infinity in the palm of your hand,
And eternity in an hour.

from Auguries of Innocence
— William Blake

y = 15

if y == 24:
    x = 42
open-block-test__1.png
open-block-test__2.png
open-block-test__3.png


Last updated 2002-11-25 00:37:42 UTC

asciidoc-py3-9.0.0rc1/tests/data/lang-es-man-test.txt0000644000175000017500000000057413570064211021654 0ustar josephjoseph// Test for lang-es.conf language file. :lang: es ASCIIDOC(1) =========== :doctype: manpage NAME ---- asciidoc - converts an AsciiDoc text file to HTML or DocBook SINOPSIS -------- *asciidoc* ['OPTIONS'] 'FILE' DESCRIPTION ----------- The asciidoc(1) command translates the AsciiDoc text file 'FILE' to DocBook or HTML. If 'FILE' is '-' then the standard input is used. ... asciidoc-py3-9.0.0rc1/tests/data/lang-sv-article-test-html4.html0000644000175000017500000000634513570064211023722 0ustar josephjoseph Languages Test

Languages Test

version v1.0, 2003-12-21


Sammanfattning

Abstract special section.


The First Section

Admonishments

Do not translate in the source file — they are translated to the output file

Not

Lorum ipsum.

Tips

Lorum ipsum.

Varning

Lorum ipsum.

Varning

Lorum ipsum.

Viktigt

Lorum ipsum.
Tiger image

Figur 1. Tiger

Followed by an example table:

Option Description

-a USER GROUP

Add USER to GROUP.

-R GROUP

Disables access to GROUP.

Tabell 1. Table

And now for something completely different: monkeys, lions and tigers.


Appendix A: Exempel-appendix

Appendix special section.


Referenser

Bibliography special section.

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.


Ordlista

Glossary special section.

A glossary term

The corresponding (indented) definition.

A second glossary term

The corresponding (indented) definition.


Version v1.0
Senast uppdaterad 2002-11-25 00:37:42 UTC

asciidoc-py3-9.0.0rc1/tests/data/lang-de-man-test-docbook5.xml0000644000175000017500000000171213570064211023314 0ustar josephjoseph ASCIIDOC(1) asciidoc 1     asciidoc converts an AsciiDoc text file to HTML or DocBook asciidoc [OPTIONS] FILE DESCRIPTION The asciidoc(1) command translates the AsciiDoc text file FILE to DocBook or HTML. If FILE is - then the standard input is used. asciidoc-py3-9.0.0rc1/tests/data/lang-sv-man-test-docbook5.xml0000644000175000017500000000171113570064211023353 0ustar josephjoseph ASCIIDOC(1) asciidoc 1     asciidoc converts an AsciiDoc text file to HTML or DocBook asciidoc [OPTIONS] FILE BESKRIVNING The asciidoc(1) command translates the AsciiDoc text file FILE to DocBook or HTML. If FILE is - then the standard input is used. asciidoc-py3-9.0.0rc1/tests/data/lang-pt-BR-book-test-html4.html0000644000175000017500000000663413570064211023526 0ustar josephjoseph Languages Test

Languages Test

version v1.0, 2003-12-21


Dedicação

Dedication special section.


Prefácio

Preface special section.


Cólofon

Colophon special section.


The First Section

Admonishments

Do not translate in the source file — they are translated to the output file

Nota

Lorum ipsum.

Sugestão

Lorum ipsum.

Aviso

Lorum ipsum.

Atenção

Lorum ipsum.

Importante

Lorum ipsum.
Tiger image

Figura 1. Tiger

Followed by an example table:

Option Description

-a USER GROUP

Add USER to GROUP.

-R GROUP

Disables access to GROUP.

Tabela 1. Table

And now for something completely different: monkeys, lions and tigers.


Appêndice A: Example Appendix

Appendix special section.


Bibliografia

Bibliography special section.

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.


Glossário

Glossary special section.

A glossary term

The corresponding (indented) definition.

A second glossary term

The corresponding (indented) definition.


Versão v1.0
Última Atualização 2002-11-25 00:37:42 UTC

asciidoc-py3-9.0.0rc1/tests/data/lang-es-book-test-html4.html0000644000175000017500000000661513570064211023210 0ustar josephjoseph Languages Test

Languages Test

version v1.0, 2003-12-21


Dedicación

Dedication special section.


Prefacio

Preface special section.


Colofón

Colophon special section.


The First Section

Admonishments

Do not translate in the source file — they are translated to the output file

Nota

Lorum ipsum.

Sugerencia

Lorum ipsum.

Aviso

Lorum ipsum.

Atención

Lorum ipsum.

Importante

Lorum ipsum.
Tiger image

Figura 1. Tiger

Followed by an example table:

Option Description

-a USER GROUP

Add USER to GROUP.

-R GROUP

Disables access to GROUP.

Tabla 1. Table

And now for something completely different: monkeys, lions and tigers.


Apéndice A: Example Appendix

Appendix special section.


Bibliografía

Bibliography special section.

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.


Glosario

Glossary special section.

A glossary term

The corresponding (indented) definition.

A second glossary term

The corresponding (indented) definition.


Version v1.0
Last updated 2002-11-25 00:37:42 UTC

asciidoc-py3-9.0.0rc1/tests/data/open-block-test__2.png0000644000175000017500000002467013570064211022136 0ustar josephjosephPNG  IHDR;RQ@bKGD IDATxyTTG 4K7 ".QPQh@јhqpI45c8q2jޘQYYJա Zj!/d2( ( 8;;ٹO}μZ-_Bܼy(//GII ʄ555Phhh0[[[( T*  OOO666&"7illD~~> QRRr yUUUjS)NRJ///!{zz nnnC`` LCQQQ塨7n@AAPVVJvKZ#www "$$*[258ڼ999˗|ƍBemm-;݅jP(BP( aoo\.ggg[[[scc#MMMESS4Њh4h4* eee(..>jVVVB@@` <[61FVV._|!//B D. CC^3T*T*ֲ$ [goe+窪*h4!WWW 2({xxDXXBBBhoThZ?iii@NN233QZZ NKKh]h5ppphԲnY6z4j@ee%q W\\,B(}q%ŋDvv6 acc ުꉔ(((*!yyyz*!HbСDHHa }|2pydee!++ \ 򯟟\\\,} RUU&+W#44Æ z/III8qp9466BR!,, C ʴZ7t(,,Dvv6233,ddd@#F@TTƏ6^3ӳ̻'ODjj*p@.cȐ! mzZm[tvPi2WCCJ%FHDEEaܸql.RQQ!lHMMEee%d2„nh 0֖mz= Kff𷡡@TTPYZH Z-~g$&&8<0rHDEE!224hPt:dgg ti\p0j("66&L0iYuN:'N 11鰲 A0j(ahm܌\={VԄ`ʔ)BrE:%K 44TMNcrr2?Ϗ˗s6|W@/Ç,999\nGItrr>_,..>Gyy9.\'--PWW۷3""8dnڴׯ_õkrsǎllln̼ a08`X)))JVܰaǏODB///XB,ܺjsʔ)H$߿?{9&$$1NcJJ W^`d6l2K땨jn޼^^^匋ÇrRRRGqͬ׼Z-[N0|7ѝɈ< |7K;v,Esޞ|gO?QYZC^cǸpB* rΛ7'O^A}}=ׯ_O*J,))^Gaa!?Ύܲe ZF=Vi&S*2..f{8:?yd2pƍ⣌.ȩSO?%bZͯG&>ܿz4BBBkۖ)))믿N\P&&&>Htf޵\n+V0//A|רT*RvZjKq$%%122̓8z(|IJ$qc())3(HOϳM+WSO߱~?tJ%򗿈5>BUUׯ_O'''zzz/{PH^|s!N>$\pqqqX^xҒ,ʁƠ ϖ9pˣGnޙ5,Y">飔sJ>|8WKKZk׮ CYZH7s1L[r%--ɬzYgMM%=4ܺuf͢5׿˩]7o^1cx…{W*ĉ)DZcήPt:KT*6dZ-.\HL󟖖вi&ZYYW_cZ̙3)JvZ{hnn)P JHHx r;t ;vXZIinn9sXZCϮ]hcc t;7[n1**F)/2%%UUUlhh`~~>w%iFiJM&L LGy,,,ng۶mի6w9*wc,uZy^۷oÜ={6pѢElhh0nSqFJ$~ᇖ|H$MFWEcոU :!1bD-7_ED~`ͻ&Mbpp0_]|xa8yʼǍqƙ$=ztZ%%%R+nC3 O<`zX(uׯ_O|SEغu+% ,-(**B[oet,e!!!h{exxx4o\l42[o֖Ν3dffʊf4ӧ*\|\rt O>iyۉ9r$sssgFcIOL9Zh9`?_~pA`;rVnwSSSCOOOXXٳMK.%ٳ,u7yw}GD”KK!I>:t… k ~??IǏ'~Wfp?t;ͨ42443f̰1cpĈܴio޼rrr(H{n[200},o>SX&۷S*}7Yfqfk^ p?LpΙ3NNNmÇs̙trr\.#wu_ff&MFRI>2zNaa!z)* g[ڍ.]*~z0ilo~fllPT*D"ѣuN_HGTʝ;wI$TKw4~ʕ \.g~8vX<}tN{{{r4K.Sp]cYO ZR\\%Kۛ2\ti z СCgϚ5]cxxxieeG}_|Eu]^^^fYxRMyn YnFR4z:99q˖-nkeeed'bcccy t={6YPPXhw C|ƍǩVHv }Yfee ,h7 OSt׭[&|W }G@D]vuu  m$P3۶mkwfg1..NV@5kph4llldNN򛁚FDDPTr,))Zfrr2lԨA̻hgg'+../x+k0!!!ucy6kkkZ[[S*g|||bbb,2*22M[`7lёڌBqF1cF%/Rl I6lqU`\rEEE0D"mW[[ {{. J[nFUUT*ƍ񁧧'n޼&|MM J%@zU111HNNƆ zj~~ {z[ѣGΝ;t1tP̚5id4T*N=p!XjT!33SNEaa!)))8q"QPP؋/ 닩Sbԩ={6lllp(,,D~~>;b,u:˗yyy0`pq xyy a 7Ν;xb|7e˖pRpttČ3 gΜQL<0(//Ǒ#GP[[?8w_gv5]SqaL:prrjyf*ڵk^\hp޽E-ocTVVr͚5 B~CWT*Rxc677sgkAǏؼڱcL):O&q֭f^}Nuݻ9w\:;; Z d^og; ?/Jfzᾒd} `5"W呮p-1L[fDDDztMڵkwjmyfGqYܹs; ޗlx;MYr===~G l۶}'Nn8cqt:> *//o|sdܰץw}l: I3xok4Ncǎqڴipᘏtyj)0rL///7Z5W} O?eܰd2J$:88pܹs'`aÆ{Ϟ=H$UbۚѣG9Iy ?@ss}a@\~G־}Z왷xc׮]2<}t޽=EEEM wȨ"ra+BܴiSO:ŨVۼ׭[G|[7L {p}lٲs /0::鶇1n9'/tzvxIw̛${=Tv=yN5FߟIEݍNoAL+V0==gvv6?xر 6N֬YJ޾}[Q5}tPVȑ#pxڣAAAC^;v pc.6mDGGGa%iiކQQQܼyމ;vƦ)eŌ3:-@ +ӦMcFFXRR5kz)!\ee%¨T* #:`&&&JA[׳FĿKmKJJjᾺ{^JltҼ[Ϊf||DZ]zy?H6{O?t{ڟ?N15ϟҥK9h :88P&3f W\fjwSZZ{nnnaXX=ǰ///3fyO>Vn{t3Uvֶ,>>>=fLK5jlNϫWZer-ɓ'wyq L&Jk=֖UUU&֕2փ{(k:оy߾}|gL&'cNͼKtvvAO>>^znݺ2"/dffޞ󎥥_7n*++ķ~DD_~m_<))ܶmPDҨuIۻ5k}}}Ԃy89zh655YZNi&je\xRwʷݒw}~!v܉y ܾ1o<ƍ--۸}6Fooo8pΖ$bA0g={Ν%u Zׯ9jˣh0aĉEy-\jC&[d2.]{z3׮]c`` CCC"} Z͘ׯglT>־^y?-y(HꫯEDGSS|MZYYqf}mgpp0d-1:t(}Q_5׬YӧނNehccӕ75vͼIrΝtttaxS)ҫaDD[ZY(--i(ɸ~> ^ϭ[Ύƍc~~%xJR.^,oiֶ㈺n.q֖}kHߡ֭=###kiIfE?\.㙖fiI"&"33ڵk9K~s=f*裏RRzU'ܛywٸq#U*===_>^Ν;KR>ό~W?VVV\`A=Ez/n)J9rȇv/€zzziسg]\\ .˩n˅LƯ͊J" VoᴶK/cp[^]vߟ|,U*{(--[oE'''TUUw/zHR\\xY@vv6{9d2z{{>2="OMM ߟRO?8uuuFooopm.sr _~eՕѥDVvIOOOj aIDAT>w#MMMܸq# d{'%<<[l^σ2..rJ-brrXq :'OLTʙ3grϞ=r^T*L\tjnٲ>>>\l #7dddpժU"U"@fP^!!!@WWW\)nݺ-[0<<ؿ.\c]]yy!.]T(sBBB׿U\pv.]J\NJ˗cIMMŋP(hooW^yEEEݙDˣvzNBBB݋K.Ftt4L-!??HNNÇQRR ̚5 O=&LkkkK\|{޽{qi!&&'OFLL Œ-{(rdgg#)) III8r1j(̞=gFXX%)nݺxl߾¼y0w\XZEtvލ8<%K`prrnż&'' 8rN8Z!::&MBdd$,LAZZ;dƍɓ1sL HHHO?pss1cLfi=N,>}GERRn޼ GGGL8SNŬYgi}8z(v؁};w.q >WNu:qA޽.\~رcMe̻%MMMHMMERRqi#GDDD"##1b 8RԒr-Jss3]s!-- gΜAzz:j5lmm%d3rҒEB_ZǏZH9|h ]ի8wRSStcƌALL bbbP F")) ?P^^WWWL<SLI0p@K|`H"77?3 xzzbΜ9o'iyfdff"--M222jaccGyC A! mh4#77YYYDvv6rrrTPDFF rzdgg y=55ϟo„KK논/";;hllzTTP ͺqy$&&"11ǏG]]\\\0** Æ $ qHMMEuu5 &M)S`ʔ)y Bvv`dvt:_~G@@puuo+ɲ2%%%(((@~~+++"44UeȐ!𕈘Fdee ,ddd //zꊀa󃷷===T*-z(..FYYpM\~VRRkx0d![:DF#55Uخ\pttDHH 0y (,,ב'Lnn.4 $ y1zhR0oc466իBA PVV&v WWW8::BP@PYTڪ h4jjzC@V 555(//GYYY$ ת@ 0@4iz\zyyyB7uܺuUx;;;ҪRM+K+7De-"""""ː"DDDDDDDL(IENDB`asciidoc-py3-9.0.0rc1/tests/data/source-highlight-filter-html4.html0000644000175000017500000003703013570064211024500 0ustar josephjoseph Source Code Highlight Filter

Source Code Highlight Filter

The AsciiDoc distribution includes a source filter for highlighting code syntax.


DocBook Outputs

AsciiDoc encloses the source code in a DocBook programlisting element and leaves source code highlighting to the DocBook toolchain (dblatex has a particularly nice programlisting highlighter). The DocBook programlisting element is assigned two attributes:

  1. The language attribute is set to the AsciiDoc language attribute.

  2. The linenumbering attribute is set to the AsciiDoc src_numbered attribute (numbered or unnumbered).


HTML Outputs

You have the choice of three HTML source code highlighters, your selection is determined by the source-highlighter attribute (defaults to source-highlight):

Note

Set the source-highlighter attribute from the asciidoc(1) command-line or in the document header (not in the document body, because the configuration file conditional macros are processed at load time).

GNU Source Highlight

The default highlighter is the GNU source-highlight which can highlight html4, html5 and xhtml11 outputs. The GNU source-highlight must be installed and the source-highlight command must reside in the shell search PATH.

Highlight

You can use Highlight syntax highlighter for xhtml11, html5 and html4 outputs (set the source-highlighter attribute to highlighter).

  • The highlight command must reside in the shell search PATH.

  • To make Highlighter your default highlighter put the following line your ~/.asciidoc/asciidoc.conf file:

    source-highlighter=highlight
  • The AsciiDoc encoding attribute is passed to Highlighter using the --encoding command-line option.

Pygments

The Pygments syntax highlighter can be used for xhtml11 and html5 outputs (set the source-highlighter attribute to pygments).

  • The pygmentize command must reside in the shell search PATH.

  • You can customize Pygments CSS styles by editing ./stylesheets/pygments.css. The pygments.css CSS file was generated with:

    from pygments.formatters import HtmlFormatter
    print HtmlFormatter().get_style_defs('.highlight')
  • To make Pygments your default highlighter put the following line your ~/.asciidoc/asciidoc.conf file:

    source-highlighter=pygments
  • The AsciiDoc encoding attribute is passed to Pygments using the -O command-line option.


Block attributes

The following attributes can be included in source code block attribute lists.

  • style and language are mandatory.

  • style, language and src_numbered are the first three positional attributes in that order.

  • The args attribute allows the inclusion of arbitrary (highlighter dependent) command options.

style

Set to source.

language

The source code language name.

Note

The language names vary between highlighters — consult the selected highlighter manual.
src_numbered

Set to numbered to include line numbers.

src_tab

Set tab size (GNU source-highlight only).

args

Include this attribute value in the highlighter command-line (HTML outputs) or in the programlisting element (DocBook).


Testing

Test the filter by converting the test file to HTML with AsciiDoc:

$ asciidoc -v ./filters/source/source-highlight-filter-test.txt
$ firefox ./filters/source/source-highlight-filter-test.html &

Examples

Source code paragraphs

The source paragraph style will highlight a paragraph of source code. These three code paragraphs:

[source,python]
if n < 0: print 'Hello World!'

:language: python

[source]
if n < 0: print 'Hello World!'

[source,ruby,numbered]
[true, false].cycle([0, 1, 2, 3, 4]) do |a, b|
    puts "#{a.inspect} => #{b.inspect}"

Render this highlighted source code:

if n < 0: print 'Hello World!'
if n < 0: print 'Hello World!'
    1: [true, false].cycle([0, 1, 2, 3, 4]) do |a, b|
    2:     puts "#{a.inspect} => #{b.inspect}"

Unnumbered source code listing

This source-highlight filtered block:

 [source,python]
 ---------------------------------------------------------------------
 ''' A multi-line
     comment.'''
 def sub_word(mo):
     ''' Single line comment.'''
     word = mo.group('word')   # Inline comment
     if word in keywords[language]:
         return quote + word + quote
     else:
         return word
 ---------------------------------------------------------------------

Renders this highlighted source code:

''' A multi-line
    comment.'''
def sub_word(mo):
    ''' Single line comment.'''
    word = mo.group('word')     # Inline comment
    if word in keywords[language]:
        return quote + word + quote
    else:
        return word

Numbered source code listing with callouts

This source-highlight filtered block:

 [source,ruby,numbered]
 ---------------------------------------------------------------------
 #
 # Useful Ruby base class extensions.
 #

 class Array

   # Execute a block passing it corresponding items in
   # +self+ and +other_array+.
   # If self has less items than other_array it is repeated.

   def cycle(other_array)  # :yields: item, other_item
     other_array.each_with_index do |item, index|
       yield(self[index % self.length], item)
     end
   end

 end

 if $0 == __FILE__                                 # <1>
   # Array#cycle test
   # true => 0
   # false => 1
   # true => 2
   # false => 3
   # true => 4
   puts 'Array#cycle test'                         # <2>
   [true, false].cycle([0, 1, 2, 3, 4]) do |a, b|
     puts "#{a.inspect} => #{b.inspect}"
   end
 end
 ---------------------------------------------------------------------

 <1> First callout.
 <2> Second callout.

Renders this highlighted source code:

    1: #
    2: # Useful Ruby base class extensions.
    3: #
    4:
    5: class Array
    6:
    7:   # Execute a block passing it corresponding items in
    8:   # +self+ and +other_array+.
    9:   # If self has less items than other_array it is repeated.
   10:
   11:   def cycle(other_array)  # :yields: item, other_item
   12:     other_array.each_with_index do |item, index|
   13:       yield(self[index % self.length], item)
   14:     end
   15:   end
   16:
   17: end
   18:
   19: if $0 == __FILE__                                 # <1>
   20:   # Array#cycle test
   21:   # true => 0
   22:   # false => 1
   23:   # true => 2
   24:   # false => 3
   25:   # true => 4
   26:   puts 'Array#cycle test'                         # <2>
   27:   [true, false].cycle([0, 1, 2, 3, 4]) do |a, b|
   28:     puts "#{a.inspect} => #{b.inspect}"
   29:   end
   30: end
  1. First callout.

  2. Second callout.

Tip

  • If the source language attribute has been set (using an AttributeEntry or from the command-line) you don’t have to specify it in each source code block.

  • You should place callout markers inside source code comments to ensure they are not misinterpreted and mangled by the highlighter.


Last updated 2002-11-25 00:37:42 UTC

asciidoc-py3-9.0.0rc1/tests/data/lang-ro-man-test-docbook.xml0000644000175000017500000000210413570064211023253 0ustar josephjoseph ASCIIDOC(1) asciidoc 1     asciidoc converts an AsciiDoc text file to HTML or DocBook asciidoc [OPTIONS] FILE DESCRIPTION The asciidoc(1) command translates the AsciiDoc text file FILE to DocBook or HTML. If FILE is - then the standard input is used. asciidoc-py3-9.0.0rc1/tests/data/lang-pt-BR-man-test-docbook5.xml0000644000175000017500000000171213570064211023650 0ustar josephjoseph ASCIIDOC(1) asciidoc 1     asciidoc converts an AsciiDoc text file to HTML or DocBook asciidoc [OPTIONS] FILE DESCRIPTION The asciidoc(1) command translates the AsciiDoc text file FILE to DocBook or HTML. If FILE is - then the standard input is used. asciidoc-py3-9.0.0rc1/tests/data/lang-sv-article-test-docbook5.xml0000644000175000017500000000671713570064211024236 0ustar josephjoseph
Languages Test 2003-12-21 v1.02003-12-21 Abstract special section.
The First Section
Admonishments Do not translate in the source file — they are translated to the output file Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum.
Tiger Tiger image
Followed by an example table: Table Option Description -a USER GROUP Add USER to GROUP. -R GROUP Disables access to GROUP.
And now for something completely different: monkeysmonkeys, lions and tigers.
Exempel-appendix Appendix special section. Referenser Bibliography special section. [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9. [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7. Ordlista Glossary special section. A glossary term The corresponding (indented) definition. A second glossary term The corresponding (indented) definition. Sakregister
asciidoc-py3-9.0.0rc1/tests/data/latex-filter-xhtml11.html0000644000175000017500000005617513570064211022631 0ustar josephjoseph LaTeX Filter

The AsciiDoc distribution includes a LaTeX filter that translates LaTeX source to an image which is automatically inserted into the AsciiDoc output document. Although it can accept any LaTeX source, the primary use is to render mathematical formulae (see the examples below). The filter implements the latex Listing block and Paragraph styles.

Two image formats are supported; PNG and SVG. PNG is the default since that was the first format that this filter supported. However, SVG is a better format since it’s scalable. Using SVG make formulas look good in both PDFs and on web pages. SVG will also scale well when zooming in on a web page for example. It is recommended to always use the SVG format. This can be done by setting the imgfmt parameter to svg, as is done below. An even better way is to set the global attribute latex-imgfmt to svg. Then SVG will be used for all formulas.

This LaTeX paragraph:

["latex", imgfmt="svg"]
---------------------------------------------------------------------
\begin{equation*}
y = \int_0^\infty \gamma^2 \cos(x) dx
\end{equation*}
---------------------------------------------------------------------

Renders:

latex-filter__1.svg

Compare the formula above, which is rendered as an SVG image, to the formula below which has been rendered as a PNG image. The difference will be most notable if zooming in on a web page, printing the web page or when rendering the document as a PDF.

["latex", "latex2.png", 140, imgfmt="png"]
---------------------------------------------------------------------
\begin{equation*}
y = \int_0^\infty \gamma^2 \cos(x) dx
\end{equation*}
---------------------------------------------------------------------

Renders:

latex2.png

This LaTeX block:

["latex","latex1.svg",imgfmt="svg",align="center"]
---------------------------------------------------------------------
\begin{equation*}
\displaystyle{ V_i = C_0 - C_3
\frac{C_1\cos(\theta_i+C_3)}{C_4+C_1\cos(\theta_i+C_2)} }
\end{equation*}
---------------------------------------------------------------------

Renders:

latex1.svg

This LaTeX block:

.LaTeX filter example
[latex]
["latex","latex3.svg",imgfmt="svg"]
---------------------------------------------------------------------
\begin{equation}
\Re{z} =\frac{n\pi \dfrac{\theta +\psi}{2}}{
\left(\dfrac{\theta +\psi}{2}\right)^2 + \left( \dfrac{1}{2}
\log \left\lvert\dfrac{B}{A}\right\rvert\right)^2}.
\end{equation}

\begin{equation}
\boxed{\eta \leq C(\delta(\eta) +\Lambda_M(0,\delta))}
\end{equation}

\begin{equation}\label{first}
a=b+c
\end{equation}

\begin{subequations}\label{grp}
\begin{align}
a&=b+c\label{second}\\
d&=e+f+g\label{third}\\
h&=i+j\label{fourth}
\end{align}
\end{subequations}
---------------------------------------------------------------------

Renders:

latex3.svg
Figure 1. LaTeX filter example

This LaTeX paragraph:

.A LaTeX table
["latex",imgfmt="svg"]
\begin{tabular}{c r @{.} l}
Pi expression &
\multicolumn{2}{c}{Value} \\
\hline
$\pi$ & 3&1416 \\
$\pi^{\pi}$ & 36&46 \\
$(\pi^{\pi})^{\pi}$ & 80662&7 \\
\end{tabular}

Renders:

latex-filter__2.svg
Figure 2. A LaTeX table

Using the Filter

  • The LaTeX filter is invoked by setting the Listing block or Paragraph style (the first positional block attribute) to latex.

  • The second positional attribute (named target is optional, it sets the name of the generated image file. If this is not supplied a file name like {docname}__{target-number}.{imgfmt} is synthesised (where {docname} is the document file name, {target-number} is an integer number and {imgfmt} is the image format (png or svg).

  • The third positional attribute, named dpi, is also optional; it is an integer number that sets the output resolution in dots per inch for a PNG image. It is ignored for an SVG image.

  • The image format to use can be selected by setting the imgfmt parameter or by globally setting the latex-imgfmt attribute. Setting it to svg will render SVG images and setting it to png will render PNG images. The default is png.

Because the LaTeX images are rendered using the image block templates you can also use the optional named image block attributes (see Image macro attributes in the AsciiDoc User Guide).

Tip

You can also change the image size using the following LaTeX commands:

\tiny
\scriptsize
\footnotesize
\small
\normalsize
\large
\Large
\LARGE
\huge

For example:

[latex]
\Large $y = \int_0^\infty \gamma^2 \cos(x) dx$

The \Large command is outside the $ math delimiters.

The filter (./filters/latex/latex2img.py) can be used outside AsciiDoc to convert LaTeX source to images.

Execute the following command to see how to use it:

$ ./filters/latex/latex2img.py --help

Limitations

  • The asciidoc(1) input and output files cannot both be - (stdin and stdout), either the input or output files (or both) must be a named file.

Installation

In addition to AsciiDoc you will need to have latex(1), dvipng(1) (for PNG) and/or dvisvgm(1) (for SVG) installed.


asciidoc-py3-9.0.0rc1/tests/data/lang-en-no-last-updated-test-html5.html0000644000175000017500000004532713570064211025256 0ustar josephjoseph Languages Test

Abstract

Abstract special section.

The First Section

Admonishments

Do not translate in the source file — they are translated to the output file

Note
Lorum ipsum.
Tip
Lorum ipsum.
Warning
Lorum ipsum.
Caution
Lorum ipsum.
Important
Lorum ipsum.
Tiger image
Figure 1. Tiger

Followed by an example table:

Table 1. Table
Option Description

-a USER GROUP

Add USER to GROUP.

-R GROUP

Disables access to GROUP.

And now for something completely different: monkeys, lions and tigers.

Appendix A: Example Appendix

Appendix special section.

Bibliography

Bibliography special section.

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.

Glossary

Glossary special section.

A glossary term

The corresponding (indented) definition.

A second glossary term

The corresponding (indented) definition.


asciidoc-py3-9.0.0rc1/tests/data/lang-uk-article-test-docbook5.xml0000644000175000017500000000716013570064211024216 0ustar josephjoseph
Languages Test 2011-01-30 v1.02011-01-30 Abstract special section.
The First Section
Admonishments Do not translate in the source file — they are translated to the output file Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum.
Tiger Tiger image
Followed by an example table: Table Option Description -a USER GROUP Add USER to GROUP. -R GROUP Disables access to GROUP.
And now for something completely different: monkeysmonkeys, lions and tigers.
Додаток A: Example Appendix Appendix special section.
Бібліографія Bibliography special section. [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9. [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7. Словник термінів Glossary special section. A glossary term The corresponding (indented) definition. A second glossary term The corresponding (indented) definition. Предметний покажчик
asciidoc-py3-9.0.0rc1/tests/data/filters-test-xhtml11.html0000644000175000017500000004310213570064211022640 0ustar josephjoseph Filter Tests

Toy filter example from User Guide

''' A multi-line
    comment.'''
def sub_word(mo):
    ''' Single line comment.'''
    word = mo.group('word')   # Inline comment
    if word in keywords[language]:
        return quote + word + quote
    else:
        return word

Pychart Chart generations from FAQ

No barchart to avoid depending on Pychart for the tests. See also: http://asciidoc.org/faq.html#_is_it_possible_to_include_charts_in_asciidoc_documents

barchart.png

Graphviz Graphs

Graphviz->AsciiDoc->HTML
Figure 1. Simple graph
graphviz2.png
Figure 2. Not so simple graph

Music filter

music1.png
Figure 3. A tune generated from ABC notation
Figure 4. A fragment generated from LilyPond source

asciidoc-py3-9.0.0rc1/tests/data/lang-ru-book-test-html5.html0000644000175000017500000004703613570064211023232 0ustar josephjoseph Languages Test

Посвящение

Dedication special section.

Введение

Preface special section.

Колофон

Colophon special section.

The First Section

Admonishments

Do not translate in the source file — they are translated to the output file

Замечание
Lorum ipsum.
Подсказка
Lorum ipsum.
Внимание
Lorum ipsum.
Предостережение
Lorum ipsum.
Важно
Lorum ipsum.
Tiger image
Рисунок 1. Tiger

Followed by an example table:

Таблица 1. Table
Option Description

-a USER GROUP

Add USER to GROUP.

-R GROUP

Disables access to GROUP.

And now for something completely different: monkeys, lions and tigers.

Приложение A: Example Appendix

Appendix special section.

Библиография

Bibliography special section.

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.

Словарь терминов

Glossary special section.

A glossary term

The corresponding (indented) definition.

A second glossary term

The corresponding (indented) definition.


asciidoc-py3-9.0.0rc1/tests/data/book-xhtml11.html0000644000175000017500000005264013570064211021154 0ustar josephjoseph Book Title Goes Here

1. Example Dedication

Optional dedication.

This document is an AsciiDoc book skeleton containing briefly annotated example elements plus a couple of example index entries and footnotes.

Books are normally used to generate DocBook markup and the titles of the preface, appendix, bibliography, glossary and index sections are significant (specialsections).

2. Example Preface

Optional preface.

2.1. Preface Sub-section

Preface sub-section body.

3. The First Chapter

Chapters can contain sub-sections nested up to three deep.
[An example footnote.]

Chapters can have their own bibliography, glossary and index.

And now for something completely different: monkeys, lions and tigers (Bengal and Siberian) using the alternative syntax index entries. Note that multi-entry terms generate separate index entries.

Here are a couple of image examples: an images/smallnew.png example inline image followed by an example block image:

Tiger image
Figure 1. Tiger block image

Followed by an example table:

Table 1. An example table
Option Description

-a USER GROUP

Add USER to GROUP.

-R GROUP

Disables access to GROUP.

Example 1. An example example

Lorum ipum…

3.1. Sub-section with Anchor

Sub-section at level 2.

3.1.1. Chapter Sub-section

Sub-section at level 3.

Chapter Sub-section

Sub-section at level 4.

This is the maximum sub-section depth supported by the distributed AsciiDoc configuration.
[A second example footnote.]

4. The Second Chapter

An example link to anchor at start of the first sub-section.

An example link to a bibliography entry [taoup].

5. The Third Chapter

Book chapters are at level 1 and can contain sub-sections.

Appendix A: Example Appendix

One or more optional appendixes go here at section level 1.

Appendix Sub-section

Sub-section body.

Example Bibliography

The bibliography list is a style of AsciiDoc bulleted list.

Books
  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.

Articles
  • [abc2003] Gall Anonim. An article, Whatever. 2003.

Example Glossary

Glossaries are optional. Glossaries entries are an example of a style of AsciiDoc labeled lists.

A glossary term

The corresponding (indented) definition.

A second glossary term

The corresponding (indented) definition.

Example Colophon

Text at the end of a book describing facts about its production.

Example Index


asciidoc-py3-9.0.0rc1/tests/data/lang-pt-BR-book-test-html5.html0000644000175000017500000004647513570064211023536 0ustar josephjoseph Languages Test

Dedicação

Dedication special section.

Prefácio

Preface special section.

Cólofon

Colophon special section.

The First Section

Admonishments

Do not translate in the source file — they are translated to the output file

Nota
Lorum ipsum.
Sugestão
Lorum ipsum.
Aviso
Lorum ipsum.
Atenção
Lorum ipsum.
Importante
Lorum ipsum.
Tiger image
Figura 1. Tiger

Followed by an example table:

Tabela 1. Table
Option Description

-a USER GROUP

Add USER to GROUP.

-R GROUP

Disables access to GROUP.

And now for something completely different: monkeys, lions and tigers.

Appêndice A: Example Appendix

Appendix special section.

Bibliografia

Bibliography special section.

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.

Glossário

Glossary special section.

A glossary term

The corresponding (indented) definition.

A second glossary term

The corresponding (indented) definition.


asciidoc-py3-9.0.0rc1/tests/data/lang-nl-book-test-xhtml11.html0000644000175000017500000004672013570064211023461 0ustar josephjoseph Languages Test

Opdracht

Bijzonder dedication sectie.

Voorwoord

Bijzonder preface sectie.

Colofon

Bijzonder colophon sectie.

Het Eerste Hoofdstuk

Vermaningen

Vertaal ze niet in the broncode — ze worden vanzelf vertaald in het output bestand

Opmerking
Lorum ipsum.
Tip
Lorum ipsum.
Waarschuwing
Lorum ipsum.
Let op
Lorum ipsum.
Belangrijk
Lorum ipsum.
Tiger image
Figuur 1. Tiger

Gevolgd door een voorbeeld tabel:

Tabel 1. Table
Optie Beschrijving

-a USER GROUP

Voeg USER toe aan GROUP.

-R GROUP

Schakel toegang uit tot GROUP.

En nu iets totaal anders: apen, leeuwen en tijgers.

Bijlage A: Voorbeeld Bijlage

Bijzonder appendix sectie.

Literatuurlijst

Bijzonder bibliography sectie.

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.

Woordenlijst

Bijzonder glossary sectie.

Een woordenlijst term

De bijhorende (ingesprongen) definitie.

Een tweede term

De bijhorende (ingesprongen) definitie.


asciidoc-py3-9.0.0rc1/tests/data/source-highlight-filter-xhtml11.html0000644000175000017500000010434013570064211024745 0ustar josephjoseph Source Code Highlight Filter

The AsciiDoc distribution includes a source filter for highlighting code syntax.

DocBook Outputs

AsciiDoc encloses the source code in a DocBook programlisting element and leaves source code highlighting to the DocBook toolchain (dblatex has a particularly nice programlisting highlighter). The DocBook programlisting element is assigned two attributes:

  1. The language attribute is set to the AsciiDoc language attribute.

  2. The linenumbering attribute is set to the AsciiDoc src_numbered attribute (numbered or unnumbered).

HTML Outputs

You have the choice of three HTML source code highlighters, your selection is determined by the source-highlighter attribute (defaults to source-highlight):

Note
Set the source-highlighter attribute from the asciidoc(1) command-line or in the document header (not in the document body, because the configuration file conditional macros are processed at load time).

GNU Source Highlight

The default highlighter is the GNU source-highlight which can highlight html4, html5 and xhtml11 outputs. The GNU source-highlight must be installed and the source-highlight command must reside in the shell search PATH.

Highlight

You can use Highlight syntax highlighter for xhtml11, html5 and html4 outputs (set the source-highlighter attribute to highlighter).

  • The highlight command must reside in the shell search PATH.

  • To make Highlighter your default highlighter put the following line your ~/.asciidoc/asciidoc.conf file:

    source-highlighter=highlight
  • The AsciiDoc encoding attribute is passed to Highlighter using the --encoding command-line option.

Pygments

The Pygments syntax highlighter can be used for xhtml11 and html5 outputs (set the source-highlighter attribute to pygments).

  • The pygmentize command must reside in the shell search PATH.

  • You can customize Pygments CSS styles by editing ./stylesheets/pygments.css. The pygments.css CSS file was generated with:

    from pygments.formatters import HtmlFormatter
    print HtmlFormatter().get_style_defs('.highlight')
  • To make Pygments your default highlighter put the following line your ~/.asciidoc/asciidoc.conf file:

    source-highlighter=pygments
  • The AsciiDoc encoding attribute is passed to Pygments using the -O command-line option.

Block attributes

The following attributes can be included in source code block attribute lists.

  • style and language are mandatory.

  • style, language and src_numbered are the first three positional attributes in that order.

  • The args attribute allows the inclusion of arbitrary (highlighter dependent) command options.

style

Set to source.

language

The source code language name.

Note
The language names vary between highlighters — consult the selected highlighter manual.
src_numbered

Set to numbered to include line numbers.

src_tab

Set tab size (GNU source-highlight only).

args

Include this attribute value in the highlighter command-line (HTML outputs) or in the programlisting element (DocBook).

Testing

Test the filter by converting the test file to HTML with AsciiDoc:

$ asciidoc -v ./filters/source/source-highlight-filter-test.txt
$ firefox ./filters/source/source-highlight-filter-test.html &

Examples

Source code paragraphs

The source paragraph style will highlight a paragraph of source code. These three code paragraphs:

[source,python]
if n < 0: print 'Hello World!'

:language: python

[source]
if n < 0: print 'Hello World!'

[source,ruby,numbered]
[true, false].cycle([0, 1, 2, 3, 4]) do |a, b|
    puts "#{a.inspect} => #{b.inspect}"

Render this highlighted source code:

if n < 0: print 'Hello World!'
if n < 0: print 'Hello World!'
    1: [true, false].cycle([0, 1, 2, 3, 4]) do |a, b|
    2:     puts "#{a.inspect} => #{b.inspect}"

Unnumbered source code listing

This source-highlight filtered block:

 [source,python]
 ---------------------------------------------------------------------
 ''' A multi-line
     comment.'''
 def sub_word(mo):
     ''' Single line comment.'''
     word = mo.group('word')   # Inline comment
     if word in keywords[language]:
         return quote + word + quote
     else:
         return word
 ---------------------------------------------------------------------

Renders this highlighted source code:

''' A multi-line
    comment.'''
def sub_word(mo):
    ''' Single line comment.'''
    word = mo.group('word')     # Inline comment
    if word in keywords[language]:
        return quote + word + quote
    else:
        return word

Numbered source code listing with callouts

This source-highlight filtered block:

 [source,ruby,numbered]
 ---------------------------------------------------------------------
 #
 # Useful Ruby base class extensions.
 #

 class Array

   # Execute a block passing it corresponding items in
   # +self+ and +other_array+.
   # If self has less items than other_array it is repeated.

   def cycle(other_array)  # :yields: item, other_item
     other_array.each_with_index do |item, index|
       yield(self[index % self.length], item)
     end
   end

 end

 if $0 == __FILE__                                 # <1>
   # Array#cycle test
   # true => 0
   # false => 1
   # true => 2
   # false => 3
   # true => 4
   puts 'Array#cycle test'                         # <2>
   [true, false].cycle([0, 1, 2, 3, 4]) do |a, b|
     puts "#{a.inspect} => #{b.inspect}"
   end
 end
 ---------------------------------------------------------------------

 <1> First callout.
 <2> Second callout.

Renders this highlighted source code:

    1: #
    2: # Useful Ruby base class extensions.
    3: #
    4:
    5: class Array
    6:
    7:   # Execute a block passing it corresponding items in
    8:   # +self+ and +other_array+.
    9:   # If self has less items than other_array it is repeated.
   10:
   11:   def cycle(other_array)  # :yields: item, other_item
   12:     other_array.each_with_index do |item, index|
   13:       yield(self[index % self.length], item)
   14:     end
   15:   end
   16:
   17: end
   18:
   19: if $0 == __FILE__                                 # <1>
   20:   # Array#cycle test
   21:   # true => 0
   22:   # false => 1
   23:   # true => 2
   24:   # false => 3
   25:   # true => 4
   26:   puts 'Array#cycle test'                         # <2>
   27:   [true, false].cycle([0, 1, 2, 3, 4]) do |a, b|
   28:     puts "#{a.inspect} => #{b.inspect}"
   29:   end
   30: end
  1. First callout.

  2. Second callout.

Tip
  • If the source language attribute has been set (using an AttributeEntry or from the command-line) you don’t have to specify it in each source code block.

  • You should place callout markers inside source code comments to ensure they are not misinterpreted and mangled by the highlighter.


asciidoc-py3-9.0.0rc1/tests/data/lang-ja-article-test-html4.html0000644000175000017500000000625613570064211023665 0ustar josephjoseph Languages Test

Languages Test

version v1.0, 2003-12-21


概要

概要セクション


第一セクション

警告

以下は処理系が翻訳するのでこのソースでは翻訳しない。

Lorum ipsum.

補足

Lorum ipsum.

警告

Lorum ipsum.

注意

Lorum ipsum.

重要

Lorum ipsum.
虎の絵

図 1. Tiger

続いて表の例。

オプション 説明

-a USER GROUP

USERGROUP に追加する

-R GROUP

GROUP へのアクセスを禁止する

表 1. Table

そしてまったく異なるものの例: 猿、ライオン、虎。


付録 A: 付録の例

付録セクション


参考文献

参考文献セクション

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.


用語集

用語集セクション

用語

(インデントされた)用語の定義

別の用語

(インデントされた)用語の定義


バージョン v1.0
2002-11-25 00:37:42 UTC 更新

asciidoc-py3-9.0.0rc1/tests/data/lang-de-test.txt0000644000175000017500000000401013570064211021051 0ustar josephjoseph// Test for lang-de.conf language file. :lang: de Languages Test ============== :revnumber: v1.0 :revdate: 2003-12-21 ifdef::doctype-article[] Zusammenfassung --------------- Abstract special section. endif::doctype-article[] ifdef::doctype-book[] Widmung ------- Dedication special section. Vorwort ------- Preface special section. Kolophon -------- Colophon special section. endif::doctype-book[] The First Section ----------------- Admonishments ~~~~~~~~~~~~~ Do not translate in the source file -- they are translated to the output file NOTE: Lorum ipsum. TIP: Lorum ipsum. WARNING: Lorum ipsum. CAUTION: Lorum ipsum. IMPORTANT: Lorum ipsum. .Tiger image::../../images/tiger.png[Tiger image] Followed by an example table: .Table [width="60%",options="header"] |============================================== | Option | Description | -a 'USER GROUP' | Add 'USER' to 'GROUP'. | -R 'GROUP' | Disables access to 'GROUP'. |============================================== And now for something completely different: ((monkeys)), lions and tigers. Anhang A: Example Appendix -------------------------- Appendix special section. Literaturverzeichnis -------------------- Bibliography special section. [bibliography] - [[[taoup]]] Eric Steven Raymond. 'The Art of Unix Programming'. Addison-Wesley. ISBN 0-13-142901-9. - [[[walsh-muellner]]] Norman Walsh & Leonard Muellner. 'DocBook - The Definitive Guide'. O'Reilly & Associates. 1999. ISBN 1-56592-580-7. Glossar ------- Glossary special section. [glossary] A glossary term:: The corresponding (indented) definition. A second glossary term:: The corresponding (indented) definition. ifdef::basebackend-docbook[] Stichwortverzeichnis -------------------- //////////////////////////////////////////////////////////////// Index special section. The index is normally left completely empty, it's contents being generated automatically by the DocBook toolchain. //////////////////////////////////////////////////////////////// endif::basebackend-docbook[] asciidoc-py3-9.0.0rc1/tests/data/lang-de-article-test-xhtml11.html0000644000175000017500000004615413570064211024132 0ustar josephjoseph Languages Test

Zusammenfassung

Abstract special section.

The First Section

Admonishments

Do not translate in the source file — they are translated to the output file

Anmerkung
Lorum ipsum.
Tipp
Lorum ipsum.
Warnung
Lorum ipsum.
Achtung
Lorum ipsum.
Wichtig
Lorum ipsum.
Tiger image
Abbildung 1. Tiger

Followed by an example table:

Tabelle 1. Table
Option Description

-a USER GROUP

Add USER to GROUP.

-R GROUP

Disables access to GROUP.

And now for something completely different: monkeys, lions and tigers.

Anhang A: Example Appendix

Appendix special section.

Literaturverzeichnis

Bibliography special section.

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.

Glossar

Glossary special section.

A glossary term

The corresponding (indented) definition.

A second glossary term

The corresponding (indented) definition.


asciidoc-py3-9.0.0rc1/tests/data/lang-sv-article-test-xhtml11.html0000644000175000017500000004612613570064211024171 0ustar josephjoseph Languages Test

Sammanfattning

Abstract special section.

The First Section

Admonishments

Do not translate in the source file — they are translated to the output file

Not
Lorum ipsum.
Tips
Lorum ipsum.
Varning
Lorum ipsum.
Varning
Lorum ipsum.
Viktigt
Lorum ipsum.
Tiger image
Figur 1. Tiger

Followed by an example table:

Tabell 1. Table
Option Description

-a USER GROUP

Add USER to GROUP.

-R GROUP

Disables access to GROUP.

And now for something completely different: monkeys, lions and tigers.

Appendix A: Exempel-appendix

Appendix special section.

Referenser

Bibliography special section.

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.

Ordlista

Glossary special section.

A glossary term

The corresponding (indented) definition.

A second glossary term

The corresponding (indented) definition.


asciidoc-py3-9.0.0rc1/tests/data/newtables-html4.html0000644000175000017500000011466313570064211021744 0ustar josephjoseph AsciiDoc New tables

AsciiDoc New tables

New in version 8.3.0

I’ve finally come up with a new tables syntax that I’m happy with and can at last remove this footnote from the User Guide: “The current table syntax is overly complicated and unwieldy to edit, hopefully a more usable syntax will appear in future versions of AsciiDoc.”

Update

The following additions were made at AsciiDoc 8.4.4:

  • Cell column and row spanning.

  • Styles can be applied per cell.

  • Vertical cell alignment can be applied to columns and cells.

See the examples at the end of this document.

At first glance it doesn’t look much different to the old syntax but it’s a lot more flexible, easier to enter and supports a lot of column styles (for example the asciidoc style supports AsciiDoc block and inline elements). The old tables syntax has been deprecated but is currently still processed. Here are some examples of AsciiDoc new tables:

1

2

A

3

4

B

5

6

C

Table 1. Simple table

AsciiDoc source

[width="15%"]
|=======
|1 |2 |A
|3 |4 |B
|5 |6 |C
|=======
Column 1 Column 2

6

Three items

1

Item 1

2

Item 2

3

Item 3

Table 2. Table with title, header and footer

AsciiDoc source

.An example table
[width="40%",frame="topbot",options="header,footer"]
|======================
|Column 1 |Column 2
|1        |Item 1
|2        |Item 2
|3        |Item 3
|6        |Three items
|======================
Columns 2 and 3

footer 1

footer 2

footer 3

1

Item 1

Item 1

2

Item 2

Item 2

3

Item 3

Item 3

4

Item 4

Item 4

Table 3. Columns formatted with strong, monospaced and emphasis styles

AsciiDoc source

.An example table
[width="50%",cols=">s,^2m,^2e",frame="topbot",options="header,footer"]
|==========================
|      2+|Columns 2 and 3
|1       |Item 1  |Item 1
|2       |Item 2  |Item 2
|3       |Item 3  |Item 3
|4       |Item 4  |Item 4
|footer 1|footer 2|footer 3
|==========================
ID Customer Name Contact Name Customer Address Phone

AROUT

Around the Horn

Thomas Hardy

120 Hanover Sq. London

(171) 555-7788

BERGS

Berglunds snabbkop

Christina Berglund

Berguvsvagen 8 Lulea

0921-12 34 65

BLAUS

Blauer See Delikatessen

Hanna Moos

Forsterstr. 57 Mannheim

0621-08460

BLONP

Blondel pere et fils

Frederique Citeaux

24, place Kleber Strasbourg

88.60.15.31

BOLID

Bolido Comidas preparadas

Martin Sommer

C/ Araquil, 67 Madrid

(91) 555 22 82

BONAP

Bon app'

Laurence Lebihan

12, rue des Bouchers Marseille

91.24.45.40

BOTTM

Bottom-Dollar Markets

Elizabeth Lincoln

23 Tsawassen Blvd. Tsawassen

(604) 555-4729

BSBEV

B’s Beverages

Victoria Ashworth

Fauntleroy Circus London

(171) 555-1212

CACTU

Cactus Comidas para llevar

Patricio Simpson

Cerrito 333 Buenos Aires

(1) 135-5555

Table 4. A table with externally sourced CSV data

AsciiDoc source

 [format="csv",cols="^1,4*2",options="header"]
 |===================================================
 ID,Customer Name,Contact Name,Customer Address,Phone
 include::customers.csv[]
 |===================================================

root

x

0

0

root

/root

/bin/bash

daemon

x

1

1

daemon

/usr/sbin

/bin/sh

bin

x

2

2

bin

/bin

/bin/sh

sys

x

3

3

sys

/dev

/bin/sh

sync

x

4

65534

sync

/bin

/bin/sync

games

x

5

60

games

/usr/games

/bin/sh

Table 5. DVS formatted table

AsciiDoc source

[width="70%",format="dsv"]
|====================================
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/bin/sh
|====================================
Date Duration Avg HR Notes

22-Aug-08

10:24

157

Worked out MSHR (max sustainable heart rate) by going hard for this interval.

22-Aug-08

23:03

152

Back-to-back with previous interval.

24-Aug-08

40:00

145

Moderately hard interspersed with 3x 3min intervals (2min hard + 1min really hard taking the HR up to 160).

Table 6. Horizontal and vertical source data

Short cells can be entered horizontally, longer cells vertically. The default behavior is to strip leading and trailing blank lines within a cell. These characteristics aid readability and data entry.

AsciiDoc source

.Windtrainer workouts
[width="80%",cols="3,^2,^2,10",options="header"]
|=========================================================
|Date |Duration |Avg HR |Notes

|22-Aug-08 |10:24 | 157 |
Worked out MSHR (max sustainable heart rate) by going hard
for this interval.

|22-Aug-08 |23:03 | 152 |
Back-to-back with previous interval.

|24-Aug-08 |40:00 | 145 |
Moderately hard interspersed with 3x 3min intervals (2min
hard + 1min really hard taking the HR up to 160).

|=========================================================
Default paragraphs Centered verses

Per id.

Consul necessitatibus per id, consetetur, eu pro everti postulant homero verear ea mea, qui.

Consul necessitatibus per id, consetetur, eu pro everti postulant homero verear ea mea, qui.

Per id.

Consul necessitatibus per id,
consetetur, eu pro everti postulant
homero verear ea mea, qui.

Consul necessitatibus per id,
consetetur, eu pro everti postulant
homero verear ea mea, qui.

Table 7. Default and verse styles

AsciiDoc source

[cols=",^v",options="header"]
|===================================
|Default paragraphs |Centered verses
2*|Per id.

Consul *necessitatibus* per id,
consetetur, eu pro everti postulant
homero verear ea mea, qui.

Consul *necessitatibus* per id,
consetetur, eu pro everti postulant
homero verear ea mea, qui.
|===================================
West Central East Total

Q1

270

292

342

904

Q2

322

276

383

981

Q3

298

252

274

824

Q4

344

247

402

993

Table 8. Horizontal and vertial headings

AsciiDoc source

.Horizontal and vertial headings
[cols="h,4*",options="header",width="50%"]
|==================================
|      |West |Central |East | Total
|Q1    |270  |292     |342  | 904
|Q2    |322  |276     |383  | 981
|Q3    |298  |252     |274  | 824
|Q4    |344  |247     |402  | 993
|==================================
Output markup AsciiDoc source

Consul necessitatibus per id, consetetur, eu pro everti postulant homero verear ea mea, qui.

Consul *necessitatibus* per id,
consetetur, eu pro everti postulant
homero verear ea mea, qui.

Code filter example

''' A multi-line
    comment.'''
def sub_word(mo):
    ''' Single line comment.'''
    word = mo.group('word')
    if word in keywords[language]:
        return quote + word + quote
    else:
        return word
  • Lorem ipsum dolor sit amet, consectetuer adipiscing elit.

    • Fusce euismod commodo velit.

    • Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel.

    • Vivamus fringilla mi eu lacus.

    • Donec eget arcu bibendum nunc consequat lobortis.

  • Nulla porttitor vulputate libero.

    1. Fusce euismod commodo velit.

    2. Vivamus fringilla mi eu lacus.

Consul *necessitatibus* per id,
consetetur, eu pro everti postulant
homero verear ea mea, qui.

-----------------------------------
Consul *necessitatibus* per id,
consetetur, eu pro everti postulant
homero verear ea mea, qui.
-----------------------------------

.Code filter example
[source,python]
-----------------------------------
''' A multi-line
    comment.'''
def sub_word(mo):
    ''' Single line comment.'''
    word = mo.group('word')
    if word in keywords[language]:
        return quote + word + quote
    else:
        return word
-----------------------------------

- Lorem ipsum dolor sit amet,
  consectetuer adipiscing elit.
  * Fusce euismod commodo velit.
  * Qui in magna commodo, est labitur
    dolorum an. Est ne magna primis
    adolescens. Sit munere ponderum
    dignissim et. Minim luptatum et vel.
  * Vivamus fringilla mi eu lacus.
  * Donec eget arcu bibendum nunc
    consequat lobortis.
- Nulla porttitor vulputate libero.
  . Fusce euismod commodo velit.
  . Vivamus fringilla mi eu lacus.

Table 9. AsciiDoc style in first column, Literal in second

AsciiDoc source

[cols="asciidoc,literal",options="header",grid="cols"]
|==================================
|Output markup |AsciiDoc source
2*|
Consul *necessitatibus* per id,
consetetur, eu pro everti postulant
homero verear ea mea, qui.

-----------------------------------
Consul *necessitatibus* per id,
consetetur, eu pro everti postulant
homero verear ea mea, qui.
-----------------------------------

.Code filter example
[source,python]
-----------------------------------
''' A multi-line
    comment.'''
def sub_word(mo):
   ''' Single line comment.'''
    word = mo.group('word')
    if word in keywords[language]:
        return quote + word + quote
    else:
        return word
-----------------------------------

- Lorem ipsum dolor sit amet,
  consectetuer adipiscing elit.
  * Fusce euismod commodo velit.
  * Qui in magna commodo, est labitur
    dolorum an. Est ne magna primis
    adolescens. Sit munere ponderum
    dignissim et. Minim luptatum et vel.
  * Vivamus fringilla mi eu lacus.
  * Donec eget arcu bibendum nunc
    consequat lobortis.
- Nulla porttitor vulputate libero.
  . Fusce euismod commodo velit.
  . Vivamus fringilla mi eu lacus.

|==================================

URLs: The AsciiDoc home page, http://asciidoc.org/, email Joe Bloggs, joe.bloggs@example.com, joe.bloggs.

Link: See AsciiDoc source.

Emphasized text, Strong text, Monospaced text, “Quoted text”.

Subscripts and superscripts: eπi+1 = 0. H2O and x10. Some super text and some sub text

Replacements: © copyright, ™ trademark, ® registered trademark, — em dash, … ellipsis, → right arrow, ← left arrow, ⇒ right double arrow, ⇐ left double arrow.

Table 10. Cell containing lots of example markup elements

AsciiDoc source

|====================================================================
|'URLs':
http://asciidoc.org/[The AsciiDoc home page],
http://asciidoc.org/,
mailto:joe.bloggs@example.com[email Joe Bloggs],
joe.bloggs@example.com,
callto:joe.bloggs[].

'Link': See <<X1,AsciiDoc source>>.

'Emphasized text', *Strong text*, +Monospaced text+, ``Quoted text''.

'Subscripts and superscripts': e^{amp}#960;i^+1 = 0. H~2~O and x^10^.
Some ^super text^ and ~some sub text~

'Replacements': (C) copyright, (TM) trademark, (R) registered trademark,
-- em dash, ... ellipsis, -> right arrow, <- left arrow, => right
double arrow, <= left double arrow.
|====================================================================

Normal cell

Cell with nested table

Nested table cell 1

Nested table cell 2

Table 11. Nested table

AsciiDoc source

[width="75%",cols="1,2a"]
|==============================================
|Normal cell

|Cell with nested table

[cols="2,1"]
!==============================================
!Nested table cell 1 !Nested table cell 2
!==============================================

|==============================================

1

2

3

4

5

6

7

8

9

10

Table 12. Spans, alignments and styles

AsciiDoc source

.Spans, alignments and styles
[cols="e,m,^,>s",width="25%"]
|================
|1 >s|2 |3 |4
^|5 2.2+^.^|6 .3+<.>m|7
^|8
|9 2+>|10
|================

Top Left Pane

Consul necessitatibus per id, consetetur, eu pro everti postulant homero verear ea mea, qui.

Consul necessitatibus per id, consetetur, eu pro everti postulant homero verear ea mea, qui.

Right Pane

Consul necessitatibus per id, consetetur, eu pro everti postulant homero verear ea mea, qui.

Consul *necessitatibus* per id,
consetetur, eu pro everti postulant
homero verear ea mea, qui.

Code filter example

''' A multi-line
    comment.'''
def sub_word(mo):
    ''' Single line comment.'''
    word = mo.group('word')
    if word in keywords[language]:
        return quote + word + quote
    else:
        return word
  • Lorem ipsum dolor sit amet, consectetuer adipiscing elit.

    • Fusce euismod commodo velit.

    • Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel.

    • Vivamus fringilla mi eu lacus.

    • Donec eget arcu bibendum nunc consequat lobortis.

  • Nulla porttitor vulputate libero.

    1. Fusce euismod commodo velit.

    2. Vivamus fringilla mi eu lacus.

Bottom Left Pane

Consul necessitatibus per id, consetetur, eu pro everti postulant homero verear ea mea, qui.

Consul necessitatibus per id, consetetur, eu pro everti postulant homero verear ea mea, qui.

  • Lorem ipsum dolor sit amet, consectetuer adipiscing elit.

    • Fusce euismod commodo velit.

    • Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel.

    • Vivamus fringilla mi eu lacus.

    • Donec eget arcu bibendum nunc consequat lobortis.

  • Nulla porttitor vulputate libero.

    1. Fusce euismod commodo velit.

    2. Vivamus fringilla mi eu lacus.

Table 13. Three panes

AsciiDoc source

.Three panes
[cols="a,2a"]
|==================================
|
[float]
Top Left Pane
~~~~~~~~~~~~~
Consul *necessitatibus* per id,
consetetur, eu pro everti postulant
homero verear ea mea, qui.

Consul *necessitatibus* per id,
consetetur, eu pro everti postulant
homero verear ea mea, qui.

.2+|
[float]
Right Pane
~~~~~~~~~~
Consul *necessitatibus* per id,
consetetur, eu pro everti postulant
homero verear ea mea, qui.

-----------------------------------
Consul *necessitatibus* per id,
consetetur, eu pro everti postulant
homero verear ea mea, qui.
-----------------------------------

.Code filter example
[source,python]
-----------------------------------
''' A multi-line
    comment.'''
def sub_word(mo):
    ''' Single line comment.'''
    word = mo.group('word')
    if word in keywords[language]:
        return quote + word + quote
    else:
        return word
-----------------------------------

- Lorem ipsum dolor sit amet,
  consectetuer adipiscing elit.
  * Fusce euismod commodo velit.
  * Qui in magna commodo, est labitur
    dolorum an. Est ne magna primis
    adolescens. Sit munere ponderum
    dignissim et. Minim luptatum et vel.
  * Vivamus fringilla mi eu lacus.
  * Donec eget arcu bibendum nunc
    consequat lobortis.
- Nulla porttitor vulputate libero.
  . Fusce euismod commodo velit.
  . Vivamus fringilla mi eu lacus.

|
[float]
Bottom Left Pane
~~~~~~~~~~~~~~~~
Consul *necessitatibus* per id,
consetetur, eu pro everti postulant
homero verear ea mea, qui.

Consul *necessitatibus* per id,
consetetur, eu pro everti postulant
homero verear ea mea, qui.

- Lorem ipsum dolor sit amet,
  consectetuer adipiscing elit.
  * Fusce euismod commodo velit.
  * Qui in magna commodo, est labitur
    dolorum an. Est ne magna primis
    adolescens. Sit munere ponderum
    dignissim et. Minim luptatum et vel.
  * Vivamus fringilla mi eu lacus.
  * Donec eget arcu bibendum nunc
    consequat lobortis.
- Nulla porttitor vulputate libero.
  . Fusce euismod commodo velit.
  . Vivamus fringilla mi eu lacus.

|==================================

Combinations of align, frame, grid, valign and halign attributes

frame grid valign halign
 
 
 

all

all

top

left

AsciiDoc source

:frame: all
:grid: all
:halign: left
:valign: top

[options="header"]
|====
||frame | grid |valign |halign
v|&nbsp;
&nbsp;
&nbsp;
|{frame} | {grid} |{valign} |{halign}
|====
frame grid valign halign
 
 
 

sides

rows

middle

center

Table 14. Table test

AsciiDoc source

:frame: sides
:grid: rows
:halign: center
:valign: middle

.Table test
[width="50%",options="header"]
|====
||frame | grid |valign |halign
v|&nbsp;
&nbsp;
&nbsp;
|{frame} | {grid} |{valign} |{halign}
|====
frame grid valign halign
 
 
 

topbot

cols

bottom

right

AsciiDoc source

:frame: topbot
:grid: cols
:halign: right
:valign: bottom

[align="right",width="50%",options="header"]
|====
||frame | grid |valign |halign
v|&nbsp;
&nbsp;
&nbsp;
|{frame} | {grid} |{valign} |{halign}
|====
frame grid valign halign
 
 
 

none

none

top

left

AsciiDoc source

:frame: none
:grid: none
:halign: left
:valign: top

[align="center",width="50%",options="header"]
|====
||frame | grid |valign |halign
v|&nbsp;
&nbsp;
&nbsp;
|{frame} | {grid} |{valign} |{halign}
|====


Last updated 2002-11-25 00:37:42 UTC

asciidoc-py3-9.0.0rc1/tests/data/oldtables.txt0000644000175000017500000000337013570064211020546 0ustar josephjosephAsciiDoc Old Tables =================== Examples of the AsciiDoc 'old tables' syntax. This syntax was used in AsciiDoc versions up to 8.2.7 and has since been deprecated in favor of the 'new tables' syntax. Simple table: `---`--- 1 2 3 4 5 6 -------- Table with title, header and footer: .An example table [grid="all"] `-----------.-------------- Column 1 Column 2 --------------------------- 1 Item 1 2 Item 2 3 Item 3 --------------------------- 6 Three items --------------------------- Four columns totaling 15% of the 'pagewidth', CSV data: [frame="all"] ````~15 1,2,3,4 a,b,c,d A,B,C,D ~~~~~~~~ A table with a numeric ruler and externally sourced CSV data: [frame="all", grid="all"] `15`20`25`20`~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ID,Customer Name,Contact Name,Customer Address,Phone ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ "AROUT","Around the Horn","Thomas Hardy","120 Hanover Sq. London","(171) 555-7788" "BERGS","Berglunds snabbkop","Christina Berglund","Berguvsvagen 8 Lulea","0921-12 34 65" "BLAUS","Blauer See Delikatessen","Hanna Moos","Forsterstr. 57 Mannheim","0621-08460" "BLONP","Blondel pere et fils","Frederique Citeaux","24, place Kleber Strasbourg","88.60.15.31" "BOLID","Bolido Comidas preparadas","Martin Sommer","C/ Araquil, 67 Madrid","(91) 555 22 82" "BONAP","Bon app'","Laurence Lebihan","12, rue des Bouchers Marseille","91.24.45.40" "BOTTM","Bottom-Dollar Markets","Elizabeth Lincoln","23 Tsawassen Blvd. Tsawassen","(604) 555-4729" "BSBEV","B's Beverages","Victoria Ashworth","Fauntleroy Circus London","(171) 555-1212" "CACTU","Cactus Comidas para llevar","Patricio Simpson","Cerrito 333 Buenos Aires","(1) 135-5555" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ asciidoc-py3-9.0.0rc1/tests/data/lang-ru-book-test-docbook.xml0000644000175000017500000000753713570064211023457 0ustar josephjoseph Languages Test 2003-12-21 v1.02003-12-21 Посвящение Dedication special section. Введение Preface special section. Колофон Colophon special section. The First Section
Admonishments Do not translate in the source file — they are translated to the output file Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum.
Tiger Tiger image
Followed by an example table: Table Option Description -a USER GROUP Add USER to GROUP. -R GROUP Disables access to GROUP.
And now for something completely different: monkeysmonkeys, lions and tigers.
Example Appendix Appendix special section. Библиография Bibliography special section. [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9. [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7. Словарь терминов Glossary special section. A glossary term The corresponding (indented) definition. A second glossary term The corresponding (indented) definition. Предметный указатель
asciidoc-py3-9.0.0rc1/tests/data/lang-pt-BR-article-test-xhtml11.html0000644000175000017500000004614113570064211024462 0ustar josephjoseph Languages Test

Resumo

Abstract special section.

The First Section

Admonishments

Do not translate in the source file — they are translated to the output file

Nota
Lorum ipsum.
Sugestão
Lorum ipsum.
Aviso
Lorum ipsum.
Atenção
Lorum ipsum.
Importante
Lorum ipsum.
Tiger image
Figura 1. Tiger

Followed by an example table:

Tabela 1. Table
Option Description

-a USER GROUP

Add USER to GROUP.

-R GROUP

Disables access to GROUP.

And now for something completely different: monkeys, lions and tigers.

Appêndice A: Example Appendix

Appendix special section.

Bibliografia

Bibliography special section.

  • [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9.

  • [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7.

Glossário

Glossary special section.

A glossary term

The corresponding (indented) definition.

A second glossary term

The corresponding (indented) definition.


asciidoc-py3-9.0.0rc1/tests/data/lang-ja-test.txt0000644000175000017500000000354313570064211021065 0ustar josephjoseph// Test for lang-ja.conf language file. :lang: ja Languages Test ============== :revnumber: v1.0 :revdate: 2003-12-21 ifdef::doctype-article[] == 概要 概要セクション endif::doctype-article[] ifdef::doctype-book[] == 献辞 献辞セクション == 前書 前書セクション == 奥付 奥付セクション endif::doctype-book[] == 第一セクション === 警告 以下は処理系が翻訳するのでこのソースでは翻訳しない。 NOTE: Lorum ipsum. TIP: Lorum ipsum. WARNING: Lorum ipsum. CAUTION: Lorum ipsum. IMPORTANT: Lorum ipsum. .Tiger image::../../images/tiger.png[虎の絵] 続いて表の例。 .Table [width="60%",options="header"] |================================================= | オプション | 説明 | -a 'USER GROUP' | 'USER' を 'GROUP' に追加する | -R 'GROUP' | 'GROUP' へのアクセスを禁止する |================================================= そしてまったく異なるものの例: ((猿))、ライオン、虎。 == 付録 A: 付録の例 付録セクション == 参考文献 参考文献セクション [bibliography] - [[[taoup]]] Eric Steven Raymond. 'The Art of Unix Programming'. Addison-Wesley. ISBN 0-13-142901-9. - [[[walsh-muellner]]] Norman Walsh & Leonard Muellner. 'DocBook - The Definitive Guide'. O'Reilly & Associates. 1999. ISBN 1-56592-580-7. == 用語集 用語集セクション [glossary] 用語:: (インデントされた)用語の定義 別の用語:: (インデントされた)用語の定義 ifdef::basebackend-docbook[] == 索引 //////////////////////////////////////////////////////////////// 索引セクション。 内容は DocBook ツールチェーンが自動生成するので、 通常このセクションは空である。 //////////////////////////////////////////////////////////////// endif::basebackend-docbook[] asciidoc-py3-9.0.0rc1/tests/data/newtables-xhtml11.html0000644000175000017500000016044513570064211022211 0ustar josephjoseph AsciiDoc New tables

New in version 8.3.0

I’ve finally come up with a new tables syntax that I’m happy with and can at last remove this footnote from the User Guide: “The current table syntax is overly complicated and unwieldy to edit, hopefully a more usable syntax will appear in future versions of AsciiDoc.”

Update

The following additions were made at AsciiDoc 8.4.4:

  • Cell column and row spanning.

  • Styles can be applied per cell.

  • Vertical cell alignment can be applied to columns and cells.

See the examples at the end of this document.

At first glance it doesn’t look much different to the old syntax but it’s a lot more flexible, easier to enter and supports a lot of column styles (for example the asciidoc style supports AsciiDoc block and inline elements). The old tables syntax has been deprecated but is currently still processed. Here are some examples of AsciiDoc new tables:

Table 1. Simple table

1

2

A

3

4

B

5

6

C

AsciiDoc source
[width="15%"]
|=======
|1 |2 |A
|3 |4 |B
|5 |6 |C
|=======
Table 2. Table with title, header and footer
Column 1 Column 2

6

Three items

1

Item 1

2

Item 2

3

Item 3

AsciiDoc source
.An example table
[width="40%",frame="topbot",options="header,footer"]
|======================
|Column 1 |Column 2
|1        |Item 1
|2        |Item 2
|3        |Item 3
|6        |Three items
|======================
Table 3. Columns formatted with strong, monospaced and emphasis styles
Columns 2 and 3

footer 1

footer 2

footer 3

1

Item 1

Item 1

2

Item 2

Item 2

3

Item 3

Item 3

4

Item 4

Item 4

AsciiDoc source
.An example table
[width="50%",cols=">s,^2m,^2e",frame="topbot",options="header,footer"]
|==========================
|      2+|Columns 2 and 3
|1       |Item 1  |Item 1
|2       |Item 2  |Item 2
|3       |Item 3  |Item 3
|4       |Item 4  |Item 4
|footer 1|footer 2|footer 3
|==========================
Table 4. A table with externally sourced CSV data
ID Customer Name Contact Name Customer Address Phone

AROUT

Around the Horn

Thomas Hardy

120 Hanover Sq. London

(171) 555-7788

BERGS

Berglunds snabbkop

Christina Berglund

Berguvsvagen 8 Lulea

0921-12 34 65

BLAUS

Blauer See Delikatessen

Hanna Moos

Forsterstr. 57 Mannheim

0621-08460

BLONP

Blondel pere et fils

Frederique Citeaux

24, place Kleber Strasbourg

88.60.15.31

BOLID

Bolido Comidas preparadas

Martin Sommer

C/ Araquil, 67 Madrid

(91) 555 22 82

BONAP

Bon app'

Laurence Lebihan

12, rue des Bouchers Marseille

91.24.45.40

BOTTM

Bottom-Dollar Markets

Elizabeth Lincoln

23 Tsawassen Blvd. Tsawassen

(604) 555-4729

BSBEV

B’s Beverages

Victoria Ashworth

Fauntleroy Circus London

(171) 555-1212

CACTU

Cactus Comidas para llevar

Patricio Simpson

Cerrito 333 Buenos Aires

(1) 135-5555

AsciiDoc source
 [format="csv",cols="^1,4*2",options="header"]
 |===================================================
 ID,Customer Name,Contact Name,Customer Address,Phone
 include::customers.csv[]
 |===================================================
Table 5. DVS formatted table

root

x

0

0

root

/root

/bin/bash

daemon

x

1

1

daemon

/usr/sbin

/bin/sh

bin

x

2

2

bin

/bin

/bin/sh

sys

x

3

3

sys

/dev

/bin/sh

sync

x

4

65534

sync

/bin

/bin/sync

games

x

5

60

games

/usr/games

/bin/sh

AsciiDoc source
[width="70%",format="dsv"]
|====================================
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/bin/sh
|====================================
Table 6. Horizontal and vertical source data
Date Duration Avg HR Notes

22-Aug-08

10:24

157

Worked out MSHR (max sustainable heart rate) by going hard for this interval.

22-Aug-08

23:03

152

Back-to-back with previous interval.

24-Aug-08

40:00

145

Moderately hard interspersed with 3x 3min intervals (2min hard + 1min really hard taking the HR up to 160).

Short cells can be entered horizontally, longer cells vertically. The default behavior is to strip leading and trailing blank lines within a cell. These characteristics aid readability and data entry.

AsciiDoc source
.Windtrainer workouts
[width="80%",cols="3,^2,^2,10",options="header"]
|=========================================================
|Date |Duration |Avg HR |Notes

|22-Aug-08 |10:24 | 157 |
Worked out MSHR (max sustainable heart rate) by going hard
for this interval.

|22-Aug-08 |23:03 | 152 |
Back-to-back with previous interval.

|24-Aug-08 |40:00 | 145 |
Moderately hard interspersed with 3x 3min intervals (2min
hard + 1min really hard taking the HR up to 160).

|=========================================================
Table 7. Default and verse styles
Default paragraphs Centered verses

Per id.

Consul necessitatibus per id, consetetur, eu pro everti postulant homero verear ea mea, qui.

Consul necessitatibus per id, consetetur, eu pro everti postulant homero verear ea mea, qui.

Per id. Consul necessitatibus per id, consetetur, eu pro everti postulant homero verear ea mea, qui. Consul necessitatibus per id, consetetur, eu pro everti postulant homero verear ea mea, qui.
AsciiDoc source
[cols=",^v",options="header"]
|===================================
|Default paragraphs |Centered verses
2*|Per id.

Consul *necessitatibus* per id,
consetetur, eu pro everti postulant
homero verear ea mea, qui.

Consul *necessitatibus* per id,
consetetur, eu pro everti postulant
homero verear ea mea, qui.
|===================================
Table 8. Horizontal and vertial headings
West Central East Total

Q1

270

292

342

904

Q2

322

276

383

981

Q3

298

252

274

824

Q4

344

247

402

993

AsciiDoc source
.Horizontal and vertial headings
[cols="h,4*",options="header",width="50%"]
|==================================
|      |West |Central |East | Total
|Q1    |270  |292     |342  | 904
|Q2    |322  |276     |383  | 981
|Q3    |298  |252     |274  | 824
|Q4    |344  |247     |402  | 993
|==================================
Table 9. AsciiDoc style in first column, Literal in second
Output markup AsciiDoc source

Consul necessitatibus per id, consetetur, eu pro everti postulant homero verear ea mea, qui.

Consul *necessitatibus* per id,
consetetur, eu pro everti postulant
homero verear ea mea, qui.
Code filter example
''' A multi-line
    comment.'''
def sub_word(mo):
    ''' Single line comment.'''
    word = mo.group('word')
    if word in keywords[language]:
        return quote + word + quote
    else:
        return word
  • Lorem ipsum dolor sit amet, consectetuer adipiscing elit.

    • Fusce euismod commodo velit.

    • Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel.

    • Vivamus fringilla mi eu lacus.

    • Donec eget arcu bibendum nunc consequat lobortis.

  • Nulla porttitor vulputate libero.

    1. Fusce euismod commodo velit.

    2. Vivamus fringilla mi eu lacus.

Consul *necessitatibus* per id,
consetetur, eu pro everti postulant
homero verear ea mea, qui.

-----------------------------------
Consul *necessitatibus* per id,
consetetur, eu pro everti postulant
homero verear ea mea, qui.
-----------------------------------

.Code filter example
[source,python]
-----------------------------------
''' A multi-line
    comment.'''
def sub_word(mo):
    ''' Single line comment.'''
    word = mo.group('word')
    if word in keywords[language]:
        return quote + word + quote
    else:
        return word
-----------------------------------

- Lorem ipsum dolor sit amet,
  consectetuer adipiscing elit.
  * Fusce euismod commodo velit.
  * Qui in magna commodo, est labitur
    dolorum an. Est ne magna primis
    adolescens. Sit munere ponderum
    dignissim et. Minim luptatum et vel.
  * Vivamus fringilla mi eu lacus.
  * Donec eget arcu bibendum nunc
    consequat lobortis.
- Nulla porttitor vulputate libero.
  . Fusce euismod commodo velit.
  . Vivamus fringilla mi eu lacus.
AsciiDoc source
[cols="asciidoc,literal",options="header",grid="cols"]
|==================================
|Output markup |AsciiDoc source
2*|
Consul *necessitatibus* per id,
consetetur, eu pro everti postulant
homero verear ea mea, qui.

-----------------------------------
Consul *necessitatibus* per id,
consetetur, eu pro everti postulant
homero verear ea mea, qui.
-----------------------------------

.Code filter example
[source,python]
-----------------------------------
''' A multi-line
    comment.'''
def sub_word(mo):
   ''' Single line comment.'''
    word = mo.group('word')
    if word in keywords[language]:
        return quote + word + quote
    else:
        return word
-----------------------------------

- Lorem ipsum dolor sit amet,
  consectetuer adipiscing elit.
  * Fusce euismod commodo velit.
  * Qui in magna commodo, est labitur
    dolorum an. Est ne magna primis
    adolescens. Sit munere ponderum
    dignissim et. Minim luptatum et vel.
  * Vivamus fringilla mi eu lacus.
  * Donec eget arcu bibendum nunc
    consequat lobortis.
- Nulla porttitor vulputate libero.
  . Fusce euismod commodo velit.
  . Vivamus fringilla mi eu lacus.

|==================================
Table 10. Cell containing lots of example markup elements

URLs: The AsciiDoc home page, http://asciidoc.org/, email Joe Bloggs, joe.bloggs@example.com, joe.bloggs.

Link: See AsciiDoc source.

Emphasized text, Strong text, Monospaced text, “Quoted text”.

Subscripts and superscripts: eπi+1 = 0. H2O and x10. Some super text and some sub text

Replacements: © copyright, ™ trademark, ® registered trademark, — em dash, … ellipsis, → right arrow, ← left arrow, ⇒ right double arrow, ⇐ left double arrow.

AsciiDoc source
|====================================================================
|'URLs':
http://asciidoc.org/[The AsciiDoc home page],
http://asciidoc.org/,
mailto:joe.bloggs@example.com[email Joe Bloggs],
joe.bloggs@example.com,
callto:joe.bloggs[].

'Link': See <<X1,AsciiDoc source>>.

'Emphasized text', *Strong text*, +Monospaced text+, ``Quoted text''.

'Subscripts and superscripts': e^{amp}#960;i^+1 = 0. H~2~O and x^10^.
Some ^super text^ and ~some sub text~

'Replacements': (C) copyright, (TM) trademark, (R) registered trademark,
-- em dash, ... ellipsis, -> right arrow, <- left arrow, => right
double arrow, <= left double arrow.
|====================================================================
Table 11. Nested table

Normal cell

Cell with nested table

Nested table cell 1

Nested table cell 2

AsciiDoc source
[width="75%",cols="1,2a"]
|==============================================
|Normal cell

|Cell with nested table

[cols="2,1"]
!==============================================
!Nested table cell 1 !Nested table cell 2
!==============================================

|==============================================
Table 12. Spans, alignments and styles

1

2

3

4

5

6

7

8

9

10

AsciiDoc source
.Spans, alignments and styles
[cols="e,m,^,>s",width="25%"]
|================
|1 >s|2 |3 |4
^|5 2.2+^.^|6 .3+<.>m|7
^|8
|9 2+>|10
|================
Table 13. Three panes

Top Left Pane

Consul necessitatibus per id, consetetur, eu pro everti postulant homero verear ea mea, qui.

Consul necessitatibus per id, consetetur, eu pro everti postulant homero verear ea mea, qui.

Right Pane

Consul necessitatibus per id, consetetur, eu pro everti postulant homero verear ea mea, qui.

Consul *necessitatibus* per id,
consetetur, eu pro everti postulant
homero verear ea mea, qui.
Code filter example
''' A multi-line
    comment.'''
def sub_word(mo):
    ''' Single line comment.'''
    word = mo.group('word')
    if word in keywords[language]:
        return quote + word + quote
    else:
        return word
  • Lorem ipsum dolor sit amet, consectetuer adipiscing elit.

    • Fusce euismod commodo velit.

    • Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel.

    • Vivamus fringilla mi eu lacus.

    • Donec eget arcu bibendum nunc consequat lobortis.

  • Nulla porttitor vulputate libero.

    1. Fusce euismod commodo velit.

    2. Vivamus fringilla mi eu lacus.

Bottom Left Pane

Consul necessitatibus per id, consetetur, eu pro everti postulant homero verear ea mea, qui.

Consul necessitatibus per id, consetetur, eu pro everti postulant homero verear ea mea, qui.

  • Lorem ipsum dolor sit amet, consectetuer adipiscing elit.

    • Fusce euismod commodo velit.

    • Qui in magna commodo, est labitur dolorum an. Est ne magna primis adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel.

    • Vivamus fringilla mi eu lacus.

    • Donec eget arcu bibendum nunc consequat lobortis.

  • Nulla porttitor vulputate libero.

    1. Fusce euismod commodo velit.

    2. Vivamus fringilla mi eu lacus.

AsciiDoc source
.Three panes
[cols="a,2a"]
|==================================
|
[float]
Top Left Pane
~~~~~~~~~~~~~
Consul *necessitatibus* per id,
consetetur, eu pro everti postulant
homero verear ea mea, qui.

Consul *necessitatibus* per id,
consetetur, eu pro everti postulant
homero verear ea mea, qui.

.2+|
[float]
Right Pane
~~~~~~~~~~
Consul *necessitatibus* per id,
consetetur, eu pro everti postulant
homero verear ea mea, qui.

-----------------------------------
Consul *necessitatibus* per id,
consetetur, eu pro everti postulant
homero verear ea mea, qui.
-----------------------------------

.Code filter example
[source,python]
-----------------------------------
''' A multi-line
    comment.'''
def sub_word(mo):
    ''' Single line comment.'''
    word = mo.group('word')
    if word in keywords[language]:
        return quote + word + quote
    else:
        return word
-----------------------------------

- Lorem ipsum dolor sit amet,
  consectetuer adipiscing elit.
  * Fusce euismod commodo velit.
  * Qui in magna commodo, est labitur
    dolorum an. Est ne magna primis
    adolescens. Sit munere ponderum
    dignissim et. Minim luptatum et vel.
  * Vivamus fringilla mi eu lacus.
  * Donec eget arcu bibendum nunc
    consequat lobortis.
- Nulla porttitor vulputate libero.
  . Fusce euismod commodo velit.
  . Vivamus fringilla mi eu lacus.

|
[float]
Bottom Left Pane
~~~~~~~~~~~~~~~~
Consul *necessitatibus* per id,
consetetur, eu pro everti postulant
homero verear ea mea, qui.

Consul *necessitatibus* per id,
consetetur, eu pro everti postulant
homero verear ea mea, qui.

- Lorem ipsum dolor sit amet,
  consectetuer adipiscing elit.
  * Fusce euismod commodo velit.
  * Qui in magna commodo, est labitur
    dolorum an. Est ne magna primis
    adolescens. Sit munere ponderum
    dignissim et. Minim luptatum et vel.
  * Vivamus fringilla mi eu lacus.
  * Donec eget arcu bibendum nunc
    consequat lobortis.
- Nulla porttitor vulputate libero.
  . Fusce euismod commodo velit.
  . Vivamus fringilla mi eu lacus.

|==================================

Combinations of align, frame, grid, valign and halign attributes

frame grid valign halign
     

all

all

top

left

AsciiDoc source
:frame: all
:grid: all
:halign: left
:valign: top

[options="header"]
|====
||frame | grid |valign |halign
v|&nbsp;
&nbsp;
&nbsp;
|{frame} | {grid} |{valign} |{halign}
|====
Table 14. Table test
frame grid valign halign
     

sides

rows

middle

center

AsciiDoc source
:frame: sides
:grid: rows
:halign: center
:valign: middle

.Table test
[width="50%",options="header"]
|====
||frame | grid |valign |halign
v|&nbsp;
&nbsp;
&nbsp;
|{frame} | {grid} |{valign} |{halign}
|====
frame grid valign halign
     

topbot

cols

bottom

right

AsciiDoc source
:frame: topbot
:grid: cols
:halign: right
:valign: bottom

[align="right",width="50%",options="header"]
|====
||frame | grid |valign |halign
v|&nbsp;
&nbsp;
&nbsp;
|{frame} | {grid} |{valign} |{halign}
|====
frame grid valign halign
     

none

none

top

left

AsciiDoc source
:frame: none
:grid: none
:halign: left
:valign: top

[align="center",width="50%",options="header"]
|====
||frame | grid |valign |halign
v|&nbsp;
&nbsp;
&nbsp;
|{frame} | {grid} |{valign} |{halign}
|====

asciidoc-py3-9.0.0rc1/tests/data/lang-de-book-test-docbook.xml0000644000175000017500000000731113570064211023407 0ustar josephjoseph Languages Test 2003-12-21 v1.02003-12-21 Widmung Dedication special section. Vorwort Preface special section. Kolophon Colophon special section. The First Section
Admonishments Do not translate in the source file — they are translated to the output file Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum. Lorum ipsum.
Tiger Tiger image
Followed by an example table: Table Option Description -a USER GROUP Add USER to GROUP. -R GROUP Disables access to GROUP.
And now for something completely different: monkeysmonkeys, lions and tigers.
Example Appendix Appendix special section. Literaturverzeichnis Bibliography special section. [taoup] Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley. ISBN 0-13-142901-9. [walsh-muellner] Norman Walsh & Leonard Muellner. DocBook - The Definitive Guide. O’Reilly & Associates. 1999. ISBN 1-56592-580-7. Glossar Glossary special section. A glossary term The corresponding (indented) definition. A second glossary term The corresponding (indented) definition. Stichwortverzeichnis
asciidoc-py3-9.0.0rc1/BUGS.txt0000644000175000017500000000115413570064211015260 0ustar josephjosephBugs and Known Problems ======================= AsciiDoc -------- - Reported line numbers in diagnostic messages are sometimes wrong. - Attribute references in macro attribute lists can't be unescaped (with the exception of attribute list entry `{0}`). - Section numbering is incorrect when outputting HTML from a multi-part book type document. This is not a biggy since multi-part books are generally processed to DocBook. - A row of apostrophes in an inline context throws AsciiDoc into an endless loop. The problem seems to be in the input file 'Reader'. dblatex ------- See `./dblatex/dblatex-readme.txt`. asciidoc-py3-9.0.0rc1/common.aap0000644000175000017500000000020013570064211015721 0ustar josephjoseph# # Executed by all main.aap's before anything else. # _parent.VERS = 9.0.0rc1 _parent.DATE = 27 November 2019 all: :pass asciidoc-py3-9.0.0rc1/lang-en.conf0000644000175000017500000000220113570064211016141 0ustar josephjoseph# # AsciiDoc English language configuration file. # [attributes] # Captions, used by (X)HTML backends. # Captions on RHS are displayed in outputs. ifdef::basebackend-html[] caution-caption=Caution important-caption=Important note-caption=Note tip-caption=Tip warning-caption=Warning figure-caption=Figure table-caption=Table example-caption=Example toc-title=Table of Contents appendix-caption=Appendix # Man page NAME section title. manname-title=NAME [footer-text] Version {revnumber}{basebackend-xhtml11?
}{basebackend-xhtml11=
} Last updated template::[footer-date] endif::basebackend-html[] [specialsections] # DocBook special sections. # The regular expression on LHS is matched against source titles. ifdef::basebackend-docbook[] ifdef::doctype-article[] ^Abstract$=abstract endif::doctype-article[] ifdef::doctype-book[] ^Colophon$=colophon ^Dedication$=dedication ^Preface$=preface endif::doctype-book[] ^Index$=index ^(Bibliography|References)$=bibliography ^Glossary$=glossary ^Appendix [A-Z][:.](?P.*)$=appendix endif::basebackend-docbook[] ifdef::doctype-manpage[] (?i)^SYNOPSIS$=synopsis endif::doctype-manpage[] �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/latex.conf��������������������������������������������������������������������0000644�0001750�0001750�00000047573�13570064211�015762� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# # latex.conf # # Asciidoc configuration file. # latex backend, generates LaTeX conformant markup. # # Originally created by Benjamin Klum, later modified by Geoff Eddy. [titles] subs=quotes,replacements,attributes,macros,specialcharacters,replacements2 # The listing block uses a LaTeX verbatim environment where special characters don't need to be escaped. # Hence only "callouts" substitution should be applied. [blockdef-listing] subs=callouts [attributes] basebackend=latex basebackend-latex= latex-table-rowlimit=20 latex-use-bibliography-environment! latex-indent-paragraphs! latex-recognize-escaped-unicode! latex-use-custom-list-items! latex-use-colored-tables! latex-use-running-title-headings! latex-use-colored-sidebar-blocks! [miscellaneous] subsnormal=quotes,specialwords,replacements,attributes,macros,specialcharacters,replacements2 #subsnormal=quotes,specialwords,replacements,attributes,macros,passthroughs,specialcharacters,replacements2 subsverbatim=callouts,specialcharacters outfilesuffix=.tex # Screen width in pixels. pagewidth=418 pageunits=pt [specialcharacters] {=\{{} }=\}{} \=\textbackslash{} $=\${} <=\textless{} >=\textgreater{} &=\&{} _=\_{} %=\%{} \#=\#{} ^=\textasciicircum{} ~=\textasciitilde{} |=\textbar{} "=\textquotedbl{} [macros] # I needed to rewrite some regular expressions because '<' and '>' have not been escaped to '<' and '>' # Callout [\\]?<(?P<index>\d+)>=callout # Link: <<id,text>> (?s)[\\]?<<(?P<attrlist>[\w"].*?)>>=xref2 [replacements] # Line break. (?m)^(.*)\s\+$=\1 !..backslash..!newline!..braceleft..!!..braceright..! # -- Spaced em dashes (entity reference —) (^|[^-\\])--($|[^-])=\1--\2 # (C) Copyright (entity reference ©) (?<!\\)\(C\)=!..backslash..!textcopyright!..braceleft..!!..braceright..! \\\(C\)=(C) # (R) registered trade mark (entity reference ® (?<!\\)\(R\)=!..backslash..!textregistered!..braceleft..!!..braceright..! \\\(R\)=(R) # (TM) Trademark (entity reference ™) (?<!\\)\(TM\)=!..backslash..!texttrademark!..braceleft..!!..braceright..! \\\(TM\)=(TM) # ... Ellipsis (entity reference …) (?<!\\)\.\.\.=!..backslash..!dots!..braceleft..!!..braceright..! \\\.\.\.=... # Recognize escaped unicode characters # FIXME: these should be uncommented, but then there are encoding # problems. #&#([0-9]*);=!..backslash..!unichar!..braceleft..!\1!..braceright..! #&#x([0123456789abcdefABCDEF]*);=!..backslash..!unichar!..braceleft..!{eval:0x\1}!..braceright..! # -> right arrow ->=!..backslash..!textrightarrow!..braceleft..!!..braceright..! # => right double arrow (have to enter math mode) =>=!..dollar..!!..backslash..!Rightarrow!..braceleft..!!..braceright..!!..dollar..! # <- left arrow <-=!..backslash..!textleftarrow!..braceleft..!!..braceright..! # <= left double arrow (have to enter math mode) <\==!..dollar..!!..backslash..!Leftarrow!..braceleft..!!..braceright..!!..dollar..! # --> long right arrow (have to enter math mode) -->=!..backslash..!textrightarrow!..braceleft..!!..braceright..! # ==> long right double arrow (have to enter math mode) =\=>=!..dollar..!!..backslash..!Rightarrow!..braceleft..!!..braceright..!!..dollar..! # <-- long left arrow (have to enter math mode) <--=!..backslash..!textleftarrow!..braceleft..!!..braceright..! # <== long left double arrow (have to enter math mode) <\=\==!..dollar..!!..backslash..!Leftarrow!..braceleft..!!..braceright..!!..dollar..! # apostrophe (\w)'(\w)=\1'\2 [quotes] #``|''= #`|'= `=monospaced [replacements2] !..braceleft..!={ !..braceright..!=} !..backslash..!=\\ !..dollar..!=$ !..lessthan..!=< !..greaterthan..!=> !..amp..!=& !..underline..!=_ !..percent..!=% !..sharp..!=# !..circum..!=^ !..tilde..!=~ !..bar..!=| !..doublequote..!=" # Ruler is interpreted as a page break. [ruler-blockmacro] \clearpage [image-inlinemacro] !..backslash..!href!..braceleft..!{link}!..braceright..!!..braceleft..!!..percent..! !..backslash..!includegraphics[{scale?scale={scale},}{width?width={width}pt,}{height? height={height}pt}]!..braceleft..!{target}!..braceright..! {link#}!..braceright..! [image-blockmacro] \begin\{figure\} \hypertarget\{{id}\}\{\} \caption\{{title}\} \href\{{link}\}\{% \includegraphics[{scale?scale={scale},}{width?width={width}pt,}{height? height={height}pt}]\{{target}\}% \label\{{id}\} {link#}\} \end\{figure\} [indexterm-inlinemacro] # Inline index term. !..backslash..!index!..braceleft..!{1}{2?!{2}}{3?!{3}}!..braceright..! [indexterm2-inlinemacro] # Inline index term. # Single entry index term that is visible in the primary text flow. !..backslash..!index!..braceleft..!{1}!..braceright..!{1} [footnote-inlinemacro] # Inline footnote. !..backslash..!footnote!..braceleft..!{0}!..braceright..! [footnoteref-inlinemacro] [callout-inlinemacro] # Inline callout. <{index}> [literal-inlinemacro] [listtags-bulleted] list={title?\minisec\{{title}\}} {id?\label\{{id}\}\hypertarget\{{id}\}\{\}} \begin\{itemize\}|\end\{itemize\} item=\item%| text=| [listtags-numbered] list={title?\minisec\{{title}\}} {id?\label\{{id}\}\hypertarget\{{id}\}\{\}} \begin\{enumerate\}|\end\{enumerate\} item=\item%| text=| [listtags-labeled] list={title?\minisec\{{title}\}} \par{id?\label\{{id}\}\hypertarget\{{id}\}\{\}} | item=\begin\{quote\}|\end\{quote\} text=| term=\noindent\textbf\{%|\} entry= label= [listtags-horizontal] list={title?\minisec\{{title}\}} {id?\label\{{id}\}\hypertarget\{{id}\}\{\}} \begin\{description\}|\end\{description\} item= text=| term=\item[%|] entry= label= [listtags-callout] list={title?\minisec\{{title}\}} {id?\label\{{id}\}\hypertarget\{{id}\}\{\}} \begin\{enumerate\}|\end\{enumerate\} item=\item%| text=| [listtags-qanda] list={title?\minisec\{{title}\}} {id?\label\{{id}\}\hypertarget\{{id}\}\{\}} \begin\{enumerate\}|\end\{enumerate\} item=\begin\{quotation\}|\end\{quotation\} text=| term=| entry=\item%| label= [listtags-glossary] list={title?\minisec\{{title}\}} {id?\label\{{id}\}\hypertarget\{{id}\}\{\}} \begin\{enumerate\}|\end\{enumerate\} item=\item%| text=| term=\item%| entry= label= [listtags-bibliography] list=biblist={title?\minisec\{{title}\}} {id?\label\{{id}\}\hypertarget\{{id}\}\{\}} \begin\{description\} | \end\{description\} item=| text=| [tags] superscript=!..backslash..!textsuperscript!..braceleft..!|!..braceright..! subscript=!..backslash..!textsubscript!..braceleft..!|!..braceright..! singlequoted=``|'' doublequoted=`|' # Quoted text. emphasis=!..backslash..!emph!..braceleft..!|!..braceright..! strong=!..backslash..!textbf!..braceleft..!|!..braceright..! monospaced=!..backslash..!texttt!..braceleft..!|!..braceright..! doublequoted=!..backslash..!{language!textquotedblleft}{language?{language@.german:glqq}}{language?{language@english:textquotedblleft}}!..braceleft..!!..braceright..!|!..backslash..!{language?{language@.german:grqq}}{language?{language@english:textquotedblright}}{language!textquotedblright}!..braceleft..!!..braceright..! unquoted=| # $$ inline passthrough. $$passthrough=| # Inline macros [http-inlinemacro] !..backslash..!href!..braceleft..!{name}:{target}!..braceright..!!..braceleft..!{0={name}:{target}}!..braceright..! [https-inlinemacro] !..backslash..!href!..braceleft..!{name}:{target}!..braceright..!!..braceleft..!{0={name}:{target}}!..braceright..! [ftp-inlinemacro] !..backslash..!href!..braceleft..!{name}:{target}!..braceright..!!..braceleft..!{0={name}:{target}}!..braceright..! [file-inlinemacro] !..backslash..!href!..braceleft..!{name}:{target}!..braceright..!!..braceleft..!{0={name}:{target}}!..braceright..! [mailto-inlinemacro] !..backslash..!href!..braceleft..!{name}:{target}!..braceright..!!..braceleft..!{0={target}}!..braceright..! [callto-inlinemacro] !..backslash..!href!..braceleft..!{name}:{target}!..braceright..!!..braceleft..!{0={target}}!..braceright..! [link-inlinemacro] !..backslash..!href!..braceleft..!{target}!..braceright..!!..braceleft..!{0={target}}!..braceright..! # anchor:id[text] [anchor-inlinemacro] !..backslash..!label!..braceleft..!{target}!..braceright..!!..backslash..!hypertarget!..braceleft..!{target}!..braceright..!!..braceleft..!{0={target}}!..braceright..! # [[id,text]] [anchor2-inlinemacro] !..backslash..!label!..braceleft..!{1}!..braceright..!!..backslash..!hypertarget!..braceleft..!{1}!..braceright..!!..braceleft..!{2={1}}!..braceright..! # [[[id]]] [anchor3-inlinemacro] {latex-use-bibliography-environment?!..backslash..!bibitem!..braceleft..!{1}!..braceright..!} {latex-use-bibliography-environment!!..backslash..!item[{1}]} !..backslash..!label!..braceleft..!{1}!..braceright..!!..backslash..!hypertarget!..braceleft..!{1}!..braceright..!!..braceleft..!!..braceright..! # xref:id[text] [xref-inlinemacro] {style#}{style$page:!..backslash..!pageref!..braceleft..!{target}!..braceright..!} {style#}{style$autoref:!..backslash..!autoref!..braceleft..!{target}!..braceright..!} {style#}{style$ref:!..backslash..!ref!..braceleft..!{target}!..braceright..!} {style#}{latex-use-bibliography-environment#}{style$cite:!..backslash..!cite!..braceleft..!{target}!..braceright..!} {style#}{latex-use-bibliography-environment%}{style$cite:!..backslash..!hyperlink!..braceleft..!{target}!..braceright..!!..braceleft..!{0=[{target}]}!..braceright..!} {style%}!..backslash..!hyperlink!..braceleft..!{target}!..braceright..!!..braceleft..!{0=[{target}]}!..braceright..! # <<id,text>> [xref2-inlinemacro] {3#}{3$page:!..backslash..!pageref!..braceleft..!{1}!..braceright..!} {3#}{3$autoref:!..backslash..!autoref!..braceleft..!{1}!..braceright..!} {3#}{3$ref:!..backslash..!ref!..braceleft..!{1}!..braceright..!} {3#}{latex-use-bibliography-environment#}{3$cite:!..backslash..!cite!..braceleft..!{1}!..braceright..!} {3#}{latex-use-bibliography-environment%}{3$cite:!..backslash..!hyperlink!..braceleft..!{1}!..braceright..!!..braceleft..!{2=[{1}]}!..braceright..!} {3%}!..backslash..!hyperlink!..braceleft..!{1}!..braceright..!!..braceleft..!{2=[{1}]}!..braceright..! # Special word substitution. [emphasizedwords] !..backslash..!emph!..braceleft..!{words}!..braceright..! [monospacedwords] !..backslash..!texttt!..braceleft..!{words}!..braceright..! [strongwords] !..backslash..!textbf!..braceleft..!{words}!..braceright..! # Paragraph substitution. [paragraph] {title%} \par{latex-indent-paragraphs!\noindent{}} {title#} \paragraph\{{title}\} \label\{{id}\}\hypertarget\{{id}\}\{\} | [literalparagraph] # The literal block employs the same markup. template::[literalblock] [verseparagraph] # The verse block employs the same markup. template::[verseblock] [admonitionparagraph] # The admonition block employs the same markup. template::[admonitionblock] # Delimited blocks. [passthroughblock] | # FIXME: we get SPURIOUS TEXT at the beginning, but can't delete it. # Putting "[]" after the \begin{lstlisting} in the LaTeX output works, # but inserting the same "[]" below doesn't. [listingblock] \\minisec\{{caption=Listing: }{title}\} \label\{{id}\}\hypertarget\{{id}\}\{\} \begin\{verbatim\}|\end\{verbatim\} % FIXXME: dirty hack to circumvent missing \n after verbatim [literalblock] \minisec\{{title}\} \label\{{id}\}\hypertarget\{{id}\}\{\} \begin\{alltt\} | \end\{alltt\} [verseblock] \minisec\{{title}\} \label\{{id}\}\hypertarget\{{id}\}\{\} \begin\{alltt\} \normalfont\{\} | \end\{alltt\} [sidebarblock] \label\{{id}\}\hypertarget\{{id}\}\{\} \par\noindent{} ifndef::latex-use-colored-sidebar-blocks[] \setlength\{\tabcolsep\}\{0pt\} \rowcolors\{1\}\{\}\{\} \begin\{tabular\}\{l>\{\columncolor[gray]\{.75\}\}rcl\} \hspace*\{0pt\} & \hspace*\{8pt\} & \hspace*\{16pt\} & \begin\{minipage\}\{4in\} endif::latex-use-colored-sidebar-blocks[] ifdef::latex-use-colored-sidebar-blocks[] \fcolorbox\{SidebarBorderColor\}\{SidebarBackgroundColor\}\{\parbox\{\textwidth\}\{ endif::latex-use-colored-sidebar-blocks[] \minisec\{{title}\} | ifdef::latex-use-colored-sidebar-blocks[] \} \} endif::latex-use-colored-sidebar-blocks[] ifndef::latex-use-colored-sidebar-blocks[] \end\{minipage\} \end\{tabular\} endif::latex-use-colored-sidebar-blocks[] \bigskip [quoteblock] \minisec\{{title}\} \label\{{id}\}\hypertarget\{{id}\}\{\} \begin\{quote\} | \end\{quote\} \begin\{flushright\} {citetitle} \\ -- {attribution} \end\{flushright\} [exampleblock] \minisec\{{caption=}{title}\} \label\{{id}\}\hypertarget\{{id}\}\{\} \begin\{quotation\} | \end\{quotation\} [admonitionblock] \begin\{addmargin*\}[0em]\{0em\} \label\{{id}\}\hypertarget\{{id}\}\{\} \begin\{minipage\}\{\linewidth\} {icons#} \includegraphics\{{icon={iconsdir}/{name}.png}\} {icons%} \minisec\{{caption}\} \rule\{\linewidth\}\{2pt\} \par\{\}\noindent\{\}|\par\{\}\noindent\{\}% \rule[.25\baselineskip]\{\linewidth\}\{2pt\} \end\{minipage\} \end\{addmargin*\} # Bibliography list. # Same as numbered list. [listdef-bibliography] listtag=biblist itemtag=biblistitem texttag=biblisttext # Glossary list. # Same as labeled list. [listdef-glossary] listtag=vlist itemtag=vlistitem texttag=vlisttext entrytag=vlistentry labeltag=vlistterm # Tables. # FIXME: no lines! [tabletags-monospaced] [tabletags-strong] [tabletags-verse] [tabletags-literal] [tabletags-emphasis] [tabletags-asciidoc] #[tabledef-default] [tabletags-default] #template=table colspec=>\{{colalign@left:\\raggedright}{colalign@center:\\centering}{colalign@right:\\raggedleft}\}p\{ {colwidth}pt \} bodyrow=| \tabularnewline headdata=\{\bfseries\{\}|\} {colnumber@{colcount}::&} footdata=\{\bfseries\{\}|\} {colnumber@{colcount}::&} bodydata=| {colnumber@{colcount}:%:&} paragraph= [tabletags-header] [table] ifdef::latex-use-colored-tables[] \rowcolors\{1\}\{TableEvenColor\}\{TableOddColor\} \setlength\arrayrulewidth\{1.5pt\} \arrayrulecolor\{TableBorderColor\} endif::latex-use-colored-tables[] {eval:{rowcount}{gt}{latex-table-rowlimit}} \begin\{longtable\}\{ {eval:{rowcount}{gt}{latex-table-rowlimit}} {frame$all|sides:|} {eval:{rowcount}{gt}{latex-table-rowlimit}} {colspecs} {eval:{rowcount}{gt}{latex-table-rowlimit}} {frame$all|sides:|} {eval:{rowcount}{gt}{latex-table-rowlimit}} \} {eval:{rowcount}{gt}{latex-table-rowlimit}} \hypertarget\{{id}\}\{\} {eval:{rowcount}{gt}{latex-table-rowlimit}} \caption\{{title}\} {eval:{rowcount}{gt}{latex-table-rowlimit}} {frame$all|topbot:\hline} {eval:{rowcount}{gt}{latex-table-rowlimit}} {headrows} {eval:{rowcount}{gt}{latex-table-rowlimit}} {headrows#} \endhead {eval:{rowcount}{gt}{latex-table-rowlimit}} {footrows} {eval:{rowcount}{gt}{latex-table-rowlimit}} {footrows#} \endlastfoot {eval:{rowcount}{gt}{latex-table-rowlimit}} {eval:{rowcount}{gt}{latex-table-rowlimit}} {bodyrows} {eval:{rowcount}{gt}{latex-table-rowlimit}} {frame$all|topbot:\hline} {eval:{rowcount}{gt}{latex-table-rowlimit}} \label\{{id}\} {eval:{rowcount}{gt}{latex-table-rowlimit}} \end\{longtable\} {eval:{rowcount}{lt}={latex-table-rowlimit}} {title%} \par{latex-indent-paragraphs!\noindent} {eval:{rowcount}{lt}={latex-table-rowlimit}} {title#} \begin\{table\} {eval:{rowcount}{lt}={latex-table-rowlimit}} {title#} \begin\{center\} {eval:{rowcount}{lt}={latex-table-rowlimit}} \hypertarget\{{id}\}\{\} {eval:{rowcount}{lt}={latex-table-rowlimit}} \caption\{{title}\} {eval:{rowcount}{lt}={latex-table-rowlimit}} \begin\{tabular\}\{lllllllllllllll {eval:{rowcount}{lt}={latex-table-rowlimit}} {frame$all|sides:|} {eval:{rowcount}{lt}={latex-table-rowlimit}} {colspecs} {eval:{rowcount}{lt}={latex-table-rowlimit}} {frame$all|sides:|} {eval:{rowcount}{lt}={latex-table-rowlimit}} \} {eval:{rowcount}{lt}={latex-table-rowlimit}} {frame$all|topbot:\hline} {eval:{rowcount}{lt}={latex-table-rowlimit}} {headrows} {eval:{rowcount}{lt}={latex-table-rowlimit}} {bodyrows} {eval:{rowcount}{lt}={latex-table-rowlimit}} {footrows} {eval:{rowcount}{lt}={latex-table-rowlimit}} {frame$all|topbot:\hline} {eval:{rowcount}{lt}={latex-table-rowlimit}} \end\{tabular\} {eval:{rowcount}{lt}={latex-table-rowlimit}} {title#} \end\{center\} {eval:{rowcount}{lt}={latex-table-rowlimit}} \label\{{id}\} {eval:{rowcount}{lt}={latex-table-rowlimit}} {title#} \end\{table\} [specialsections] ifdef::doctype-article[] ^Abstract$=abstract endif::doctype-article[] ifdef::doctype-book[] ^Dedication$=dedication endif::doctype-book[] ^Index$=index ifdef::latex-use-bibliography-environment[] ^(Bibliography|References)$=bibliography endif::latex-use-bibliography-environment[] ^Appendix.*$=appendix ^(TOC|Contents)$=toc ^Figures$=list-of-figures # Special sections. [list-of-figures] \listoffigures [toc] \label\{{id}\}\hypertarget\{{id}\}\{\} \tableofcontents [index] \setindexpreamble\{ | \} \label\{{id}\}\hypertarget\{{id}\}\{\} \printindex ifdef::latex-use-bibliography-environment[] [bibliography] \label\{{id}\}\hypertarget\{{id}\}\{\} \begin\{thebibliography\}\{99\} | \end\{thebibliography\} endif::latex-use-bibliography-environment[] [appendix] \appendix \label\{{id}\}\hypertarget\{{id}\}\{\} | [abstract] \label\{{id}\}\hypertarget\{{id}\}\{\} \begin\{abstract\} | \end\{abstract\} [abstractblock] [dedication] \label\{{id}\}\hypertarget\{{id}\}\{\} \dedication\{ | \} [preamble] # Untitled elements between header and first section title. ifdef::doctype-book[] \frontmatter \chapter*\{Preface\} \label\{preamble\}\hypertarget\{preamble\}\{\} endif::doctype-book[] | ifdef::doctype-book[] \mainmatter endif::doctype-book[] # Document sections. [sect0] \hypertarget\{{id}\}\{\} \chapter\{{title}\} \label\{{id}\} | [sect1] \hypertarget\{{id}\}\{\} \section\{{title}\} \label\{{id}\} [sect2] \hypertarget\{{id}\}\{\} \subsection\{{title}\} \label\{{id}\} | [sect3] \hypertarget\{{id}\}\{\} \subsubsection\{{title}\} \label\{{id}\} | [sect4] \hypertarget\{{id}\}\{\} \minisec\{{title}\} \label\{{id}\} | # FIXME: if the "backgroundcolor" entry is present as below, the # background comes out black and is unreadable in PDF, although it is # OK in DVI. # \lstset\{basicstyle=\footnotesize\ttfamily,showstringspaces=false,breaklines,frame=single, rulecolor=\color\{ListingBorderColor\}, backgroundcolor=\color\{ListingBackgroundColor\}, xleftmargin=0cm, linewidth=0.95\textwidth\} [header] {encoding$UTF-8:}% coding: utf-8 \documentclass [a4paper,abstracton,titlepage]\{{doctype@article:scrartcl:scrbook}\} \pagestyle\{{latex-use-running-title-headings?headings}{latex-use-running-title-headings!plain}\} \usepackage\{makeidx\} \usepackage[table]\{xcolor\} \usepackage\{color\} \definecolor\{LinkColor\}\{rgb\}\{0.33,0.42,0.18\} \definecolor\{TableEvenColor\}\{rgb\}\{0.93,1,0.8\} \definecolor\{TableOddColor\}\{rgb\}\{0.93,1,1\} \definecolor\{TableBorderColor\}\{rgb\}\{0.55,0.67,0.73\} \definecolor\{ListingBorderColor\}\{rgb\}\{0.55,0.55,0.55\} \definecolor\{ListingBackgroundColor\}\{rgb\}\{0.95,0.95,0.95\} \definecolor\{SidebarBorderColor\}\{rgb\}\{0.95,0.95,0.95\} \definecolor\{SidebarBackgroundColor\}\{rgb\}\{1,1,0.93\} \usepackage\{type1ec\} \usepackage[{language=english}]\{babel\} \usepackage[ pdftex, pdftitle=\{{doctitle}\}, pdfauthor=\{{author}\}, backref, pagebackref, breaklinks=true, unicode ] \{hyperref\} \usepackage\{enumerate\} \usepackage\{graphicx\} \usepackage\{longtable\} \usepackage[T1]\{fontenc\} \usepackage\{ucs\} \usepackage[{encoding@ISO-8859-1:latin1}{encoding@UTF-8:utf8x}{encoding!utf8x}]\{inputenc\} \usepackage\{textcomp\} \usepackage\{alltt\} %\usepackage\{listings\} \usepackage\{verbatim\} \usepackage\{moreverb\} \usepackage\{upquote\} %\lstset\{basicstyle=\footnotesize\ttfamily,showstringspaces=false,breaklines,frame=single, rulecolor=\color\{ListingBorderColor\}, xleftmargin=0cm, linewidth=0.95\textwidth\} {latex-indent-paragraphs%} \setlength\{\parskip\}\{1ex plus 0.5ex minus 0.2ex\} \makeatletter \DeclareRobustCommand*\textsubscript[1]\{% \@textsubscript\{\selectfont#1\}\} \def\@textsubscript#1\{% \{\m@th\ensuremath\{_\{\mbox\{\fontsize\sf@size\z@#1\}\}\}\}\} \makeatother \subject\{{subject}\} \title\{{doctitle}\} \author\{{author}{email?, \href\{mailto:{email}\}\{{email}\}}\} \date\{{revdate}\} \publishers\{\begin\{tabular\}\{ll\} {revision?\textbf\{Revision:\} & {revision} \\ } {keywords?\textbf\{Keywords:\} & {keywords} \\ } \end\{tabular\}\} \makeindex \begin\{document\} %\newcommand{\texttesh}{\textteshlig\/} \label\{header\}\hypertarget\{header\}\{\} {doctitle#\maketitle} [footer] \label\{footer\}\hypertarget\{footer\}\{\} \end\{document\} �������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/install-sh��������������������������������������������������������������������0000755�0001750�0001750�00000033256�13570064211�015773� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # install - install a program, script, or datafile scriptversion=2011-01-19.21; # UTC # This originates from X11R5 (mit/util/scripts/install.sh), which was # later released in X11R6 (xc/config/util/install.sh) with the # following copyright and license. # # Copyright (C) 1994 X Consortium # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to # deal in the Software without restriction, including without limitation the # rights to use, copy, modify, merge, publish, distribute, sublicense, and/or # sell copies of the Software, and to permit persons to whom the Software is # furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE # X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN # AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- # TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # # Except as contained in this notice, the name of the X Consortium shall not # be used in advertising or otherwise to promote the sale, use or other deal- # ings in this Software without prior written authorization from the X Consor- # tium. # # # FSF changes to this file are in the public domain. # # Calling this script install-sh is preferred over install.sh, to prevent # `make' implicit rules from creating a file called install from it # when there is no Makefile. # # This script is compatible with the BSD install script, but was written # from scratch. nl=' ' IFS=" "" $nl" # set DOITPROG to echo to test this script # Don't use :- since 4.3BSD and earlier shells don't like it. doit=${DOITPROG-} if test -z "$doit"; then doit_exec=exec else doit_exec=$doit fi # Put in absolute file names if you don't have them in your path; # or use environment vars. chgrpprog=${CHGRPPROG-chgrp} chmodprog=${CHMODPROG-chmod} chownprog=${CHOWNPROG-chown} cmpprog=${CMPPROG-cmp} cpprog=${CPPROG-cp} mkdirprog=${MKDIRPROG-mkdir} mvprog=${MVPROG-mv} rmprog=${RMPROG-rm} stripprog=${STRIPPROG-strip} posix_glob='?' initialize_posix_glob=' test "$posix_glob" != "?" || { if (set -f) 2>/dev/null; then posix_glob= else posix_glob=: fi } ' posix_mkdir= # Desired mode of installed file. mode=0755 chgrpcmd= chmodcmd=$chmodprog chowncmd= mvcmd=$mvprog rmcmd="$rmprog -f" stripcmd= src= dst= dir_arg= dst_arg= copy_on_change=false no_target_directory= usage="\ Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE or: $0 [OPTION]... SRCFILES... DIRECTORY or: $0 [OPTION]... -t DIRECTORY SRCFILES... or: $0 [OPTION]... -d DIRECTORIES... In the 1st form, copy SRCFILE to DSTFILE. In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. In the 4th, create DIRECTORIES. Options: --help display this help and exit. --version display version info and exit. -c (ignored) -C install only if different (preserve the last data modification time) -d create directories instead of installing files. -g GROUP $chgrpprog installed files to GROUP. -m MODE $chmodprog installed files to MODE. -o USER $chownprog installed files to USER. -s $stripprog installed files. -t DIRECTORY install into DIRECTORY. -T report an error if DSTFILE is a directory. Environment variables override the default commands: CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG " while test $# -ne 0; do case $1 in -c) ;; -C) copy_on_change=true;; -d) dir_arg=true;; -g) chgrpcmd="$chgrpprog $2" shift;; --help) echo "$usage"; exit $?;; -m) mode=$2 case $mode in *' '* | *' '* | *' '* | *'*'* | *'?'* | *'['*) echo "$0: invalid mode: $mode" >&2 exit 1;; esac shift;; -o) chowncmd="$chownprog $2" shift;; -s) stripcmd=$stripprog;; -t) dst_arg=$2 # Protect names problematic for `test' and other utilities. case $dst_arg in -* | [=\(\)!]) dst_arg=./$dst_arg;; esac shift;; -T) no_target_directory=true;; --version) echo "$0 $scriptversion"; exit $?;; --) shift break;; -*) echo "$0: invalid option: $1" >&2 exit 1;; *) break;; esac shift done if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then # When -d is used, all remaining arguments are directories to create. # When -t is used, the destination is already specified. # Otherwise, the last argument is the destination. Remove it from $@. for arg do if test -n "$dst_arg"; then # $@ is not empty: it contains at least $arg. set fnord "$@" "$dst_arg" shift # fnord fi shift # arg dst_arg=$arg # Protect names problematic for `test' and other utilities. case $dst_arg in -* | [=\(\)!]) dst_arg=./$dst_arg;; esac done fi if test $# -eq 0; then if test -z "$dir_arg"; then echo "$0: no input file specified." >&2 exit 1 fi # It's OK to call `install-sh -d' without argument. # This can happen when creating conditional directories. exit 0 fi if test -z "$dir_arg"; then do_exit='(exit $ret); exit $ret' trap "ret=129; $do_exit" 1 trap "ret=130; $do_exit" 2 trap "ret=141; $do_exit" 13 trap "ret=143; $do_exit" 15 # Set umask so as not to create temps with too-generous modes. # However, 'strip' requires both read and write access to temps. case $mode in # Optimize common cases. *644) cp_umask=133;; *755) cp_umask=22;; *[0-7]) if test -z "$stripcmd"; then u_plus_rw= else u_plus_rw='% 200' fi cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;; *) if test -z "$stripcmd"; then u_plus_rw= else u_plus_rw=,u+rw fi cp_umask=$mode$u_plus_rw;; esac fi for src do # Protect names problematic for `test' and other utilities. case $src in -* | [=\(\)!]) src=./$src;; esac if test -n "$dir_arg"; then dst=$src dstdir=$dst test -d "$dstdir" dstdir_status=$? else # Waiting for this to be detected by the "$cpprog $src $dsttmp" command # might cause directories to be created, which would be especially bad # if $src (and thus $dsttmp) contains '*'. if test ! -f "$src" && test ! -d "$src"; then echo "$0: $src does not exist." >&2 exit 1 fi if test -z "$dst_arg"; then echo "$0: no destination specified." >&2 exit 1 fi dst=$dst_arg # If destination is a directory, append the input filename; won't work # if double slashes aren't ignored. if test -d "$dst"; then if test -n "$no_target_directory"; then echo "$0: $dst_arg: Is a directory" >&2 exit 1 fi dstdir=$dst dst=$dstdir/`basename "$src"` dstdir_status=0 else # Prefer dirname, but fall back on a substitute if dirname fails. dstdir=` (dirname "$dst") 2>/dev/null || expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$dst" : 'X\(//\)[^/]' \| \ X"$dst" : 'X\(//\)$' \| \ X"$dst" : 'X\(/\)' \| . 2>/dev/null || echo X"$dst" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q' ` test -d "$dstdir" dstdir_status=$? fi fi obsolete_mkdir_used=false if test $dstdir_status != 0; then case $posix_mkdir in '') # Create intermediate dirs using mode 755 as modified by the umask. # This is like FreeBSD 'install' as of 1997-10-28. umask=`umask` case $stripcmd.$umask in # Optimize common cases. *[2367][2367]) mkdir_umask=$umask;; .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; *[0-7]) mkdir_umask=`expr $umask + 22 \ - $umask % 100 % 40 + $umask % 20 \ - $umask % 10 % 4 + $umask % 2 `;; *) mkdir_umask=$umask,go-w;; esac # With -d, create the new directory with the user-specified mode. # Otherwise, rely on $mkdir_umask. if test -n "$dir_arg"; then mkdir_mode=-m$mode else mkdir_mode= fi posix_mkdir=false case $umask in *[123567][0-7][0-7]) # POSIX mkdir -p sets u+wx bits regardless of umask, which # is incompatible with FreeBSD 'install' when (umask & 300) != 0. ;; *) tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0 if (umask $mkdir_umask && exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1 then if test -z "$dir_arg" || { # Check for POSIX incompatibilities with -m. # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or # other-writeable bit of parent directory when it shouldn't. # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. ls_ld_tmpdir=`ls -ld "$tmpdir"` case $ls_ld_tmpdir in d????-?r-*) different_mode=700;; d????-?--*) different_mode=755;; *) false;; esac && $mkdirprog -m$different_mode -p -- "$tmpdir" && { ls_ld_tmpdir_1=`ls -ld "$tmpdir"` test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" } } then posix_mkdir=: fi rmdir "$tmpdir/d" "$tmpdir" else # Remove any dirs left behind by ancient mkdir implementations. rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null fi trap '' 0;; esac;; esac if $posix_mkdir && ( umask $mkdir_umask && $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" ) then : else # The umask is ridiculous, or mkdir does not conform to POSIX, # or it failed possibly due to a race condition. Create the # directory the slow way, step by step, checking for races as we go. case $dstdir in /*) prefix='/';; [-=\(\)!]*) prefix='./';; *) prefix='';; esac eval "$initialize_posix_glob" oIFS=$IFS IFS=/ $posix_glob set -f set fnord $dstdir shift $posix_glob set +f IFS=$oIFS prefixes= for d do test X"$d" = X && continue prefix=$prefix$d if test -d "$prefix"; then prefixes= else if $posix_mkdir; then (umask=$mkdir_umask && $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break # Don't fail if two instances are running concurrently. test -d "$prefix" || exit 1 else case $prefix in *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;; *) qprefix=$prefix;; esac prefixes="$prefixes '$qprefix'" fi fi prefix=$prefix/ done if test -n "$prefixes"; then # Don't fail if two instances are running concurrently. (umask $mkdir_umask && eval "\$doit_exec \$mkdirprog $prefixes") || test -d "$dstdir" || exit 1 obsolete_mkdir_used=true fi fi fi if test -n "$dir_arg"; then { test -z "$chowncmd" || $doit $chowncmd "$dst"; } && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } && { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false || test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1 else # Make a couple of temp file names in the proper directory. dsttmp=$dstdir/_inst.$$_ rmtmp=$dstdir/_rm.$$_ # Trap to clean up those temp files at exit. trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 # Copy the file name to the temp name. (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") && # and set any options; do chmod last to preserve setuid bits. # # If any of these fail, we abort the whole thing. If we want to # ignore errors from any of these, just make sure not to ignore # errors from the above "$doit $cpprog $src $dsttmp" command. # { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } && { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } && # If -C, don't bother to copy if it wouldn't change the file. if $copy_on_change && old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` && new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` && eval "$initialize_posix_glob" && $posix_glob set -f && set X $old && old=:$2:$4:$5:$6 && set X $new && new=:$2:$4:$5:$6 && $posix_glob set +f && test "$old" = "$new" && $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1 then rm -f "$dsttmp" else # Rename the file to the real destination. $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null || # The rename failed, perhaps because mv can't rename something else # to itself, or perhaps because mv is so ancient that it does not # support -f. { # Now remove or move aside any old file at destination location. # We try this two ways since rm can't unlink itself on some # systems and the destination file might be busy for other # reasons. In this case, the final cleanup might fail but the new # file should still install successfully. { test ! -f "$dst" || $doit $rmcmd -f "$dst" 2>/dev/null || { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null && { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; } } || { echo "$0: cannot unlink or rename $dst" >&2 (exit 1); exit 1 } } && # Now rename the file to the real destination. $doit $mvcmd "$dsttmp" "$dst" } fi || exit 1 trap '' 0 fi done # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/MANIFEST����������������������������������������������������������������������0000644�0001750�0001750�00000003336�13570064211�015114� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������a2x.py asciidoc.py asciidocapi.py BUGS BUGS.txt MANIFEST main.aap common.aap CHANGELOG CHANGELOG.txt asciidoc.conf docbook45.conf docbook5.conf help.conf html4.conf html5.conf lang-*.conf latex.conf slidy.conf text.conf xhtml11.conf xhtml11-quirks.conf COPYING COPYRIGHT dblatex/asciidoc-dblatex.sty dblatex/asciidoc-dblatex.xsl dblatex/dblatex-readme.txt doc/a2x.1 doc/book.epub doc/asciidoc.1 doc/asciidoc.conf doc/article-docinfo.xml doc/customers.csv doc/images/ doc/main.aap doc/article.pdf doc/latex-filter.pdf doc/music-filter.pdf doc/source-highlight-filter.pdf doc/*.txt doc/asciidoc.dict docbook-xsl/*.txt docbook-xsl/*.xsl examples/website/main.aap examples/website/build-website.sh examples/website/*.css examples/website/*.js examples/website/customers.csv examples/website/images/ examples/website/layout?.conf examples/website/*.txt filters/code/code-filter.conf filters/code/code-filter.py filters/code/code-filter-readme.txt filters/code/code-filter-test.txt filters/latex/latex2img.py filters/latex/latex-filter.conf filters/music/music-filter.conf filters/music/music2png.py filters/music/music-filter-test.txt filters/source/source-highlight-filter.conf filters/source/source-highlight-filter-test.txt filters/graphviz/graphviz-filter.conf filters/graphviz/graphviz2png.py filters/graphviz/asciidoc-graphviz-sample.txt images/icons/callouts/*.png images/icons/*.png images/icons/README images/smallnew.png images/tiger.png images/highlighter.png INSTALL INSTALL.txt configure configure.ac Makefile.in install-sh javascripts/*.js README README.asciidoc stylesheets/*.css tests/testasciidoc.py tests/testasciidoc.conf tests/asciidocapi.py tests/data/*.conf tests/data/*.txt themes/flask/*.css themes/volnitsky/*.css vim/syntax/asciidoc.vim ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/filters/����������������������������������������������������������������������0000755�0001750�0001750�00000000000�13570064211�015426� 5����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/filters/latex/����������������������������������������������������������������0000755�0001750�0001750�00000000000�13570064211�016543� 5����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/filters/latex/latex-filter.conf�����������������������������������������������0000644�0001750�0001750�00000003113�13570064211�022010� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# # AsciiDoc latex filter configuration file. # # Documented in latex-filter.txt in AsciiDoc distribution # ./examples/website/ directory. # [latex-filter-style] # When the filter output image is data-uri encoded write it to the indir # (instead of the outdir) so that encoder can find it. ifndef::data-uri[] latex-style=template="latex-block",subs=(),posattrs=("style","target","dpi"),filter='latex2img.py -m{verbose? -v}{dpi? -D {dpi}}{imgfmt? -f {imgfmt}} -o "{outdir={indir}}/{imagesdir=}{imagesdir?/}{target}" -' endif::data-uri[] ifdef::data-uri[] latex-style=template="latex-block",subs=(),posattrs=("style","target","dpi"),filter='latex2img.py -m{verbose? -v}{dpi? -D {dpi}}{imgfmt? -f {imgfmt}} -o "{indir={outdir}}/{imagesdir=}{imagesdir?/}{target}" -' endif::data-uri[] [blockdef-open] template::[latex-filter-style] [blockdef-listing] template::[latex-filter-style] [paradef-default] template::[latex-filter-style] [latex-block] template::[latex-filter-image-blockmacro] [latex-filter-image-blockmacro] # Synthesize missing target attribute for filter generated file names. # The tag split | ensures missing target file names are auto-generated # before the filter is executed, the remainder (the [image-blockmacro]) # is excuted after the filter to ensure data URI encoding comes after # the image is created. # This template replaces the filter-image-blockmacro template so that # we can generate SVG images from LaTeX code. {target%}{counter2:target-number} {imgfmt%}{set2:imgfmt:{latex-imgfmt=png}} {target%}{set2:target:{docname}__{target-number}.{imgfmt}} | template::[image-blockmacro] �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/filters/latex/latex2img.py����������������������������������������������������0000755�0001750�0001750�00000016414�13570064211�021022� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/env python3 ''' NAME latex2img - Converts LaTeX source to PNG or SVG file SYNOPSIS latex2img [options] INFILE DESCRIPTION This filter reads LaTeX source text from the input file INFILE (or stdin if INFILE is -) and renders it to PNG image file. Typically used to render math equations. Requires latex(1), dvipng(1) and/or dvisvgm(1) commands and LaTeX math packages. OPTIONS -D DPI Set the output resolution for PNG images to DPI dots per inch. Use this option to scale the output PNG image size. -o OUTFILE The file name of the output file. If not specified the output file is named like INFILE but with an extension matching the chosen output image format, .png for PNG images and .svg for SVG images. -m Skip if the output image file is newer than the INFILE. Compares timestamps on INFILE and OUTFILE. If INFILE is - (stdin) then compares MD5 checksum stored in file named like OUTFILE but with a .md5 file name extension. The .md5 file is created if the -m option is used and the INFILE is - (stdin). -v Verbosely print processing information to stderr. --help, -h Print this documentation. --version Print program version number. SEE ALSO latex(1), dvipng(1), dvisvgm(1) AUTHOR Written by Stuart Rackham, <srackham@gmail.com> The code was inspired by Kjell Magne Fauske's code: http://fauskes.net/nb/htmleqII/ See also: http://www.amk.ca/python/code/mt-math http://code.google.com/p/latexmath2png/ COPYING Copyright (C) 2010 Stuart Rackham. Free use of this software is granted under the terms of the MIT License. ''' import os, sys, tempfile from hashlib import md5 VERSION = '0.2.0' # Include LaTeX packages and commands here. TEX_HEADER = r'''\documentclass{article} \usepackage{amsmath} \usepackage{amsthm} \usepackage{amssymb} \usepackage{bm} \newcommand{\mx}[1]{\mathbf{\bm{#1}}} % Matrix command \newcommand{\vc}[1]{\mathbf{\bm{#1}}} % Vector command \newcommand{\T}{\text{T}} % Transpose \pagestyle{empty} \begin{document}''' TEX_FOOTER = r'''\end{document}''' # Globals. verbose = False class EApp(Exception): pass # Application specific exception. def print_stderr(line): sys.stderr.write(line + os.linesep) def print_verbose(line): if verbose: print_stderr(line) def write_file(filename, data, mode='w', encoding='utf-8'): if 'b' in mode: encoding = None with open(filename, mode, encoding=encoding) as f: f.write(data) def read_file(filename, mode='r', encoding='utf-8'): if 'b' in mode: encoding = None with open(filename, mode, encoding=encoding) as f: return f.read() def run(cmd): global verbose if verbose: cmd += ' 1>&2' else: cmd += ' 2>%s 1>&2' % os.devnull print_verbose('executing: %s' % cmd) if os.system(cmd): raise EApp('failed command: %s' % cmd) def latex2img(infile, outfile, imgfmt, dpi, modified): ''' Convert LaTeX input file infile to image file named outfile. ''' outfile = os.path.abspath(outfile) outdir = os.path.dirname(outfile) if not os.path.isdir(outdir): raise EApp('directory does not exist: %s' % outdir) texfile = tempfile.mktemp(suffix='.tex', dir=os.path.dirname(outfile)) basefile = os.path.splitext(texfile)[0] dvifile = basefile + '.dvi' temps = [basefile + ext for ext in ('.tex','.dvi', '.aux', '.log')] skip = False if infile == '-': tex = sys.stdin.read() if modified: checksum = md5((tex + imgfmt + str(dpi)).encode('utf-8')).digest() md5_file = os.path.splitext(outfile)[0] + '.md5' if os.path.isfile(md5_file) and os.path.isfile(outfile) and \ checksum == read_file(md5_file,'rb'): skip = True else: if not os.path.isfile(infile): raise EApp('input file does not exist: %s' % infile) tex = read_file(infile) if modified and os.path.isfile(outfile) and \ os.path.getmtime(infile) <= os.path.getmtime(outfile): skip = True if skip: print_verbose('skipped: no change: %s' % outfile) return tex = '%s\n%s\n%s\n' % (TEX_HEADER, tex.strip(), TEX_FOOTER) print_verbose('tex:\n%s' % tex) write_file(texfile, tex) saved_pwd = os.getcwd() os.chdir(outdir) try: # Compile LaTeX document to DVI file. run('latex %s' % texfile) if imgfmt == 'svg': # Convert DVI file to SVG. cmd = 'dvisvgm' cmd += ' --no-fonts' cmd += ' --scale=1.4' cmd += ' --exact' cmd += ' -o "%s" "%s"' % (outfile,dvifile) else: # Convert DVI file to PNG. cmd = 'dvipng' if dpi: cmd += ' -D %s' % dpi cmd += ' -T tight -x 1000 -z 9 -bg Transparent --truecolor' cmd += ' -o "%s" "%s" ' % (outfile,dvifile) run(cmd) finally: os.chdir(saved_pwd) for f in temps: if os.path.isfile(f): print_verbose('deleting: %s' % f) os.remove(f) if 'md5_file' in locals(): print_verbose('writing: %s' % md5_file) write_file(md5_file, checksum, 'wb') def usage(msg=''): if msg: print_stderr(msg) print_stderr('\n' 'usage:\n' ' latex2img [options] INFILE\n' '\n' 'options:\n' ' -D DPI\n' ' -o OUTFILE\n' ' -f FORMAT\n' ' -m\n' ' -v\n' ' --help\n' ' --version') def main(): # Process command line options. global verbose dpi = None outfile = None imgfmt = 'png' modified = False import getopt opts,args = getopt.getopt(sys.argv[1:], 'D:o:mhvf:', ['help','version']) for o,v in opts: if o in ('--help','-h'): print(__doc__) sys.exit(0) if o =='--version': print(('latex2img version %s' % (VERSION,))) sys.exit(0) if o == '-D': dpi = v if o == '-o': outfile = v if o == '-m': modified = True if o == '-v': verbose = True if o == '-f': imgfmt = v if len(args) != 1: usage() sys.exit(1) infile = args[0] if dpi and not dpi.isdigit(): usage('invalid DPI') sys.exit(1) if not imgfmt in {'png', 'svg'}: usage('Invalid image format. Valid values are "png" or "svg".') sys.exit(1) if outfile is None: if infile == '-': usage('OUTFILE must be specified') sys.exit(1) outfile = os.path.splitext(infile)[0] + '.' + imgfmt # Do the work. latex2img(infile, outfile, imgfmt, dpi, modified) # Print something to suppress asciidoc 'no output from filter' warnings. if infile == '-': sys.stdout.write(' ') if __name__ == "__main__": try: main() except SystemExit: raise except KeyboardInterrupt: sys.exit(1) except Exception as e: print_stderr("%s: %s" % (os.path.basename(sys.argv[0]), str(e))) sys.exit(1) ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/filters/music/����������������������������������������������������������������0000755�0001750�0001750�00000000000�13570064211�016546� 5����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/filters/music/music-filter-test.txt�������������������������������������������0000644�0001750�0001750�00000002147�13570064211�022673� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Music Filter Test ================= Details of the filter can be found in `./doc/music-filter.txt`. A tune generated from ABC notation ---------------------------------- [music,music1.png] --------------------------------------------------------------------- T:The Butterfly R:slip jig C:Tommy Potts H:Fiddle player Tommy Potts made this tune from two older slip jigs, H:one of which is called "Skin the Peelers" in Roche's collection. D:Bothy Band: 1975. M:9/8 K:Em vB2(E G2)(E F3)|B2(E G2)(E F)ED|vB2(E G2)(E F3)|(B2d) d2(uB A)FD:| |:(vB2c) (e2f) g3|(uB2d) (g2e) (dBA)|(B2c) (e2f) g2(ua|b2a) (g2e) (dBA):| |:~B3 (B2A) G2A|~B3 BA(uB d)BA|~B3 (B2A) G2(A|B2d) (g2e) (dBA):| --------------------------------------------------------------------- A fragment generated from LilyPond source ------------------------------------------ ["music", "music2.png", "ly", link="music2.ly"] --------------------------------------------------------------------- \version "2.10.0" \paper { ragged-right = ##t } { \time 3/4 \clef bass c2 e4 g2. f4 e d c2 r4 } --------------------------------------------------------------------- �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/filters/music/music-filter.conf�����������������������������������������������0000644�0001750�0001750�00000002321�13570064211�022016� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# # AsciiDoc music filter configuration file. # # Documented in music-filter.txt in AsciiDoc distribution # ./examples/website/ directory. # [music-filter-style] # When the filter output image is data-uri encoded write it to the indir # (instead of the outdir) so that encoder can find it. ifndef::data-uri[] music-style=template="music-block",subs=(),posattrs=("style","target","format"),filter='music2png.py -m{verbose? -v}{format? -f {format}} -o "{outdir={indir}}/{imagesdir=}{imagesdir?/}{target}" -' endif::data-uri[] ifdef::data-uri[] music-style=template="music-block",subs=(),posattrs=("style","target","format"),filter='music2png.py -m{verbose? -v}{format? -f {format}} -o "{indir={outdir}}/{imagesdir=}{imagesdir?/}{target}" -' endif::data-uri[] [blockdef-open] template::[music-filter-style] [blockdef-listing] template::[music-filter-style] [paradef-default] template::[music-filter-style] [music-block] template::[filter-image-blockmacro] # # DEPRECATED: Pre 8.2.7 filter definition. # [blockdef-music] delimiter=^music~{4,}$ template=music-block presubs=none filter=music2png.py{verbose? -v} -f {format=abc} -o "{outdir={indir}}/{imagesdir=}{imagesdir?/}{target}" - posattrs=target,format # # DEPRECATED: End # ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/filters/music/music2png.py����������������������������������������������������0000755�0001750�0001750�00000014503�13570064211�021035� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/env python3 ''' NAME music2png - Converts textual music notation to classically notated PNG file SYNOPSIS music2png [options] INFILE DESCRIPTION This filter reads LilyPond or ABC music notation text from the input file INFILE (or stdin if INFILE is -), converts it to classical music notation and writes it to a trimmed PNG image file. This script is a wrapper for LilyPond and ImageMagick commands. OPTIONS -f FORMAT The INFILE music format. 'abc' for ABC notation, 'ly' for LilyPond notation. Defaults to 'abc' unless source starts with backslash. -o OUTFILE The file name of the output file. If not specified the output file is named like INFILE but with a .png file name extension. -m Skip if the PNG output file is newer that than the INFILE. Compares timestamps on INFILE and OUTFILE. If INFILE is - (stdin) then compares MD5 checksum stored in file named like OUTFILE but with a .md5 file name extension. The .md5 file is created if the -m option is used and the INFILE is - (stdin). -v Verbosely print processing information to stderr. --help, -h Print this documentation. --version Print program version number. SEE ALSO lilypond(1), abc2ly(1), convert(1) AUTHOR Written by Stuart Rackham, <srackham@gmail.com> COPYING Copyright (C) 2006 Stuart Rackham. Free use of this software is granted under the terms of the GNU General Public License (GPL). ''' import os, sys, tempfile from hashlib import md5 VERSION = '0.1.2' # Globals. verbose = False class EApp(Exception): pass # Application specific exception. def print_stderr(line): sys.stderr.write(line + os.linesep) def print_verbose(line): if verbose: print_stderr(line) def write_file(filename, data, mode='w', encoding='utf-8'): if 'b' in mode: encoding = None with open(filename, mode, encoding=encoding) as f: f.write(data) def read_file(filename, mode='r', encoding='utf-8'): if 'b' in mode: encoding = None with open(filename, mode, encoding=encoding) as f: return f.read() def run(cmd): global verbose if not verbose: cmd += ' 2>%s' % os.devnull print_verbose('executing: %s' % cmd) if os.system(cmd): raise EApp('failed command: %s' % cmd) def music2png(format, infile, outfile, modified): '''Convert ABC notation in file infile to cropped PNG file named outfile.''' outfile = os.path.abspath(outfile) outdir = os.path.dirname(outfile) if not os.path.isdir(outdir): raise EApp('directory does not exist: %s' % outdir) basefile = tempfile.mktemp(dir=os.path.dirname(outfile)) temps = [basefile + ext for ext in ('.abc', '.ly', '.ps', '.midi')] skip = False if infile == '-': source = sys.stdin.read() checksum = md5(source.encode('utf-8')).digest() filename = os.path.splitext(outfile)[0] + '.md5' if modified: if os.path.isfile(filename) and os.path.isfile(outfile) and \ checksum == read_file(filename,'rb'): skip = True else: write_file(filename, checksum, 'wb') else: if not os.path.isfile(infile): raise EApp('input file does not exist: %s' % infile) if modified and os.path.isfile(outfile) and \ os.path.getmtime(infile) <= os.path.getmtime(outfile): skip = True source = read_file(infile) if skip: print_verbose('skipped: no change: %s' % outfile) return if format is None: if source and source.startswith('\\'): # Guess input format. format = 'ly' else: format = 'abc' # Write temporary source file. write_file('%s.%s' % (basefile,format), source) abc = basefile + '.abc' ly = basefile + '.ly' png = basefile + '.png' saved_pwd = os.getcwd() os.chdir(outdir) try: if format == 'abc': run('abc2ly -o "%s" "%s"' % (ly,abc)) run('lilypond --png -o "%s" "%s"' % (basefile,ly)) os.rename(png, outfile) finally: os.chdir(saved_pwd) # Chop the bottom 75 pixels off to get rid of the page footer then crop the # music image. The -strip option necessary because FOP does not like the # custom PNG color profile used by Lilypond. run('convert "%s" -strip -gravity South -chop 0x75 -trim "%s"' % (outfile, outfile)) for f in temps: if os.path.isfile(f): print_verbose('deleting: %s' % f) os.remove(f) def usage(msg=''): if msg: print_stderr(msg) print_stderr('\n' 'usage:\n' ' music2png [options] INFILE\n' '\n' 'options:\n' ' -f FORMAT\n' ' -o OUTFILE\n' ' -m\n' ' -v\n' ' --help\n' ' --version') def main(): # Process command line options. global verbose format = None outfile = None modified = False import getopt opts,args = getopt.getopt(sys.argv[1:], 'f:o:mhv', ['help','version']) for o,v in opts: if o in ('--help','-h'): print(__doc__) sys.exit(0) if o =='--version': print(('music2png version %s' % (VERSION,))) sys.exit(0) if o == '-f': format = v if o == '-o': outfile = v if o == '-m': modified = True if o == '-v': verbose = True if len(args) != 1: usage() sys.exit(1) infile = args[0] if format not in (None, 'abc', 'ly'): usage('invalid FORMAT') sys.exit(1) if outfile is None: if infile == '-': usage('OUTFILE must be specified') sys.exit(1) outfile = os.path.splitext(infile)[0] + '.png' # Do the work. music2png(format, infile, outfile, modified) # Print something to suppress asciidoc 'no output from filter' warnings. if infile == '-': sys.stdout.write(' ') if __name__ == "__main__": try: main() except SystemExit: raise except KeyboardInterrupt: sys.exit(1) except Exception as e: print_stderr("%s: %s" % (os.path.basename(sys.argv[0]), str(e))) sys.exit(1) ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/filters/source/���������������������������������������������������������������0000755�0001750�0001750�00000000000�13570064211�016726� 5����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/filters/source/source-highlight-filter-test.txt�������������������������������0000644�0001750�0001750�00000001017�13570064211�025173� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Source Hightlight Filter Test ============================= Details of the filter can be found in `./doc/source-highlight-filter.txt`. [source,python] --------------------------------------------------------------------- ''' A multi-line comment.''' def sub_word(mo): ''' Single line comment.''' word = mo.group('word') # Inline comment if word in keywords[language]: return quote + word + quote else: return word --------------------------------------------------------------------- �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/filters/source/source-highlight-filter.conf�����������������������������������0000644�0001750�0001750�00000012435�13570064211�024332� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# # AsciiDoc source code highlight filter configuration file. # # Documented in source-hightlight-filter.txt in AsciiDoc distribution # ./examples/website/ directory. # # HTML outputs require GNU source-highlight (xhtml11, html4 outputs) # http://www.gnu.org/software/src-highlite/source-highlight.html # # or Pygments (xhtml11 outputs): # http://pygments.org/ # # GNU source-hightlight is default, define the 'pygments' attribute to use # Pygments. # ######################## # Source block templates ######################## [source-highlight-block] template::[listingblock] ifdef::basebackend-html[] [source-highlight-block] <a name="{id}"></a> <p><b>{title}</b></p> <table{role? class="{role}"} border="0" bgcolor="#e8e8e8" width="100%" cellpadding="10"><tr><td> {source-highlighter$highlight:}<pre><code> | {source-highlighter$highlight:}</code></pre> </td></tr></table> endif::basebackend-html[] ifdef::basebackend-xhtml11,basebackend-html5[] [source-highlight-block] <div class="listingblock{role? {role}}"> <a id="{id}"></a> <div class="title">{caption=}{title}</div> <div class="content"> {source-highlighter$highlight:}<pre><code> | {source-highlighter$highlight:}</code></pre> </div></div> endif::basebackend-xhtml11,basebackend-html5[] # Use DocBook programlisting element. ifdef::basebackend-docbook[] [source-highlight-block] <formalpara{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}><title>{title} {title#} {title%} | {title#} endif::basebackend-docbook[] # Source styles template. ifdef::basebackend-html[] [source-filter-style] ifeval::["{source-highlighter}"=="source-highlight"] source-style=template="source-highlight-block",presubs=(),postsubs=("callouts",),posattrs=("style","language","src_numbered","src_tab"),filter="source-highlight --gen-version -f xhtml -s {language} {src_numbered?--line-number=' '} {src_tab?--tab={src_tab}} {args=}" endif::[] ifeval::["{source-highlighter}"=="highlight"] source-style=template="source-highlight-block",presubs=(),postsubs=("callouts",),posattrs=("style","language","src_numbered","src_tab"),filter="highlight --no-doc --inline-css --out-format=xhtml --syntax={language@python:py:{language}} {src_numbered?--line-number} {src_tab?--tab={src_tab}} --encoding={encoding} {args=}" endif::[] ifeval::["{source-highlighter}"=="pygments"] source-style=template="source-highlight-block",presubs=(),postsubs=("callouts",),posattrs=("style","language","src_numbered"),filter="pygmentize -f html -l {language} {src_numbered?-O linenos=table} {encoding?-O encoding={encoding}} {args=}" endif::[] # DEPRECATED: 'pygments' attribute. ifdef::pygments[] source-style=template="source-highlight-block",presubs=(),postsubs=("callouts",),posattrs=("style","language","src_numbered"),filter="pygmentize -f html -l {language} {src_numbered?-O linenos=table} {encoding?-O encoding={encoding}} {args=}" endif::[] endif::basebackend-html[] ifdef::basebackend-html4[] [source-filter-style] # html4 does not use pygments. ifeval::["{source-highlighter}"=="source-highlight"] source-style=template="source-highlight-block",presubs=(),postsubs=("callouts",),posattrs=("style","language","src_numbered","src_tab"),filter="source-highlight --gen-version -f html -s {language} {src_numbered?--line-number=' '} {src_tab?--tab={src_tab}} {args=}" endif::[] ifeval::["{source-highlighter}"=="highlight"] source-style=template="source-highlight-block",presubs=(),postsubs=("callouts",),posattrs=("style","language","src_numbered","src_tab"),filter="highlight --no-doc --inline-css --out-format=html --syntax={language@python:py:{language}} {src_numbered?--line-number} {src_tab?--tab={src_tab}} {args=}" endif::[] endif::basebackend-html4[] ifdef::basebackend-docbook[] [source-filter-style] source-style=template="source-highlight-block",presubs=(),postsubs=("specialcharacters","callouts"),posattrs=("style","language","src_numbered","src_tab") endif::basebackend-docbook[] ######################### # Source paragraph styles ######################### [paradef-default] template::[source-filter-style] [paradef-literal] template::[source-filter-style] ######################### # Source block styles ######################### [blockdef-open] template::[source-filter-style] [blockdef-listing] template::[source-filter-style] # # DEPRECATED: Pre 8.2.7 filter definition. # ######################### # Source block definition ######################### [blockdef-source-highlight] # The old ^ delimiter is for backward compatibility, may be removed from # in future versions. delimiter=(^source~{4,}$)|(^\^{4,}$) template=source-highlight-block presubs=none posattrs=language,src_numbered,src_tab ifndef::basebackend-docbook[] postsubs=callouts # GNU Source Highlight filter. filter=source-highlight -f {basebackend-xhtml11?xhtml}{basebackend-html4?html} -s {language} {src_numbered?--line-number} {src_tab?--tab={src_tab}} endif::basebackend-docbook[] ifdef::basebackend-docbook[] postsubs=specialcharacters,callouts # In the case of DocBook just pass the listing through and let the DocBook # toolchain handle it. filter= endif::basebackend-docbook[] # # DEPRECATED: End # asciidoc-py3-9.0.0rc1/filters/code/0000755000175000017500000000000013570064211016340 5ustar josephjosephasciidoc-py3-9.0.0rc1/filters/code/code-filter-readme.txt0000644000175000017500000000154513570064211022536 0ustar josephjosephAsciiDoc Code Filter ==================== This simple minded filter highlights source code keywords and comments. NOTE: The filter is to demonstrate how to write a filter -- it's much to simplistic to be passed off as a code syntax highlighter. If you want a full featured highlighter use the 'source highlighter filter. Files ----- code-filter.py:: The filter Python script. code-filter.conf:: The AsciiDoc filter configuration file. code-filter-test.txt:: Short AsciiDoc document to test the filter. Installation ------------ The code filter is installed in the distribution `filters` directory as part of the standard AsciiDoc install. Test it on the `code-filter-test.txt` file: $ asciidoc -v code-filter-test.txt $ firefox code-filter-test.txt & Help ---- Execute the filter with the help option: $ ./code-filter.py --help asciidoc-py3-9.0.0rc1/filters/code/code-filter.py0000755000175000017500000001665013570064211021122 0ustar josephjoseph#!/usr/bin/env python3 ''' NAME code-filter - AsciiDoc filter to highlight language keywords SYNOPSIS code-filter -b backend -l language [ -t tabsize ] [ --help | -h ] [ --version | -v ] DESCRIPTION This filter reads source code from the standard input, highlights language keywords and comments and writes to the standard output. The purpose of this program is to demonstrate how to write an AsciiDoc filter -- it's much to simplistic to be passed off as a code syntax highlighter. Use the 'source-highlight-filter' instead. OPTIONS --help, -h Print this documentation. -b Backend output file format: 'docbook', 'linuxdoc', 'html', 'css'. -l The name of the source code language: 'python', 'ruby', 'c++', 'c'. -t tabsize Expand source tabs to tabsize spaces. --version, -v Print program version number. BUGS - Code on the same line as a block comment is treated as comment. Keywords inside literal strings are highlighted. - There doesn't appear to be an easy way to accommodate linuxdoc so just pass it through without markup. AUTHOR Written by Stuart Rackham, URLS http://sourceforge.net/projects/asciidoc/ http://asciidoc.org/ COPYING Copyright (C) 2002-2006 Stuart Rackham. Free use of this software is granted under the terms of the GNU General Public License (GPL). ''' import os, sys, re VERSION = '1.1.2' # Globals. language = None backend = None tabsize = 8 keywordtags = { 'html': ('',''), 'css': ('',''), 'docbook': ('',''), 'linuxdoc': ('','') } commenttags = { 'html': ('',''), 'css': ('',''), 'docbook': ('',''), 'linuxdoc': ('','') } keywords = { 'python': ('and', 'del', 'for', 'is', 'raise', 'assert', 'elif', 'from', 'lambda', 'return', 'break', 'else', 'global', 'not', 'try', 'class', 'except', 'if', 'or', 'while', 'continue', 'exec', 'import', 'pass', 'yield', 'def', 'finally', 'in', 'print'), 'ruby': ('__FILE__', 'and', 'def', 'end', 'in', 'or', 'self', 'unless', '__LINE__', 'begin', 'defined?' 'ensure', 'module', 'redo', 'super', 'until', 'BEGIN', 'break', 'do', 'false', 'next', 'rescue', 'then', 'when', 'END', 'case', 'else', 'for', 'nil', 'retry', 'true', 'while', 'alias', 'class', 'elsif', 'if', 'not', 'return', 'undef', 'yield'), 'c++': ('asm', 'auto', 'bool', 'break', 'case', 'catch', 'char', 'class', 'const', 'const_cast', 'continue', 'default', 'delete', 'do', 'double', 'dynamic_cast', 'else', 'enum', 'explicit', 'export', 'extern', 'false', 'float', 'for', 'friend', 'goto', 'if', 'inline', 'int', 'long', 'mutable', 'namespace', 'new', 'operator', 'private', 'protected', 'public', 'register', 'reinterpret_cast', 'return', 'short', 'signed', 'sizeof', 'static', 'static_cast', 'struct', 'switch', 'template', 'this', 'throw', 'true', 'try', 'typedef', 'typeid', 'typename', 'union', 'unsigned', 'using', 'virtual', 'void', 'volatile', 'wchar_t', 'while') } block_comments = { 'python': ("'''","'''"), 'ruby': None, 'c++': ('/*','*/') } inline_comments = { 'python': '#', 'ruby': '#', 'c++': '//' } def print_stderr(line): sys.stderr.write(line+os.linesep) def sub_keyword(mo): '''re.subs() argument to tag keywords.''' word = mo.group('word') if word in keywords[language]: stag,etag = keywordtags[backend] return stag+word+etag else: return word def code_filter(): '''This function does all the work.''' global language, backend inline_comment = inline_comments[language] blk_comment = block_comments[language] if blk_comment: blk_comment = (re.escape(block_comments[language][0]), re.escape(block_comments[language][1])) stag,etag = commenttags[backend] in_comment = 0 # True if we're inside a multi-line block comment. tag_comment = 0 # True if we should tag the current line as a comment. line = sys.stdin.readline() while line: line = line.rstrip() line = line.expandtabs(tabsize) # Escape special characters. line = line.replace('&','&') line = line.replace('<','<') line = line.replace('>','>') # Process block comment. if blk_comment: if in_comment: if re.match(r'.*'+blk_comment[1]+r'$',line): in_comment = 0 else: if re.match(r'^\s*'+blk_comment[0]+r'.*'+blk_comment[1],line): # Single line block comment. tag_comment = 1 elif re.match(r'^\s*'+blk_comment[0],line): # Start of multi-line block comment. tag_comment = 1 in_comment = 1 else: tag_comment = 0 if tag_comment: if line: line = stag+line+etag else: if inline_comment: pos = line.find(inline_comment) else: pos = -1 if pos >= 0: # Process inline comment. line = re.sub(r'\b(?P\w+)\b',sub_keyword,line[:pos]) \ + stag + line[pos:] + etag else: line = re.sub(r'\b(?P\w+)\b',sub_keyword,line) sys.stdout.write(line + os.linesep) line = sys.stdin.readline() def usage(msg=''): if msg: print_stderr(msg) print_stderr('Usage: code-filter -b backend -l language [ -t tabsize ]') print_stderr(' [ --help | -h ] [ --version | -v ]') def main(): global language, backend, tabsize # Process command line options. import getopt opts,args = getopt.getopt(sys.argv[1:], 'b:l:ht:v', ['help','version']) if len(args) > 0: usage() sys.exit(1) for o,v in opts: if o in ('--help','-h'): print(__doc__) sys.exit(0) if o in ('--version','-v'): print('code-filter version %s' % (VERSION,)) sys.exit(0) if o == '-b': backend = v if o == '-l': v = v.lower() if v == 'c': v = 'c++' language = v if o == '-t': try: tabsize = int(v) except: usage('illegal tabsize') sys.exit(1) if tabsize <= 0: usage('illegal tabsize') sys.exit(1) if backend is None: usage('backend option is mandatory') sys.exit(1) if backend not in keywordtags: usage('illegal backend option') sys.exit(1) if language is None: usage('language option is mandatory') sys.exit(1) if language not in keywords: usage('illegal language option') sys.exit(1) # Do the work. code_filter() if __name__ == "__main__": try: main() except (KeyboardInterrupt, SystemExit): pass except: print_stderr("%s: unexpected exit status: %s" % (os.path.basename(sys.argv[0]), sys.exc_info()[1])) # Exit with previous sys.exit() status or zero if no sys.exit(). sys.exit(sys.exc_info()[1]) asciidoc-py3-9.0.0rc1/filters/code/code-filter-test.txt0000644000175000017500000000061113570064211022251 0ustar josephjosephCode Filter Test ================ [python] code~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ''' A multi-line comment.''' def sub_word(mo): ''' Single line comment.''' word = mo.group('word') # Inline comment if word in keywords[language]: return quote + word + quote else: return word code~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ asciidoc-py3-9.0.0rc1/filters/code/code-filter.conf0000644000175000017500000000040613570064211021404 0ustar josephjoseph# # AsciiDoc code filter configuration file. # # Documented in code-filter-readme.txt # [blockdef-listing] code-style=template="listingblock",presubs=(),postsubs=("callouts",),posattrs=("style","language"),filter="code-filter.py -b {basebackend} -l {language}" asciidoc-py3-9.0.0rc1/filters/unwraplatex.py0000755000175000017500000000071413570064211020357 0ustar josephjoseph#!/usr/bin/env python3 ''' NAME unwraplatex - Removes delimiters from LaTeX source text SYNOPSIS latex2img STDIN DESCRIPTION This filter reads LaTeX source text from STDIN and removes the surrounding \[ and \] delimiters. ''' import re, sys sys.stdout.write(re.sub("(?s)\A(?:\\\\\[\s*)?(.*?)(?:\\\\\])?\Z", "\\1", sys.stdin.read().rstrip())) # NOTE append endline in result to prevent 'no output from filter' warning sys.stdout.write("\n") asciidoc-py3-9.0.0rc1/filters/graphviz/0000755000175000017500000000000013570064211017260 5ustar josephjosephasciidoc-py3-9.0.0rc1/filters/graphviz/asciidoc-graphviz-sample.txt0000644000175000017500000001364313570064211024715 0ustar josephjoseph= Graphviz filter for AsciiDoc = Author: Gouichi Iisaka Version: 1.1.3 == Introduction == The Graphviz(link:http://www.graphviz.org[]) is a way of representing structural information as diagrams of abstract graphs and networks. Automatic graph drawing has many important applications in software engineering, database and web design, networking, and in visual interfaces for many other domains. Graphviz take descriptions of graphs in a simple text language, And has many useful features for concrete diagrams, such as options for colors, fonts, tabular node layouts, line styles, hyperlinks, and custom shapes. AsciiDoc can external shell commands used to process Paragraph and DelimitedBlock content by Filter. So now, AsciiDoc can draw graphs via graphviz filter. == Examples == === Simple === ..................................................................... [graphviz] --------------------------------------------------------------------- digraph G { rankdir=LR; Graphviz->AsciiDoc->HTML} --------------------------------------------------------------------- ..................................................................... [graphviz] --------------------------------------------------------------------- digraph G { rankdir=LR; Graphviz->AsciiDoc->HTML} --------------------------------------------------------------------- === Using options === ..................................................................... ["graphviz", "sample2.png"] --------------------------------------------------------------------- digraph automata_0 { size ="8.5, 11"; node [shape = circle]; 0 [ style = filled, color=lightgrey ]; 2 [ shape = doublecircle ]; 0 -> 2 [ label = "a " ]; 0 -> 1 [ label = "other " ]; 1 -> 2 [ label = "a " ]; 1 -> 1 [ label = "other " ]; 2 -> 2 [ label = "a " ]; 2 -> 1 [ label = "other " ]; "Machine: a" [ shape = plaintext ]; } --------------------------------------------------------------------- ..................................................................... ["graphviz", "sample2.png"] --------------------------------------------------------------------- digraph automata_0 { size ="8.5, 11"; node [shape = circle]; 0 [ style = filled, color=lightgrey ]; 2 [ shape = doublecircle ]; 0 -> 2 [ label = "a " ]; 0 -> 1 [ label = "other " ]; 1 -> 2 [ label = "a " ]; 1 -> 1 [ label = "other " ]; 2 -> 2 [ label = "a " ]; 2 -> 1 [ label = "other " ]; "Machine: a" [ shape = plaintext ]; } --------------------------------------------------------------------- === Using Layout === ..................................................................... ["graphviz", "sample3.png", "dot"] --------------------------------------------------------------------- digraph finite_state_machine { rankdir=LR; size="8,5" node [shape = doublecircle]; LR_0 LR_3 LR_4 LR_8; node [shape = circle]; LR_0 -> LR_2 [ label = "SS(B)" ]; LR_0 -> LR_1 [ label = "SS(S)" ]; LR_1 -> LR_3 [ label = "S($end)" ]; LR_2 -> LR_6 [ label = "SS(b)" ]; LR_2 -> LR_5 [ label = "SS(a)" ]; LR_2 -> LR_4 [ label = "S(A)" ]; LR_5 -> LR_7 [ label = "S(b)" ]; LR_5 -> LR_5 [ label = "S(a)" ]; LR_6 -> LR_6 [ label = "S(b)" ]; LR_6 -> LR_5 [ label = "S(a)" ]; LR_7 -> LR_8 [ label = "S(b)" ]; LR_7 -> LR_5 [ label = "S(a)" ]; LR_8 -> LR_6 [ label = "S(b)" ]; LR_8 -> LR_5 [ label = "S(a)" ]; } --------------------------------------------------------------------- ..................................................................... ["graphviz", "sample3.png", "dot"] --------------------------------------------------------------------- digraph finite_state_machine { rankdir=LR; size="8,5" node [shape = doublecircle]; LR_0 LR_3 LR_4 LR_8; node [shape = circle]; LR_0 -> LR_2 [ label = "SS(B)" ]; LR_0 -> LR_1 [ label = "SS(S)" ]; LR_1 -> LR_3 [ label = "S($end)" ]; LR_2 -> LR_6 [ label = "SS(b)" ]; LR_2 -> LR_5 [ label = "SS(a)" ]; LR_2 -> LR_4 [ label = "S(A)" ]; LR_5 -> LR_7 [ label = "S(b)" ]; LR_5 -> LR_5 [ label = "S(a)" ]; LR_6 -> LR_6 [ label = "S(b)" ]; LR_6 -> LR_5 [ label = "S(a)" ]; LR_7 -> LR_8 [ label = "S(b)" ]; LR_7 -> LR_5 [ label = "S(a)" ]; LR_8 -> LR_6 [ label = "S(b)" ]; LR_8 -> LR_5 [ label = "S(a)" ]; } --------------------------------------------------------------------- == Layout == Layout for graphviz as follows. The default is `dot'. *dot;; 'dot' draws directed graphs. It works well on DAGs and other graphs that can be drawn as hierarchies. It reads attributed graph files and writes drawings. *neato;; 'neato' draws undirected graphs using ‘‘spring'' models (see Kamada and Kawai, Information Processing Letters 31:1, April 1989). Input files must be formatted in the dot attributed graph language. *twopi;; 'twopi' draws graphs using a radial layout (see G. Wills, Symposium on Graph Drawing GD'97, September, 1997). Basically, one node is chosen as the center and put at the origin. The remaining nodes are placed on a sequence of concentric circles centered about the origin, each a fixed radial distance from the previous circle. *circro;; 'circo' draws graphs using a circular layout (see Six and Tollis, GD '99 and ALENEX '99, and Kaufmann and Wiese, GD '02.) The tool identifies biconnected components and draws the nodes of the component on a circle. The block‐cutpoint tree is then laid out using a recursive radial algorithm. Edge crossings within a circle are minimized by placing as many edges on the circle's perimeter as possible. In particular, if the component is outerplanar, the component will have a planar layout. *fdp;; 'fdp' draws undirected graphs using a ‘‘spring'' model. It relies on a force‐directed approach in the spirit of Fruchterman and Reingold (cf. Software‐Practice & Experience 21(11), 1991, pp. 1129‐1164). asciidoc-py3-9.0.0rc1/filters/graphviz/graphviz2png.py0000755000175000017500000001212213570064211022254 0ustar josephjoseph#!/usr/bin/env python3 import os import sys import subprocess import argparse __AUTHOR__ = "Gouichi Iisaka " __VERSION__ = '1.1.5' class EApp(Exception): '''Application specific exception.''' pass class Application(): ''' NAME graphviz2png - Converts textual graphviz notation to PNG file SYNOPSIS graphviz2png [options] INFILE DESCRIPTION This filter reads Graphviz notation text from the input file INFILE (or stdin if INFILE is -), converts it to a PNG image file. OPTIONS -o OUTFILE, --outfile=OUTFILE The file name of the output file. If not specified the output file is named like INFILE but with a .png file name extension. -L LAYOUT, --layout=LAYOUT Graphviz layout: dot, neato, twopi, circo, fdp Default is 'dot'. -F FORMAT, --format=FORMAT Graphviz output format: png, svg, or any other format Graphviz supports. Run dot -T? to get the full list. Default is 'png'. -v, --verbose Verbosely print processing information to stderr. -h, --help Print this documentation. -V, --version Print program version number. SEE ALSO graphviz(1) AUTHOR Written by Gouichi Iisaka, Format support added by Elmo Todurov, THANKS Stuart Rackham, This script was inspired by his music2png.py and AsciiDoc LICENSE Copyright (C) 2008-2009 Gouichi Iisaka. Free use of this software is granted under the terms of the GNU General Public License (GPL). ''' def __init__(self, argv=None): # Run dot, get the list of supported formats. It's prefixed by some junk. format_output = subprocess.Popen(["dot", "-T?"], stderr=subprocess.PIPE, stdout=subprocess.PIPE).communicate()[1].decode('utf-8') # The junk contains : and ends with :. So we split it, then strip the final endline, then split the list for future usage. supported_formats = format_output.split(": ")[2][:-1].split(" ") if not argv: argv = sys.argv self.usage = '%(prog)s [options] infile' self.version = 'Version: %s\n' % __VERSION__ self.version += 'Copyright(c) 2008-2009: %s\n' % __AUTHOR__ self.parser = argparse.ArgumentParser(usage=self.usage) self.parser.add_argument("-o", "--outfile", action="store", dest="outfile", help="Output file") self.parser.add_argument("-L", "--layout", action="store", dest="layout", default="dot", choices=['dot', 'neato', 'twopi', 'circo', 'fdp'], help="Layout type") self.parser.add_argument("-F", "--format", action="store", dest="format", default="png", choices=supported_formats, help="Format type") self.parser.add_argument("--debug", action="store_true", dest="do_debug", help=argparse.SUPPRESS) self.parser.add_argument("-v", "--verbose", action="store_true", dest="do_verbose", default=False, help="verbose output") self.parser.add_argument("infile", action="store", help="Input file") self.parser.add_argument('--version', action='version', version=self.version) self.options = self.parser.parse_args() def systemcmd(self, cmd): if self.options.do_verbose: msg = 'Execute: %s' % cmd sys.stderr.write(msg + os.linesep) else: cmd += ' 2>%s' % os.devnull if os.system(cmd): raise EApp('failed command: %s' % cmd) def graphviz2png(self, infile, outfile): '''Convert Graphviz notation in file infile to PNG file named outfile.''' outfile = os.path.abspath(outfile) outdir = os.path.dirname(outfile) if not os.path.isdir(outdir): raise EApp('directory does not exist: %s' % outdir) saved_cwd = os.getcwd() os.chdir(outdir) try: cmd = '%s -T%s "%s" > "%s"' % (self.options.layout, self.options.format, infile, outfile) self.systemcmd(cmd) finally: os.chdir(saved_cwd) if not self.options.do_debug: os.unlink(infile) def run(self): if self.options.format == '': self.options.format = 'png' infile = self.options.infile if self.options.infile == '-': if self.options.outfile is None: sys.stderr.write('OUTFILE must be specified') sys.exit(1) infile = os.path.splitext(self.options.outfile)[0] + '.txt' lines = sys.stdin.readlines() open(infile, 'w').writelines(lines) if not os.path.isfile(infile): raise EApp('input file does not exist: %s' % infile) if self.options.outfile is None: outfile = os.path.splitext(infile)[0] + '.png' else: outfile = self.options.outfile self.graphviz2png(infile, outfile) # To suppress asciidoc 'no output from filter' warnings. if self.options.infile == '-': sys.stdout.write(' ') if __name__ == "__main__": app = Application() app.run() asciidoc-py3-9.0.0rc1/filters/graphviz/graphviz-filter.conf0000644000175000017500000000334513570064211023251 0ustar josephjoseph# # AsciiDoc Graphviz filter configuration file. # # Version: 1.0 # Gouici Iisaka [graphviz-filter-style] # When the filter output image is data-uri encoded write it to the indir # (instead of the outdir) so that encoder can find it. ifndef::data-uri[] graphviz-style=template="graphviz{format?-{format}}-block",subs=(),posattrs=("style","target","layout","format"),filter='graphviz2png.py {verbose?-v} -o "{outdir={indir}}/{imagesdir=}{imagesdir?/}{target}" -L {layout=dot} -F {format=png} -' endif::data-uri[] ifdef::data-uri[] graphviz-style=template="graphviz{format?-{format}}-block",subs=(),posattrs=("style","target","layout","format"),filter='graphviz2png.py {verbose?-v} -o "{indir={outdir}}/{imagesdir=}{imagesdir?/}{target}" -L {layout=dot} -F {format=png} -' endif::data-uri[] [blockdef-open] template::[graphviz-filter-style] [blockdef-listing] template::[graphviz-filter-style] [paradef-default] template::[graphviz-filter-style] [graphviz-block] template::[filter-image-blockmacro] # EXPERIMENTAL: xhtml11 backend SVG image block. ifdef::basebackend-xhtml11[] [graphviz-svg-block]
{link#}
{caption={figure-caption} {counter:figure-number}. }{title}
endif::basebackend-xhtml11[] # # DEPRECATED: Pre 8.2.7 filter definition. # [blockdef-graphviz] delimiter=^graphviz~{4,}$ template=graphviz-block presubs=none filter=graphviz2png.py {verbose?-v} -o "{outdir={indir}}/{target}" -L {layout=dot} - posattrs=target,format # # DEPRECATED: End # asciidoc-py3-9.0.0rc1/xhtml11-quirks.conf0000644000175000017500000000364213570064211017444 0ustar josephjoseph# # xhtml11-quirks.conf # # Workarounds for IE6's broken # and incomplete CSS2. # [image-blockmacro]
{caption={figure-caption} {counter:figure-number}: }{title}
[sidebarblock]
[quoteblock]
{title}
|
{citetitle}
— {attribution}
[verseblock]
{title}
|
{citetitle}
— {attribution}
[exampleblock]
{caption={example-caption} {counter:example-number}: }{title}
|
[sect2]
# The
is because the IE6 adjacent-sibling CSS selector is broken. {numbered?{sectnum} }{title}
|
asciidoc-py3-9.0.0rc1/README.asciidoc0000644000175000017500000000317113570064211016415 0ustar josephjoseph[float] AsciiDoc image:https://travis-ci.com/asciidoc/asciidoc-py3.svg?branch=master["Build Status", link="https://travis-ci.com/asciidoc/asciidoc-py3"] =================================================================================================================================== AsciiDoc is a text document format for writing notes, documentation, articles, books, ebooks, slideshows, web pages, man pages and blogs. AsciiDoc files can be translated to many formats including HTML, PDF, EPUB, man page. AsciiDoc is highly configurable: both the AsciiDoc source file syntax and the backend output markups (which can be almost any type of SGML/XML markup) can be customized and extended by the user. Prerequisites ------------- AsciiDoc is written in Python so you need a Python interpreter (version 3.5 or later) to execute asciidoc(1). Python is installed by default in most Linux distributions. You can download Python from the official Python website http://www.python.org. Obtaining AsciiDoc ------------------ AsciiDoc's Python 3 port is currently under development. To obtain AsciiDoc, download a copy of the repo from the GitHub project at https://github.com/asciidoc/asciidoc-py3 and follow the instructions in INSTALL.txt to build and install it. Tools ----- Current AsciiDoc version tested on Ubuntu 18.04 with: - Python 3.6.5 - DocBook XSL Stylesheets 1.76.1 - xsltproc (libxml 20706, libxslt 10126 and libexslt 815). - w3m 0.5.2 - dblatex 0.3 - FOP 0.95 - A-A-P 1.091 Copying ------- Copyright (C) 2002-2013 Stuart Rackham. Free use of this software is granted under the terms of the GNU General Public License version 2 (GPLv2). asciidoc-py3-9.0.0rc1/lang-ru.conf0000644000175000017500000000276013570064211016177 0ustar josephjoseph# # AsciiDoc Russian language configuration file. # Originally written by Artem Zolochevskiy # [attributes] # Left and right single and double quote characters. ldquo=« rdquo=» # Captions, used by (X)HTML backends. # Captions on RHS are displayed in outputs. ifdef::basebackend-html[] caution-caption=Предостережение important-caption=Важно note-caption=Замечание tip-caption=Подсказка warning-caption=Внимание figure-caption=Рисунок table-caption=Таблица example-caption=Пример toc-title=Содержание appendix-caption=Приложение # Man page NAME section title. manname-title=ИМЯ [footer-text] Редакция {revnumber}{basebackend-xhtml11?
}{basebackend-xhtml11=
} Последнее обновление template::[footer-date] endif::basebackend-html[] [specialsections] # DocBook special sections. # The regular expression on LHS is matched against source titles. ifdef::basebackend-docbook[] ifdef::doctype-article[] ^Аннотация$=abstract endif::doctype-article[] ifdef::doctype-book[] ^Колофон$=colophon ^Посвящение$=dedication ^Введение$=preface endif::doctype-book[] ^Предметный указатель$=index ^Библиография$=bibliography ^Словарь терминов$=glossary ^Приложение [A-Z][:.](?P.*)$=appendix endif::basebackend-docbook[] ifdef::doctype-manpage[] (?i)^ОБЗОР$=synopsis endif::doctype-manpage[] ����������������asciidoc-py3-9.0.0rc1/lang-pt-BR.conf���������������������������������������������������������������0000644�0001750�0001750�00000002400�13570064211�016464� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# # AsciiDoc Portugues language configuration file. # Originally written by Thiago Farina # [attributes] #TODO: Left and right single and double quote characters. # Captions, used by (X)HTML backends. # Captions on RHS are displayed in outputs. ifdef::basebackend-html[] caution-caption=Atenção important-caption=Importante note-caption=Nota tip-caption=Sugestão warning-caption=Aviso figure-caption=Figura table-caption=Tabela example-caption=Exemplo toc-title=Tabela de conteúdos appendix-caption=Apêndice # Man page NAME section title. manname-title=NOME [footer-text] Versão {revnumber}{basebackend-xhtml11?<br />}{basebackend-xhtml11=<br>} Última Atualização template::[footer-date] endif::basebackend-html[] [specialsections] # DocBook special sections. # The regular expression on LHS is matched against source titles. ifdef::basebackend-docbook[] ifdef::doctype-article[] ^Resumo$=abstract endif::doctype-article[] ifdef::doctype-book[] ^Cólofon$=colophon ^Dedicação$=dedication ^Prefácio$=preface endif::doctype-book[] ^Índice$=index ^(Bibliografia|Referências)$=bibliography ^Glossário$=glossary ^Apêndice [A-Z][:.](?P<title>.*)$=appendix endif::basebackend-docbook[] ifdef::doctype-manpage[] (?i)^SINOPSE$=synopsis endif::doctype-manpage[] ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/help.conf���������������������������������������������������������������������0000644�0001750�0001750�00000025054�13570064211�015563� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# AsciiDoc help file. # # INI section format, each section contains a topic. # Displayed with 'asciidoc --help sectionname' command. # # # Default help topic. # [default] Man page: asciidoc --help manpage Syntax: asciidoc --help syntax [manpage] NAME asciidoc - converts an AsciiDoc text file to HTML or DocBook SYNOPSIS asciidoc [OPTIONS] FILE DESCRIPTION The asciidoc(1) command translates the AsciiDoc text file FILE to DocBook or HTML. If FILE is - then the standard input is used. OPTIONS -a, --attribute=ATTRIBUTE Define or delete document attribute. ATTRIBUTE is formatted like NAME=VALUE. Command-line attributes take precedence over document and configuration file attributes. Alternate acceptable forms are NAME (the VALUE defaults to an empty string); NAME! (delete the NAME attribute); NAME=VALUE@ (do not override document or configuration file attributes). Values containing spaces should be enclosed in double-quote characters. This option may be specified more than once. A special attribute named trace controls the output of diagnostic information. -b, --backend=BACKEND Backend output file format: docbook45, xhtml11, html4, html5, slidy, wordpress or latex (the latex backend is experimental). You can also use the backend alias names html (aliased to xhtml11) or docbook (aliased to docbook45). Defaults to html. The --backend option is also used to manage backend plugins (see [1]PLUGIN COMMANDS). -f, --conf-file=CONF_FILE Use configuration file CONF_FILE.Configuration files processed in command-line order (after implicit configuration files). This option may be specified more than once. --doctest Run Python doctests in asciidoc module. -d, --doctype=DOCTYPE Document type: article, manpage or book. The book document type is only supported by the docbook backend. Default document type is article. -c, --dump-conf Dump configuration to stdout. --filter=FILTER Specify the name of a filter to be loaded (used to load filters that are not auto-loaded). This option may be specified more than once. The --filter option is also used to manage filter plugins (see [2]PLUGIN COMMANDS). -h, --help [TOPIC] Print help TOPIC. --help topics will print a list of help topics, --help syntax summarizes AsciiDoc syntax, --help manpage prints the AsciiDoc manpage. -e, --no-conf Exclude implicitly loaded configuration files except for those named like the input file (infile.conf and infile-backend.conf). -s, --no-header-footer Suppress document header and footer output. -o, --out-file=OUT_FILE Write output to file OUT_FILE. Defaults to the base name of input file with backend extension. If the input is stdin then the outfile defaults to stdout. If OUT_FILE is - then the standard output is used. -n, --section-numbers Auto-number HTML article section titles. Synonym for --attribute numbered. --safe Enable safe mode. Safe mode is disabled by default. AsciiDoc safe mode skips potentially dangerous scripted sections in AsciiDoc source files. --theme=THEME Specify a theme name. Synonym for --attribute theme=THEME. The --theme option is also used to manage theme plugins (see [3]PLUGIN COMMANDS). -v, --verbose Verbosely print processing information and configuration file checks to stderr. --version Print program version number. PLUGIN COMMANDS The asciidoc(1) --filter, --backend and --theme options are used to install, remove and list AsciiDoc filter, backend and theme plugins. Syntax: asciidoc OPTION install ZIP_FILE [PLUGINS_DIR] asciidoc OPTION remove PLUGIN_NAME [PLUGINS_DIR] asciidoc OPTION list asciidoc OPTION build ZIP_FILE PLUGIN_SOURCE Where: OPTION asciidoc(1) --filter, --backend or --theme option specifying the type of plugin. PLUGIN_NAME A unique plugin name containing only alphanumeric or underscore characters. ZIP_FILE A Zip file containing plugin resources, the name must start with the plugin name e.g. my_filter-1.0.zip packages filter my_filter. PLUGINS_DIR The directory containing installed plugins. Each plugin is contained in its own separate subdirectory which has the same name as the plugin. PLUGINS_DIR defaults to the $HOME/.asciidoc/filters (for filter plugins) or $HOME/.asciidoc/backends (for backend plugins) or $HOME/.asciidoc/themes (for theme plugins). PLUGIN_SOURCE The name of a directory containing the plugin source files or the name of a single source file. The plugin commands perform as follows: install Create a subdirectory in PLUGINS_DIR with the same name as the plugin then extract the ZIP_FILE into it. remove Delete the PLUGIN_NAME plugin subdirectory and all its contents from the PLUGINS_DIR. list List the names and locations of all installed filter or theme plugins (including standard plugins installed in the global configuration directory). build Create a plugin file named ZIP_FILE containing the files and subdirectories specified by PLUGIN_SOURCE. File and directory names starting with a period are skipped. EXIT STATUS 0 Success 1 Failure (syntax or usage error; configuration error; document processing failure; unexpected error). BUGS See the AsciiDoc distribution BUGS file. AUTHOR AsciiDoc was originally written by Stuart Rackham. Many people have contributed to it. RESOURCES SourceForge: [4]http://sourceforge.net/projects/asciidoc/ Main web site: [5]http://asciidoc.org/ COPYING Copyright (C) 2002-2011 Stuart Rackham. Free use of this software is granted under the terms of the GNU General Public License (GPL). [syntax] AsciiDoc Markup Syntax Summary ============================== A summary of the most commonly used markup. For a complete reference see the 'AsciiDoc User Guide'. Text formatting --------------- *bold text* (boldface font) _emphasized text_ (normally italics) 'emphasized text' +monospaced text+ (proportional font) `monospaced text` (inline literal passthrough) Document links -------------- [[id]] (define link target) <<id,caption>> (link to target id) link:filename#id[caption] (link to external HTML file) URLs ---- Use normal URL and email addess syntax or: http:address[caption] (link to web page) mailto:address[caption] (link to mail recipient) Images ------ image:filename[caption] (inline image) image::filename[caption] (block image) Document header --------------- The Document Title ================== author <email> revision, date author, email, revision and date are optional. Section title underlines ------------------------ Underlined: Level 0 (document title) ======= Level 1 ------- Level 2 ~~~~~~~ Level 3 ^^^^^^^ Level 4 (bottom level) +++++++ Single line: = Level 0 = (document title) == Level 1 == === Level 2 === ==== Level 3 ==== ===== Level 4 ===== (bottom level) Paragraphs ---------- A normal paragraph. (styles: literal,verse,quote,listing, NOTE,TIP,WARNING,IMPORTANT,CAUTION) An indented literal paragraph. Delimited blocks ---------------- Delimiters must begin at left margin. ------------------- (styles: source,music,graphviz) listing block ------------------- ................... (styles: listing,verse) literal block ................... ******************* sidebar block ******************* [style, author, cite] ___________________ (styles: quote,verse) quote block ___________________ =================== (styles: NOTE,TIP,WARNING, example block IMPORTANT,CAUTION) =================== /////////////////// comment block /////////////////// +++++++++++++++++++ (styles: pass,asciimath,latexmath) passthrough block +++++++++++++++++++ [style] (styles: abstract,partintro) -- open block -- More block elements ------------------- [attributes list] .Block title // Comment line include::filename[] Tables ------ .An example table [width="40%",cols="^,2m",frame="topbot",options="header,footer"] |====================== |Column 1 |Column 2 |1 |Item 1 |2 |Item 2 |3 |Item 3 |6 |Three items |====================== Common attributes: grid: none,cols,rows,all frame: topbot,none,sides,all options: header,footer format: psv,csv,dsv valign: top,bottom,middle width: 1%..100% cols: colspec[,colspec,...] colspec: [multiplier*][align][width][style] multiplier: 1... width: 1... or 1%...100% align: [horiz][.vert] horiz: < (left), ^ (center), > (right) vert: < (top), ^ (middle), > (bottom) style: d[efault], e[mphasis], m[onospaced], a[sciidoc], s[trong], l[iteral], v[erse], h[eader] cell: [cellspec]|data cellspec: [span*|+][align][style] span: [colspan][.rowspan] colspan: 1... rowspan: 1... Bulleted lists -------------- - item text * item text ** item text *** item text **** item text ***** item text (styles: callout,bibliography) Numbered lists -------------- 1. arabic (decimal) numbering a. loweralpha numbering F. upperalpha numbering iii) lowerroman numbering IX) upperroman numbering . arabic (decimal) numbering .. loweralpha numbering ... lowerroman numbering .... upperalpha numbering ..... upperroman numbering (styles: arabic,loweralpha,upperalpha,lowerroman,upperroman) Labeled lists ------------- label:: item text label;; item text label::: item text label:::: item text (styles: horizontal,vertical,glossary,qanda,bibliograpy) More inline elements -------------------- footnote:[footnote text] (document footnote) ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/images/�����������������������������������������������������������������������0000755�0001750�0001750�00000000000�13570064211�015223� 5����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/images/smallnew.png�����������������������������������������������������������0000644�0001750�0001750�00000000444�13570064211�017555� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������PNG  ��� IHDR���������,O3���sRGB����bKGD������ pHYs����(J���tIME51D^���IDAT8U =kdLtX4.mg )%̢cK-]K�AY{d>W^VO([j�NT֒@E04Us@G&oZ@ D^ٲg,6ѻ#K}Aj<^_ vAfM����IENDB`����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/images/highlighter.png��������������������������������������������������������0000644�0001750�0001750�00000372216�13570064211�020242� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������PNG  ��� IHDR����O���SN���sBIT|d���tEXtSoftware�Shutterc �� �IDATxwxTEM$B t" `*k˧X@DQDM&UzO 'c@&)_y{g9SΝ&.bܹ(((7<wy)ϗ�ZlZREQEQD\\ 0:ϗ0njHQEQEQEٻSN1`� 0 Վ((Wqqq�ϟ/;uV(((ʿUWbJ4cϩPM*(( z,|-gpuD˗3mOrBZf$=G~0Lj1(( EXٟU0|Quu% ռi<DZfN$0wY~9^Q;$LٳWB4w\ԱSeoFy;n5; [gGM]-HH\Π^W6aLu畒7pM1yMgs7uz$w-dהx^ήIA goezr x=Թ uy^2#xs&Ɍ_ӯY_fzƌ} Zaz8v62)lOM)v,lx湧 >1( 7�,m?|GN3Oz <-[b~ưHر?&a^38f vq'p<%oM@_%fp"&1iOR'Nx [^<ؓdee % kY-ּ~aVi\`YZ:#+:2<?; 1vKb̺KBks\Ժ'ډ"ˣ,ΐGcM^^82YGG].exn*DPpfFlɺz=A0=F~NSCs㟤G~8:d%Eb=-(Y p #&1^"O=`caώ֧ym›TI\9NvB>˜q߳O]Tϼ&>d?Oɓ<Ifd$<+n13ˊ솽@aٲe<{s.)HOx} 4HL1{Qm-}WzT6[BܤPd-ˆbR|̫lzEg)aر83i`7:Oaw ~.~tp]Ktx ٖ Ke#NgYbiuZ^6WNv:R3n'*KimgMgiQҩsi vpr\=Un� QK{T5_)fOcފİ㟈P9EXlբmxIE۾K?=ȱeˈ'.|uo{ʯ[GgvnՋ^Xși߼?6p"6b#yOݮަ yۥ,_e?@3�B/_Ƃ;kܭ %42Mzc #a9wچgGzTl;"00qgPB+7gmК7ܴ2{h&ȍ%O$V"4 -3IٶOiOPBCC Nޏծ솁!BO pqicoТ80׆FJ6;R7ao3yeBCr˰wYc?V %4"uoKgm,"L+aLV Mhh(moJh؞l'm߇tJhXO>ٵqqYli-b-iY2/,-nq>|QTpڌ YER.) ;)x6׃uS\$9n誐rzzڋ#0dw4y~;ʲvv"6 %4 Fzt_ˆR]f*tAK pgߓ긞ًW{+g < L~yj/?㞛n{`D3rqjc?dI&Q' XȷK(4OS 8/ /w栠 L"bed ֢l !PΜ9ChhJ!y:1 /sjG1nf/+g:(_ON=S(3ɢYXd͛h ]10|og3x`_g/`ﲉם+aɌi7"ܽ4g)&^/$JwFkQvm;ɩ$;Y<AЧ]ws$چQ0ymQKx?6vqB|nlY1wc,=|+V$kl*<}-�nܟu.`wm0¼Ԥam᭥xl'<>.6b;]nv?PFad{/y6!3Ww\L@_b𑝹1g^h*̙Ɗ%0»_`,+Ro_YWY)XqQn=[eqm0GWQbG3& ӽ0ʿhPHV1/Jӧ~䛱#OyxQWZ/fjgپ?)鼧)vu2o&4j}l:�#ɫ/?nyX˧ R-v*OY3m3\j\>jq#3jO>gl԰+p,Oa*Ys2%Wsb'4B Q!!<ϠбiiT*rp ;ur�}:`_7\&]̸8z,!f.b58ǎS!ZRA|Ƃ8Ch[ѕ W鯧5HrM3ghE'-ώǝNSE3L؇g3l/N ݞ13x+;21yԡx6fEYd )6ʤQq毃gͤdټvW~F4lO0ѠƾO9W?ce`&a05@fyg֌&N(_ #hOp̝{푩<_+Fy~wXaO}�xXU,& ~sd�Ly"y)?kѣұ',#)!>ϴ\}0^]?x6ܖvFAip~Em+ϼ,'h_]ٍ' lrG׾ ;J*G1^L`/,rv~eƗFks51=?iH&|Y /m[߳^Ai8 F\Xf8l\782CC 8Avnr9u3a  &&7{:bKÎrN`KcS'OSQc&5WV ،L2t hnW8 u^˃ f77̮ `݋:s燏LɴE/B|p =lb"SHH9\-+ey{cShi{"u&ṕs*Ҵ7= a3Hn^wj?4v\}VwC)xo^$o2HJ* FP|%H1ix|xYoo?}ON`l*J^$tCS0Rnl;VFgBQT!IN+*^pL)# cS?=C%sv<E<7|<tҲ0 ϱq췹z~x "d`D; 5G&8M@,5:@\YΥ1\ v|eQt=8ù E`n71d'Am2-̎ ig¦Ahv=6"ctMxSOfY8g.�[s bI^ uh3!?{5aU~v B-W/ZVrd"ɸ4^lid%#-խ>޾�SIPųnp5;f3tb3"9AJV*">G95Zp ƔsZQz:(""JtVXP 880o@9O+-SgzZ?|]X8,]R\:9�3aA8Wl}9$5Y sKn'b5:L0l/+gIǞK]'O8|q{)& l#_obT =2:7)HyaRh00biFɄ oE Ӆ9irO(GZ*EoJКk&]oچ!ΥK_ʙd>fOTsVIɾ&/Jͥ1ƳVSz`#WqGW#N�xV 5=YʢzPEs!)n19<o׭ f]TBtU`9fħdaq0.OiGSNXj#/ {?N dͧ+3`D >8ŷ]6gh''bOz2KI9p!|HONU ˾m7'88m^Հ̞AWo'9]zbG[BhSX888�"ZZɒ{t/_<]|x<R [U"DGOX1Y.`7=!rvZVSz&a>\p r D݉ON3vY?V9 [#鷕g`CFd6[ i"3F;…{.Ҹ%bǰ-MhF҆ @ud� vq /^*yt/1sE+<>v1܎Y h;[Yrn&?Gc,_0`DSj~hV4o27&ƆaŠ*|ߓQ83,+-^AG3ag<~~y9ޅ=W5:M^vfd4 NJr|MZNaٙ:w ÒO_,{|(:VHMFr_ޚalփ7*vGԋ؍z໕/*(zN{#ۙ3LSH=x3bܒ<to�GHnV|ZӣeɐSHut/~L`NUNԤy 8(en'# '$cޛ.X|+b #39Ԑv;,-8++1 ;fɅrnr %)#4/4>Sd,]WŊX˗iZn$%$`4mZX d?>]ڳ {qw9GiPfB`td&+gG3cnvJ<Kуɹ~aBB$nn@pL\s2陷Yۙ&^D ŧa EXn} ~NrSy9s59'~o'= 7+/xh|W+пG@G&~o #cRڏK[,7b_&v9Dfr~ Ndzgړ&ٌ>_I&GVϥO3aΖC&g-X@{Vw^1$;3ܨ/NoEW(=&dQm~ijGc:~m$M v㏬o[}iW.nG.ǥ=ߘSMȁbQ|^ElL~iuyM3Dkb^.*+MZѲA.{ nc5h {\(v0QXXwEFDKSyXu~IKs\(r.8thcu 9ͬc=KTsb6]elp*.U+W0~{(T2_~0q7Kˉ s< oVUo 7Fy <'Rvy_ƈ6O{Z9$"ȧ4sΫ򒯸E l6Ȇ7gg,~a,.yfȊ?򕫉?:6~- c>{`1.GӬ\Coڵ$NFnp qKVgΰb*lCң_޽eE9׻vOim(ax: ;ص{FV%99(rIgfŨT,VK2A93r)+eAH9�Mogv$"Ug9:�B˛to0 :v*Cxw[]|`:~P2SH>W1>ȱatY%|'1!aYSJ8sOЯ:v*|4mJ=ii$:ŷ;vPi XX4w\[n]^^^ddd߲HIx#4hYՇ3 ooou EQ`Gh`ܯ?290;n\c2cZ;EQ<ysFƑ7c2 qv\{rz,7/Mؼ$`Jwӧy3>))Dww<7gŷ~sPvmw)BJJ qqqj9(( MY"""^Vt1ƪe(((:z,|-W"@QEQEQ#G&EQEQE t{\ Պ((\'̝;V\BhD((r<xx߻w{事RQEQEQ,)(s/ =&[QEQEQuEQEQEQ@QEQEQnhu/s(((Vl6‰'Xb)v]EQEQE!",]Ȩ(�Fרs(((6GÇؼeKQ((rѩcgv鎋˥C49PEQEQ 6[&AQ"EQEQEQ9PEQEQHQEQEQsݥ΁(((g:((\¹2KEQEQE3j\߲}#oT@QEQEQnDNG0/lQǙiE((s((( ^VdR(((ʿ 9PEQEQvLnX?X SEQEQsҁٷ 28'p2JX) ߐ~נ6*ӷ$l }vu&^@zYAO29^Xg_zD JQEQr.Pn<x9=L:Y{ '9qN/au:2} u_bt5žəs$IALl;y-EQEQY`ێT^҆{xWxTDRc'iEysψmoEu~Be Z]TZX;0% C5³zVEQEQ<g72spIKIoylN0>8k)2<|Kc.#`":d_Ϳa@kOU{ rAfWvs,^س\bE9'ٵ-u=o oWbEt,j_ǐ5XA5�� �IDAT{]j$Fh:xmKap/(jYraK"vtzJ((ʵb?̲�-X>/R%n޺O/8KslDnxLn42΃&ꏢ )dgRr.cgNvodgzfE'5pGU>�. -}||1 AZwr9lk,}a1RӨ y&=,yj[usn iG1}Bw;m6Mݑn,kx7{؉^s8omJ ((r8d=F XJnxu  둳@n8%&me6Mw|x�){ ffM 8_V,^Մ& ǵ-lEhIy-W 8ԕ=}'SY$` c)Ѯ -Q?Ew3/pj7#<*T|Wʹ�q1чKw6~#< !r m7N=[O6$@5鹶%PwE+((u1sMW�+5Gͷ$W2mHȊ"H|` ,QqV^w`ZKqM~)]Ž Q `B됁. WW:gƁEL'�ҙf�/v?>$$QәX|E<6}_fp2�~m_ZCep(.Ϭ((r;.{f4%�kc+M]P;wA�<:ruT@�,>ag5 yed{9e^nr6$0/~Ǣp'^IJ-G G3s<1)1NPcHϹL}j'sPƝ>B.Tg|˚|�uρ((uXj=1L)YQ%~0?vW[=\Yy8R"%{Ey"Y{r+�>=hb59,YGJW` !>#a(u vZ^ݚ8ObjK]oxO$ ?Z#EQEQej-Ow+i4g�Xulq@z�nⱺ}ɇZeRID�,7vÏʛ�4fxH. J/~hhJzLYtӇ0 WLRS8i�&2|cr3 T lH6Ҷ;mO(wi s+;/n}/*PUk((Uw͛ͩ<Q7Ӷռ{-F?qzixyʛ<ldFUzm7g8G!\qfA47o/ykHV88}|8ΆLpM9\9#-h 'MK_g7`[&첋+aB(휤F~ɟپZȰ[TNVN0;<̹;_0<4m絀�5fd; Uaeؗt}5m2q!Y;-NMݫ5fYRHEQEQˊ҉J\ݩ=$P/oļSGG0>(bX}oE%(Ӑ7s�5Lc49wkR$Jc4ɸۈiFIy%y[z™C@Ô2qkq 1HI9,N7͢8Y}fVyvw:nO&TR}377}^.@g}}<nCδr>a!olχIΊ((WܹKʕ R(((u”ęq<a1 #Op|0 l66oȰ;͍g%=TQEQEQ uEQEQEQ@QEQEQuEQEQEQ@QEQEQuEQEQEQ@QEQEQuEQEQEQ@QEQEQuEQEQEQ@QEQEQuEQEQE)%.E}U>-]\Tjʴ}zOQEQEOZ4!<R{> ߧ(("EQEQEQ�0͝;Kt{\ Պ((\'L]ƌȓ0g{ ic xV\3((8P@QEQEQuEQEQEQ@QEQEQuEQEQEQ@QEQEQuEQEQEQ@QEQEQuEQEQE<q}nq+M*.U#O|~N>ǝ@Rs/Y^پ=.TߵOCH|sX VZvEtYs4֑Jו^0Wўs+:vu E۵0Sa =orϠ?>xg<TxifNu=#6bgR:8.-�SPo>>ﭭiժKyzr͵E۵0S_XԗF[H'_Dz}L} ŜH$IgStsݠz|WVu|foQr=+Znɦggz)ܮqrp~ρ(߿d.<Ա|6ɔH GVϐˑ_H\Dqess^2l4N$n=Tɢ A$E=Pue<Q,T攼&<[ o==4uGޢbL3RnqrY7!'ң�2OcɎ{Y<;Zȫ _ND:\Ў>h"$.Ւ5yfyˌdǼ t~˽[l8cs1atBvrR{_^PeEe]]kɴ5>3NJ +Ztole䑑x:"Be!0,a#YovM>pm݄Tpi6~f bܖn}QzX*<>gf!^ەыsuNzp<N+Jl9yK2oNSV㺫iJ̝;Kbcs xw"}@\j<)D-3G MĶ y⎮ҥ# 3{9YGJqEeT Z}"ǝhk$BDN͸OzX-K+tgW.Y"Gߕu%<<\«½k?I KFJED$B^Z7i!1ʫ{JOQPR=Ļ{rDDbWL{{u>#ߖDd3oyJE$AMyTu \'_wͽϭrX YO0yKq$Iɼ5= U#"(Cv=?Mg.+]:tw>)_m9{䘈=-;f^7חM;}/Nv~Rس[y9~Zx^V*<L%K9Ry(r.`Fd9yC:˟{񀈈o|S=;"g?9z6W{f pk YqW1_Y;pfOmҧfVj'ϬH9?KzIn}该o޺5VȎ'jm3\{Z9:k|9#"G{Zu!^^,gJ[nlخJn8ӿ9_:Une;vp)+""Ξʱr8W-{쒿퐝{ɎmdΝ%%rL:I` w-MI'/40*e}!"QNp*cvD6)ؙn#b?||Z)yZ;)K y/94vyܱ02;۫r:Fahuq)M2`QHܷ#QI%Iz>98YCZ4Nä3k$Y#}Γd9)q*gir4rόUJ2WB _ea22pl9/䛁Mex_J su68=W,|YB^-6#ֱ2998#SZy^pkb^G$O}ss:T&ek_vRMns XKgWvUv㦲]kvowJd1Mـ;ں3V%L4V'iYbb{*)BJL q8Yy=kӥ.C9aüݗ]G>KYԦDչ;'eGvMU jݏow 6%{Wֿ݁Ь#\1:eܐ4rTZˆñddOYMyW𖚭_-2Wi9%;Qeg=o;n;`Iq0Hz3ϐ/9iYB殻kr*E˕%V`Ͷcε:hvNe~oz?ރ fOFg+Գ.CED])*o/q(,D,|3 dP-'!zV<]G0]@vdv|%rR^nx6ѡ8|,I?#<[ɜOwE7ˏ^A^8V3 q".˩Co+e'C^l{ZKۡݙJv#J^LW^{?Xzg-ipM4Qq)к8qvWځq7|%Af^A0k#󫘶&z# nu0,<#W~2HkFizh32X;=]l2{m/εWLة՟r=8 -.閰(6WH/%TU J*zjKu ;F:-d;^m|f[W2ˀp?<ޗ Wos p3]УśސxQ(FF 1)kLpJEbd"P.p&,n{=gM;xwXaV陜Z2L/5n_~ ߽jXR7bohUWVsw+E8"WZnYnNqmܚӊvpGk~Hk#ΕI4k"}= !C O^c\x^}I#@w$#_B}!5&}O9҄RLll8)3M>yF|iS]8ݿWk\Wv;չkB_3V1myg6frKm2ea:y!=1&Z<[eiYySb/jN\ˋz]^fqGroujt@ػ29(kwe`n6NY l3Ƥ׺A_GMoWH,X-/LYg�?CpaEmO𚩼^C%NxBo i4-۳[i9z`?2 ֍OK?mPRLWNXZzs$.8tʞs& juyK[_ػ]'qnOC90m:.ϞԳzq=b+, ;Vh@rSKe-ו(SԆd?{r ",+ηYѳeM$!Kr/ȧ6s7g{r@D~mP*^8½|gWGyxWrbٜh?,7t\ 91go1~,-=kKD:K~ݪRRy-Ry/12-{O]28 rto1h:("qsK7?g'D$~՛r_od=QD"ޒ^O>$ʆOzvG˫s~/ ;&{sQK$C+n>K-?y嶎g䛲*^:NjYK13X.HQF6 iv,9)""?u)`֥׹ {r+ED+!y;XIeZUF.M9`)q/cs:W-Q2EOI"ɒxe׏ 2iDo1sLDgK<ٳ9#""p˶^nO՟vjs$VDz\u$ENܜ](sZޒf\w@7$\lr/eBϪ7)(FKJ-wnP-|'r".WD}ˏR?l!%r/oL7˸wKl][dTS$+~#;b$'SBJ.1LqFo)4-xZqV@ qWwXyHgfʆ)[1wdTZ Z]\&BFWsV!|N9S,{Tt<7$Hyp9^JVʆrsP6HvtKŻxE*.%M9$=~pԥYɷ Gss}K'lRhsQ=Ng2%:YPӋSs-у_6},Y)G&Զ^+S*YL朼%7Ÿjځ::sgI.=sgʕ EQf#&TUI׿D|?`砪wC Xz>(^5v﵃)˘Q8yðcFla2ml޾awܛʕKpQREQ+f4Ӕ}32d:%`<;'׮c kGG@P@QEQ84~?ÿeCj$a~V ?/%QT?jj((tLO_r~TyLDK=(_˳B@bV(((΁((((((r΁oK/w-Y*.UC k3I $u*>7j"mOеׂs< 7;l~Qs4ʶ K{]C)իW?/xHQn4dffԨQN;3b#~M^ϝј8k9wl>1ŅD݈9[冮|4}456<M[[ӪU+]|ħ(W9sEN+"1bpT* e?;zjk0_~b_ Z -R؁rCkTwd3k.>EQ:zɇ&}Ŗ(Ӹm2)+#7~!5=J#<K' w9Yy7˰;EB>ߞ,DX u^g_F3[UR*yݛ1Ia36G ?ӕwF^\$c%|2/Z .Aэ|@m.CKhoɶ9u9rR,Ћ'ңVs1lhݑnf$;MWؕ6ĢTԇO,k4,aK7մ{g4EupXTJEpի %=`;Yvc�� �IDATKyʸ-ti6~f bܖn}X99jDxHQnΝ%ѹH$ADzBt%#X%""!/w;h8Av}!OUD>ݞ!rvt4V1oY#`j^ODSMqDȩIa^w{{Eҗa%<ܿ6KҵNKxPP*yݛ%D$i1cmY{q3,lR""M_?TkDZ{\^cd]ehҮcgG2Ub9sIL7rĻ{rDDbWL{{u>#ߖDdܓ[Iϻdq谾ҥCG~6CH RSJY1"_KG_X*";!E(>8k/e^ߜWS_%.u &khW %o[eˌE3y!%S[{^vl빳:}J:.]wi6v-}jov̊$W9+SPΏ4haȩ'ra9r:z@"w˞};dm-ysgI΁K y/94vt; r4y20BT- `jRU(9;<k&B =!H"һQ)lX,` "EAj=�vÆ<I3sʜs܉Ln+,Iz%=(}oM^WxQuYdR׳sYӲA Fgqa35%b.}:̖ 9*oqȭ1-nEPwAH9B'Itݥ\V,+t"ԕ疏娤˜!bUWwXVU]bq!)vQZ~蘭9%6d}xIst@<puKLjq/NɚG]C.]uȷ6B_ ٟ7["kg<\&ϯ>}MQkj7аcs5[&Vf)d&fbFVr[ZSM?,愵 >6c| H@9Xx=Ў&0^qGI\57-ِ,_i&- Y.IdByQ5^>{|g O^4>Y 'Gqr8/5JWۭ$ƹ+#W_kEtlVkِhv7l}CzHQ#M yA4ny&  TZԉ\@fU@6Yn%XfsTe\A0՝ZN{QޚN,c̠}ͽ܌`&W aBCrI6a~;m7GϟVbs.I|f.G(ɳF}TJT#_[Nӧ^[i}*RsJdp>2%:]S:e ~avyqv^)9d )ROs%S?/]SlGI=/^8-]fqR5slX, D7˒:X Sᶊ\Mv[&VOY5C̄"q.ocAN4gW+ 9aCh¡zrl*֧]9^./5JW''V`8Mn5K5.k'PoUH@J̓\l\Y{X[4?^@rDԭ1M''-B;6% ^xuiy]߿kMɼSU} Y8CAtzn9M<*ۂ0I�7B[EјLDLf2ϤSOm ":Vvz KaK_(c!\_JkߗLP*A 0RYCDʺJO04o~�z:b#ۙO]2;R>9=/c0jh&!?m>ϼش]^R_-fWMW7Bt 紒~{yF;H3NٸwjT^ހ"7ԨI98ǓNX}Rh1zp~#^'8Rs#qv§}rN;/ZlIb<*]V;y$V ,�e}SiD~| U :YNRXO|`(u ?|U<Ǜ㣴~1a܆2п?gtnccVe_Z< Gs:h>wt=(Ee(͟Q&-Y})0 &Njc$b/kI#8Q_.;S%-TS ?E|O1 Ϻxb;x}gY)I6sNwq\^2CHw;M1y=)_]7oFJ+׳S$mVW ةK%' c,捒n9vs;չ%MDD_'I꿤}Qί|sFĺ+:i9.s9/oă{}Z33Hase_H\<5x$^"WI׍st`<p}>V<5^̦Fy9'qe!>N+2̜9MڷR,iƤ!ܩ}MU~L?o=gA(fei_>F$xlVl6[6 †-gPA=ыpSu*e+'ćІW 7jL.Cshb((P(e|е#MxAr/^[ߏs`#yEQEQ49P U,SM8F&k0X5(JiÖ1 WM(ʵn+REQEQEEQEQEQ49PEQEQŵɁ'F"t ōF26޹WSLz@:\Jc^4ɚK�WW#[Yuk{,8s|nN\RLgؽ[wוW+*áJ6vO}PkϏ^/U^p ƲA:~Qz.p|tt|\;CVUp`YSV`-[Ga_:۲K,O�|#ho%;rP.D,$îTrag !r3f I{ydҮypgpIjFϯ;s3[ y{1Z pZk}n;őLXYCۙ\<=U87TzHɁRdOw(F@EڹX;%_Ƹ̚szi\2o=_bק_Ү.[ZϞO*߲jn&ODߺ2#O8L:F ұ`k�f3ws7]tArggYLJR\G%?ΰ?&kGa<;z{qKx[_<#2 J2dzu[t pad%[3OrvaIIeA#nS# ~<ʤ轤L.|% >y; b#:x"NXx# 3su}æD~Lch+h5(kΗjsΈ񼉷 _iP/VޮqǮT11rDv}U?GqݼmY"bFSO-L-ݞ'*_&.+YMNdΈa<ŽLA0e '+8dɓ?}ƙ Sx|odc nŨqv|>*, TIpV;]WKP}4[ccO b<91Czq"n8ReAp[=gک+si38"oh~trߜC3Ǒr3gN _nqrIJߎm]2fj_rRodX̾y2^ң2BZRPɬȳ{HwI^owXD(*wqrXD=#]o/uGF,9 >R!ԬH[+rhtSSj֬)5o,gicЧ|$r;5zș#_6r]>&~-M?8,.H$gwK/""Se.d^I%}*9ٮ٭ Z+em<]>1+[JjJۻEd}j8_^ E$iXԵt+UD+͋1oTUnYStXE?>jDHEso+?X{HP{D(obQ"+"m;`o^9#er@DOxeBH{~<K9*" v*LDDdY9{*Ȁ"ri__w Dd^I=;GW1r@lg`&ÖIُ>tܽu}->:"""HZXv4]4||v`}2>ݴD]ml/DI?pn~IY_Y*,m;9g\j5""r9r>z@beٳoWv*wm;6ʆkefΜ&M<.Edfp2(<-߶nRUbs`p"L٧Hg3-$+AuYdR׳ ܿ8[$upQݫ56YDuqwR%\ \rX>h]ƒs<̮!b_ 4#Dd˳5év]nRir.y>,X,{DЭ[<ʽ EVX9&2K9 ε{v#;݋$ddIW$.)WY>>&4NK{PޖGMD+[^ϼ|rˤc=;Wpi:bdI塚傸u]ONȤg_b5VȹyQw"n\G >|,G%]/)u^%bY)Wuw21uv~y{Hy/3ϸn%9~59(H.*eO겏Iֹưbbm @*z]^0=Z\3jPѯ>la1'.C9)m@dѧuƯf~ ;91rZM, l<hGr/ SQR)O0#eA1wye/L2굯mFl.g>[nW? #57-ِ]!q,şm"|zqT햠ٟ?/1rdOM&Vf)d&fbFVr[[׷6B_ ٟDye/mi{W;}VUay߹q@`mɝON;q]":,ײ!Mnt2Nx^# {d&xcАd-kgm7S ϟߊ3NQZE.+Iu`pYl f Z}cڒ0ژ7D8E"ӧ(uCGsRn ?L1僊pKӫn[ӣz8hFEOYѽv9?(BBۚ .`v]϶3˘DzS<@Y,Dg&w#S^*$l0"|WrRO[~`bAXm` 7B>BD9/H;Ywy&;:"=ƖU+Yruͼ9޳иԯ a͒#)#[^+"D]3yN\&%eG.WqinxsS&T#_?^&̅'y 9JkHKZ|BD0_Y+y_)?w`;'Wȕb9,ɜʀ}:~wlGIuF{آ X4!F}oL%7 fufQ kۊ?*G24{wu-S3AzלQ3c ϭJv)[&VBC̄LN_I[rؚز09Ų5~9d )tȀk; CjFuivPq|Sejۿ|ȢFO4vEq5]' #�q2ʁgǑm|\n>9s >ЄCQT&O+1yK3NQZEHX7bF4ljf2Ϥ4ۖb_p}!XwQŜu&*ZӁbbνIE5+&Η1V>EF*5Ys񻫡pOx&++綐^#buʟĕSXUwcP-šbDҜCׄ[(n 6 VQ4&m(#Kݢ0{oZƔgwS!,grQܢ9 nQC]v׻MÁSYг~|O=Jn6{MOSJn v/W }[z:bs2Nx}PZLGK[ ^O;.Ay]uE7c)O, zO"Z7j䑥NdY1^A_71uFNǫy;]]srpp~#^'8Rs[<FbӦw{IeF] Bj6^ҝ~wv§}rN;/ZlI-&C0:ՁY{2}m#,)iMg̈OYYAdʯbW?KLYW?FT~}|)ը*kEnQ sq'I"zdV?ϿŏWX'2֪nrR+jC=ޒ˲gaIk1J-^=c ͜-;8ev}]r95a{)\"=Tqó\-ijUqQe_w>5ziLYPӏ["]g w3*>"N]N#߻Hϥ=>.7V}'JO{1y2qVH)e =b=i?š(1 ?ՍRcZ ] ww dr˳'#!-i""-GB?I$St( ^rQ$eجTpF|nh|8F,X{X?i9=)_]e5gFJ"l/ֺqg'\\yZ~pt2))^_–t"od RI2b)$s=ԼOe׼Q-">pisF׎O+* }//w8Xb_.;ő-TuwYMk= cz u=69Q3;vsY8Jg~yc#}lꋜnB�� �IDATNRӊ,{|솓zvүeZIJl2c/v/ﴢ?翗g6}/7 (Ft3pj>ʻZ7gD\<9g\o7W# N+2̜9MڷR,iTfq쟐HZ2MU(\o}O}X)+1<}ѕ+a:xbYl.B?l6,f ADG/Cy ל^5M EQÍhR)?G/y`&JBk)3Y4=/z/*("|h"~,qkP((Ė腪EQQr2:᪉A&k0X5]T((hr(((&Rb%ۨW~~(#[Yu<ES'>AnAש^qHF=ӆ0k\`$ZA{_xǣOlMޥ|%l@B_iۿ*N/׾ 7vO)\6ݮT^h&J=0:e書iG+ݍԞ_Q}مt-|e~EQE)@,$îCXx֍ϾB%-Zש^g]ur3[ "#p{ Oć=OOJմhDZCoM[r [=w|&8^F/)!HsEHQlU@U ώ!q;&2fe_r*~EQEq?z}1?c2cU5v%a1bH(b`UϘ>NQYegRFT&5CxV"�: gcߢSn?5%^&fSST qh|QEQ\IbbQ^OꍌEL< "v?]ǚ ZEiZ1̏I%c[tb,Fʉ`M<0)0pwl<erfdzf)97{׿t <Uۿ#AN1{d2wk|{Rw~y]7p(j9ߢkx_`Tt1B16˴Uݝץpxuz91t<ʤ轤L.|�74!rF /ފ8}W"}ET¢N -4'8«_|{hfn{Қ:o{͗q3IHv Uvl:h:ȴa~Hnt!>~> s\x"c$hL*C*?_.>_Q(hrpId;xghxwOԠ]ԞOJa JThf[ʀY9uZuoIm-OFd$u;Bx1D֬ŠiNō=):ux.x|cLv-o^agTM'wMR 5[MGj$21 tiFOf[pWq|`oy*ގH{FL_9B>zGA 6a ͻ\^ `0gb(O=ozT«V un:,ޕ)ynS/�?dyo+Q4Tt7F^�<DaX%#hMo;Hnn/޶"<y jᅒߡT~Qqf-}Nw<& Uyl?;^EQ̜9M .#BnUIz#cE$N>l7ܻD̲Wެya}<.Edf{gbt*.IY: 5G$]fw)WySJx^J/73El{N9ݼH;IS29z7'EĴl;SVS7Yt]h=Wح2J"Bz[EqHl]ՇȚ\S.CV$JD~ܫ48h<*eD)o}WoB&(HnAJۿ>へU/->ynGD$IZ?H<ſ`Sw4a瞅OKv bg[y<xܚ(%&it{_B6?.o ]/vn, HJxH[ICKYaxm{ _Rsm]fKFcxP|CzK/I_c'ȑr0n?+{Ȟ};eW쿲cVپklݱQ6l^+N0s4qͭ->VE0% @*:{ƍ=>~y'Y|fŒɻw4ƺe6u8t $67֋=ũFf$Ly3 <TBu{ܾ ڛ?"ٍ#,oa:C(M~ıf$a%'iF*V ۑx~׹S;|�~niۿ\` oɾfé�eI+TĽF�́Vb!9q+%7v| crǪUܵwj/PNyG*w~ցrK-Y5NsdR_}(jb gg@;Dt(| (5\³7 $s$9?!;1KfsI6a~HYoH?RNNB֞SYYtU,|Γo?Cׅ;ųz%ˡxSIjQPNpbV 渼cr|qw I$3)̇*XbijHU9jE7ؓ˱78oΐq&2i2BπO\| w)l,wڥcږ(ǾJʖv}Ӱ[N{QޚN,c̠}g5_ҋ(&e\Ӏ"=Ee a4@Faw^Y])$@ &->.j 7/aA.1ڷ1  |'<.I˸=aˬ93un?ȖqԲDcXm+v54HI,0Y3|I,r:P.^X.B}C|߈J ㇧;$[/~\.ݔ},=IA_6slX, D7˒:v0>_(G)c'hHX7bF;v!Vk­Y D mEc2ٶ:Si%1P.ܘ*7s= .LNg(MaR_Q3Өoۋ'XxBYG1 ErŜu&*ZӁbbνI/3ɐWaTfr;k.v 904oɩxnzSw@{dLR笷?պU?~2vqӅ{{RWi @ j;ryŬVa/ߘ.0Ѵ+[u"�nKcgiBS~p@'zP+ĚƁyCU`|RX[yoʹ(r]sWrFM)9d$W9+^_YҠ7d.R}n}mOYDĭ~=̋ bOxoeJ AQ0י}/0k�n2~1a܆b$%1^A_71uFNǫy;f]bK$9Gj=\l/`/o!~i4o)3`gވQl./+@Hͦի!S݇ێT*',TANɠ=nwm"kì [F4S{Wߗ{Kɶ,s~N̖-4hL/q&l/0q˯*I#8=槧||, 7/ОMJ{hmC)J|z'TrNR wv| $~ċG6[9k 8BeW/FEQ뗢O+ 2b)i;_JrHAk,HV7*%' cSz,捒nD.}ꍣzA0K'Mgl""rf2h1.yv!9 |\ٗ-"+'~%O !=(StW4ɖ#!O$q!f6k$HQWuw^.99گ3_"OUw/TM H^’+O+GzNVyR{fXi5x]Xr7i`I@Q"gO]28}W31Ru5J伺r R-xiE}{1_a/oKjzԛޯr觥N++}HˍGʐ/In~ީA.:8U>ȫޓXe묑ҩNClrIq^zuVd9soߥ Y ӌD0RkV:@*XQ לⶖrk͍r9٢)FýR |é>k%7Շ3}CkvFQEb&}=q<(6Vn-fba:TPOt"/%[]-]'Lkt?߹ʪTՏƭt2K�'MOoU(R䠄[cq}4\szT;Jؑz)d2?g佫)(wo)+y]^QU(.D֊YQE\C䒳v.Gת&EQʦ(((&((hr(((&((hr(((&((hr(((&((hr(((&((hr(((&((hr(((&((hr(((&((hr(((&((hr(((&((hr(((&?kJcFUH)O((RɁ! UJ\9_&&bClzxwil΋-sY2)G[~29q kw i``( +A/F:cy; )ó/G729WޮW9mH`A((_u Ճ:ԭ!ӝᓘN5llHuKS5n^_*u_i}6ǿkamJ5B ё/ZgF:1 6fL۔tYj͍� T [o%tEKH/EQEQJON_+e ڐd|@eo4Yڂ_e5J2155  W'U+:,+e^ڄ&+dIw}$_I - -EQEQJ%9[a^_}S=<ξ"xۺcw<vqxK Q#/UtΝR7ּ*(A5Wd/D6[D0>n0fU ziEfX2w73"匿u '21u@>};?G U[DG,]g7c=Om;bπW%H5 ۣsDZ}gC*tq6t{[~| ?:%%Hlo5^~^nc#j^v>{q {<{Kl=Wvug{v=rI鶅7IA(ǒP[ܶZlgVͧ:�#5jeK){/r<:qw'5*ŌZ�� h:g/xm);onٞ m+ZbYiqW<Ͷ\;Q?簼W�KS%GD3@~`:n_0uf=ƖlO=Hfsv=e;Sֱ=\N@@OsllKSZ 6|n!2Өn*Q>jKwl7v;H9iZy).>|tOj7ۭQs.K>V&ӛ9clJ* 8((H^pC+rŶQCW&h36Ӱ#~Y.aԡp$PFQ�Vž;a|eمCLmoKӥr}H&l+N~MhKwD%ٟ1 m?j�=ߩ9,KJVr^*%Ū9!ݖemJfMc&4Y ?۸=͖6V 9`eۣ2ϴBrI<(V{{oV^kԓ H_`�̀}La]x �1@,˅؆mfZ?^G6n= HEQz/$G$#_}tb=5OSSBff wP7zړ߲}5a17O!ѯ W(g^v_h'c)- 6s {z`�xV^!eBL̖Ӥ۝t[gr@K`wd^)gNJ|h_f8_y] 5O*WjGkAxK~_ @}8O�ZonkMM9kTm!ۼ~KXrrb8((`1{Ɵ8^ 5 E2awLք_=y nN 7;Z_IbYugX.W{&.$i?)HTס;C\RI\ɳI`D1e +MQ9*ɑ!s @m|^' =vчɬI)ǰ_jMjT+J+F~\NEQEo$qwRmgt_j'EBHňEM(Rd9d�op ~(^}"#j_R7rVI %tw{H<+ntC7:88\IR RYVH_hA*!ŔS nI\6oᇻ^Voxp#F$}!ML\[Ͻjsk]t Svh1$ek4UEQ뀫r iN"X�n⹺ teMr2W իx8߂Mc@6%8op'24Tu[4A>Adeg`VjdhEz6gIt@NO޼\ �q1G5=Q%c<T ɶ-Lgi~BN_1r|PޞIEQ:j4"ܹMZ9H%>ۄOcxd,` ~ͷC[^ O3xna4 ^7c [ӳKGм=p?~~gc(�� �IDATYY0?!UQw3qUwpjHD݅!=R#[k<I훶p^mlٓ'N&`+u{T6moJ%'Y =[7޿kªj9 <aو?>[LfHmf„^cկLM+ʙXs>p$DNXx^kNBFvfג�;XTQEQҿ23wWcdD% XO|Ǿxfo'M0B+;IŬQ DLriX@)~  iJUӸZéhމ(ߑ_" <S4q?�Пi~_&&oѸ\K.}{{V=1}q?3۫=Ѹy,HKF ޸I;OASM v]y G$v,77k:/ qs<rL؍VVlG #gR^|nH(( 3I] ZQEQEQkI_ga?ff[ lٰ-lز}j=9PEQEQɁ((((((Ɂ((((((Ɂ((((((Ɂ((((((Ɂ((((((D꣙oִGs/ϼ2b�ݵrZP9EQEQy 3gN!$$JqM/|)jdArQ7:ͻuaZNi9-g/gTEQE) &}=q<(6Vn-fba:TPOtH~ޙ{[$wn/IɔGuz6ZNi9-w((>E>9PEQEQڠğ(((CEQEQEQ49PEQEQEEQEQEQ49PEQEQEEQEQEQ49PEQEQEEQEQEQ49PEQEQEEQEQEQ\2t$'\ŞyD0t #Prm)EɻLgؽ[w5e&OꍌEL buËd3mswx`~$k.j ?ynA״D#{yg čbxd\vs= ^ oJ(p Ʋ8*p3$֗mXW59xI :@#3t`b+,}ۏG_̦|d?Y ٲﺐF>sGLʵ!}3ȵqGKZh3T/zǙڭu}wrZk}G} +|m:·K|;I#sv&:7w7&뺌szDc 2|RUKv3y$z֕ӲOP#SUigr7\O&#Sīlk�f3ws7]tAr t{)7 & @ʵ—лnVf3iuY#G3ogVDlZ}\J59ahM`/xLP/V~\yǩ;!~`yIclϖȎoѹ9 ﵷk[mC5CzGGh{+7~ǐݿK%|J88#rvaIIeA#nSw62sȁL}Rl]Ë<*l4O?:q9_яqn9䖾Rd4Kfi)ȔgC,>lv6`B RB �R|Uˏ*ED@AT Hhw"%)^6&ٽ^ȳ.s3Ν;sg]IJm,2q#E[1]^A/w| B&)yz=ƷܚW#80'}r3mA uSs,  )gX6C'2Gw~ǚ?I׶up5^ vykI^= B:ouA. �h?="32(t4UiLqs?ej:g:oٻw7&$�EIJmEzf$ ER&q6]Q%^D^}C>Jfen! ]ؗ.O2LQ 'rz7-ODǑ)8/N Ne!] @D_Q$\ISxа3ٴrL'֋B7G c"JjX""*"y^4dQnbc}֔D64x>эL\ާ۔CZ CdB ɍ>[H<]ɉZؓL\ L^kiѷyv- _Ch]^q/A#ShUB)`yzdzL[�YLDhT<y3E%BӇF_]K#j,ԏѲɃs+؆v`cZ@Tpg?֓<F΢-D ;ɫ� ㎫)R(prji�M]1iRbфZ89:=McDe{B?15OD}=p)J&"PZFu{֋ !Nu/$kgπ%34Ңg П~k5I(Gh #5x(nӂ6FZOQAj:5‚ Qǹ([-ɸ6lOR>Ғ:T;{iq6mھ%Rl\E?Ș0 Ј`zvBt;&޽Nn^MוM]" \% )nnAe*cGֿlJK[/DҽA;$IE:BU3X&"Ӌ̋&JD|~ʤ,lY{9jHW ЎЀ~ O_'6u3-H|DHMjBb-۷dHN!G me)4%�d9/ʥNsq-@NC,VRɴ6zR+]/ָ؟_~ikS˴QW FHR-Fe ;ĚD [:jACzX.QiPͧB5]Ѽ^NPSqtE,?ˣÃuhKCBgLCDSÊ3-C+< S][ࠒZ/utAEnӦ$8Ք:?Cٔ@DFM&x"jQq_hK:WV?N  v@|)�ʈc;4/V^)}s@GKH>*Qz%7D"h?[~F%yR.ЩCV*Nya5b"9况<R) .ZmTUj8p:F0h0{V;8 >ѣ1RfW\Hh_qq`&lu.D؟29YZ P UAP(9i9L;8p= Ŗ8)@k؞>V%^ptiU1ץ9K=!WL] HfN%{+O_dW>UjxwP_7�gbƘYݱ""~/\/ wvGBYWv-mH-ø/4wZaPݟ:P1)G+!2mK~Af^X'�iȏ rWFr�iM+w B�00 MIGپLyiHSffE^a+ΜUAtYP+/鹀ZկrCO 0^` c2,FGK;jcL2Xs+"y ڶϏx v/T"Duh_Zq*HP"e*ӑ,s*IـfZ y@Fs`,wL,Psq~'A ԟHjK# 3!UCZNڵNu-}O~+ypY4}cb{Xn4裟k?ڿjca1n#W Zt9 J $b@]5ajjW~LzIRd�R>D=0%.^iǣ+1J@,s7op8UL�p2UhzjܺRQBDְ2 /9OOXd ,^˫e݁{7Má7`tNhЊ/B1퀩'&5Y)hR r"1 R%X; 8H!WZ}Sg?DF Ue} g M 8YYA*3+?x֪=!W^kwA?Pr40ͥ+FB@q9Ƃ+Xuj=Ȉ�6a}v/EEWL)ڧһzҤ>#LgbgTILDي϶hb"*Y}H|'%!ywJ!S¶I(ZJTc?b ZrT?=!n%MSں֯1obft:~Gc7]ɵ r#s?1T (2ʬtɝBd&dR4 *A#u|v-#g/B5vJ4eD0˧Y Iv$P9p2 K&fh٪vW^k2�yø:5*-4E9`Op~:~8 }9D+6=Whh\}S%UZ5#\޲ /ėna1nf�^?+F`t&m@7?ĭ8iX!äzf;F`L�"5!D&3jN�!?=q L6Mc_)ĩ9s/$)+"?3Hiy_,K:?c߰ 8o�R~Ŭ?K:n뗋77ǬŒ,fƙtr!|80 $]H@^q1)`?ƄƮP ^_7*-j$_9`yCpvE71f.j!?b5 ԉ84ncw,S'9ۆaݯj/CCX _a,~_-z߫c,v�ҵ/Oo~˫m^Z*$_9P,Oã"3?qpϏfxu(43'|wpQN ߼4wm؍mG{O u>ʛx)ɱ9:R\7qnTȔzl}LDiҭ-!G[Fߡ'nӣ )p"T~Z҈Eb _K͋Ǿl6n( B>P:3M2"Q?$(sZFCJk!$LnX9@iϓn@KnѺ}$qt|Ssey?9.N!{h)GI/}($um"RZaۇ>=p2(b}K3&nR~OV$~"s<�R¥hoR"UhoD֝n Q'len+9Fgm)%E:`@r)X0%w:g%lT՞CUI~ۊ ԟ:"-B[k"iӏt-ۊ{:C͐n̒ՄOxԵq{Ty[Q%?I[BVR]eZ=Gq*($Mk!V=}CJTq_;Ҟ&ݍ'V$ڻw7yx . m9bc 9 <é,p`F7a?/0 g/f0zgu;qVV$UeVQ_k.c)%aaFWp#ų 5aaw_ug%@o00Ϲ­y!ǚ` Bnyǰ&>V0 0 0  0 0  qm:>MD"P&=S;CzQaa>8P?hsY[1ja" ZԚX6FktRQ/>{1Bp5DZ:`v ΏŕIlNoϽ:hϨ8Hg,F&;cOh{Ԣ#B 0joRF ȼ#'n=DSת%n<2c�:\=ơ0z=2OE⑃HM*{>a�&> F2o_EZln_5|!E "ۡip4tGn� I9}jsyunq5ή*~=ka5 L; cҰia<pUw=m e߄* `sf&02>d^Ct \5 YV 3۵Q>l߉g>m_1\^ݴ[!⣑ DJ3#=v3hKg鍹qmnCO-PsoalMrqg׸3oy|) WPǵ] f@ T7)'0,j > qE 1*z-{Ҋ[r78? BMxx\% Ku' W`M̻:Um L  RM'x`90UZi[Hyg{h1Dɾn3ەi79Crx)q+F7'\P%#-9՟͆4Mu XA<cci߲[E ^WH1?)#q=Hvc1k[1s >ak'1v/qՈ&i_A|QΓ5D4OD iZ戀|0( D82X}eLD:mݴpoaS@(""O\JT?O;��ao!f?幺Ջ {.Zh:l9KDjdD]O]`T"^st|2`^w1VH?YrC^@'V;1]s o z00X"�KVY"\߉iet# ֟ [+m'8E$!:L|k*v˺;SƹH=)KN}WbgkjBօH<}JNeka'o a9=hS:PFRnFzpSW+7BmLkVy;4^ra:7xm!W@mhQ .4m,Z*O@ߕpmQY+4p,^-R!?oEvF7uvNJtk6*NSxǘOp ؟8{hz}7zb_?CEKiz#4R=drt-ɗVF qpvvSKL9]f%:$&8:٥>{P}=6?` 7xTh)ۋY?÷{[vG#hXwDj(xAWB{%^)7oLuqsS_a`+g#[JKyuBui-< 8n9 {oM-ܫ6ӕ[|> #&-1さkg�ӱBtwDMo /Z|N�� �IDATb4 gLy58㳯@Z~$TrODWq/>J~0g@sX8$:YâXm`p4'T:� Cۜ"镹e =ђ耩oM% IDԬKC2()9^&!a^&1@(ɇF$II^K2ى E4|(zp#C d$KmL*n"'"ʤne)DM.h7$54&whL-jϴ'j6ױdb2h>U"yk!Sςȇ|m$HdSPnYd6V?#IeO >t'rI".ȆF%JYJlv~ʤ,\,Z/ !Zn\zqʧPZFZmS(AЁfqd#Y s"?ƥuITESIv7-WqMDSSXNM{l'ֿ\4?j%Ec{][IܻDtFZTACzX.Qi`PwqitPMWf4/oHOW? +/M^?Oէ^jgsO?ʮk_3t(v4?܏Ä|O<BC-joߧO]nOcNNƵlKcr_KD[|DHMjR^jB'?j|cÔ`2mxDU2u<TaKXNi:""zKqQ0"c(<*B#A= Cwx:]y6m_W.ػw7qPpN~ z'ͧF. &ȹS?`FH,?A>;p{}{%@;9�>"9<d+Y6pDÆ�/ P@20Ca _)' Pf4C zY `}Z! ?z9>Sx}܌kiTb)dۡ : "J)9zpVH>}%MŵtR!?i3 ^+.EBYtAqq`&zyoo;i!I雝 8.B륾? bFVL>WzhyQ:?�,!ѹ?‹MK~jُC@CN,eCd-m%u+HR) .ZmmP?HQ�UREjZb}V.xxYt4>E;gc,Jd"A0Y)hW MabX꼤 5P( Li6eEM %޵�Q)ah9'~eIT\g !o$ش,e`[*4)3[3;HUD~9@@OŠ6g'e's3z9}ktvmG<Ac|:&w{� d=o rW}>WR.\E=o! qP%{�,hP X (}@p?V $b@].σUPC ̂]"=0Ag]]ZiR�U-uZb}51}7cpq1d%K'=s ip[XFebȧoFx5@ dAd F(xBNT�0T&T F[�0 l$@J3qw)1Ѓ^Bd&f!_HjR%"5�Ezӑ40/3`bUyrD*5�QL$1~J-U v;`ɟxW@ c} G-Zn@^o Yw~Qg?DqTѵ^|<:r8y~ |-|qAѹ?@p0)*'TfVGQ kCpsIl�2d .-lE@Vb9@NJU~)Oϵe}i%d=Cfr.ȴ5u0uuc)!H>M�hyױE��)L LYu;apS a oPDD�p@`"Xpr j#sbxj*F>:=yGˇp-1yE{(ZJLڦ:@.@Yb<``T<:ʨvL@jF.)A#;~JER0ܼVS 702q]<2�AYF]\Fpp 6 tb֋\3qf+> غH;p2 K\Z{e?V<D_d-FWсaH\ɫ[Qf]@bz8zʁaՇl R'IYo= (/5SaS(C#36 ac�w i[ Q*�J$ 1AQ @b[xexf$a P6lF`5GsG|pMgh(G &0Cb(4YT=|ONb|}8&-c$41SOf[s`4ļFB%VMSD0k{sCM`g @-`B~zRAcXmOw!>b |0t Q|ZLBw6_B%p{}=~p2xy>y.$ Ph[ov+pHrX-G?Ef~&o|�D 7n|scJک m06wk[?]Su-YRqpiFg |tC ~_-z߫c,v� -09J9!S vcstj6}\e4l@N^|d=8ܽ\c߰ 8o�R~Ŭ?O֗e瘺Vd@Pכɛ|T4 j>|;`xDd<du;Dó57P>sڍr( wrt-LAǿf[y{Bq9U{R"<@">P憢H|up[@g5 J-[ <8VF9JY, TZ'~9i#J7$Q=V iDK """U %rsC24y(-MoYxjƜ<eSum|LJCFn3~Ij""J|gP>.e͜:=@aDDp;T{[{W;m}$"\=-͘bH2wRKNM˫Nn+F0{+nr>P66 M:g%leO{h\]E=~M՘HEh{haWr<g L|uߏv[#mdQ2 !n]2A۞T-GnnDlǒ.Q-Ko!mEќ~4n@+E` :6)TA+h5Ůu' )߼é~o+ݻ<< ֶ11ސ@-#q$50̳B !l!f8{uj{_`b{R۲67g\Gq8ajæ0w.BVAVI[V �n]ıSJ 8 CV'~W܋W5,-~a%*$k^6jYge_县_HmfaՐ6]  0.:Lb0 ɻ/x⺳R zGg{` ~ p' aܘ[) $Zy!awaaaaaaaKp tym?4t@&^kq8p0 0 üSF<@PTT[`ќ>epÂ9\Q2 0 0/zphqhK.lw"X! 0 0sqq!I׶uW8C*NO9Vdq5IczbW_Nƽ-oQZ%yǷ) jc|* ߼p1:[lU2bD|0( D82X}eq]÷Im) _i){` 5h-7mӲ_7g Aި|1]s o <%d[wh7X$aaF-S`ybx ŇAILptK|@#Mg^2ۢ=EaI8y}f48>9j>[žeS6*NSxǘOp Yc; [9Ύ#[88{hz}7zb_?CgSP'W~h2q62GcN1#T՘x=IIbQ$a[cpT0 0 0:a _0U3mnEhV!:ё I]? � OMbĚ蒳c=a58X�ȭ{)B@w��hOx'B (S0**$™pL߃X8+)-߫_btr 6ƣoW?߇SAyLt.<DRiy v:aagJ;.h9:7~<xUUm=};<)MwU @עc:>WFJ ;1Tp-mjB}:v6r�Ƚ[0Ahh�5Lk/)"vhi+y|"DVA>00 0 @$’HJb[[rqU}$BC >1(0fly#94Ħ@ f)䣼4)3[3�ð{5HF53iG_LqLN#ۜ*!D̯$3 0 0Ϟ*Q~ҔIA :?@M 8H!|uCd�� V@| (�S[KHE�'2HV@Eu|+7Q']t%o@ ee2 0 0Ϝ<`[g4, ڳ~kJ4eD0˧YEt5/}n0+?ņD\y"_ø*p>j%*QMt\9?lwr-A#7G!Wb@l ^1 ӽ;’o+baay9v CbT E0kG''8961�h''G4jwg:/ÍVxoxx Ÿ e>7�C8xm'e¶DZo{6hŁ"`VX_Xý0K5Xu@8/H Wi j8DVprĥj+Aی+V0 0 =8 LŀwH8bwd%=%�tވե`ernyXN |:f{(9ɣN9]0?a+  xoHHDŇ~%�7!>4,b d]Cpp۰{9_+8' Sq!Mo]CT&0 0 ݻ<<ږCLl@~Iռ,F3߳*[5+aaĦ0w.BVAVI[V �n]ıSJ 8 > `䎎0ii?TFfq;aa'88 &pQ{y0p))D=tp^|faa[k aa/daaaaa88`aaaaa88`aaaaa88`aaaaa88`aaaaa88`aaaaa88`aaaaa88`aaaaa88`aaaaa88`aaaaa88`aaaaa@ADe N⛷:BC ȣP,n#C)Fh9y&ScC-*g3t@Q4nAyź(3i!;ҟҤEX67lS{ݲpP 4ױuQ 5Nxasi 0 |$bϻ>=f,O[`ΎK�LPP|48_}[nxBvTԈʀQ]C„}GT&8X4^R̿aa'ϐ|�"#>]Z*kG|\پϬ>*{[cBdG# ¾k'ڣzfv0 0Via4*oq5IczbW_َϸ-J%6"]M R zoiR!"st|G\9tm^w1\ ^WH1?cE#q1* <cci_ Եѩ@m#T$"d^[om].bYwyi=|0( D82X}ew÷�D&p=nh|k7fk͆4=K߼p1:[W  yJ]Ƞd -G0X^W^;LH,_7 Aaq^2TD R##2~*) ﷧n7a]0G�)ۋY?÷{[vG#h7i?'g <GqYs~3l!F#pvX1^Ca3>z�*.V^>73Z 1(ę:N-1t g>AMs|Z>숆/ ƺT,ٳ]MpykiP6{Hze.~Yio|c}B|d�EZ78ٹ|ϩ0}GDU=Gl _/j `/MwbtCm,8{hz}7zb_?CgӲ=7_5@} ~ tPj":~p6tDڶ؏iOW:{ q:\Q_cW?s܀Uرj8 yca޽)55$ @B.Q-u&LNͻД(jdw\MD<5K^ kr2hLOj293E~NkGc+(jW^$mB)W_d@8U\JQ q7.GOB'!w @iǴ)e(u׫d#y$–R[#mڣ8i>уJ Op2v‰(&QߍVPzב ѳȆF%JYJv~ʤ,lY >t'rIR_ASRg(7H+9+,/YLikwSFc׹�ӏ!DP\mĉ'N/tڴ}=Jظ(~A1aB ܡvM {ݼD+ݻjXt)@JU8<ÖܬrEƏj4F5�� �IDATD]gU @W <Z)#<(:ծ<}Å ȂrC+AjR*@TAj�V0Ǒj48)@k;1Tp-J/>܁ z;)1mh0=+DU_E޷H<7jGj7�E]@b70w�ttS!B$J<E1azj`Î)obwL4< Bœ9PW e2$�DR X (,QHJE.Oo*_VP"D0I^#՚z @" KuK=JP#MYl$eƖ 2 7%e{!!M dkqQ7HClZ_FXxۈE/Ë;5#Ss7� |3F1oaɞX�bD, xg0 0 Wl&U7(Hl q7_iUR�(?iJ¤"HefwW[o{f(VFR=e(FjR%e[P$+&L` +C {sf/ eW586'S:J @THb\#Ĥ+}=x _\P0 %8 쿬O(#\ݙ8  "�ڳt˫/t-P?B^f�m]P9j05~+ }l js^Q>j�6=| S4T#! L5@\Q "BF| sbz'v M9'Z5u!22  L5� G~b3ʡDęlLLMLD|`#yޯ"j0 0L=D 7n|scJک m0` 0܏ecUL1bT v`on ,@OC\jt-๙B#o4<.23~. y<y<uW@\x 2 =Jc=X1#+\0iB8ĢLX16AJCOj$da_b:|ONb|}8&-c$41SOV[yA1i۰ێ8 HrX슋(lo>nsdBэo�{Tљ0v8$i}8w{ 0Lu<TM i|$wBSrQAr۳^s6*s:S4y.CVdN:6Rt;X!'A$нbܢZOf1"hE{#-xصd\t+:a3u5զ=JH2wRKr]'&znۊrYFQɷvѬNۋYSèUR!-M.*4YU)쿖K*V4¢iƩ\4D;Ey %"*KL(ۊ#=س0;ׇ0jm?q?>?-"/{ Vĉ'N|[Qn+ݻ<< ֶ11 0 0 ¦0w.BVAVI[V �n]ıSJ 8 Laaa�aaa88`aaaaa88`aaaaa88`aaaaa88`aaaaa88`aaaaa88`aaaaa88`aaaaa88`aaaaa88`aaaaa88`aaaaa88`aaaaa88`aa?X DB G~6+iWyϭя>nJG2pSzxa"x S1È0ts>a^XM% ~Ȃl "Jc2s3O42x1*~nMt@P^]Wӫ!ϻ14|zx2?_S$7؞%L8/ĉg6m_GDDb)6.FPdLGPhD0=GA!w@t^k7/Ѧ{gs`C< �@ui5.#.qeT<DK@`'ո!XE#�hfo8'{>[pmf@c(\GUqp>a91՚͊xijѤŠXTfdcWQ&"'4rj¨(_ R֟i;ʏ\iD>0W\S2zM<iu@28@E>D4_!"mf;2i~J!)N%%;ԩIg$òz^vj_iaQJ.-7<%]gRL#%1GP?2ȇnK89'N8΁eUK{5_8ŠxǾO`|Ԇv=BeOx`9} Q1<&'ҖhF�<~lzD)LM[UtoUY+ ң VhhyxU_W I$ EYw@\f@]q\AWpA@@De k@ $,읤QM $h\WtU]<uNU7ٜݑF8Ͻ!iim䢧 'S)^wjByw'zn<0P*qyE4Dz7n:dzm|pt6o}1\NU w75�QI]qB!#)5];<yg/M`6f담eKjG I)ex^ޠ*eT46EPVCVPCT؛9w+gmٯP?.Fv6A|yřlS lQsBʨGS~#gXz#/^LghQ z_EwήM}8k:N)Ru�29ZN k%ˡVG ǔ¹΂ ee8kʩ.B09icq Ff j#Pm߯ӽo= *Ec뮊al؎ѓ 'c{M×kwC:iދ PNhps�߿IZ.ʤ?IjZ]۩ 9zJ$N8!h.Or,~V&Og"<,ܰB &(OT`@sslWw�M p=T[tir96#{1T9LS6"ƶ0?msҩn?LPhk]+7A_Zs8'T$N$ڍB\s.dks ZE\6hyUO 7ܩ38?|ϵrbIneDyY 7@h>By2>Ʒim|@1~/oxrw<Vc ; 8B&dRmFzi$ǻuߏ~v';c=y�DI>j21Y/p$ J4>fy?yiQ\ց{Л>=UYR�~;ۧƷ_%+k H#όǤt> Id\ Uv %[^d=]ޞKP03~"&fC:fg=շ} I]qB!A]Kw[-y͕;I`u9Lx@2R_J-ȁǾZX{1Os1^K|su&A 7LcD7E18N2!h%-ޡ=߇w3^Fdj\`o2Ywc_mۋ %"G~8 C`̭{ !OqpoU,q'qrBHrp T1g]O]^䙗P-vR-$O{܃gU@g;&{PMl=Cl\@0),I}Iir8»k'0\/T5}e&g|nU!L'=9`ҝބt$Mh4҇^Ǯג)+t"ֿN!?Ɠ~@Oo޾bDTbj$N$ڍBf<MfT|W=O)e; 8k:N)R٭Lu˖-UÇMBBZH$B!U wփ;v)kWn7ߦlcƔ;jדt !B!h!B!$9B!BHr B!@!B%6tإ:U؝+>#+YYX=CB bMvaSɫFaj?F#d*7 >7U]ˉY1^Ôb x@g5ؔbjB!Oy[َ+"?0%bޟyi|?j<칧qwĮD@-r=H4g]B!ĵ,J�>Ϳ ?|W\0Vh6@;#_'&al򯱧Fm2,E/q'qrBHrpS_plQe^X�t{̡{Wꪝ2znz#c8'2S`0f}я0Z)l[R[)z (Wg"$ߜn>'~0mb\zJ_o<)Q:u p"C¦8:XK{} _E{'5�cSqTk`KM7Bzr ggaĪh sTiOf 'hc0%N$ZBI~Z UvaT^#m#v1#d=-{Jnx.ʶ'onz1Z5.Nٳ9#}q{k!(NFI #_jmھQ |[$3�}Ya4h߇ AWSؒI1`X MlSBmT+Z]Lċ)� DnդkB}a7}M@\"Gb>Y'kCͧx[WՍ'IOt'JA!Ot&L1|gGTT(7a]!lev6U;kc{FyX_B$j\w_NmYѣINH`CBv-@]XUloÊy�5ίTeMD6t(|L@S׏}h1 4)=DN�T//oL~zOAؔӗ&0ӋKckB̎gٗF,GT H+8ioRf\!Ie˖. ioІ;NҫWSrf͇9ɷx|[70p'eMBSX'I9fykR]ikcu^6hfk6;炘@E G%P;>_|OAԶ*y G `'#=c؛ZxQoy‹H:<A|6g; )T;[>/EF_29=U@C{٬8h$WU0 dWGr_1 <f'yZymɥOe9 $%DN�0pL�7슺 i ¾t6l!pF>bs?~*q'q:':'!սx!zSy'q]:E{Q۔m̘rGz0ZpRLsA:K%awÙyjJ^wtJΦ]W=u=:AÑ}wuoRQtB @#[y>B* <orPQ�DzrlLG|kc8ũ s:9ș(mEȍ s6zrҩn^}=6qk cU2<rjjΔh3'q%N$)!e˖FuإM)5"q^S7敛U@ o#@ZlJ蔾EjqlT5Y)eS9g_ 8im~gUz.eSJM^5JAB=Co=C[> YGO/roSʦL( c^@:Mݨ*5pt~=_RcR6u\uhtWݎ]GT6rT>߷i̧jRʦvt)`XM9 /eڲ<**-. bW~u4WRJܫ|'qw-I"EʯU^]P)Tvn:N<g~fVGTWUQiv=vow^]<`ٲꊺ'3<?Jxw1b;wa Vw\0M;wR؁s:΁;c=y�DI>j21YpWRSܡ FS\6WfJ��z=s3>=U\uΜ9˨*0׿c%]_*(Y]{fB#όǤt> Id\%Bɖٳ�hOT/̌_3eD!B]I;:3e�Ey܆zɁm1Nٙ!N�KlbGu&A 7LcD7I*w> rr+e HPvXMfnyK{?9xcqƝebeCVֽCQ lծA}x7ceDN)N5Z5)n LrV1]h"wRE?:* qz}\>5^[[11wB!繒^?ww ȏW7_8ȨnZm:Ɨk뵩5ajmR׮qu6uJܔnVN1y 򳽠(Ҷ<FzZnu~;mJTA԰  ΪߨNlXx}gJk})IMVt~9;U TP^}tcU =S<}gM/(]`j5g]B5zTHSiE7,*}Z|WC{cuZTگ;d(R)RH"ӊL+<w+e7L(.4G%Ήf5B!,V$~>eħً.3`nvjGHb B!.J̸"7$KVT fϐ[<B!%#͌+y&</ !B!LFB!!B! *Mo_߮B!Jr`o&*M}k孥-yС!SQ)l ZN4z S΋q0hle�">ScE!Yr/H$BĻ1th EG$cOosn TQUzL5}0ƞ-e`O[̦``B!KJMvs96#{C`zNm۲率:!3a/B!]q'C?\�� �IDATd1VSvOI) \0VGth- yS=;Fo7k RL~|Ja+?D90ZP؜,=ʊS?)ا os <Pq+eЃȗUlaĪh sTc'H!B_*9LaJO|޽`-۸ꠞDS+e4vP!(NFI~M[<Cti3C!.! 6.[⏭Հ1z=uGp5-71%c%ֹû;vU+ $*ֻu26N?|:EyU zDwB!$9 \`S6 OE| f4w%QQ~uF[VpؐП]k jmS`urL @8HC tz$xyfT_tetQM99} m8h:;lT}! +#o#,b s0x>v cΒ3;f_VIu'SAt_1Vp$˗ޤ.B!Dsr>!ʔ,1\k)uiK޷rP"؈1P`LN*JƉۈjx}:-0:z2$qloy3# lŵ؝@JCxi7e_&_e#{q)_ n1q.�ߐ7)m01P2<~jևPB^�oHqK$N⮩8!WOJ^wtJc R5:ց4l!8G@A X2$ g⟢q ns&B@F#0aF9TN:Վ&T\ߟn &{Fk([4CLJ>eS*952o6II5'{W]܉-cr} wFL/_w*= ɿ4<,ۅ f4AAurVh":t |r4o?f&B=mé% ."Kc. 8$_oW'B #z^^ɺqW4a:Ka<L=nN0@y/ʁs:9#WfJsnOp`:4y C\uYFU)Ҁ_֤w;c=yOIԼq|wTLmV��dvS{_i8>Coed8ސNdV,ɠd~?!uG_}o g3=tJɽr88!H$h9߸+HNU,]Kd L-Оm(qA>O3Om>Ҭ2'4`yo:C5tnmA 7z >:k PnU<%oeq;|x[!a:&uB1{:ZE%ul-$?|۫\z']khd<[3nZݮp/z 7Ur0%nXHeոuT;fy@tw}|ƅQ�tZ VLU!B\鮬iE&(>ֵ 0DuӖ퉷pb|զ-G #}k8tD;r$zir8»k'06*`pv*[)]gy~]7r ۪%Si23>^wh@{tғ3p. MH'>;|H`B*d3|sdYYeCckɔ: zWe_'oCN~H=ϾYB!j[l>|L킐*?GöF9v-KBI3 !B wփ;v)kWn7ߦlcƔ;jדBg/̀UvvjGHb B!8zi_;+rNⰄ`iNPm ̓Ni !Bqő_+y&</ !B!2r B!@!Bq5$-g0T)l~CiB!B48LT IֆgX=CBWLFaRjAcL6U]ˉY4z}?�">ScE!Yr/H$B8/D3ZBё7SvE"} {b6Э]20UGUSD+{M%vũgK%O!Br[?&6#Fux0`65yG.tSk+p4m'B!D3HC?Կ@V-e!ob=~g8 wrn{aW^A?I61J{=%hc>øRW֓p{WS?"اy79(8ȕOa AI*pju0b iw D9 *'H!B_*9LaJO]tgsvGS;(iim Y+Dtk+yf|F$ np["3PAKLhcA%'ހ1z=uGp5-71%c%ֹû;vU+ $*ֻu26N?|:Ey:$M$W)!BHrv?^ l2%YK/ n'댶$'$!?hE $gӿrvt|ֆOCFTeMD6t(P8So8+º Cˮ�mh=+vuvTbSNnN_B,N/Ύw3v Ob^ p*26-07z&.$8KxV}Ya'i}rO }DZt/_N{2@B!I~BXZ�67ܪuaZ@0EeObO\<q3Bpɷmf<xug =4lgEyTU0 dlGɄıڏ , /Vro{0|L)s0z-3<iދ PNhps�߿Ii]Ii 8aB!\t=8ze|14pߑ}wCZs:K%aw3_-Zs96#{1T9LS6"d]@T;&B@F#0aӮP9T;t{l0ٳ7R_C٢a]$B!ըYS{`o3uq$% np}$̺>Wƶ33vMPShP|C7a))im|@1~/oxr+B!gؤ y%G9pyΪZ[$ J4>ncot{g{s{sJ ([./_ۖ>=U˩>wz�"7o}dbn`_v@%+k H#όǤt> Id\Bɖٳ�hOT/̌_3elOc+q'q?N!$9D$-g^#"eNF2 ۴eۗҮM3)<e R`#RZP} 𙵂bƟfg)cֽB灡MJJ\Vq /H9r5\ trjg}{#tqrXYĐ?նJʝ_ܺqJ&gG`p/zpSj.S@07RbɯѶET# }D_PxcnmJJI\BI~~&(>ֵwCT7mYߞx{}939Nڃ 3{j({&6؞!{W6.] ^V~Gn Y)_wHriE{ tNP|oB:KJt!x[1[y*WfqG]MYn!yڋ< /tJV?7AvnU>:vLY1wQu2]6D䇤>DhB!ͅnٲj1 BBZH!BqxuB NvpuUgۍ)ۘ1$''5 B!'ɁB!B!B!$B!BIB!WWrrC¦J7T+B!DI -hwYM)l6pݣ1 ¦ڴYzQu|2ǹR]ˉYkr^Ac/Y 6</%198kqB!AcyH27.v>exuNih`:+[3fA<칧qwĮD@�gR'YMzh}p:�O1G$N⮕8!$x�*>5f ~wߋoOnȾf1rlL>2xG׎:1 f_#__9~5Q$8,C`бl/LH\K8'ͲeKUQQAm~0F VʦjaJơRR  ?>ŖS}E8g]\GO{A wFMUJT==,KOOS?x(vuc5?xhJ2>BE9񃙪kԸ*SPLU7*l*Gyo&keH;p꼕ߔZ}ȕO)k~P/'QN.5b M;'&@E|VlJ !zT'w/Fe{wMN$N$"E_xRJ,u*C8yLN8;ҿۯޫڣV{TFxyyeKfdk^x@[UK=7LO%G<[4.;-z<2�5.YHvFXC8m>ޓZkgn,35_ƱM(L޵K~K`+\GloLaefT1V͡e0XjE()osp%25> caΦ%] y"E^Sf֭}׵}4=^j8]h>S+Rdݜ]]Rg83߆M/]gp&-T6s~ӅWRZPlL!qJ,>zpU2Ed,6v GHܺ6-lu,.8̄'ISX'B1 />Eω3'WC΃TW+8&wӄQIRR*nStM]G/Өh4Ev@C|F煺v?^ l2N1.+_*7zM "̽1nMRp6+hGgm.xO'|[I i4=™}Y֕/nXvmhC]14r(k&kDGae݀:Ħܜ6Y^4fҤ?=>}yi&é|> F񚸐>F,9YieQq2Q̓}DZt/_N{25zzҦl=cyP|qmɓ\JI\BVtE5,δ/Tǎ-gVdjRʦ.WJΟVdPUJٔ[۽Eݸyqf5Hh{L+x2 x4]{CxoS!o.Uׯ\NR =Ӆ>IV4ude5&ӊZIC=.:=iE'MP=<˽U+zM(WyS~}fO+-}ۋ _j‰$>LtJMKsLe3(Y'q'qL)R4iE˙A_f0 x. N\>C9~35)/�lx7PDy͉Bz5 ` z܅RIqgp@.tdϷv0c]ʀ;F^ ԷsrPQX! p0i#/*'jG>D}=6qԫS evQsO2OOrG(N9}ojJ|$N$ !DryɁӛtR. �nAY\_~8/ nq&KOw-h A S`m,.7&ړc2[|NYOO3h]IW;8l;ǢMPӔVL:t g\P|CML;j8Z8]bZ~/Mw[ľӃr9sy88!h.ϔI5" 0tK8M+c3x"ǴAc[huAwIi8| nweꃴnkB2Nwh[]E.yNiӕx4*q9뜞wQU `zXO~@$QmҡLmV-Yv@%+km31>fWdDePE,-� 3׌/*bbz:DB!\ޛCADs:!=ڨ%.%2h�6FjYknu9hFHӆ7r౯2Y+;jV#Hp fUgS[G83ew?/H '=D6?}"tU` 5\ޡ͊}x7c'nrl[x�wN篡ݒXn]θiU(VeqSj.SRT&^[gAO5cyU#aٸpN>5^ld&Bq<#),YPsnw u> '(5纖nڲ=ҁ+ߍe&_8/ь 7\C٫7 ٻqhϧ8$ވEߦ;myN5g= VkdF}Ŀg!}KOOBjTd㌏םk ɽg:�K&Tw ^$Y0xsPs묬2ױdʊy!R'?$g$!B4e˖. i!"B!U wփ;v)kWn7ߦlcƔ;jד$iB!Bh$9B!BHr B!@!B!ɁB!B!B!ĕ8gRتr|Z 7:?:LFW*k9q#k4zV`D|VM)&$o!B ɦ/0߹Ep$}lr1th EG$cO'RQU ^S]nRA l &[;B!ͧr ? HmiZbpmO2hoOɯiiO_>ӑ=!h0=}E6h{gmيsC|aψ0˗T!B\z{0{YNjBO@OvC7-nI#G3~�'2D)l)1@!S8ȕOa|_Gth- y~gEW>}g</gÍTJa\Bx=jCz,�� �IDATr t%{#V@v@dàR?0B!ko\}�r9H!pP�[ o j\]|%y5- va[ s\({6gwǯ{y(ί*)ɯτﬕ H3UɃ@Ƴ u1FO pS&Lww7{GAЄ?3dg9.L%Y'kCͧx[WՍ�#`o>#J!*SF.Krlsg'e@ dF}֡p*~1M}6-0Er܍+k);-:=:` S ۃͯƥ!pw;:>k#}}CvTKWe׻MzkBŽ{qf}\"H/I]!BFk~iGɉbwY+9^m=j>ݔ5$XZ�67ܪuaZ@0&.Hal؎ѓ 'c{z0zmzH^nr׿E[LK�7MJL L*OcơhB!]#4N??C<-ل8m: (:8(429Ow�/ `pSpts3OQZsÄ9LϓI)3`go~߿EXH"!B9pIo]q辵 &:wcu`uK/>l�,j,`s4)K'y9.=9Ez! ,sqf.wE3)=} m]#r]D ? ~/Mw[ľӃr!B4sW݊T2wh'MM_@^�n ?Nܕxw`N.|l;c=y�DI>j21Y{γr7lK NsFAFOzbh 4֐J\:eT߱:_ JVl 31>f]ͳS("{�\ꅙk11{=r4 !B\伿"޻ݱWط<[;J(^vC?b)C70z7I5[2˭7 e:H})k3)<TCfpӭGؽ�U}Zؙ%TVc^ϛzAǤ㴮Ch8fֽCQI0{:9[i?߇w3v>j*ɶp7nV`J ʤ׫q,&wr24pQ*"y!,qz!֒ �tZ VLFMB!W+~�-jWX>Ŝӳ[RCkwQ\XK)mP-$O{܃gU@g;νir8»k'0v_ gޕKF{>_%u:ԞnuH8V-1pJ#lV3 \Kw{3zфzT>:vLY1wQu2]6D䇤>D!B,38YG9v?8xdSe˖. iqvٛ?~EC08P}6B!hW/Yr*$n ]h]u~v8j|S]Orrүu+S;–+%1W >]a17U^'I5߸Lʳ+@ !_oo|j?>>}%&X$No\XV\y!$B\*wr6o)\Gp /8kqY)8E!$B\9 N8f'͋^@!B!ɁB!V  l5KMWM5LHW'r7ז\ Crcrοyl%ݟZnYǘP_L`5rB!D3&#M>{=iϪPJa={M%v&B!WKk'ۛuʚ;>v<׉ l0s͹ӁOa lv_tB!BɁrU㮪U#dtSHaSI'bу.k&?@z}q.lJaS&ZO]1-ؔo Ԍr =UG#qmCuLQ [!RZI S¦=pX0\vjufʧFY $F860b iw0TkK"!BI.`A兡<C Rxj4u!][;𨪴OIH$! 5.Hbe-ʂeOQ^XQV`i(JPB!df4`@Ϗ<{{}.;eVov7a;\Odŗ`l=/CO1u0ty$:~> 0e3{xi)c4(ܦ/cȷؾ 3q54|ѡGZJx, Wm0' l냦 w痄Ήt jnz<:,XwZuMh?<[?s۝D2P( Bw΁vrƕTr9zRt0NԢ4op R3+W }oO$Hׅ9nB ){ S*"7"3.NWV-9 ~孈OǮӊ:ԏv/CO9E齣X>5'j{1*&"iH0�e%M&:|y9}`�?ڏw܇܂ێ5v&-bC|9a0c5`"Sr׻\Z2$ r,,RgNİoWiĮϮf( h#n&:#ΑN5D̙EX m 0RV ch漐bDz{>k|mmR9mH.-Ӡ oI4l5':x% � S ^хg y$q5즠 Ӥ޶2{OcRcX{D=Е$Q^!e$ b8ՐŪ䔜3) r.#X1~텏Ω&X3 wP4FvsQW˚[�:ښ=9~ς9n&xk,g05\N*]Hb 'FwG >u ]#\܄1͢(+(O^T0Jr>ퟹ3l_NYh̿Sr׿BP(wHT'X3_͈qNxPD·'ۜ5d!~.)n?Z#D̓Рi4̀Cc籾}<SX ]Ѷ 䧋cP8ዛN[�0E~ fP^ las>'pc~M?g)CxEX֞%SrJz,RBP%Q!z'k.:z6&YdyO`ӻ0WoSH3K5.9}O$!^.�BQJ?}ѭScj2F3S;Z=>Q\<p|-n{lkDmɏYך#i޴-g؝K( DiA� "n:evOa,[KC5 ə=m_CCd&ݞ#LŻ8p(N2_wF{"{4EUrJN ⺳s/J Yuǧ/$kL4YAq;كcs[!&}r`JeD?c޲qR+kǠoy1VH=D5v8߁ci @u@$`<h| ZzlKsPRRFWwu!xGu͉<JSKbzվ,٩η)FcY5㾦hz\o_ʰ/ږYJ喵r&0׎ٴ]o7)êqBK)#ټ&lnv?#J̶lXpڇٜsaé\P( Bqx<4}ɩIXVk`RV vwV=g5n|f2).ɡD941i5b0'qds%൛8cȬyjd-YpWn2S(̮3X48/I#yΗ5>Mq 9XR޺ S987WH3K&ycK;9�űԝ]ﮧ 8dS{$>1D}/x-CE* BP\'>3:NU3OFn~< BP( t@P( BP\MsP( BP(k(ߝ pPBP( O9P( BP(9P( BP(9P( BP(W902|61Y|) !F(b̮nlB2XaK{Uh!&W#”) BP(L@|CH'[NMeny>nNHv*%)qť~+o�GXrVAP( BP(QGqHmZE ~6)A,3�ivW4z 6vĺVGP( BG^6?g9{ܯ!n&Ơ⓶%;#<He<3ոq|n8b[5iLyB'me1/#m~@ڈL>%n8eK_E:Ö%S]QS4-^_LmRY.OH/ E~;+eV( BPmni�R9�X2ۛi3ûj:#ޚWu}e q7r&T#~;yMÀyDM'7 nig =~q䮍Ҡq|$m}Дa9 9QDMGG`Ձs ^N˶.yh&u{4`íSXZ] 9"JRP( BP\#΁# +l3' zcbwx<c8NZԏv/CO9fQnʯ� 1W]%ͯs{Ns%HĈG$4o/m0�e;ZLL&:^ЮYftc΃&tEݲGKh>D)BP( ҹf\o+ 9@ǮDy!0~'fk|m?n;w).<</SBo=zϺK|$;2 z� DVsbWP�9JJe]xGp>Wn *0Mm^"�1e&a�-:5;tt%IW+t'ڔQmYF) BPI)H ]Wv i5c([0gdotZxۏҥ/u߸z5s UT@YN g7%}|GFǹ; Yc /x+(Oh)0` ^#U4P}h̍y`umr 7_9\7daMٲr BP(WeY5i'Ew;o۾/ )ex;E؏<ňSݦb)HKbj45~)yhs*wَ,m=/껗QhSͷ(4` lPa9 6G'G}ϧpctWZP( B8mg#C^̡MW�3 6N~f6JĽlωBQ)X&3k ]rx5"V@b,j 4PýOx ? ЂbРm9ӂ�(Y%�E-fs@=E{:bW\Cvu7$˙=m~_eD~2:bF<fldlv6HXKN>)j;n8*P( B'q0&i֛5- ]xm9u7FX SV˙k(8F,.elr\76 >ɘg3o�3%G8m݌>vlZ#p))fRB{u#+g x>&Kl-bwi<S MӳH+ΦۃQ*R+gooA BP(k9@8|6G"Oql൛8cr źyu %io/4 5XR޺ SQ"[8> iawJ/7BJ\X2~[əj+Ƞzw= %#!E{ .p,BP( B-xW2dȪ >>M^ji86d7W( BP( >$V VZmJEy;le;~k@P( BP\(@P( BP�Gs0LAU/ BP( 9P( BP(9P( BP(9P( BP(9P( BP(9P( BP(9P( BP(9P( BP(9P( BP(9P( BP(9P( BP(9P( BP(9P( BP(9P( BP(9P( BP(9P( BP(9P( BP(9P( BP(9P( BP(9P( BP(9P( BP(9P( BP(9P( ⏄Ư9I "f^B^× "|30fQl%#M"0)1B̄v,V01F0W=gH0UtoG WnɈs5hbp2ܱDb8:ۄQO_=QꗋE+/Oi J%kk�ܛ-<L#nx`7'UW@>d{ί`hϺb<WM79Ͻ*g{^8Έip?训h?8Rakp~/c ; 8O+oTn:S2W9� T^v^?PzA'!0LS }iq zI,67챺DKϨ1x:RUG0<tyJ_j@T+;`fn)E#I X@,+日^?n4Kߛ^zºRA#JR;dJxx^:1m69*.{I۲o4rHw֒_C_ZrvV瓳Ep+ozb0i!o}ɾX,~%NIX<\M{_X6rff O<z24:tfQ?frvhM1↛1\'=mu+@řY}1eη{N+'L/CgMx}6%ԩm}/h9ˢ)mXTLS`@Y'hQ*g.j~aE|!"ByZL;ɵ "E:rLo:w'O,Frz嬔Aӣ]4PF�� �IDATgH+KeV1->33lƝQFZ'wޏ) %cٳ<͵Ocb3eiK/1H0牛77E8*ki*=Lv~OA2+Vk{W|7*;3^LdBnPV[KEC{mKR3%ɬaXܽ&u(;R p}~/ABŶ<KeT mzklH,=?3Ͷ#cLJ{zO+XK6p6 aMnH >IlQ  }ǝ?t!`;r֗V9_=}eqsUy/+՗׷QL#YY&r^pYw2=X(;¹|NI&ޏq̼31o4.D1lu15҈2l ˱ӚŁe2"POE7e/;K&VZ.V7:G$ERͅ3 b%/a+_RWNT΁q0 Ճ}/Ncܴ٬qƳKY o⹘a 0^hӻ ml24hӬ MTp4ƊZ))Χ�l_bzGm};2~bGw)W_*mIw-P@S k&&F<7lCfL]<y|Px)m|5`PLqVWfbwֈLމ mӨsfg?Ʉ'#u#tz_|ŘN)X潚3`dDHY΄G1z'SjuT zצN"ix>Cڗ-Hߜƚ 9dxy1f'&- ӗF{k7cB.{ rŤk>_g Dy 8gO3e]/[Λ#C ɂ!IM|ǙL>7_vFg޷yEmp}`y$-3ght%X ض'ظ؏_=}.[ 7IHxx8asCuNxd?rr/FxxGjS1u-q|j;• v!{M!<)n;!(MzUΆOmp{t2q行 YcZ2lxuS ȐIO#]wz{щRRgw˟w›6?w F?؉FxWY4RV,.0JGE$]>`_J7Um״r%2_[{]{7U\tu}G GdRHLHLYE rU[zdҥWN~0i#⡵IIĪ'K?y_$FD=mqi>,Thɹ1"#_H16o.eۮ%-. P*ko^'(kGg_̊˃ (C>+"1"¤ΖF4 /Cҷ$&wYõ/5^\÷e5ȳAF,"1(\$UA}A*]K}W\A Ŧ+Fŭud:Tm[KPsKͥV?(vqj>Jy~R./JG+D]Oz ]ceru{KH*q44eH~۱OȊ)AFjA\~( 7$^Jeň-䡽"&՜? q@D~$VyZZ@;¹|9%"e?)!KiN~qɓţ|)9!"{ }C+KDrޚ*h2~K,y=<-Eؼ.6= :1T˓SX !yR()aT+nKFtCv09rZN''ȩr2O8*'ȱr~9px-{;-,^\W-(H<A@9gr_g U,Y}\Sâp4Fgh n2 ?T§$&oYG{..ↆj#b2}NҳSiI@Gj<\@sn\ ~dHW A[S-Z@:_,$_af~G̉8QŇ08�O_I! N故%L~ą43ڄH{oge#|?ߟ:�n=Xw\mp9BäxOwKp myA>_Dqɵ/Ghުmd7f =0[?oWve vU wT_SomI-:OQf5A0j#{^| ,,tOF25d}b,,9cK׹ %im RENۉf8]aRr3woG\~H;bk8k ϲ9Uz^vb !s(YŽ)9~~&ҹ_ VR&њc<AkfDG;Rx4|u;J6sI\†9KEc!2ۉkaYQE15Z4h+-d7>GS,cnyҠ>[*#s`hƠ7^ްswvis81LiN\"Ӊ?Ծdr$ +cI:}6A`Kliz {e$d[rM.u5R \y)3k=ϳyҥ 7` =#jjĥ)=: zkf8*w9k]_մǝ�I<ƽ׭|u3aFC蠖<zO~ρ 7L_Kޙ2J?wU/ ˇգ#۵K礡E_w5Q^}͉H~Rc Sջƽu׆}]XאӽEGagK^{ǯj(; /r\rʪBphu;d4ʥ42pkf/1559qMx=Mo1N8.G=rp]r(O^!XbqD%|"BH]<Q fI5q1CX k>HDv. m!N}m[a9۠N4 (MGV;Osě;xEX+ojMr9z5@\\ʊknh=7@^=/s~ y?NjfK3b=M5#^k>f"Y1y k4ݝ[H<.O.!ˬ~׺:;n� ?%!yUă>%Shs_i*o8/TU].G?׎}k rmϯ:߈scl<r ӥڨ[^׼" 8™36Cb7ƳN&p/CCّvgykWˎsu}8y9;~P_yH"j8ERfSZxlE70K޶}e]vVYΙzL93^dml.2ۉkabb2Dqq5Ñ -$+mˢشu[=0zg"ǵś�+طo.b ZNImju/@1ldߎQ N4oeK}Ajl9F`ԨeQf,ڵ_x6itl+OHc}ˬ@B `llάM'J2F<:7gR>o�&x + uz"bޣ^�zo;z3=߃{yɯV,/;&Q2x|]jk\_*1"ymW%7 M"N0|bnm@稾`miS�Ҵ>_ wӀ2DO@>ET|uqث+Um>ޚGI@t ;-BZlZfQQ}v]nj|R*JgaG4h&'‡Wmu( l_K =5U'os0{ӊnyT: w6s>$?o|Enq$`z*~k*Ϛî]/@{ 25uf|8[g5j|A񤞘A'pGh p\HNcF7rf\Z5QGis=`;zbkֳHˮz)xV7 Ni;{B3]{(yY)hq#! ggeMnMM:,j.�))oსZ/!cMg3{ˏfxO)V܂�oY点p=I'x 8(W7nQ=/4U6>B7�[9tµte?\<fC}#vsT_+O C{ۯX;5GZп q,X۟֏xѷ?|o-ewsy}v(ݻO-8OXH`B"Z7{r21gۑ{pG `dJ?e'8 qkF.?g@0<sI.%sJyν3 <{V^ә=8LYwcJE$O`^A;1LLt/zMEL{s"l7~&+`(3_Wxi㹶^~<yr<7W"ϥ%}nFOqAQzu7Õm(3`f =sp{-ɓ]UಜVTv D$7|*&v&Sƚ8ɬ<*.'7;]i;A$\Żd1oelHLLtͥY52ttL 1y\*&}Sebtx~Y ]$QM|IxwLab֟^N9c? <^(7V˓NZDƋUbD2!TWY:_?yJGʹZٟ9|sO3KOyn@8;X >=å;rVDL?-苦4&q\(-j':\L&K2ok,<lHHpYTqӊ2>n"n(OGjłIyja9{rw$QdPZt}xͲ7<z{mF-S,c/(xFHĈ쏐0/y51FDT賃GM__.3[i8tZ PG[mHt|h̫#m{ړdW=mL5ʎS^iEk?]KyyNh~ńdJ9RO74A-l,[/Pq~*T"RNmiuj|cTlh_CwiE<HxW2d*gǧ~]D 'ڔKVlKRe< ϴ¼rU$J_J+ E-hMArjVZ-Tj{2uUY~ﴬHqA4N}6/q(M~ۊo'1PPz^P(49//TAƚ̧ |JBB{B]PߣV( BP(9P( BP(9P( BP(9P(h 2oC BP(s`R6SNDL͜DwroC{tܓ3=/!^z\$WՇ6"e+imLb&|GpWUu87[!fF\#uW^F�̶O2=xSyz1æf ӈ()m@2vV{^~v֣QUU7 BқpH'p(!KO癓rt(Q zص]>9*(<Ea2ZweKێcGNbqC.gu~ ^NPZx }(~3mFZY1,MedgTsN>[{g/?0vVx-v6(qjWP( =,aQ7=E4e|({\Ep+ozb0i!o}ɾX,~%NfX+[MO":�dbSh}^fq ?L9H}ۻ~ ZyLGoϠ.)+31g:k6f<r%P( e3:=9;̈;>HzF:wǓkD8unirN4eH+G U.scx}r-],BjY8Y-iuѠrqQg=56$""' i@}7V^ ^˯і;'q?9jrVSɁ }.(#3׵*ZR2X,h:iLZVsr�Z$`RZj}P/k,jcTkK R4{l׺2;r5:"ofŁqTMړ;Sc֙~u(;R ^`93^LT)7q(+mT￐1лt?\02f."|q_$N{}SNڑX29_vpgXcfq`ٳ2\EP(ףs/x8IG<`jBtźp& X 6p_ ~0;2W za '<tߤ&5vY֏Ĉ'V2".XǭG#^0 ɇq0/[Λ#C ɂ!<h.=]Q`ߋ7m6kՉױkGֹ;|DGcH5J쀜"q| �64%NgNXQ;~ sFSƈNk1gxJYW-h1T{%m{r+z:o-)a\bQTy15\bcMVu(ƴwLR4՜ cΐxA_ =R6V_aK$oNc͆23=Rq3!?Qy CTpkn3Nxۆߠq<.45[{/ΆW' ?<E $ˊ{1:ҥҡ~C{M~FeO7<OW+Կ( _IvvfU�}<ODN(]E"/h 7)["k ofll$VyZZ_ppKͥ}} yhlI|5{Ageg=͇Ҙp|"(vq_ӈĵR~I^>*MO״Mb$=HxG##2)F$&F$& DA@-=2r߫}'lw~f4 $QG$2.; 7"SO _ݨ_sMbDd|3H_sMMeeYL5 W>Lŷ/.2+FD&/z3Z `-¤=8i{$[{rH�1Uƣ3HT77qVoci>_zN;WIߎJSh(hD 4�1yZȱy]ĵstb5]:oh P�� �IDAT|eeh2~K,uTPA~G DDLi9 Ncr<ğ#ʡ{h=Sv"|xWRؚk$CZC/8^Z9̘Ŗ%kɵgr_g 7ύcZR7âh𠓱#-')Ov/~xyH8GJa=擕 eg)D oCڟ_ OS=ˬ0솷lII'ޗKٰퟜL;J4L@;..?qqq5m,c.7c2'/qbt~heLd�Zy 6jy9">{n@6m emg8VQ5Qt* [9')~;/=ڜap|WEՊOz ȲUq32"|~C?_09G)MQB̸e0Zxahl&њc, ŵtr*.X,aGNY[c?tעտ( ⚢^_c S9JQF6xW3 p)?W=AqϫX7#+{QZdv{Sղˎp\2ʫ%AРTS0f[22' /Fo :=X*'gjs4\h~g#ʋ0S~Oąm?]^,;mwhײ?n Ӿ"W\(ͣ4yIxPypH&1Գ$LYԕmۘѮ7Lt#tPKԒ'_!%s\mul0TտXw?ʕg�g;tv^ t8Mܡ$+ƩURCND4qCw-/ B)# <mHDݭWCZ!.¨}>0Ƶ#wڂܯrv7|Iټi`>.?Y*RcX!V|2ޓ\LABN(r�袉|N@i<&y:#d]3ʛjVII4:~ uN?qurJ(+NNֱVfkKA)|fE_ pp$?'&)a̜EOSyxРsCp m9 w{/PCr4@!sf<:`go̢Yr:fSZxlTEdk/sݠo'(,‚BP(8a]Օ�vNh35{NK#KBEI98y\5jj#]DO}L(/A^Wp\0\>zp1J)CY_;j:A!>:}/"쨜o0`߾d5E`ZN*6TdLNq> 7tm�8e74L#(G(7ڊs}8Ujk6iˊJUnzSBuX*Gpdɜ.tz"䮶FnϮ =hγl^V9xCN0ƛwyosN?QùrTQ>'~+S_"EE�{ͫO:]E]&qCO塞@o:Rĺ͉4|3eJw<x>r( v̧vR|7קoϏ19޽ۯlMYsصE~]P ?pjt&ֱ`s "'gX?×oAG 24 Od˫k!sJyν3 <{Vހ|8Z. 0EQ p_񤞘A'pGh psЅ4atp#Z 'nɥeXpڙ~ ;S &gʚ,Ҳ} إ X 3J8Ww21cqhMx'ؗ'P);Yt^% zBB<ΖX9b3 ˊr߂D‰[ *7߸etf?h6Tb- hɯFC2%$+Jl6K@qӹ`.\O8Q`f =sp{-\C�/?o~<uǛ+Ғ>7M'{]~ڥd~$n_3YCx܏K?ah6~G[^ BqPiE hMᅲ7KDDzNЊ)NycMdVd+2ʯNuOY1uldL֝;Iyja9{rw$QdP PG[ť 8Er0Rjp\ ~HJi:{>LIz6zw!6L.)h;}F$\Ż1oX 8i,hKNkd\b?fX=ULzMgk8*~2N\:4k}S\ĻcMvb^ഢ]a;ߩB>nJyN52oQRTM.}Z' έZwQnv{ IEzҋRX,O=='r *Ԁ{聄PHH =ٴ-c7!Bvd3w2;ϼ~a*REQmW _^\|ZѹB%QcQoҋ*7Y_;KW^A;{8}QmŽ_էó<Cy5*S{}jKVђ4;9. /WZiT2'G9RN<'E)RiE QÇLB$cWmCItԦl;-:Aet.OAZ)V VJloՊĎ6vVȗ_ B}qG:2%1A"X B=JbݢD  4zɁ      Ɂ      Ɂ      Ɂ      Ɂ      Ɂ      Ɂ      Ɂ      Ɂ      Ɂ      Ɂ      ɁqSjj߅4j+{AA�!ZQ\DZ#´C}qv;PJ [FԪrXE1l2i$sZ:m_Kc.6TӋMק/f-pop1v`9j2x<bkIBX{{ p]Fr[CtGuiGGD<މ (sy[yMag|WjsZ�k* _2H{ڱgiJD^ߛ:hVa'\ ~~ Rr{O'neh'|sy/G?Y &կrZJ(;Ccur6f+W.r(&2er=r64k<ٜ[ZvW_5 lc2#h+_[F�OG'QsX6 5ThXڊ%ķmaw /VA>S7Z*d^{-]ќmF>x'TZʲ0?d4> 5i3Ꙇž eGt:+5s(½B6Z[MR.扖s|BM>[v9?T۵o<:e's{YShK ^u'1˨lSjYDo3wv]ADM7҉?^5[AVhKv9=MSחa&o\<ˮLC֕$P4Un8 8w]g~堼xV:/T0\׎WA29rU�}zn}zJ8ZjyBy-laoM f}y]H=֕0K;ֳ`<{5{׋c_qf_>me_iyω˘ٖ}i<ХHL 7Ik&-΁5uN;9?Մ1JD#w>_ L Vf$Q܈j>8 tV#&M:G<þfgO WmFޠUL.n</o7I|<CFAog8׿V?gwsNߍu ܳ]y7ʞ;rSU|b$]יqZr8wl9/vܛI57w{ݾ P'xi@^4oYߎ_K#`Di�l7nkzsS6 b|\Wm'Obͫ0׆ὴ=BU/ IQe]>yp8t~w&D\$EFuO)S N�b)|]xu#Rx{Ayu̖ & OƯ ydX1j_3UoGoa%?:OJB>z;x'4m6܀\bo<GXTlx@2{bc-{OHF1fYH]+Ⱥc;# ) 8~]gƑKƹCa:@gd@ �>o_AmvY#VomtjvD.D1&H}9ʌR`ΤZ93`ç08*o@b8̇V&S`ia\Î ܛiN߰I>9{<�R"WPo3u3"Æu`7IVo:Fm+x'S�8.xL�P[c[2NBxk|Ug~ecq,W`sGc9f3x"ulַ?-ߒa^8/Ɣ3X9r`pWPA*9p#˾St+#3j O әI6G&~>]S*m@FSw.Ҁjm9Gr}zr_HF{Y>ճH:ڿp{9Q^o"ۘ 4=ؒ@wjgYa:L~fD+Cлxǧ2<'hc)J{xiWuu_$V}Tѥ%zAo+0*v+,/i+X̙Ug E凑brI{bp4yzȟg.9Yw_e2"UN >wT^9b� qoxđWe.�|GUqXflomB{W&u6++ 4v:2 _bosH[}s>uұ2-^ڎ[}}Ggz'"RnCᬼqq}AɁICϻۨ^߄p>(a-+lG]Oj|ionͩw@{3NY, UL}Mw$haߊr d�t\O&J.\TP\^[jH�]|oe#YM :۾�MS+7&H$޼�3r ``6.b/Z;/B$YoHJ=gٓp#4h= ٔo�4nD/=:�jή͜:qzG紼b B~A 4_Sfn8]̙_~:? #)d/`<=7:%l0͍nMNYZ9sB:o {k�BkjreYEL!nR"n)#5n&5-<i xE%m5K._mrh;0Wm�ebϭ5Yz9[eٚ#ÂcsPޒ_y70v7?_pߋ!U΃3aٓ/nrBOHE*Ūe RddVn<}/(we".ԛ19=$q_2y>Y@Dʝ֑Q=6,.û/}<�n@7}e!VqV9s]ǑYy]?GAqR2 l(:lʷ<.[g84%vnֲL0gq~/y#mE$%ŌdJqM@0{?[fy-<A1ķ]zǗj,KGY')ƒHt K+^sjCKLPOt_Dxxw}ԍg#9^sP^x.=FB3^fnk-10cѿ0`wѮ̜J[ׂ\`lnEU^ G wÑW xA@KNs3fΜ c͐\2^28>H-<}Ԗ([i?sΞ;z]^ y]?'ťA,\>|LAA!AAAJ\>SXVkbRVS[m]ŭ9AAjDAAA$9AAAAAA$9AAAAz@ޜSwnAYZF;?~2n9k pbզ%>Sv{v!ix,E t\u>d4 nӉ7o =5`g'+p``V=jZa ?N 5|]1(൵ky.njrV/uyg/iO{tr}:qJZ/ƷiEةD>˫n / 3{H ˑB\2ʵTY4}#M7gP`Qx7:=jqr<n<+ [0t9 80̛G/F5>ZOo@/-e)Wh Am@a-VP{ :z2uG Un6XԌhwc x'Җ-g_^-XGƓmv/PFz{Z+ΤL!W8r?7:Lj|@ɩy&^'o9Ї넁ml'pS Q6GS<`Qcqu}ɏY%"q@  փ.-K{<s\=4 VQ u/?;ϳ%^zhӂPY[z0+4{Rwɚ&d`^)glEύmrʓCcn B$vMgnє XJٓ=Y\\1فih?:U㼰/%uy`XۮѺ==u"8'rg9rcrk-⿇T[8q7UDtF]-fR>=[j7F P,П`qP+:I-Oޓ1ٕ }3RWβx!)wbal.%Pr;pU|;0#ph AL-y6:H-'z'?w:bl?n@]x?R 0!QqOiќi<PĤm+bܝRʕvs o;D*y= }NsQBIIߎM0 1a'ӓ/�ӏW60a!OuNW:8#OhG{>a#sy\cO�� �IDAT2ULJ;{Ֆ_#G/̞=x._s>=p35C(ɡ�*>b}3~?Cƥ065qC- K7�9}C:hgGQxP_ pu$:4׃ceTAfma{r!Evn?ՌINMkęVX)f29n:0p\'(7<|LyV\S?EO DO|xƒBNhiܜ9Ch~ -QGV⎦W韆<׹7{ߪ5^fçoR<_iEyZδiA7m�n$몗܂lzJ7G(:{{᧱Ԓ03{ }|hAhVhZVMI.7H/*nЊ7NvsDVK 9y}Vb?uGݙYB}}}y ܒ^VM݊MM]A nM/u~b8!Tȶ<Butasoґ' k/7w挵oT"y4X1]?GǑW^~rn}(82i_?gPkPEl6tԲT%'"Dzpf9W Sri.Ywȧ7bB_b Ruiy6gk;/׉j7ڇOm׶L L=m dك@,%QK <U[^zɿz48ul? }/wj7VǯfBJ5wŚV^<)7 QmgWf^:f$n;z|wEf,k )?ɬ[ Yt z3[N7tt2ݱ^PD^v99W&[a;ksN'ӯO=߳OrS')#mLd 3;cvs_S}m dPs7\bU8CNɱaI!>߱rߙA<gJlw& uTW%w{s6M~_I2#ݭf�\FS4n^b53-g}"{n5C/x0Y׸[S|q|96p0 CoQ2@&-<vdwğu8rȯ\~?#1�a| mx, MPgHS@qo0'aD%NCQ陬:sF*\BbI 5ДqЄpʲ3~9+V?|bDdMsþ/6' QW}ʒ+qKxdƤ b2'e/CNS|ѻef߸ ϒтYDhij&ףڋEefM(9g z|4ݶף_]QIK;~372LΝNG3w:Vqmz4PϔAs4uh0A䤰DQ>tҟϑ!tsd++)GX) GqD<NdA`ZDߊGBYuO,(bqp+y0 WMr%ք5LǞqlc9 zO'Z9~}y3›Ж<ڒ*4E_\4[�3)0fئ$/%/DyQNeG6?{,6ѭBk K`_eee55ܱWH~ImEˣF^ݥNiq՗_:XGjBdOEeJ9.c,=JNqyz\/ տ$konkE5p0Y,s898~nK.xr5_ ^IoR* D*Ǭc/1@qN,T9jW$p$V̀ZO_Bl*!ŝh-`o|uax^CTU\ݲ}ʨVl@Vlj ɱڋ]׆i47g3+Zv0oa؆Cl6Ul['WڗTunDb!%#n(:gyYQ%N>;cr8 OV<i!MĄ ʴ0uqnWPq=D,_P/ˀP@/CzuW[c8:<Vs9ŀni\ƍ&n\qܽ\|qCj|vԯJ$ӚM1y[ïaH&xRCO W/WxXiٶ=~x;:Eh4wf1R�/mN g9e}0"hLʅSMix~n>/pM,΃wB/]¼=.fL1Ϛ0 âCCⰢ 6�x]8+qMnpu54ωc96?Sj}05�`4?UΫ3X Y|P7vn.*St=MG@Pd;nѡhlia-B#cEgV9j?F6}4Hs8rt[؜u8, oO?-:ŀo SKKcqstsbBx B}sTYÙh`BwRw4_Xӹw3BTFgLO1#1c]K˲Lp#pR"IXIMԤՃ^dp،w0}<�YUh[?"*+[o/tQmtcB&DE#%DFoOw| q7i$@6N\IIa:-̓{vDf:x|RldKG=^3cQEd[<Δauvht$>IUUV/tɷ+&~ukzs^CnjKZw:CĞCkR`gΖ,(CjYiqdtpZJn1v7//8mCw]L9!^` !ȶ"^ʼbvgхVsm' 9ڣ  �LO$dk]s$3o ,S)5_ QZUE>-gy6d)% >zl"9{Y<4>>ږÍtzŹ%'_K)ϥvJ-~;IA:;/[6axGYZ;*+\ X[{pk֞eYUKwQ"tD% .:#8N^4h߆Kސ$mcB$RO7re='[zKmrh܈ K@�]o,(NO JYsϥQ$$3GqJRNfQ6>zfYl-1z.l�l8QvAo4 ~SAPPH_s | 㦴RJdZDqSԈ13z|"UOt9Rxu?er_"H\jÛ+~a.Z}: -VZ~TjTnbGVn|We;qq+VԹPt?+0;̋W" ~%W3zf:Q ԁZn嶊|ylj%'!WpŘ{d;_-JӤ*E<+$4MB]7AAA@AAIAAAp695!^MEmiNF&  Ɂ      Ɂ     ?ەdVs#%ij탤ԓzROI='[](1AS%c i%p\ FԓzROI='Ah|h.F >򃠠jtcؙҝn[Ӵ*g(MAA >gq ՂjRl?[jb*7#~+MW^Z~tm<{zK='ԓzROU(:Ahl\Qr {͍z੕zROI='Ի V$  W1V$y   |ρ      Ɂ     pij=r8}SY,"AAAMP"hJAAȶ"AAAKtcWSQ[ :^*/|kN۟GUn-xxBm`J2'F\ qȾnMl8^R e%x7@Uߘꍆ?a-VP p>$޼2>\tx2(W UOO.ѳ׵|pUXrXһ>qJzJz>Cn}#JjDα#:{=.v2n;yMnC߹㢉i׏^yQ|sOoJ � Хbeoos^4;崙^C${&Ȥt#6/z^Ǎ#9JFe:q@}[Ǽ)ܼGK: gsi_$CgSdOu,X{S~Bh\P,YƐ{j C0W:?aPю;<,}vq0XȆ$"Oj3gGve;HFd6-aN'ڽJ1ZP*_.x:U\N*#?M}m#d#V<NoUo_z['m]ٶYpw*J7DTٯ;g Keq_:ȡů̋K"ϪPurKk :'Y,=E)b+_{Y֗^F3*�TՆid',693سEF De -OEF7Wz5=�J9G~ZBLW|~>Q^]+-f~E,-Zo٣!H@e°`80*|_ac~^4qRrpMNprxT1g̑BR:PcaIֳn3產`\n*w3"#z8֥<e/ >ߺ* @ 4g?NaO fc߹'11]'adbbbwUËAs[݇')k5:A|I({>7g4:v'$kv~yiHF$b|nÒ{=x]h"q!=zvg[._5+Q٫yqPFOC|slzyW5}Kڇ=nNЗXez8{]' Srx?]=}Z1/Hhm0#?κn@ SG]IOSqz:9GCV<ӵ<BVZC@TH''J7. <r\oύMbf #VT>Yc-z|8, Ɲw|ȹ^3loޟz S/#HS}7&m07g8/.ŵ^WW\ XUYjE<FūJmiB5\{gK['(Vm(NTRj-E˕:jguu:*[{"[ ƛTEr$+±AJcܽR*ovY J{_,>ڦ%J/VBUt~lm4W:g#"uJm}O*R-tηu}֫Rkz`u%JW55*d⏪@c쟹n d kUVϴS>ήXmKPϵWNU'59{?+)=ȟ,fJ)謹*6ߪh+'ת(OW|SvjURЫrx[y}ΏU}S꠲FT\|qpPCTTRxT<T׃7kǕKwgb?QWA7R*Ih)R..>RTvB<uLO9O$c уP~unNc5ӹ QɁ.|8tJ~ςn!$⊖\*vϔ[lh?<WG&h;{~%c+5tٖşH$ޟˌ[ѵE�(<;-rl'(q}4!zZsfPg,ّ[a5E؏G kRD6;~<VVG{h ;vނxsޟK>:~zčޟr, z+FA/__".񼗚Ҷ#[58]9>j$hK19F1ۈ+ŹzeJ*J?ܮ&B]6پ&၇:ΊehzOc`C g3|1-2#q<|'@i>SV_f&5%ıϱ:ıd.iqJ<a%5" [Y~k>?dŭVMda:+% CM7 b7C_8j7\RsW>ޜGCrXKr(WWy<TicyICcyu9Z�b\\P䕀wx|8%jbQ,V`(4Z7:\Fy , P7׶?M]7.ͼt~~m� R'*.@·&>PSPySW+r{0\2 c=֢̅SWT}l3N^}[ZNgT[~p`zؗVRWyG08 *n<j,HB0T1#@w0fԇճ޽i:LAFD@7H/=\RٛZ춒Pߴn/r:WNO7*M`sVu3_n/Y9�=4PX WKppP]AKAj^jTx0` dm= hJ' s5|mP=f!!.ɞ)8S�`|*:'{'"?n-#w,eHH^^z`)oG ҖzBSȎr<H|̀Oz `<_eeԇSԨ҂RP_eJO~S6PS9DM FnJX]lQQ{XںôfڴTvzg G#_ieC[V/GO=Y[L3~^q ;cm)rh2~< a juGM?K\FՓ2[Y)V4>Bg* ߘ ɻ0wJFҒSȯzInht4�,Mi yiWYgc x?GL"n\fm) ʓ3Dz͘;Mw^jqy9,}vz ™ԪMG's˒l7?Òױd1xO_f 7?}_e,O8v/ӱ'x}wn/|̀Ko!kV�� �IDATۯ$"u<@Ay,w!nǤlzN?#f3o7yWڭDq{'?yOc -wD}>{81p\71-_1o\xy;O0g[s~^,qR5/3T^yIzیa0xw8Qy &˵ W0Vgp{u5AjV}کl蔙3+N~ƯA*ةG.#lՏ#|k迯CRUO+*^~+C*O/_cOhRJՙ-VNNe_G*wLPY&[ SVڰ`9ƽ{OWS+)P{~x^ .na'RS>Sx^^] OURJCmTJM./P+lC=wĊ WԸ NpO+N+r05ɯՖT}-*ajJsq{4?;Tt{)s Dm_9QqZі/V5'ULj-'9"ݿ~QߗjO޹]_;V ׏0txA%YW;+ ԳG*~Z/g)l פHR5L\E+R4^kT*S;f TAZp+"E$(SA?5Ƞ'_9QAhDȗ B{޹ AAAAh(JLф B˩MAg`tnOh\}?A,'NP"ƅW!Dς W-B   %1ī- jh{z(R(Uƹ#X" n-xxBm`*oL#:o󉨲_p<W ~QxA"  \A-"o=Iݷp˝R2hF$2sNcVs_&&-C_?*S3n+AA] Vx>Fqb72F$%Sڳ1S~Bh{ +AAʞ:Ғɾ]2KI!e+t;e?sP;N>h._{DU֞Hm¸nWl>Ydێa򷹩Eooʖbȳgg񋌍B8"�:\˒lSVҐjFtFs84?}tMG?bh=b,+'UǙ쉧C75U%gO/2n_L3J);b=X5 W  srP¶$+cḍM^xnl39ɺ|dy t#/MɈdUC,CP<Q1|T܇qUEk5:A|»w e9>ǯϦW}ZA9� Øvov;n#yq,94w!iezkh}8}rt-~~X}OǴQ8t| MD`}IU)Id^zTӛ>%įI >}`g!w韓=%V{N)_X=ID\ /7 S+AAjgoTNNVe]* p==~HUvJԩ_տhPNUJy}*?>*|oҁBTݼDjRJSVz URGgwW^SzĭzxRjM*r\xDUԻ==/^8MMwcrTRgCiUU%:$G9Rl]*RwX]RWVį˯T+UBzNKME]u Mrсzը?U p_bc{R_S]<iˌJ]WRH"Eb\RϤԴcxQ|"Q%KPGT}v=vyέ,\LK|̔PM|?>x`aA4o9D\bq另-pͰ6-^߃&elbEN#ew8ʷR\",uŘgXe"ф�"k-I9!/`0vErJkYM$}e-"�_3gnw7tG:w %PA.xfPg,ّ[WKC-.ŧFex;}9Xٲ`+AAj9.ඡem[Ec=J;!>3e5Us%0-x5O rIuכֿ,uY_?]x5t2VobϊBVs%rp6kMLccu/.c\5<]}{U)m.AL8M> ]q+ބ@Iv9hi.e} /?Ppڳb<S+AA.3;u5 ;'O<C@}RGg�r,S;0b-:E>�f 2 ZAz٫ ڂ#rk><.-rdQ+fs٠#fН<5V&WSG4ѝޖ.wK{t#"FAs eן-VUV4|/T  ոKm^@ߴ# 75+SU\~< aQJ�qkac);@BBr$>Yu)iʹivuzgz `<_>t2&qWr8c}%@H["<5WWWLFyp`KWm|n3&o /C}*j*CBptM)8uj$@x4\vvïAA+{r cʢ-,#>�Cd_n][yl~^}w?Xҁz<smb`铯kklXάPVݸn8>[d;.M#H'JS#E"XPzQ@E�*J"AC `RZ:{?RȆ yy wvٽgs<ыݭlvO &TUKs2`L%;[c0V=`*KjqE<CLB&r!߀^x|ދsa}Phy q{8Dޟ:S"93C)bst⬤:KY7,5w{FW9&IrcR*6'DbbyBø/'F^Kuۈ/ۖfw'8W $bʩù$_8wJQEQ暲 oFnbS۲@<&Vʤ&#Vs= ,sZKeʩwL/.yYߦN=w%=+q6+Sr|\[}DsDoR0O$UVup\'(C+)ԑ(O:\H/f)3ї[jśSyØ+A+'H67.[5`/"~TApn)?$ȮUvR Yw,vtxi V.$(>G|e䝒Y([э+-ZhѢVtMي +V,6m: Ո{lhE={:{is_oנ^GJQEQ0o!&$f \Tf,g_o=V:((�(((9M:oU~((r4uh2ID(( BZJr}QREQEgEQEQE@QEQEQ EQEQE@QEQEQ EQEQE@QEQEQ EQEQE@QEQEQ EQEQE@QEQEQ EQEQE@QEQEQ EQEQE@QEQEQ EQEQE@QEQEQ EQEQE@QEQEQ EQEQE@QEQEQ"80V&Pz!+e(|Ԇ "64uܖ!~tpYL/BvK!rF?IYWaxP:z,VwabfK{ ُYbYCVtZddX5WX/$e6Xǝbա:EDIJ|d/x~on|W6 &h~Vӝ=zw,zuQ6xv wwMZ8qF'dnTYL�}>n|o# M<3jP(7588ǡke*~j:Ryy ߶~Y˲3NY=++uٜ?Ixxqwxcƨ$5Gr&gfRF "NwSjP{ա(r3K̉eP.wֻs#)gJf,AXѶЧmy*kaALRT˽*_9#y[d3B#eZ)QAo1M^Ng崙tx>wRis>s<VO ~ o3,l\রalD2tf8Ա*-+,`PbGo.hw韘^7UfpH8 I2̜{{3 87Gm l}{< b1u\<3 "oJ߾y,9ՀԺ¹J`PhppؕvY|,ɦܯ úѶe+15t-p l]m+׌qħkߜf0b ,(_:iWooouXSz??K`ߎ˧x7haV?0nԆQ?E0#֎i̗ҩ- VXu2;Le|]z*6EW'']z%ClF Zy?:{jߒ6=e'T2'^  [tƭg>W}W0l`ʇ|ȨedVX6^;ԫmeca,=J7|e0 kۭBq{CuEQ~VX* q((DvW/HwBDLj.NN.^1yyQK+MɿrR<R*om}%ߊ*ŭS\L㤖mQmc"|%oVRbA[ >HT4ўC$. 7gU,ŷCifIw|3C߬ʈ"4xg|E,WL/[.%/ץXsmZ"918XcciWwYt( nG~z\ϹC:-XYU sD|Uʮl\YWIc3Y/8'?wtKDؗn7= {աE۶[#""<&Q'$4 'KБ +/y},+usP9>?X2*G~D/VøeK #7Mꮁ4\/٥GcoM*)gq fɹ1s>*D\(R%8m*}5׳˾ļB U)Zq[8\V63hٚ=2k} _v*ٶb³qjqE#&Lx>iA49&'`5)ۓ {<ijMIٴ�d}jg !~ZL0{c:RxTqoCuEQjSp/E4o\jyq1y_DN4uZ:>V|Fp+ "+ vs{&.'(2w^q땈 \(WlF0`UrQu YlϑD3ӱD}4ؖΟ9g!-1?Ց~ Y'>>)W(^k\ʹ�D'fOkc4?cBxN bH*غQ zn"`:،27OK?ۗFӳ3O=TPE<al' {&2%C}¹e/o2NbI[Z?MqvV#Y՚?Իaƈ\9Tp,mY;nv/&3`5[s$s/q\gj({"Xq*Yj"֛Mrl2N>8I:ʤCތi&mogd%r&bIBv$6~ {?Ӎx%-AuEQ48` g t;Qg +S2a2y~x֤B)U28=3jԋ CѤIϝQcI'l=(15k9.1ʴyєG=t}m_g$t /g55g-G~ay-fxi�t: qw9P~3^z+5U{2(X 2B ,Gc[\ޤbJC۫m֠:T(w%7eB HߡWq8v_ʺa Yd3:7 Lv$|G(xlg?gER + O_HYs$n#l[ޚ0#\ޒq{4ƾՑiȮ;yb{<'2g!lbvGg S]nm*46#3weZ\E׏L9!3 <ę̒c h0f`JUIT 7'oϡ.E~u<[5ḵ;>dL]8Ҳk'u5HFI>eE4ΔOosա:E+>ي{5mu$HDoR0O$UVuY/9$3VVNm,+nbpyDƬ<, yˀ ƒe VdKT6CK=_"*'<<fHɖv/~58Iʁf9 0_2%XީaS2Ef+ʒ#eͪDNRr9'Gehec`SNZ^vGT5KȺYҳͥي\5%MfXel\d+q"qY#wL/.y]rݪ<ۅ|?yYLJj[Hq{Cu-Zي18r늍a kSi~1:TPC-`pps)׌{K}QN J{$HQEQEQ lט3c<ll-&,:>((Npp.w[] EQEQV4uh2+ϪCuա(rKDHK֑RVCuEQ(((  ^xQNȒd~lT3ZWax ;zq/$ま2ƛyE݂HB%~c>FWכcx3[SEvlƒxA$v_; n{6<0f?feqKW,YyiYalCEQ"!(IyeNp0aDyɅߧ;{YxxFcS5kj gӉ;YX4Qe0{0y`_ |:uR{:?EQnt=kK9w75) �� �IDATj_-D~qQ^X1alΟ$<< ۅWU;)1j%I QgIn@cHS{:?EQnipڕm\v{ ;Oe8L"Iwj`W%H~l4d䵽%<-'C2lF#"dFmdR A28Qw7?pvBL:WsVYhEw6Riϡy"~SGYr#uDıfPMJÓ"u<jWj]kMYwǁn>cys|ַ _. ^eqΙT·K|^=ThpPloO5ok4gW6k8SoNV]1� nS+5]M9vƻZ~59ߟp`&vF:І˧*+~_ϭҫ}XW)K`Nήx=ВSPqIJvڀSX;1_J<3k[Mb<\pc3!G-i]V_xN5.sop�מEMa2j5V7^ |^mð)!ES0Icټk{`Rv6|*ټT{:?EYb$$+{K]Y \rܵɒd%NJ,Udx-EWRyT1s2EZr^[=ᘈDF3{):mTE$Ci`Y<,RKKIKu)/֗Fmյ<_H2y͐?Ϯ$Y΋oumk#"rbz#qh(6Ƌ;M,[UcI#?T]c;\џɒxmtdg9\:_H'rƴ%:򊕇tZ|,6$J/m]f;j^=T-ZnfGDDN-1y2L£NHh19"GOcˡ#AWA :_-X+V,.izNQ04Rv|2Nsʻ8Ԣ]j [}2wK3hٚ=2k} _v*ٶ"j4g)З}߿=+'6{ ] ~Xv 2]T{o+^cpɇ:ٛtӑrƫ-q0ǔIX<6'e5_궫˻CCQ;.8 dzܞ L$3Ɵm34+ymi\&~ Y'>>)Wr YGI�GOܱƥ Htb^S)wvmƵgLhAD?ۗFӳŶǭ';!&H"pphFY'p깉d0&8qͿ.PEɩWkWo5eYC;s$s/S\JʞH0xK5[՜J|*8xƶջ7;HK VIMܩV>I]tț?ͤ/佟F^Ab6'+3)MO= *m$6w=T(\-d¶-dIR׵Lsf(p!PUunhX8dt /"p#;Fx͐o:&O*d&nZp?7Ɉ%M IȾ'y:H9bJC۫mNj0dPdbYF/?Cu(ʝuJPmzѧl: 'w82(lX2,UU!\ 1 ~)%fV"n $0 {:;BK}e3>;!=;(bS~b/]|1_¶(fwtb/S]nm*46#3weZ׏L9!3 <ęL@🾐HFF|ٶ5+N'>aF77d[EV6~T*Mz]9His; .e_z.!SN_DL~LU|{֘cY;v |噺`qܫ7eN/kb^=Tܱ\lE!~4sDYڬL\-Q)EY/9W=3VVNm|:YyX[/*sي2ŶF,lP s8k{%S6WV%qG6!UQr8)~ l,PNt!UHSSEK۲)'~/Ss%d,YlE]\ | ޒ&ra jsOg+rXRFBN>%ǭkgٔ]HEz/ !;9oRyP:?t~hѢVt"H:wtp:TPC-xppraޒw~;9|:cn8;t|EQEQ; J͸<s| |Mń�EGQEQE n뚼C((kd8M0LʸrsPCu(ܒ�R4rpPCu(�u((/80V&Pz!+Uċ];m KSh]Ae_i}'0eD3<o]6QE ")DZ'=1]i-]\)?;6cI ogwt/CIJ+<,ɰj6jաC燢(JɃdv$Lr`ˆWp]V3Nw [yOwI!"F ۫kOI8̘N7މ}Ģ̍*ˀكs5�oǍЙmDCu(r,Y^ȝlΟ$<<踌F_e/N8e(tG Snq'15M6wfS1cJ^9X3R3~)#gP:?t~(+ n)j[QP$:@i~T0Ztݥ?9 J9<KNmc"%=2𫽜i3|Zǜ58g9_f,AX 9+,`PORi?s<VOA.G˷cWdJN]Sfѻ~< }cIǚA5)uO}Xr#_MYwǁn>cys|ַ W1ly*kaALRT cP:?t~(8>ռќG/Wwרw}l7Alj]1֔_Tݱl5v0W;vX {%ˁ>+f?HFmS$P)~umV<ck<z7 889-:uןd7 85h%tj3&$ogA/`noѫ}KxS\h0z-6'xnѱ;kzv ڀa<xUd>W}W0l`ʇ|Ȩe}Ryd]m+׌qħkߜf0b nR{jEQVX* q((DvW/wA$Y~ltɱ"u$";zr\L㤖mǭsD|U]f; ԷoDHƖġ"WNʜGJ:f#c6Zg ^w\J_2Ky\՞tKI\&OrnϮ$Y΋oumk#"rbz#qh(6՝&ab-*Jñ$E^.v|rEvl&KERVҕ^nbp ~"ȟ'iY|ʢbyWR jաC-ZnuGDDN-1y2L£NHh19"GOcˡ#AWA :_-X+V,;3C<ԞM לgSNևۮfY,ieڴDq@F֧])Ci*^|-ZCϡqWJȾc e_b-o!~JƉͪN³qjqE#&L(>iA4}!wNa&#tjq1dzqd̻1e{r(=b'Ǩ}|kT)Cu(]ǝغQ zn"s !L e\bN30٠Mf`ݴ}?Q% S l]ϲ8>Ni刧ş؎$$fcnzTk\ʹ�D'9rgh\{Ƅ&.W,]?ۗFӳŶǭ';!&H"t(+ vs{&.'(29Z{jEQnw^g%r&bWϑKV)'I\TSso?y!-E_]SC k<NeV̩ħgil qԸTr~ײIMܩf 3K>I7I?d}lN0�~w+*{M(Swt0%|9ƪؙP:?t~(r7p92z̪={a!XKege-M*D-pLғ'Kb_gH6Q/w3ΣI/ʟ;rY_zX>fxId_ˁgex~6j)m <?<kRA:t~P.:9(E6S6re%[g2`_坭1+P0j"d!&!y:;BK}e3>;!=;(s,kNپ<Sl 8΀{ Ey~M|/ /C^6{q?  'nǙSrC$g&x3yK7ҭ-]}f}&' O_HYs$n#l[ޚ0##2-`lxw+]?_I*U&R.ߜ\ϡ.E~u<{~zdO;}M31Uq[Sy~)%fV"n $0ICEQOD9",mV\|*Ԯ$/* Աz/ !ہc}ty΢lEBx6VdI_I>gp×᤼+d+ʒ#e͊vR Yw,B"*^ږM9i5{S/!fI6f+Zsd4 e`U{:[s~ƒ2ore(=nU6\;˦B,J]!x_r*ogJ ҾCuE([aŊҦM`"x0VfT#MW4R\VCuEQ<-a1Ğl6a6 l6ž=C)((r@QEQEQ EQEQEf+2 sFT-l!ηP:WQ;+8@Mj%?+sա(rYt[(((  ^xG5xL"dpvOBŢKXWax ;zQG<+rؖPM E.MU}w "K 0IO"6ޜ.՝Fr ُYbYCVtZddX5\،%H2/jq_; CuEQ 5_}?~|yi4gfWG$G$aP^}ӽGO^7j91|ߩ5i5z-%F27,fF8Ծq#t|uir1(oT{ա:EQnFp`SQ4M~?-)Q](3,Y^]0/}Yp})Gyc܇=9:2o5)1j%I Qga@cHĝ|4ڨ=TP(7#8(J|gLi(xg+ nܶ"3 ,alDbRKWsfA$sxREY/Łs.ex# fL9ˌ%w"+^ɾDJ*{4eW{9n.sVYhămKgkHbNZ=+Ϻ-])9uMqE*WH48RM$Ikդ=9̜{{3 87Gm l}{< rgCSY{8.w۝=|7v7:67%0ZW8W J:TPgŊ_�b-Kdwe2XXQ^i1˂W |>X9Hեd[< QZ%I"rb(ޮA#ddz:Lfʭg'M  2_i}|\DέgZ,Y43ҦEKi{|}(K$t<`OKGH7##uV;A0xI"rvr'gWzZ "ɸ:vtۈC"M5~qj<[E$atyc'{P.?+i0JDd缑ҳ] iuL[Sk_Ϯ4 l*-r^W.(W&}D[yY$koYxXW.{M"g }5'[v\8(dIHʎۇ|iA2Db?!%+PC-mGDDN-1y2L£NHh19"GOcˡ#AWA :_-X+V,k @J,+%49' *5.(XWA eԟ"r*#jX6$J/}(Ͳwpe1ZI.M0 YM0MɿrR<R cRXg¤%/<_H2y͐0xv]%r^|;ίk[{^�^ l 5?8VQ&)Ru'Oq~lNs+ZNqn+)E Ցҕ^nb(Cu-Z52M;^4:#ܩ9?ڽ;ԠM-}ywN{Px=)V؝5P]BXfDnfm jqqm%:[2r>HJSAXӦ+9OEt9Y;cʵSɶWy={LKS!Y8ѰY[Vx6B-NòX>a"뒾=7v}҂1di8Cm7?qLٞ\GcoM*vL0{c:Rx~PCu(rp}su?gҰ^<UӋJ#ٷJ1޲VR֕vO2a0z6 nuH*CFSkCW/s$|�”/[ω&3wnZ AЃҨ`uƿg.`S l]ϲ8>N#Nb$= ptMjK9 8SkϘ*;N bH*TBk1gr"Ɍgj/nJ!/)OggNWjա:T( ׽EI34kP;"(%3 Z@bb?+3)'}\mN9IR?ؕ�y)F'8AZBrEC}¹em7ٟ܏9yb"%MŚʞHXq*-埴m]ye(Tp,m{w 5.߃lcwYO{w bO3Y_o(:3 29~:}O _bʷ3~l:7{?yZD]_=TPX �� �IDAT(7ks`pe/z`S!;@bt"%ʲ|(CS6?lqvZ.Y'r #,r4|z<ŗAyIfe-M*_'lu}E}%VΟ!dh'Nx9>AX5n|y4E}RsgT=k9WGF/ pN'}O>.uK#+bJ&lB&ϚT(uӤbJC۫+PC++ʽµ90!%?mƼ(gaԲ]/S(cRZu\2dGULY99`c8@"cY;v |噺`qܫ7eN/k ǻL;RkwxLsj\7 ^|>_m~tpћt+ UhmFgb X7׏L9!3 <ęL@🾐HFF|ٶ5+N'>aFű<ыݭlvO &TUKsr]MC1]8<w)syLs\/eݰ֬JPd2^&ݬ�fO;}M3aJ:TPᚲ oFnS۲@<&Vu1=*3+#~ ;%P*Sz/ !S7+l_>]Leza H kb\[}Ds.EoR0O$UVu."[ѥي$f?1q*3NRr9W?PV6c'U͐u*$J)ҩmٔVcѩ6ugeS ޒ&ra jsf+l\dbW{,sX Z9Aڗ)يnUFBN>T%+PC-w}"ÊKḾjD=Pi4rsPCu(1o!&$f \Tf,g_ouV(((((hp(((E3[d8M0L~Gngա:TPE%"hRK.ngա:TPE"EQEQEQ+{(ݕ*F<|ebAO͈;xh絼E݂HB%~ғ0<`mtu9;01z5py11K,[bqʃN fs�$^IƷ7 !v8=TP(W5^mxa3_ǀi)DLڂ<.l>ޣ'}bNjX5lsg}jx{פՌ=wYX4Qe0{0y&>}:FdAyfL'CuEQ8{hl7:g7i/񭿰k17vF#5j_-D~qQ^X1lΟ$<< }W0V̱Ԍ_YAIzNbj>^UmCuEQנKk8u'W4"}'o�cH\.~o3,l\035$1g9C'}.prG$jNHFV `UYI%|3gVJ<8Бu9Z"Sr^7UpQgpH8 I)뀙~0~|&o?A¯ly*kaALRT#wnXw<jWj]\%SPCQ H4#W B֙`NRÊ%B1#֎i̗ҩ- VXu27"Nπ&MZx{{] ?ƚ.vX6^;ԫmeca,= 7䄓+^d!To~\ʃv_֙ݐޣW./<A78`ZvmkOܢcBt }>aQˢ)3~e]m+׌qħkߜf0b ܊*I;W_Sm0qF?U{ա:E7Xb$$+{K]Y Ǭ{UHwűZˊ"1 `+'.9>Y!o&Lv33gU,ŷCBs2EZ\wsD|UMeWY,F ^w\J_2Ky..6=搈lE:lk#"rbz#qh(6Ƌ;M,[UcI#?T](Z.[C:-uXYU WW m}%ENʜGJ<dIH6Rk3M ./C$v9VPCuhѢv,ȩ%:&B"OIx 8&B|o9t$H >(A˾eb8`Ŋr}R ],nDZFz}ٗ(Y8ѰY݉pxgړilPuմr~=#nAs(vkya ] ~Xv 2][{o+^cpɇ9&'`5)ۓ,]~cTd>y5 fn1ZMF:H9 ojա:T(w<H6֎sd䭎Vx:AZ9m<Hb8z:R+nuH*4#5_)wV6.`lgYtՍaK9 SkϘ*PCvB8gME*+ vs{&.'(2$8ghz~z7PCQ;kF͟uxXo 9֦l*ZC_1+b2Ye̩ħgil ߑ0ػfqJҿDΤ@슞t9r*9$IW|j({"a`ǩl7GSl$&Tqә)';1駙7 fI*Swt0%|9ƪؙz㻛s;_Eԍojա:T(w<׶(8n}h_!2߆O6ql]JzE?`A9'z^U^<fG^'?wFb2jOAFX!!h+_WaEMMONr.b=:Y_zX>3j撦Id_ˁg%)m <?<kRMvC>p( me=TP\c}f qdg+<{6Ǜ|7%omk acH]d<[7 :~dmėm[tf+|NPc_ٌHN%&4lڱS8pCo,3^!-v}Qg_>7OuWиی?fo"nǙSrC$g&x3%ӑyl fû[LR4ݗJ_w9Ӆsȯ=ǐ|s(__ʺa Yd3:7 LLB){/ pCuա(]ϵd+"7NޖJv^Scc >r"MD$[ٽ@Q f+;m;X"*t$/*<{YnYqd]nߊV%qG6!ۻ(ή ҫbCab1jk&Ũ1טK4b$bA B, XQ)"۲{?@D ﺞ̜y93( B]<L񗱎aXIޟENBut`9>:[Qw<!jDR C~[Y]Hf֌?a\b\w?rQSAF-+lE9ۮ }fgp?`llllEϠ8{l&7[%]o%Jv+Z0<`ccTOIRq^hDT%@#""""ze<J Cw[""""W"\9ЅF t:9Y^<`DD/84)$^xf̃y0"瀷Qъ/#y@!jڮϮ Wa/T~=by { >]p͘Ҳ<Tk`�ejx6[SA/X~CW8$0|�` c"IrŪ "W7y0ADThgC1hР<?& 5ڛy[րSm[n1|9zv1Kg!ZFwTZ\7+B*bѨ5qempkDl}rD]QY`̃yjq};}<&CJL$Gw<~CV"\ sqsZ/LY, f[W?UU[2 cb�h^|b k=}0d0<J8xZp" rs)[)rVma D Qoዑ|,$nɈD\8177Q8)D 2 ?Ye_f5A.܍km%eV F` $"j>=4};Z �*e mj*TB~Ʃ)YX~s0#HUeA30z.wl> vTYC8+1Љ@D;gZ0~٨Ϯ0cUq`̃ysk&Xo7Z3D^lllr[9+1UT*Dt%Di]F{ *y,Z.ȄAݤCvҹpY+rk,+ƨ!"K!?Jm2ʥ,I;KD- mbqi#VU[4db|$E.Ԧ3oܧt1NV(.Oa/OHf`o!bV;7ND.z\B,-"P>r #˟"ry,ON: D9juj+{;Or⌝HhwkBL=*%^#jkxǏf; 9IGqA/8GMJ0�11^t"̖ZIvd˼&b0o%cERvȻ/jiaUٟ.w\?`lll/m[~{wnX)\Ar ~I._ $99{ᴬZ,_UQqP<OJ*&%n(C~OI\+Yu%a}c<YL`XVmi#0w-_yY,gy˩UEUteEH#%yԋhǬ=, J(WxŁNz׈{6|]$ե\NQݙrUDn.l}� a9AOi8}1M1~x-v#6"e];kQd�bKRR#8 },'7Q,1̃y066Q<ۊ"yDt1.Q{?5i叭=cd)j2㐞=;*Zy,^XХ"N-PǪ񩀙 f ԜNloxϘ0Aʑ5n]IsgI> Evm,Uwŗ&h]:/xX{f'. [UϾDfQ7[Z#}8-2=?Ƙo>�yL|}"Rqv$?,Ѡz9 ;=X~Dש.*b0<xFAn>v'8Oq�nM |͗ "f'pyoQx�% m@�=tN J(}'Cw$ 5 *Z�nGw ̯ UA|1Zi`}|cY (ohbw IG|:`^<;XUU-NuܪxdFD QWq#z}gȸQ*I |{!Iy0ADeAiLasMӸ4۾؋_]},;>:<:b<$=,`4+6-;"*[j}xDzeGβSo]V8o}M׫W#V /#En6ƀ:aHL`6@Dwͅ-e-fKpXxA. Zכ~#qR77qAHy0 RSzOHVڡ㲝^:uO֜MܳJC<g2-P߭-Q]pk0( :vTo4�,<:Τ{ZhLHciw{)F}&w'}dH1g*jbȐ0Ϸ Y 1"ແ|Qض<Ex%$_yQմh.c > J2̃y0^W&*+ѕ[4t폁2xj>(dB*nk% w\3cb*8=t@j|S0r?x,gX aKZ(C~\|9.#)# /A�}$N+cCQ͆hף+l׹b�Nhӽ'Ӕ0*WNDŽ*:MXgZbʊ㈭-7!5n4}~ s?hjcwR{(-{ WVlźޫ�V=!nL:c >gֶo:4 O< 2V5[% oTR1ό9*eWHahZW%IDD4z2z* h;[.X8 kz ]HLgQ噭(e|2igmWM2erfwo+𗱎<1J8$1ڬmu9}w2?i>Z-Ǽ'6ʒX\$? _KWGeXIޟENBut`9>ijToqðV]Hf~4�cdmstlX*lٗ5ITW<2-KٲdOioɁg<`ccc{%2%""""W"""""PS4gh"""".ta2*.yDe<3< ) M '2`̃9whŁ r> Q|$2D i{D4y =m){j3,T1út6yEݭ9KgC5WJ;thOb\ ×<�歰9V /'ê "W7y0ADTIjMǗ7~<#]z _^0xR}0Q3aKpr(nVTph�$,h[K&b+%M*`̃T 4b&äñh6lX0.]q۹ݗ:{wc^XYp0!KH۷ 4&J9Ew",|jǡ~KvVLX�ͫOLt<Q)&нp2shݷP :8+B>p7% Dt:/B #5nj1B!>7b9ADr_{bRzZ� b'mj[\|P0Jh8u7%+VKѯcpt=jÔcf1Cegێ > >qRq �ppWbj��uIDATwQ6cM|v67aubg`̃^[=6y|MO@^I%ui4TDDŵXUm)ӼE2罦3oܧt1NV(s⌤""p[Q@DOeo^B,,v2yo\ k(NS/qa]bl8KqXLkȻfybvim$UĭS[ic,yR~hg@E/G[ `QI(QSL8g;Y$X2'eHq6Sq 11^t"̖ZIvd˼&b0o%cERvȻ/jiaUٟ.w<?`lll/m[~{wnX)\Ar ~I._ $99{ᴬZ,_U8PV!gE$?8,ڋg(yY,'ΰt"z95�?I<.271+.8%Lrm{ !s/ J(WGvگl9-c$Ixu)kTw\ e=l*1T⠧4v\RsQ(Gl`uEEˎ^"a}c#8 },'7Q,1̃y066QB@\OQ{4*vn1?ia#k}[IsgYi?c" +T*䃘A[m]b_U0~^|En+2MxYo왝 4lU=ҫuG/W'@{^"ԝE6͇y7K,Ϝ�O'CiwN:2L Ciް ߃GTpJg`̃ʊ*8$�33;00G9S #>y?ғ̷�$h�Y7AE N? ?2ӑ ( /_y `Z>XsB9[�B7d E{M68u8Vbvs|̸ۈ$,1N~DYأ}p7|0=Je!r/u)xf0<0xwkp1h_BRqazpPaπHήTVlƪ�m<�npYv0$>շp.^ ~ΔOx>^X5`V [<$�nc�Dd<q.m.[l1/�_X;N2*8@|p!Sz~c$N&#a:)xf0<^pDTjx<�8<3 Qݥ? R4[܇2V@бYSL:*W A ߮&?jh� -P'IKP6&6]h׼/ށ W3{q51dH}[ ,Zq(l[ {y9t||-FUR>X44*xf0<x=x+HEpvܿK#+fo`W,tð%SP-vGd}8#w88\B`o6D]a>̝Ц{Oا)aT: Ut+!o?n`.M[ gZbʊ㈭-7!5n4}~ s?hjcwRV<;؊um=dr\1N:oŁqqس&ĩ3|QrS'J)mpnm/Cs�rjҢg`̃ʈ4{ mɯQ)")~,mUybg+J'L$Y*D$[YJ8$1ڬ8mu9}w2?i~b^%FffH+1WeFY،Dr%aưTH\/{F.˰?mUgb%Rqs4,|*ӜՐG5"!_ڳ�kW95e1Ecd=\2"%`l\ٰTf+ve/5k>L9̃y0666NeZǶ S[^y0<2%""""x/$U?s3p""""W8ЅF t:9Y^<`DD/84)L^xf̃y0"9 """"*G'K_iGDDDDDe8 """""DDDDD XQTA 1*B4йiݚqc81.ܑdVŁN{,Fh z1qcǸG*:tyֶ|�΅4B3bPD)DDDDD/Uaȩ^^eo^mg`PrsXo31qc8K̓:S*38U4XT81qch|x[+YVĺ�9DDDDD X"""""*2ՅF t:9SQ- MJ&k"""* t!U"WEmřXH-7oPg ?0-Y&"agxl1t;tF]ždxi93Gd}DE=@LL4b$SRI =- .ǀDDDT(mcNx XOKUహ2!V^Ko<F ڡɗ8Y[(AwܒvbWc 1;tbgbsc~Y aZTj/¹vp_WgR[C:(Vo)7g."""*staТjNSѧAt18w}-L-~U? ~{O{8hF,[;P|plo| {+e)xVÐpr ;`~{Dc"?c8{O,s=o3K=NDDDevq hg1^SfHWz–3HVGB<K D z±Г ;U/M@L{tSme߾Ct Dv8ѳd#'~^bc@A6 >,wа0V0UiaT;PXùu @s'Cҋ>}2/' W8I?VK 388ׁdeB@zz4T)HNNBbb {jq Gz@y?}7ꊮ}Fbdg @,P&&@Wc'"p8B-%TQ,,fHlq߬Ths|�} Oi_mƶ)QT²mEDDDDѶKB {ܽs_9w~ >u0/x_KV<<Ԧ !IdhXUe +K#: xQ1:OOB%)x�f ]|_Wm68>"vmZDH}0=#+{t<}N8[f<LAT2`h]-V^w⁉@JTrVf|Z|зhh.+Vڵ#=\zDW=rgbmlpiےx(Bo"""gD5K* tŝ&=a�5Ҳ^6qhjozԴ+ѭޱ">+*ec|�&[~M.ׄ5ñl(4ð#2"F( 4òoGqG^W.5mȮ&"""z fOTm~t xD;*|=+fɺ(*P7{x .Ll8{YĹ;Hѳ׊Ĵ.<u`Tۑ^fOğB#�`O`o�Nm%j;VOھ'^Y-v /WQ١KԶ0Dw�е?6@5o ˺%q�`\C8J!5w~Bs{ {41: b`lbymt/F'`监 a6Č]0E1>R(+XI E{ngN4sl2Kpt&h{<&+ tj܏*kOhZ<ᒖVi�^f\EI"W7bJ +3jaa4.\JY&x|IMVI$y bb(wDDrzpy\|KYjoW7_eWG˧N2d}lm1Wo==HfV22%-M#jVEJ\\DGGʃxQ [EU:tS,ږ"""u uv#, .;ُ}@˄^D&&&HII^h^B: o+""""z))+yk0jmTDDDD/#=llfTX₂.8 """"" 09qq1ܻDDDDDeFDDDDD,(5)m%4����IENDB`����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/images/tiger.png��������������������������������������������������������������0000644�0001750�0001750�00000014563�13570064211�017054� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������PNG  ��� IHDR��������"3I���uPLTE���000H��`d``�$�0 $H0Xd`<Hp d|8HPX`pxḬ̃pxpl��IDATx흉z۸l&mMfWN,˲d#@8m,gw- V~g7{Y~g7{7Eb" ^yxUlp;|BnF2 W0M%~'= ^p=-~óuDS+(:B;TXiZdUjK-"\U֦l TCMU7T? >e qOrN/n_'l t#% K(- C"9r ZcU0L5~s §TτoBZӾSu7kgVJl ;%{rkǍDm�}ո >7 0e-C6fTFG_k4K Հ ~Kh.@=z%|ljJN Ur\$N]з] y7[k%P7:X4Aq_7<|w:]|Uߓ^F̣~?`j!C^x�d^1I7u5>_&z AI'{]sWhm.WGUL�psPS78cƷW^{1A ,[ߩpɫKΦЯ&~Ni*RḙMykIOo &K |e4qyF5ч7 J|Fz |':} ģ o@ yjy~~.w0|㩆OwF6oZG=w?j-> HNl7:#�y/v0?*_M$^a^ 0gAGg_P-|i v>OE} } ?ŗBq}?:6}ެ R,~ &P~/ 6ɴBz<qz>",_ߔ [p3G~@X4̕KEG_r$uvA)%㛰2�/&D~ì&];o2~A񽟡w/۩>bȝ3 |Buf#J�=0op/ZW-#.;ч>l=CvIB]?G[l Ġ�_PBYX?k "O^*F/}\/a|1x)ߐ0wObvPE _bV qz7b|d|vOQP)^[*dOoxE6ljFWAW_}pF.Lv/FǏ_ncz=G.r{h0i[iWD1H '_ UMow*A?a4^O}{�ij]yENpB߁[9Ǐ.e^4+ '$eƯ&&}wыð[Euƿ~o)s3 ~3%~tyx؀yt y6}IŘk<>n{_?Am>T6l6۝1 D;ŕj>SԗNf+%]Mr{\�1m>~.:e]?a߇Eypp<m/.|ϙyy1y2@>*U/=𓍲 ùtf:d�YRpUy)≰;;]cc> B|Cw&x47sn.o6{,~ _R@wig;g?47Qf�%hӰZ>4Od <<<zJ!L0GgE~ۀ3.S&]\"R'=$G\^f\{LA~?87w%(Q IzDd ~t+_G Gt*gyNw#tɇ^14W8r#= r;)HBѻH�8MН&~Q4F~8Ps6qOX\ځΧ|%�O_>l�Ia{S%amCxbOh^/>n :|>#]?vpDpN`2~~p a{`В=@_?N6X~GR}_�oLI_d̔<cpD~@Γ9�fK7g�} < 6ՙ14,#r|dn0|Oun>{tkEɇO SY%.�s/c +?LMsӴ"=[é8?7re 'oTO'+L՝�(Zq_pN?m4Kg;>'= Q;}�4퀦;&U 308{/&?K.8~�mΦ|@ ̤9|REĿޏfH|4![zM,hW~?nI~ W{!\gaPso=MGeA[nΎfdKRoի+4=c|ɝߵ pC)$Sp7G�qw51w +r&^6@/k:�|Q9M)DFxw>c"fc~r5Թί^{~;~$Gvݸ!OWc-Ŷ'XE~R#<i\=6_vKxo鮓0:U]/>A!oㅻ p&LStw떘?ۙ>U~9Z)FM36_C )8;pqiaS÷O9l9:?a tSYge M?zb >lϸܷ֧w.� ۱@.EFrۘw61V>')l?3,~z<u`R@p4Y[?&zp_HcZ02~1ib{c6@_vJU`ibƺL]T~ )P]= oZ'ǽ.;#= ;lڂ,Vj YQ?gYݙ޸/-6hR$^m|~g:s Xޤ_:|Oh~$V]_K2W虾?NJ)^яYЗ%iL8] 39n߫3 ^9Bَ3v\ m *^?ghҺ!}]_18Fj`96cm"+~'ǑOa Xr|gDp;A9�"tF3?U] B~58ų]p4~?Y .+'@y ]a85GsC>Ru CmEUk!N�<*o~.ENw 5:>n({n4`_هx 7𱾨%y_j `@F'*$aŹ*$|�sOc@-GEI|C+`3dI).iӃMD|&ކb7(g@FY_O߅4gl-z#:C]|['>8MF8~^d" Ǚ6&7k+ \ j cfS�Kn^S0U~t~j ,*+LrkEKT5oI+ @#kO t hmA^68k>>b‡?ヱ2 ̢U;)u-rf?C(O�2?B| /U>_I39_ᬈbo?O*EW=L a-�tuR9WW5:3_=p=�ߖƂ^1@8t^oogOO7s |K\)N<ʉ�~tՒ¼sO^{&O*@邷k4ދo"=ϒ@QuEB"~i;VQHNХP? wˌ*ݘ>6L|R|/vŸzw(>0@oo>GO8օo#].jM3d$#W:iQ(z;DelӘp8ȯOM?}}6ɷ])>~t'ǬO6_ c8&eƥ/HKQSY]~ɈO{x-2u N>x2W?toK/c eR_ _F~zgXQі}Xo32'hug~f&=z:9 7Sdͮ_9/u|>Cԗ|/_JGX_,sCm|@ķksqu|/MhSzVމ$EwW<g?OdV7b2Mkx7gysx S\|!UkQ}[#-^ظ #~v>s M]pp}̻oLh\{R|_n$ 5[!tA_k'$_ǑJP~)}R>=T®O(_m1#FMb~ycH_1I|fǙnG*G~7}Ã�|飜ԉc]?@v҈r/$}(67x)CJ0W �s=HҀ]<5Eݒ8Fo UR]V9聪W~?O:)}/ ''i I5_r=7D9MH*GPn!c=6E( xGmw30zOk.}?D)9+Æ#? ߼�3Vcdsc_ou\+uLK8`9J®/d_y: {:hwz$ \`i;2_ }Ź#doyKS՜O#Tٞp}|N $E$h;ù΅Z(烑⍥{Oe)ߵ_ _ѻ4%ex;|bTxR$]ho_T"M:G#t]J7E"s ,S-^l=AY ?? -0 툈G[')v"!K]_SZoo ~k}!nIߌUHI3I[/Sxv8aB|$ZGh:h:sIg;^FEZ]|yfCek.ղ_U~Wbѷt]g[5h(LN|L33|SPUc Y5sOV ;k+kɪ-??Y‡Qχ+fU4v�( cV6_s(�|4BVWW<[ُA0px+[66/ro K_Sv,&/̽y̝|To4Y=[?N2>K?o#h7'wLFGKd\gOpcx :vGWğ+G&~pw-<-7\y nF7r5<R?Aqq- huv_[ Eު]C>oƍՂmsMyc7{ICh'����IENDB`���������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/images/icons/�����������������������������������������������������������������0000755�0001750�0001750�00000000000�13570064211�016336� 5����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/images/icons/tip.png����������������������������������������������������������0000644�0001750�0001750�00000005236�13570064211�017646� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������PNG  ��� IHDR���0���0���W�� eIDAThkpTs۳&lDbHU,P-5j*"SG i(Sxa0_A23t:8mtq,åb$"ܳ=Hκn2yn>|~<įۀ7@9q[ A^s^ WW 8c6XeYYqF $IH(舢xU m54Mرc222iJ$ J[[dE$gA+'n&}}}ܹݻwSUwM7œyCx=*$8H$|1|$Wfݺu466*YR\mێeYAGG۶mՏ0TĒibTn`8(z|^E9)x_-[|GF�m;irqf~7~QFdt#/B~>9~sٺu+---TUu1#DYe5~߾},[떬{#yT/tQLt85h~֬YÞ={FiLĶIk/z? g{2#ό+%GtBYfzzmj*�|>,;<Q2qL,[5v3M C|td"c;^/Uճr8o~^xV0^Y&vI�˲MӸ;i\ƦfN3~klXNRdY{O. $H|W_P(HThсRLcS3g.\&LŲ#cN&y'xU̩ǣ׳׿ڹ�O"͙ۉb3CA�m6qCc1ݘ/ `i:=ƒxꥦ:;;!L:mg+�`Y;wu>.\ ^m; Cn]SvE"@Ӵl�0ؽ{7^KYV⥿U=p)^*k"HN1 <�7|^uf]{ q? Hٷ(On}NM&R<w?=c2 =[7ݝ(F7|iZp+dz K~7ML2aXe[\<ǁ8L]un9qFP}~9z(˗/mYHDnE-`6ǎ(ZOm,ZhkD"T2d'I"1Wpd2DγLlYܲ<hpgTA@dM-PG9"{<H?c&eM[(p3ƾ7 ɯ<gN| GO2O}т C44Mw.(mi$cXDSx#ٜ<sH%><C'xCo1eGJT-d|Q��UU7J`W^k7/ e2hGXEQ\ :(2G(ojXٱ Y Bb~EGX溷cۤI~=Y}'&/~ѵP[[͛u 2p">U`<eVM^cqVX<9'EˤȤ455!r~4�$IsT%դpnƣ(Y}̿o T I.Ee7$Qikkc8"\y˲t/7EKKKKkQa( W\)^Op)$�^S:\ 0!.]V ([ ߴp)nsGꂡR$:6$+Yre^PϨ`Q=/ UVrܥ<}fWTDtTl}S__O0UrHUUlpɑ!xUw}aY}sßx/3>pDZk׮%  =(xlݺ;D4Ǹh`opyx0$eL*ųā=;ٰapp8L Mieu%b{_mbCP+"eUrDc"]S`̙3DƖ́@UVa67o'T]Q˚U Nldd| ۶yƍD$dؘ7W4hAżݰ`h;1udl0,3iCa/^L$a֬Ya3WGZVs7"3>>jv7@QȊ(J88ؖi4Z:N!ayv֮]K8J***2l\MH&b1zzzصk]]]/`N|| QımAst|8K.eʕ ÄB+Nt:M2$HH$ѣ>}~(a( PZXh---|>~?``0#Fu4M#NNLnd4M+Yx<x}u'4#0p. 1̝տ3Ll+Ʋ,EQ^s:*0ׯ 7_ ieMS����IENDB`������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/images/icons/caution.png������������������������������������������������������0000644�0001750�0001750�00000005256�13570064211�020516� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������PNG  ��� IHDR���0���0���W�� uIDAThY{Pݻ" `4Uښ&Gmq|T0WHmPLN@ DjfqdET$D({_={w" Lfzfvv{eDors|�ݾ_Ţ~Z[[T|>U54ƍL?Г !|Mr\kƍ4ؿ?ɲĐ,R__O1бcRrhϿEbӦMCF#i8QR?GjۻogDزeːɵ$I د@GIXJʅRڼeO"u;&1艻w5! ^9FʅRRJH=_Lʹͤ-"R5yQ$mvG$7x/^ ιٷhDԾRuk ~'Oi~߶^II V^=;L\SS~ɼG"8:%Q@B*Ic@ 4YYPPAJdUUUֲf=];7@8XqnLKSؘ< > ({4�݌p8(//o`语UTTDʬYS1R/5Q^闤4%T>)'(tv.X'eBeeekW_͆`H4P0j b\4&̼<TVVۜnKVZebTT>렸 <ɶc2~Hc"<9F"77;w> SnneQW�q� >e3&-q^'躄Ln}6+WDUUmI$p Zn/gOY0aɐ> 0"em%T] ]p!Vm#?OT]]L-CHN�Kܥi�К(7FH>|~?&^ 466b޽뒿uV VI&D*ȴdsw=<1.q ^x֏~l%[sa`0́ -PM|i{E�V-čg3996xeUݎ&69xg+~8~sToXҤ !n rtt)wFĉ=fc\ش.9M7+R;^sD<Fa &q &czW>effWn@ @DzգwįM{cXC7/ab ȈL;gOpj &bY~@[[w ݒi !Ԩ:E8dd@vMF >w*?ƻu#FfV+ǎ?3^ցEػo,ًnm<=>b/[oy>!!BRR8Ej"fL4 7n0صa6Nc8w�HspJdjѩ 7Py=G˲#G`ʔ)p8ehLG.nvC?z}K>Ђ1&"gipJdJ\?}K{ DMM &MUUi84MUG3gN>msR8fgIR*9T:wg.ܟ܍6ލckes=6oތKvttB$HԻ&nG@4 ׯ_GVV>O _ F n0Tj7??zpݐe. $Aec$eBV� >>ԩSJX=ypF8Hnz{~ҥXp! BP YY>3 irӧOr^5J{8e+8 ʛa̙3d@�@QSQG*#`%!9p:(//ٳmcו5oZ'nm8ydXDdP_5wgIPTT >]و^+mzD*wbK7ohBw ,#''CPXBu*cdp8 I)yι$IBaa!^/5J}^~/ڿ�Vnd\Ȳjx,<Va!L,GcAA�HT}lǵ/Ú5kzuN'dY,pzp\*I3V&F#.gTVVY=&''c|x<&x5BFDI?Rr8F||<m'w%&&bڵ5j p@Ep:p\f,%n{6Jz�tY- :s z-KKKÌ3ۍ83a "YIdfaAJZpW$DSUL8"˗/CQhUU&Zmr�кk,t:Yb"SZ -waf�)Ȼ,L ~�`FgkVPp^Je@{ٚ1ffq:M_<[}O#D1Ag;"26d[yB����IENDB`��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/images/icons/warning.png������������������������������������������������������0000644�0001750�0001750�00000006216�13570064211�020516� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������PNG  ��� IHDR���0���0���W�� UIDAThՙypU?۲AH!DY[Ǒn A0#a0caSeBX"B5:"28IJqPmцaz-3K{ŷ&/L3TR߽{}bdDBĶ�EQ�PUEQP ʈ H)eww7۶mò,,ˊt*�l6UUU̞=<v )e*]]]r˖-ҥK2*B!ղvSO=%Ϝ9#= R!34b𕕕/޲,ilmm֭gΜmmm#"17nȪA 5MP(N! H >VW\9bp+=== ;v,u]'ىa߸\.RUAGc<?<Wfܹ71d`I@J)={رcq hooگ~yFH%LM&7ndڵ̙3gXjXO {ڼ 4˟?~G_ݍa4NQuuuI?��#J@̨NٷvZ֯_]wݕv'H)9r$/ DÇ"w!Ԣ�;v0SXm۶1cƌ$H)˗W_( 7'Ob@3_ < ,J!VSì]ڢ؞|I*++SDl~ܺukR.ʕ+]!I_?l-W]sNN7 S)0 zVTT?<)ŪQ766ra:g\:qcϞ5_`d)$S օӜ� Hھ}'?IC/2/_ lݻ~ÇtV?@K\] Ysބ[)rEh}:mB?Oި`_ m֨haCqXFEEE۷o|\.WdVZ \;yu5 Wv ?f4BPnGUXzo'?��7`%{.B4^yhnn&DL<9봴piIj PI8E~4AJUQPDd gqBopSb ՆIU v24ihh魭MrTjSRXHF +9,i �iawrpf3s]lz|# tA.ݛ@ vwNkXf!L4A 22zg,W66%2N (a|i}p8I fXg�mW@QfCu" He ,!,kЏ^oz`7bndB2AX-@2qTlOs#¦ iFHK ) PI]G%*{s)4H0 l<&$oD|>7Vlv;KXÑD bhUiĉ;`�@` (v* w+cl(  B moK#`)BGI^Ea~,zqr:/9aṕ:PUͅbbm|}\ϴ4O"0x]Kh? )_bW9e_#+;ghB;Qm 6U1ń; z0Ao'y)  oZ)8 Ψq,\;MͣkLWnRXD8QUI186@}}@(TNcAMבHvL-0cʥymq._p(8pH'򀥠(TEEP];k%mJ4Ӂ7q`CH@&ά<!yQcyn{{BJ10@ftS'$L�}F(eHpe3h:rM%SvweHZ-kCs(I"t:QU5DӀw^9~ `a0A8&~n''w4y Hmd"44B}}v!4t:"RJ (Z8%�j7W| #M)-&"WĨc}L`:z( @ֿ*sQ?+((7ߤpѢ$k } ` tTvtea G�ZGwG;ޞv@gaޡC$qb/ yE+,,ǎQpaē?.O<bK8RFXf@|={nH4>CľD1ƾSnɓڴ_:�X TdXnj(,BuP-ࣳMo7|Fru<H)u=θ >IفǏS^^D@JIQQ3RkpG,1Nx;}tAǍO}^G?Fi-i766h",X@AA.+.eSS;wɓ)snKK ~/L@;R B cb"8L3(;})e~Xd ӦMc֬YF!粒^u I_ύJYzK)c躞GiӦ1sLJJJe.Duu5NJZLJIkk+6n&I*g,YO>@ӴF֯_fSYUU%//x<qﭷ(7o+fzMi744PYY<$$^z%l… b}֖N?0O|iZ6l`ٲeiCDwJ}}}|V^7g& '#V$DΝcǎ >-D;wx`?TH4Uٺu++VI2aAe<?{˗3eʔaK D]]?87~ӧOsfDI8pe˖tҿxEQ/ؿ?eee[~DIl߾BvrBfJKKG~D;---\v7D72e 'O<�DHA4-QU,AUՌ_倘@Qj����IENDB`����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/images/icons/important.png����������������������������������������������������0000644�0001750�0001750�00000005644�13570064211�021072� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������PNG  ��� IHDR���0���0���W�� kIDAThՙkl3;;^?׵qҘGcvID)B4ԖJ*Ej@ 54LJDBDQKԸil ]ةv^wwvw;]k{MԪW:ys9+s�lVGF:3-+(" Wk/M#G{ ?$a3]ef\-2R@6,^Q6n~?$aپ%0 4GYw@|X{-8vQ0]׍ /åӧs$ �23 D]O?7ۍn_5 "1~tSCC9  t~}>Quog﫯p8X4| o {RZZG%^mt"IҢI,@>I` Xc7Oee%N3o?QN>CO ]HmJ/S\\\ >^ZJ7)++C;s:;  R('ܲEb14/0 UUy{7s'VGk6oWڅ'8ӟ(E_߻"Nȫ23TW[`պu\.3$+mc޽JJ�pf׿fψFRY}Q 0t]_NW@þ}Z%7eS{;M{ e,ۙ *<,@UU~֖s?4|lٳ>Ͼ}8x`DQdȲfD[ĥ^:}p8(h,O83i@q]Z[)// gattI{lps-䫬d/ ;>t==DQ$aIb. ̺u[ �N3/^줷x<Çgϖʦ&ֶ.- ?xUU2@.sc}7]7A~&''sx<0G 0GɓD"ĜC@u෿%�W ֟yA!ȼl -AI:h|)&''&-`j漠�M{vuA"f F5klhSV@ڕBNfY!S,Y,,3~BUQ^yNeYXthO/A8BDSsrM�w[6}כ 7ܰhf�\@uu1==M2̱IT*h~93Q[[kYP oy9�>|啜`Y~w7փ8rV|>,/ܔFn7V_wuWA׭c͖g%i@4րj7lhGf`0ƍ " w㫨 =j%6=S没Q@ XHʕ|Y~Dޱc. Yy /n &\䄬\ə+m&BZ)455sNۗD@e \sD"qk*@ww@Tl/’,K^};D{e;F~@2L 1@joLK7څ(V <4-B٫N46~!ǣ>wA[[===ϖoG#Y$MӬm@}=EEE) i?<055(ǏUk@rctEQ%U*ںg$g}� -zD RPh㏗<y-[pVBlii[R@٬k5i<$`QUuIs'obS.}amhv%W֮^p==t9biihhĉR):;;ill\pSNB9xHҕ]WQE֯r(^wyǯZH,TϜ{r?˗tm_f-H:==@/Țݻ顇(Yg0GGp楗<0@xhD$dMȲl DQ# s PCش5ʖVlxUO\ųg9.v;w[ok6]& #0<<Lٳ|MLP]UUAMs3>y-c?Au 0tftm\|Tx#˗/ƚ(B!Ctv.J6Yrawг X 5y(AzŠPQA7Sz5,_�AuCUUbP?"ՅWZVR5޼5PTTDyy9TWWZa뺑JLLL0>>a&zz>w d%6=K preDg}=ΆN'Oii)@ p#Qٮ*0==%pihzۤT(zӡIMEF0󺭶6+8VB$ի$ Yq8n^/~"JJJ(..vev90$ňFD""hX,F<#Jn.s>rff!I$aۭrp\x<^/>׋rp8̓L؛uajF*"LH$Px<((B"H$ITUdz nw88NN'.˺e:& IDu4Mh3g(w6S{;7,&LZZe-3Lw2bc3ew _S2 Jg' ]����IENDB`��������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/images/icons/example.png������������������������������������������������������0000644�0001750�0001750�00000005047�13570064211�020505� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������PNG  ��� IHDR���0���0���W�� IDAThiUggܹЊ bFZmZ%!*$퇦Kh5_P2~1jM?TR"TfL000띹˙psg#I޹'ygy=cc(}\|LR.H)ҥK9rL 0 3g7of֬YVy5 J%\e 10pY fͪ9&J}( 0@jj@\4'|64J)H*%D)BB)RR(]RiBW^yej=ʮ1ѵB또1Q$T=Ѡ#ڑ>kH�[WJàF�5Y$u$х(;={._GTB)ESS˗/Xn& pqJ3qʟ񙫯-[xmv"l:"\jzzzG\.siL677sNǵ^wƍZS,YnZ@{{;֮4ýɓ'9u,\W_B4* Ď<5I|)dz1fϞMss33f`ѢE!PJSO[޽{Yf B ~ٺu+L6 DlhP2IPTHt et?e]ܹsYz5Ʋ8tQ7}h3gΤs<GRJP $ UZtbH>O(Bذaǎp!�B؈R %'N� 8vZkPop`hp!D"0 SQB\AC˸hlhD\qx�H˃<1kGZM-ŋٽ{J)nz{X*A1FCa4n+!eӼŋ[oVV}e�رcB03ϰk.֜;w~J1\.GC}Y?R l0]w2gΧ'OcJ FB)AkmGWp)VxqRS([9sUV+Bk?\u"D5M+$3?qYlaW{/.M60?xB� 9z(ì]5t~TC8<۲zhF```�!eFq2Fꬎp55---?~ӧO5kD8H!V$BIE2,Ωg̙#+f Fu1#~#Rk7"0u]Nzs.!bFP(&T�q $6 0V މee֠N{*mz8P*FT˲-sS#;`[]]X BŊhLa Ho1QI%A8:,)(Jd RJBQ V`x%KE*pHicq$v\'-F׻x('JGJB ΋N=Ro ƒ=rV, ˲F$P,QJr4۶oËO/ ?ZbT{<*tIo&iII PT�f$P.!ϧ >0owR Ēᕨcֵ0NZژ7o0 Xw,YP_~q&)7o&8�hoo̽Id[)J)!e2H)9{,Xsl[s˂Wp>x̿1X8OCCy|O=0E)%j (Ajzu7}qšx|=qaHZM[t(|H_T"_V Ը;1{'q=z?i"0a S,)JA@hyݭ;L& 5RXĆQE϶td2hjj3fLĉcf֚mGNO|"<;OOGJs]<q<K׶A3!rضM.C)Ŗ_\,q90L].Ll6s?MkZfrx} yBL۶}?=ENP|[puG-~J .5W�-|y,`vΔ$Hϛ7V(8NJ"ˑRVZCǿ[ˋnƶ@bЄmۖm)o <-}ijjQ$7}Njm=D]]dRօ\ھNfh͝l_88ptttNg2RJ6Sѫ2o ~tM^@h2P8nЛ_]/quMŒ؜&cB}S&,6JE�w:EI>'(8����IENDB`�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/images/icons/up.png�����������������������������������������������������������0000644�0001750�0001750�00000002450�13570064211�017471� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������PNG  ��� IHDR���������Ĵl;���bKGD������ pHYs�� �� ,���tIME ' ��IDATxڅKlE3ױ Q9@U$AU"!@܊7qA+aW"(U)}$vxڵww۴47ܠ*0c'0�nT~]ot M@w;0+t<]2x/gocnѼIshJ8SொfZ5?t(zAOn�'m{$ KM Ҍ[_9xt^8ҵw7/í)p AH)(9329f4olŌ6B𲹭m*s\.U#^hAR8Jҋ ۟-^xl'ܳ>:Yc 7+r_LFžQ7sTdEXݑOo+)^ #vnQ;!owG|R{6d5Y?;ΉVi!xzSV @72G<Lڑy5wݚᗓM08VE8b AYH4ڗG -ˏ2}p/ \ HM}cC@hN4Vu@&A581c�رyX΂&\d*몈z[h-ȹ6�F35&M;}巯ȭ޳*}I!xV.׀Vbd1X| 6�,348=|}@`L~xӫ�$ 6F/�-5 @ZALR nTY5,sUOY å8iҸ*U i;DoYۄ ܼLoꭟJ2CC9gHmu[uU~Õv&Y<0h-$@|<fʠa ـQ7`όAOce]͠ӡY{wo~@\6^FܫuK)AJR`KùJV9r6|_ SzI+){cO\pQb|-Npl`ɏ8:Pm-y*\.mSnmL˭d;i;ٌ-%R1 +moW#}kV]vI {QJ1Xf:T:Y<pɧ@*�J2Yhb) &J^(sR hyk?Bd4����IENDB`������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/images/icons/home.png���������������������������������������������������������0000644�0001750�0001750�00000002474�13570064211�020003� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������PNG  ��� IHDR���������Ĵl;���bKGD������ pHYs�� �� ,���tIME E`��IDATxڅk\E3s\&1"mܨX ꃂ>}'_EQ[c[-զiK&{sΌ۫ 72Co*01& 0!F/)ݬo~0J@w61"0+t|l>gA^fre@ O%\\2_լF8^wO~}?ɱNCy﵃[Glj.^g%D,\\clPٛT*.HϿ xa\g' < J[]6{FC[fXДwR[:;zxaJ(I76z1=y Ye ;|wI>mca["V+Ik6N^V{fnc !pl`AQk9JJ4KVzv2#dj}f1¶n/%)fl/hHX]斵Ȋ 0dэi22’R;<:,hiZd>4]F0:b=wέ).+A k)I Le*h&Fw?`.#eB<9QXnBFIγ8/M=Hv.U ^-m0!x˥: %&uzƟH>7M-oFKƦKw+l7/m6*u$nVY:kZY*MG];!\;Dmuy+t|"4*Yg05%fG 5@6ccI 5Tl^%z&' p,\c0Ti&D_0gWmpuCVEdmAϊE`=ⳏPT̎N#Z'#-95(iH)Cp{]qakkEqк.Z͔f=܌GsiE_QRej#\`|xIV~V}On+94^ӍJ4fv,2-%R1 Bk^o~џ{~tϳ@ /e%R <hI['jӾ&'w/�?=vzzZ�N5-6EZ w}}'o˴%v\����IENDB`����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/images/icons/prev.png���������������������������������������������������������0000644�0001750�0001750�00000002504�13570064211�020021� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������PNG  ��� IHDR���������Ĵl;���bKGD������ pHYs�� �� ,���tIME 4ٸ��IDATxڍۋ\U{Oթ[Wv3t0J 3 C-,B<"/ DP$q=L NtWwUr.{IO4`}ǷYk)~JG $")@]6]wa'A(L�;#M`^Ò{R? .y9NMx|szͲjFSFoT*;A:OdٷCx$opTN吓!__'M{ÓwΏ|z>sqt}JhDeNõLVj*˾o깲3 >6yw[1榓|tζ-Q$[ ٔQa fsp{rەK* |O=R$<M PB0Hؚpf51?ŷkg "/f\iGl-pceȓ{sL%7gPkz 16kW.0 t>i݈\DU8{KԈ9=H!-=mU,@Y =WuA9)t"2!͞el?hvő= K}(@'|eɺwa%*~ieԝ 5�;|rv_~1x_\�+PI4r ll|.!lo8p}X\ 1 $i[ƶk<59R]xΆs߃7#cmQd6FILҍԭr^nvnUߏK 򗱴g,2\Zxl[XeK2`,B^Hڄծ8Yw�-?$*']r!i?I&i/$mh&U!7o?٧>~9�jU~Uz(;;*P$0 bk#v|MF' #$\Arym֙‰\BϔL.3ݏf)֬]PoGxsƁV-Wg&sNj`Rěj*ʩF]fεNjtt#]\ Db=Nl2_8qZT*/ȑ#G4>_GkUCۚr2^t44zA+3*qj%Hr^ns@T*{/{hRh����IENDB`��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/images/icons/callouts/��������������������������������������������������������0000755�0001750�0001750�00000000000�13570064211�020164� 5����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/images/icons/callouts/2.png���������������������������������������������������0000644�0001750�0001750�00000000541�13570064211�021033� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������PNG  ��� IHDR��� ��� ����s;���bKGD��#2���{IDATx0 D?44,5, ]+fK UG{ukS@cBSChS{2y4Cms^% D+OJ)}:T5`/���CtEXtSoftware�@(#)ImageMagick 4.2.8 99/08/01 cristy@mystic.es.dupont.com!���*tEXtSignature�80eae529c94a7f47deccfada28acb9dfo ���tEXtPage�12x12+0+0m}����IENDB`���������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/images/icons/callouts/11.png��������������������������������������������������0000644�0001750�0001750�00000001065�13570064211�021115� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������PNG  ��� IHDR��� ��� ���˰��� pHYs��t��tfx���tIME-'<j���tEXtAuthor�H��� tEXtDescription� !#��� tEXtCopyright�:���tEXtCreation time�5 ��� tEXtSoftware�]p:��� tEXtDisclaimer����tEXtWarning����tEXtSource����tEXtComment�̖���tEXtTitle�'���IDATxup_ ?}I6 XEabad@l۴l ܠ3̜ÈuNMph$ITU݆aTUE@Dn7]m|E=oQe~EzY}m["�izߧi(q<3I{<EQ0,.x$I\v[�x}v]'o˲툨irVa8 öeGy~^(:ca`?,����IENDB`���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/images/icons/callouts/3.png���������������������������������������������������0000644�0001750�0001750�00000000536�13570064211�021040� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������PNG  ��� IHDR��� ��� ����s;���bKGD��#2���xIDATx%N@ 4^0+ F``a+&U qXҠq K �]pq˟3&=ۿ-#S:bmR&j�Q5cL���CtEXtSoftware�@(#)ImageMagick 4.2.8 99/08/01 cristy@mystic.es.dupont.com!���*tEXtSignature�80bbda2726ddace8ab8a01f59de2ebdbu���tEXtPage�12x12+0+0m}����IENDB`������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/images/icons/callouts/10.png��������������������������������������������������0000644�0001750�0001750�00000000551�13570064211�021113� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������PNG  ��� IHDR��� ��� ����s;���bKGD��#2���IDATx%!C#H,N^ [¶p\%${;/yI@l\\ySM}i㎋suȌaX̠ eڭvGj!=dR;?ݢCb k���CtEXtSoftware�@(#)ImageMagick 4.2.8 99/08/01 cristy@mystic.es.dupont.com!���*tEXtSignature�386e83bb9bdfba3227f58bb897e2c8a5+ ���tEXtPage�12x12+0+0m}����IENDB`�������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/images/icons/callouts/12.png��������������������������������������������������0000644�0001750�0001750�00000001151�13570064211�021112� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������PNG  ��� IHDR��� ��� ���˰��� pHYs��t��tfx���tIME.UF/���tEXtAuthor�H��� tEXtDescription� !#��� tEXtCopyright�:���tEXtCreation time�5 ��� tEXtSoftware�]p:��� tEXtDisclaimer����tEXtWarning����tEXtSource����tEXtComment�̖���tEXtTitle�'���IDATx!`a`R,/+V5 3,+KV--eŏmpSyyB�eYQnw<{j$IFQFѤ npX,v=|gk˲N28@$!�n �@9iX.$5)esLu}ky@ ^7"qI4�($WU~a.K窪dY'^E���(IDAT~_ŷRf3LLӴm; C!P@kuO4����IENDB`�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/images/icons/callouts/6.png���������������������������������������������������0000644�0001750�0001750�00000000543�13570064211�021041� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������PNG  ��� IHDR��� ��� ����s;���bKGD��#2���}IDATx!0    FaPXXj' nn󩺵 oPHl\BuNح!i`d'נ,˖eԸgNLL< V?s8 Y���CtEXtSoftware�@(#)ImageMagick 4.2.8 99/08/01 cristy@mystic.es.dupont.com!���*tEXtSignature�d25d7176d67a038afc1c56558e3dfb1a���tEXtPage�12x12+0+0m}����IENDB`�������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/images/icons/callouts/15.png��������������������������������������������������0000644�0001750�0001750�00000001200�13570064211�021110� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������PNG  ��� IHDR��� ��� ���˰��� pHYs��t��tfx���tIME0 J���tEXtAuthor�H��� tEXtDescription� !#��� tEXtCopyright�:���tEXtCreation time�5 ��� tEXtSoftware�]p:��� tEXtDisclaimer����tEXtWarning����tEXtSource����tEXtComment�̖���tEXtTitle�'���IDATxu1˂`E`59-AZ[֜šhr /h1A-"6B||g��":16BTDDD5dN\8纮.v,K墪eYO`8FQ\.kZNjb2H.1"l6{�a0FQ\~^�{<u6A�|>OVefT �eX,vrq?j x8mȔL���?IDATZ9皦lN|9Nn+bbW*z)r]z=-� !H����IENDB`������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/images/icons/callouts/5.png���������������������������������������������������0000644�0001750�0001750�00000000534�13570064211�021040� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������PNG  ��� IHDR��� ��� ����s;���bKGD��#2���vIDATx0  ~+_BhIlgvMZmmwb$|Sq$^%)%YP3]2Qj%|#[7/B_���CtEXtSoftware�@(#)ImageMagick 4.2.8 99/08/01 cristy@mystic.es.dupont.com!���*tEXtSignature�fe690463379eb25e562fcc8cc9b3c7e0߲9���tEXtPage�12x12+0+0m}����IENDB`��������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/images/icons/callouts/14.png��������������������������������������������������0000644�0001750�0001750�00000000633�13570064211�021120� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������PNG  ��� IHDR��� ��� ���˰���bKGD������ pHYs��s��s"���tIME x8��(IDATx}=@O2\ق۰X"Y;@)lT!H!}=CD��Z;9V DDDqf3qӉ~qXkTQp8|.)mUU�z~9EQh 0�hQE|jǣ,b)ntnw�x<.|<o20Ƃ x4{Tl6ժeYFD "c`00=].?hEQ6$z<skv>q~����IENDB`�����������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/images/icons/callouts/4.png���������������������������������������������������0000644�0001750�0001750�00000000531�13570064211�021034� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������PNG  ��� IHDR��� ��� ����s;���bKGD��#2���sIDATx!0C#XdeeP"\o+{%leʰ!b$ci�1 q dCwCmJV$6huTj~<_²|㣴 KF6[���CtEXtSoftware�@(#)ImageMagick 4.2.8 99/08/01 cristy@mystic.es.dupont.com!���*tEXtSignature�9f82fcac9e039cbdb72380a4591324f5v���tEXtPage�12x12+0+0m}����IENDB`�����������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/images/icons/callouts/7.png���������������������������������������������������0000644�0001750�0001750�00000000530�13570064211�021036� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������PNG  ��� IHDR��� ��� ����s;���bKGD��#2���rIDATx%0 OV"Y!LO Hd+H퇓e _pDlC0T+ʫ+ VAjݓ{O9lsLGIz>61GVS���CtEXtSoftware�@(#)ImageMagick 4.2.8 99/08/01 cristy@mystic.es.dupont.com!���*tEXtSignature�298368142ac43cebd2586d8d1137c8df&9���tEXtPage�12x12+0+0m}����IENDB`������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/images/icons/callouts/9.png���������������������������������������������������0000644�0001750�0001750�00000000545�13570064211�021046� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������PNG  ��� IHDR��� ��� ����s;���bKGD��#2���IDATx!0 GFVbJ,WX ^YkTb++#{?/Yٗy/j!Rj+~ E#y@!s.gEOr /P8b���CtEXtSoftware�@(#)ImageMagick 4.2.8 99/08/01 cristy@mystic.es.dupont.com!���*tEXtSignature�34623e5e4d48310e409b280afe24760214$���tEXtPage�12x12+0+0m}����IENDB`�����������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/images/icons/callouts/8.png���������������������������������������������������0000644�0001750�0001750�00000000545�13570064211�021045� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������PNG  ��� IHDR��� ��� ����s;���bKGD��#2���IDATx0  v¬a` 544T ?ݻ/TܗW[Б!Dغ[`T3(fpgc31ؿ.0>_ +U9�9Fb���CtEXtSoftware�@(#)ImageMagick 4.2.8 99/08/01 cristy@mystic.es.dupont.com!���*tEXtSignature�57be19505c03f92f3847f535e9b114e94kC���tEXtPage�12x12+0+0m}����IENDB`�����������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/images/icons/callouts/1.png���������������������������������������������������0000644�0001750�0001750�00000000511�13570064211�021027� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������PNG  ��� IHDR��� ��� ����s;���bKGD��#2���cIDATxU 0.)Bft6#dH('XW 9cAM-!d>0(*?/c}֮5uƌ:x,T���CtEXtSoftware�@(#)ImageMagick 4.2.8 99/08/01 cristy@mystic.es.dupont.com!���*tEXtSignature�58a072e070da22f6135cbd3e414546f9hj!���tEXtPage�12x12+0+0m}����IENDB`���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/images/icons/callouts/13.png��������������������������������������������������0000644�0001750�0001750�00000001157�13570064211�021121� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������PNG  ��� IHDR��� ��� ���˰��� pHYs��t��tfx���tIME.1 ���tEXtAuthor�H��� tEXtDescription� !#��� tEXtCopyright�:���tEXtCreation time�5 ��� tEXtSoftware�]p:��� tEXtDisclaimer����tEXtWarning����tEXtSource����tEXtComment�̖���tEXtTitle�'���IDATx!p_9�H┢3lF#Ht&Et]{�eYiUUf3۶A@ 5M^j4 ("Y8Ʉ1Na9QQba&\U^yt$Iv[% n~{��y;Ŷ$I˥�'0:j%q1c( Qu]n�h4v7ͻh���.IDAT|>kM8okǖejYVǗ˅F� C3����IENDB`�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/images/icons/note.png���������������������������������������������������������0000644�0001750�0001750�00000004676�13570064211�020026� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������PNG  ��� IHDR���0���0���W�� IDAThYlW{'^4i I IMKB[, PX$P RA< E<"AE J )%bgqIܱ=fqc(h͌=sgw_} \y-�FFFlxxzzzdžmdd?ZV͛7}y&8Ʊ)>^aՇ>Ɩ-[dm}QyIa[D: {&`_Z2z=H (U1hp8W|ࡇ*6E%E`ǎte"Y !KZƎ;1` YPe1T*'u ":8xMDsg}$ i^S8u7_�88:y%Y( ׽ %~hQ'%,EUiIQD RB�=xWlkmp,'rooI?Ў1 8' �0WhhH(�`iJ:SEx~-7峻+Lo#25h\NH3 4;@R4!�\Ц�!qOG‡]O3ͦr=dzL=_##G)<n M JD4%sBi^(J:OHO}R5Ɛ2607霙>'D74 R �@xOp޸5Cl>A=ܶaZdf8!Mp +NFZW4\+*sUySHG4.Ҍ^|NNM;LGGFU:g u"sKl0. shBBQ*EŸsj^fzX$ f\Q;+4Eɿ`�s3S\Xd1zDD)d(TIpN�\h 7#�B I2ipDEQHǩf":OJPgI0ЅPVQUT'X9 FI@&@[; ) H7!- -(#ΑG!$')1QU:b4P-F{WL<uc�{؉)ްn-KQ �̫*Ep4wOMrguo}7'?x;ydS!D_ctwvD0ht/QFԣ>*?}<?먜LO~}UL S3)IZq! <z[oկY@_&PS8W̌%]<wzoݸcÓ7^w#n.ctwux[n8v>W,]Mww{yQwcN5-yQcVrݺyz?.p� L~Po7=;+yj?y;n-6Y�NMUY|�kV/ Ћg^�* W\чH<QWgQO|ꊉq7 ܴ,KQ.a1DNy>bs5W3* t�&&&xբF 8h4fEq$izSV/dYoX(!ᛊE*Ry~y2[�ߘsjRqM #h�Dv8M-"AJhTǙ5^<ΐ$j\ ӔK.> W !F8(fJ<*y.=8).M:F)Z�Jda�lݺնm5v; כшH1iCdk 4+YliAC4EAC(411sR\(&3|5*($R|֜TQ-ITcY貎;;w Sp,DÈ4=+R$�dDDKEQ �f9j4ff{/_]Ԧ`9xp^㯻0y8=HG{]]m\5kV!E�X?k9̌d1*ʂ�(NU>9r;VN[bV\>9y7ԉÔm q!]{}}>O8ɣ1V4'631288H^GDذaގ7vJ<ϙEUVl߾6<|[8gլZkKe Q*Λ^VיfffZFf5k6s̘9̨Cs$IHRFUkq6C~w!"[CS$< / [^r˿�dv����IENDB`������������������������������������������������������������������asciidoc-py3-9.0.0rc1/images/icons/next.png���������������������������������������������������������0000644�0001750�0001750�00000002426�13570064211�020026� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������PNG  ��� IHDR���������Ĵl;���bKGD������ pHYs�� �� ?@"���tIME )(��IDATxڕُU{kު{vbpƱ'1.T_ .o<HLx60 A%`>@#Yh2сapY{ꮪ{}IK:ʯ'2X@uu 4]T1z=k}끷@ H#8�VEׁ}1 p5ۉx֤\amkri:ռbrbBM\W1K?ߜ�ЇANnY>FC6scpy]z3/]bHz Xx^D2+})%c!#�O1se/poL;~ubٴ1b)( b6tG�82ҕ�4}FfZS-�Ɯ3ѰȦPAƉJ72X#f+@S4 In2:wN+1||t;=qє|Mm>P" Xbr|QrN/pڀd2%#$TK2U ,l̤h)-}qVį5RtcHH캢H%ЁVG̀"welpmY{R4a�fсaM l,يbcCϪO4;|f@!*΢+EI<H[!!M]TDRHy Lje(~:JCa3`s疄[楪KK�ieSj@gH]xГ_bb!>LF}zV/ZaɱL&w͇/EPg) RJ4JF6eKF{Ao$V@X!wG _|>oNQ?  UT\U i[qcex1[0~hY3-jk$95�,3ԔN.b5tb͎mIc5.lS`0Y\`|x-83-I 4TvMOγ׈MR5#f QSJ�Cf* ]sl`Kח<߽Am& olduNJD(@ =7 sǁ0d@~ɢH1(lAMxv3eLN%{_9Ex����IENDB`������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/images/icons/README�����������������������������������������������������������0000644�0001750�0001750�00000000342�13570064211�017215� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Replaced the plain DocBook XSL admonition icons with Jimmac's DocBook icons (http://jimmac.musichall.cz/ikony.php3). I dropped transparency from the Jimmac icons to get round MS IE and FOP PNG incompatibilies. Stuart Rackham ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/html4.conf��������������������������������������������������������������������0000644�0001750�0001750�00000036206�13570064211�015664� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# # html4.conf # # Asciidoc HTML 4.01 configuration file. # [miscellaneous] outfilesuffix=.html [attributes] basebackend=html basebackend-html= basebackend-html4= hr=<hr> [replacements2] # Line break. (?m)^(.*)\s\+$=\1<br> [replacements] ifdef::asciidoc7compatible[] # Superscripts. \^(.+?)\^=<sup>\1</sup> # Subscripts. ~(.+?)~=<sub>\1</sub> endif::asciidoc7compatible[] [ruler-blockmacro] <hr> [pagebreak-blockmacro] <div style="page-break-after:always"></div> [pi-blockmacro] <?{target}{0? {0}}?> [pi-inlinemacro] template::[pi-blockmacro] [image-inlinemacro] <a href="{link}"{role? class="{role}"}> # src attribute must be first attribute for blogpost compatibility. {data-uri%}<img src="{imagesdir=}{imagesdir?/}{target}" style="border-width: 0; vertical-align: text-bottom;" alt="{alt={target}}"{width? width="{width}"}{height? height="{height}"}{title? title="{title}"}> {data-uri#}<img style="border-width: 0; vertical-align: text-bottom;" alt="{alt={target}}"{width? width="{width}"}{height? height="{height}"}{title? title="{title}"} {data-uri#}{sys:"{python}" -u -c "import mimetypes,base64,sys; print('src=\x22data:' + mimetypes.guess_type(r'{target}')[0] + ';base64,'); base64.encode(sys.stdin.buffer,sys.stdout.buffer)" < "{eval:os.path.join(r"{indir={outdir}}",r"{imagesdir=}",r"{target}")}"}"> {link#}</a> [image-blockmacro] <div{align? align="{align}"}{role? class="{role}"}{float? style="float:{float};"}> <a name="{id}"></a> <a href="{link}"> {data-uri%}<img src="{imagesdir=}{imagesdir?/}{target}" style="border-width: 0;" alt="{alt={target}}"{width? width="{width}"}{height? height="{height}"}> {data-uri#}<img alt="{alt={target}}"{width? width="{width}"}{height? height="{height}"} {data-uri#}{sys:"{python}" -u -c "import mimetypes,base64,sys; print('src=\x22data:' + mimetypes.guess_type(r'{target}')[0] + ';base64,'); base64.encode(sys.stdin.buffer,sys.stdout.buffer)" < "{eval:os.path.join(r"{indir={outdir}}",r"{imagesdir=}",r"{target}")}"}"> {link#}</a> <p><b>{caption={figure-caption} {counter:figure-number}. }</b>{title}</p> </div> [unfloat-blockmacro] <br clear="all"> [indexterm-inlinemacro] # Index term. {empty} [indexterm2-inlinemacro] # Index term. # Single entry index term that is visible in the primary text flow. {1} [footnote-inlinemacro] # footnote:[<text>]. <br><i>[{0}]</i><br> [footnoteref-inlinemacro] # footnoteref:[<id>], create reference to footnote. {2%}<br><i><a href="#_footnote_{1}">[{1}]</a></i><br> # footnoteref:[<id>,<text>], create footnote with ID. {2#}<br><i><a name="_footnote_{1}">[{2}]</a></i><br> [callout-inlinemacro] # Callout. <b><{index}></b> # Comment line macros. [comment-inlinemacro] {showcomments#}<br><span style="background:yellow;">{passtext}</span><br> [comment-blockmacro] {showcomments#}<p><span style="background:yellow;">{passtext}</span></p> [literal-inlinemacro] # Inline literal. <code>{passtext}</code> # List tags. [listtags-bulleted] list={id?<a name="{id}"></a>}{title?<p><b>{title}</b></p>}<ul{role? class="{role}"}>|</ul> item=<li>|</li> text=<p>|</p> [listtags-numbered] list={id?<a name="{id}"></a>}{title?<p><b>{title}</b></p>}<ol type="{style@arabic:1}{style@loweralpha:a}{style@upperalpha:A}{style@lowerroman:i}{style@upperroman:I}"{start? start="{start}"}{role? class="{role}"}>|</ol> item=<li>|</li> text=<p>|</p> [listtags-labeled] list={id?<a name="{id}"></a>}{title?<p><b>{title}</b></p>}<dl{role? class="{role}"}>|</dl> entry= label= term=<dt>{strong-option?<strong>}|{strong-option?</strong>}</dt> item=<dd>|</dd> text=<p>|</p> [listtags-horizontal] list={id?<a name="{id}"></a>}{title?<p><b>{title}</b></p>}<table cellpadding="4"{role? class="{role}"}>|</table> entry=<tr valign="top">|</tr> label=<td{labelwidth? width="{labelwidth}%"}>{strong-option?<strong>}|{strong-option?</strong>}</td> term=|<br> item=<td{itemwidth? width="{itemwidth}%"}>|</td> text=<p>|</p> [listtags-callout] list={id?<a name="{id}"></a>}{title?<p><b>{title}</b></p>}<ol{role? class="{role}"}>|</ol> item=<li>|</li> text=<p>|</p> [listtags-qanda] list={id?<a name="{id}"></a>}{title?<p><b>{title}</b></p>}<ol{role? class="{role}"}>|</ol> entry=<li>|</li> label= term=<p><em>|</em></p> item= text=<p>|</p> [listtags-glossary] list={id?<a name="{id}"></a>}{title?<p><b>{title}</b></p>}<dl{role? class="{role}"}>|</dl> entry= label= term=<dt>|</dt> item=<dd>|</dd> text=<p>|</p> [listtags-bibliography] list={id?<a name="{id}"></a>}{title?<p><b>{title}</b></p>}<ul{role? class="{role}"}>|</ul> item=<li>|</li> text=<p>|</p> [tags] # Quoted text. emphasis=<em>{1?<span class="{1}">}|{1?</span>}</em> strong=<strong>{1?<span class="{1}">}|{1?</span>}</strong> monospaced=<code>{1?<span class="{1}">}|{1?</span>}</code> singlequoted={lsquo}{1?<span class="{1}">}|{1?</span>}{rsquo} doublequoted={ldquo}{1?<span class="{1}">}|{1?</span>}{rdquo} unquoted={1?<span class="{1}">}|{1?</span>} superscript=<sup>{1?<span class="{1}">}|{1?</span>}</sup> subscript=<sub>{1?<span class="{1}">}|{1?</span>}</sub> ifdef::deprecated-quotes[] # Override with deprecated quote attributes. emphasis={role?<span class="{role}">}<em{1,2,3? style="}{1?color:{1};}{2?background-color:{2};}{3?font-size:{3}em;}{1,2,3?"}>|</em>{role?</span>} strong={role?<span class="{role}">}<strong{1,2,3? style="}{1?color:{1};}{2?background-color:{2};}{3?font-size:{3}em;}{1,2,3?"}>|</strong>{role?</span>} monospaced={role?<span class="{role}">}<code{1,2,3? style="}{1?color:{1};}{2?background-color:{2};}{3?font-size:{3}em;}{1,2,3?"}>|</code>{role?</span>} singlequoted={role?<span class="{role}">}{1,2,3?<span style="}{1?color:{1};}{2?background-color:{2};}{3?font-size:{3}em;}{1,2,3?">}{amp}#8216;|{amp}#8217;{1,2,3?</span>}{role?</span>} doublequoted={role?<span class="{role}">}{1,2,3?<span style="}{1?color:{1};}{2?background-color:{2};}{3?font-size:{3}em;}{1,2,3?">}{amp}#8220;|{amp}#8221;{1,2,3?</span>}{role?</span>} unquoted={role?<span class="{role}">}{1,2,3?<span style="{1?color:{1};}{2?background-color:{2};}{3?font-size:{3}em;}">}|{1,2,3?</span>}{role?</span>} superscript={role?<span class="{role}">}<sup{1,2,3? style="}{1?color:{1};}{2?background-color:{2};}{3?font-size:{3}em;}{1,2,3?"}>|</sup>{role?</span>} subscript={role?<span class="{role}">}<sub{1,2,3? style="}{1?color:{1};}{2?background-color:{2};}{3?font-size:{3}em;}{1,2,3?"}>|</sub>{role?</span>} endif::deprecated-quotes[] # Inline macros [http-inlinemacro] <a href="{name}:{target}">{0={name}:{target}}</a> [https-inlinemacro] <a href="{name}:{target}">{0={name}:{target}}</a> [ftp-inlinemacro] <a href="{name}:{target}">{0={name}:{target}}</a> [file-inlinemacro] <a href="{name}:{target}">{0={name}:{target}}</a> [irc-inlinemacro] <a href="{name}:{target}">{0={name}:{target}}</a> [mailto-inlinemacro] <a href="mailto:{target}">{0={target}}</a> [callto-inlinemacro] <a href="{name}:{target}">{0={target}}</a> [link-inlinemacro] <a href="{target}">{0={target}}</a> # anchor:id[text] [anchor-inlinemacro] <a name="{target}"></a> # [[id,text]] [anchor2-inlinemacro] <a name="{1}"></a> # [[[id]]] [anchor3-inlinemacro] <a name="{1}"></a>[{1}] # xref:id[text] [xref-inlinemacro] <a href="#{target}">{0=[{target}]}</a> # <<id,text>> [xref2-inlinemacro] <a href="#{1}">{2=[{1}]}</a> # Special word substitution. [emphasizedwords] <em>{words}</em> [monospacedwords] <code>{words}</code> [strongwords] <strong>{words}</strong> # Paragraph substitution. [paragraph] <p{role? class="{role}"}>{id?<a name="{id}"></a>}{title?<b>{title}</b><br>} | </p> [admonitionparagraph] template::[admonitionblock] # Delimited blocks. [passthroughblock] | [listingblock] <a name="{id}"></a> <p><b>{title}</b></p> <table border="0" bgcolor="#e8e8e8" width="100%" cellpadding="4"{role? class="{role}"}><tr><td> <pre><code> | </code></pre> </td></tr></table> [literalblock] <a name="{id}"></a> <p><b>{title}</b></p> <pre{role? class="{role}"}><code> | </code></pre> [sidebarblock] <a name="{id}"></a> <table frame="border" bgcolor="#ffffee" width="100%" cellpadding="4"{role? class="{role}"}> <tr><td> <p><em>{title}</em></p> | </td></tr></table> [openblock] <div{id? id="{id}"}{role? class="{role}"}> <p><b>{title}</b></p> | </div> [partintroblock] template::[openblock] [abstractblock] template::[quoteblock] [quoteblock] <a name="{id}"></a> <blockquote{role? class="{role}"}> <p><b>{title}</b></p> | <p align="right"> <em>{citetitle}</em>{attribution?<br>} — {attribution} </p> </blockquote> [verseblock] <a name="{id}"></a> <blockquote{role? class="{role}"}> <p><b>{title}</b></p> # Font inheritance broken in IE6. <pre style="font-family: inherit;"> | </pre> <p align="left"> <em>{citetitle}</em>{attribution?<br>} — {attribution} </p> </blockquote> [exampleblock] <a name="{id}"></a> <table frame="void" width="100%" cellpadding="4"{role? class="{role}"}> <tr><td style="border-left: 2px solid silver;"> | </td></tr></table> <p><b>{caption={example-caption} {counter:example-number}. }</b>{title}</p> [admonitionblock] <a name="{id}"></a> <table frame="void" cellpadding="4"{role? class="{role}"}> <tr valign="top"> <td> {data-uri%}{icons#}<img src="{icon={iconsdir}/{name}.png}" alt="{caption}"> {data-uri#}{icons#}<img alt="{caption}" src="data:image/png;base64, {data-uri#}{icons#}{sys:"{python}" -u -c "import base64,sys; base64.encode(sys.stdin.buffer,sys.stdout.buffer)" < "{eval:os.path.join(r"{indir={outdir}}",r"{icon={iconsdir}/{name}.png}")}"}"> {icons%}<p><b><u>{caption}</u></b></p> </td> <td style="border-left: 1px solid silver;"> <p><b>{title}</b></p> | </td></tr></table> [mathblock] # Here to suppress missing block warning (html4 does not include math # JavaScripts). <a name="{id}"></a> <p><b>{title}</b></p> <div{role? class="{role}"}> | </div> # Tables. [tabletags-default] bodyrow=<tr>|</tr> headdata=<th {colspan@1::colspan="{colspan}" }{rowspan@1::rowspan="{rowspan}" }align="{halign}"{autowidth-option! width="{colpcwidth}%"} valign="{valign}">|</th> footdata=<td {colspan@1::colspan="{colspan}" }{rowspan@1::rowspan="{rowspan}" }align="{halign}"{autowidth-option! width="{colpcwidth}%"} style="font-weight:bold" valign="{valign}">|</td> bodydata=<td {colspan@1::colspan="{colspan}" }{rowspan@1::rowspan="{rowspan}" }align="{halign}"{autowidth-option! width="{colpcwidth}%"} valign="{valign}">|</td> paragraph=<p>|</p> [tabletags-header] paragraph=<p><strong>|</strong></p> [tabletags-emphasis] paragraph=<p><em>|</em></p> [tabletags-strong] paragraph=<p><strong>|</strong></p> [tabletags-monospaced] paragraph=<p><code>|</code></p> [tabletags-verse] bodydata=<td {colspan@1::colspan="{colspan}" }{rowspan@1::rowspan="{rowspan}" }align="{halign}"{autowidth-option! width="{colpcwidth}%"} valign="{valign}"><pre style="font-family: inherit;">|</pre></td> paragraph= [tabletags-literal] bodydata=<td {colspan@1::colspan="{colspan}" }{rowspan@1::rowspan="{rowspan}" }align="{halign}"{autowidth-option! width="{colpcwidth}%"} valign="{valign}"><pre><code>|</code></pre></td> paragraph= [tabletags-asciidoc] bodydata=<td {colspan@1::colspan="{colspan}" }{rowspan@1::rowspan="{rowspan}" }align="{halign}"{autowidth-option! width="{colpcwidth}%"} valign="{valign}"><div>|</div></td> paragraph= [table] <div{align? align="{align}"}{role? class="{role}"}> <a name="{id}"></a> <table rules="{grid=all}" style="float:{float};" {autowidth-option%}width="{tablepcwidth}%" {autowidth-option#}{width#width="{tablepcwidth}%"} frame="{frame%border}" frame="{frame@topbot:hsides}{frame@all:border}{frame@none:void}{frame@sides:vsides}" cellspacing="0" cellpadding="4"> {headrows#}<thead> {headrows} {headrows#}</thead> {footrows#}<tfoot> {footrows} {footrows#}</tfoot> <tbody> {bodyrows} </tbody> </table> <p><b>{caption={table-caption} {counter:table-number}. }</b>{title}</p> </div> #-------------------------------------------------------------------- # Deprecated old table definitions. # [miscellaneous] # Screen width in pixels. pagewidth=800 pageunits= [old_tabledef-default] template=old_table bodyrow=<tr>|</tr> headdata=<th align="{colalign}" width="{colwidth}{pageunits}">|</th> footdata=<td align="{colalign}" width="{colwidth}{pageunits}"><strong>|</strong></td> bodydata=<td align="{colalign}" width="{colwidth}{pageunits}" valign="top">|</td> [old_table] <p><b>{caption={table-caption}}</b>{title}</p> <a name="{id}"></a> <table rules="{grid=none}" frame="{frame%hsides}" frame="{frame@topbot:hsides}{frame@all:border}{frame@none:void}{frame@sides:vsides}" cellspacing="0" cellpadding="4"> {headrows#}<thead> {headrows} {headrows#}</thead> {footrows#}<tfoot> {footrows} {footrows#}</tfoot> <tbody> {bodyrows} </tbody> </table> # End of deprecated old table definitions. #-------------------------------------------------------------------- [floatingtitle] <h{level@1:2}{level@2:3}{level@3:4}{level@4:5}>{id?<a name="{id}"></a>}{title}</h{level@1:2}{level@2:3}{level@3:4}{level@4:5}> [preamble] # Untitled elements between header and first section title. <a name="preamble"></a> | [sect0] {doctype-manpage%}{hr} <h1>{id?<a name="{id}"></a>}{title}</h1> | [sect1] {doctype-manpage%}{hr} <h2{role? class="{role}"}>{id?<a name="{id}"></a>}{numbered?{sectnum} }{title}</h2> | [sect2] <h3{role? class="{role}"}>{id?<a name="{id}"></a>}{numbered?{sectnum} }{title}</h3> | [sect3] <h4{role? class="{role}"}>{id?<a name="{id}"></a>}{numbered?{sectnum} }{title}</h4> | [sect4] <h5{role? class="{role}"}>{id?<a name="{id}"></a>}{title}</h5> | [appendix] {hr} <h2{role? class="{role}"}>{id?<a name="{id}"></a>}{numbered?{sectnum} }{appendix-caption} {counter:appendix-number:A}: {title}</h2> | [footer] # Removing footer date and version if footer-style set to none ifeval::["{footer-style=default}"!="none"] <p></p> <p></p> <hr><p><small> template::[footer-text] </small></p> endif::[] </body> </html> [header-declarations] <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset={encoding}"> <meta name="generator" content="AsciiDoc {asciidoc-version}"> <meta name="description" content="{description}"> <meta name="keywords" content="{keywords}"> <title>{title} {title%}{doctitle=} {docinfo1,docinfo2#}{include:{docdir}/docinfo.html} {docinfo,docinfo2#}{include:{docdir}/{docname}-docinfo.html} template::[docinfo] [footer-date] # Default footer date is document modification time ifeval::["{footer-style=default}"!="revdate"] {docdate} {doctime} endif::[] # If set to "revdate", it'll be set to the revision date ifeval::["{footer-style=default}"=="revdate"] {revdate} endif::[] #-------------------------------- # article and book document types #-------------------------------- ifndef::doctype-manpage[] [header] template::[header-declarations] {notitle%}

{doctitle}

{doctitle#}

{doctitle#}{author}
{doctitle#}<{email}>
{doctitle#}version {revnumber}{revdate?,} {doctitle#}{revdate} {doctitle#}
{revremark} {doctitle#}

endif::doctype-manpage[] #------------------------- # manpage document type #------------------------- ifdef::doctype-manpage[] [tags] # This is more inline with man page convention. emphasis=| vlistterm=
|
[header] template::[header-declarations] {hr}

{doctitle} Manual Page

{hr} [name]

{manname-title}

{manname} - {manpurpose}

[synopsis] template::[sect1] endif::doctype-manpage[] asciidoc-py3-9.0.0rc1/lang-de.conf0000644000175000017500000000245513570064211016142 0ustar josephjoseph# # AsciiDoc German language configuration file. # Originally written by Michael Wild # [attributes] # Left and right single and double quote characters. lsquo=‚ rsquo=‘ ldquo=„ rdquo=“ # Captions, used by (X)HTML backends. # Captions on RHS are displayed in outputs. ifdef::basebackend-html[] caution-caption=Achtung important-caption=Wichtig note-caption=Anmerkung tip-caption=Tipp warning-caption=Warnung figure-caption=Abbildung table-caption=Tabelle example-caption=Beispiel toc-title=Inhaltsverzeichnis appendix-caption=Anhang # Man page NAME section title. manname-title=NAME [footer-text] Version {revnumber}{basebackend-xhtml11?
}{basebackend-xhtml11=
} Letzte Änderung template::[footer-date] endif::basebackend-html[] [specialsections] # DocBook special sections. # The regular expression on LHS is matched against source titles. ifdef::basebackend-docbook[] ifdef::doctype-article[] ^Zusammenfassung$=abstract endif::doctype-article[] ifdef::doctype-book[] ^Kolophon$=colophon ^Widmung$=dedication ^Vorwort$=preface endif::doctype-book[] ^Stichwortverzeichnis$=index ^Literaturverzeichnis$=bibliography ^Glossar$=glossary ^Anhang [A-Z][:.](?P.*)$=appendix endif::basebackend-docbook[] ifdef::doctype-manpage[] (?i)^ÜBERSICHT$=synopsis endif::doctype-manpage[] �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/main.aap����������������������������������������������������������������������0000644�0001750�0001750�00000005271�13570064211�015372� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������##################################################################### # # A-A-P file for making AsciiDoc distribution. # (you can obtain A-A-P from http://www.a-a-p.org) # # Stuart Rackham <srackham@gmail.com> ##################################################################### :execute ./common.aap all: distribution vers: :print Version: $VERS (released $DATE) vers_update: # Propagate version number in common.aap to other versioned files. :syseval grep "$$VERSION = '$(VERS)'" asciidoc.py | :assign dummy @if exit != 0: :print updating version numbers... @for (fname,match) in (('asciidoc.py',r'^VERSION = '),('a2x.py',r'^VERSION = '),('configure.ac',r'^AC_INIT\(.*\)')): :sys sed '/$match/ s/[0-9.][0-9.a-zA-Z_]\+/$VERS/' <$fname >$(fname).tmp :sys mv -f $(fname).tmp $fname @if fname in ('asciidoc.py','a2x.py'): :sys chmod +x $fname tags: :sys rm -f tags :sys ctags asciidoc.py asciidocapi.py tests/testasciidoc.py docs: :execute ./doc/main.aap website: :execute ./examples/website/main.aap distribution: vers_update docs website NAME = asciidoc-$(VERS) # Make configure script. :sys autoconf :sys ln -s . $(NAME) # Make tarball of all files in MANIFEST. :sys tar -czf $(NAME).tar.gz \ ``sed s:^:$(NAME)/: MANIFEST`` # Make zip file. ZIP = `program_path("zip")` @if ZIP: :sys rm -f $(NAME).zip :sys ls ``sed s:^:$(NAME)/: MANIFEST`` | $ZIP $(NAME).zip -@ # Zip files don't know about symlinks so just duplicate the # files. :sys $ZIP $(NAME).zip \ $(NAME)/doc/images/tiger.png \ $(NAME)/doc/images/smallnew.png \ $(NAME)/doc/images/icons/README \ $(NAME)/doc/images/icons/*.png \ $(NAME)/doc/images/icons/callouts/*.png \ $(NAME)/examples/website/images/tiger.png \ $(NAME)/examples/website/images/highlighter.png \ $(NAME)/examples/website/images/smallnew.png \ $(NAME)/examples/website/images/icons/README \ $(NAME)/examples/website/images/icons/*.png \ $(NAME)/examples/website/images/icons/callouts/*.png :sys rm -f $(NAME) @else: :print WARNING: zip(1) unavailable, skipping zip file creation :sys rm -f $(NAME) test: :sys python ./asciidoc.py --doctest :sys python ./asciidocapi.py :execute ./doc/main.aap test :syseval ls ./tests/data/*.html | :assign TESTFILES @if _no.TESTFILES: :sys python ./tests/testasciidoc.py run @else: :print WARNING: no test files, run './tests/testasciidoc.py update' ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/dblatex/����������������������������������������������������������������������0000755�0001750�0001750�00000000000�13570064211�015401� 5����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/dblatex/asciidoc-dblatex.xsl��������������������������������������������������0000644�0001750�0001750�00000004437�13570064211�021340� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="iso-8859-1"?> <!-- dblatex(1) XSL user stylesheet for asciidoc(1). See dblatex(1) -p option. --> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <!-- TOC links in the titles, and in blue. --> <xsl:param name="latex.hyperparam">colorlinks,linkcolor=blue,pdfstartview=FitH</xsl:param> <xsl:param name="doc.publisher.show">1</xsl:param> <xsl:param name="doc.lot.show"></xsl:param> <xsl:param name="term.breakline">1</xsl:param> <xsl:param name="doc.collab.show">0</xsl:param> <xsl:param name="doc.section.depth">3</xsl:param> <xsl:param name="table.in.float">0</xsl:param> <xsl:param name="monoseq.hyphenation">0</xsl:param> <xsl:param name="latex.output.revhistory">1</xsl:param> <!-- This doesn't work, don't know why, see: http://dblatex.sourceforge.net/html/manual/apas03.html ./docbook-xsl/common.xsl --> <!-- <xsl:param name="doc.toc.show"> <xsl:choose> <xsl:when test="/processing-instruction('asciidoc-toc')"> 1 </xsl:when> <xsl:otherwise> 0 </xsl:otherwise> </xsl:choose> </xsl:param> <xsl:param name="doc.lot.show"> <xsl:choose> <xsl:when test="/book"> figure,table,equation,example </xsl:when> </xsl:choose> </xsl:param> --> <xsl:param name="doc.toc.show">1</xsl:param> <!-- Override default literallayout template. See `./dblatex/dblatex-readme.txt`. --> <xsl:template match="address|literallayout[@class!='monospaced']"> <xsl:text>\begin{alltt}</xsl:text> <xsl:text> \normalfont{} </xsl:text> <xsl:apply-templates/> <xsl:text> \end{alltt}</xsl:text> </xsl:template> <xsl:template match="processing-instruction('asciidoc-pagebreak')"> <!-- force hard pagebreak, varies from 0(low) to 4(high) --> <xsl:text>\pagebreak[4] </xsl:text> <xsl:apply-templates /> <xsl:text> </xsl:text> </xsl:template> <xsl:template match="processing-instruction('asciidoc-br')"> <xsl:text>\newline </xsl:text> </xsl:template> <xsl:template match="processing-instruction('asciidoc-hr')"> <!-- draw a 444 pt line (centered) --> <xsl:text>\begin{center} </xsl:text> <xsl:text>\line(1,0){444} </xsl:text> <xsl:text>\end{center} </xsl:text> </xsl:template> </xsl:stylesheet> ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/dblatex/asciidoc-dblatex.sty��������������������������������������������������0000644�0001750�0001750�00000001270�13570064211�021341� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������%% %% This style is derived from the docbook one. %% \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{asciidoc}[2008/06/05 AsciiDoc DocBook Style] %% Just use the original package and pass the options. \RequirePackageWithOptions{docbook} % Sidebar is a boxed minipage that can contain verbatim. % Changed shadow box to double box. \renewenvironment{sidebar}[1][0.95\textwidth]{ \hspace{0mm}\newline% \noindent\begin{Sbox}\begin{minipage}{#1}% \setlength\parskip{\medskipamount}% }{ \end{minipage}\end{Sbox}\doublebox{\TheSbox}% } % For DocBook literallayout elements, see `./dblatex/dblatex-readme.txt`. \usepackage{alltt} % To preserve simple quotes in the blocs of code \usepackage{upquote} ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/dblatex/dblatex-readme.txt����������������������������������������������������0000644�0001750�0001750�00000002520�13570064211�021017� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������AsciiDoc dblatex README ======================= Customization ------------- The `./dblatex` directory contains: `./dblatex/asciidoc-dblatex.xsl`:: Optional dblatex XSL parameter customization. `./dblatex/asciidoc-dblatex.sty`:: Optional customized LaTeX styles. Use these files with dblatex(1) `-p` and `-s` options, for example: dblatex -p ../dblatex/asciidoc-dblatex.xsl \ -s ../dblatex/asciidoc-dblatex.sty article.xml Limitations ----------- Observed in dblatex 0.2.8. - dblatex doesn't seem to process the DocBook 'literallayout' element correctly: it is rendered in a monospaced font and no inline elements are processed. By default the normal font should be used and almost all DocBook inline elements should be processed (http://www.docbook.org/tdg/en/html/literallayout.html). I almost fixed this by overriding the default dblatex literallayout template (in `./dblatex/asciidoc-dblatex.xsl`) and using the LaTeX 'alltt' package, but there are remaining problems: * Blank lines are replaced by a single space. * The 'literallayout' element incorrectly wraps text when rendered inside a table. - Callouts do not work inside DocBook 'literallayout' elements which means callouts are not displayed inside AsciiDoc literal blocks. A workaround is to change the AsciiDoc literal block to a listing block. ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/lang-el.conf������������������������������������������������������������������0000644�0001750�0001750�00000002643�13570064211�016151� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# # AsciiDoc Greek language configuration file. # Originally written by Michael Dourmousoglou # [attributes] # Captions, used by (X)HTML backends. # Captions on RHS are displayed in outputs. ifdef::basebackend-html[] caution-caption=Προσοχή important-caption=Σημαντικό note-caption=Σημείωση tip-caption=Υπόδειξη warning-caption=Προειδοποίηση figure-caption=Σχήμα table-caption=Πίνακας example-caption=Παράδειγμα toc-title=Πίνακας περιεχομένων appendix-caption=Παράρτημα # Man page NAME section title. manname-title=ΌΝΟΜΑ [footer-text] Έκδοση {revnumber}{basebackend-xhtml11?<br />}{basebackend-xhtml11=<br>} Τελευταία αναθεώρηση template::[footer-date] endif::basebackend-html[] [specialsections] # DocBook special sections. # The regular expression on LHS is matched against source titles. ifdef::basebackend-docbook[] ifdef::doctype-article[] ^Περίληψη$=abstract endif::doctype-article[] ifdef::doctype-book[] ^Κολοφώνας$=colophon ^Αφιέρωση$=dedication ^Πρόλογος$=preface endif::doctype-book[] ^Ευρετήριο$=index ^(Βιβλιογραφία|Αναφορές)$=bibliography ^Γλωσσάρι÷$=glossary ^Παράρτημα [Α-Ω][:.](?P<title>.*)$=appendix endif::basebackend-docbook[] ifdef::doctype-manpage[] (?i)^Σύνοψη$=synopsis endif::doctype-manpage[] ���������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/COPYING�����������������������������������������������������������������������0000644�0001750�0001750�00000043076�13570064211�015023� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 675 Mass Ave, Cambridge, MA 02139, USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS Appendix: How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. <one line to give the program's name and a brief idea of what it does.> Copyright (C) 19yy <name of author> This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) 19yy name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. <signature of Ty Coon>, 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License. ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/lang-es.conf������������������������������������������������������������������0000644�0001750�0001750�00000002421�13570064211�016152� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# # AsciiDoc Spanish language configuration file. # [attributes] #TODO: Left and right single and double quote characters. # Captions, used by (X)HTML backends. # Captions on RHS are displayed in outputs. ifdef::basebackend-html[] caution-caption=Atención important-caption=Importante note-caption=Nota tip-caption=Sugerencia warning-caption=Aviso figure-caption=Figura table-caption=Tabla example-caption=Ejemplo toc-title=Tabla de contenidos appendix-caption=Apéndice # Man page NAME section title. manname-title=NOMBRE DE REFERENCIA [footer-text] #TODO: Translation of 'Version' and 'Last updated'. Version {revnumber}{basebackend-xhtml11?<br />}{basebackend-xhtml11=<br>} Last updated template::[footer-date] endif::basebackend-html[] [specialsections] # DocBook special sections. # The regular expression on LHS is matched against source titles. ifdef::basebackend-docbook[] ifdef::doctype-article[] ^Resumen$=abstract endif::doctype-article[] ifdef::doctype-book[] ^Colofón$=colophon ^Dedicación$=dedication ^Prefacio$=preface endif::doctype-book[] ^Índice$=index ^(Bibliografía|Referencias)$=bibliography ^Glosario$=glossary ^Apéndice [A-Z][:.](?P<title>.*)$=appendix endif::basebackend-docbook[] ifdef::doctype-manpage[] (?i)^SINOPSIS$=synopsis endif::doctype-manpage[] �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/.travis.yml�������������������������������������������������������������������0000644�0001750�0001750�00000000775�13570064211�016100� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������language: python python: - 3.5 - 3.6 - 3.7 - 3.8 addons: apt: packages: - docbook-xml - docbook-xsl - dvipng - graphviz - imagemagick - libxml2-utils - lilypond - source-highlight - texlive-latex-base - xsltproc install: false script: - python asciidoc.py --doctest - python asciidocapi.py - time python tests/testasciidoc.py run - git clean -x -f doc tests/data - autoconf - ./configure - make - sudo make install ���asciidoc-py3-9.0.0rc1/slidy.conf��������������������������������������������������������������������0000644�0001750�0001750�00000011402�13570064211�015747� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# # Asciidoc Configuration file for slidy HTML generation. # include::xhtml11.conf[] [literalparagraph] template::[listingblock] [openblock] <div class="openblock{incremental? incremental}{role? {role}}"{id? id="{id}"}> <div class="title">{title}</div> <div class="content"> | </div></div> [listtags-bulleted] list={title?<div class="title">{title}</div>}<ul{id? id="{id}"} class="{incremental? incremental}{role? {role}}">|</ul> item=<li>|</li> text=<span>|</span> [listtags-numbered] # The start attribute is not valid XHTML 1.1 but all browsers support it. list={title?<div class="title">{title}</div>}<ol{id? id="{id}"} class="{style}{incremental? incremental}{role? {role}}"{start? start="{start}"}>|</ol> item=<li>|</li> text=<span>|</span> [listtags-labeled] list=<div class="dlist{compact-option? compact}{role? {role}}"{id? id="{id}"}>{title?<div class="title">{title}</div>}<dl class="{incremental? incremental}{role? {role}}">|</dl></div> entry= label= term=<dt class="hdlist1{strong-option? strong}">|</dt> item=<dd>|</dd> text=<p>|</p> [preamble] # Untitled elements between header and first section title. <div id="preamble" class="slide"> <div class="sectionbody"{max-width? style="max-width:{max-width}"}> | </div> </div> [sect1] <div class="sect1 slide{style? {style}}{role? {role}}"> <h1{id? id="{id}"}>{numbered?{sectnum} }{title}</h1> # Set max-width here because Slidy ignores max-width on body. <div class="sectionbody"{max-width? style="max-width:{max-width}"}> | </div> </div> [appendix] <div class="sect1 slide{style? {style}}{role? {role}}"> <h1{id? id="{id}"}>{numbered?{sectnum} }{appendix-caption} {counter:appendix-number:A}: {title}</h1> # Set max-width here because Slidy ignores max-width on body. <div class="sectionbody"{max-width? style="max-width:{max-width}"}> | </div> </div> [header] <?xml version="1.0" encoding="{encoding}"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="{lang=en}" xml:lang="{lang=en}"> <head> <title>{doctitle=} ifndef::copyright[] ifdef::linkcss[] ifeval::["{source-highlighter}"=="pygments"] endif::[] # DEPRECATED: 'pygments' attribute. ifdef::pygments[] endif::linkcss[] ifndef::linkcss[] endif::linkcss[] ifdef::asciimath[] ifdef::linkcss[] endif::linkcss[] ifndef::linkcss[] endif::linkcss[] endif::asciimath[] ifdef::latexmath[] ifdef::linkcss[] endif::linkcss[] ifndef::linkcss[] endif::linkcss[] endif::latexmath[] [footer] asciidoc-py3-9.0.0rc1/lang-pl.conf0000644000175000017500000000244113570064211016160 0ustar josephjoseph# # AsciiDoc Polish language configuration file. # (C) 2015 Kerusey Karyu # License: GNU Free Documentation License, ver. 1.3 or later version, see http://fsf.org/ [attributes] # Captions, used by (X)HTML backends. # Captions on RHS are displayed in outputs. ifdef::basebackend-html[] caution-caption=Uwaga important-caption=Ważne note-caption=Zapamiętaj tip-caption=Wskazówka warning-caption=Ostrzeżenie figure-caption=Rysunek table-caption=Tabela example-caption=Przykład toc-title=Spis Treści appendix-caption=Dodatek # Man page NAME section title. manname-title=NAME [footer-text] Wersja {revnumber}{basebackend-xhtml11?
}{basebackend-xhtml11=
} Ostatnio zmodyfikowany template::[footer-date] endif::basebackend-html[] [specialsections] # DocBook special sections. # The regular expression on LHS is matched against source titles. ifdef::basebackend-docbook[] ifdef::doctype-article[] ^Streszczenie$=abstract endif::doctype-article[] ifdef::doctype-book[] ^Kolofon$=colophon ^Dedykacja$=dedication ^Przedmowa$=preface endif::doctype-book[] ^Indeks$=index ^(Bibliografia|Źródła)$=bibliography ^Słowniczek$=glossary ^Dodatek [A-Z][:.](?P.*)$=appendix endif::basebackend-docbook[] ifdef::doctype-manpage[] (?i)^KONSPEKT$=synopsis endif::doctype-manpage[] �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/Makefile.in�������������������������������������������������������������������0000644�0001750�0001750�00000013242�13570064211�016025� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# # Make file to install/uninstall AsciiDoc # .NOTPARALLEL: INSTALL = @INSTALL@ INSTALL_PROG = @INSTALL_PROGRAM@ INSTALL_DATA = @INSTALL_DATA@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ SED = @SED@ prefix = @prefix@ exec_prefix = @exec_prefix@ bindir = @bindir@ datadir = @datadir@ docdir = @docdir@ sysconfdir = @sysconfdir@ datarootdir = @datarootdir@ mandir=@mandir@ srcdir = @srcdir@ VPATH = @srcdir@ ASCIIDOCVERSION = @PACKAGE_VERSION@ ASCIIDOCDATE = @PACKAGE_DATE@ ASCIIDOCCONF = $(sysconfdir)/asciidoc prog = asciidoc.py a2x.py progdir = $(bindir) manp = $(patsubst %1.txt,%1,$(wildcard doc/*.1.txt)) manpdir = $(mandir)/man1 conf = $(wildcard *.conf) confdir = $(ASCIIDOCCONF) filtersdir = $(ASCIIDOCCONF)/filters codefilter = filters/code/code-filter.py codefilterdir = $(filtersdir)/code codefilterconf = filters/code/code-filter.conf codefilterconfdir = $(filtersdir)/code graphvizfilter = filters/graphviz/graphviz2png.py graphvizfilterdir = $(filtersdir)/graphviz graphvizfilterconf = filters/graphviz/graphviz-filter.conf graphvizfilterconfdir = $(filtersdir)/graphviz musicfilter = filters/music/music2png.py musicfilterdir = $(filtersdir)/music musicfilterconf = filters/music/music-filter.conf musicfilterconfdir = $(filtersdir)/music sourcefilterconf = filters/source/source-highlight-filter.conf sourcefilterconfdir = $(filtersdir)/source latexfilter = filters/latex/latex2img.py latexfilterdir = $(filtersdir)/latex latexfilterconf = filters/latex/latex-filter.conf latexfilterconfdir = $(filtersdir)/latex themesdir = $(ASCIIDOCCONF)/themes flasktheme = themes/flask/flask.css flaskthemedir = $(themesdir)/flask volnitskytheme = themes/volnitsky/volnitsky.css volnitskythemedir = $(themesdir)/volnitsky docbook = $(wildcard docbook-xsl/*.xsl) docbookdir = $(ASCIIDOCCONF)/docbook-xsl dblatex = $(wildcard dblatex/*.xsl) $(wildcard dblatex/*.sty) dblatexdir = $(ASCIIDOCCONF)/dblatex css = $(wildcard stylesheets/*.css) cssdir = $(ASCIIDOCCONF)/stylesheets js = $(wildcard javascripts/*.js) jsdir = $(ASCIIDOCCONF)/javascripts callouts = $(wildcard images/icons/callouts/*) calloutsdir = $(ASCIIDOCCONF)/images/icons/callouts icons = $(wildcard images/icons/*.png) images/icons/README iconsdir = $(ASCIIDOCCONF)/images/icons doc = $(wildcard README*) $(wildcard BUGS*) $(wildcard INSTALL*) $(wildcard CHANGELOG*) DATATARGETS = manp conf docbook dblatex css js callouts icons codefilterconf musicfilterconf sourcefilterconf graphvizfilterconf latexfilterconf flasktheme volnitskytheme PROGTARGETS = prog codefilter musicfilter graphvizfilter latexfilter TARGETS = $(DATATARGETS) $(PROGTARGETS) doc INSTDIRS = $(TARGETS:%=%dir) .PHONY: $(TARGETS) all: build # create directories used during the install $(INSTDIRS): $(INSTALL) -d $(DESTDIR)/$($@) $(PROGTARGETS): % : %dir $(INSTALL_PROG) $($@) $(DESTDIR)/$($<)/ $(DATATARGETS): % : %dir $(INSTALL_DATA) $($@) $(DESTDIR)/$($<)/ $(manp): %.1 : %.1.txt python3 a2x.py -f manpage $< docs: $(INSTALL) -d $(DESTDIR)/$(docdir) $(INSTALL_DATA) $(doc) $(DESTDIR)/$(docdir) $(INSTALL) -d $(DESTDIR)/$(docdir)/docbook-xsl $(INSTALL_DATA) docbook-xsl/asciidoc-docbook-xsl.txt $(DESTDIR)/$(docdir)/docbook-xsl $(INSTALL) -d $(DESTDIR)/$(docdir)/dblatex $(INSTALL_DATA) dblatex/dblatex-readme.txt $(DESTDIR)/$(docdir)/dblatex $(INSTALL) -d $(DESTDIR)/$(docdir)/stylesheets $(INSTALL_DATA) $(css) $(DESTDIR)/$(docdir)/stylesheets $(INSTALL) -d $(DESTDIR)/$(docdir)/javascripts $(INSTALL_DATA) $(js) $(DESTDIR)/$(docdir)/javascripts $(INSTALL) -d $(DESTDIR)/$(docdir)/images ( cd images && \ cp -R * $(DESTDIR)/$(docdir)/images ) $(INSTALL) -d $(DESTDIR)/$(docdir)/doc ( cd doc && \ cp -R * $(DESTDIR)/$(docdir)/doc ) $(INSTALL) -d $(DESTDIR)/$(docdir)/examples/website ( cd examples/website && \ cp -R * $(DESTDIR)/$(docdir)/examples/website ) progsymlink: (cd $(DESTDIR)/$(progdir); ln -sf asciidoc.py asciidoc) (cd $(DESTDIR)/$(progdir); ln -sf a2x.py a2x) fixconfpath: @for f in $(prog); do \ echo "Fixing CONF_DIR in $$f"; \ $(SED) "s#^CONF_DIR = '.*'#CONF_DIR = '$(ASCIIDOCCONF)'#" $$f > $$f.out; \ mv $$f.out $$f; \ chmod +x $$f; \ done .PHONY: version version: @echo "Version $(ASCIIDOCVERSION) (released $(ASCIIDOCDATE))"; .PHONY: vers_update vers_update: @for f in $(prog); do \ echo "Setting VERSION in $$f to $(ASCIIDOCVERSION)"; \ $(SED) "s#^VERSION = '.*'#VERSION = '$(ASCIIDOCVERSION)'#" $$f > $$f.out; \ mv $$f.out $$f; \ chmod +x $$f; \ done DOC_FILES = CHANGELOG.txt README.asciidoc BUGS.txt INSTALL.txt doc/a2x.1.txt \ doc/faq.txt doc/asciidocapi.txt doc/testasciidoc.txt \ doc/epub-notes.txt doc/publishing-ebooks-with-asciidoc.txt \ doc/source-highlight-filter.txt doc/slidy.txt doc/slidy-example.txt WEBSITE_FILES = examples/website/index.txt examples/website/README-website.txt examples/website/support.txt .PHONY: doc_spell doc_spell: @for f in $(DOC_FILES); do \ echo "aspell check -p ./doc/asciidoc.dict $$f"; \ aspell check -p ./doc/asciidoc.dict $$f; \ done .PHONY: website_spell website_spell: @for f in $(WEBSITE_FILES); do \ echo "aspell check -p ./examples/website/asciidoc-website.dict $$f"; \ aspell check -p ./examples/website/asciidoc-website.dict $$f; \ done .PHONY: spell spell: doc_spell website_spell build: fixconfpath $(manp) install: all $(PROGTARGETS) $(DATATARGETS) progsymlink uninstall: rm -f $(DESTDIR)/$(progdir)/asciidoc rm -f $(DESTDIR)/$(progdir)/asciidoc.py rm -f $(DESTDIR)/$(progdir)/a2x rm -f $(DESTDIR)/$(progdir)/a2x.py rm -f $(DESTDIR)/$(manpdir)/asciidoc.1 rm -f $(DESTDIR)/$(manpdir)/testasciidoc.1 rm -f $(DESTDIR)/$(manpdir)/a2x.1 rm -rf $(DESTDIR)/$(confdir) rm -rf $(DESTDIR)/$(docdir) clean: rm -f $(manp) test: @echo "Nothing to see here...Move along." ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/CHANGELOG.txt�����������������������������������������������������������������0000644�0001750�0001750�00000456364�13570064211�016030� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������AsciiDoc ChangeLog ================== :website: http://asciidoc.org/ Version 9.0.0 (Unreleased) -------------------------- .Additions and changes - Port asciidoc to run on Python 3.5+ (see https://github.com/asciidoc/asciidoc for the EOL Python 2 implementation) - Drop internal implementation of OrderedDict and use the standard library collections.OrderedDict instead - Implement Dockerfile for running asciidoc - Add Catalan translation - Add docbook5 backend - Fix misspellings in various files and documents - Use UTC for testing instead of Pacific/Auckland (which observes daylight saving time). - Use "with" context statement for opening and closing files instead of older try/finally pattern. - Search sibling paths before system wide paths in asciidocapi - Add manpage for testasciidoc.py - Use argparse instead of optparse for argument parsing - Migrate from A-A-P based build system to Make .Bug fixes - Fix index terms requiring two characters instead of just one (see https://github.com/asciidoc/asciidoc-py3/pull/2#issuecomment-392605876) - Properly capture and use colophon, dedication, and preface for docbooks in Japanese (see https://github.com/asciidoc/asciidoc-py3/pull/2#issuecomment-392623181) .Testing - Commit generated test files to the repository for continuous integration - Test against Python 3.5+ on Travis-CI Version 8.6.10 (2017-09-22) --------------------------- .Additions and changes - Improve reproducibility of builds (e.g. support SOURCE_DATE_EPOCH) - Add SVG output support - Improve documentation - Update translations - Full list of changes is at https://github.com/asciidoc/asciidoc/compare/asciidoc:8.6.9...asciidoc:8.6.10 Version 8.6.9 (2013-11-09) -------------------------- .Additions and changes - 'html5', 'xhtml11' and 'slidy' outputs now wrap 'pre' element contents at right margin (see https://groups.google.com/group/asciidoc/browse_thread/thread/9877a316b7a47309). - Vim syntax file: highlight line breaks in lists (patch submitted by Alex Efros). See https://groups.google.com/group/asciidoc/browse_thread/thread/5145e4c0b65cde0a). - Vim syntax file: fixed highlighting of lines with spaces preceding an indented paragraph. See https://groups.google.com/group/asciidoc/browse_thread/thread/5145e4c0b65cde0a - Vim syntax file: dropped ')' from list of illegal characters following opening quote. See https://groups.google.com/group/asciidoc/browse_thread/thread/1a60eb4507a0555f/264c39c6a89fc7a0 - Added {plus} intrinsic attribute. See http://code.google.com/p/asciidoc/issues/detail?id=14 - Allow `tabsize=0 in` configuration file. See https://groups.google.com/group/asciidoc/browse_thread/thread/c88457020288ce1d - Removed 'wordpress' backend into the blogpost project (where it belongs) as an AsciiDoc backend plugin. - Added HTML5 footer badges. - Added favicon to AsciiDoc website. - Changed AsciiDoc website domain to 'asciidoc.org'. - Vim syntax file: closing quote character cannot be immediately followed by same closing quote character. - Documentation updates. - If admonition icons are embedded using the Data URI Scheme and the icons directory is undefined or does not exist then the 'iconsdir' attribute is set to the location of the icons installed in the AsciiDoc configuration directory. - Updated `./stylesheets/pygments.css` from pygments 1.4. - HTML backends: Align inline images to text-bottom. - html4 backend: Added 'hr' attribute to make the inter-section horizontal ruler element optional. - Documented 'Callout lists cannot be used within tables'. See: https://groups.google.com/group/asciidoc/browse_thread/thread/268f9b46ebc192d3 - Removed Vim related stuff from the installer makefile. See: https://groups.google.com/group/asciidoc/browse_thread/thread/753a52b2af85fcfc/04c9091b0856fc13 and https://groups.google.com/group/asciidoc/browse_thread/thread/cd07629fa7a53fb3 - Dropped `vim/ftdetect/asciidoc_filetype.vim` from distribution, the file detection was broken and the default settings satisfied no one. - Vim syntax highlighter: increase sync backtracking to catch changes to large block elements. - Added Romanian language configuration file. Contributed by Vitalie Lazu. See https://groups.google.com/group/asciidoc/browse_thread/thread/2fe14a10dbf20d20/27726e7e13f7bfc7?lnk=gst&q=romanian#27726e7e13f7bfc7 - Added ruler and line-break outputs to HTML Help outputs. Patch submitted by DonM. See https://groups.google.com/group/asciidoc/browse_thread/thread/b131d0155eccd73e - Added Czech language configuration file. Contributed by Petr Klíma. - html4 backend: allow embedded images and icons (data-uri attribute). - html4 backend: table and example block caption place at bottom for consistency. - html4 backend: dropped border around example block. - html4 backend: cellpaddings made equal to 4 for consistency. - Vim syntax highligher: Highlight closing OpenBlock delimiter when it immediately follows a list. - Updated html5 backend (previous commit was xhtml11 only). See: https://groups.google.com/group/asciidoc/browse_thread/thread/dbdfaf838f93e020 - Embedded data-uri images now figure file mimetype from file contents rather than the file extension. Patch submitted by Lex Trotman. See: https://groups.google.com/group/asciidoc/browse_thread/thread/dbdfaf838f93e020 .Bug fixes - `indexterm2:[]` macro syntax now recognized. See https://groups.google.com/group/asciidoc/browse_thread/thread/1b3f1a0f0a21425e - Synthesised `*-option` attributes for options set in table conf file style entries. See https://groups.google.com/group/asciidoc/browse_thread/thread/8aa340a3069ef5f1/a727a8a564eea76c - Makefile: Fixed sh compatibility issue. See https://groups.google.com/group/asciidoc/browse_thread/thread/753a52b2af85fcfc/04c9091b0856fc13 Version 8.6.8 (2012-07-17) -------------------------- .Release highlights Added full complement of styles to 'Open Blocks' and 'Normal Paragraphs' -- those with a minimalist bent could construct virtually any document using just Title, Normal Paragraph and Open Block syntaxes. .Other additions and changes - Increased default maximum include depth from 5 to 10. - Emit warning if maximum include depth is exceeded. - Suppress repeated console messages. - Music filter: removed '--beams=None' option from abc2ly invocation because it is broken on LilyPond 2.14 (Ubuntu 12.04). - Replaced obsolete '<tt>' tag with '<code>' in HTML backends. - Allow configuration attribute entries to create a new section (previously you could only modify existing sections). See: https://groups.google.com/group/asciidoc/browse_thread/thread/7be28e9714f249c7[discussion list]. - Documented `{wj}` (word-joiner) attribute and updated FAQ. See: https://groups.google.com/group/asciidoc/browse_thread/thread/961a957ab5872ebf[discussion list]. - FAQ: Added 'How can I place a footnote immediately following quoted text?' See https://groups.google.com/group/asciidoc/browse_thread/thread/961a957ab5872ebf[discussion list]. - Added Greek language configuration file. Contributed by Michael Dourmousoglou. See https://groups.google.com/group/asciidoc/browse_thread/thread/9e79d8494ef8d870[discussion list]. - FAQ: Added 'Using roles to select fonts for PDF'. Submitted by Lex Trotman and based on solution by Antonio Borneo. See: https://groups.google.com/group/asciidoc/browse_frm/thread/64b071bb21de9cf0[discussion list]. - Apply same monospaced font size to all monospaced text. - Changed '0' number padding to spaces in numbered GNU source-highlight outputs. - Allow 'highlight' source highlighter to use 'python' for Python `{language}` name. r1142: Update the AsciiDoc 'source' filter to allow the use of the 'highlight' source code highlighter. See https://groups.google.com/group/asciidoc/browse_frm/thread/e045c9986c71d72a[discussion list]. + NOTE: The 'pygments' attribute has been deprecated in favor of the new 'source-highlighter' attribute. - Vim syntax highlighter: Don't confuse trailing open block delimiter with section underline. - Added 'skip' option to paragraphs (c.f. Delimited Block 'skip' option). .Bug fixes - *FIXED*: latex, music and graphviz filters: When the filter output image is data-uri encoded write it to the indir (instead of the outdir) so that encoder can find it. See https://groups.google.com/group/asciidoc/browse_thread/thread/f5174f450a61f14b[discussion list]. - *FIXED*: Escape the ']' character inside inline macros. See https://groups.google.com/group/asciidoc/browse_thread/thread/db3b734a6931cb74[discussion list]. - *FIXED*: source highlighter filter: Pass 'role' attribute to HTML backends. - *FIXED*: source highlight filter: docbook backend: 'role' attribute was not passed to listings without a title. Patch submitted by Lex Trotman. See https://groups.google.com/group/asciidoc/browse_thread/thread/13c9ee97930342b3[discussion list]. - *FIXED*: music2png.py: 'FOPException: Raster ByteInterleavedRaster' error (FOP 1.0, ImageMagick 6.6.9-7). Version 8.6.7 (2012-03-17) -------------------------- .Release highlights No major enhancements but quite a few bug fixes which, among other things, fixes Jython compatibility and improves Windows compatibility. .All additions and changes - Vim syntax highlighter: highlight entity refs in macro arguments. - Added files with `.asciidoc` extension to Vim file type detection. http://groups.google.com/group/asciidoc/browse_thread/thread/a9762e21ec0cc244/5d3a4ebf20e6847e[Patch] submitted by Dag Wiers. - Added 'replacement3' substitution to enable http://groups.google.com/group/asciidoc/browse_thread/thread/843d7d3d671006fb/25628e14c829db3f[ODT whitespace processing]. - Added 'unbreakable' option to XHTML and HTML 5 backends. - Implemented toc::[] block macro and 'toc-placement' attribute for HTML backends to allow the Table of Contents placement to be set manually by the author. - Added FAQs: 'How can I control page breaks when printing HTML outputs?' and 'Is it possible to reposition the Table of Contents in HTML outputs?'. - Added `--backend` and `--backend-opts` options to the 'a2x' command to allow 'a2x' to use backend plugin code extensions. http://groups.google.com/group/asciidoc/browse_thread/thread/b8e93740b7cd0e1d/b5e0b83fe37ae31a[Patch] submitted by Lex Trotman. - Added http://groups.google.com/group/asciidoc/browse_thread/thread/3d06b0105dfbb780/8c60eb7a62f522e4[args block attribute] to source highlight blocks to allow arbitrary parameters to be passed to the source highlighters. - If the 'ascii-ids' attribute is defined then non-ascii characters in auto-generated IDs http://groups.google.com/group/asciidoc/browse_thread/thread/33e99b78e2472122[are replaced] by their nearest ascii equivalents (to work around DocBook processor limitations). - Added global 'blockname' attribute which is dynamically updated to identify the current block. See http://groups.google.com/group/asciidoc/browse_thread/thread/8200e29815c40f72[discussion list]. - 'xhtml11', 'html5' backends: Include book part TOC entries for multi-part books. Patch submitted by Loïc Paillotin. - Removed code filter example from the AsciiDoc User Guide so that backends implemented as external plugins can compile the manual. See http://groups.google.com/group/asciidoc/browse_thread/thread/849e5ea91f43adf2[discussion list]. - If the delimited block 'skip' option is set then do not consume block title and attributes. This makes it possible for the comment delimited blocks to use an attribute list (previously the comment delimited block was hardwired to skip preceding attributes and titles). See http://groups.google.com/group/asciidoc/browse_thread/thread/e92a75abcc382701[discussion list]. - Added `backend-confdir` intrinsic attribute. .Bug fixes - *FIXED*: slidy backend: broken 'stylesheet' attribute. http://groups.google.com/group/asciidoc/browse_thread/thread/58d0843ae4345afd[Patch] submitted by Micheal Hackett. - *FIXED*: Restored http://groups.google.com/group/asciidoc/browse_thread/thread/b0e69e393b6f9f20/47a2c7586f9e40c6?lnk=gst&q=themes+tarball#47a2c7586f9e40c6[missing themes] to zip file distribution archive. - *FIXED*: Grammatical error in error messages. http://groups.google.com/group/asciidoc/browse_thread/thread/b9d705c6b6b39f59/1e120483dafca109[Patch] submitted by Dag Wieers. - *FIXED*: Use configured normal substitution in preference to the default one. - *FIXED*: The 'eval' block macro would execute multiple times if it evaluated to 'None'. - *FIXED*: Duplicated entries in TOC of large document. http://groups.google.com/group/asciidoc/browse_thread/thread/103445ab9d95cb0c[Patch] submitted by Sebastien Helleu. - *FIXED*: Python 2.4 backward http://code.google.com/p/asciidoc/issues/detail?id=9[incompatibility]. - *FIXED*: 8.6.6 regression broke Jython compatibility. See http://groups.google.com/group/asciidoc/browse_thread/thread/4608b77ec289f6c4[discussion list]. - *FIXED*: Leaky file handles in a2x and music and latex filters which created incompatibility problems for Jython. - *FIXED*: All Python filters are executed with the same Python interpreter that executes the asciidoc parent (previously filters were hardwired to execute the 'python' interpreter). This prevents http://groups.google.com/group/asciidoc/browse_thread/thread/14e8fcb289a135b/3af3b4e57b827c78?lnk=gst&q=archlinux#3af3b4e57b827c78[Python mix-ups]. - *FIXED*: Microsoft Windows shelled command-line truncation that caused shelled commands to fail e.g. the 'data-uri' attribute failure. Version 8.6.6 (2011-09-04) -------------------------- .Release highlights - The AsciiDoc plugin architecture has been enhanced, unified and extended: * Plugin commands have been added to the asciidoc(1) `--backend` option. * An asciidoc(1) `--theme` option has been implemented to specify a theme and to manage theme plugins. * A plugin 'build' command (for creating plugins) added. * 'build', 'install', 'list' and 'remove' plugin commands are all recognized by asciidoc(1) `--backend`, `--filter` and `--theme` options. - A security update by Kenny MacDermid removes the use of `eval()` on untrusted input (to disallow code malicious execution). .All additions and changes - 'xhtml11', 'html5': Made verse and quote block text darker to print legibly in Google Chrome browser. - Added plugin 'build' command for plugin file creation. - Merged `--help plugins` back to `--help manpage` so it matches the asciidoc(1) manpage. - The `--filter` command-line option can specify the name of filters that will be unconditionally loaded. - If a filter directory contains a file named `__noautoload__` then the filter is not automatically loaded (you can used the `--filter` command-line option to override this behavior). - tests: Add Italian language tests. Patch submitted by Simon Ruderich. See: http://groups.google.com/group/asciidoc/browse_thread/thread/5e2e6f4dd740d51a - tests: Add tests for localized man pages. Patch submitted by Simon Ruderich. See: http://groups.google.com/group/asciidoc/browse_thread/thread/5e2e6f4dd740d51a - If the section name is prefixed with a '+' character then the section contents is appended to the contents of an already existing same-named section (the default behavior is to replace the the section). - If a configuration file section named 'docinfo' is loaded then it will be included in the document header. Typically the 'docinfo' section name will be prefixed with a '+' character so that it is appended to (rather than replace) other 'docinfo' sections. - Added `{sp}` intrinsic attribute for single space character. See http://groups.google.com/group/asciidoc/browse_thread/thread/a839aa01db0765d2 - Fixed TOC and footnotes generator. Patch submitted by Will. See http://groups.google.com/group/asciidoc/browse_thread/thread/734ac5afed736987 - The `asciidoc-confdir` attribute is set to the asciidoc executable directory if it contains global configuration files i.e. a local asciidoc installation. - asciidoc now throws an error instead of just a warning of the backend configuration file is not found. - latex filter: write MD5 file after successful PNG file generation. Always delete temp files irrespective of outcome. - Added truecolor option to LaTeX filter. Patch submitted by Michel Krämer. See: http://groups.google.com/group/asciidoc/browse_thread/thread/6436788a10561851 - Unit test for table column specifiers with merged cells. Patch submitted by Simon Ruderich. See: http://groups.google.com/group/asciidoc/browse_thread/thread/c9238380a1f2507a - Added verbose message for `ifeval::[]` macro evaluation. - Added test case for `ifeval::[]` evaluation. - Security update to remove the use of `eval()` on untrusted input (to disallow code malicious execution). Patch submitted by Kenny MacDermid. - Changed web site layout from table to CSS based. See http://groups.google.com/group/asciidoc/browse_thread/thread/ec8e8481eb0e27b0/d1c035092b5bb7a4?lnk=gst&q=caption+option#d1c035092b5bb7a4 - a2x: Pass `--format` option value to asciidoc as 'a2x-format' attribute. Patch submitted by Lex Trotman (http://groups.google.com/group/asciidoc/browse_thread/thread/3e177b84bc133ca9/659796dfadad30ea?lnk=gst&q=a2x+format#659796dfadad30ea). - Added two FAQs submitted by Lex Trotman. See: http://groups.google.com/group/asciidoc/browse_thread/thread/16d3fb9672a408e7 - html5,xhtml11: Implemented themes directory structure. - html5,xhtml11: Implemented asciidoc `--theme` management option (install, list, build and remove commands). - html5,xhtml11: A theme can now optionally include a JavaScript file `<theme>.js` - html5,xhtml11: If the 'data-uri' attribute is defined then icons from the theme icons directory (if they exist) will be embedded in the generated document. - Added optional 'warnings' argument to include macros. - The asciidoc `--verbose` option now prints file inclusion messages. - xhtml11, html5: Remove necessity for separate manpage CSS files. - Added 'css-signature' attribute to tests. - Add 'css-signature' attribute to set a CSS signature for the document. Patch submitted by Peg Russell, see: http://groups.google.com/group/asciidoc/browse_thread/thread/bacbf8aeb8ad6a3a - White background for toc2 TOC viewport so that horizontally scrolled content does not obscure the the TOC. Patch submitted by Lionel Orry, see: http://code.google.com/p/asciidoc/issues/detail?id=8 .Bug fixes - *FIXED*: Plugin install command: Delete backend directory is install fails. - *FIXED*: Plugin install command: Fixed bug extracting binary files on Windows (reported by Jean-Michel Inglebert). - *FIXED*: tests: Skip blank sections in testasciidoc.conf test configuration file instead of throwing an exception (reported by Jean-Michel Inglebert). - *FIXED*: If a plugin Zip file does not contain file permissions (probably because it was created under Windows) then install it using the default permissions. - *FIXED*: Fixed missing quote in preceding LaTeX filter patch. Fix submitted by Simon Ruderich. See: http://groups.google.com/group/asciidoc/browse_thread/thread/6436788a10561851 - *FIXED*: Some path attributes were processed as escaped Python strings which could result in corrupted path names with backslash separated Windows path names. Reported by Will. See: http://groups.google.com/group/asciidoc/browse_thread/thread/e8f3938bcb4c8bb4/44d13113a35738ef - *FIXED*: Vertically spanned table cells resulted in incorrect column styles being applied to some cells. Reported by Will: http://groups.google.com/group/asciidoc/browse_thread/thread/c9238380a1f2507a/9afc4559d51e1dbd - *FIXED*: LaTeX backend: fixed bad escapes. Patch submitted by Mark McCurry: http://groups.google.com/group/asciidoc/browse_thread/thread/8c111f1046b33691/158a944cf4d5ff0d?lnk=gst&q=latex+escapes#158a944cf4d5ff0d - *FIXED*: When using slidy backend, display of characters with accents is wrong because of 'meta http-equiv' line missing. Reported by Fabrice Flore-Thebault. See: http://groups.google.com/group/asciidoc/browse_thread/thread/eaf25f21d1da180a Version 8.6.5 (2011-05-20) -------------------------- .Release highlights - The addition of an 'html5' backend to generate HTML 5 output. Apart from the inclusion of 'audio' and 'video' block macros the 'html5' backend is functionally identical to the 'xhtml11' backend. - A new 'flask' theme for 'xhtml11' and 'html5' backends inspired by the http://flask.pocoo.org/docs/[Flask website] styling (see 'toc2' example in the next item below). - The new 'toc2' attribute generates a table of contents in the left hand margin ('xhtml11' and 'html5' backends). link:article-html5-toc2.html[This example] was generated using the following command: asciidoc -b html5 -a icons -a toc2 -a theme=flask article.txt - `a2x(1)` now has a flexible mechanism for copying arbitrary resource files to HTML based outputs -- this is very handy for generating EPUB files with embedded fonts and other resources. * The `a2x(1)` `--resource` option can be used to inject any file into EPUB output documents e.g. CSS resources such as fonts and background images. * Explicitly specified resources are added to the EPUB OPF manifest automatically. * You can explicitly specify file extension MIME types. * The enhanced resource processing works around a couple of DocBook XSL bugs (see link:epub-notes.html[EPUB Notes]). .All additions and changes - A new 'flask' theme for 'xhtml11' and 'html5' backends. A shameless knock-off of the http://flask.pocoo.org/docs/[Flask website] styling. - Added HTML 5 article with 'toc2' table of contents to the example on the AsciiDoc website home page. - Added 'filters' and 'topics' help topics. Fixed documentation errors in help text. Patch submitted by Lionel Orry, see: http://groups.google.com/group/asciidoc/browse_thread/thread/9da9d48a6461ff14 - Pass parent configuration files, command-line attributes and header attributes to table asciidoc filters. Based on patch submitted by Simon Ruderich, see: http://groups.google.com/group/asciidoc/browse_thread/thread/5c792cbb395b753b - Allow a 'title' attribute entry in the document header so that HTML backends can set the 'title' element separately from the displayed document title (the 'doctitle' attribute). - Pass 'lang' attribute to 'asciidoc' table style filter. Patch submitted by Simon Ruderich, see: http://groups.google.com/group/asciidoc/browse_thread/thread/e2100b7cb29283ce - xhtml11,html5: Added 'toc2' attribute which generates a scrollable table of contents in the left hand margin. Based on customized CSS written by Suraj Kurapati, see http://groups.google.com/group/asciidoc/browse_thread/thread/c5e30ee5555877f5 - Added 'asciidoc-confdir' intrinsic attribute which expands to the global conf directory. - Documented that you can specify multiple CSS files with the a2x(1) `--stylesheet` command option. See: http://groups.google.com/group/asciidoc/browse_thread/thread/baf3218551d05a05 - Improved xhtml11 backend's table of contents generation latency. Patch submitted by Hongli Lai. See: http://groups.google.com/group/asciidoc/browse_thread/thread/5a7fe64fbfd65ad - Added html5 backend. - For consistency converted all DOS formatted configuration and text files to UNIX format. - html4: Added ability to use 'role' attribute with most block elements. Patch contributed by Simon Ruderich. See http://groups.google.com/group/asciidoc/browse_thread/thread/5620ba634fdb030a - Added Dutch language configuration file and accompanying test file (contributed by Dag Wieers, see http://groups.google.com/group/asciidoc/browse_thread/thread/f969b9ce987d7f5d). - Configuration files are loaded in two passes when the -e command-line option is used (the same behavior as when the -e option is not used). Patch submitted by haad. See http://groups.google.com/group/asciidoc/browse_thread/thread/cd0f47495fd04181 and http://code.google.com/p/asciidoc/issues/detail?id=6&q=label%3APriority-Medium - Documented how to include embedded fonts in an EPUB document. - a2x: Added `.<ext>=<mimetype>` resource specifier syntax. - a2x: Enable admonition icons in example EPUBs. - a2x: allow environment variables and tilde home directories in resource manifest files. - a2x: don't process non-existent resource directories. - a2x: assume resource option is a directory if the name ends with a directory separator. - a2x: Added a new syntax to the `--resource` option specifier which allows the destination path to be specified. - a2x: Copy resources referenced in the OPF and resources referenced by the generated HTML (in theory DocBook XSL should ensure they are identical but this is not always the case e.g. http://sourceforge.net/tracker/?func=detail&atid=373747&aid=2854075&group_id=21935). - Drop border from callout list image links. - html4: Moved manpage NAME section out of header so that the name section is rendered when the asciidoc(1) `--no-header-footer` option is specified (so that manpages processed blogpost include the NAME section). - Vim syntax highlighter: TODO markers now appear in list items and literal paragraphs and blocks. - Constrained quotes can now be bounded on the left by a } character. See: http://groups.google.com/group/asciidoc/browse_thread/thread/b24cc3362f35b801 - Added text-decoration roles (underline, overline, line-through, blink) for xhtml11 and html5 outputs. .Bug fixes - *FIXED*: epubcheck 1.1 previously issued a warning for files not registered in the manifest (epubcheck 1.0.5 did not). This resulted in a problem compiling the adventures-of-sherlock-holmes.txt example (the `underline.png` resource was not in the manifest). Version 8.6.4 (2011-02-20) -------------------------- .Additions and changes - Added text foreground and background color along with text size CSS styles for XHTML outputs, see {website}userguide.html#X96[]. - Vim syntax highlighter: highlight macros that start with an attribute reference (a common idiom). - Vim syntax highlighter: highlight attribute references in macro attribute lists. - Attribute entries can be used to set configuration markup templates. - Double-width East Asian characters in titles now correctly match the title underline widths. Submitted by Changjian Gao (see http://groups.google.com/group/asciidoc/browse_thread/thread/77f28b0dfe60d262). - Implemented {website}manpage.html[asciidoc(1)] filter commands, see: http://groups.google.com/group/asciidoc/browse_thread/thread/40c64cd33ee1905c - User's home directory now calculated in a platform independent manner. - Added double-quote characters to French language file. Patch contributed Yves-Alexis Perez, see: http://groups.google.com/group/asciidoc/browse_thread/thread/e15282f072413940 - Vim Syntax highlighter: Highlight closing OpenBlocks which immediately follow a literal paragraph. - Changed UNIX `/dev/null` to OS independent `os.devnull` in filters code. Suggested by Henrik Maier: http://groups.google.com/group/asciidoc/browse_thread/thread/5ac8e8ea895147e9 - Vim syntax highlighter: Single and double quoted text now highlights correctly when preceded by an attributes list. - Added Ukrainian language file (`lang-uk.conf`). Added double-quote characters to Russian language file.conf). Patches contributed by Lavruschenko Oleksandr, see http://groups.google.com/group/asciidoc/browse_thread/thread/e15282f072413940 - Single and double quote characters are now set using the `{lsquo}`, `{rsquo}`, `{ldquo}` and `{rdquo}` attributes. This makes is easy to customise language specific quotes. See: http://groups.google.com/group/asciidoc/browse_thread/thread/e15282f072413940 - Implemented 'conf-files' attribute to allow configuration files to be specified in the source document. Suggested by Lex Trotman, see: http://groups.google.com/group/asciidoc/browse_thread/thread/b11066a828ab45b9 .Bug fixes - *FIXED*: Auto-generated section title ids are now Unicode aware. - *FIXED*: Setting 'quotes' configuration entries using document attribute entries failed if the attribute entry was not in the document header. See: http://groups.google.com/group/asciidoc/browse_thread/thread/a1dd0562dee8b939 - *FIXED*: If the input and output file names were different then the output file name was incorrectly used to synthesize 'docinfo' file names. Reported by Christian Zuckschwerdt. - *FIXED*: An error can occur when more than one consecutive quotes are defined as a blank string. Reported by Peggy Russell. - *FIXED*: Encoding error in automatically generated author initials. Patch submitted by Xin Wang. See: http://groups.google.com/group/asciidoc/browse_thread/thread/f44615dca0b834e9 Version 8.6.3 (2010-11-14) -------------------------- .Additions and changes - Added and 'unbreakable' option to bulleted and numbered lists (thanks to Henrik Maier for this patch). - Added `ifeval::[]` system macro (thanks to Henrik Maier for suggesting this feature). - The image 'scale' attribute sets the DocBook 'imagedata' element 'scale' attribute. Patch submitted by Henrik Maier. - DocBook 'preface', 'colophon' and 'dedication' style section titles now work. Based on patch submitted by Henrik Maier. - 'a2x': Do not inject xsltproc parameters if they were specified on the command-line (parameter double-ups generate xsltproc 'Global parameter already defined' errors). - 'a2x': Refactored xsltproc parameter injection. - 'a2x': articles chunked at section level by default. - 'attributes', 'titles' and 'specialcharacters' sections are now read from the local `asciidoc.conf` file before the header is parsed. This fixes a regression problem. See http://groups.google.com/group/asciidoc/browse_thread/thread/1b3f88f1f8118ab3 - Document header attributes take precedence over configuration file attributes. - Refactored 'music', 'graphviz' and 'latex' filter configurations. - Refactored source filter configuration and added literal paragraph source style. - Separated paragraph styles from paragraph syntax -- any style can be applied to any syntax. - Added 'listing' and 'quote' paragraph styles. - Renamed paragraph 'default' style to 'normal'. - Updated `--help` option text. - 'a2x': The `asciidoc_opts`, `dblatex_opts`, `fop_opts` and `xsltproc_opts` command-line options can be specified multiple times. This makes embedding multiple 'a2x' options in document headers easier to manage and less error prone. - Added ASCIIMathML and LaTeXMathML support to slidy backend. - Pass the 'encoding' attribute to the Pygments source highlight filter command. - 'a2x': HTML Help `.hhk` file named after AsciiDoc source file. - 'a2x': Added `--xsl-file` option to allow custom XSL stylesheets to be specified. - Make builds the man pages. Patch submitted by Sebastian Pipping. See http://groups.google.com/group/asciidoc/browse_thread/thread/c21c2902c29bae64 .Bug fixes - *FIXED*: Sometimes double backquotes were misinterpreted as inline literal macros. See: http://groups.google.com/group/asciidoc/browse_thread/thread/f510ea82a88aaee8 - *FIXED*: Regression in 8.6.2: command-line attributes were not available to the global asciidoc.conf. - *FIXED*: Postponed document title substitutions until backend conf files have been loaded (8.6.2 regression). See http://groups.google.com/group/asciidoc/browse_thread/thread/42b63ce90c2563b8 - *FIXED*: The XSL Stylesheets customizations were preventing chapter and section level TOCs from being generated when using XSL Stylesheets via 'a2x'. See http://groups.google.com/group/asciidoc/browse_thread/thread/42b63ce90c2563b8 - *FIXED*: ``UnicodeDecodeError: \'ascii' codec can't decode byte'' error. This error is due to a limitation in the Python HTMLParser module, see: http://bugs.python.org/issue3932 - *FIXED*: Broken `--no-conf` option (8.6.2 regression). - *FIXED*: Regression in 8.6.2: configuration attribute entries set in the document header may cause a 'FAILED: incomplete configuration files' error. - *FIXED*: 'html4': corrected self closed meta tags. - *FIXED*: 'a2x' regression in 8.6.2: HTML Help `.hhp` file name had reverted to default name instead of the AsciiDoc source file name. See: http://groups.google.com/group/asciidoc/browse_thread/thread/dedc961b23e9ac56 - *FIXED*: Attributes in man page title caused it to be dropped resulting in invalid DocBook output. - *FIXED*: `make uninstall` now deletes the `asciidoc.1` and `a2x.1` man pages. Version 8.6.2 (2010-10-03) -------------------------- .Additions and changes - 'docbook45': Enclosed bibliographic lists in a 'bibliodiv' -- you can now include block titles with bibliographic lists. - Added optional 'keywords', 'description' and 'title' document header meta-data attributes to HTML backends for SEO. - AttributeEntry values can span multiple lines with a ' +' line continuation. - Added 'slidy' backend (based on Phillip Lord's slidy backend https://phillordbio-asciidoc-fixes.googlecode.com/hg/). - Implemented 'OpenBlock' 'partintro' style for book part introductions. - Comment lines substitute special characters only. - Backend specific global configuration files (all except `asciidoc.conf`) are loaded *after* the header has been parsed -- virtually any attribute can now be specified in the document header. - 'xhtml11': Volnitsky theme: allow bulleted lists to have intervening children. - 'xhtml11': refactored CSS font-family rules to start of file. - 'xhtml11': list bullets colored gray. - 'ifdef' and 'ifndef' system block macros accept multiple attribute names: multiple names separated by commas are 'ored'; multiple attribute names separated by pluses are 'anded'. - 'xhtml11': Volnitsky theme: set max-width on labeled lists. - Vim syntax highlighter: Entities inside quoted text are now highlighted. - Added 'role' and 'id' attributes to HTML outputs generated by 'OpenBlocks'. - Allow floating titles to generate 'h1' (level 0) titles in HTML outputs. - Added a 'start' attribute to numbered lists to set the start number. See: http://groups.google.com/group/asciidoc/browse_thread/thread/c14a4c3b1e4f6dc5 - Added two more docinfo attributes 'docinfo1' and 'docinfo2' to allow and control inclusion of a shared docinfo file. See http://groups.google.com/group/asciidoc/browse_thread/thread/c948697943432e24 - Vim syntax highlighter highlights multi-name conditional attributes. - LaTeX backend patch submitted by Andreas Hermann Braml (see http://groups.google.com/group/asciidoc/browse_thread/thread/1c415fc4540ce5e5). - Implemented 'backend aliases'; renamed `docbook.conf` to `docbook45.conf` and aliased 'docbook45' backend to 'docbook'; aliased 'xhtml11' to 'html'. .Bug fixes - *FIXED*: Filter commands located in filter directories local to the source document that where not in the search 'PATH' where not found. - *FIXED*: Volnitsky theme: Verseblock font set normal instead of monospaced. - *FIXED*: 'xhtml11': Callout icons were not rendered as Data URIs when 'icons' and 'data-uri' attributes were specified. - *FIXED*: Long standing bug: nested include macros did not restore the parent document 'infile' and 'indir' attributes. See: http://groups.google.com/group/asciidoc/browse_thread/thread/8712a95e95a292a7 - *FIXED*: 'html4': set preamble ID anchor. - *FIXED*: 'xhtml11': dropped unusable 'id' and 'role' attributes from preamble template. - *FIXED*: Bug in multi-name conditional attributes e.g. `{x,y#}` fails if x or y is undefined. - *FIXED*: latex filter not being installed by Makefile. Thanks to Grant Edwards for this patch. See http://groups.google.com/group/asciidoc/browse_thread/thread/c4427a3902d130a8 - *FIXED*: 'a2x': Long-standing bug in a2x which always passes `--string-param navig.graphics 0` to 'xsltproc', regardless of whether icons are enabled or not. Reported by Michael Wild: http://groups.google.com/group/asciidoc/browse_thread/thread/59a610068e4acb58 Version 8.6.1 (2010-08-22) -------------------------- .Additions and changes - 'a2x': `--resource-dir` option renamed to `--resource`. - 'a2x': `--resource` option accepts both file and directory names. - 'a2x': Added `-m,--resource-manifest` option. - Added Vim syntax highlighting for quote attribute lists. - Load 'asciidoc.conf' from all configuration directories before any other configuration files. This ensures that attributes used for conditional inclusion are set before backend configuration files are processed. Previously if you wanted to control global conf file inclusion your only choice was to modify the global 'asciidoc.conf' file. - AsciiDoc 'Quote element' attributes have been simplified and generalized -- positional color and size attributes and named 'role' attribute have been replaced by a single positional attribute. .Bug fixes - *FIXED*: 'testasciidoc.py': `BACKEND` command argument was being ignored. - *FIXED*: Broken 'docinfo' file functionality in 'html4' and 'xhtml11' backends (previously the docinfo file was included in the 'body' instead of the 'header'). Regression issues ~~~~~~~~~~~~~~~~~ This release breaks compatibility with quoted element positional color and size attributes (HTML backends). To revert to the deprecated quote behavior define the 'deprecated-quotes' attribute in the global `asciidoc.conf` file or on the command-line. For a more detailed explanation of the rationale behind this change see http://groups.google.com/group/asciidoc/browse_thread/thread/b22603bfb879418c. Version 8.6.0 (2010-08-16) -------------------------- .Additions and changes - The AsciiDoc distribution can now be built ``out of the box'' from the distribution tarball or the Mercurial repository (provided you have the requisite build applications installed). - The global configuration files directory is ignored by both 'asciidoc' and 'a2x' if AsciiDoc configuration files are installed in the same directory as the asciidoc executable. This change allows both a system wide copy and multiple local copies of AsciiDoc to coexist on the same host PC. - CSS 'quirks' mode is no longer the default 'xhtml11' output (http://groups.google.com/group/asciidoc/browse_thread/thread/1c02d27d49221aa2). - Relaxed anchor ID name syntax (http://groups.google.com/group/asciidoc/browse_thread/thread/5f3e825c74ed30c). - Added document files: `doc/epub-notes.txt`, `doc/publishing-ebooks-with-asciidoc.txt`. - 'a2x': If all other resource locations are exhausted then recursively search directories named 'images' and 'stylesheets' in the 'asciidoc' configuration files directory. - 'a2x': options can also be set in the AsciiDoc source file. If the source file contains a line beginning with '// a2x:' then the remainder of the line will be treated as a2x command-line options. - Added dblatex table-width processing instruction -- tables generated by dblatex now observe the AsciiDoc table width as a percentage (thanks to Gustav Broberg for suggesting this enhancement). - 'a2x': Don't exit if the `--epubcheck` option is set and 'epubcheck' is missing, issue warning and continue. - Added a global 'plaintext' attribute for dealing with large amounts of imported text. - The author name format has been relaxed, if the the author does not match the formal specification then it is assigned to the 'firstname' attribute (previously asciidoc exited with an error message). - FAQ and documentation updates. - Refactored chunked.xsl and epub.xsl files. - Exchanged article.epub for more relevant book.epub on website. - Put asciidoc.epub User Guide on website. - 'a2x': Chunking EPUB and HTML outputs set to a per chapter basis and the first chapter is separate from preceding contents. - Changed dates format in example article and books to suppress EPUB validation error. - Added 'style' and 'role' CSS classes to xhtml11 section templates. - Added the 'role' element to xhtml11 backend block templates. - Suppressed md5 module deprecation warning from music and Graphviz filters. - Pygments (http://pygments.org/) option added to source code highlight filter. Based on Pygments source code filter written by David Hajage (http://groups.google.com/group/asciidoc/browse_thread/thread/d8d042f5a3021369/8934ebbb8cb7144b). - xhtml11: Added a new theme (volnitsky). Written and contributed by Leonid V. Volnitsky. - xhtml11: Set body element class name to document type. - Added refentryinfo element and contents (including revdate) to man page DocBook output. Man pages are now dated using the revdate attribute value if it has been defined. Based on patch supplied by Rainer Muller http://groups.google.com/group/asciidoc/browse_frm/thread/319e5cd94493e330/3fcb83fab067af42. - Added `{template:...}` system attribute. - Table of contents attribute 'toc' can now be specified in the document header. - Reimplemented music and latex filter -m option functionality when the input is stdin using MD5 checksums. - Added 'latex' filter. - Added auto file name generation to image generating filters (latex,music, graphviz). - Added `counter2` and `set2` system attributes (to implement image auto file name generation). - Undefined attribute in filter command generates error but does not exit. - Attribute substitution proceeds from start line to end line (previously was in reverse order which was really confusing). - Tidied up music filter code: * Format option is optional and default to 'abc' unless Lilypond notation detected. * The -m option does not apply to stdin input. - Added paragraph styles to music and graphviz filters. - Documented dynamic template names. 753: Graphviz filter can now generate SVG format images. Patch submitted by Elmo Todurov, see: http://groups.google.com/group/asciidoc/browse_frm/thread/fe9b33d8f5f1e0af The xhtml11 SVG Graphviz template marked EXPERIMENTAL. No SVG support for other backends. - AsciiDoc template names can now contain embedded attribute references. - Added 'legalnotice' tag to `doc/article-docinfo.xml` example. - xhtml11 backend: Callouts and callout lists display callout icons when the 'icons' attribute is defined. See http://groups.google.com/group/asciidoc/browse_frm/thread/8eda3ea812968854 - Document attribute names are case insensitive everywhere, this makes using attribute entries more consistent e.g. previously :VERS: had to be referred to with {vers} ({VERS} did not work). - Hungarian translation of footer-text (submitted by Miklos Vajna). See http://groups.google.com/group/asciidoc/browse_frm/thread/7174cb7598993c72# - asciidocapi.py 0.1.2: Can now load AsciiDoc script named asciidoc. See http://groups.google.com/group/asciidoc/browse_frm/thread/66e7b59d12cd2f91 Based on patch submitted by Phillip Lord. - German translation of footer-text (submitted by Simon Ruderich). See http://groups.google.com/group/asciidoc/browse_frm/thread/7174cb7598993c72 - Pushed HTML footer text into language conf files with the introduction of a [footer-text] configuration file template section. See http://groups.google.com/group/asciidoc/browse_frm/thread/7174cb7598993c72 .Bug fixes - *FIXED*: Sometimes multiple double quoted text elements in the same paragraph were mistakenly seen as starting with an inline literal. See http://groups.google.com/group/asciidoc/browse_frm/thread/219c86ae25b79a21 - *FIXED*: 'localtime' and 'doctime' attributes calculated incorrect daylight saving / non daylight saving timezones and consequently so did HTML footers. Patch submitted by Slawomir Testowy. See http://groups.google.com/group/asciidoc/browse_frm/thread/af652507caf6cec9 - *FIXED*: Missing selector for 'List of examples' title in DocBook CSS file. Patch submitted by Laurent Laville. See http://groups.google.com/group/asciidoc/browse_frm/thread/3f96900f7fbf5620 - *FIXED*: Broken accents in lang-hu.conf. See: http://groups.google.com/group/asciidoc/browse_frm/thread/7174cb7598993c72 - *FIXED*: DocBook XSL generated HTML callout lists are properly aligned. Submitted by Lionel Orry. See http://groups.google.com/group/asciidoc/browse_frm/thread/2ff802547b6a75ea - *FIXED*: Filter execution now occurs prior to filter markup template substitution to ensure image data URI encoding happens after image generation (see http://groups.google.com/group/asciidoc/browse_thread/thread/14e8fcb289a135b). - *FIXED*: The section numbers no longer increment when the 'numbered' attribute is undefined (see http://groups.google.com/group/asciidoc/browse_thread/thread/faa36e9e5c7da019/d24cab3fe363e58d). Version 8.5.3 (2010-01-18) -------------------------- .Additions and changes - a2x: Added a2x configuration file options ASCIIDOC_OPTS, DBLATEX_OPTS, FOP_OPTS, XSLTPROC_OPTS (appended to same-named command-line options). See http://groups.google.com/group/asciidoc/browse_frm/thread/ac4b9bfa2116db28 - Dropped `.hgignore` from the repository. See http://groups.google.com/group/asciidoc/browse_frm/thread/c17abd175778f5ea - Don't pass verbose options to asciidoc table filter so that asciidocapi messages are not discarded. See: http://groups.google.com/group/asciidoc/browse_frm/thread/c17abd175778f5ea - Added `./tests/data/lang-pt-BR-test.txt` file to the repository. - xhtml11: Verse block and verse paragraph content enveloped in a 'pre' tag (instead of a 'div') so it renders better in text-only browsers. See: http://groups.google.com/group/asciidoc/browse_frm/thread/1b6b66adb24e710 - User Guide: Clarified Passthrough Blocks (suggested by Simon Ruderich). - FAQ: 'How can I include lines of dashes inside a listing block?' - FAQ errata and updates (submitted by Simon Ruderich). - User Guide errata. - Simplified 'asciidoc-toc' processing instruction and included lists of figures, tables, examples and equations in books (i.e. revert to pre-8.5.0 behavior). - Attempted to have dblatex recognise the 'asciidoc-toc' processing instruction but couldn't get it to work. - Added 'notitle' attribute to allow the document title to be hidden. .Bug fixes - *FIXED*: Regression: system attribute escaping did not work. - *FIXED*: Website: broken image links in chunked User Guide. Version 8.5.2 (2009-12-07) -------------------------- .Additions and changes - Updated example article and book documents with the recommended explicit section name syntax (see the 'Special section titles vs. explicit template names' sidebar in the AsciiDoc 'User Guide'). - Added Italian language configuration file (contributed by Fabio Inguaggiato). - Added 'header' table style. See: http://groups.google.com/group/asciidoc/browse_frm/thread/a23fea28394c8ca9 - Pass 'icons', 'data-uri', 'imagesdir', 'iconsdir' attributes to 'asciidoc' table style filter so that images are rendered in table cells. - Pass 'trace' and 'verbose' attributes to 'asciidoc' table style filter so diagnostic information is printed from table cell source. - The 'eval' system attribute can be nested inside other system attributes. - HTML outputs: Table and figure caption punctuation set to more usual syntax. - docbook backend: footnotes can now contain embedded images. See http://groups.google.com/group/asciidoc/browse_frm/thread/50b28f6941de111a - CSS tweaks so that tables processed by DocBook XSL Stylesheets have the default asciidoc xhtml11 backend styling. See http://groups.google.com/group/asciidoc/browse_frm/thread/dfe5204d5b2c9685 - Block titles take precedence over section titles to avoid titled delimited blocks being mistaken for two line section titles (see http://groups.google.com/group/asciidoc/browse_frm/thread/f0b6f9989f828c3). - Section title trace displays level and title text. - FAQ additions. - Added `{zwsp}` (zero width space) attribute. - Undefined paragraph styles are reported (previously threw a runtime error). - Eliminated empty preamble generation. - Floating titles now processed in all contexts. - Implemented auto-lettered appendix names and updated example documents. - Section numbering can be disabled in HTML outputs with a ':numbered!:' AttributeEntry. - xhtml11: Nicer default quote block styling. - Exclude floating titles from xhtml11 table of contents. Patch submitted by Mark Burton (see http://groups.google.com/group/asciidoc/browse_frm/thread/14aefc1cb6bd85f5). - Enhanced `doc/article-docinfo.xml` example docinfo file. - Vim syntax highlighter improvements. .Bug fixes - *FIXED*: Absolute 'imagesdir' and 'iconsdir' attribute path names do not work with the xhtml11 data-uri encoding. See http://groups.google.com/group/asciidoc/browse_frm/thread/cb8b7694bbc82a6 - *FIXED*: Regression issue with inline data-uri images. See http://groups.google.com/group/asciidoc/browse_frm/thread/cb8b7694bbc82a6 - *FIXED*: An unexpected error occurred when processing a table containing CSV data if the 'cols' attribute was not explicitly specified. See http://groups.google.com/group/asciidoc/browse_frm/thread/4b0f364b477ec165 Version 8.5.1 (2009-10-31) -------------------------- .Additions and changes - If an AsciiDoc document file begins with a UTF-8 BOM (byte order mark) then it is passed transparently through to the output file. The BOM is stripped from included files. See http://groups.google.com/group/asciidoc/browse_frm/thread/e5e61823ff4203cd - Added AsciiDoc 'role' attribute to quoted text. Sets 'class' attribute in HTML outputs; 'role' attribute in DocBook outputs. See: http://groups.google.com/group/asciidoc/browse_frm/thread/2aa3e5711d243045 - Conditional attribute syntax extended: they now accept multiple ORed or ANDed attribute names. - The 'xhtml11' backend dynamically processes footnotes using JavaScript. - Tidied up and namespaced 'xhtml11' JavaScript. - Superceded `javascripts/toc.js` with `javascripts/asciidoc-xhtml11.js`. - Added 'disable-javascript' attribute ('xhtml11' backend). - Styled HTML footnotes. - Added links to HTML footnote refs. - Added title attribute to inline image macros to display popup ``tooltip'' (HTML outputs only). - Single-quoted attribute values are substituted in block macros (just like the AttributeList element). - For consistency changed underscores to dashes in attribute names. Public attributes with underscores retained for compatibility. - Added Brazilian Portuguese language configuration file (contributed by Thiago Farina). - Added 'leveloffset' attribute to make it easier to combine documents. .Bug fixes - *FIXED:* a2x: `--dblatex-opts` is now processed last so `asciidoc-dblatex.xsl` params can be overridden. Patch submitted by Mark Fernandes (see http://groups.google.com/group/asciidoc/browse_frm/thread/5215c99dcc865e7d). - *FIXED:* An error occurred if a directory in current path with same name as executable. Regression issues ~~~~~~~~~~~~~~~~~ There's been quite a bit of tiding up to the xhtml11 JavaScript. The most obvious change is that the toc.js script has been superceded by asciidoc-xhtml11.js so if you're linking you'll need get a copy of the new file from the distribution javascripts directory. If you use customised xhtml11 configuration file `[header]` and `[footer]` sections and you want them to use the new footnotes feature then you've got a bit more work to do: . The onload event expression changed. . The new `<div id="content">...</div>` div envelopes document content. . You need to add `<div id="footnotes">...</div>` div to the `[footnotes]` section for footnotes to work. . Drop the `ifdef::toc[]` macro that surround JavaScript inclusion. Take a look at the [header] and [footer] changes in the xhtml11.conf diff to see what's going on: http://hg.sharesource.org/asciidoc/diff/55a5999bfd04/xhtml11.conf Version 8.5.0 (2009-10-04) -------------------------- .Additions and changes - Implemented a 'float' attribute for tables and block images (HTML outputs only). - Added `unfloat::[]` block macro to cancel floating. - Added table 'align' attribute to (HTML outputs only). - The image 'align' attribute now works with HTML backends. - Renamed table cell 'align' attribute to 'halign' so it doesn't clash with the new table 'align' attribute. - Added 'breakable' and 'unbreakable' options to AsciiDoc example and block image elements. - `[miscellaneous]` section entries now update properly when set from a document 'AttributeEntry'. - `[miscellaneous]` section `pagewidth` entry accepts fractional values. - Fractional column widths are now calculated correctly when using fractional 'pageunits' (DocBook tables). - Use DocBook XSL table width processing instructions. - asciidoc 'KeyboardInterrupt' exits with error code 1. - Added 'set' system attribute to allow attributes to be set from configuration file templates. - Allow constrained quotes to be bounded on the left by a colons and semicolons, see http://groups.google.com/group/asciidoc/browse_frm/thread/b276a927fdc87995 - Titled listing and literal blocks (DocBook outputs) no longer default to examples. See http://groups.google.com/group/asciidoc/browse_frm/thread/f4df7c9eec01a9bd - Updated language file table, figure and example captions to accommodate new auto-numbering in html4 and xhtml11 backends. - Titled source highlight filter listings generated by docbook backend are now rendered as examples. See http://groups.google.com/group/asciidoc/browse_frm/thread/f4df7c9eec01a9bd - Implemented 'counter' system attribute. - Use 'counter' system attributes to number titled tables and block images in HTML backends. - Added program name suffix to console messages. - Added substitution to the 'AttributeEntry' passthrough syntax, this replaces the now unnecessary 'attributeentry-subs' attribute. - Allow passthrough inline macro syntax to be used in 'AttributeEntrys'. - Reinstated 8.4.4 default 'lang' attribute behavior. See http://groups.google.com/group/asciidoc/browse_frm/thread/d29924043e21cb6a. - Added 'max-width' attribute to the 'xhtml11' backend to set maximum display width. See http://groups.google.com/group/asciidoc/browse_frm/thread/74d9a542b79ccd50. - Added 'a2x.py', a rewritten and much enhanced version of the old 'a2x' bash script. - The new 'a2x' can output EPUB formatted documents. - Added `--safe` option and deprecated `--unsafe` option. Patch submitted by Todd Zullinger. See http://groups.google.com/group/asciidoc/browse_frm/thread/ea3a8ea399ae5d2a and http://groups.google.com/group/asciidoc/browse_frm/thread/69b3183fdab7c6a5 - Added 'CHECK' and 'TEST' todo highlight words to Vim syntax highlighter. - Line breaks, page breaks, and horizontal rulers are now processed by dblatex, thanks to a patch submitted by Mark Fernandes (http://groups.google.com/group/asciidoc/browse_frm/thread/a254cf949ea7c6c5). - Allow footnote macros hard up against the preceding word so the rendered footnote mark can be placed against the noted text without an intervening space (patch submitted by Stas Bushuev, http://groups.google.com/group/asciidoc/browse_frm/thread/e1dcb7ee0efc17b5). - Normalized path in `safe_filename` function (submitted by Todd Zullinger, http://groups.google.com/group/asciidoc/browse_frm/thread/69b3183fdab7c6a5). - The Asciidoc 'numbered' and 'toc' attributes cause DocBook outputs to include `asciidoc-numbered` and `asciidoc-toc` processing instructions, these are used by DocBook XSL to include section numbering and table of contents (like Asciidoc HTML backends). For backward compatibility both 'numbered' and 'toc' attributes are defined by default when the 'docbook' backend is used. See http://groups.google.com/group/asciidoc/browse_frm/thread/1badad21ff9447ac. - 'data-uri' attribute is now evaluated dynamically and can be set in document body (previously could only be set from command-line). - Added 'sys3' and 'eval3' system attributes to passthrough generated output, this fixes the data-uri inline image problem: http://groups.google.com/group/asciidoc/browse_frm/thread/a42db6bc54c2c537. - Missing language file generates a warning instead of an error. - Updated Spanish language file (updates contributed by Gustavo Andrés Gómez Farhat). .Bug fixes - *FIXED:* Options in an 'AttributeList' option attribute are merged with (rather than replace) configuration file options. - *FIXED:* Comment blocks and comment block macros no longer consume preceding block titles and attribute lists. - *FIXED:* `examples/website/layout1.conf` and `examples/website/layout2.conf` TOC problem. Submitted by Mark (burtoogle). See http://groups.google.com/group/asciidoc/browse_frm/thread/b9c63be67dd1d11c - *FIXED:* Only the first occurrence of passthrough macro was substituted. Patch submitted by Peter Johnson. See http://groups.google.com/group/asciidoc/browse_frm/thread/1269dc2feb1a482c - *FIXED:* asciidoc now runs on Jython 2.5.0. - *FIXED:* Wordpress margins and pads in a number of block elements (http://groups.google.com/group/asciidoc/browse_frm/thread/36ff073c79cbc20a). Regression issues ~~~~~~~~~~~~~~~~~ - Tables generated by 'dblatex' occupy 100% of the available space regardless of the 'width' attribute setting. To restore width behavior change the 'pageunits' miscellaneous parameter to 'pt'. You can do this from the command-line with the `-a pageunits=pt` option. See {website}userguide.html#X89[DocBook table widths]. Version 8.4.5 (2009-05-24) -------------------------- .Additions and changes - Added manpage 'Name' and 'Synopsis' section title customization to languages configuration files. - Synopsis manpage section no longer mandatory. - Section markup templates can be specified by setting the title's first positional attribute or 'template' attribute. - The article and book document header can now include a revision remark. - A 'role' attribute can now be applied to block elements. This adds the 'role' attribute to DocBook elements. Patch submitted by http://groups.google.com/group/asciidoc/browse_thread/thread/62278a054188a038[Noah Slater]). - Renamed 'revision' and 'date' attributes to more sensible and consistent 'revnumber' and 'revdate' (old names deprecated but still recognized). - Moved backend specific attributes to Appendix H in User Guide. - Renamed and generalized the docbook backend revision history inclusion mechanism to 'docinfo' to reflect the use of all article or book information elements. The old revision history names still work but have been deprecated. - Refactored docbook.conf headers. - Moved line break replacement from `[replacements]` to `[replacements2]` so the replacement occurs after the mailto macro. This fixes bug http://groups.google.com/group/asciidoc/browse_thread/thread/4bdcdfb0af773e2 - The typewriter to punctuation apostrophe replacement can be escaped with a backslash. - Graphviz filter outputs images to 'imagesdir' if it is defined. - Made the block image macro generic so that it can be used for filter outputs. As a result Music and Graphviz filters: * Have been greatly simplified. * Honor the 'data-uri' attribute. * 'html4' outputs no longer generate W3C validation warning. - The 'iconsdir' attribute no longer requires a trailing directory separator character. - Removed borders around linked html4 images. - Added 'html4' specific HTML output for music filter. - 'a2x': Added `--unsafe` option (shortcut for `--asciidoc-opts=--unsafe`). - 'a2x': The FOP executable can now be named `fop` (this is the default name in some distributions). - Attributes are now substituted in the system macro attribute list. - If the output is set to stdout (i.e. no output directory is defined) then Music and Graphviz filters will output included images to the source file directory. - Added 'name' directive to 'testasciidoc'. - Added lots of 'testasciidoc' new tests. - Moved language specific configuration parameters into `lang-en.conf` file. - 'lang' attribute entry can be specified in the AsciiDoc source file (preceding the header). - Removed cruft from A-A-P scripts and documented them. - Added German language config file (`lang-de.conf`) contributed by Michael Wild. - Added French language config file (`lang-fr.conf`) contributed by Yves-Alexis Perez. - Added Russian language config file (`lang-ru.conf`) contributed by Artem Zolochevskiy. - Added Hungarian language config file (`lang-hu.conf`) contributed by Miklos Vajna. .Bug fixes - *FIXED:* Multiple manpage names are now handled correctly when generating DocBook output, each name now generates a separate DocBook `<refname>` element. See http://groups.google.com/group/asciidoc/browse_thread/thread/c93bb4db025225d8 - *FIXED:* A problem that caused AttributeEntries preceding the header to be overwritten when the language conf file loaded. - *FIXED:* Possible inline macro name ambiguity e.g. link matches olink. - *FIXED:* The documented macro definition deletion behavior had been broken for a long time. - *FIXED:* Email addresses not recognized when followed by a period character. - *FIXED:* Hyphens in mailto macros can delimit nested addresses e.g. \bloggs@mail was processed inside \mailto:joe-bloggs@mail-server.com[Mail]. - *FIXED:* User name in FTP URI generated incorrect FTP link. See http://groups.google.com/group/asciidoc/browse_thread/thread/1d796a9c9ddb2855 - *FIXED:* Source highlighter now works with Wordpress backend (see http://groups.google.com/group/asciidoc/browse_thread/thread/6d8c716748b109e3). [[X2]] Regression issues ~~~~~~~~~~~~~~~~~ . A colon following the date in the AsciiDoc header is treated as a revision remark delimiter -- this could be an issue if you have used a colon in the header date. Version 8.4.4 (2009-04-26) -------------------------- .Additions and changes - Added table column and row spanning. - Table styles can now be applied per cell. - Vertical cell alignment can be applied to columns and individual cells. - Added table 'align' attribute to set horizontal alignment for entire table. - Included Geoff Eddy's update of the experimental LaTeX backend. - A new attribute named 'trace' controls the output of diagnostic information. If the 'trace' attribute is defined then element-by-element diagnostic messages detailing output markup generation are printed to stderr. - Added 'literal' paragraph style (allows 'literal' style to be applied to normal paragraphs). - Deleted unused `replacements2` from `xhtml11.conf`. - Added `replacements2` to default substitutions. - 'testasciidoc.py': messages to 'stdout', only diffs to 'stderr'. - Added transparency to `smallnew.png` image. .Bug fixes - All combinations of leading comments and attribute entries at the start of a document are now skipped correctly. - *FIXED:* `./configure` doesn't support `--docdir` as expected (patch submitted by Artem Zolochevskiy) - *FIXED:* Constrained quotes were incorrectly matched across line boundaries e.g. the string `+\nabc+` incorrectly matched a monospace quote. Version 8.4.3 (2009-04-13) -------------------------- .Additions and changes - DocBook outputs default to DocBook version 4.5 doctype (previously 4.2). - Configuration file `[specialsections]` definitions can be undefined by setting their configuration entry values blank. - The Makefile 'install' target depends on the 'all' target to ensure pre-install patches are applied. - 'testasciidoc.py' now emits user friendly messages if: . the configuration file is missing. . an illegal backend is specified. . an illegal test number is specified. .Bug fixes - Fixed http://groups.google.com/group/asciidoc/browse_thread/thread/fd27add515597c06[missing template section] error. - The 'testasciidoc.py' `--force` option no longer deletes test data files that were not specified. - Dropped second quotes substitution in table cells -- it had effectively disabled quote escaping in table cells. Version 8.4.2 (2009-03-19) -------------------------- .Additions and changes - Added {website}testasciidoc.html[testasciidoc], a tool to verify AsciiDoc conformance. - A warning is issued if nested inline passthroughs are encountered. - 'asciidocapi': setting an attribute value to `None` will undefine (delete) the attribute (this in addition to the `name!` attribute name format that the `asciidoc(1)` command uses). .Bug fixes Version 8.4.1 (2009-03-10) -------------------------- .Additions and changes - AsciiDoc now has a {website}asciidocapi.html[Python API]. The following minimal example compiles `mydoc.txt` to `mydoc.html`: + [source,python] ------------------------------------------------------------------------------- from asciidocapi import AsciiDocAPI asciidoc = AsciiDocAPI() asciidoc.execute('mydoc.txt') ------------------------------------------------------------------------------- - Backtick quoting for monospaced text is now implemented as an 'inline literal' passthrough. This makes more sense since monospace text is usually intended to be rendered literally. See <<X2,Regression issues>> below for the impact this may have on existing documents. Here are some examples that would previously have had to be escaped: The `++i` and `++j` auto-increments. Paths `~/.vim` and `~/docs`. The `__init__` method. The `{id}` attribute. - Added `--doctest` option to `asciidoc(1)` command. - Added an optional second argument to 'BlockId' element, this sets the `{reftext}` attribute which in turn is used to set the `xreflabel` attribute in DocBook elements. - Added lists to `--help` syntax summary. - `{infile}` and `{indir}` attributes reflect the current input file (previously always referred to the root document). - `{docfile}` (new) and `{docdir}` (previously deprecated) attributes refer to the root document specified on the `asciidoc(1)` command-line. - Vim syntax highlighter improvements. - Syntax summary command (`asciidoc -h syntax`) additions. - Admonition icons now have transparent backgrounds. - Changed yellow W3C badges to blue ones in page footers. .Bug fixes - Dropped `asciidoc(1)` broken undocumented `--profile` option. - Em dash replacement now recognized at start of block. Regression issues ~~~~~~~~~~~~~~~~~ Replacing backtick quoting with the 'inline literal' passthrough raises two regression scenarios for existing documents: 1. You have escaped the expansion of enclosed inline elements, for example: `\{id}`. You would need to delete the backslashes: `{id}` (if you don't the backslashes will be printed). Mostly it's just a case of interactively finding and replacing of all occurrences of `\. 2. There are enclosed inline elements, for example: `some *bold* monospaced`. You would need to switch to plus character monospace quoting: `+some *bold* monospaced+` (if you don't the enclosed elements won't be expanded). If your existing documents include these cases and you don't want to upgrade then use the `-a no-inline-literal` command-line option, alternatively put this in `~/.asciidoc/asciidoc.conf`: [attributes] no-inline-literal= Version 8.3.5 (2009-02-02) -------------------------- .Additions and changes - Cached compiled regular expression delimiters (speed up 'User Manual' compilation by 250%). - Created distinct list definitions for each numbered list style to allow nesting of all styles. - Roman numbers in numbered lists are followed by a closing parenthesis instead of a period to eliminate 'i', 'v', 'x' item ambiguity with respect to alpha numbered list items. - Added `**`, `***`, `****`, `*****` bulleted lists. - Added `...`, `....`, `.....` implicit numbered lists. - Added `:::`, `::::` labeled lists. - Updated User Guide for new list syntaxes. - Optimized paragraph and list termination detection with separate precompiled regular expressions for performance and to prevent reaching Python 100 named group limit. - Updated Vim syntax highlighter for new list syntaxes. - Allow `template::[]` macros in conf file entries sections (not just in template sections). - Dropped unused `[listdef-numbered2]` conf file sections. - Renamed 'ListBlock' to more appropriate 'OpenBlock'. - Implemented single-line versions of `ifdef::[]` and `ifndef::[]` macros. - 'html4' backend styling: * Underlined admonition captions. * Added side border to Example Blocks. - 'xhtml11' backend styling: * Dropped right hand margin from all but quote and verse blocks. * html4 backend: corrected over-sized width of caption in admonition block. .Bug fixes - Fixed broken numbered list nesting. Compatibility issues ~~~~~~~~~~~~~~~~~~~~ The roman numbered list parenthesis syntax is incompatible with the potentially ambiguous roman period syntax introduced in 8.3.2. Version 8.3.4 (2009-01-20) -------------------------- .Additions and changes - Implemented a title 'float' style. A floating title (or bridgehead) is rendered just like a normal section but is not formally associated with a text body and is not part of the regular section hierarchy so the normal ordering rules do not apply. - Implemented inline comment macro so comment lines can now appear inside block elements. - Comment lines are sent to the output if the 'showcomments' attribute is defined (comment blocks are never sent to the output). - Single quoting attribute values in 'AttributeList' elements causes them to be substituted like normal inline text (without single quoting only attribute substitution is performed). - Rewrote list item processing (was very crufty). List continuation and list blocks now work as expected. Updated and clarified list documentation in User Guide. - The 'revision' attribute now recognizes the RCS $Id$ marker format. - An RCS $Id$ marker formatted revision line in the header does not need to be preceded by an author line. - If an RCS $Id$ formatted revision is specified and the author name has not already been set then the author name in the $Id$ marker will be used. - Updated Gouichi Iisaka's Graphviz filter to version 1.1.3. - Added 'autowidth' table attribute option for (X)HTML outputs. - DocBook backend now puts 'orgname' optional attribute in DocBook header. - Deprecated undocumented 'companyname' attribute in favor of DocBook's 'corpname'. - Removed explicit closing backslash from HTML4 self-closing tags to comply with WC3 recommendation. .Bug fixes - Fixed 8.3.3 regression whereby adjacent lists with the same syntax but different list styles were incorrectly treated as a single list. Version 8.3.3 (2009-01-02) -------------------------- This release supersedes 8.3.2. .Bug fixes - The broken and confusing numeration and numeration2 numbered list attributes have been dropped, use the style attribute instead. Version 8.3.2 (2009-01-01) -------------------------- .Additions and changes - Added Gouichi Iisaka's Graphviz filter to distribution. - The 'SidebarBlock' element can now be rendered with an 'abstract' style. - Reorganized filters into a separate subdirectory for each filter. - Updated `Makefile.in` and `MANIFEST` files to reflect new filters organization. - Added 'listing' style to 'LiteralBlock' element so listings with nested listing blocks can be rendered as a listing block. - Changed example 'code' filter to use preferred 'ListingBlock' syntax (the old `~` delimited filter syntax is no longer used). - Implemented 'enumeration' and 'enumeration2' numbered list attributes for specifying the list numbering style ('arabic', 'loweralpha', 'upperalpha', 'lowerroman' and 'upperroman'). - AsciiDoc now recognizes 'upperalpha', 'lowerroman' and 'upperroman' numbers in `listdef-numbered2` numbered lists and sets the number style based on the style of the first numbered list item (alternative to setting 'enumeration2' attribute). - Updated `formatlistpat` definition in `.vimrc` example in User Guide. - You can now backslash escape system block macros. - Added 'Pychart' FAQ. - Drop paragraph 'text' and list 'text', 'index' and 'label' match groups from attributes -- they are included in the element's text and we don't want them processed a second time as attributes. - Changed comment line block macro to a passthrough block macro to ensure no substitutions. - A 'subslist' no longer has to be appended to a 'PassthroughBlock' macro definition, if omitted no substitutions are performed. - Code tidy up: replaced deprecated `<>` operator with `!=`. - Removed unused linuxdoc code. - Code tidy ups: dropped old types module reference; replaced `has_key()` with preferred `in` operator. .Bug fixes - Old syntax source highlight filter regression: special characters where not escaped in DocBook outputs. Version 8.3.1 (2008-12-14) -------------------------- .Additions and changes - Replaced the `install.sh` script with Ben Walton's updated autoconf scripts -- see {website}INSTALL.html[INSTALL] for details. - Added a generalized 'AttributeEntry' syntax to allow arbitrary configuration file entries to be set from within an AsciiDoc document (suggested by Henrik Maier). - Listing delimited blocks in DocBook outputs now support IDs; IDs of titled Listing and Literal delimited blocks have been moved to the enclosing DocBook example tag (thanks to Vijay Kumar for this patch). - Replaced vertical typewriter apostrophe with punctuation apostrophe (thanks to Noah Slater). .Bug fixes - Regression: Excluding double-quotes from unquoted attribute values resulted in backward incompatibility, double-quotes in unquoted attribute values has been reinstated. - Regression: Text like `&...;` was sometimes mistaken for an entity reference -- tightened up entity reference matching. Version 8.3.0 (2008-11-29) -------------------------- .Additions and changes - {website}newtables.html[AsciiDoc new tables] is a complete redesign of the tables syntax and generation. The new syntax and features are a huge improvement over the old tables. The old tables syntax has been deprecated but is currently still processed. - {website}newlists.html[Lists can now be styled] like other block elements. This allows a single list syntax for 'glossary', 'qanda' (Question and Answer) and 'bibliography' lists instead of having to remember a different syntax for each type. - Inline passthroughs macros have been improved and block passthrough macros added. Attribute substitution can be optionally specified when the macro is called. - The passthrough block has a fully transparent passthrough delimited block block style called 'pass'. - The 'asciimath' and 'latexmath' {website}userguide.html#X77[passthrough macros] along with 'asciimath' and 'latexmath' {website}userguide.html#X76[passthrough blocks] provide a (backend dependent) mechanism for rendering mathematical formulas. There are {website}latexmath.pdf[LaTeX Math], {website}asciimathml.html[AsciiMathML] and {website}latexmathml.html[LaTeXMathML] examples on the AsciiDoc website. - Reimplemented and cleaned up filter processing based on a patch submitted by Kelly Anderson. Uses the newer subprocess module instead of the deprecated popen2 module. Now works in Win32 command shell. - Addition FAQs, more documentation updates. - Arbitrary HTML/XML entities can be entered in AsciiDoc source. - Did away with the need for the `shaded-literallayout.patch` (thanks to Henrik Maier for this patch). - Implemented 'page break' block macro. - Added 'line breaks' and 'ruler' processing instructions to DocBook outputs (thanks to Henrik Maier for this patch). - Added 'deg' (degree) and 'wj' (word joiner) entity attributes (thanks to Henrik Maier). - Tweaked DocBook 'indexterm2' macro to avoid white space preceding the term when used in table cells (thanks to Henrik Maier for this patch). - Title elements now process the 'options' attribute like other block elements. - Added `single quoted' element. - Spaces on both sides of a -- em-dash are translated to thin space characters. - Improved detection and reporting of malformed attribute lists. - The list 'compact' style is now a list option. - Added 'strong' labeled list option which makes the labels bold (HTML outputs only). - Dropped unsupported 'linuxdoc' backend. - Dropped deprecated 'xhtml-deprecated' (version 6) backend. - Added 'breakable' and 'unbreakable' attribute options to tables to control table breaking across page boundaries (DocBook XSL/FO outputs). By and in collaboration with Henrik Maier. - Added 'pgwide' attribute option to tables to table, block image, horizontal labeled lists. Specifies that the element should be rendered across the full text width of the page irrespective of the current indentation (DocBook XSL/FO outputs). Thanks to Henrik Maier for this patch. - Vim syntax highlighter: spaces before/after bullets no longer highlighted (which is ugly if using a theme that highlights with underlines). Thanks to Donald Chai for this patch. - Added `a2x(1)` `--fop` option. - Added `a2x(1)` `--no-xmllint` option. - Highlighted labelled list terms with the navy color in XHTML outputs. - Use `w3m(1)` as default `a2x(1)` text format generator (fallback to `lynx(1)`). - Changed callout formats in html4 and xhtml11 outputs to angle brackets to match source highlighter rendering. - Macros now inject user defined `<optionname>-option` attributes into markup. - Added IRC URLs to AsciiDoc inline macros. - Added `depth` attribute to `include::[]` system macro. - Added 'footnoteref' inline macro. - Added 'stylesheet' XHTML attribute to specify additional custom CSS stylesheet. - If a paragraph style is specified it will be added to the XHTML 'class' attribute and DocBook 'role' attribute. - Replacements can be set in a document using the reserved AttributeEntry name 'replacement'. - The prefix for auto-generated section name IDs can be set with the 'idprefix' attribute. .Bug fixes - Escaped quote skipped over leading and trailing quote instead of just the leading quote. - Fixed bug that was causing false negative safe mode warnings (patch submitted by Julien Palmas). - Placed priority of AttributeEntry, AttributeList and BlockTitle above Title. This ensures an AttributeEntry, AttributeList or BlockTitle followed by a same length leading ListingBlock delimiter is not mistaken for a two-line title. - Vim syntax highlighter: fixed multi-line quoted text. - Contstrained quote termination after non-space character enforced. - Vim syntax highlighter: unterminated quoted text is no longer highlighted. - Vim syntax highlighter: passthroughs now exactly match AsciiDoc semantics. - Vim syntax highlighter: escaped quoted text, attribute references and inline macros are not highlighted. - Vim syntax highlighter: TODO's highlighted in CommentBlocks (thanks to Scott Wall); non-greedy pass:[$$...$$]. - Vim syntax highlighter: Comment lines mistaken for vertical list labels (thanks to Scott Wall). - Vim syntax highlighter: Single unmatched $$ mistakenly highlighted remaining text (patch contributed by Scott Wall). - Callouts now work in source highlighted listing generated by dblatex. - Fixed exception that occurred if undefined attribute was present in filter command. - AttributeList block can now follow a paragraph without intervening blank line. - The include macro tabsize attribute is no longer propagated to nested includes. .Omissions The following features were implemented but then but removed from this release: - 'pi', 'cdata' and 'comment' passthrough macros and passthrough block styles (creeping featurism, use 'pass' macros instead). - Generic 'tag' inline macro (creeping featurism, use 'pass' macros instead). [[X1]] Compatibility issues ~~~~~~~~~~~~~~~~~~~~ Version 8.3.0 has a number of backward incompatibilities with respect to the previous 8.2.7 release: - The old table syntax is still processed but a 'DEPRECATED' warning is issued. - Entity references have to be escaped with a backslash. - You have to explicitly precede horizontal style labeled lists with the `[horizontal]` style attribute -- by default all labeled lists are rendered vertically. - The list 'compact' style has been dropped and is now a list option (use `options="compact"` in attribute lists). - AsciiDoc version 6 sytnax no longer supported. - Linuxdoc been removed from the distribution. - The unsupported experimental 'latex' backend has not been tested on this release. - The introduction of single-quote quoting requires that double-quote quoting is escaped with two backslashes. Version 8.2.7 (2008-07-04) -------------------------- .Additions and changes - Added `dvi`, `ps` and `tex` output format options to a2x(1). - Added `--dblatex` option to a2x(1) so `dblatex(1)` can be used to generate PDFs. - Added custom `dblatex(1)` configuration files (in distribution `./dblatex` directory) that are used by a2x(1). - `dblatex(1)` is now used to generate the distributed PDF version of the AsciiDoc User Guide. - If you don't need a customized the link caption you can enter the 'http', 'https', 'ftp', 'file' URLs and email addresses without any special macro syntax -- you get the links by just cutting and pasting URLs and emails addresses. This also makes it easier to open links directly form AsciiDoc source ( most editors allow you to open URLs directly). The Vim syntax highlighter has been updated to reflect these changes. - Highlighted source code paragraphs have been implemented -- it's a much more convenient way to enter short code examples (see http://asciidoc.org/source-highlight-filter.html[the online docs]). - The source highlighter and music filter syntax has changed -- they now used the ListingBlock syntax customized with 'source' and 'music' style attribute values. This follows the Paragraph styling convention introduced by the source paragraph (previous item) and is easier to read. The old syntax still works but has been deprecated. - QuoteBlocks now have a 'verse' style -- you no longer have to nest a 'verse' LiteralBlock inside a QuoteBlock for verses. The 'verse' style on the LiteralBlock has been deprecated (still works though) and the 'style' attribute is positional attribute 1, pushing 'attribution' and 'citetitle' attributes to the right (you'll need to insert a 'quote' attribute into your existing QuoteBlocks). - It is no up to the DocBook processor to highlight source code syntax in `<programlisting>` elements rather than GNU Highlighter -- this is the correct way to handle it, plus `dblatex(1)` makes a much better job. - 'scaledwidth' and 'align' attributes have been added to the 'image' macro. They apply to DocBook outputs (specifically for PDF documents). 'scaledwidth' sets the image size as a percent of the available page width; 'align' applies 'left', 'center' or 'right' horizontal image justification. - Added a2x(1) `--fop-opts=FOP_OPTS` option (patch submitted by Miklos Vajna). - Added a2x(1) `--dblatex-opts=DBLATEX_OPTS` option. - Added Mikhail Yakshin's FOP 0.95 patch which fixes a long-standing `fo.xsl` problem and allows PDF's to be generated with FOP 0.95 (previously had to use FOP 0.20.5). - The User Guide has been updated and outdated FOP configuration and installation sections removed. .Bug fixes - Fixed `stylesheets/xhtml11-manpage.css` not being included when 'linkcss' attribute was used. - Configuration file `*-style` attributes are now dumped correctly. - Fixed 'FAILED: malformed section entry' LaTeX backend error. See the also the https://sharesource.org/hg/asciidoc/[AsciiDoc repository changelog]. Version 8.2.6 (2008-04-29) -------------------------- .Additions and changes - Enhancements to the Vim AsciiDoc syntax highlighter, for example, quoted text is now highlighted in titles and macro captions. - If you define the `data-uri` intrinsic attribute images referenced by 'image' macros will be embedded in XHTML using the http://en.wikipedia.org/wiki/Data:_URI_scheme[data: URI scheme]. *NOTE*: Microsoft browser support for the 'data: URI scheme' is currently limited to MSIE 8 beta 1. - Added `toc-title` attribute to allow custom table of contents titles. - Added references to Alex Efros's AsciiDoc Cheatsheet to AsciiDoc website. - `asciidoc(1)` and `a2x(1)` man pages formatted to conform to `man-pages(7)` recommendations. - Old code-filter syntax (pre-8.1.0) is no longer recognized so that malformed two-line level 2 titles are no longer confused with 'code-filter' block delimiters. - Added -> <- => <= arrow replacements from the Arrows block of Unicode. - Added DocBook refentry lang attribute -- patch contributed by VMiklos. - AttributeEntry names can now be numeric (``named macro targets''). - Hide Table of Contents title if Table of Contents empty -- patch contributed by Alex Efros. - Various XHTML CSS tweaks. - Code cleanup: * Replaced `realpath()` with Python 2.2 `os.path.realpath()` library function. * Replaced old string library functions with string methods. * Use file generators instead of `readlines()`. * Renamed entities that shadowed builtins. * Standardized string quoting. * Dropped `readlines()` function. .Bug fixes - Fixed broken CSS for decimal ordered lists nested in alpha ordered list, thanks to Alex Efros. - A missing closing block delimiter now reports the opening delimiter line number instead of the end of file line number. - Fixed an error generated by the asciidoc `-e` option when there are no block definitions -- patch contributed by Alejandro Mery. - Handle both `\r\n` (as well as `\n`) line separators that may be returned by `{sys}` attribute evaluation. - Numbered attribute names no longer interfere with positional attribute list values. Version 8.2.5 (2007-11-18) -------------------------- .Additions and changes .Bug fixes - Fixed exception thrown by illegal command-line arguments. - Rolled back the 'with' warning bug fix introduced in 8.2.4 -- it was incompatible with Python <2.5. Version 8.2.4 (2007-11-10) -------------------------- .Additions and changes - You can now use the `lang` attribute to set the DocBook language attribute. - Attribute values can now contain attribute references. - If the `lang` attribute is defined then configuration files named like `lang-<lang>.conf` will be loaded automatically. - The help file name `help-<lang>.conf` is based on the AsciiDoc `lang` attribute, defaults to `help.conf` (English). - Admonition, figure and table captions have been factored into a predefined set of `caption_*` attributes. They only apply to directly generated (X)HTML outputs (DocBook stylesheets generate their own language specific captions based on the `lang` attribute). - Dropped platform dependent `doc/asciidoc.chm` file from distribution documentation formats. .Bug fixes - The spurious warning 'with will become a reserved keyword in Python 2.6' has been suppressed. Version 8.2.3 (2007-09-12) -------------------------- .Additions and changes - Added VMiklos's 'permalink' patch for auto-generated section IDs (enabled by default by the `sectids` attribute). - Added http://asciidoc.org/faq.html[FAQ] to website. - Changed format of \{localdate} attribute to ISO 8601 (`%Y-%m-%d`). - Added `abc2ly --beams=None` option to make `music2png.py` conform to ABC's notion of beams. - XHTML level 2 section headings are now styled with an underlining border. - XHTML links to AsciiDoc title elements are now implemented with title ID attributes (previously separate `<a>` element targets were generated. - Multi-word first, middle and last names can be entered in the header author line using the underscore as a word separator. - The nested inline macros restriction has now been lifted, for example you can now include links and inline images inside footnotes. - Help topic names can be shortened (so long as they are not ambiguous). For example `asciidoc -hm` will print the AsciiDoc man page. - Added `{two_colons}` and `{two_semicolons}` attributes for escaping labeled list ambiguity. - If quirks mode is disabled the XHTML Mime Type is set to the recommended `application/xhtml+xml` (rather than `text/html`). .Bug fixes - Author information is now correctly set when using attribute entries in the header instead of an author line (previously the 'author' attribute was not being calculated correctly and there were attribute substitution problems). Version 8.2.2 (2007-07-22) -------------------------- .Additions and changes - http://www.maths.nottingham.ac.uk/personal/drw/lm.html[LaTeXMathML] capability has been added for users who are more familiar with or prefer LaTeX math formulas to the http://asciidoc.org/asciimathml.html[ASCIIMathML] notation (thanks to Arthur Sakellariou for the patch). - The 'source highlight' and 'code' filters now process embedded callouts. - Added an `--attribute=ATTRIBUTE` option to `a2x(1)` for passing attribute values to asciidoc(1) (a shortcut for `--asciidoc-opts="-a ATTRIBUTE"`). - Image block and inline macros prepend optional `{imagesdir}` attribute to image link targets. .Bug fixes - Fixed an assertion error that occurred when a configuration file containing an `include::[]` macro was loaded using the `--conf-file` option and the configuration file name did not include an explicit directory path -- patch submitted by Dmitry Potapov. - Asciidoc titles are only converted to lower case if all characters are upper case otherwise case is left unchanged -- patch submitted by Dmitry Potapov. - Added a missing check that input is not stdin before loading configuration files from the document directory -- patch submitted by Dmitry Potapov. - Attribute list items must evaluate to strings, numbers or None (previously it was possible to evaluate to other object types which resulted in surprising attribute values). - If an AsciiDoc document has no title an empty XHTML 1.1 'title' element is created -- previously the 'title' element was dropped which resulted in invalid XHTML 1.1. - The Vim syntax file no longer highlights escaped callouts. - The Vim syntax highlighter now correctly highlights Double-dollar passthroughs when they enclose dollar delimited ASCIIMathML and LaTeXMathML formulas. Version 8.2.1 (2007-04-06) -------------------------- .Additions and changes - A number of improvements have been made to the Vim syntax highlighter, for example the word C++ is no longer mistaken for the start of an unconstrained monospace quote. - Labeled list definitions have been tightened -- a list label can no longer containing trailing spaces. The following example is no longer recognized as a valid list label: Lorum ipsum :: + This change implements the originally intended behavior (as per the AsciiDoc documentation and examples) so there should be very few compatibility issues. .Bug fixes Version 8.2.0 (2007-04-04) -------------------------- .Additions and changes - A Vim syntax file is now included in the AsciiDoc distribution (inspired by Felix Obenhuber's `asciidoc.vim` script). You can find it (along with a Vim filetype detection script in the distribution `./vim/` directory (the scripts are installed automatically by the AsciiDoc installer `./install.sh`). See 'Appendix J' of the 'AsciiDoc User Guide' for details. - Added 'toclevel' attribute (1..4) which sets the number of title levels reported in the table of contents. Defaults to 2 and must be used with the 'toc' attribute. Example usage: $ asciidoc -a toc -a toclevels=3 doc/asciidoc.txt - Added a `listindex` attribute which is the current list item index (1..). If this attribute appears outside a list its value is the number of items in the most recently closed list. - The single line titles syntax now accepts trailing suffixes -- this syntax matches the title line syntax of a number of popular Wiki markups. - If a QuoteBlock has no attribution or citetitle then the DocBook `<attribution>` element is not generated (previously generated empty `<attribution>` element). - If the text of a labeled list item is blank then no `texttag` is written. - An end of line backslash performs line continuation for horizontal labeled list items. - The Revision line now accommodates Subversion `$Id` markers (in addition to CVS and RCS markers). Thanks to Tiago Sturmer Daitx for this patch. - Implemented `a2x(1)` option `--skip-asciidoc` which allows `a2x(1)` to convert DocBook XML files not derived from AsciiDoc sources. - If `a2x(1) --doctype` option is not specified it defaults to `manpage` if `--format=manpage` else defaults to `article` (previously `--doctype` always defaulted to `article`). - Added an 'External Resources' section to the http://asciidoc.org/index.html[AsciiDoc home page]. .Bug fixes Version 8.1.0 (2006-10-22) -------------------------- .Additions and changes - AsciiDoc generated XHTML documents now display a table of contents if the 'toc' attribute is defined (JavaScript needs to be enabled for this to work). Thanks to Troy Hanson who contributed this feature based on a JavaScript by Mihai Bazon. I've simplified things somewhat to match Docbook XSL Stylesheets style, see Troy's http://tpl.sourceforge.net/userguide.html[tpl User Guide] for a fancier layout. Use the `-a toc -a numbered` command-line options to produce a number table of contents. - A http://asciidoc.org/music-filter.html[music filter] is included in the distribution `./filters/` directory. It translates music in http://lilypond.org/[LilyPond] or http://abcnotation.org.uk/[ABC] notation to standard classical notation in the form of a trimmed PNG image which is inserted into the AsciiDoc output document. - Incorporated Paul Melis's Win32 filter patch. This workaround allows AsciiDoc to run filters under Windows. - Added `uninstall.sh` script. - Rather than proliferate a confusing number of filter block delimiters the following convention has been adopted: delimiters belonging to DelimitedBlock filters distributed with AsciiDoc will consist of a word (normally a noun identifying the block content) followed by four or more tilde characters. This has necessitated changing existing filter delimiters (the old delimiters still work but may be deprecated in future versions): * The example code filter block delimiter is now the word `code` followed by four or more tilde characters. * The source highlight filter block delimiter is now the word `source` followed by four or more tilde characters. - Conditionally redefined subscript and superscripting so they use the old replacements mechanism when asciidoc7compatible is defined rather than the asciidoc 8 default unconstrained quoting (patch for affected files attached). - Moved the source highlight filter from `./examples/` to `./filter/`. - Added `{verbose}` intrinsic attribute (useful for passing verbose flag to filters). - Added `{outdir}` intrinsic attribute. - Renamed `{docdir}` intrinsic attribute to unambiguous `{indir}` (`{docdir}` still works but may be removed in future release). - If `asciidoc(1)` outputs to stdout then intrinsic attribute `{docname}` is extracted from the input file name. Version 8.0.0 (2006-08-27) -------------------------- ********************************************************************* This is a major release because changes to quoting and index entry handling may break existing documents (see 'Additions and changes' below and 'Appendix A: Migration Notes' in the AsciiDoc User Guide). Please report any problems you encounter. mailto:srackham@gmail.com['Stuart Rackham'] ********************************************************************* .Additions and changes - Quoting can can occur within words (based on patch submitted by Benjamin Klum). See the 'Unconstrained Quotes' sub-section in the User Guide. - The underline and plus characters can be used as alternatives to the existing apostrophe and backtick quote characters. They are arguably better choices than the apostrophe and backtick as they are not confused with punctuation. - The syntax for index entry macros have have been deprecated from `+...+` and `++...++` to `((...))` and `(((...)))` respectively. Rationale: * Bracketing is consistent other with `[[...]]` and `<<...>>` reference macros. * To easily confused with triple plus passthroughs. * To make way for the new monospace quoting. - Superscripts and subscripts are implemented as constrained quotes so they can now be escaped with a leading backslash and prefixed with with an attribute list. - An experimental LaTeX backend has been written by Benjamin Klum (a number additions in this release are to accommodate the LaTeX backend). - `include` macro file names now expand environment variables and tilde expansions. - A configuration file `[quotes]` entry can be undefined by setting to a blank value. - Added `callto` inline macro for Skype 'callto' links. - Added `colnumber` attribute for table data markup. - A leading comment block or comment lines are now skipped (previously a document had to start with either attribute entries or a document Title). - Experimental `rows` attribute (number of source lines in table) available in table markup templates (used by experimental LaTeX backend). - Included install shell script written by mailto:jlm@ofb.net[Jacob Mandelson] for installing the tarball distribution. - Added INSTALL documentation file. - Added 'replacements2' substitution options -- a second replacements section. - Added the ability to redefine 'normal' and 'verbatim' substitutions with `subsnormal` and `subsverbatim` entries in configuration file `[miscellaneous]` section. - By default `AttributeEntry` values are substituted for `specialcharacters` and `attributes`, if you want a different AttributeEntry substitution set the `attributeentry-subs` attribute. - The `name` in `name=value` configuration file entries can now end with a backslash, just escape the trailing backslash with a backslash. For example: abc\\=xyz + Results in `name=abc\` and `value=xyz` -- previously this would have escaped the `=` character. - A blank configuration file section deletes any preceding section with the same name (applies to non-markup template sections). - A command-line attribute value with a `@` suffix does not override existing document and configuration file attributes (normally command-line attributes have precedence over document and configuration file attributes). - `localtime` attribute is now encoded from the native system encoding to the output encoding. Patch submitted by mailto:m_pupil@yahoo.com.cn[FKtPp] -- here's his description of the problem: + ``I am a Chinese user of AsciiDoc and I find that when I use UTF-8 (the default encoding) to write asciidoc documents in Windows platform the resulting html footer line will get screwed. It was caused by a localized tzname that was always encoded in the windows native encoding, which in my case is 'cp936'.'' - a2x(1) can generate Open Document Text files using http://open.comsultia.com/docbook2odf/[docbook2odf]. Currently `docbook2odf(1)` only processes a subset of DocBook, unimplemented elements are skipped. - The a2x(1) format option defaults to `xhtml` (previously a format had to be specified explicitly). - The `-d, \--doctype=DOCTYPE` option has been added to a2x(1) which is a shortcut for `--asciidoc-options="--doctype=DOCTYPE"`. - Replaced a2x(1) `--no-icons` and `--no-copy` options with their negated equivalents: `--icons` and `--copy` respectively. The default behavior has also changed: copying and use of icons is disabled by default. Rationale: * To make the default behavior more consistent since use of icons and CSS stylesheets does not apply to all formats. * To make the default behavior less surprising (the creation of icon and stylesheet output files must now be explicit). - a2x(1) has been bumped from version 0.1.1 to version 1.0.0. .Bug fixes - Removed duplicate `./doc/a2x.1.txt` from distribution tarball. - Documentation errata. - Attribute replacement is no longer performed twice in Titles and AttributeEntrys. - a2x(1) skipped asciidoc(1) execution when rerun with different `--asciidoc-options` options, it now always executes asciidoc(1). The problem was that previously asciidoc(1) was executed only if the output file was missing or older than the source file. Version 7.1.2 (2006-03-07) -------------------------- .Additions and changes - Support for http://www1.chapman.edu/~jipsen/mathml/asciimath.html[ASCIIMathML] has been added. See 'Appendix I: ASCIIMathML Support' in the User Guide and the examples at http://asciidoc.org/asciimath.html. - You can now prefix quoted text with inline attributes lists. You can use this to set font size and color (XHTML and HTML outputs). - Added `##...##` quoting -- it does nothing -- it's purpose is to allow inline attributes to be applied to normal text. - An 'inline passthrough' mechanism has been implemented. - Configuration file comment lines can be escaped with a backslash -- this is to allows the inclusion of configuration lines that start with a hash character. - The `scriptsdir` attribute can be used to specify the name of the directory containing linked JavaScripts (see the link:userguide.html#X33[User Guide] for details. - The BackendBlock has been renamed PassthroughBlock for consistency with the new inline passthrough naming. - `a2x(1)` now works with the older `bash(1)` version 2.05b. Patch submitted by mailto:francis@daoine.org[Francis Daly]. - Content included by the `include1::[]` system macro is no longer subject to attribute substitution so that ambiguities no longer arise when used to include CSS or JavaScript files. Version 7.1.1 (2006-02-24) -------------------------- .Additions and changes - The `caption` attribute can be used to customize admonition captions as well as image, table and example block element title prefixes (`xhtml11` and `html4` backends). - You can now override the default icon image using the `icon` attribute to specify the path of the linked image (xhtml11 and html4 backends only). - The deprecated `imagesdir` attribute is no longer recognized (use `iconsdir` instead). - Added 'Appendix H: Using AsciiDoc with non-English Languages' to the AsciiDoc User Guide. - Added 'Admonition Icons and Captions' subsection to the User Guide explaining how to customize Admonition elements. .Bug fixes - `a2x(1)` failed when configuration files were installed in the global `/etc/asciidoc/` directory -- it was only searching the directory containing the asciidoc executable (thanks to Christian Wiese for finding and submitting a patch this bug). - The html4 backend admonition caption now correctly displays the admonition `caption` attribute (previously displayed the `style` attribute). Version 7.1.0 (2006-01-13) -------------------------- .Additions and changes - `a2x(1)` toolchain wrapper utility. This overcomes the biggest hurdle for new users which seems to be assembling and using a working DocBook XML toolchain. With `a2x(1)` you can generate XHTML (chunked and unchunked), PDF, man page, HTML Help and text file outputs from an AsciiDoc input file with a single command. All you need to install (in addition to AsciiDoc) is xsltproc(1), DocBook XSL Stylesheets and optionally FOP (if you want PDF) or lynx(1) (if you want text). - Block titles can now start with any non-space character (previously where not allowed to start with `.~-_` characters). - `./stylesheets/docbook.css` renamed to `./stylesheets/docbook-xsl.css` to clarify its function. - Renamed `./docbook-xsl/manpages.xsl` to `./docbook-xsl/manpage.xsl` for consistency. - Admonition and navigation icons moved to `./images/icons/` to clarify usage and conform with a2x(1) usage. - Renamed xhtml11 intrinsic attribute `imagesdir` to `iconsdir` to keep vocab consistent and changed default value to `./images/icons` (previously `./images`). `imagesdir` attribute still accepted but deprecated. - Unused image files have been weeded out of the distribution. - Packager notes (appendix B) have been updated to reflect the needs of `a2x(1)`. IMPORTANT: The renaming of the xhtml11 backend `imagesdir` intrinsic attribute and it's new default value introduces a backward compatibility issue: if you use the `icons` attribute you will need to either move your icons to the new default `./images/icons` location or include an `--attribute{nbsp}iconsdir="your_icons_path"` option in your asciidoc commands. .Bug fixes - Backslash line continuation is now observed in verbatim paragraphs. - Fixed errors generated by example `./examples/website/build-website.sh` script. Version 7.0.4 (2005-12-08) -------------------------- .Additions and changes - Added ternary conditional attributes `{<name>@<regexp>:<value1>[:<value2>]}` and `{<name>$<regexp>:<value1>[:<value2>]}`. - Safety violations now generate errors (they previously generated warnings). - asciidoc(1) now defaults to safe mode, consequently the `[miscellaneous]` safe mode entry and `--safe` command-line option are no longer necessary (though for backward compatibility asciidoc(1) still accepts the `--safe` option). - Backend Blocks are now flagged unsafe (they could be used to include arbitrary and hence potentially unsafe output content). - Filters are no longer considered unsafe. There's not much point in insisting on filter safety since the installation of an unsafe filter would require the introduction of new or modified configuration files -- if your application configurations can be compromised you're in all sorts of trouble (safe mode protects against unsafe input files not unsafe configuration). As with all filters, before installing, you should verify that they can't be coerced into generating malicious output or exposing sensitive information. .Bug fixes - Fixed a lot of glaring grammatical and factual errors in the User Guide. Version 7.0.3 (2005-12-01) -------------------------- .Additions and changes - Added `--safe` and `--unsafe` command-line options -- AsciiDoc can now be executed in a 'safe mode' which disallows the execution of arbitrary code or the inclusion of arbitrary files (see link:userguide.html#X39[Appendix C in the AsciiDoc User Guide]). - Included link:source-highlight-filter.html[source-highlight filter] in the distribution `./examples/source-highlight-filter/` directory (based on filter submitted by mailto:trolocsis@gmail.com[Ryan Phillips]). - Included the DocBook XSL Stylesheets 1.69.1 customizations used to generate the distributed AsciiDoc documentation (read the `asciidoc-docbook-xsl.txt` file in the distribution `./docbook-xsl/` directory). - AsciiDoc DocBook XSL Stylesheet drivers moved from `./doc/` to `./docbook-xsl/`. - Modified `./doc/manpages.xsl` so only URL content is displayed in manpages. .Bug fixes - Explicitly set table CSS border style (`xhtml11` backend) to `solid` because default border styles vary from browser to browser. Version 7.0.2 (2005-08-28) -------------------------- .Additions and changes - There are now long versions of all AsciiDoc options. - If the `--backend` is not specified it defaults to `xhtml11`. - Added CSS simulated frames layout to the examples website (see `./examples/website/layout2/README-website.txt`). This layout does not work with IE6 and the original tables based layout is still the default. - Support page added to AsciiDoc website. .Bug fixes - Invalid options are now trapped gracefully. - Documentation errata. Version 7.0.1 (2005-06-24) -------------------------- .Additions and changes - Reverted to use of `strong`, `em`, `tt` XHTML tags -- they're more obvious and no less correct than `span` tags, besides, the generated file sizes are smaller (the 'User Guide' was 11% smaller). - Table title rendered with `caption` tag rather than a separate `div`. - The AsciiDoc 'stylesdir' attribute (if specified) is now recognized when searching for embedded stylesheets (previously only searched default `./stylesheets` directory). - Default charset encoding changed from ISO-8859-1 to UTF-8 -- it's less language specific and displays most common languages. - `template::[]` macros now expand in all configuration file sections previously only in markup template sections. - Cleaned up example website layout CSS and configuration (presentation has not been changed). - Refactored `xhtml11.conf` configuration file. - Set consistent and sensible permissions on distributed files. - White space is now stripped from DSV formatted table cell data. - `class="tableblock"` attribute added to tables generated by `xhtml-deprecated-css.conf` to assist CSS. .Bug fixes - Illegal character set encoder (specified by the AsciiDoc `encoding` attribute) and character data are trapped gracefully. - AsciiDoc table 'format' attribute in table attribute lists were not recognized. - The nested horizontal labeled list example in the 'AsciiDoc User Guide' has been dropped -- it generated invalid DocBook markup. Version 7.0.0 (2005-06-06) -------------------------- *************************************************** This is a major release with many code and documentation changes. Please report any problems you encounter. mailto:srackham@gmail.com['Stuart Rackham'] *************************************************** .Additions and changes - A new 'xhtml11' backend generates XHTML 1.1 with integrated CSS2 replacing the previous 'xhtml', 'css', and 'css-embedded' backends. - The CSS stylesheets have finally been rewritten. - The asciidoc(1) command help now includes user link:userguide.html#X36[customizable help] topics. When asciidoc is invoked with the `--help` option the command argument is interpreted as a help topic. - The previous example website has been replaced by the actual AsciiDoc website (see `./examples/website/`. - XHTML generation options now controlled by the following attributes: 'badges', 'linkcss', 'icons', 'numbered', 'quirks', 'theme', 'stylesdir', 'imagesdir' (see the link:userguide.html#X33[User Guide] for details. - By default HTML and XHTML are output as stand-alone documents (no embedded CSS and no linked admonition icon images). - Documents encoded with the UTF-8 Unicode character set are now processed thanks to a patch supplied by mailto:viktor@rbg.informatik.tu-darmstadt.de[Viktor Vasilev]. - The `-a ^name` command-line syntax to undefine an attribute has been deprecated in favor of the `-a name!` syntax. - AttributeEntry syntax addition: `:name!:` to undefine `name` attribute. - Added `template` system block macro to allow the inclusion of one configuration file template section within another. - A 'verse' style attribute can now be applied to literal paragraphs and blocks to reproduce line breaks and white space from the source document. - Replacements and Special Words can now be escaped with leading backslashes. - Replacements are now processed in configuration file order (previous ordering was indeterminate). - System macros can now be used in the base `asciidoc.conf` configuration file. - Deprecated features that emitted warnings in prior versions are no longer tolerated. - The `eval` system attribute expression evaluates to `False` the attribute is undefined, if it evaluates to `True` the result is an empty string. - The Paragraph and DelimitedBlock 'presubs' parameter can be aliased as 'subs'. - Added 'verbatim' substitutions option. - Renamed 'List Continuation Block' to 'List Block' and renamed the 'listcontinuation' option to 'list'. - Deprecated 'default' substitutions option (use 'normal' instead). - The 'section-numbers' section numbering attribute has be renamed 'numbered'. - Dropped the '\#UNDER CONSTRUCTION#' block macro. - Rewrote Paragraph and DelimitedBlock handlers adding a link:userguide.html#X23[styles] configuration entry. .Bug fixes - Included files are no longer read inside conditionally excluded content. - Manpage command names containing dashes (in the manpage NAME section) were misinterpreted as the spaced dash command name/purpose separator. Bug report and patch supplied by mailto:david@dgreaves.com[David Greaves]. - Unexpected error following malformed author line error. Version 6.0.3 (2005-04-20) -------------------------- .Additions and changes - Special characters are now substituted in AttributeEntry element values. - Spaced and unspaced em dashes are now recognized (previously only spaced em dashes were recognized). - Replaced the table 'noborders' option with richer 'frame' and 'grid' attributes. - The `duplicate macro` warning message now only occurs when the verbose (`-v`) option is enabled. - Single lines starting with two forward slashes hard up against the left margin are treated as comments and are not processed. - Renamed 'section' delimited block option to 'sectionbody' to more accurately reflect it's role. - Added a List Continuation block -- a specialized delimited block that is functionally equivalent to the List Item Continuation feature except that the list contained within the block does not require explicit '+' list item continuation lines. - Dropped deprecated `<u>` tags from generated HTML. - Literal Block delimiters must now consist of at least four points (previously three) to avoid lone ellipsis ambiguity. .Bug fixes - Some system attribute evaluation failures caused unexpected exceptions to occur. Version 6.0.2 (2005-03-30) -------------------------- .Additions and changes - Three new 'system' block macros have been added -- `eval`, `sys` and `sys2` which are the block macro equivalents to the same named system attributes. - 'Intrinsic' macros have been renamed 'system' macros along with 'action' attributes which have been renamed 'system' attributes: * To reflect their common (though contextually different) behavior. * To avoid confusion with 'intrinsic attributes'. .Bug fixes - Asciidoc now searches in `/etc/asciidoc/filters` for filters. Version 6.0.1 (2005-03-06) -------------------------- .Additions and changes - A global configuration file location `/etc/asciidoc` has been added and is now processed before all other locations (patch supplied by mailto:stone@debian.org[Fredrik Steen]). - Recoded `tempfile.mktemp()` and other artifacts that are no longer necessary or desirable (patches supplied by mailto:stone@debian.org[Fredrik Steen]). - Added BUGS file to the distribution. .Bug fixes - Illegal comment syntax in `css-embedded-stylesheet.conf` resulted in illegal CSS in files generated by the `css-embedded` backend. Version 6.0.0 (2005-01-28) -------------------------- *************************************************** This release has had some fairly major code and documentation changes. Please report any problems you encounter. mailto:srackham@gmail.com['Stuart Rackham'] *************************************************** A lot of new stuff. A new major version number -- some regression incompatibility (hopefully mitigated by 'deprecated' warnings). Went mad trying to rein in the current feature anarchy -- established a unified notion of document attributes. Attempted to introduce a consistent vocabulary -- renamed many poorly or inconsistently named entities. Actually, deprecated syntax is still processed correctly in almost all cases. One source of incompatibility that may arise if you have customized CSS stylesheets is the change of AsciiDoc CSS class names (see below). I guess the moral is if you've done a lot of configuration file customization and are happy with version 5 then you may want to stay put. NOTE: This version requires Python 2.3 or better to run. .Additions and changes - 'Glossary entries' have been renamed 'attributes'. This eliminates confusion with the accepted meaning of glossary. - An `AttributeEntry` block element has been added so that document attributes can be assigned from within an AsciiDoc document. - The `AttributeList` block element has been added which is a more general solution than the (now deprecated) DelimitedBlock arguments. - An BlockId element has been added for setting block element anchor (link target) IDs. - Quoted text can now span multiple lines (thanks to James Bowlin for this patch). - Inline macros can now span multiple lines. - \``double backtick / apostrophe'' quotes generate ``curly quotes''. - A warning is now emitted for out of order list item (applies to explicitly enumerated numbered list items). - Added `include` action attribute. - A line of three or more apostrophes generates an HTML horizontal ruler (`<hr/>` tag). You will get a warning if processed with non-HTML backend. - An `{imagesdir}` attribute specifies image file location for images referenced in configuration files when generating HTML (the default location is `images`). - An `{stylesdir}` attribute specifies the location of CSS stylesheets when generating styled HTML (the default location for configured markup is `.`). - The use of the (often inappropriately named) `{caption}` attribute list entry has been deprecated, use `{0}` instead. - New 'ExampleBlock' delimited block along with associated variants Note, Tip, Warning, Caution and Important. - The `docbook.conf` file now facilitates the optional inclusion of a DocBook revision history file. - To better reflect their purpose the following block elements have been renamed: `VerbatimBlock` to `ListingBlock`; `IndentedBlock` to `LiteralBlock`; `IndentedParagraph` to `LiteralParagraph`; `CustomBlock` to `BackendBlock`; `SimpleSection` to `SectionBody`. Any corresponding CSS class names have also been changed which could result in backward incompatibility in customized stylesheets. - Swapped plain DocBook admonition icons for Jimmac's DocBook icons (http://jimmac.musichall.cz/ikony.php3). The original plain icons have been moved to `./images/plain`. - Renamed `html` backend to `xhtml` to better reflect it's function (former `html-4` backend renamed to `html`). - A new inline anchor macro syntax `[[[<id>]]]` is available, it displays `[<id>]` at the anchor location and is for anchoring bibliography list entries. - An optional 'single-line titles' syntax can be used. - Tweaks to distributed CSS stylesheets and FOP `fo.xsl` customization file. - 'List Item Continuation' has been implemented which allows additional block elements to be included in list items by separating them from the preceding list item element with a line containing a single plus character. - A new 'Horizontal Labeled List' list type has been added. Generates two column list -- the first column contains the list element labels, the second contains the element text. Same syntax as `Vertical Labeled Lists` except the double colon label suffix is followed by the start of the list item text. .Bug fixes - Fixed broken backslash line continuation. - Labeled list end tags were not undergoing attribute substitution. - Documents without any author information now generate legitimate DocBook (previously if the author line was not included in the document header then an empty (illegal) DocBook `author` element was generated). - Multiple spaces in filter command arguments were replaced by a single space. The `./examples/asciidoc2text/asciidoc2text.sh` script now indents text correctly. Version 5.1.1 (2004-10-10) -------------------------- *15-December-2004: Interim update:* Updated `asciidoc.py` to fix broken `join_lines` function -- no other changes. - PDF documentation is now produced from DocBook XML using XSLTLib and FOP. Previously we processed DocBook SGML with `jw(1)` (which used Dvips to convert DVI files to PDF). FOP has come a long way in the last 12 months and produces very acceptable PDF under both Linux and Windows. - Sections detailing how to install and use the DocBook XSL Stylesheets, xsltproc, FOP toolchain and the AsciiDoc XSLT drivers have been added to the User Guide. - The PDF output from the he example article template has been included in the distribution (`./doc/article.pdf`). - Special characters are emitted using decimal Unicode character codes (previously used named character entities which cannot be assumed included in non-HTML documents). - Added registered trademark (R) to `[replacements]`. - CSS stylesheet tweaks. - Admonitions (Note, Tip, Important, Warning, Caution) include icons when generating css output. Version 5.1.0 (2004-09-18) -------------------------- - Callouts have been implemented (see the 'Callouts' section of the AsciiDoc User Guide for details). - Added XSL drivers for generating XHTML, chunked XHTML and HTML Help from DocBook XML using XSL stylesheets and xsltproc(1). - Added CSS stylesheet for HTML generated from DocBook XML using XSL stylesheets. - Distribution contains HTML Help formatted User Guide (`./doc/asciidoc.chm`), the User Guide tells you how it's generated. - Images referred to by distributed stylesheets are now located in the `./images` subdirectory (previously located in `.`). - Filters path names are now handled properly under Cygwin. - The usual documentation and examples additions, updates and polishing. Version 5.0.9 (2004-09-09) -------------------------- - The convention of using a `.asc` file extension for AsciiDoc files has been dropped in favor of the familiar `.txt` extension. It makes more sense in that AsciiDoc is a text presentation format and because `.asc` clashed with the same extension used by other applications. It's only a naming convention -- you don't have to switch if you don't want to. - Changed the subscript formatting character from underline to tilde since underscores in file names are reasonably common (especially in link and image macros). - An alternative syntax for the index term inline macro has been added: `++<primary>,<secondary>,<tertiary>++`. - Index terms that have secondary and tertiary entries now additionally generate separate index terms for the secondary and tertiary entries. - A `+<primary>+` index term inline macro has been added which displays the term in the primary text flow. - Added alternative variable list definition using double semi-colon terminator as opposed to the standard double colon terminator so variable lists can be nested to two levels. - Footnotes now appear on a separate line in HTML and Linuxdoc outputs. - Python version compatibility is checked at startup. - Preface and appendix section titles in multi-part Book documents are meant to be out of sequence -- warnings are no longer emitted when outputting HTML. - Empty section warnings have been replaced by error messages and are emitted only if invalid markup would result. - Missing macro sections or invalid macro name warnings are only generated at startup if the `-v` (verbose) option is set. Otherwise they are deferred until a matching macro is encountered in the input file. - Missing or invalid table definition warnings are only generated at startup if the `-v` (verbose) option is set. Otherwise they are deferred until a matching table is encountered in the input file. - AsciiDoc now makes more of an effort to continue in the face of errors. - Fixed broken `./examples/website/main.aap` script. - Converted distribution text files DOS text format as a sop to Windows users with challenged text editors. - Documentation additions and corrections. Version 5.0.8 (2004-05-15) -------------------------- - Spurious 'out of sequence' level 2 warnings no longer appear when processing 'book' document multi-part book top level Preface and Appendix sub-sections since they are (correctly) out of sequence. - A warning is no longer emitted for empty Index sections since this is normal when generating DocBook outputs. - Fixed: `[quotes]` configuration file entries where not being overridden by downstream configuration file entries. - Footnote text is now output enclosed in square brackets in HTML documents. - Added superscripts and subscripts to the standard PRS configuration files. - Adjusted CSS stylesheets so list titles don't have so much space between title and first list item (broken in IE6 due to poor CSS compliance). Lessened sidebar title top margin. Version 5.0.7 (2004-04-22) -------------------------- - The version 5.0.6 README incorrectly stated that AsciiDoc would run under Python 2.0, in fact it requires Python 2.1 or better. The README has been corrected. - Documented techniques for combining and splitting AsciiDoc documents and processing the combined and split parts (see the 'Tips and Tricks' section of the User Guide). - An example of marking up superscripts and subscripts is documented in the 'Tips and Tricks' section of the User Guide (the example configuration file is in the AsciiDoc `examples` directory). - Added ellipsis to shipped `[replacements]`; three periods output an ellipsis entity. - Removed unused 'SectionClose' class. - The AsciiDoc 'Preamble' element is output as a DocBook 'Preface' when processed as a 'book' document type (in older AsciiDoc versions a warning was issued and processing stopped). - Fixed a quoting anomaly: quoted text can no longer begin or end with with white space. Version 5.0.6 (2004-03-07) -------------------------- - New 'image' macro implements optional image scaling and linking and works in both inline and block contexts. The 'image' macro obsolesces the existing 'graphic' block macro and 'icon' inline macro. - Macro substitution section names now have `-inlinemacro` and `-blockmacro` suffixes to resolve context ambiguity, make their purpose clearer and relieve section namespace congestion. - Header derived glossary entries can now be overridden from the command-line. - Special character substitution is now performed on AuthorLine derived author names. - A macro or block argument called 'options' can be used as a shortcut for a list named arguments with zero length string values. - Tables can be output without borders using the `options="noborders"` argument. - Table data lines that do not immediately follow a table section underline can now be blank. This allows CSV data with embedded blank lines to be processed correctly. - Blank DSV format table data lines are silently skipped. - Tightened up on enforcement of configuration file section names to reduce the possibility of section content being seen as a section header line. - Section titles can be optionally suffixed with title arguments enclosed in double square brackets. - A replacement has been added to `asciidoc.conf` to replace inline double dashes with the `—` entity. - Changed the `.UNDER-CONSTRUCTION.` macro syntax to `#UNDER-CONSTRUCTION#` so it is not mistaken for a BlockTitle. Similarly changed the `.NEW.` replacement with `#NEW#`. - `#NEW#` and `#UNDER-CONSTRUCTION#` macros are now included in the DocBook backend. - Replaced shipped `smallnew.gif` with `smallnew.png`. - Documentation tidy ups. Version 5.0.5 (2004-02-25) -------------------------- - Fixed the disappearing paragraph titles problem that was caused by Inline macros (incorrectly) processing BlockTitles. - Tightened AuthorLine validation. Previously invalid email addresses and embedded special characters in the AuthorLine resulted in invalid output markup. Version 5.0.4 (2004-02-09) -------------------------- - Reinstated missing `infile`, `outfile`, `filetype` and `filetype-<filetype>` glossary entries. - As of version 5.0.3 asciidoc(1) now requires Python 2.0 or greater, this has now been documented. Version 5.0.3 (2004-01-23) -------------------------- - Fixed problem that caused any filters directory file containing `.conf` (not just those with the `.conf` extension) from being loaded. - All `[miscellaneous]` configuration file entries can now be referenced like glossary entries (they are now processed internally as glossary entries). - The output file line terminator (previously hardwired to `\r\n` is now set using the `newline` entry in the configuration file `[miscellaneous]` section. - The misspelt `blocktitles` configuration file entry name has been corrected (to `blocktitle`). - An `{empty}` glossary entry has been added to the default configuration which is useful for outputting trailing blank lines from configuration file substitution sections. Version 5.0.2 (2003-12-18) -------------------------- - New (alternative) 'anchor' and 'xref' macro syntax (old syntax still valid). - DocBook `mediaobject` and `inlinemediaobject` tags are generated in place of `graphic` and `inlinegraphic` tags by the AsciiDoc `graphic` and `icon` macros. If a macro argument is specified it is the alternative text output if the target document format does not support the specified graphic file format. - Dropped the LinuxDoc left and right square bracket special character substitutions as they interfered with macro substitution. - Documentation updates and corrections. Version 5.0.1 (2003-12-09) -------------------------- - Fixed problem with anchor tag when generating CSS styled HTML. Version 5.0 (2003-12-08) ------------------------ *************************************************** This release has had some fairly major code and documentation changes. Please report any problems you encounter. mailto:srackham@gmail.com['Stuart Rackham'] *************************************************** - AsciiDoc can now produce a full-blown multi-part DocBook book including dedication, abstract, preface, colophon, glossary, appendix, bibliography and book part elements using the new `specialsections` configuration file section. - All Section element children (Paragraph, DelimitedBlock, List, Table, BlockMacro) can now be titled using the BlockTitle element. A BlockTitle element is a single line containing a title and beginning with a period. - The `index` and `backmatter` macros have been dropped, superseded by `specialsections`. - The AsciiDoc 'Preface' element has been renamed 'Preamble' (to avoid confusion with the DocBook book preface element). - Out of sequence titles are now tolerated with a warning. This allows book document level 0 sections to be processed. - An 'anchor' inline macro has been added for document link target creation. - 'Note', 'Tip', 'Important' and 'Warning' paragraph types have been added to support the corresponding DocBook elements. - Title substitution is now performed in SidebarBlock titles. - DocBook graphics now output as `figure` and `informalfigure` elements rather than `mediaobjects`. This ensures numbered figures and a lists of figures are produced by the DocBook toolchain. - You can now escape block argument lines by appending a backslash. Alternatively, if you embed arguments in the delimiter line AsciiDoc does not check for an arguments line. - The default DocBook backend file extension has been changed from `.docbook` to `.xml` (`.sgml` for the 'docbook-sgml' backend). - Warnings are output by default (previously they only printed when verbose option enabled). - A Question and Answer variable list definition has been added to the shipped configuration files, primarily to create DocBook `qanda` DocBook elements. - Fixed broken code-filter `-b linuxdoc` option. The asciidoc.asc User Guide can now be processed by linuxdoc(1) (although tables are dropped because LinuxDoc does not implement tables). .Compatibility issues: 1. Table titles are no longer in the arguments line, use the new BlockTitles. 2. Graphic titles are no longer in the 'graphic' block macro caption, use the new BlockTitles. 3. The code-filter title must be placed in a preceding BlockTitle. 4. SidebarBlock titles must be placed in a preceding BlockTitle. 5. The DelimitedBlock option 'sidebar' has been renamed to 'section'. 6. The default DocBook backend file extension has been changed from `.docbook` to `.xml` (`.sgml` for the 'docbook-sgml' backend). Version 4.2 (2003-11-26) ------------------------ - The default HTML output is now XHTML 1.0 markup. To output the former HTML 4 markup specify the `html-4` backend. - The default DocBook output is now DocBook XML. To output the former DocBook SGML specify the `docbook-sgml` backend. The associated `docbook-sgml.conf` file illustrates how to support minor DTD variations. Examples of using the `xmlto(1)` command for DocBook conversion have been added to the User Guide. - Glossary entries set using the command-line -g option can now be referenced in configuration files. - Configuration dumps (`-c` command-line option) no longer output redundant undefined glossary entries. - DelimitedBlock arguments can now be specified in a separate arguments line immediately following the leading delimiter line, This is in preference to the existing delimiter embedded arguments. Reasons: * The syntax is in keeping with the Tables arguments syntax. * It's easier to enter and implements line continuation. - A new QuoteBlock DelimitedBlock definition has been added to the distribution configuration files. - The table arguments lines can be continued using the backslash line continuation character. - Added new calculated glossary reference type `{<name>%<value>}`. - Double-quote characters can now appear in unquoted positional arguments. Version 4.1 (2003-11-13) ------------------------ - Added DSV (Delimiter Separated Values) tables format. - `{eval:<expr>}` glossary references drop the containing line if `<expr>` evaluates to `None`. - Block, Table and Macro arguments can now be positional (quoted or unquoted). - Vocabulary change: DelimitedBlock, Table and Macro 'attributes' are now referred to as 'arguments'. This makes more sense in light of the extended syntax and avoids confusion with backend markup tag attributes. - 'tablewidth' table ruler parameter can now be expressed in percent units (0..100). If between 0 and 1 then the original fractional unit measure is applied. - The use of quoting for generating footnotes and index entries has been dropped in favor of 'footnote' and 'indexterm' inline macros. - 'backmatter' inline macro included in distribution. - Fixed: CSS styled HTML tables are now fully XHTML 1.0 conformant. - Fixed: 'tablewidth' was processed incorrectly when passed as table argument. - Fixed: Glossary references like `{x=\{y}}` were one character off if \{x] was defined and `{y}` was not. Version 4.0 (2003-11-08) ------------------------ *************************************************** This release has had some fairly major code and documentation changes. Please report any problems you encounter. 'Stuart Rackham' *************************************************** - Added tables to AsciiDoc. - Added two special 'subs' options: 'default' specifies the default substitution options and 'none' specifies no substitution. These options can only appear singly. - Line continuation using a trailing backslash character is available in Paragraphs, ListItems, Tables. - The left and right quotes for quoted text can now be specified separately. - Shipped configuration files implement footnotes (only useful for DocBook output) using \[[]] quoting. - Shipped configuration files implement index terms (only useful for DocBook and LinuxDoc output) using \(()) quoting. - The shipped 'html' backend configuration now emits valid 'HTML 4.01 Transitional'. - Added new calculated glossary reference types `{<name>!<value>}` and `{<name>#<value>}`. - The DelimitedBlock 'params' option has been dropped in favor of the new 'block attributes' mechanism. If you have customized block params options you may need to adjust source files to use the 'block attributes' syntax. The example code filter has been updated to reflect these changes. - The code filter now has a `-t tabsize` option. - Replaced `-w` option with `-v` (verbose) option. The warnings option was just to confusing. - Named attributes can now be specified in macro calls. - The 'tabsize' attribute is recognized in the built-in `include` macros. A tabsize of zero suppresses tab expansion. - The configuration file `[options]` section has been split into `[miscellaneous]` and `[titles]`. If you have customized any of these settings you will need to adjust the affected configuration files. - Configuration file `[miscellaneous]` entries can now also be set using the command-line `-g` option. - Fixed: error that occurred when attempting to use zero length configuration and source files. - Fixed: blocking filter halt problem. - Fixed: inline macro escape prefix problem. - Fixed: missing macros from configuration dump problem. - Fixed: named macros were dumped incorrectly. - Many documentation changes/additions/corrections. Version 3.2.2 (2003-10-26) -------------------------- - Added `-n` option (synonym for `-g section-numbers`). - Dropped the processing commentary (hey, this is Unix). - Added new calculated glossary reference type `{<name>?<value>}`. `<name>` is the glossary entry name and `<value>` is the text substituted if the glossary entry is defined. `<value>` can only contain literal text (no glossary references allowed). - Added `asciidoc2text` to distribution `examples/asciidoc2text` directory (converts AsciiDoc source to text file with section numbering). - Fixed incorrect nesting of Simple lists inside Variable lists. - List definitions have been modified so that list items can be indented. This allows a more intuitive indentation of nested lists in AsciiDoc source. - Lists must be separated from preceding paragraphs by a blank line. This is to avoid paragraph lines being mistaken for list items. - Corrected asciidoc man page documentation error: the`-f` option does *not* search relative to source document directory for the configuration file. - Minor updates to various distribution `.conf` files. - Included `badges.conf` in `examples` directory. - `css-embedded-stylesheet.conf` now supports footer badges. - The default in-line element processing order has been changed: Glossary References are now processed before Inline Macros. This allows glossary expansions to occur inside macro references. - Glossary entries are now allowed in Author and Revision lines. - Default List `subs` options and Paragraph `presubs` options are assigned the following default value if not specified: specialcharacters,quotes,specialwords,replacements,glossary,macros - Documentation changes/additions/corrections. Version 3.2 (2003-05-26) ------------------------ - Added a `-s` command-line option to suppress the output of `[header]` and `[footer]` sections. - Article document headers are no longer mandatory: this allows AsciiDoc to process arbitrary chunks of text. When used in conjunction with the new `-s` command-line option corresponding chunks of backend markup can be generated. - AsciiDoc now emits a warning message and continues when an out of sequence section title is detected (previously it failed and halted). This allows document sections to be processed separately. - Optional 'presubs' and 'postsubs' entries have been added to 'DelimitedBlock' and 'Paragraph' definitions. As a consequence substitution options are no longer legal in 'options' entries. - 'presubs' and 'postsubs' substitutions are processed in the order the options are specified (rather than the fixed 'options' order of previous versions). - ./filters subdirectories are automatically searched for filter commands. - A 'title-subs' configuration option specifies the substitutions performed on document Header and Section titles. - A 'subs' entry in now included in List configuration file definitions that specified substitutions performed on list entry text. - Configuration files are auto-loaded from ./filters subdirectories. - Added example code filter (see ./examples/filters). - Bug fix: if section was empty you may have got erroneous 'missing tag "paragraph"' error. - Internal code tidy up. Version 3.1 (2003-05-18) ------------------------ - In version 3.0 a `[macros]` section entry of the form 'name' was equivalent to 'name='. An entry of the form 'name' now undefines the entry (to bring it in line with the behavior of other special sections). - Paragraphs have now been generalized (in the same way as Lists and DelimitedBlocks). - The 'indentsize' option has been dropped as as consequence of paragraph generalization. - Pipe | characters can be included in substituted tag and substitution section text using the \{brvbar} (broken vertical bar) glossary reference. - Removed the restriction requiring substitution section text placeholders | to be on a separate line. - Added an `-e` asciidoc(1) command option that excludes implicit configuration files (used in conjunction with `-c` generated configuration files). - Version 3.0 documentation has undergone a considerable cleanup. - The dumping of quoted section entries (see `-c` option) now works correctly. - The format of special section entries has been made consistent: `name` undefines the entry; `name=` sets the entry value to a blank string; `name=value` sets the entry value to `value`. - As a consequence of the previous change the caret prefix is no longer used in glossary configuration file entries (although it is still used when undefining an entry using the `-g` command-line option). Version 3.0 (2003-05-13) ------------------------ This version is the culmination of work begun in the 2.x releases whereby fixed policy has been replaced by extensible mechanisms. - Added `-c` command-line option to dump a composite asciidoc(1) configuration file to stdout. - Lists and Delimited Blocks are now defined by a set of configuration file parameter sections. The user can modify the default definitions or add new ones. - Block content can now be processed through external filters. - The default behavior for Custom Blocks is to perform glossary substitution (previously there was no substitution inside Custom Blocks). - The old 2.x style macros have been reimplemented; as with Lists and Delimited Blocks there syntax and behavior can be configured by the user. The default macro syntax remains the same but the semantics are now (hopefully) a bit more intelligible. - Block and Builtin macros use :: delimiter instead of the 2.x single colon delimit (to distinguish them from inline macros). The 2.x syntax is still supported for backward compatibility. - Nested lists are now supported and IndentedParagraphs can be included in list items. - Conditional source inclusion can be specified using built in `ifdef`, `ifndef` and `endif` macros. - The new conditional source inclusion feature has been used to reduce the number of default configuration files down to one per backend. - A change of name: 2.x 'Substitutions' are now called 'Replacements' and the 2.x `[substitutions]` configuration file section is now called `[replacements]` (the old name is still recognized for backward compatibility). - The line break is now implemented as a 'Replacements' substitution. - Inline 'icon' macro for inline images has been added to default configuration files. Version 2.2 (2003-04-07) ------------------------ - The `master.conf` configuration file name has been deprecated in favor of `asciidoc.conf`. - The standard configuration files set is now loaded from the `.asciidoc` folder in the users home directory (if it exists) and then from the source document directory. Configuration files that don't exist are silently skipped. - Configuration files named like the source file will be automatically loaded if they are found in the source file directory. For example if the source file is `mydoc.asc` and the `-b html` option is used then asciidoc(1) will look for `mydoc.conf` and `mydoc-html.conf` in that order. - The characters used to quote formatted text can be configured and extended by the user (see the master.conf [quotes] section). - Quoted text can now be escaped by prefixing a backslash character to the leading quote. - The double single-quote '' strong text quote has been deprecated in favor of an asterisk * character. - Added \{eval:expression}, \{sys:command} and \{sys2:command} glossary reference actions. - Trailing brace characters `}` are now allowed inside glossary references provided they are escaped with a backslash character. - Glossary entries can now be escaped by prefixing a backslash character to the leading brace character (use this in preference to placing the backslash inside the brace). - The output macro has been deprecated (use the new include1 macro inside a CustomBlock). - The default document type is `article` (asciidoc no longer attempts to guess). - Files included within DelimitedBlocks are not searched for block termination underlines. This ensures the entire file is part of the DelimitedBlock. - `include` macros can now be used in configuration files. - Corrected \{infile} and \{outfile} glossary entry documentation. - File inclusion is now limited to a depth of 5 to catch recursion loops. - Inline tags have been deprecated, they're not necessary and they immediately make the source document backend specific. Use CustomBlocks or Substitutions instead. Version 2.1 (2003-03-17) ------------------------ - Added section auto numbering `{sectnum}` glossary entry (auto-numbering function contributed by Ludovico Magnocavallo). - asciidoc(1) now correctly returns non-zero exit status if an error occurs. - An AsciiDoc example website has been included in the AsciiDoc distribution `examples/website` directory. - NOTE: The `asciidoc` wrapper script included in the 2.0 distribution has been dropped, if you've symlinked or aliased to `asciidoc` you'll need to change them to point directly to `asciidoc.py` instead. - An RCS $Id$ marker can be used as the document header revision line (based on a patch submitted by Ludovico Magnocavallo). - In addition to the `name=value` glossary entry format two new ones have been introduced: `name` (the default value is set to an empty string) and `^name` (the glossary entry is undefined). - The `-q` command-line option has been deprecated and the `-w level` command-line option added. + NOTE: By default skipped substitution warnings are now suppressed. - If a configuration file specified with the `-f` command-line option is not found relative to the current working directory then the search is repeated relative to the asciidoc(1) directory. This allows global configuration files to be used. - Added `{infile}`, `{outfile}` predefined glossary entries. - Added `under-construction` macro to HTML article configuration files. - Deprecated `{asciidoc_version}` glossary entry in favor of `{asciidoc-version}` (to it consistent with other entries). Version 2.0 (2003-02-24) ------------------------ - The emphasized, strong and monospaced words options have been generalized with the introduction of macro based 'special words' lists. - Glossary references can now appear in both the document and macro bodies. - All output files use `crlf` line termination (previously used UNIX `lf` (newline) termination). - Added [substitutions] section which implements arbitrary regular expression based substitutions. - An optional `master.conf` configuration file can be used for entries that are not backend or document type specific. - Special character definitions moved from the code to the new [special_characters] configuration file section. - Configuration file glossary added. - Command-line -g glossary entry added. - A new 'book' document type has been implemented for the 'docbook' backend. It outputs DocBook 'book' documents. - A major internal change has been the implementation of parametrized user definable 'macros'. Internally most document elements are now processed as macros. - Configuration file macro variables can be specified with default values (literals or other macro variables). - An attempt has been made to tighten up the vocabulary used to describe the AsciiDoc document syntax. - The term abstract has been replaced by the more general term 'preface' and a new preface section introduced into article configuration files (replacing the synopsis sections). - Any section elements can now be put in the document preface (previous versions only allowed paragraphs). - AsciiDoc Blocks have been unified and their behavior can be user defined and parametrized. - An 'output' inclusion allows an external file to be written directly to the backend output file. - A new CustomBlock has been added. Default behavior is to insert the enveloped AsciiDoc source lines directly into the output file. - A 'line break' tag can be inserted by terminating a line with a '+' character (only really useful for HTML backends). - An fourth section level has been introduced. - The SidebarBlock delimiter line characters have been changed. The deprecated underline is still accepted. - Levels 2 and 3 title underline characters have been changed. The deprecated underlines are still accepted. - Lines with backend specific inline tags can be inserted into AsciiDoc source files. - Single words enveloped by underscores are no longer emphasized. This feature was deprecated as it is redundant (use single quotes instead) and was being applied to file names with underscores. - A `-q` quiet option has been added to suppress warning messages. - Badge images sourced locally. - Added 'author' and 'author-mail' meta tags to HTML configuration files. Version 1.5 (2003-01-08) ------------------------ - Implemented sidebar document elements. - Explicit checks for user specified configuration files and input file (rather than throwing exception). Version 1.4 (2003-01-04) ------------------------ - New configuration file options 'emphasizedwords' and 'strongwords'. These allow the definition of words that will always be emphasized or rendered in a strong font without inline formatting. - Document and section titles are no long subject to inline formatting. - Multiple configuration files can be overlaid in a single command. - Configuration file tags and options entries can now be overridden on an entry by entry basis (previously the entire section was overloaded). - Configuration file tags and options entries are now cached this has resulted in around 37% performance improvement over version 1.3. - Variable lists can now contain multiple terms per list item. - Placeholder paragraph eliminated from empty sections that contain subsections. - Added \{asciidoc_version} substitution variable. - More documentation additions and tidy ups. Version 1.3 (2003-01-01) ------------------------ - A new 'strong' text formatting convention has been implemented: Word phrases enclosed in pairs of single quote characters (acute accents) are rendered in a strong font (usually bold). - Paragraphs can now be followed immediately by Simple lists and Ordered lists without an intervening blank line. - A user specified configuration file (`asciidoc(1)` -f option) overlays the default configuration file rather than replacing it. Custom configuration files need only contain those sections that have been customized. - Comment Block delimiters have been relaxed slightly. They must start with three forward slashes /// but the remainder can contain any characters, this allows comments to be embedded in the delimiter line. - Leading non-digit characters preceding revision number are now ignored. - Set default indentsize [option] from 2 to documented default value of zero in HTML backend html-article.conf and html-manpage.conf files. - Fixed error that occurred when taking input from stdin without explicitly specifying a document type. - Restored file name and line number error message information. - Changed deprecated -t option to -d in asciidoc --help and usage command output. - CSS styles tweaking. - Code, configuration file and documentation tidy ups. Version 1.2 (2002-12-28) ------------------------ - Implemented 'include' URL to allow file inclusion. - `fileextension` configuration file [option] renamed to more sensible `outfilesuffix` (`fileextension` still accepted by this version but will be dropped in future). - Improved error reporting. - CSS backends generate valid XHTML. - New `css-embedded` backend generates HTML with embedded stylesheets (use the `css` backend for linked stylesheets). The css-embedded backend output contains no linked images so the generated html files are completely self contained. - Bug fixes. Version 1.1 (2002-12-03) ------------------------ - Added css (cascading style sheets) backend - Implemented IndentedBlock document element. - Tabsize command-line option has been deprecated in favor of configuration file. - Default indent width changed to zero. - Added \{localdate} and \{localtime} substitution variables. - Added optional [options] configuration file section with fileextension, tabsize and indentsize options. - Implemented \{authorinitials} substitution variable. - Added https link type. - Corrected [graphic] substitution from \{title} to \{caption} in linuxdoc-article.conf configuration file. - Fixed error that occurred when '==' title underline was used. Version 1.0 (2002-11-25) ------------------------ First AsciiDoc public release along with AsciiDoc web site (http://asciidoc.org/) and SourceForge.net project registration (https://sourceforge.net/projects/asciidoc/[]). // vim: set syntax=asciidoc: ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/lang-ja.conf������������������������������������������������������������������0000644�0001750�0001750�00000002416�13570064211�016141� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# # AsciiDoc Japanese language configuration file. # Originally written by 渡邊裕貴 (WATANABE Yuki) # [attributes] # Left and right single and double quote characters. lsquo=「 rsquo=」 ldquo=『 rdquo=』 # Captions, used by (X)HTML backends. # Captions on RHS are displayed in outputs. ifdef::basebackend-html[] caution-caption=注意 important-caption=重要 note-caption=注 tip-caption=補足 warning-caption=警告 figure-caption=図 table-caption=表 example-caption=例 toc-title=目次 appendix-caption=付録 # Man page NAME section title. manname-title=名前 [footer-text] バージョン {revnumber}{basebackend-xhtml11?<br />}{basebackend-xhtml11=<br>} template::[footer-date] 更新 endif::basebackend-html[] [specialsections] # DocBook special sections. # The regular expression on LHS is matched against source titles. ifdef::basebackend-docbook[] ifdef::doctype-article[] ^概要$=abstract endif::doctype-article[] ifdef::doctype-book[] ^奥付け?$=colophon ^献辞$=dedication ^(前書き?|まえがき)$=preface endif::doctype-book[] ^索引$=index ^(参考|引用)(書目|文献)$=bibliography ^用語集$=glossary ^付録 [A-Z][:.](?P<title>.*)$=appendix endif::basebackend-docbook[] ifdef::doctype-manpage[] ^書式$=synopsis endif::doctype-manpage[] ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/INSTALL.txt�������������������������������������������������������������������0000644�0001750�0001750�00000013530�13570064211�015627� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������AsciiDoc Installation ===================== NOTE: The current version of AsciiDoc requires *Python 3.5 or later* to run. If you don't already have an up-to-date version of Python installed it can be downloaded from the official Python website http://www.python.org/. Prerequisites ------------- See the link:README.html[README] page. Installing from the GitHub repository ------------------------------------- The AsciiDoc repository is hosted by https://github.com[GitHub]. To browse the repository go to https://github.com/asciidoc/asciidoc-py3. You can install AsciiDoc from the repository if you don't have an up to date packaged version, or you want to get the latest version from the master branch: - Make sure you have https://git-scm.com/[Git] installed; you can check with: $ git --version - Go to the directory you want to install AsciiDoc into and download the repository. This example gets the {revnumber} tagged release: [subs="attributes"] $ cd ~/bin $ git clone https://github.com/asciidoc/asciidoc-py3 asciidoc-{revnumber} $ git checkout {revnumber} You now have two choices: you can run asciidoc locally from your repository or you can use 'autoconf(1)' and 'make(1)' to perform a system-wide install. Running asciidoc from your local copy ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Create a symlink to the AsciiDoc script in a search `PATH` directory so it's easy to execute `asciidoc` from the command line, for example: [subs="attributes"] $ ln -s ~/bin/asciidoc-{revnumber}/asciidoc.py ~/bin/asciidoc $ ln -s ~/bin/asciidoc-{revnumber}/a2x.py ~/bin/a2x Use the git `pull` command to update your local AsciiDoc repository. Installing asciidoc for all users ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Create `configure` using 'autoconf(1)'; use `configure` to create the `Makefile`; run 'make(1)'; build the man pages; install: --------------------------------------------- $ autoconf $ ./configure $ make $ sudo make install --------------------------------------------- To uninstall: --------------------------------------------- $ sudo make uninstall --------------------------------------------- [[X1]] Distribution tarball installation --------------------------------- The distribution source tarballs can be downloaded from the SourceForge http://sourceforge.net/projects/asciidoc/. NOTE: Unless you are <<X3,installing on Microsoft Windows>> you should use the tarball and not the zip file to install the the distribution (the tarball contains symlinks). If your flavor of UNIX or Linux does not have a packaged AsciiDoc distribution or if you prefer to install the latest AsciiDoc version from source, use the `configure` shell script in the tarball root directory. The `autoconf(1)`-generated `configure` script creates a `Makefile` that is tailored for your system. To install: [subs="attributes"] $ tar -xzf asciidoc-{revnumber}.tar.gz $ cd asciidoc-{revnumber} $ ./configure $ sudo make install To install the documentation: $ sudo make docs To uninstall AsciiDoc: $ sudo make uninstall If Vim is installed on your system the AsciiDoc Vim syntax highlighter and filetype detection scripts will be installed in the global Vim configuration file directory (`asciidoc.vim` in the `syntax` directory and `asciidoc_filetype.vim` in the `ftdetect` directory). [[X3]] Microsoft Windows installation ------------------------------ AsciiDoc is developed and tested on Linux but there seem to be quite a few people using it on Windows. To install AsciiDoc on Windows unzip the distribution zip file contents: [subs="attributes"] $ unzip asciidoc-{revnumber}.zip This will create the folder +asciidoc-{revnumber}+ containing the `asciidoc.py` and `a2x.py` executables along with configuration files and documentation. To generate DocBook based outputs (e.g. PDFs) you will also need a working DocBook toolchain. Installing and configuring a DocBook toolchain on Windows can be a challenge -- this blog post explains http://blog.rainwebs.net/2010/02/25/how-to-create-handsome-pdf-documents-without-frustration/[How to Create Handsome PDF Documents Without Frustration] using http://www.cygwin.com/[Cygwin], http://dblatex.sourceforge.net/[dblatex] and AsciiDoc. Testing your installation ------------------------- Test out asciidoc by changing to the AsciiDoc application directory and converting the User Guide document (`./doc/asciidoc.txt`) to XHTML (`./doc/asciidoc.html`): $ python asciidoc.py doc/asciidoc.txt The link:testasciidoc.html[testasciidoc] tool offers a more extensive set of conformance tests, though you do need to create the test data before running the tests (this in itself is a good post-install test): $ python ./tests/testasciidoc.py update Now you can run the tests by executing this command: $ python ./tests/testasciidoc.py run A full battery of tests can be run from the `main.aap` script in the distribution root directory: $ aap test Building the distribution ------------------------- The AsciiDoc distribution is built using http://www.a-a-p.org/[A-A-P] (a software build system written by Bram Moolenaar). The AsciiDoc A-A-P scripts are: `./main.aap`:: Builds the distribution tarball and zip files, documentation and example website. `./doc/main.aap`:: Builds distribution documentation. `./examples/website/main.aap`:: Builds AsciiDoc website. `./common.aap`:: Included in all scripts. To build the distribution tarball and zip files, documentation and example website run A-A-P from the distribution root directory: $ aap [[X2]] Prepackaged AsciiDoc installation --------------------------------- The following platform-specific AsciiDoc-py3 packages are available: *Fedora Linux*:: AsciiDoc is included in Fedora Extras, which is available in the default Fedora installation. To install asciidoc, execute the following command: $ yum install asciidoc See also link:userguide.html#X38[Packager Notes] in the 'AsciiDoc User Guide'. ������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/lang-ro.conf������������������������������������������������������������������0000644�0001750�0001750�00000002344�13570064211�016167� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# # AsciiDoc Romanian language configuration file. # Originally written by Vitalie Lazu # [attributes] # Left and right single and double quote characters. ldquo=„ rdquo=” # Captions, used by (X)HTML backends. # Captions on RHS are displayed in outputs. ifdef::basebackend-html[] caution-caption=Precauție important-caption=Important note-caption=Notă tip-caption=Sfat warning-caption=Anteție figure-caption=Figură table-caption=Tabela example-caption=Exemplu toc-title=Cuprins appendix-caption=Apendix # Man page NAME section title. manname-title=NUME [footer-text] Versiunea {revnumber}{basebackend-xhtml11?<br />}{basebackend-xhtml11=<br>} Ultima actualizare template::[footer-date] endif::basebackend-html[] [specialsections] # DocBook special sections. # The regular expression on LHS is matched against source titles. ifdef::basebackend-docbook[] ifdef::doctype-article[] ^Adnotație$=abstract endif::doctype-article[] ifdef::doctype-book[] ^Casetă$=colophon ^Dedicare$=dedication ^Prefață$=preface endif::doctype-book[] ^Index$=index ^Bibliografia$=bibliography ^Glosar$=glossary ^Anexa [A-Z][:.](?P<title>.*)$=appendix endif::basebackend-docbook[] ifdef::doctype-manpage[] (?i)^REZUMAT$=synopsis endif::doctype-manpage[] ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/lang-fr.conf������������������������������������������������������������������0000644�0001750�0001750�00000002432�13570064211�016154� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# # AsciiDoc French language configuration file. # Originally written by Yves-Alexis Perez # [attributes] # Left and right single and double quote characters. ldquo=« rdquo=» # Captions, used by (X)HTML backends. # Captions on RHS are displayed in outputs. ifdef::basebackend-html[] caution-caption=Avertissement important-caption=Important note-caption=Note tip-caption=Astuce warning-caption=Attention figure-caption=Figure table-caption=Tableau example-caption=Exemple toc-title=Table des matières appendix-caption=Appendice # Man page NAME section title. manname-title=NOM [footer-text] Version {revnumber}{basebackend-xhtml11?<br />}{basebackend-xhtml11=<br>} Dernière mise à jour template::[footer-date] endif::basebackend-html[] [specialsections] # DocBook special sections. # The regular expression on LHS is matched against source titles. ifdef::basebackend-docbook[] ifdef::doctype-article[] ^Résumé$=abstract endif::doctype-article[] ifdef::doctype-book[] ^Colophon$=colophon ^Dédicace$=dedication ^Préface$=preface endif::doctype-book[] ^Index$=index ^(Bibliographie|Références)$=bibliography ^Glossaire$=glossary ^Appendice [A-Z][:.](?P<title>.*)$=appendix endif::basebackend-docbook[] ifdef::doctype-manpage[] (?i)^SYNOPSIS$=synopsis endif::doctype-manpage[] ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/asciidoc.conf�����������������������������������������������������������������0000644�0001750�0001750�00000042473�13570064211�016415� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# # asciidoc.conf # # Asciidoc global configuration file. # Contains backend independent configuration settings that are applied to all # AsciiDoc documents. # [miscellaneous] tabsize=8 textwidth=70 newline=\r\n [attributes] backend-alias-html=xhtml11 backend-alias-docbook=docbook45 toclevels=2 toc-placement=auto sectids= iconsdir=./images/icons encoding=UTF-8 # Uncomment to use xhtml11 quirks mode CSS. #quirks= # HTML source code highlighter (source-highlight, pygments or highlight). source-highlighter=source-highlight # Uncomment to use deprecated quote attributes. #deprecated-quotes= empty= sp=" " # Attribute and AttributeList element patterns. attributeentry-pattern=^:(?P<attrname>\w[^.]*?)(\.(?P<attrname2>.*?))?:(\s+(?P<attrvalue>.*))?$ attributelist-pattern=(^\[\[(?P<id>[\w_:][\w_:.-]*)(,(?P<reftext>.*?))?\]\]$)|(^\[(?P<attrlist>.*)\]$) # Substitution attributes for escaping AsciiDoc processing. amp=& lt=< gt=> brvbar=| nbsp=  zwsp=​ wj=⁠ deg=° backslash=\ two-colons=:: two-semicolons=;; plus=+ # DEPRECATED: underscore attribute names. two_colons=:: two_semicolons=;; # Left and right single and double quote characters. # See http://en.wikipedia.org/wiki/Non-English_usage_of_quotation_marks lsquo=‘ rsquo=’ ldquo=“ rdquo=” [titles] subs=specialcharacters,quotes,replacements,macros,attributes,replacements2 # Double-line title pattern and underlines. sectiontitle=^(?P<title>.*?)$ underlines="==","--","~~","^^","++" # Single-line title patterns. sect0=^= +(?P<title>[\S].*?)( +=)?$ sect1=^== +(?P<title>[\S].*?)( +==)?$ sect2=^=== +(?P<title>[\S].*?)( +===)?$ sect3=^==== +(?P<title>[\S].*?)( +====)?$ sect4=^===== +(?P<title>[\S].*?)( +=====)?$ blocktitle=^\.(?P<title>([^.\s].*)|(\.[^.\s].*))$ [specialcharacters] &=& <=< >=> [quotes] # The order is important, quotes are processed in conf file order. **=#strong *=strong ``|''=doublequoted '=emphasis `|'=singlequoted ifdef::no-inline-literal[] `=monospaced endif::no-inline-literal[] # +++ and $$ quoting is applied to the +++ and $$ inline passthrough # macros to allow quoted attributes to be used. # This trick only works with inline passthrough macros. +++=#unquoted $$=#unquoted ++=#monospaced +=monospaced __=#emphasis _=emphasis \##=#unquoted \#=unquoted ^=#superscript ~=#subscript [specialwords] emphasizedwords= strongwords= monospacedwords= [replacements] # Replacements performed in order of configuration file entry. The first entry # of each replacement pair performs the (non-escaped) replacement, the second # strips the backslash from the escaped replacement. # (C) Copyright (entity reference ©) (?<!\\)\(C\)=© \\\(C\)=(C) # (R) registered trade mark (entity reference ® (?<!\\)\(R\)=® \\\(R\)=(R) # (TM) Trademark (entity reference ™) (?<!\\)\(TM\)=™ \\\(TM\)=(TM) # -- Spaced and unspaced em dashes (entity reference —). # Space on both sides is translated to thin space characters. (^-- )=—  (\n-- )|( -- )|( --\n)= —  (\w)--(\w)=\1—\2 \\--(?!-)=-- # Replace vertical typewriter apostrophe with punctuation apostrophe. (\w)'(\w)=\1’\2 (\w)\\'(\w)=\1'\2 # ... Ellipsis (entity reference …) (?<!\\)\.\.\.=… \\\.\.\.=... # Arrows from the Arrows block of Unicode. # -> right arrow (?<!\\)->=→ \\->=-> # => right double arrow (?<!\\)\=>=⇒ \\\=>==> # <- left arrow (?<!\\)<-=← \\<-=<- # <= left double arrow (?<!\\)<\==⇐ \\<\==<= # Arbitrary entity references. (?<!\\)&([:_#a-zA-Z][:_.\-\w]*?;)=&\1 \\(&[:_#a-zA-Z][:_.\-\w]*?;)=\1 #----------- # Paragraphs #----------- [paradef-default] delimiter=(?s)(?P<text>\S.*) posattrs=style style=normal template::[paragraph-styles] [paradef-literal] delimiter=(?s)(?P<text>\s+.*) options=listelement posattrs=style style=literal template::[paragraph-styles] [paradef-admonition] delimiter=(?s)^\s*(?P<style>NOTE|TIP|IMPORTANT|WARNING|CAUTION):\s+(?P<text>.+) template::[paragraph-styles] [paragraph-styles] normal-style=template="paragraph" comment-style=template="paragraph",options=('skip',) verse-style=template="verseparagraph",posattrs=("style","attribution","citetitle") quote-style=template="quoteparagraph",posattrs=("style","attribution","citetitle") literal-style=template="literalparagraph",subs=("verbatim",) listing-style=template="listingparagraph",subs=("verbatim",) example-style=template="exampleparagraph" sidebar-style=template="sidebarparagraph" abstract-style=template="abstractparagraph" partintro-style=template="partintroparagraph" NOTE-style=template="admonitionparagraph",name="note",caption="{note-caption}" TIP-style=template="admonitionparagraph",name="tip",caption="{tip-caption}" IMPORTANT-style=template="admonitionparagraph",name="important",caption="{important-caption}" WARNING-style=template="admonitionparagraph",name="warning",caption="{warning-caption}" CAUTION-style=template="admonitionparagraph",name="caution",caption="{caution-caption}" [literalparagraph] template::[literalblock] [verseparagraph] template::[verseblock] [quoteparagraph] template::[quoteblock] [listingparagraph] template::[listingblock] [exampleparagraph] template::[exampleblock] [sidebarparagraph] template::[sidebarblock] [abstractparagraph] template::[abstractblock] [partintroparagraph] template::[partintroblock] [macros] #-------------- # Inline macros #-------------- # Backslash prefix required for escape processing. # (?s) re flag for line spanning. # Macros using default syntax. (?s)(?<!\w)[\\]?(?P<name>http|https|ftp|file|irc|mailto|callto|image|link|anchor|xref|indexterm|indexterm2):(?P<target>\S*?)\[(?P<attrlist>.*?)(?<!\\)\]= # These URL types don't require any special attribute list formatting. (?s)(?<!\S)[\\]?(?P<name>http|https|ftp|file|irc):(?P<target>//[^\s<>]*[\w/])= # Allow a leading parenthesis and square bracket. (?s)(?<\=[([])[\\]?(?P<name>http|https|ftp|file|irc):(?P<target>//[^\s<>]*[\w/])= # Allow <> brackets. (?s)[\\]?<(?P<name>http|https|ftp|file|irc):(?P<target>//[^\s<>]*[\w/])>= # Email addresses don't require special attribute list formatting. # The before ">: and after "< character exclusions stop multiple substitution. (?s)(?<![">:\w._/-])[\\]?(?P<target>\w[\w._-]*@[\w._-]*\w)(?!["<\w_-])=mailto # Allow footnote macros hard up against the preceding word so the footnote mark # can be placed against the noted text without an intervening space # (http://groups.google.com/group/asciidoc/browse_frm/thread/e1dcb7ee0efc17b5). (?s)[\\]?(?P<name>footnote|footnoteref):(?P<target>\S*?)\[(?P<attrlist>.*?)(?<!\\)\]= # Anchor: [[[id]]]. Bibliographic anchor. (?s)[\\]?\[\[\[(?P<attrlist>[\w_:][\w_:.-]*?)\]\]\]=anchor3 # Anchor: [[id,xreflabel]] (?s)[\\]?\[\[(?P<attrlist>[\w"_:].*?)\]\]=anchor2 # Link: <<id,text>> (?s)[\\]?<<(?P<attrlist>[\w"_:].*?)>>=xref2 ifdef::asciidoc7compatible[] # Index term: ++primary,secondary,tertiary++ (?s)(?<!\S)[\\]?\+\+(?P<attrlist>[^+].*?)\+\+(?!\+)=indexterm # Index term: +primary+ # Follows ++...++ macro otherwise it will match them. (?<!\S)[\\]?\+(?P<attrlist>[^\s\+][^+].*?)\+(?!\+)=indexterm2 endif::asciidoc7compatible[] ifndef::asciidoc7compatible[] # Index term: (((primary,secondary,tertiary))) (?s)(?<!\()[\\]?\(\(\((?P<attrlist>[^(].*?)\)\)\)(?!\))=indexterm # Index term: ((primary)) # Follows (((...))) macro otherwise it will match them. (?<!\()[\\]?\(\((?P<attrlist>[^\s\(].*?)\)\)(?!\))=indexterm2 endif::asciidoc7compatible[] # Callout [\\]?<(?P<index>\d+)>=callout # Passthrough macros. (?s)[\\]?(?P<name>pass):(?P<subslist>\S*?)\[(?P<passtext>.*?)(?<!\\)\]=[] # Triple-plus and double-dollar inline passthroughs. (?s)[\\]?\+\+\+(?P<passtext>.*?)\+\+\+=pass[] (?s)[\\]?\$\$(?P<passtext>.*?)\$\$=pass[specialcharacters] # Inline literal. ifndef::no-inline-literal[] (?s)(?<![`\w])([\\]?`(?P<passtext>[^`\s]|[^`\s].*?\S)`)(?![`\w])=literal[specialcharacters] endif::no-inline-literal[] # Inline comment. (?m)^[\\]?//(?P<passtext>[^/].*|)$=comment[specialcharacters] # Default (catchall) inline macro is not implemented so there is no ambiguity # with previous definition that could result in double substitution of escaped # references. #(?s)[\\]?(?P<name>\w(\w|-)*?):(?P<target>\S*?)\[(?P<passtext>.*?)(?<!\\)\]= #------------- # Block macros #------------- # Macros using default syntax. ^(?P<name>image|unfloat|toc)::(?P<target>\S*?)(\[(?P<attrlist>.*?)\])$=# # Passthrough macros. ^(?P<name>pass)::(?P<subslist>\S*?)(\[(?P<passtext>.*?)\])$=# ^'{3,}$=#ruler ^<{3,}$=#pagebreak ^//(?P<passtext>[^/].*|)$=#comment[specialcharacters] # Implemented in HTML backends. [unfloat-blockmacro] [toc-blockmacro] #----------------- # Delimited blocks #----------------- [blockdef-comment] delimiter=^/{4,}$ options=skip posattrs=style [blockdef-sidebar] delimiter=^\*{4,}$ template=sidebarblock options=sectionbody posattrs=style # DEPRECATED: Use Openblock instead. abstract-style=template="abstractblock" [blockdef-open] # A block without opening or closing tags. delimiter=^--$ posattrs=style style=default default-style=template="openblock",options=("sectionbody",) comment-style=template="openblock",options=("skip",) abstract-style=template="abstractblock",options=("sectionbody",) partintro-style=template="partintroblock",options=("sectionbody",) example-style=template="exampleblock",options=("sectionbody",) sidebar-style=template="sidebarblock",options=("sectionbody",) verse-style=template="verseblock",posattrs=("style","attribution","citetitle") quote-style=template="quoteblock",posattrs=("style","attribution","citetitle"),options=("sectionbody",) literal-style=template="literalparagraph",subs=("verbatim",) listing-style=template="listingparagraph",subs=("verbatim",) NOTE-style=template="admonitionblock",name="note",caption="{note-caption}",options=("sectionbody",) TIP-style=template="admonitionblock",name="tip",caption="{tip-caption}",options=("sectionbody",) IMPORTANT-style=template="admonitionblock",name="important",caption="{important-caption}",options=("sectionbody",) WARNING-style=template="admonitionblock",name="warning",caption="{warning-caption}",options=("sectionbody",) CAUTION-style=template="admonitionblock",name="caution",caption="{caution-caption}",options=("sectionbody",) [blockdef-pass] delimiter=^\+{4,}$ template=passblock # Default subs chosen for backward compatibility. subs=attributes,macros posattrs=style pass-style=template="passblock",subs=() [blockdef-listing] delimiter=^-{4,}$ template=listingblock subs=verbatim posattrs=style [blockdef-literal] delimiter=^\.{4,}$ template=literalblock subs=verbatim posattrs=style listing-style=template="listingblock" # DEPRECATED: Use verse style on quote blocks instead. verse-style=template="verseblock",subs="normal" [blockdef-quote] delimiter=^_{4,}$ subs=normal style=quote posattrs=style,attribution,citetitle quote-style=template="quoteblock",options=("sectionbody",) verse-style=template="verseblock" [blockdef-example] delimiter=^={4,}$ template=exampleblock options=sectionbody posattrs=style NOTE-style=template="admonitionblock",name="note",caption="{note-caption}" TIP-style=template="admonitionblock",name="tip",caption="{tip-caption}" IMPORTANT-style=template="admonitionblock",name="important",caption="{important-caption}" WARNING-style=template="admonitionblock",name="warning",caption="{warning-caption}" CAUTION-style=template="admonitionblock",name="caution",caption="{caution-caption}" # For use by custom filters. # DEPRECATED: No longer used, a styled listing block (blockdef-listing) is preferable. [blockdef-filter] delimiter=^~{4,}$ template=listingblock subs=none posattrs=style #------- # Lists #------- [listdef-bulleted] # - bullets. delimiter=^\s*- +(?P<text>.+)$ posattrs=style type=bulleted tags=bulleted callout-style=tags="callout" bibliography-style=tags="bibliography" [listdef-bulleted1] # * bullets. template::[listdef-bulleted] delimiter=^\s*\* +(?P<text>.+)$ [listdef-bulleted2] # ** bullets. template::[listdef-bulleted] delimiter=^\s*\*{2} +(?P<text>.+)$ [listdef-bulleted3] # *** bullets. template::[listdef-bulleted] delimiter=^\s*\*{3} +(?P<text>.+)$ [listdef-bulleted4] # **** bullets. template::[listdef-bulleted] delimiter=^\s*\*{4} +(?P<text>.+)$ [listdef-bulleted5] # ***** bullets. template::[listdef-bulleted] delimiter=^\s*\*{5} +(?P<text>.+)$ [listdef-arabic] # Arabic numbering. delimiter=^\s*(?P<index>\d+\.) +(?P<text>.+)$ posattrs=style type=numbered tags=numbered style=arabic [listdef-loweralpha] # Lower alpha numbering. template::[listdef-arabic] delimiter=^\s*(?P<index>[a-z]\.) +(?P<text>.+)$ style=loweralpha [listdef-upperalpha] # Upper alpha numbering. template::[listdef-arabic] delimiter=^\s*(?P<index>[A-Z]\.) +(?P<text>.+)$ style=upperalpha [listdef-lowerroman] # Lower roman numbering. template::[listdef-arabic] delimiter=^\s*(?P<index>[ivx]+\)) +(?P<text>.+)$ style=lowerroman [listdef-upperroman] # Upper roman numbering. template::[listdef-arabic] delimiter=^\s*(?P<index>[IVX]+\)) +(?P<text>.+)$ style=upperroman [listdef-numbered1] # . numbering. template::[listdef-arabic] delimiter=^\s*\. +(?P<text>.+)$ [listdef-numbered2] # .. numbering. template::[listdef-loweralpha] delimiter=^\s*\.{2} +(?P<text>.+)$ [listdef-numbered3] # ... numbering. template::[listdef-lowerroman] delimiter=^\s*\.{3} +(?P<text>.+)$ [listdef-numbered4] # .... numbering. template::[listdef-upperalpha] delimiter=^\s*\.{4} +(?P<text>.+)$ [listdef-numbered5] # ..... numbering. template::[listdef-upperroman] delimiter=^\s*\.{5} +(?P<text>.+)$ [listdef-labeled] # label:: item. delimiter=^\s*(?P<label>.*[^:])::(\s+(?P<text>.+))?$ posattrs=style type=labeled tags=labeled vertical-style=tags="labeled" horizontal-style=tags="horizontal" glossary-style=tags="glossary" qanda-style=tags="qanda" [listdef-labeled2] # label;; item. template::[listdef-labeled] delimiter=^\s*(?P<label>.*[^;]);;(\s+(?P<text>.+))?$ [listdef-labeled3] # label::: item. template::[listdef-labeled] delimiter=^\s*(?P<label>.*[^:]):{3}(\s+(?P<text>.+))?$ [listdef-labeled4] # label:::: item. template::[listdef-labeled] delimiter=^\s*(?P<label>.*[^:]):{4}(\s+(?P<text>.+))?$ [listdef-callout] posattrs=style delimiter=^<?(?P<index>\d*>) +(?P<text>.+)$ type=callout tags=callout style=arabic # DEPRECATED: Old list syntax. [listdef-qanda] posattrs=style delimiter=^\s*(?P<label>.*\S)\?\?$ type=labeled tags=qanda # DEPRECATED: Old list syntax. [listdef-bibliography] posattrs=style delimiter=^\+ +(?P<text>.+)$ type=bulleted tags=bibliography # DEPRECATED: Old list syntax. [listdef-glossary] delimiter=^(?P<label>.*\S):-$ posattrs=style type=labeled tags=glossary #------- # Tables #------- [tabledef-default] delimiter=^\|={3,}$ posattrs=style template=table default-style=tags="default" verse-style=tags="verse" literal-style=tags="literal",subs=("specialcharacters",) emphasis-style=tags="emphasis" strong-style=tags="strong" monospaced-style=tags="monospaced" header-style=tags="header" asciidoc-style=tags="asciidoc",subs=(),filter='"{python}" "{asciidoc-file}" -b {backend} {asciidoc-args}{lang? -a "lang={lang}@"}{icons? -a icons -a "iconsdir={iconsdir}"}{imagesdir? -a "imagesdir={imagesdir}"}{data-uri? -a data-uri} -a "indir={indir}"{trace? -a "trace={trace}"}{blockname? -a "blockname={blockname}"} -s -' [tabledef-nested] # Same as [tabledef-default] but with different delimiter and separator. delimiter=^!={3,}$ separator=((?<!\S)((?P<span>[\d.]+)(?P<op>[*+]))?(?P<align>[<\^>.]{,3})?(?P<style>[a-z])?)?! posattrs=style template=table verse-style=tags="verse" literal-style=tags="literal",subs=("specialcharacters",) emphasis-style=tags="emphasis" strong-style=tags="strong" monospaced-style=tags="monospaced" header-style=tags="header" asciidoc-style=tags="asciidoc",subs=(),filter='"{python}" "{asciidoc-file}" -b {backend} {asciidoc-args}{lang? -a "lang={lang}@"}{icons? -a icons -a "iconsdir={iconsdir}"}{imagesdir? -a "imagesdir={imagesdir}"}{data-uri? -a data-uri} -a "indir={indir}"{trace? -a "trace={trace}"}{blockname? -a "blockname={blockname}"} -s -' #---------------------------------------- # Common block and macro markup templates #---------------------------------------- [comment-inlinemacro] # Outputs nothing. [comment-blockmacro] # Outputs nothing. [pass-blockmacro] {passtext} [pass-inlinemacro] template::[pass-blockmacro] [passblock] | [filter-image-blockmacro] # Synthesize missing target attribute for filter generated file names. # The tag split | ensures missing target file names are auto-generated # before the filter is executed, the remainder (the [image-blockmacro]) # is excuted after the filter to ensure data URI encoding comes after # the image is created. {target%}{counter2:target-number} {target%}{set2:target:{docname}__{target-number}.png} | template::[image-blockmacro] [+docinfo] # Blank section to suppress missing template warning. #---------------------------------- # Default special section templates #---------------------------------- [abstract] template::[sect1] [colophon] template::[sect1] [dedication] template::[sect1] [preface] template::[sect1] [appendix] template::[sect1] [glossary] template::[sect1] [bibliography] template::[sect1] [index] template::[sect1] [synopsis] template::[sect1] #-------------------------------------------------------------------- # Deprecated old table definitions. # [old_tabledef-default] fillchar=- format=fixed [old_tabledef-csv] fillchar=~ format=csv [old_tabledef-dsv] fillchar=_ format=dsv # End of deprecated old table definitions. #-------------------------------------------------------------------- �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/lang-ca.conf������������������������������������������������������������������0000644�0001750�0001750�00000002353�13570064211�016132� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# # AsciiDoc Catalan language configuration file. # [attributes] # Left and right single and double quote characters. ldquo=« rdquo=» # Captions, used by (X)HTML backends. # Captions on RHS are displayed in outputs. ifdef::basebackend-html[] caution-caption=Atenció important-caption=Important note-caption=Nota tip-caption=Suggeriment warning-caption=Advertència figure-caption=Figura table-caption=Taula example-caption=Exemple toc-title=Taula de continguts appendix-caption=Apèndix # Man page NAME section title. manname-title=NOM [footer-text] Versió {revnumber}{basebackend-xhtml11?<br />}{basebackend-xhtml11=<br>} Última actualització template::[footer-date] endif::basebackend-html[] [specialsections] # DocBook special sections. # The regular expression on LHS is matched against source titles. ifdef::basebackend-docbook[] ifdef::doctype-article[] ^Resum$=abstract endif::doctype-article[] ifdef::doctype-book[] ^Colofó$=colophon ^Dedicatòria$=dedication ^Prefaci$=preface endif::doctype-book[] ^Índex$=index ^(Bibliografia|Referències)$=bibliography ^Glossari$=glossary ^Apèndix [A-Z][:.](?P<title>.*)$=appendix endif::basebackend-docbook[] ifdef::doctype-manpage[] (?i)^SINOPSIS$=synopsis endif::doctype-manpage[] �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/COPYRIGHT���������������������������������������������������������������������0000644�0001750�0001750�00000001351�13570064211�015251� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Copyright (C) 2000-2007 Stuart Rackham Email: srackham@gmail.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/themes/�����������������������������������������������������������������������0000755�0001750�0001750�00000000000�13570064211�015243� 5����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/themes/flask/�����������������������������������������������������������������0000755�0001750�0001750�00000000000�13570064211�016343� 5����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/themes/flask/flask.css��������������������������������������������������������0000644�0001750�0001750�00000025751�13570064211�020167� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Shared CSS for AsciiDoc xhtml11 and html5 backends */ /* Default font. */ body { font-family: Georgia,serif; } /* Title font. */ h1, h2, h3, h4, h5, h6, div.title, caption.title, thead, p.table.header, #toctitle, #author, #revnumber, #revdate, #revremark, #footer { font-family: Arial,Helvetica,sans-serif; } body { margin: 1em 5% 1em 5%; } a { color: blue; text-decoration: underline; } a:visited { color: fuchsia; } em { font-style: italic; color: navy; } strong { font-weight: bold; color: #083194; } h1, h2, h3, h4, h5, h6 { color: #527bbd; margin-top: 1.2em; margin-bottom: 0.5em; line-height: 1.3; } h1, h2, h3 { border-bottom: 2px solid silver; } h2 { padding-top: 0.5em; } h3 { float: left; } h3 + * { clear: left; } h5 { font-size: 1.0em; } div.sectionbody { margin-left: 0; } hr { border: 1px solid silver; } p { margin-top: 0.5em; margin-bottom: 0.5em; } ul, ol, li > p { margin-top: 0; } ul > li { color: #aaa; } ul > li > * { color: black; } pre { padding: 0; margin: 0; } #author { color: #527bbd; font-weight: bold; font-size: 1.1em; } #email { } #revnumber, #revdate, #revremark { } #footer { font-size: small; border-top: 2px solid silver; padding-top: 0.5em; margin-top: 4.0em; } #footer-text { float: left; padding-bottom: 0.5em; } #footer-badges { float: right; padding-bottom: 0.5em; } #preamble { margin-top: 1.5em; margin-bottom: 1.5em; } div.imageblock, div.exampleblock, div.verseblock, div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock, div.admonitionblock { margin-top: 1.0em; margin-bottom: 1.5em; } div.admonitionblock { margin-top: 2.0em; margin-bottom: 2.0em; margin-right: 10%; color: #606060; } div.content { /* Block element content. */ padding: 0; } /* Block element titles. */ div.title, caption.title { color: #527bbd; font-weight: bold; text-align: left; margin-top: 1.0em; margin-bottom: 0.5em; } div.title + * { margin-top: 0; } td div.title:first-child { margin-top: 0.0em; } div.content div.title:first-child { margin-top: 0.0em; } div.content + div.title { margin-top: 0.0em; } div.sidebarblock > div.content { background: #ffffee; border: 1px solid #dddddd; border-left: 4px solid #f0f0f0; padding: 0.5em; } div.listingblock > div.content { border: 1px solid #dddddd; border-left: 5px solid #f0f0f0; background: #f8f8f8; padding: 0.5em; } div.quoteblock, div.verseblock { padding-left: 1.0em; margin-left: 1.0em; margin-right: 10%; border-left: 5px solid #f0f0f0; color: #777777; } div.quoteblock > div.attribution { padding-top: 0.5em; text-align: right; } div.verseblock > pre.content { font-family: inherit; font-size: inherit; } div.verseblock > div.attribution { padding-top: 0.75em; text-align: left; } /* DEPRECATED: Pre version 8.2.7 verse style literal block. */ div.verseblock + div.attribution { text-align: left; } div.admonitionblock .icon { vertical-align: top; font-size: 1.1em; font-weight: bold; text-decoration: underline; color: #527bbd; padding-right: 0.5em; } div.admonitionblock td.content { padding-left: 0.5em; border-left: 3px solid #dddddd; } div.exampleblock > div.content { border-left: 3px solid #dddddd; padding-left: 0.5em; } div.imageblock div.content { padding-left: 0; } span.image img { border-style: none; } a.image:visited { color: white; } dl { margin-top: 0.8em; margin-bottom: 0.8em; } dt { margin-top: 0.5em; margin-bottom: 0; font-style: normal; color: navy; } dd > *:first-child { margin-top: 0.1em; } ul, ol { list-style-position: outside; } ol.arabic { list-style-type: decimal; } ol.loweralpha { list-style-type: lower-alpha; } ol.upperalpha { list-style-type: upper-alpha; } ol.lowerroman { list-style-type: lower-roman; } ol.upperroman { list-style-type: upper-roman; } div.compact ul, div.compact ol, div.compact p, div.compact p, div.compact div, div.compact div { margin-top: 0.1em; margin-bottom: 0.1em; } tfoot { font-weight: bold; } td > div.verse { white-space: pre; } div.hdlist { margin-top: 0.8em; margin-bottom: 0.8em; } div.hdlist tr { padding-bottom: 15px; } dt.hdlist1.strong, td.hdlist1.strong { font-weight: bold; } td.hdlist1 { vertical-align: top; font-style: normal; padding-right: 0.8em; color: navy; } td.hdlist2 { vertical-align: top; } div.hdlist.compact tr { margin: 0; padding-bottom: 0; } .comment { background: yellow; } .footnote, .footnoteref { font-size: 0.8em; } span.footnote, span.footnoteref { vertical-align: super; } #footnotes { margin: 20px 0 20px 0; padding: 7px 0 0 0; } #footnotes div.footnote { margin: 0 0 5px 0; } #footnotes hr { border: none; border-top: 1px solid silver; height: 1px; text-align: left; margin-left: 0; width: 20%; min-width: 100px; } div.colist td { padding-right: 0.5em; padding-bottom: 0.3em; vertical-align: top; } div.colist td img { margin-top: 0.3em; } @media print { #footer-badges { display: none; } } #toc { margin-bottom: 2.5em; } #toctitle { color: #527bbd; font-size: 1.1em; font-weight: bold; margin-top: 1.0em; margin-bottom: 0.1em; } div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 { margin-top: 0; margin-bottom: 0; } div.toclevel2 { margin-left: 2em; font-size: 0.9em; } div.toclevel3 { margin-left: 4em; font-size: 0.9em; } div.toclevel4 { margin-left: 6em; font-size: 0.9em; } span.aqua { color: aqua; } span.black { color: black; } span.blue { color: blue; } span.fuchsia { color: fuchsia; } span.gray { color: gray; } span.green { color: green; } span.lime { color: lime; } span.maroon { color: maroon; } span.navy { color: navy; } span.olive { color: olive; } span.purple { color: purple; } span.red { color: red; } span.silver { color: silver; } span.teal { color: teal; } span.white { color: white; } span.yellow { color: yellow; } span.aqua-background { background: aqua; } span.black-background { background: black; } span.blue-background { background: blue; } span.fuchsia-background { background: fuchsia; } span.gray-background { background: gray; } span.green-background { background: green; } span.lime-background { background: lime; } span.maroon-background { background: maroon; } span.navy-background { background: navy; } span.olive-background { background: olive; } span.purple-background { background: purple; } span.red-background { background: red; } span.silver-background { background: silver; } span.teal-background { background: teal; } span.white-background { background: white; } span.yellow-background { background: yellow; } span.big { font-size: 2em; } span.small { font-size: 0.6em; } span.underline { text-decoration: underline; } span.overline { text-decoration: overline; } span.line-through { text-decoration: line-through; } /* * xhtml11 specific * * */ tt { font-family: monospace; font-size: inherit; color: navy; } div.tableblock { margin-top: 1.0em; margin-bottom: 1.5em; } div.tableblock > table { border: 3px solid #527bbd; } thead, p.table.header { font-weight: bold; color: #527bbd; } p.table { margin-top: 0; } /* Because the table frame attribute is overridden by CSS in most browsers. */ div.tableblock > table[frame="void"] { border-style: none; } div.tableblock > table[frame="hsides"] { border-left-style: none; border-right-style: none; } div.tableblock > table[frame="vsides"] { border-top-style: none; border-bottom-style: none; } /* * html5 specific * * */ .monospaced { font-family: monospace; font-size: inherit; color: navy; } table.tableblock { margin-top: 1.0em; margin-bottom: 1.5em; } thead, p.tableblock.header { font-weight: bold; color: #527bbd; } p.tableblock { margin-top: 0; } table.tableblock { border-width: 3px; border-spacing: 0px; border-style: solid; border-color: #527bbd; border-collapse: collapse; } th.tableblock, td.tableblock { border-width: 1px; padding: 4px; border-style: solid; border-color: #527bbd; } table.tableblock.frame-topbot { border-left-style: hidden; border-right-style: hidden; } table.tableblock.frame-sides { border-top-style: hidden; border-bottom-style: hidden; } table.tableblock.frame-none { border-style: hidden; } th.tableblock.halign-left, td.tableblock.halign-left { text-align: left; } th.tableblock.halign-center, td.tableblock.halign-center { text-align: center; } th.tableblock.halign-right, td.tableblock.halign-right { text-align: right; } th.tableblock.valign-top, td.tableblock.valign-top { vertical-align: top; } th.tableblock.valign-middle, td.tableblock.valign-middle { vertical-align: middle; } th.tableblock.valign-bottom, td.tableblock.valign-bottom { vertical-align: bottom; } /* * manpage specific * * */ body.manpage h1 { padding-top: 0.5em; padding-bottom: 0.5em; border-top: 2px solid silver; border-bottom: 2px solid silver; } body.manpage h2 { border-style: none; } body.manpage div.sectionbody { margin-left: 3em; } @media print { body.manpage div#toc { display: none; } } /* * Theme specific overrides of the preceding (asciidoc.css) CSS. * */ body { font-family: Garamond, Georgia, serif; font-size: 17px; color: #3E4349; line-height: 1.3em; } h1, h2, h3, h4, h5, h6, div.title, caption.title, thead, p.table.header, #toctitle, #author, #revnumber, #revdate, #revremark, #footer { font-family: Garmond, Georgia, serif; font-weight: normal; border-bottom-width: 0; color: #3E4349; } div.title, caption.title { color: #596673; font-weight: bold; } h1 { font-size: 240%; } h2 { font-size: 180%; } h3 { font-size: 150%; } h4 { font-size: 130%; } h5 { font-size: 115%; } h6 { font-size: 100%; } #header h1 { margin-top: 0; } #toc { color: #444444; line-height: 1.5; padding-top: 1.5em; } #toctitle { font-size: 20px; } #toc a { border-bottom: 1px dotted #999999; color: #444444 !important; text-decoration: none !important; } #toc a:hover { border-bottom: 1px solid #6D4100; color: #6D4100 !important; text-decoration: none !important; } div.toclevel1 { margin-top: 0.2em; font-size: 16px; } div.toclevel2 { margin-top: 0.15em; font-size: 14px; } em, dt, td.hdlist1 { color: black; } strong { color: #3E4349; } a { color: #004B6B; text-decoration: none; border-bottom: 1px dotted #004B6B; } a:visited { color: #615FA0; border-bottom: 1px dotted #615FA0; } a:hover { color: #6D4100; border-bottom: 1px solid #6D4100; } div.tableblock > table, table.tableblock { border: 3px solid #E8E8E8; } th.tableblock, td.tableblock { border: 1px solid #E8E8E8; } ul > li > * { color: #3E4349; } pre, tt, .monospaced { font-family: Consolas,Menlo,'Deja Vu Sans Mono','Bitstream Vera Sans Mono',monospace; } tt, .monospaced { font-size: 0.9em; color: black; } div.exampleblock > div.content, div.sidebarblock > div.content, div.listingblock > div.content { border-width: 0 0 0 3px; border-color: #E8E8E8; } div.verseblock { border-left-width: 0; margin-left: 3em; } div.quoteblock { border-left-width: 3px; margin-left: 0; margin-right: 0;} div.admonitionblock td.content { border-left: 3px solid #E8E8E8; } �����������������������asciidoc-py3-9.0.0rc1/themes/volnitsky/�������������������������������������������������������������0000755�0001750�0001750�00000000000�13570064211�017305� 5����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/themes/volnitsky/volnitsky.css������������������������������������������������0000644�0001750�0001750�00000017553�13570064211�022074� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* * AsciiDoc 'volnitsky' theme for xhtml11 and html5 backends. * Based on css from http://volnitsky.com, which was in turn based on default * theme from AsciiDoc * * FIXME: The styling is still a bit rough in places. * */ /* Default font. */ body { font-family: Georgia,"Times New Roman",Times,serif; } /* Title font. */ h1, h2, h3, h4, h5, h6, div.title, caption.title, thead, p.table.header, #toctitle, #author, #revnumber, #revdate, #revremark, #footer { font-family: Candara,Arial,sans-serif; } #toc a { border-bottom: 1px dotted #999999; color: #3A3A4D !important; text-decoration: none !important; } #toc a:hover { border-bottom: 1px solid #6D4100; color: #6D4100 !important; text-decoration: none !important; } a { color: #666688; text-decoration: none; border-bottom: 1px dotted #666688; } a:visited { color: #615FA0; border-bottom: 1px dotted #615FA0; } a:hover { color: #6D4100; border-bottom: 1px solid #6D4100; } em { font-style: italic; color: #444466; } strong { font-weight: bold; color: #444466; } h1, h2, h3, h4, h5, h6 { color: #666688; margin-bottom: 0.5em; line-height: 1.3; letter-spacing:+0.15em; } h1, h2, h3 { border-bottom: 2px solid #ccd; } h2 { padding-top: 0.5em; } h3 { float: left; } h3 + * { clear: left; } div.sectionbody { margin-left: 0; } hr { border: 1px solid #444466; } p { margin-top: 0.5em; margin-bottom: 0.5em; } ul, ol, li > p { margin-top: 0; } pre { padding: 0; margin: 0; } #author { color: #444466; font-weight: bold; font-size: 1.1em; } #footer { font-size: small; border-top: 2px solid silver; padding-top: 0.5em; margin-top: 4.0em; } #footer-text { float: left; padding-bottom: 0.5em; } #footer-badges { float: right; padding-bottom: 0.5em; } #preamble { margin-top: 1.5em; margin-bottom: 1.5em; } div.tableblock, div.imageblock, div.exampleblock, div.verseblock, div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock, div.admonitionblock { margin-top: 1.5em; margin-bottom: 1.5em; } div.admonitionblock { margin-top: 2.5em; margin-bottom: 2.5em; } div.content { /* Block element content. */ padding: 0; } /* Block element titles. */ div.title, caption.title { color: #444466; font-weight: bold; text-align: left; margin-top: 1.0em; margin-bottom: 0.5em; } div.title + * { margin-top: 0; } td div.title:first-child { margin-top: 0.0em; } div.content div.title:first-child { margin-top: 0.0em; } div.content + div.title { margin-top: 0.0em; } div.sidebarblock > div.content { background: #ffffee; border: 1px solid silver; padding: 0.5em; } div.listingblock > div.content { border: 1px solid silver; background: #f4f4f4; padding: 0.5em; } div.quoteblock { padding-left: 2.0em; margin-right: 10%; } div.quoteblock > div.attribution { padding-top: 0.5em; text-align: right; } div.verseblock { padding-left: 2.0em; margin-right: 10%; } div.verseblock > pre.content { font-family: inherit; } div.verseblock > div.attribution { padding-top: 0.75em; text-align: left; } /* DEPRECATED: Pre version 8.2.7 verse style literal block. */ div.verseblock + div.attribution { text-align: left; } div.admonitionblock .icon { vertical-align: top; font-size: 1.1em; font-weight: bold; text-decoration: underline; color: #444466; padding-right: 0.5em; } div.admonitionblock td.content { padding-left: 0.5em; border-left: 2px solid silver; } div.exampleblock > div.content { border-left: 2px solid silver; padding: 0.5em; } div.imageblock div.content { padding-left: 0; } span.image img { border-style: none; } a.image:visited { color: white; } dl { margin-top: 0.8em; margin-bottom: 0.8em; } dt { margin-top: 0.5em; margin-bottom: 0; font-style: normal; color: #444466; } dd > *:first-child { margin-top: 0.1em; } ul, ol { list-style-position: outside; } ol.arabic { list-style-type: decimal; } ol.loweralpha { list-style-type: lower-alpha; } ol.upperalpha { list-style-type: upper-alpha; } ol.lowerroman { list-style-type: lower-roman; } ol.upperroman { list-style-type: upper-roman; } div.compact ul, div.compact ol, div.compact p, div.compact p, div.compact div, div.compact div { margin-top: 0.1em; margin-bottom: 0.1em; } div.tableblock > table { border: 3px solid #444466; } thead { font-weight: bold; color: #444466; } tfoot { font-weight: bold; } td > div.verse { white-space: pre; } p.table { margin-top: 0; } /* Because the table frame attribute is overridden by CSS in most browsers. */ div.tableblock > table[frame="void"] { border-style: none; } div.tableblock > table[frame="hsides"] { border-left-style: none; border-right-style: none; } div.tableblock > table[frame="vsides"] { border-top-style: none; border-bottom-style: none; } div.hdlist { margin-top: 0.8em; margin-bottom: 0.8em; } div.hdlist tr { padding-bottom: 15px; } dt.hdlist1.strong, td.hdlist1.strong { font-weight: bold; } td.hdlist1 { vertical-align: top; font-style: normal; padding-right: 0.8em; color: #444466; } td.hdlist2 { vertical-align: top; } div.hdlist.compact tr { margin: 0; padding-bottom: 0; } .comment { background: yellow; } @media print { #footer-badges { display: none; } } #toctitle { color: #666688; font-size: 1.2em; font-weight: bold; margin-top: 1.0em; margin-bottom: 0.1em; } div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 { margin-top: 0; margin-bottom: 0; } div.toclevel1 { margin-top: 0.3em; margin-left: 0; font-size: 1.0em; } div.toclevel2 { margin-top: 0.25em; margin-left: 2em; font-size: 0.9em; } div.toclevel3 { margin-left: 4em; font-size: 0.8em; } div.toclevel4 { margin-left: 6em; font-size: 0.8em; } body { margin: 1em 5%; max-width: 55em; padding-left: 0; } .monospaced, tt, div.listingblock > div.content { font-family: Consolas, "Andale Mono", "Courier New", monospace; color: #004400; background: #f4f4f4; max-width: 80em; line-height: 1.2em; } .paragraph p { line-height: 1.5em; margin-top: 1em; } .paragraph p, li, dd, .content { max-width: 45em; } .admonitionblock { max-width: 35em; } div.sectionbody div.ulist > ul > li { list-style-type: square; color: #aaa; } div.sectionbody div.ulist > ul > li > * { color: black; /*font-size: 50%;*/ } div.sectionbody div.ulist > ul > li div.ulist > ul > li { color: #ccd ; } div.sectionbody div.ulist > ul > li div.ulist > ul > li > * { color: black ; } em { font-style: normal ! important; font-weight: bold ! important; color: #662222 ! important; letter-spacing:+0.08em ! important; } span.underline { text-decoration: underline; } span.overline { text-decoration: overline; } span.line-through { text-decoration: line-through; } /* * html5 specific * * */ table.tableblock { margin-top: 1.0em; margin-bottom: 1.5em; } thead, p.tableblock.header { font-weight: bold; color: #666688; } p.tableblock { margin-top: 0; } table.tableblock { border-width: 3px; border-spacing: 0px; border-style: solid; border-color: #444466; border-collapse: collapse; } th.tableblock, td.tableblock { border-width: 1px; padding: 4px; border-style: solid; border-color: #444466; } table.tableblock.frame-topbot { border-left-style: hidden; border-right-style: hidden; } table.tableblock.frame-sides { border-top-style: hidden; border-bottom-style: hidden; } table.tableblock.frame-none { border-style: hidden; } th.tableblock.halign-left, td.tableblock.halign-left { text-align: left; } th.tableblock.halign-center, td.tableblock.halign-center { text-align: center; } th.tableblock.halign-right, td.tableblock.halign-right { text-align: right; } th.tableblock.valign-top, td.tableblock.valign-top { vertical-align: top; } th.tableblock.valign-middle, td.tableblock.valign-middle { vertical-align: middle; } th.tableblock.valign-bottom, td.tableblock.valign-bottom { vertical-align: bottom; } �����������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/Dockerfile��������������������������������������������������������������������0000644�0001750�0001750�00000002104�13570064211�015745� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# You can specify a specific python version to use by doing # --build-arg PYTHON_VERSION=<version> on the build command, # This defaults to 3.6 if nothing is given. ARG PYTHON_VERSION=3.6 # These images are based off Debian Stretch (slim) using https://hub.docker.com/_/python/ as the "base" FROM python:${PYTHON_VERSION}-stretch # Install asciidoc dependencies # install the necessary stuff for asciidoc now that python has been built RUN echo "deb http://ftp.debian.org/debian stretch-backports main" >> /etc/apt/sources.list && apt-get update && \ apt-get install -y --no-install-recommends \ autoconf \ docbook-xml \ docbook-xsl \ dvipng \ git \ graphviz \ imagemagick \ libxml2-utils \ make \ python3 \ source-highlight \ time \ texlive-latex-base \ unzip \ xsltproc \ && \ apt-get -t stretch-backports install -y --no-install-recommends lilypond && \ apt-get clean && rm -rf /var/lib/apt/lists/* COPY . "/srv/asciidoc" WORKDIR "/srv/asciidoc" ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/docbook5.conf�����������������������������������������������������������������0000644�0001750�0001750�00000053424�13570064211�016342� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# # docbook5.conf # # Asciidoc DocBook 5.0 configuration file. # [miscellaneous] outfilesuffix=.xml # Printable page width and units. # Used to calculate DocBook CALS tables absolute column and table widths. pagewidth=425 pageunits=* [attributes] basebackend=docbook basebackend-docbook= basebackend-docbook5= # toc and numbered are set to maintain original default behavior. toc= numbered= [replacements2] # Line break markup. Custom processing instruction in fo.xsl. (?m)^(.*)\s\+$=\1<?asciidoc-br?> [replacements] ifdef::asciidoc7compatible[] # Superscripts. \^(.+?)\^=<superscript>\1</superscript> # Subscripts. ~(.+?)~=<subscript>\1</subscript> endif::asciidoc7compatible[] [ruler-blockmacro] # Uses custom processing instructions in fo.xsl and asciidoc-dblatex.xsl. <simpara><?asciidoc-hr?></simpara> [pagebreak-blockmacro] # Uses custom processing instructions in fo.xsl and asciidoc-dblatex.xsl. <simpara><?asciidoc-pagebreak?></simpara> [blockdef-pass] latexmath-style=template="latexmathblock",subs=(),posattrs=(),filter="unwraplatex.py" [macros] # math macros. (?s)[\\]?(?P<name>latexmath):(?P<subslist>\S*?)\[(?:\$\s*)?(?P<passtext>.*?)(?:\s*\$)?(?<!\\)\]=[] ^(?P<name>latexmath)::(?P<subslist>\S*?)(\[(?:\\\[\s*)?(?P<passtext>.*?)(?:\s*\\\])?\])$=#[] [latexmath-inlinemacro] <inlineequation> <alt><![CDATA[${passtext}$]]></alt> <inlinemediaobject><textobject><phrase></phrase></textobject></inlinemediaobject> </inlineequation> [latexmath-blockmacro] <informalequation> <alt><![CDATA[{backslash}[{passtext}{backslash}]]]></alt> <mediaobject><textobject><phrase></phrase></textobject></mediaobject> </informalequation> [latexmathblock] <equation{id? xml:id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}><title>{title} {title%} {title#} {title%} [image-inlinemacro] {alt={target}} [image-blockmacro] {title} {title%}{pgwide-option?} # DocBook XSL Stylesheets custom processing instructions. {alt={target}} {title#} {title%} [indexterm-inlinemacro] # Index term. # Generate separate index entries for primary, secondary and tertiary # descriptions. # Primary only. {2%} {2%} {1} {2%} # Primary and secondary. {2#}{3%} {2#}{3%} {1}{2} {2#}{3%} {2#}{3%} {2#}{3%} {2} {2#}{3%} # Primary, secondary and tertiary. {3#} {1}{2}{3} {3#} {3#} {2}{3} {3#} {3#} {3} {3#} [indexterm2-inlinemacro] # Index term. # Single entry index term that is visible in the primary text flow. {1}{1} [footnote-inlinemacro] # Footnote. {0} [footnoteref-inlinemacro] # Footnote reference. {2#}{2} {2%} [callout-inlinemacro] # Callout. # List tags. [listtags-bulleted] list={unbreakable-option? }{title?{title}}| item=| text=| [listtags-numbered] list={unbreakable-option? }{title?{title}}{start?}| item=| text=| [listtags-labeled] list={title?{title}}| entry=| label= term=| item=| text=| [listtags-horizontal] # Horizontal labeled list (implemented with two column table). # Hardwired column widths to 30%,70% because the current crop of PDF # generators do not auto calculate column widths. list=<{title?table}{title!informaltable}{id? xml:id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}{style? tabstyle="{style}"}{pgwide-option? pgwide="1"} frame="none" colsep="0" rowsep="0">{title?{title}}|<{title?/table}{title!/informaltable}> entry=| label=| term=| item=| text=| [listtags-callout] list={title?{title}}| item=| text=| [listtags-qanda] list={title?{title}}| entry=| label=| term=| item=| text=| [listtags-bibliography] list={title?{title}}| item=| text=| [listtags-glossary] list= entry=| label= term=| item=| text=| [tags] # Quoted text emphasis={1?}|{1?} strong={1?}|{1?} monospaced={1?}|{1?} singlequoted={lsquo}{1?}|{1?}{rsquo} doublequoted={ldquo}{1?}|{1?}{rdquo} unquoted={1?}|{1?} subscript={1?}|{1?} superscript={1?}|{1?} ifdef::deprecated-quotes[] # Override with deprecated quote attributes. emphasis={role?}|{role?} strong={role?}|{role?} monospaced={role?}|{role?} singlequoted={role?}{amp}#8216;|{amp}#8217;{role?} doublequoted={role?}{amp}#8220;|{amp}#8221;{role?} unquoted={role?}|{role?} subscript={role?}|{role?} superscript={role?}|{role?} endif::deprecated-quotes[] # Inline macros [http-inlinemacro] {0={name}:{target}} [https-inlinemacro] {0={name}:{target}} [ftp-inlinemacro] {0={name}:{target}} [file-inlinemacro] {0={name}:{target}} [irc-inlinemacro] {0={name}:{target}} [mailto-inlinemacro] {0={target}} [callto-inlinemacro] {0={target}} [link-inlinemacro] {0={target}} # anchor:id[text] [anchor-inlinemacro] # [[id,text]] [anchor2-inlinemacro] # [[[id]]] [anchor3-inlinemacro] [{1}] # xref:id[text] [xref-inlinemacro] {0} {0%} # <> [xref2-inlinemacro] {2} {2%} # // comment line [comment-inlinemacro] {showcomments#}{passtext} [comment-blockmacro] {showcomments#}{passtext} [literal-inlinemacro] # Inline literal. {passtext} # Special word macros [emphasizedwords] {words} [monospacedwords] {words} [strongwords] {words} # Paragraph substitution. [paragraph] {title} {title%} | {title%} {title#} {empty} [admonitionparagraph] <{name}{id? xml:id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}>| # Delimited blocks. [literalblock] {title} {title#} {title%} | {title#} [listingblock] {title} {title#} {title%} | {title#} [sidebarblock-open] {title} [sidebarblock-close] [sidebarblock] template::[sidebarblock-open] | template::[sidebarblock-close] [sidebarparagraph] template::[sidebarblock-open] | template::[sidebarblock-close] [abstractblock-open] {title} [abstractblock-close] [abstractblock] template::[abstractblock-open] | template::[abstractblock-close] [abstractparagraph] template::[abstractblock-open] | template::[abstractblock-close] [openblock] | [partintroblock-open] {title} [partintroblock-close] [partintroblock] template::[partintroblock-open] | template::[partintroblock-close] [partintroparagraph] template::[partintroblock-open] | template::[partintroblock-close] [quote-open] # Common quote and verse element template. {title} # Include attribution only if either {attribution} or {citetitle} is defined. {attribution#} {attribution%}{citetitle#} {attribution} {citetitle} {attribution#} {attribution%}{citetitle#} [quote-close] [quoteblock] template::[quote-open] | template::[quote-close] [verseblock] template::[quote-open] | template::[quote-close] [quoteparagraph] template::[quote-open] | template::[quote-close] [exampleblock-open] <{title?example}{title!informalexample}{id? xml:id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}> # DocBook XSL Stylesheets custom processing instructions. {title} [exampleblock-close] [exampleblock] template::[exampleblock-open] | template::[exampleblock-close] [exampleparagraph] template::[exampleblock-open] | template::[exampleblock-close] [admonitionblock] <{name}{id? xml:id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}> {title} | # Tables. [tabletags-default] colspec= bodyrow=| headdata=| bodydata=| paragraph=| [tabletags-emphasis] paragraph=| [tabletags-header] paragraph=| [tabletags-strong] paragraph=| [tabletags-monospaced] paragraph=| [tabletags-verse] bodydata=| paragraph= [tabletags-literal] bodydata=| paragraph= [tabletags-asciidoc] paragraph= [table] <{title?table}{title!informaltable}{id? xml:id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}{pgwide-option? pgwide="1"} frame="{frame=all}" {grid%rowsep="1" colsep="1"} rowsep="{grid@none|cols:0:1}" colsep="{grid@none|rows:0:1}" > {title} # DocBook XSL Stylesheets custom processing instructions. {colspecs} {headrows#} {headrows} {headrows#} {footrows#} {footrows} {footrows#} {bodyrows} #-------------------------------------------------------------------- # Deprecated old table definitions. # [old_tabledef-default] template=old_table colspec= bodyrow=| bodydata=| [old_table] <{title?table}{title!informaltable}{id? xml:id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"} pgwide="0" frame="{frame=topbot}" {grid%rowsep="0" colsep="0"} rowsep="{grid@none|cols:0:1}" colsep="{grid@none|rows:0:1}" > {title} {colspecs} {headrows#} {headrows} {headrows#} {footrows#} {footrows} {footrows#} {bodyrows} # End of deprecated old table definitions. #-------------------------------------------------------------------- # Special sections. [preface] {title=} | [index] {title} | [bibliography] {title} | [glossary] {title} | [appendix] {title} | [floatingtitle] {title} [header-declarations] {toc#} {numbered#} [+docinfo] {notitle%} {doctitle} {revdate} # To ensure valid articleinfo/bookinfo when there is no AsciiDoc header. {doctitle%}{revdate%}{docdate} {authored#} {authored#} {firstname} {middlename} {lastname} {authored#} {email} {authored#} {authorinitials} {revnumber?{revnumber}}{revdate}{authorinitials?{authorinitials}}{revremark?{revremark}} {docinfo1,docinfo2#}{include:{docdir}/docinfo.xml} {docinfo,docinfo2#}{include:{docdir}/{docname}-docinfo.xml} # DEPRECATED: Use docinfo. {revisionhistory#}{include:{docdir}/{docname}-revhistory.xml} # DEPRECATED: Use orgname in preference to companyname. {companyname} # DEPRECATED: Use orgname in preference to corpname. {corpname} {orgname} #------------------------- # article document type #------------------------- ifdef::doctype-article[] [header] template::[header-declarations]
template::[docinfo] [footer]
[preamble] # Untitled elements between header and first section title. | [abstract] | [sect1] {title} | [sect2] {title} | [sect3] {title} | [sect4] {title} | endif::doctype-article[] #------------------------- # manpage document type #------------------------- ifdef::doctype-manpage[] [replacements] # The roff format does not substitute special characters so just print them as # text. \(C\)=(C) \(TM\)=(TM) [header] template::[header-declarations] template::[docinfo] {mantitle} {manvolnum} # Default source and manual to suppress DocBook XSL warnings. {mansource= } {manmanual= } {manversion={revnumber}} {manname1} {manname2} {manname3} {manname4} {manname5} {manname6} {manname7} {manname8} {manname9} {manpurpose} [footer] # Section macros [synopsis] | [sect1] {title} | [sect2] {title} | [sect3] {title} | endif::doctype-manpage[] #------------------------- # book document type #------------------------- ifdef::doctype-book[] [header] template::[header-declarations] template::[docinfo] [footer] [preamble] # Preamble is not allowed in DocBook book so wrap it in a preface. {title=} | [dedication] {title} | [colophon] {title} | [sect0] {title} | [sect1] {title} | [sect2] {title} | [sect3] {title} | [sect4] {title} | endif::doctype-book[] asciidoc-py3-9.0.0rc1/lang-cs.conf0000644000175000017500000000256613570064211016162 0ustar josephjoseph# # AsciiDoc Czech language configuration file. # (C) 2012 Petr Klíma # License: GNU Free Documentation License, ver. 1.3 or later version, see http://fsf.org/ [attributes] # Left and right single and double quote characters. lsquo=‚ rsquo=‘ ldquo=„ rdquo=“ # Captions, used by (X)HTML backends. # Captions on RHS are displayed in outputs. ifdef::basebackend-html[] caution-caption=Pozor important-caption=Důležité note-caption=Poznámka tip-caption=Tip warning-caption=Varování figure-caption=Obrázek table-caption=Tabulka example-caption=Příklad toc-title=Obsah appendix-caption=Příloha # Man page NAME section title. manname-title=NAME [footer-text] Verze {revnumber}{basebackend-xhtml11?
}{basebackend-xhtml11=
} Poslední úprava template::[footer-date] endif::basebackend-html[] [specialsections] # DocBook special sections. # The regular expression on LHS is matched against source titles. ifdef::basebackend-docbook[] ifdef::doctype-article[] ^Abstrakt$=abstract endif::doctype-article[] ifdef::doctype-book[] ^Tiráž$=colophon ^Věnování$=dedication ^Předmluva$=preface endif::doctype-book[] ^Index$=index ^(Bibliografie|Reference)$=bibliography ^Glosář$=glossary ^Příloha [A-Z][:.](?P.*)$=appendix endif::basebackend-docbook[] ifdef::doctype-manpage[] (?i)^Přehled$=synopsis endif::doctype-manpage[] ������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/asciidoc.py�������������������������������������������������������������������0000755�0001750�0001750�00000754622�13570064211�016131� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/env python3 """ asciidoc - converts an AsciiDoc text file to HTML or DocBook Copyright (C) 2002-2010 Stuart Rackham. Free use of this software is granted under the terms of the GNU General Public License (GPL). """ import ast import copy import csv import getopt import io import locale import math import os import re import shutil import subprocess import sys import tempfile import time import traceback import unicodedata import zipfile from ast import literal_eval from collections import OrderedDict # Used by asciidocapi.py # VERSION = '9.0.0rc1' # See CHANGELOG file for version history. MIN_PYTHON_VERSION = '3.5' # Require this version of Python or better. # --------------------------------------------------------------------------- # Program constants. # --------------------------------------------------------------------------- DEFAULT_BACKEND = 'html' DEFAULT_DOCTYPE = 'article' # Allowed substitution options for List, Paragraph and DelimitedBlock # definition subs entry. SUBS_OPTIONS = ('specialcharacters', 'quotes', 'specialwords', 'replacements', 'attributes', 'macros', 'callouts', 'normal', 'verbatim', 'none', 'replacements2', 'replacements3') # Default value for unspecified subs and presubs configuration file entries. SUBS_NORMAL = ('specialcharacters', 'quotes', 'attributes', 'specialwords', 'replacements', 'macros', 'replacements2') SUBS_VERBATIM = ('specialcharacters', 'callouts') NAME_RE = r'[^\W\d][-\w]*' # Valid section or attribute name. OR, AND = ',', '+' # Attribute list separators. # --------------------------------------------------------------------------- # Utility functions and classes. # --------------------------------------------------------------------------- class EAsciiDoc(Exception): pass class AttrDict(dict): """ Like a dictionary except values can be accessed as attributes i.e. obj.foo can be used in addition to obj['foo']. If an item is not present None is returned. """ def __getattr__(self, key): try: return self[key] except KeyError: return None def __setattr__(self, key, value): self[key] = value def __delattr__(self, key): try: del self[key] except KeyError as k: raise AttributeError(k) def __repr__(self): return '<AttrDict ' + dict.__repr__(self) + '>' def __getstate__(self): return dict(self) def __setstate__(self, value): for k, v in list(value.items()): self[k] = v class InsensitiveDict(dict): """ Like a dictionary except key access is case insensitive. Keys are stored in lower case. """ def __getitem__(self, key): return dict.__getitem__(self, key.lower()) def __setitem__(self, key, value): dict.__setitem__(self, key.lower(), value) def has_key(self, key): return key.lower() in self def get(self, key, default=None): return dict.get(self, key.lower(), default) def update(self, dict): for k, v in list(dict.items()): self[k] = v def setdefault(self, key, default=None): return dict.setdefault(self, key.lower(), default) class Trace(object): """ Used in conjunction with the 'trace' attribute to generate diagnostic output. There is a single global instance of this class named trace. """ SUBS_NAMES = ('specialcharacters', 'quotes', 'specialwords', 'replacements', 'attributes', 'macros', 'callouts', 'replacements2', 'replacements3') def __init__(self): self.name_re = '' # Regexp pattern to match trace names. self.linenos = True self.offset = 0 def __call__(self, name, before, after=None): """ Print trace message if tracing is on and the trace 'name' matches the document 'trace' attribute (treated as a regexp). 'before' is the source text before substitution; 'after' text is the source text after substitution. The 'before' and 'after' messages are only printed if they differ. """ name_re = document.attributes.get('trace') if name_re == 'subs': # Alias for all the inline substitutions. name_re = '|'.join(self.SUBS_NAMES) self.name_re = name_re if self.name_re is not None: msg = message.format(name, 'TRACE: ', self.linenos, offset=self.offset) if before != after and re.match(self.name_re, name): if is_array(before): before = '\n'.join(before) if after is None: msg += '\n%s\n' % before else: if is_array(after): after = '\n'.join(after) msg += '\n<<<\n%s\n>>>\n%s\n' % (before, after) message.stderr(msg) class Message: """ Message functions. """ PROG = os.path.basename(os.path.splitext(__file__)[0]) def __init__(self): # Set to True or False to globally override line numbers method # argument. Has no effect when set to None. self.linenos = None self.messages = [] self.prev_msg = '' @staticmethod def stdout(msg): print(msg) def stderr(self, msg=''): if msg == self.prev_msg: # Suppress repeated messages. return self.messages.append(msg) if __name__ == '__main__': sys.stderr.write('%s: %s%s' % (self.PROG, msg, os.linesep)) self.prev_msg = msg def verbose(self, msg, linenos=True): if config.verbose: msg = self.format(msg, linenos=linenos) self.stderr(msg) def warning(self, msg, linenos=True, offset=0): msg = self.format(msg, 'WARNING: ', linenos, offset=offset) document.has_warnings = True self.stderr(msg) def deprecated(self, msg, linenos=True): msg = self.format(msg, 'DEPRECATED: ', linenos) self.stderr(msg) def format(self, msg, prefix='', linenos=True, cursor=None, offset=0): """Return formatted message string.""" if self.linenos is not False and ((linenos or self.linenos) and reader.cursor): if cursor is None: cursor = reader.cursor prefix += '%s: line %d: ' % (os.path.basename(cursor[0]), cursor[1]+offset) return prefix + msg def error(self, msg, cursor=None, halt=False): """ Report fatal error. If halt=True raise EAsciiDoc exception. If halt=False don't exit application, continue in the hope of reporting all fatal errors finishing with a non-zero exit code. """ if halt: raise EAsciiDoc(self.format(msg, linenos=False, cursor=cursor)) else: msg = self.format(msg, 'ERROR: ', cursor=cursor) self.stderr(msg) document.has_errors = True def unsafe(self, msg): self.error('unsafe: '+msg) def userdir(): """ Return user's home directory or None if it is not defined. """ result = os.path.expanduser('~') if result == '~': result = None return result def localapp(): """ Return True if we are not executing the system wide version i.e. the configuration is in the executable's directory. """ return os.path.isfile(os.path.join(APP_DIR, 'asciidoc.conf')) def file_in(fname, directory): """Return True if file fname resides inside directory.""" assert os.path.isfile(fname) # Empty directory (not to be confused with None) is the current directory. if directory == '': directory = os.getcwd() else: assert os.path.isdir(directory) directory = os.path.realpath(directory) fname = os.path.realpath(fname) return os.path.commonprefix((directory, fname)) == directory def safe(): return document.safe def is_safe_file(fname, directory=None): # A safe file must reside in 'directory' (defaults to the source # file directory). if directory is None: if document.infile == '<stdin>': return not safe() directory = os.path.dirname(document.infile) elif directory == '': directory = '.' return ( not safe() or file_in(fname, directory) or file_in(fname, APP_DIR) or file_in(fname, CONF_DIR) ) def safe_filename(fname, parentdir): """ Return file name which must reside in the parent file directory. Return None if file is not safe. """ if not os.path.isabs(fname): # Include files are relative to parent document # directory. fname = os.path.normpath(os.path.join(parentdir, fname)) if not is_safe_file(fname, parentdir): message.unsafe('include file: %s' % fname) return None return fname def assign(dst, src): """Assign all attributes from 'src' object to 'dst' object.""" for a, v in list(src.__dict__.items()): setattr(dst, a, v) def strip_quotes(s): """Trim white space and, if necessary, quote characters from s.""" s = s.strip() # Strip quotation mark characters from quoted strings. if len(s) >= 3 and s[0] == '"' and s[-1] == '"': s = s[1:-1] return s def is_re(s): """Return True if s is a valid regular expression else return False.""" try: re.compile(s) except: return False else: return True def re_join(relist): """Join list of regular expressions re1,re2,... to single regular expression (re1)|(re2)|...""" if len(relist) == 0: return None result = [] # Delete named groups to avoid ambiguity. for s in relist: result.append(re.sub(r'\?P<\S+?>', '', s)) result = ')|('.join(result) result = '(' + result + ')' return result def lstrip_list(s): """ Return list with empty items from start of list removed. """ for i in range(len(s)): if s[i]: break else: return [] return s[i:] def rstrip_list(s): """ Return list with empty items from end of list removed. """ for i in range(len(s) - 1, -1, -1): if s[i]: break else: return [] return s[:i + 1] def strip_list(s): """ Return list with empty items from start and end of list removed. """ s = lstrip_list(s) s = rstrip_list(s) return s def is_array(obj): """ Return True if object is list or tuple type. """ return isinstance(obj, list) or isinstance(obj, tuple) def dovetail(lines1, lines2): """ Append list or tuple of strings 'lines2' to list 'lines1'. Join the last non-blank item in 'lines1' with the first non-blank item in 'lines2' into a single string. """ assert is_array(lines1) assert is_array(lines2) lines1 = strip_list(lines1) lines2 = strip_list(lines2) if not lines1 or not lines2: return list(lines1) + list(lines2) result = list(lines1[:-1]) result.append(lines1[-1] + lines2[0]) result += list(lines2[1:]) return result def dovetail_tags(stag, content, etag): """Merge the end tag with the first content line and the last content line with the end tag. This ensures verbatim elements don't include extraneous opening and closing line breaks.""" return dovetail(dovetail(stag, content), etag) def py2round(n, d=0): """Utility function to get python2 rounding in python3. Python3 changed it such that given two equally close multiples, it'll round towards the even choice. For example, round(42.5) == 42 instead of the expected round(42.5) == 43). This function gives us back that functionality.""" p = 10 ** d return float(math.floor((n * p) + math.copysign(0.5, n))) / p def get_args(val): d = {} args = ast.parse("d(" + val + ")", mode='eval').body.args i = 1 for arg in args: if isinstance(arg, ast.Name): d[str(i)] = literal_eval(arg.id) else: d[str(i)] = literal_eval(arg) i += 1 return d def get_kwargs(val): d = {} args = ast.parse("d(" + val + ")", mode='eval').body.keywords for arg in args: d[arg.arg] = literal_eval(arg.value) return d def parse_to_list(val): values = ast.parse("[" + val + "]", mode='eval').body.elts return [literal_eval(v) for v in values] def parse_attributes(attrs, dict): """Update a dictionary with name/value attributes from the attrs string. The attrs string is a comma separated list of values and keyword name=value pairs. Values must precede keywords and are named '1','2'... The entire attributes list is named '0'. If keywords are specified string values must be quoted. Examples: attrs: '' dict: {} attrs: 'hello,world' dict: {'2': 'world', '0': 'hello,world', '1': 'hello'} attrs: '"hello", planet="earth"' dict: {'planet': 'earth', '0': '"hello",planet="earth"', '1': 'hello'} """ def f(*args, **keywords): # Name and add arguments '1','2'... to keywords. for i in range(len(args)): if not str(i + 1) in keywords: keywords[str(i + 1)] = args[i] return keywords if not attrs: return dict['0'] = attrs # Replace line separators with spaces so line spanning works. s = re.sub(r'\s', ' ', attrs) d = {} try: d.update(get_args(s)) d.update(get_kwargs(s)) for v in list(d.values()): if not (isinstance(v, str) or isinstance(v, int) or isinstance(v, float) or v is None): raise Exception except Exception: s = s.replace('"', '\\"') s = s.split(',') s = ['"' + x.strip() + '"' for x in s] s = ','.join(s) try: d = {} d.update(get_args(s)) d.update(get_kwargs(s)) except Exception: return # If there's a syntax error leave with {0}=attrs. for k in list(d.keys()): # Drop any empty positional arguments. if d[k] == '': del d[k] dict.update(d) assert len(d) > 0 def parse_named_attributes(s, attrs): """Update a attrs dictionary with name="value" attributes from the s string. Returns False if invalid syntax. Example: attrs: 'star="sun",planet="earth"' dict: {'planet':'earth', 'star':'sun'} """ def f(**keywords): return keywords try: d = {} d = get_kwargs(s) attrs.update(d) return True except Exception: return False def parse_list(s): """Parse comma separated string of Python literals. Return a tuple of of parsed values.""" try: result = tuple(parse_to_list(s)) except Exception: raise EAsciiDoc('malformed list: ' + s) return result def parse_options(options, allowed, errmsg): """Parse comma separated string of unquoted option names and return as a tuple of valid options. 'allowed' is a list of allowed option values. If allowed=() then all legitimate names are allowed. 'errmsg' is an error message prefix if an illegal option error is thrown.""" result = [] if options: for s in re.split(r'\s*,\s*', options): if (allowed and s not in allowed) or not is_name(s): raise EAsciiDoc('%s: %s' % (errmsg, s)) result.append(s) return tuple(result) def symbolize(s): """Drop non-symbol characters and convert to lowercase.""" return re.sub(r'[^\w\-_]', '', s).lower() def is_name(s): """Return True if s is valid attribute, macro or tag name (starts with alpha containing alphanumeric and dashes only).""" return re.match(r'^' + NAME_RE + r'$', s) is not None def subs_quotes(text): """Quoted text is marked up and the resulting text is returned.""" keys = list(config.quotes.keys()) for q in keys: i = q.find('|') if i != -1 and q != '|' and q != '||': lq = q[:i] # Left quote. rq = q[i + 1:] # Right quote. else: lq = rq = q tag = config.quotes[q] if not tag: continue # Unconstrained quotes prefix the tag name with a hash. if tag[0] == '#': tag = tag[1:] # Unconstrained quotes can appear anywhere. reo = re.compile(r'(?ms)(^|.)(\[(?P<attrlist>[^[\]]+?)\])?' + r'(?:' + re.escape(lq) + r')' + r'(?P<content>.+?)(?:' + re.escape(rq) + r')') else: # The text within constrained quotes must be bounded by white space. # Non-word (\W) characters are allowed at boundaries to accommodate # enveloping quotes and punctuation e.g. a='x', ('x'), 'x', ['x']. reo = re.compile(r'(?ms)(^|[^\w;:}])(\[(?P<attrlist>[^[\]]+?)\])?' + r'(?:' + re.escape(lq) + r')' + r'(?P<content>\S|\S.*?\S)(?:' + re.escape(rq) + r')(?=\W|$)') pos = 0 while True: mo = reo.search(text, pos) if not mo: break if text[mo.start()] == '\\': # Delete leading backslash. text = text[:mo.start()] + text[mo.start() + 1:] # Skip past start of match. pos = mo.start() + 1 else: attrlist = {} parse_attributes(mo.group('attrlist'), attrlist) stag, etag = config.tag(tag, attrlist) s = mo.group(1) + stag + mo.group('content') + etag text = text[:mo.start()] + s + text[mo.end():] pos = mo.start() + len(s) return text def subs_tag(tag, dict={}): """Perform attribute substitution and split tag string returning start, end tag tuple (c.f. Config.tag()).""" if not tag: return [None, None] s = subs_attrs(tag, dict) if not s: message.warning('tag \'%s\' dropped: contains undefined attribute' % tag) return [None, None] result = s.split('|') if len(result) == 1: return result + [None] elif len(result) == 2: return result else: raise EAsciiDoc('malformed tag: %s' % tag) def parse_entry(entry, dict=None, unquote=False, unique_values=False, allow_name_only=False, escape_delimiter=True): """Parse name=value entry to dictionary 'dict'. Return tuple (name,value) or None if illegal entry. If name= then value is set to ''. If name and allow_name_only=True then value is set to ''. If name! and allow_name_only=True then value is set to None. Leading and trailing white space is striped from 'name' and 'value'. 'name' can contain any printable characters. If the '=' delimiter character is allowed in the 'name' then it must be escaped with a backslash and escape_delimiter must be True. If 'unquote' is True leading and trailing double-quotes are stripped from 'name' and 'value'. If unique_values' is True then dictionary entries with the same value are removed before the parsed entry is added.""" if escape_delimiter: mo = re.search(r'(?:[^\\](=))', entry) else: mo = re.search(r'(=)', entry) if mo: # name=value entry. if mo.group(1): name = entry[:mo.start(1)] if escape_delimiter: name = name.replace(r'\=', '=') # Un-escape \= in name. value = entry[mo.end(1):] elif allow_name_only and entry: # name or name! entry. name = entry if name[-1] == '!': name = name[:-1] value = None else: value = '' else: return None if unquote: name = strip_quotes(name) if value is not None: value = strip_quotes(value) else: name = name.strip() if value is not None: value = value.strip() if not name: return None if dict is not None: if unique_values: for k, v in list(dict.items()): if v == value: del dict[k] dict[name] = value return name, value def parse_entries(entries, dict, unquote=False, unique_values=False, allow_name_only=False, escape_delimiter=True): """Parse name=value entries from from lines of text in 'entries' into dictionary 'dict'. Blank lines are skipped.""" entries = config.expand_templates(entries) for entry in entries: if entry and not parse_entry(entry, dict, unquote, unique_values, allow_name_only, escape_delimiter): raise EAsciiDoc('malformed section entry: %s' % entry) def dump_section(name, dict, f=sys.stdout): """Write parameters in 'dict' as in configuration file section format with section 'name'.""" f.write('[%s]%s' % (name, writer.newline)) for k, v in list(dict.items()): k = str(k) k = k.replace('=', r'\=') # Escape = in name. # Quote if necessary. if len(k) != len(k.strip()): k = '"' + k + '"' if v and len(v) != len(v.strip()): v = '"' + v + '"' if v is None: # Don't dump undefined attributes. continue else: s = k + '=' + v if s[0] == '#': s = '\\' + s # Escape so not treated as comment lines. f.write('%s%s' % (s, writer.newline)) f.write(writer.newline) def update_attrs(attrs, dict): """Update 'attrs' dictionary with parsed attributes in dictionary 'dict'.""" for k, v in list(dict.items()): if not is_name(k): raise EAsciiDoc('illegal attribute name: %s' % k) attrs[k] = v def is_attr_defined(attrs, dic): """ Check if the sequence of attributes is defined in dictionary 'dic'. Valid 'attrs' sequence syntax: <attr> Return True if single attribute is defined. <attr1>,<attr2>,... Return True if one or more attributes are defined. <attr1>+<attr2>+... Return True if all the attributes are defined. """ if OR in attrs: for a in attrs.split(OR): if dic.get(a.strip()) is not None: return True else: return False elif AND in attrs: for a in attrs.split(AND): if dic.get(a.strip()) is None: return False else: return True else: return dic.get(attrs.strip()) is not None def filter_lines(filter_cmd, lines, attrs={}): """ Run 'lines' through the 'filter_cmd' shell command and return the result. The 'attrs' dictionary contains additional filter attributes. """ def findfilter(name, dir, filter): """Find filter file 'fname' with style name 'name' in directory 'dir'. Return found file path or None if not found.""" if name: result = os.path.join(dir, 'filters', name, filter) if os.path.isfile(result): return result result = os.path.join(dir, 'filters', filter) if os.path.isfile(result): return result return None # Return input lines if there's not filter. if not filter_cmd or not filter_cmd.strip(): return lines # Perform attributes substitution on the filter command. s = subs_attrs(filter_cmd, attrs) if not s: message.error('undefined filter attribute in command: %s' % filter_cmd) return [] filter_cmd = s.strip() # Parse for quoted and unquoted command and command tail. # Double quoted. mo = re.match(r'^"(?P<cmd>[^"]+)"(?P<tail>.*)$', filter_cmd) if not mo: # Single quoted. mo = re.match(r"^'(?P<cmd>[^']+)'(?P<tail>.*)$", filter_cmd) if not mo: # Unquoted catch all. mo = re.match(r'^(?P<cmd>\S+)(?P<tail>.*)$', filter_cmd) cmd = mo.group('cmd').strip() found = None if not os.path.dirname(cmd): # Filter command has no directory path so search filter directories. filtername = attrs.get('style') d = document.attributes.get('docdir') if d: found = findfilter(filtername, d, cmd) if not found: if USER_DIR: found = findfilter(filtername, USER_DIR, cmd) if not found: if localapp(): found = findfilter(filtername, APP_DIR, cmd) else: found = findfilter(filtername, CONF_DIR, cmd) else: if os.path.isfile(cmd): found = cmd else: message.warning('filter not found: %s' % cmd) if found: filter_cmd = '"' + found + '"' + mo.group('tail') if found: if cmd.endswith('.py'): filter_cmd = '"%s" %s' % (document.attributes['python'], filter_cmd) elif cmd.endswith('.rb'): filter_cmd = 'ruby ' + filter_cmd message.verbose('filtering: ' + filter_cmd) if os.name == 'nt': # Remove redundant quoting -- this is not just # cosmetic, unnecessary quoting appears to cause # command line truncation. filter_cmd = re.sub(r'"([^ ]+?)"', r'\1', filter_cmd) try: p = subprocess.Popen(filter_cmd, shell=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE) output = p.communicate(os.linesep.join(lines).encode("utf-8"))[0].decode('utf-8') except Exception: raise EAsciiDoc('filter error: %s: %s' % (filter_cmd, sys.exc_info()[1])) if output: result = [s.rstrip() for s in output.split(os.linesep)] else: result = [] filter_status = p.wait() if filter_status: message.warning('filter non-zero exit code: %s: returned %d' % (filter_cmd, filter_status)) if lines and not result: message.warning('no output from filter: %s' % filter_cmd) return result def system(name, args, is_macro=False, attrs=None): """ Evaluate a system attribute ({name:args}) or system block macro (name::[args]). If is_macro is True then we are processing a system block macro otherwise it's a system attribute. The attrs dictionary is updated by the counter and set system attributes. NOTE: The include1 attribute is used internally by the include1::[] macro and is not for public use. """ if is_macro: syntax = '%s::[%s]' % (name, args) separator = '\n' else: syntax = '{%s:%s}' % (name, args) separator = writer.newline if name not in ('eval', 'eval3', 'sys', 'sys2', 'sys3', 'include', 'include1', 'counter', 'counter2', 'set', 'set2', 'template'): if is_macro: msg = 'illegal system macro name: %s' % name else: msg = 'illegal system attribute name: %s' % name message.warning(msg) return None if is_macro: s = subs_attrs(args) if s is None: message.warning('skipped %s: undefined attribute in: %s' % (name, args)) return None args = s if name != 'include1': message.verbose('evaluating: %s' % syntax) if safe() and name not in ('include', 'include1'): message.unsafe(syntax) return None result = None if name in ('eval', 'eval3'): try: result = eval(args) if result is True: result = '' elif result is False: result = None elif result is not None: result = str(result) except Exception: message.warning('%s: evaluation error' % syntax) elif name in ('sys', 'sys2', 'sys3'): result = '' fd, tmp = tempfile.mkstemp() os.close(fd) try: cmd = args cmd = cmd + (' > "%s"' % tmp) if name == 'sys2': cmd = cmd + ' 2>&1' if os.name == 'nt': # Remove redundant quoting -- this is not just # cosmetic, unnecessary quoting appears to cause # command line truncation. cmd = re.sub(r'"([^ ]+?)"', r'\1', cmd) message.verbose('shelling: %s' % cmd) if os.system(cmd): message.warning('%s: non-zero exit status' % syntax) try: if os.path.isfile(tmp): with open(tmp, encoding='utf-8') as f: lines = [s.rstrip() for s in f] else: lines = [] except Exception: raise EAsciiDoc('%s: temp file read error' % syntax) result = separator.join(lines) finally: if os.path.isfile(tmp): os.remove(tmp) elif name in ('counter', 'counter2'): mo = re.match(r'^(?P<attr>[^:]*?)(:(?P<seed>.*))?$', args) attr = mo.group('attr') seed = mo.group('seed') if seed and (not re.match(r'^\d+$', seed) and len(seed) > 1): message.warning('%s: illegal counter seed: %s' % (syntax, seed)) return None if not is_name(attr): message.warning('%s: illegal attribute name' % syntax) return None value = document.attributes.get(attr) if value: if not re.match(r'^\d+$', value) and len(value) > 1: message.warning('%s: illegal counter value: %s' % (syntax, value)) return None if re.match(r'^\d+$', value): expr = value + '+1' else: expr = 'chr(ord("%s")+1)' % value try: result = str(eval(expr)) except Exception: message.warning('%s: evaluation error: %s' % (syntax, expr)) else: if seed: result = seed else: result = '1' document.attributes[attr] = result if attrs is not None: attrs[attr] = result if name == 'counter2': result = '' elif name in ('set', 'set2'): mo = re.match(r'^(?P<attr>[^:]*?)(:(?P<value>.*))?$', args) attr = mo.group('attr') value = mo.group('value') if value is None: value = '' if attr.endswith('!'): attr = attr[:-1] value = None if not is_name(attr): message.warning('%s: illegal attribute name' % syntax) else: if attrs is not None: attrs[attr] = value if name != 'set2': # set2 only updates local attributes. document.attributes[attr] = value if value is None: result = None else: result = '' elif name == 'include': if not os.path.exists(args): message.warning('%s: file does not exist' % syntax) elif not is_safe_file(args): message.unsafe(syntax) else: with open(args, encoding='utf-8') as f: result = [s.rstrip() for s in f] if result: result = subs_attrs(result) result = separator.join(result) result = result.expandtabs(reader.tabsize) else: result = '' elif name == 'include1': result = separator.join(config.include1[args]) elif name == 'template': if args not in config.sections: message.warning('%s: template does not exist' % syntax) else: result = [] for line in config.sections[args]: line = subs_attrs(line) if line is not None: result.append(line) result = '\n'.join(result) else: assert False if result and name in ('eval3', 'sys3'): macros.passthroughs.append(result) result = '\x07' + str(len(macros.passthroughs) - 1) + '\x07' return result def subs_attrs(lines, dictionary=None): """Substitute 'lines' of text with attributes from the global document.attributes dictionary and from 'dictionary' ('dictionary' entries take precedence). Return a tuple of the substituted lines. 'lines' containing undefined attributes are deleted. If 'lines' is a string then return a string. - Attribute references are substituted in the following order: simple, conditional, system. - Attribute references inside 'dictionary' entry values are substituted. """ def end_brace(text, start): """Return index following end brace that matches brace at start in text.""" assert text[start] == '{' n = 0 result = start for c in text[start:]: # Skip braces that are followed by a backslash. if result == len(text) - 1 or text[result + 1] != '\\': if c == '{': n = n + 1 elif c == '}': n = n - 1 result = result + 1 if n == 0: break return result if type(lines) == str: string_result = True lines = [lines] else: string_result = False if dictionary is None: attrs = document.attributes else: # Remove numbered document attributes so they don't clash with # attribute list positional attributes. attrs = {} for k, v in list(document.attributes.items()): if not re.match(r'^\d+$', k): attrs[k] = v # Substitute attribute references inside dictionary values. for k, v in list(dictionary.items()): if v is None: del dictionary[k] else: v = subs_attrs(str(v)) if v is None: del dictionary[k] else: dictionary[k] = v attrs.update(dictionary) # Substitute all attributes in all lines. result = [] for line in lines: # Make it easier for regular expressions. line = line.replace('\\{', '{\\') line = line.replace('\\}', '}\\') # Expand simple attributes ({name}). # Nested attributes not allowed. reo = re.compile(r'(?s)\{(?P<name>[^\\\W][-\w]*?)\}(?!\\)') pos = 0 while True: mo = reo.search(line, pos) if not mo: break s = attrs.get(mo.group('name')) if s is None: pos = mo.end() else: s = str(s) line = line[:mo.start()] + s + line[mo.end():] pos = mo.start() + len(s) # Expand conditional attributes. # Single name -- higher precedence. reo1 = re.compile(r'(?s)\{(?P<name>[^\\\W][-\w]*?)' r'(?P<op>\=|\?|!|#|%|@|\$)' r'(?P<value>.*?)\}(?!\\)') # Multiple names (n1,n2,... or n1+n2+...) -- lower precedence. reo2 = re.compile(r'(?s)\{(?P<name>[^\\\W][-\w' + OR + AND + r']*?)' r'(?P<op>\=|\?|!|#|%|@|\$)' r'(?P<value>.*?)\}(?!\\)') for reo in [reo1, reo2]: pos = 0 while True: mo = reo.search(line, pos) if not mo: break attr = mo.group() name = mo.group('name') if reo == reo2: if OR in name: sep = OR else: sep = AND names = [s.strip() for s in name.split(sep) if s.strip()] for n in names: if not re.match(r'^[^\\\W][-\w]*$', n): message.error('illegal attribute syntax: %s' % attr) if sep == OR: # Process OR name expression: n1,n2,... for n in names: if attrs.get(n) is not None: lval = '' break else: lval = None else: # Process AND name expression: n1+n2+... for n in names: if attrs.get(n) is None: lval = None break else: lval = '' else: lval = attrs.get(name) op = mo.group('op') # mo.end() not good enough because '{x={y}}' matches '{x={y}'. end = end_brace(line, mo.start()) rval = line[mo.start('value'):end - 1] UNDEFINED = '{zzzzz}' if lval is None: if op == '=': s = rval elif op == '?': s = '' elif op == '!': s = rval elif op == '#': s = UNDEFINED # So the line is dropped. elif op == '%': s = rval elif op in ('@', '$'): s = UNDEFINED # So the line is dropped. else: assert False, 'illegal attribute: %s' % attr else: if op == '=': s = lval elif op == '?': s = rval elif op == '!': s = '' elif op == '#': s = rval elif op == '%': s = UNDEFINED # So the line is dropped. elif op in ('@', '$'): v = re.split(r'(?<!\\):', rval) if len(v) not in (2, 3): message.error('illegal attribute syntax: %s' % attr) s = '' elif not is_re('^' + v[0] + '$'): message.error('illegal attribute regexp: %s' % attr) s = '' else: v = [s.replace('\\:', ':') for s in v] re_mo = re.match('^' + v[0] + '$', lval) if op == '@': if re_mo: s = v[1] # {<name>@<re>:<v1>[:<v2>]} else: if len(v) == 3: # {<name>@<re>:<v1>:<v2>} s = v[2] else: # {<name>@<re>:<v1>} s = '' else: if re_mo: if len(v) == 2: # {<name>$<re>:<v1>} s = v[1] elif v[1] == '': # {<name>$<re>::<v2>} s = UNDEFINED # So the line is dropped. else: # {<name>$<re>:<v1>:<v2>} s = v[1] else: if len(v) == 2: # {<name>$<re>:<v1>} s = UNDEFINED # So the line is dropped. else: # {<name>$<re>:<v1>:<v2>} s = v[2] else: assert False, 'illegal attribute: %s' % attr s = str(s) line = line[:mo.start()] + s + line[end:] pos = mo.start() + len(s) # Drop line if it contains unsubstituted {name} references. skipped = re.search(r'(?s)\{[^\\\W][-\w]*?\}(?!\\)', line) if skipped: trace('dropped line', line) continue # Expand system attributes (eval has precedence). reos = [ re.compile(r'(?s)\{(?P<action>eval):(?P<expr>.*?)\}(?!\\)'), re.compile(r'(?s)\{(?P<action>[^\\\W][-\w]*?):(?P<expr>.*?)\}(?!\\)'), ] skipped = False for reo in reos: pos = 0 while True: mo = reo.search(line, pos) if not mo: break expr = mo.group('expr') action = mo.group('action') expr = expr.replace('{\\', '{') expr = expr.replace('}\\', '}') s = system(action, expr, attrs=dictionary) if dictionary is not None and action in ('counter', 'counter2', 'set', 'set2'): # These actions create and update attributes. attrs.update(dictionary) if s is None: # Drop line if the action returns None. skipped = True break line = line[:mo.start()] + s + line[mo.end():] pos = mo.start() + len(s) if skipped: break if not skipped: # Remove backslash from escaped entries. line = line.replace('{\\', '{') line = line.replace('}\\', '}') result.append(line) if string_result: if result: return '\n'.join(result) else: return None else: return tuple(result) east_asian_widths = {'W': 2, # Wide 'F': 2, # Full-width (wide) 'Na': 1, # Narrow 'H': 1, # Half-width (narrow) 'N': 1, # Neutral (not East Asian, treated as narrow) 'A': 1} # Ambiguous (s/b wide in East Asian context, narrow otherwise, but that doesn't work) """Mapping of result codes from `unicodedata.east_asian_width()` to character column widths.""" def column_width(s): width = 0 for c in s: width += east_asian_widths[unicodedata.east_asian_width(c)] return width def date_time_str(t): """Convert seconds since the Epoch to formatted local date and time strings.""" source_date_epoch = os.environ.get('SOURCE_DATE_EPOCH') if source_date_epoch is not None: t = time.gmtime(min(t, int(source_date_epoch))) else: t = time.localtime(t) date_str = time.strftime('%Y-%m-%d', t) time_str = time.strftime('%H:%M:%S', t) if source_date_epoch is not None: time_str += ' UTC' elif time.daylight and t.tm_isdst == 1: time_str += ' ' + time.tzname[1] else: time_str += ' ' + time.tzname[0] # Attempt to convert the localtime to the output encoding. try: time_str = time_str.decode(locale.getdefaultlocale()[1]) except Exception: pass return date_str, time_str class Lex: """Lexical analysis routines. Static methods and attributes only.""" prev_element = None prev_cursor = None def __init__(self): raise AssertionError('no class instances allowed') def __iter__(self): return self @staticmethod def next_element(): """Returns class of next element on the input (None if EOF). The reader is assumed to be at the first line following a previous element, end of file or line one. Exits with the reader pointing to the first line of the next element or EOF (leading blank lines are skipped).""" reader.skip_blank_lines() if reader.eof(): return None # Optimization: If we've already checked for an element at this # position return the element. if Lex.prev_element and Lex.prev_cursor == reader.cursor: return Lex.prev_element if AttributeEntry.isnext(): result = AttributeEntry elif AttributeList.isnext(): result = AttributeList elif BlockTitle.isnext() and not tables_OLD.isnext(): result = BlockTitle elif Title.isnext(): if AttributeList.style() == 'float': result = FloatingTitle else: result = Title elif macros.isnext(): result = macros.current elif lists.isnext(): result = lists.current elif blocks.isnext(): result = blocks.current elif tables_OLD.isnext(): result = tables_OLD.current elif tables.isnext(): result = tables.current else: if not paragraphs.isnext(): raise EAsciiDoc('paragraph expected') result = paragraphs.current # Optimization: Cache answer. Lex.prev_cursor = reader.cursor Lex.prev_element = result return result @staticmethod def canonical_subs(options): """Translate composite subs values.""" if len(options) == 1: if options[0] == 'none': options = () elif options[0] == 'normal': options = config.subsnormal elif options[0] == 'verbatim': options = config.subsverbatim return options @staticmethod def subs_1(s, options): """Perform substitution specified in 'options' (in 'options' order).""" if not s: return s if document.attributes.get('plaintext') is not None: options = ('specialcharacters',) result = s options = Lex.canonical_subs(options) for o in options: if o == 'specialcharacters': result = config.subs_specialchars(result) elif o == 'attributes': result = subs_attrs(result) elif o == 'quotes': result = subs_quotes(result) elif o == 'specialwords': result = config.subs_specialwords(result) elif o in ('replacements', 'replacements2', 'replacements3'): result = config.subs_replacements(result, o) elif o == 'macros': result = macros.subs(result) elif o == 'callouts': result = macros.subs(result, callouts=True) else: raise EAsciiDoc('illegal substitution option: %s' % o) trace(o, s, result) if not result: break return result @staticmethod def subs(lines, options): """Perform inline processing specified by 'options' (in 'options' order) on sequence of 'lines'.""" if not lines or not options: return lines options = Lex.canonical_subs(options) # Join lines so quoting can span multiple lines. para = '\n'.join(lines) if 'macros' in options: para = macros.extract_passthroughs(para) for o in options: if o == 'attributes': # If we don't substitute attributes line-by-line then a single # undefined attribute will drop the entire paragraph. lines = subs_attrs(para.split('\n')) para = '\n'.join(lines) else: para = Lex.subs_1(para, (o,)) if 'macros' in options: para = macros.restore_passthroughs(para) return para.splitlines() @staticmethod def set_margin(lines, margin=0): """Utility routine that sets the left margin to 'margin' space in a block of non-blank lines.""" # Calculate width of block margin. lines = list(lines) width = len(lines[0]) for s in lines: i = re.search(r'\S', s).start() if i < width: width = i # Strip margin width from all lines. for i in range(len(lines)): lines[i] = ' ' * margin + lines[i][width:] return lines # --------------------------------------------------------------------------- # Document element classes parse AsciiDoc reader input and write DocBook writer # output. # --------------------------------------------------------------------------- class Document(object): # doctype property. def getdoctype(self): return self.attributes.get('doctype') def setdoctype(self, doctype): self.attributes['doctype'] = doctype doctype = property(getdoctype, setdoctype) # backend property. def getbackend(self): return self.attributes.get('backend') def setbackend(self, backend): if backend: backend = self.attributes.get('backend-alias-' + backend, backend) self.attributes['backend'] = backend backend = property(getbackend, setbackend) def __init__(self): self.infile = None # Source file name. self.outfile = None # Output file name. self.attributes = InsensitiveDict() self.level = 0 # 0 => front matter. 1,2,3 => sect1,2,3. self.has_errors = False # Set true if processing errors were flagged. self.has_warnings = False # Set true if warnings were flagged. self.safe = False # Default safe mode. def update_attributes(self, attrs=None): """ Set implicit attributes and attributes in 'attrs'. """ t = time.time() self.attributes['localdate'], self.attributes['localtime'] = date_time_str(t) self.attributes['asciidoc-version'] = VERSION self.attributes['asciidoc-file'] = APP_FILE self.attributes['asciidoc-dir'] = APP_DIR if localapp(): self.attributes['asciidoc-confdir'] = APP_DIR else: self.attributes['asciidoc-confdir'] = CONF_DIR self.attributes['user-dir'] = USER_DIR if config.verbose: self.attributes['verbose'] = '' # Update with configuration file attributes. if attrs: self.attributes.update(attrs) # Update with command-line attributes. self.attributes.update(config.cmd_attrs) # Extract miscellaneous configuration section entries from attributes. if attrs: config.load_miscellaneous(attrs) config.load_miscellaneous(config.cmd_attrs) self.attributes['newline'] = config.newline # File name related attributes can't be overridden. if self.infile is not None: if self.infile and os.path.exists(self.infile): t = os.path.getmtime(self.infile) elif self.infile == '<stdin>': t = time.time() else: t = None if t: self.attributes['docdate'], self.attributes['doctime'] = date_time_str(t) if self.infile != '<stdin>': self.attributes['infile'] = self.infile self.attributes['indir'] = os.path.dirname(self.infile) self.attributes['docfile'] = self.infile self.attributes['docdir'] = os.path.dirname(self.infile) self.attributes['docname'] = os.path.splitext( os.path.basename(self.infile))[0] if self.outfile: if self.outfile != '<stdout>': self.attributes['outfile'] = self.outfile self.attributes['outdir'] = os.path.dirname(self.outfile) if self.infile == '<stdin>': self.attributes['docname'] = os.path.splitext( os.path.basename(self.outfile))[0] ext = os.path.splitext(self.outfile)[1][1:] elif config.outfilesuffix: ext = config.outfilesuffix[1:] else: ext = '' if ext: self.attributes['filetype'] = ext self.attributes['filetype-' + ext] = '' def load_lang(self): """ Load language configuration file. """ lang = self.attributes.get('lang') if lang is None: filename = 'lang-en.conf' # Default language file. else: filename = 'lang-' + lang + '.conf' if config.load_from_dirs(filename): self.attributes['lang'] = lang # Reinstate new lang attribute. else: if lang is None: # The default language file must exist. message.error('missing conf file: %s' % filename, halt=True) else: message.warning('missing language conf file: %s' % filename) def set_deprecated_attribute(self, old, new): """ Ensures the 'old' name of an attribute that was renamed to 'new' is still honored. """ if self.attributes.get(new) is None: if self.attributes.get(old) is not None: self.attributes[new] = self.attributes[old] else: self.attributes[old] = self.attributes[new] @staticmethod def consume_attributes_and_comments(comments_only=False, noblanks=False): """ Returns True if one or more attributes or comments were consumed. If 'noblanks' is True then consummation halts if a blank line is encountered. """ result = False finished = False while not finished: finished = True if noblanks and not reader.read_next(): return result if blocks.isnext() and 'skip' in blocks.current.options: result = True finished = False blocks.current.translate() if noblanks and not reader.read_next(): return result if macros.isnext() and macros.current.name == 'comment': result = True finished = False macros.current.translate() if not comments_only: if AttributeEntry.isnext(): result = True finished = False AttributeEntry.translate() if AttributeList.isnext(): result = True finished = False AttributeList.translate() return result def parse_header(self, doctype, backend): """ Parses header, sets corresponding document attributes and finalizes document doctype and backend properties. Returns False if the document does not have a header. 'doctype' and 'backend' are the doctype and backend option values passed on the command-line, None if no command-line option was not specified. """ assert self.level == 0 # Skip comments and attribute entries that precede the header. self.consume_attributes_and_comments() if doctype is not None: # Command-line overrides header. self.doctype = doctype elif self.doctype is None: # Was not set on command-line or in document header. self.doctype = DEFAULT_DOCTYPE # Process document header. has_header = (Title.isnext() and Title.level == 0 and AttributeList.style() != 'float') if self.doctype == 'manpage' and not has_header: message.error('manpage document title is mandatory', halt=True) if has_header: Header.parse() # Command-line entries override header derived entries. self.attributes.update(config.cmd_attrs) # DEPRECATED: revision renamed to revnumber. self.set_deprecated_attribute('revision', 'revnumber') # DEPRECATED: date renamed to revdate. self.set_deprecated_attribute('date', 'revdate') if doctype is not None: # Command-line overrides header. self.doctype = doctype if backend is not None: # Command-line overrides header. self.backend = backend elif self.backend is None: # Was not set on command-line or in document header. self.backend = DEFAULT_BACKEND else: # Has been set in document header. self.backend = self.backend # Translate alias in header. assert self.doctype in ('article', 'manpage', 'book'), 'illegal document type' return has_header def translate(self, has_header): if self.doctype == 'manpage': # Translate mandatory NAME section. if Lex.next_element() is not Title: message.error('name section expected') else: Title.translate() if Title.level != 1: message.error('name section title must be at level 1') if not isinstance(Lex.next_element(), Paragraph): message.error('malformed name section body') lines = reader.read_until(r'^$') s = ' '.join(lines) mo = re.match(r'^(?P<manname>.*?)\s+-\s+(?P<manpurpose>.*)$', s) if not mo: message.error('malformed name section body') self.attributes['manname'] = mo.group('manname').strip() self.attributes['manpurpose'] = mo.group('manpurpose').strip() names = [s.strip() for s in self.attributes['manname'].split(',')] if len(names) > 9: message.warning('too many manpage names') for i, name in enumerate(names): self.attributes['manname%d' % (i + 1)] = name if has_header: # Do postponed substitutions (backend confs have been loaded). self.attributes['doctitle'] = Title.dosubs(self.attributes['doctitle']) if config.header_footer: hdr = config.subs_section('header', {}) writer.write(hdr, trace='header') if 'title' in self.attributes: del self.attributes['title'] self.consume_attributes_and_comments() if self.doctype in ('article', 'book'): # Translate 'preamble' (untitled elements between header # and first section title). if Lex.next_element() is not Title: stag, etag = config.section2tags('preamble') writer.write(stag, trace='preamble open') Section.translate_body() writer.write(etag, trace='preamble close') elif self.doctype == 'manpage' and 'name' in config.sections: writer.write(config.subs_section('name', {}), trace='name') else: self.process_author_names() if config.header_footer: hdr = config.subs_section('header', {}) writer.write(hdr, trace='header') if Lex.next_element() is not Title: Section.translate_body() # Process remaining sections. while not reader.eof(): if Lex.next_element() is not Title: raise EAsciiDoc('section title expected') Section.translate() Section.setlevel(0) # Write remaining unwritten section close tags. # Substitute document parameters and write document footer. if config.header_footer: ftr = config.subs_section('footer', {}) writer.write(ftr, trace='footer') def parse_author(self, s): """ Return False if the author is malformed.""" attrs = self.attributes # Alias for readability. s = s.strip() mo = re.match(r'^(?P<name1>[^<>\s]+)' '(\s+(?P<name2>[^<>\s]+))?' '(\s+(?P<name3>[^<>\s]+))?' '(\s+<(?P<email>\S+)>)?$', s) if not mo: # Names that don't match the formal specification. if s: attrs['firstname'] = s return firstname = mo.group('name1') if mo.group('name3'): middlename = mo.group('name2') lastname = mo.group('name3') else: middlename = None lastname = mo.group('name2') firstname = firstname.replace('_', ' ') if middlename: middlename = middlename.replace('_', ' ') if lastname: lastname = lastname.replace('_', ' ') email = mo.group('email') if firstname: attrs['firstname'] = firstname if middlename: attrs['middlename'] = middlename if lastname: attrs['lastname'] = lastname if email: attrs['email'] = email return def process_author_names(self): """ Calculate any missing author related attributes.""" attrs = self.attributes # Alias for readability. firstname = attrs.get('firstname', '') middlename = attrs.get('middlename', '') lastname = attrs.get('lastname', '') author = attrs.get('author') initials = attrs.get('authorinitials') if author and not (firstname or middlename or lastname): self.parse_author(author) attrs['author'] = author.replace('_', ' ') self.process_author_names() return if not author: author = '%s %s %s' % (firstname, middlename, lastname) author = author.strip() author = re.sub(r'\s+', ' ', author) if not initials: initials = (firstname[:1] + middlename[:1] + lastname[:1]) initials = initials.upper() names = [firstname, middlename, lastname, author, initials] for i, v in enumerate(names): v = config.subs_specialchars(v) v = subs_attrs(v) names[i] = v firstname, middlename, lastname, author, initials = names if firstname: attrs['firstname'] = firstname if middlename: attrs['middlename'] = middlename if lastname: attrs['lastname'] = lastname if author: attrs['author'] = author if initials: attrs['authorinitials'] = initials if author: attrs['authored'] = '' class Header: """Static methods and attributes only.""" REV_LINE_RE = r'^(\D*(?P<revnumber>.*?),)?(?P<revdate>.*?)(:\s*(?P<revremark>.*))?$' RCS_ID_RE = r'^\$Id: \S+ (?P<revnumber>\S+) (?P<revdate>\S+) \S+ (?P<author>\S+) (\S+ )?\$$' def __init__(self): raise AssertionError('no class instances allowed') @staticmethod def parse(): assert Lex.next_element() is Title and Title.level == 0 attrs = document.attributes # Alias for readability. # Postpone title subs until backend conf files have been loaded. Title.translate(skipsubs=True) attrs['doctitle'] = Title.attributes['title'] document.consume_attributes_and_comments(noblanks=True) s = reader.read_next() mo = None if s: # Process first header line after the title that is not a comment # or an attribute entry. s = reader.read() mo = re.match(Header.RCS_ID_RE, s) if not mo: document.parse_author(s) document.consume_attributes_and_comments(noblanks=True) if reader.read_next(): # Process second header line after the title that is not a # comment or an attribute entry. s = reader.read() s = subs_attrs(s) if s: mo = re.match(Header.RCS_ID_RE, s) if not mo: mo = re.match(Header.REV_LINE_RE, s) document.consume_attributes_and_comments(noblanks=True) s = attrs.get('revnumber') if s: mo = re.match(Header.RCS_ID_RE, s) if mo: revnumber = mo.group('revnumber') if revnumber: attrs['revnumber'] = revnumber.strip() author = mo.groupdict().get('author') if author and 'firstname' not in attrs: document.parse_author(author) revremark = mo.groupdict().get('revremark') if revremark is not None: revremark = [revremark] # Revision remarks can continue on following lines. while reader.read_next(): if document.consume_attributes_and_comments(noblanks=True): break revremark.append(reader.read()) revremark = Lex.subs(revremark, ['normal']) revremark = '\n'.join(revremark).strip() attrs['revremark'] = revremark revdate = mo.group('revdate') if revdate: attrs['revdate'] = revdate.strip() elif revnumber or revremark: # Set revision date to ensure valid DocBook revision. attrs['revdate'] = attrs['docdate'] document.process_author_names() if document.doctype == 'manpage': # manpage title formatted like mantitle(manvolnum). mo = re.match(r'^(?P<mantitle>.*)\((?P<manvolnum>.*)\)$', attrs['doctitle']) if not mo: message.error('malformed manpage title') else: mantitle = mo.group('mantitle').strip() mantitle = subs_attrs(mantitle) if mantitle is None: message.error('undefined attribute in manpage title') # mantitle is lowered only if in ALL CAPS if mantitle == mantitle.upper(): mantitle = mantitle.lower() attrs['mantitle'] = mantitle attrs['manvolnum'] = mo.group('manvolnum').strip() class AttributeEntry: """Static methods and attributes only.""" pattern = None subs = None name = None name2 = None value = None attributes = {} # Accumulates all the parsed attribute entries. def __init__(self): raise AssertionError('no class instances allowed') @staticmethod def isnext(): result = False # Assume not next. if not AttributeEntry.pattern: pat = document.attributes.get('attributeentry-pattern') if not pat: message.error("[attributes] missing 'attributeentry-pattern' entry") AttributeEntry.pattern = pat line = reader.read_next() if line: # Attribute entry formatted like :<name>[.<name2>]:[ <value>] mo = re.match(AttributeEntry.pattern, line) if mo: AttributeEntry.name = mo.group('attrname') AttributeEntry.name2 = mo.group('attrname2') AttributeEntry.value = mo.group('attrvalue') or '' AttributeEntry.value = AttributeEntry.value.strip() result = True return result @staticmethod def translate(): assert Lex.next_element() is AttributeEntry attr = AttributeEntry # Alias for brevity. reader.read() # Discard attribute entry from reader. while attr.value.endswith(' +'): if not reader.read_next(): break attr.value = attr.value[:-1] + reader.read().strip() if attr.name2 is not None: # Configuration file attribute. if attr.name2 != '': # Section entry attribute. section = {} # Some sections can have name! syntax. if attr.name in ('attributes', 'miscellaneous') and attr.name2[-1] == '!': section[attr.name] = [attr.name2] else: section[attr.name] = ['%s=%s' % (attr.name2, attr.value)] config.load_sections(section) config.load_miscellaneous(config.conf_attrs) else: # Markup template section attribute. config.sections[attr.name] = [attr.value] else: # Normal attribute. if attr.name[-1] == '!': # Names like name! un-define the attribute. attr.name = attr.name[:-1] attr.value = None # Strip white space and illegal name chars. attr.name = re.sub(r'[^\w\-_]', '', attr.name).lower() # Don't override most command-line attributes. if attr.name in config.cmd_attrs \ and attr.name not in ('trace', 'numbered'): return # Update document attributes with attribute value. if attr.value is not None: mo = re.match(r'^pass:(?P<attrs>.*)\[(?P<value>.*)\]$', attr.value) if mo: # Inline pass-through syntax. attr.subs = mo.group('attrs') attr.value = mo.group('value') # Pass-through. else: # Default substitution. # DEPRECATED: attributeentry-subs attr.subs = document.attributes.get('attributeentry-subs', 'specialcharacters,attributes') attr.subs = parse_options(attr.subs, SUBS_OPTIONS, 'illegal substitution option') attr.value = Lex.subs((attr.value,), attr.subs) attr.value = writer.newline.join(attr.value) document.attributes[attr.name] = attr.value elif attr.name in document.attributes: del document.attributes[attr.name] attr.attributes[attr.name] = attr.value class AttributeList: """Static methods and attributes only.""" pattern = None match = None attrs = {} def __init__(self): raise AssertionError('no class instances allowed') @staticmethod def initialize(): if 'attributelist-pattern' not in document.attributes: message.error("[attributes] missing 'attributelist-pattern' entry") AttributeList.pattern = document.attributes['attributelist-pattern'] @staticmethod def isnext(): result = False # Assume not next. line = reader.read_next() if line: mo = re.match(AttributeList.pattern, line) if mo: AttributeList.match = mo result = True return result @staticmethod def translate(): assert Lex.next_element() is AttributeList reader.read() # Discard attribute list from reader. attrs = {} d = AttributeList.match.groupdict() for k, v in list(d.items()): if v is not None: if k == 'attrlist': v = subs_attrs(v) if v: parse_attributes(v, attrs) else: AttributeList.attrs[k] = v AttributeList.subs(attrs) AttributeList.attrs.update(attrs) @staticmethod def subs(attrs): """Substitute single quoted attribute values normally.""" reo = re.compile(r"^'.*'$") for k, v in list(attrs.items()): if reo.match(str(v)): attrs[k] = Lex.subs_1(v[1:-1], config.subsnormal) @staticmethod def style(): return AttributeList.attrs.get('style') or AttributeList.attrs.get('1') @staticmethod def consume(d={}): """Add attribute list to the dictionary 'd' and reset the list.""" if AttributeList.attrs: d.update(AttributeList.attrs) AttributeList.attrs = {} # Generate option attributes. if 'options' in d: options = parse_options(d['options'], (), 'illegal option name') for option in options: d[option + '-option'] = '' class BlockTitle: """Static methods and attributes only.""" title = None pattern = None def __init__(self): raise AssertionError('no class instances allowed') @staticmethod def isnext(): result = False # Assume not next. line = reader.read_next() if line: mo = re.match(BlockTitle.pattern, line) if mo: BlockTitle.title = mo.group('title') result = True return result @staticmethod def translate(): assert Lex.next_element() is BlockTitle reader.read() # Discard title from reader. # Perform title substitutions. if not Title.subs: Title.subs = config.subsnormal s = Lex.subs((BlockTitle.title,), Title.subs) s = writer.newline.join(s) if not s: message.warning('blank block title') BlockTitle.title = s @staticmethod def consume(d={}): """If there is a title add it to dictionary 'd' then reset title.""" if BlockTitle.title: d['title'] = BlockTitle.title BlockTitle.title = None class Title: """Processes Header and Section titles. Static methods and attributes only.""" # Class variables underlines = ('==', '--', '~~', '^^', '++') # Levels 0,1,2,3,4. subs = () pattern = None level = 0 attributes = {} sectname = None section_numbers = [0] * len(underlines) dump_dict = {} linecount = None # Number of lines in title (1 or 2). def __init__(self): raise AssertionError('no class instances allowed') @staticmethod def translate(skipsubs=False): """Parse the Title.attributes and Title.level from the reader. The real work has already been done by parse().""" assert Lex.next_element() in (Title, FloatingTitle) # Discard title from reader. for i in range(Title.linecount): reader.read() Title.setsectname() if not skipsubs: Title.attributes['title'] = Title.dosubs(Title.attributes['title']) @staticmethod def dosubs(title): """ Perform title substitutions. """ if not Title.subs: Title.subs = config.subsnormal title = Lex.subs((title,), Title.subs) title = writer.newline.join(title) if not title: message.warning('blank section title') return title @staticmethod def isnext(): lines = reader.read_ahead(2) return Title.parse(lines) @staticmethod def parse(lines): """Parse title at start of lines tuple.""" if len(lines) == 0: return False if len(lines[0]) == 0: return False # Title can't be blank. # Check for single-line titles. result = False for level in range(len(Title.underlines)): k = 'sect%s' % level if k in Title.dump_dict: mo = re.match(Title.dump_dict[k], lines[0]) if mo: Title.attributes = mo.groupdict() Title.level = level Title.linecount = 1 result = True break if not result: # Check for double-line titles. if not Title.pattern: return False # Single-line titles only. if len(lines) < 2: return False title, ul = lines[:2] title_len = column_width(title) ul_len = len(ul) if ul_len < 2: return False # Fast elimination check. if ul[:2] not in Title.underlines: return False # Length of underline must be within +/- 3 of title. Next, test for backward compatibility. if not ((ul_len-3 < title_len < ul_len+3) or (ul_len-3 < len(title) < ul_len+3)): return False # Check for valid repetition of underline character pairs. s = ul[:2] * ((ul_len + 1) // 2) if ul != s[:ul_len]: return False # Don't be fooled by back-to-back delimited blocks, require at # least one alphanumeric character in title. if not re.search(r'\w', title): return False mo = re.match(Title.pattern, title) if mo: Title.attributes = mo.groupdict() Title.level = list(Title.underlines).index(ul[:2]) Title.linecount = 2 result = True # Check for expected pattern match groups. if result: if 'title' not in Title.attributes: message.warning('[titles] entry has no <title> group') Title.attributes['title'] = lines[0] for k, v in list(Title.attributes.items()): if v is None: del Title.attributes[k] try: Title.level += int(document.attributes.get('leveloffset', '0')) except: pass Title.attributes['level'] = str(Title.level) return result @staticmethod def load(entries): """Load and validate [titles] section entries dictionary.""" if 'underlines' in entries: errmsg = 'malformed [titles] underlines entry' try: underlines = parse_list(entries['underlines']) except Exception: raise EAsciiDoc(errmsg) if len(underlines) != len(Title.underlines): raise EAsciiDoc(errmsg) for s in underlines: if len(s) != 2: raise EAsciiDoc(errmsg) Title.underlines = tuple(underlines) Title.dump_dict['underlines'] = entries['underlines'] if 'subs' in entries: Title.subs = parse_options(entries['subs'], SUBS_OPTIONS, 'illegal [titles] subs entry') Title.dump_dict['subs'] = entries['subs'] if 'sectiontitle' in entries: pat = entries['sectiontitle'] if not pat or not is_re(pat): raise EAsciiDoc('malformed [titles] sectiontitle entry') Title.pattern = pat Title.dump_dict['sectiontitle'] = pat if 'blocktitle' in entries: pat = entries['blocktitle'] if not pat or not is_re(pat): raise EAsciiDoc('malformed [titles] blocktitle entry') BlockTitle.pattern = pat Title.dump_dict['blocktitle'] = pat # Load single-line title patterns. for k in ('sect0', 'sect1', 'sect2', 'sect3', 'sect4'): if k in entries: pat = entries[k] if not pat or not is_re(pat): raise EAsciiDoc('malformed [titles] %s entry' % k) Title.dump_dict[k] = pat # TODO: Check we have either a Title.pattern or at least one # single-line title pattern -- can this be done here or do we need # check routine like the other block checkers? @staticmethod def dump(): dump_section('titles', Title.dump_dict) @staticmethod def setsectname(): """ Set Title section name: If the first positional or 'template' attribute is set use it, next search for section title in [specialsections], if not found use default 'sect<level>' name. """ sectname = AttributeList.attrs.get('1') if sectname and sectname != 'float': Title.sectname = sectname elif 'template' in AttributeList.attrs: Title.sectname = AttributeList.attrs['template'] else: for pat, sect in list(config.specialsections.items()): mo = re.match(pat, Title.attributes['title']) if mo: title = mo.groupdict().get('title') if title is not None: Title.attributes['title'] = title.strip() else: Title.attributes['title'] = mo.group().strip() Title.sectname = sect break else: Title.sectname = 'sect%d' % Title.level @staticmethod def getnumber(level): """Return next section number at section 'level' formatted like 1.2.3.4.""" number = '' for l in range(len(Title.section_numbers)): n = Title.section_numbers[l] if l == 0: continue elif l < level: number = '%s%d.' % (number, n) elif l == level: number = '%s%d.' % (number, n + 1) Title.section_numbers[l] = n + 1 elif l > level: # Reset unprocessed section levels. Title.section_numbers[l] = 0 return number class FloatingTitle(Title): """Floated titles are translated differently.""" @staticmethod def isnext(): return Title.isnext() and AttributeList.style() == 'float' @staticmethod def translate(): assert Lex.next_element() is FloatingTitle Title.translate() Section.set_id() AttributeList.consume(Title.attributes) template = 'floatingtitle' if template in config.sections: stag, etag = config.section2tags(template, Title.attributes) writer.write(stag, trace='floating title') else: message.warning('missing template section: [%s]' % template) class Section: """Static methods and attributes only.""" endtags = [] # Stack of currently open section (level,endtag) tuples. ids = [] # List of already used ids. def __init__(self): raise AssertionError('no class instances allowed') @staticmethod def savetag(level, etag): """Save section end.""" Section.endtags.append((level, etag)) @staticmethod def setlevel(level): """Set document level and write open section close tags up to level.""" while Section.endtags and Section.endtags[-1][0] >= level: writer.write(Section.endtags.pop()[1], trace='section close') document.level = level @staticmethod def gen_id(title): """ The normalized value of the id attribute is an NCName according to the 'Namespaces in XML' Recommendation: NCName ::= NCNameStartChar NCNameChar* NCNameChar ::= NameChar - ':' NCNameStartChar ::= Letter | '_' NameChar ::= Letter | Digit | '.' | '-' | '_' | ':' """ # Replace non-alpha numeric characters in title with underscores and # convert to lower case. base_id = re.sub(r'\W+', '_', title).strip('_').lower() if 'ascii-ids' in document.attributes: # Replace non-ASCII characters with ASCII equivalents. base_id = unicodedata.normalize('NFKD', base_id).encode('ascii', 'ignore').decode('ascii') # Prefix the ID name with idprefix attribute or underscore if not # defined. Prefix ensures the ID does not clash with existing IDs. idprefix = document.attributes.get('idprefix', '_') base_id = idprefix + base_id i = 1 while True: if i == 1: id = base_id else: id = '%s_%d' % (base_id, i) if id not in Section.ids: Section.ids.append(id) return id else: id = base_id i += 1 @staticmethod def set_id(): if not document.attributes.get('sectids') is None \ and 'id' not in AttributeList.attrs: # Generate ids for sections. AttributeList.attrs['id'] = Section.gen_id(Title.attributes['title']) @staticmethod def translate(): assert Lex.next_element() is Title prev_sectname = Title.sectname Title.translate() if Title.level == 0 and document.doctype != 'book': message.error('only book doctypes can contain level 0 sections') if Title.level > document.level \ and 'basebackend-docbook' in document.attributes \ and prev_sectname in ('colophon', 'abstract', 'dedication', 'glossary', 'bibliography'): message.error('%s section cannot contain sub-sections' % prev_sectname) if Title.level > document.level + 1: # Sub-sections of multi-part book level zero Preface and Appendices # are meant to be out of sequence. if document.doctype == 'book' \ and document.level == 0 \ and Title.level == 2 \ and prev_sectname in ('preface', 'appendix'): pass else: message.warning('section title out of sequence: ' 'expected level %d, got level %d' % (document.level + 1, Title.level)) Section.set_id() Section.setlevel(Title.level) if 'numbered' in document.attributes: Title.attributes['sectnum'] = Title.getnumber(document.level) else: Title.attributes['sectnum'] = '' AttributeList.consume(Title.attributes) stag, etag = config.section2tags(Title.sectname, Title.attributes) Section.savetag(Title.level, etag) writer.write(stag, trace='section open: level %d: %s' % (Title.level, Title.attributes['title'])) Section.translate_body() @staticmethod def translate_body(terminator=Title): isempty = True next = Lex.next_element() cnt = 0 while next and next is not terminator: if isinstance(terminator, DelimitedBlock) and next is Title: message.error('section title not permitted in delimited block') cnt += 1 next.translate() next = Lex.next_element() isempty = False # The section is not empty if contains a subsection. if next and isempty and Title.level > document.level: isempty = False # Report empty sections if invalid markup will result. if isempty: if document.backend == 'docbook' and Title.sectname != 'index': message.error('empty section is not valid') class AbstractBlock: blocknames = [] # Global stack of names for push_blockname() and pop_blockname(). def __init__(self): # Configuration parameter names common to all blocks. self.CONF_ENTRIES = ('delimiter', 'options', 'subs', 'presubs', 'postsubs', 'posattrs', 'style', '.*-style', 'template', 'filter') self.start = None # File reader cursor at start delimiter. self.defname = None # Configuration file block definition section name. # Configuration parameters. self.delimiter = None # Regular expression matching block delimiter. self.delimiter_reo = None # Compiled delimiter. self.template = None # template section entry. self.options = () # options entry list. self.presubs = None # presubs/subs entry list. self.postsubs = () # postsubs entry list. self.filter = None # filter entry. self.posattrs = () # posattrs entry list. self.style = None # Default style. self.styles = OrderedDict() # Each entry is a styles dictionary. # Before a block is processed it's attributes (from it's # attributes list) are merged with the block configuration parameters # (by self.merge_attributes()) resulting in the template substitution # dictionary (self.attributes) and the block's processing parameters # (self.parameters). self.attributes = {} # The names of block parameters. self.PARAM_NAMES = ('template', 'options', 'presubs', 'postsubs', 'filter') self.parameters = None # Leading delimiter match object. self.mo = None def short_name(self): """ Return the text following the first dash in the section name.""" i = self.defname.find('-') if i == -1: return self.defname else: return self.defname[i + 1:] def error(self, msg, cursor=None, halt=False): message.error('[%s] %s' % (self.defname, msg), cursor, halt) def is_conf_entry(self, param): """Return True if param matches an allowed configuration file entry name.""" for s in self.CONF_ENTRIES: if re.match('^' + s + '$', param): return True return False def load(self, defname, entries): """Update block definition from section 'entries' dictionary.""" self.defname = defname self.update_parameters(entries, self, all=True) def update_parameters(self, src, dst=None, all=False): """ Parse processing parameters from src dictionary to dst object. dst defaults to self.parameters. If all is True then copy src entries that aren't parameter names. """ dst = dst or self.parameters msg = '[%s] malformed entry %%s: %%s' % self.defname def copy(obj, k, v): if isinstance(obj, dict): obj[k] = v else: setattr(obj, k, v) for k, v in list(src.items()): if not re.match(r'\d+', k) and not is_name(k): raise EAsciiDoc(msg % (k, v)) if k == 'template': if not is_name(v): raise EAsciiDoc(msg % (k, v)) copy(dst, k, v) elif k == 'filter': copy(dst, k, v) elif k == 'options': if isinstance(v, str): v = parse_options(v, (), msg % (k, v)) # Merge with existing options. v = tuple(set(dst.options).union(set(v))) copy(dst, k, v) elif k in ('subs', 'presubs', 'postsubs'): # Subs is an alias for presubs. if k == 'subs': k = 'presubs' if isinstance(v, str): v = parse_options(v, SUBS_OPTIONS, msg % (k, v)) copy(dst, k, v) elif k == 'delimiter': if v and is_re(v): copy(dst, k, v) else: raise EAsciiDoc(msg % (k, v)) elif k == 'style': if is_name(v): copy(dst, k, v) else: raise EAsciiDoc(msg % (k, v)) elif k == 'posattrs': v = parse_options(v, (), msg % (k, v)) copy(dst, k, v) else: mo = re.match(r'^(?P<style>.*)-style$', k) if mo: if not v: raise EAsciiDoc(msg % (k, v)) style = mo.group('style') if not is_name(style): raise EAsciiDoc(msg % (k, v)) d = {} if not parse_named_attributes(v, d): raise EAsciiDoc(msg % (k, v)) if 'subs' in d: # Subs is an alias for presubs. d['presubs'] = d['subs'] del d['subs'] self.styles[style] = d elif all or k in self.PARAM_NAMES: copy(dst, k, v) # Derived class specific entries. def get_param(self, name, params=None): """ Return named processing parameter from params dictionary. If the parameter is not in params look in self.parameters. """ if params and name in params: return params[name] elif name in self.parameters: return self.parameters[name] else: return None def get_subs(self, params=None): """Return (presubs, postsubs) tuple.""" presubs = self.get_param('presubs', params) postsubs = self.get_param('postsubs', params) return (presubs, postsubs) def dump(self): """Write block definition to stdout.""" write = lambda s: sys.stdout.write('%s%s' % (s, writer.newline)) write('[' + self.defname + ']') if self.is_conf_entry('delimiter'): write('delimiter=' + self.delimiter) if self.template: write('template=' + self.template) if self.options: write('options=' + ','.join(self.options)) if self.presubs: if self.postsubs: write('presubs=' + ','.join(self.presubs)) else: write('subs=' + ','.join(self.presubs)) if self.postsubs: write('postsubs=' + ','.join(self.postsubs)) if self.filter: write('filter=' + self.filter) if self.posattrs: write('posattrs=' + ','.join(self.posattrs)) if self.style: write('style=' + self.style) if self.styles: for style, d in list(self.styles.items()): s = '' for k, v in list(d.items()): s += '%s=%r,' % (k, v) write('%s-style=%s' % (style, s[:-1])) def validate(self): """Validate block after the complete configuration has been loaded.""" if self.is_conf_entry('delimiter') and not self.delimiter: raise EAsciiDoc('[%s] missing delimiter' % self.defname) if self.style: if not is_name(self.style): raise EAsciiDoc('illegal style name: %s' % self.style) if self.style not in self.styles: if not isinstance(self, List): # Lists don't have templates. message.warning('[%s] \'%s\' style not in %s' % ( self.defname, self.style, list(self.styles.keys()))) # Check all styles for missing templates. all_styles_have_template = True for k, v in list(self.styles.items()): t = v.get('template') if t and t not in config.sections: # Defer check if template name contains attributes. if not re.search(r'{.+}', t): message.warning('missing template section: [%s]' % t) if not t: all_styles_have_template = False # Check we have a valid template entry or alternatively that all the # styles have templates. if self.is_conf_entry('template') and 'skip' not in self.options: if self.template: if self.template not in config.sections: # Defer check if template name contains attributes. if not re.search(r'{.+}', self.template): message.warning('missing template section: [%s]' % self.template) elif not all_styles_have_template: if not isinstance(self, List): # Lists don't have templates. message.warning('missing styles templates: [%s]' % self.defname) def isnext(self): """Check if this block is next in document reader.""" result = False reader.skip_blank_lines() if reader.read_next(): if not self.delimiter_reo: # Cache compiled delimiter optimization. self.delimiter_reo = re.compile(self.delimiter) mo = self.delimiter_reo.match(reader.read_next()) if mo: self.mo = mo result = True return result def translate(self): """Translate block from document reader.""" if not self.presubs: self.presubs = config.subsnormal if reader.cursor: self.start = reader.cursor[:] def push_blockname(self, blockname=None): """ On block entry set the 'blockname' attribute. Only applies to delimited blocks, lists and tables. """ if blockname is None: blockname = self.attributes.get('style', self.short_name()).lower() trace('push blockname', blockname) self.blocknames.append(blockname) document.attributes['blockname'] = blockname def pop_blockname(self): """ On block exits restore previous (parent) 'blockname' attribute or un-define it if we're no longer inside a block. """ assert len(self.blocknames) > 0 blockname = self.blocknames.pop() trace('pop blockname', blockname) if len(self.blocknames) == 0: document.attributes['blockname'] = None else: document.attributes['blockname'] = self.blocknames[-1] def merge_attributes(self, attrs, params=[]): """ Use the current block's attribute list (attrs dictionary) to build a dictionary of block processing parameters (self.parameters) and tag substitution attributes (self.attributes). 1. Copy the default parameters (self.*) to self.parameters. self.parameters are used internally to render the current block. Optional params array of additional parameters. 2. Copy attrs to self.attributes. self.attributes are used for template and tag substitution in the current block. 3. If a style attribute was specified update self.parameters with the corresponding style parameters; if there are any style parameters remaining add them to self.attributes (existing attribute list entries take precedence). 4. Set named positional attributes in self.attributes if self.posattrs was specified. 5. Finally self.parameters is updated with any corresponding parameters specified in attrs. """ def check_array_parameter(param): # Check the parameter is a sequence type. if not is_array(self.parameters[param]): message.error('malformed %s parameter: %s' % (param, self.parameters[param])) # Revert to default value. self.parameters[param] = getattr(self, param) params = list(self.PARAM_NAMES) + params self.attributes = {} if self.style: # If a default style is defined make it available in the template. self.attributes['style'] = self.style self.attributes.update(attrs) # Calculate dynamic block parameters. # Start with configuration file defaults. self.parameters = AttrDict() for name in params: self.parameters[name] = getattr(self, name) # Load the selected style attributes. posattrs = self.posattrs if posattrs and posattrs[0] == 'style': # Positional attribute style has highest precedence. style = self.attributes.get('1') else: style = None if not style: # Use explicit style attribute, fall back to default style. style = self.attributes.get('style', self.style) if style: if not is_name(style): message.error('illegal style name: %s' % style) style = self.style # Lists have implicit styles and do their own style checks. elif style not in self.styles and not isinstance(self, List): message.warning('missing style: [%s]: %s' % (self.defname, style)) style = self.style if style in self.styles: self.attributes['style'] = style for k, v in list(self.styles[style].items()): if k == 'posattrs': posattrs = v elif k in params: self.parameters[k] = v elif k not in self.attributes: # Style attributes don't take precedence over explicit. self.attributes[k] = v # Set named positional attributes. for i, v in enumerate(posattrs): if str(i + 1) in self.attributes: self.attributes[v] = self.attributes[str(i + 1)] # Override config and style attributes with attribute list attributes. self.update_parameters(attrs) check_array_parameter('options') check_array_parameter('presubs') check_array_parameter('postsubs') class AbstractBlocks: """List of block definitions.""" PREFIX = '' # Conf file section name prefix set in derived classes. BLOCK_TYPE = None # Block type set in derived classes. def __init__(self): self.current = None self.blocks = [] # List of Block objects. self.default = None # Default Block. self.delimiters = None # Combined delimiters regular expression. def load(self, sections): """Load block definition from 'sections' dictionary.""" for k in list(sections.keys()): if re.match(r'^' + self.PREFIX + r'.+$', k): d = {} parse_entries(sections.get(k, ()), d) for b in self.blocks: if b.defname == k: break else: b = self.BLOCK_TYPE() self.blocks.append(b) try: b.load(k, d) except EAsciiDoc as e: raise EAsciiDoc('[%s] %s' % (k, str(e))) def dump(self): for b in self.blocks: b.dump() def isnext(self): for b in self.blocks: if b.isnext(): self.current = b return True return False def validate(self): """Validate the block definitions.""" # Validate delimiters and build combined lists delimiter pattern. delimiters = [] for b in self.blocks: assert b.__class__ is self.BLOCK_TYPE b.validate() if b.delimiter: delimiters.append(b.delimiter) self.delimiters = re_join(delimiters) class Paragraph(AbstractBlock): def __init__(self): AbstractBlock.__init__(self) self.text = None # Text in first line of paragraph. def load(self, name, entries): AbstractBlock.load(self, name, entries) def dump(self): AbstractBlock.dump(self) write = lambda s: sys.stdout.write('%s%s' % (s, writer.newline)) write('') def isnext(self): result = AbstractBlock.isnext(self) if result: self.text = self.mo.groupdict().get('text') return result def translate(self): AbstractBlock.translate(self) attrs = self.mo.groupdict().copy() if 'text' in attrs: del attrs['text'] BlockTitle.consume(attrs) AttributeList.consume(attrs) self.merge_attributes(attrs) reader.read() # Discard (already parsed item first line). body = reader.read_until(paragraphs.terminators) if 'skip' in self.parameters.options: return body = [self.text] + list(body) presubs = self.parameters.presubs postsubs = self.parameters.postsubs if document.attributes.get('plaintext') is None: body = Lex.set_margin(body) # Move body to left margin. body = Lex.subs(body, presubs) template = self.parameters.template template = subs_attrs(template, attrs) stag = config.section2tags(template, self.attributes, skipend=True)[0] if self.parameters.filter: body = filter_lines(self.parameters.filter, body, self.attributes) body = Lex.subs(body, postsubs) etag = config.section2tags(template, self.attributes, skipstart=True)[1] # Write start tag, content, end tag. writer.write(dovetail_tags(stag, body, etag), trace='paragraph') class Paragraphs(AbstractBlocks): """List of paragraph definitions.""" BLOCK_TYPE = Paragraph PREFIX = 'paradef-' def __init__(self): AbstractBlocks.__init__(self) self.terminators = None # List of compiled re's. def initialize(self): self.terminators = [ re.compile(r'^\+$|^$'), re.compile(AttributeList.pattern), re.compile(blocks.delimiters), re.compile(tables.delimiters), re.compile(tables_OLD.delimiters), ] def load(self, sections): AbstractBlocks.load(self, sections) def validate(self): AbstractBlocks.validate(self) # Check we have a default paragraph definition, put it last in list. for b in self.blocks: if b.defname == 'paradef-default': self.blocks.append(b) self.default = b self.blocks.remove(b) break else: raise EAsciiDoc('missing section: [paradef-default]') class List(AbstractBlock): NUMBER_STYLES = ('arabic', 'loweralpha', 'upperalpha', 'lowerroman', 'upperroman') def __init__(self): AbstractBlock.__init__(self) self.CONF_ENTRIES += ('type', 'tags') self.PARAM_NAMES += ('tags',) # listdef conf file parameters. self.type = None self.tags = None # Name of listtags-<tags> conf section. # Calculated parameters. self.tag = None # Current tags AttrDict. self.label = None # List item label (labeled lists). self.text = None # Text in first line of list item. self.index = None # Matched delimiter 'index' group (numbered lists). self.type = None # List type ('numbered','bulleted','labeled'). self.ordinal = None # Current list item ordinal number (1..) self.number_style = None # Current numbered list style ('arabic'..) def load(self, name, entries): AbstractBlock.load(self, name, entries) def dump(self): AbstractBlock.dump(self) write = lambda s: sys.stdout.write('%s%s' % (s, writer.newline)) write('type=' + self.type) write('tags=' + self.tags) write('') def validate(self): AbstractBlock.validate(self) tags = [self.tags] tags += [s['tags'] for s in list(self.styles.values()) if 'tags' in s] for t in tags: if t not in lists.tags: self.error('missing section: [listtags-%s]' % t, halt=True) def isnext(self): result = AbstractBlock.isnext(self) if result: self.label = self.mo.groupdict().get('label') self.text = self.mo.groupdict().get('text') self.index = self.mo.groupdict().get('index') return result def translate_entry(self): assert self.type == 'labeled' entrytag = subs_tag(self.tag.entry, self.attributes) labeltag = subs_tag(self.tag.label, self.attributes) writer.write(entrytag[0], trace='list entry open') writer.write(labeltag[0], trace='list label open') # Write labels. while Lex.next_element() is self: reader.read() # Discard (already parsed item first line). writer.write_tag(self.tag.term, [self.label], self.presubs, self.attributes, trace='list term') if self.text: break writer.write(labeltag[1], trace='list label close') # Write item text. self.translate_item() writer.write(entrytag[1], trace='list entry close') def translate_item(self): if self.type == 'callout': self.attributes['coids'] = calloutmap.calloutids(self.ordinal) itemtag = subs_tag(self.tag.item, self.attributes) writer.write(itemtag[0], trace='list item open') # Write ItemText. text = reader.read_until(lists.terminators) if self.text: text = [self.text] + list(text) if text: writer.write_tag(self.tag.text, text, self.presubs, self.attributes, trace='list text') # Process explicit and implicit list item continuations. while True: continuation = reader.read_next() == '+' if continuation: reader.read() # Discard continuation line. while Lex.next_element() in (BlockTitle, AttributeList): # Consume continued element title and attributes. Lex.next_element().translate() if not continuation and BlockTitle.title: # Titled elements terminate the list. break next = Lex.next_element() if next in lists.open: break elif isinstance(next, List): next.translate() elif isinstance(next, Paragraph) and 'listelement' in next.options: next.translate() elif continuation: # This is where continued elements are processed. if next is Title: message.error('section title not allowed in list item', halt=True) next.translate() else: break writer.write(itemtag[1], trace='list item close') @staticmethod def calc_style(index): """Return the numbered list style ('arabic'...) of the list item index. Return None if unrecognized style.""" if re.match(r'^\d+[\.>]$', index): style = 'arabic' elif re.match(r'^[ivx]+\)$', index): style = 'lowerroman' elif re.match(r'^[IVX]+\)$', index): style = 'upperroman' elif re.match(r'^[a-z]\.$', index): style = 'loweralpha' elif re.match(r'^[A-Z]\.$', index): style = 'upperalpha' else: assert False return style @staticmethod def calc_index(index, style): """Return the ordinal number of (1...) of the list item index for the given list style.""" def roman_to_int(roman): roman = roman.lower() digits = {'i': 1, 'v': 5, 'x': 10} result = 0 for i in range(len(roman)): digit = digits[roman[i]] # If next digit is larger this digit is negative. if i + 1 < len(roman) and digits[roman[i + 1]] > digit: result -= digit else: result += digit return result index = index[:-1] if style == 'arabic': ordinal = int(index) elif style == 'lowerroman': ordinal = roman_to_int(index) elif style == 'upperroman': ordinal = roman_to_int(index) elif style == 'loweralpha': ordinal = ord(index) - ord('a') + 1 elif style == 'upperalpha': ordinal = ord(index) - ord('A') + 1 else: assert False return ordinal def check_index(self): """Check calculated self.ordinal (1,2,...) against the item number in the document (self.index) and check the number style is the same as the first item (self.number_style).""" assert self.type in ('numbered', 'callout') if self.index: style = self.calc_style(self.index) if style != self.number_style: message.warning('list item style: expected %s got %s' % (self.number_style, style), offset=1) ordinal = self.calc_index(self.index, style) if ordinal != self.ordinal: message.warning('list item index: expected %s got %s' % (self.ordinal, ordinal), offset=1) def check_tags(self): """ Check that all necessary tags are present. """ tags = set(Lists.TAGS) if self.type != 'labeled': tags = tags.difference(['entry', 'label', 'term']) missing = tags.difference(list(self.tag.keys())) if missing: self.error('missing tag(s): %s' % ','.join(missing), halt=True) def translate(self): AbstractBlock.translate(self) if self.short_name() in ('bibliography', 'glossary', 'qanda'): message.deprecated('old %s list syntax' % self.short_name()) lists.open.append(self) attrs = self.mo.groupdict().copy() for k in ('label', 'text', 'index'): if k in attrs: del attrs[k] if self.index: # Set the numbering style from first list item. attrs['style'] = self.calc_style(self.index) BlockTitle.consume(attrs) AttributeList.consume(attrs) self.merge_attributes(attrs, ['tags']) self.push_blockname() if self.type in ('numbered', 'callout'): self.number_style = self.attributes.get('style') if self.number_style not in self.NUMBER_STYLES: message.error('illegal numbered list style: %s' % self.number_style) # Fall back to default style. self.attributes['style'] = self.number_style = self.style self.tag = lists.tags[self.parameters.tags] self.check_tags() if 'width' in self.attributes: # Set horizontal list 'labelwidth' and 'itemwidth' attributes. v = str(self.attributes['width']) mo = re.match(r'^(\d{1,2})%?$', v) if mo: labelwidth = int(mo.group(1)) self.attributes['labelwidth'] = str(labelwidth) self.attributes['itemwidth'] = str(100 - labelwidth) else: self.error('illegal attribute value: width="%s"' % v) stag, etag = subs_tag(self.tag.list, self.attributes) if stag: writer.write(stag, trace='list open') self.ordinal = 0 # Process list till list syntax changes or there is a new title. while Lex.next_element() is self and not BlockTitle.title: self.ordinal += 1 document.attributes['listindex'] = str(self.ordinal) if self.type in ('numbered', 'callout'): self.check_index() if self.type in ('bulleted', 'numbered', 'callout'): reader.read() # Discard (already parsed item first line). self.translate_item() elif self.type == 'labeled': self.translate_entry() else: raise AssertionError('illegal [%s] list type' % self.defname) if etag: writer.write(etag, trace='list close') if self.type == 'callout': calloutmap.validate(self.ordinal) calloutmap.listclose() lists.open.pop() if len(lists.open): document.attributes['listindex'] = str(lists.open[-1].ordinal) self.pop_blockname() class Lists(AbstractBlocks): """List of List objects.""" BLOCK_TYPE = List PREFIX = 'listdef-' TYPES = ('bulleted', 'numbered', 'labeled', 'callout') TAGS = ('list', 'entry', 'item', 'text', 'label', 'term') def __init__(self): AbstractBlocks.__init__(self) self.open = [] # A stack of the current and parent lists. self.tags = {} # List tags dictionary. Each entry is a tags AttrDict. self.terminators = None # List of compiled re's. def initialize(self): self.terminators = [ re.compile(r'^\+$|^$'), re.compile(AttributeList.pattern), re.compile(lists.delimiters), re.compile(blocks.delimiters), re.compile(tables.delimiters), re.compile(tables_OLD.delimiters), ] def load(self, sections): AbstractBlocks.load(self, sections) self.load_tags(sections) def load_tags(self, sections): """ Load listtags-* conf file sections to self.tags. """ for section in list(sections.keys()): mo = re.match(r'^listtags-(?P<name>\w+)$', section) if mo: name = mo.group('name') if name in self.tags: d = self.tags[name] else: d = AttrDict() parse_entries(sections.get(section, ()), d) for k in list(d.keys()): if k not in self.TAGS: message.warning('[%s] contains illegal list tag: %s' % (section, k)) self.tags[name] = d def validate(self): AbstractBlocks.validate(self) for b in self.blocks: # Check list has valid type. if b.type not in Lists.TYPES: raise EAsciiDoc('[%s] illegal type' % b.defname) b.validate() def dump(self): AbstractBlocks.dump(self) for k, v in list(self.tags.items()): dump_section('listtags-' + k, v) class DelimitedBlock(AbstractBlock): def __init__(self): AbstractBlock.__init__(self) def load(self, name, entries): AbstractBlock.load(self, name, entries) def dump(self): AbstractBlock.dump(self) write = lambda s: sys.stdout.write('%s%s' % (s, writer.newline)) write('') def isnext(self): return AbstractBlock.isnext(self) def translate(self): AbstractBlock.translate(self) reader.read() # Discard delimiter. self.merge_attributes(AttributeList.attrs) if 'skip' not in self.parameters.options: BlockTitle.consume(self.attributes) AttributeList.consume() self.push_blockname() options = self.parameters.options if 'skip' in options: reader.read_until(self.delimiter, same_file=True) elif safe() and self.defname == 'blockdef-backend': message.unsafe('Backend Block') reader.read_until(self.delimiter, same_file=True) else: template = self.parameters.template template = subs_attrs(template, self.attributes) name = self.short_name() + ' block' if 'sectionbody' in options: # The body is treated like a section body. stag, etag = config.section2tags(template, self.attributes) writer.write(stag, trace=name + ' open') Section.translate_body(self) writer.write(etag, trace=name + ' close') else: stag = config.section2tags(template, self.attributes, skipend=True)[0] body = reader.read_until(self.delimiter, same_file=True) presubs = self.parameters.presubs postsubs = self.parameters.postsubs body = Lex.subs(body, presubs) if self.parameters.filter: body = filter_lines(self.parameters.filter, body, self.attributes) body = Lex.subs(body, postsubs) # Write start tag, content, end tag. etag = config.section2tags(template, self.attributes, skipstart=True)[1] writer.write(dovetail_tags(stag, body, etag), trace=name) trace(self.short_name() + ' block close', etag) if reader.eof(): self.error('missing closing delimiter', self.start) else: delimiter = reader.read() # Discard delimiter line. assert re.match(self.delimiter, delimiter) self.pop_blockname() class DelimitedBlocks(AbstractBlocks): """List of delimited blocks.""" BLOCK_TYPE = DelimitedBlock PREFIX = 'blockdef-' def __init__(self): AbstractBlocks.__init__(self) def load(self, sections): """Update blocks defined in 'sections' dictionary.""" AbstractBlocks.load(self, sections) def validate(self): AbstractBlocks.validate(self) class Column: """Table column.""" def __init__(self, width=None, align_spec=None, style=None): self.width = width or '1' self.halign, self.valign = Table.parse_align_spec(align_spec) self.style = style # Style name or None. # Calculated attribute values. self.abswidth = None # 1.. (page units). self.pcwidth = None # 1..99 (percentage). class Cell: def __init__(self, data, span_spec=None, align_spec=None, style=None): self.data = data self.span, self.vspan = Table.parse_span_spec(span_spec) self.halign, self.valign = Table.parse_align_spec(align_spec) self.style = style self.reserved = False def __repr__(self): return '<Cell: %d.%d %s.%s %s "%s">' % ( self.span, self.vspan, self.halign, self.valign, self.style or '', self.data) def clone_reserve(self): """Return a clone of self to reserve vertically spanned cell.""" result = copy.copy(self) result.vspan = 1 result.reserved = True return result class Table(AbstractBlock): ALIGN = {'<': 'left', '>': 'right', '^': 'center'} VALIGN = {'<': 'top', '>': 'bottom', '^': 'middle'} FORMATS = ('psv', 'csv', 'dsv') SEPARATORS = dict( csv=',', dsv=r':|\n', # The count and align group matches are not exact. psv=r'((?<!\S)((?P<span>[\d.]+)(?P<op>[*+]))?(?P<align>[<\^>.]{,3})?(?P<style>[a-z])?)?\|' ) def __init__(self): AbstractBlock.__init__(self) self.CONF_ENTRIES += ('format', 'tags', 'separator') # tabledef conf file parameters. self.format = 'psv' self.separator = None self.tags = None # Name of tabletags-<tags> conf section. # Calculated parameters. self.abswidth = None # 1.. (page units). self.pcwidth = None # 1..99 (percentage). self.rows = [] # Parsed rows, each row is a list of Cells. self.columns = [] # List of Columns. @staticmethod def parse_align_spec(align_spec): """ Parse AsciiDoc cell alignment specifier and return 2-tuple with horizontal and vertical alignment names. Unspecified alignments set to None. """ result = (None, None) if align_spec: mo = re.match(r'^([<\^>])?(\.([<\^>]))?$', align_spec) if mo: result = (Table.ALIGN.get(mo.group(1)), Table.VALIGN.get(mo.group(3))) return result @staticmethod def parse_span_spec(span_spec): """ Parse AsciiDoc cell span specifier and return 2-tuple with horizontal and vertical span counts. Set default values (1,1) if not specified. """ result = (None, None) if span_spec: mo = re.match(r'^(\d+)?(\.(\d+))?$', span_spec) if mo: result = (mo.group(1) and int(mo.group(1)), mo.group(3) and int(mo.group(3))) return (result[0] or 1, result[1] or 1) def load(self, name, entries): AbstractBlock.load(self, name, entries) def dump(self): AbstractBlock.dump(self) write = lambda s: sys.stdout.write('%s%s' % (s, writer.newline)) write('format=' + self.format) write('') def validate(self): AbstractBlock.validate(self) if self.format not in Table.FORMATS: self.error('illegal format=%s' % self.format, halt=True) self.tags = self.tags or 'default' tags = [self.tags] tags += [s['tags'] for s in list(self.styles.values()) if 'tags' in s] for t in tags: if t not in tables.tags: self.error('missing section: [tabletags-%s]' % t, halt=True) if self.separator: # Evaluate escape characters. self.separator = literal_eval('"' + self.separator + '"') # TODO: Move to class Tables # Check global table parameters. elif config.pagewidth is None: self.error('missing [miscellaneous] entry: pagewidth') elif config.pageunits is None: self.error('missing [miscellaneous] entry: pageunits') def validate_attributes(self): """Validate and parse table attributes.""" # Set defaults. format = self.format tags = self.tags separator = self.separator abswidth = float(config.pagewidth) pcwidth = 100.0 for k, v in list(self.attributes.items()): if k == 'format': if v not in self.FORMATS: self.error('illegal %s=%s' % (k, v)) else: format = v elif k == 'tags': if v not in tables.tags: self.error('illegal %s=%s' % (k, v)) else: tags = v elif k == 'separator': separator = v elif k == 'width': if not re.match(r'^\d{1,3}%$', v) or int(v[:-1]) > 100: self.error('illegal %s=%s' % (k, v)) else: abswidth = float(v[:-1]) / 100 * config.pagewidth pcwidth = float(v[:-1]) # Calculate separator if it has not been specified. if not separator: separator = Table.SEPARATORS[format] if format == 'csv': if len(separator) > 1: self.error('illegal csv separator=%s' % separator) separator = ',' else: if not is_re(separator): self.error('illegal regular expression: separator=%s' % separator) self.parameters.format = format self.parameters.tags = tags self.parameters.separator = separator self.abswidth = abswidth self.pcwidth = pcwidth def get_tags(self, params): tags = self.get_param('tags', params) assert(tags and tags in tables.tags) return tables.tags[tags] def get_style(self, prefix): """ Return the style dictionary whose name starts with 'prefix'. """ if prefix is None: return None names = list(self.styles.keys()) names.sort() for name in names: if name.startswith(prefix): return self.styles[name] else: self.error('missing style: %s*' % prefix) return None def parse_cols(self, cols, halign, valign): """ Build list of column objects from table 'cols', 'halign' and 'valign' attributes. """ # [<multiplier>*][<align>][<width>][<style>] COLS_RE1 = r'^((?P<count>\d+)\*)?(?P<align>[<\^>.]{,3})?(?P<width>\d+%?)?(?P<style>[a-z]\w*)?$' # [<multiplier>*][<width>][<align>][<style>] COLS_RE2 = r'^((?P<count>\d+)\*)?(?P<width>\d+%?)?(?P<align>[<\^>.]{,3})?(?P<style>[a-z]\w*)?$' reo1 = re.compile(COLS_RE1) reo2 = re.compile(COLS_RE2) cols = str(cols) if re.match(r'^\d+$', cols): for i in range(int(cols)): self.columns.append(Column()) else: for col in re.split(r'\s*,\s*', cols): mo = reo1.match(col) if not mo: mo = reo2.match(col) if mo: count = int(mo.groupdict().get('count') or 1) for i in range(count): self.columns.append( Column(mo.group('width'), mo.group('align'), self.get_style(mo.group('style'))) ) else: self.error('illegal column spec: %s' % col, self.start) # Set column (and indirectly cell) default alignments. for col in self.columns: col.halign = col.halign or halign or document.attributes.get('halign') or 'left' col.valign = col.valign or valign or document.attributes.get('valign') or 'top' # Validate widths and calculate missing widths. n = 0 percents = 0 props = 0 for col in self.columns: if col.width: if col.width[-1] == '%': percents += int(col.width[:-1]) else: props += int(col.width) n += 1 if percents > 0 and props > 0: self.error('mixed percent and proportional widths: %s' % cols, self.start) pcunits = percents > 0 # Fill in missing widths. if n < len(self.columns) and percents < 100: if pcunits: width = float(100 - percents) / float(len(self.columns) - n) else: width = 1 for col in self.columns: if not col.width: if pcunits: col.width = str(int(width)) + '%' percents += width else: col.width = str(width) props += width # Calculate column alignment and absolute and percent width values. percents = 0 for col in self.columns: if pcunits: col.pcwidth = float(col.width[:-1]) else: col.pcwidth = (float(col.width) / props) * 100 col.abswidth = self.abswidth * (col.pcwidth / 100) if config.pageunits in ('cm', 'mm', 'in', 'em'): col.abswidth = '%.2f' % py2round(col.abswidth, 2) else: col.abswidth = '%d' % py2round(col.abswidth) percents += col.pcwidth col.pcwidth = int(col.pcwidth) if py2round(percents) > 100: self.error('total width exceeds 100%%: %s' % cols, self.start) elif py2round(percents) < 100: self.error('total width less than 100%%: %s' % cols, self.start) def build_colspecs(self): """ Generate column related substitution attributes. """ cols = [] i = 1 for col in self.columns: colspec = self.get_tags(col.style).colspec if colspec: self.attributes['halign'] = col.halign self.attributes['valign'] = col.valign self.attributes['colabswidth'] = col.abswidth self.attributes['colpcwidth'] = col.pcwidth self.attributes['colnumber'] = str(i) s = subs_attrs(colspec, self.attributes) if not s: message.warning('colspec dropped: contains undefined attribute') else: cols.append(s) i += 1 if cols: self.attributes['colspecs'] = writer.newline.join(cols) def parse_rows(self, text): """ Parse the table source text into self.rows (a list of rows, each row is a list of Cells. """ reserved = {} # Reserved cells generated by rowspans. if self.parameters.format in ('psv', 'dsv'): colcount = len(self.columns) parsed_cells = self.parse_psv_dsv(text) ri = 0 # Current row index 0.. ci = 0 # Column counter 0..colcount row = [] i = 0 while True: resv = reserved.get(ri) and reserved[ri].get(ci) if resv: # We have a cell generated by a previous row span so # process it before continuing with the current parsed # cell. cell = resv else: if i >= len(parsed_cells): break # No more parsed or reserved cells. cell = parsed_cells[i] i += 1 if cell.vspan > 1: # Generate ensuing reserved cells spanned vertically by # the current cell. for j in range(1, cell.vspan): if ri + j not in reserved: reserved[ri + j] = {} reserved[ri + j][ci] = cell.clone_reserve() ci += cell.span if ci <= colcount: row.append(cell) if ci >= colcount: self.rows.append(row) ri += 1 row = [] ci = 0 elif self.parameters.format == 'csv': self.rows = self.parse_csv(text) else: assert True, 'illegal table format' # Check for empty rows containing only reserved (spanned) cells. for ri, row in enumerate(self.rows): empty = True for cell in row: if not cell.reserved: empty = False break if empty: message.warning('table row %d: empty spanned row' % (ri + 1)) # Check that all row spans match. for ri, row in enumerate(self.rows): row_span = 0 for cell in row: row_span += cell.span if ri == 0: header_span = row_span if row_span < header_span: message.warning('table row %d: does not span all columns' % (ri + 1)) if row_span > header_span: message.warning('table row %d: exceeds columns span' % (ri + 1)) def subs_rows(self, rows, rowtype='body'): """ Return a string of output markup from a list of rows, each row is a list of raw data text. """ tags = tables.tags[self.parameters.tags] if rowtype == 'header': rtag = tags.headrow elif rowtype == 'footer': rtag = tags.footrow else: rtag = tags.bodyrow result = [] stag, etag = subs_tag(rtag, self.attributes) for row in rows: result.append(stag) result += self.subs_row(row, rowtype) result.append(etag) return writer.newline.join(result) def subs_row(self, row, rowtype): """ Substitute the list of Cells using the data tag. Returns a list of marked up table cell elements. """ result = [] i = 0 for cell in row: if cell.reserved: # Skip vertically spanned placeholders. i += cell.span continue if i >= len(self.columns): break # Skip cells outside the header width. col = self.columns[i] self.attributes['halign'] = cell.halign or col.halign self.attributes['valign'] = cell.valign or col.valign self.attributes['colabswidth'] = col.abswidth self.attributes['colpcwidth'] = col.pcwidth self.attributes['colnumber'] = str(i + 1) self.attributes['colspan'] = str(cell.span) self.attributes['colstart'] = self.attributes['colnumber'] self.attributes['colend'] = str(i + cell.span) self.attributes['rowspan'] = str(cell.vspan) self.attributes['morerows'] = str(cell.vspan - 1) # Fill missing column data with blanks. if i > len(self.columns) - 1: data = '' else: data = cell.data if rowtype == 'header': # Use table style unless overridden by cell style. colstyle = cell.style else: # If the cell style is not defined use the column style. colstyle = cell.style or col.style tags = self.get_tags(colstyle) presubs, postsubs = self.get_subs(colstyle) data = [data] data = Lex.subs(data, presubs) data = filter_lines(self.get_param('filter', colstyle), data, self.attributes) data = Lex.subs(data, postsubs) if rowtype != 'header': ptag = tags.paragraph if ptag: stag, etag = subs_tag(ptag, self.attributes) text = '\n'.join(data).strip() data = [] for para in re.split(r'\n{2,}', text): data += dovetail_tags([stag], para.split('\n'), [etag]) if rowtype == 'header': dtag = tags.headdata elif rowtype == 'footer': dtag = tags.footdata else: dtag = tags.bodydata stag, etag = subs_tag(dtag, self.attributes) result = result + dovetail_tags([stag], data, [etag]) i += cell.span return result def parse_csv(self, text): """ Parse the table source text and return a list of rows, each row is a list of Cells. """ rows = [] rdr = csv.reader(io.StringIO('\r\n'.join(text)), delimiter=self.parameters.separator, skipinitialspace=True) try: for row in rdr: rows.append([Cell(data) for data in row]) except Exception: self.error('csv parse error: %s' % row) return rows def parse_psv_dsv(self, text): """ Parse list of PSV or DSV table source text lines and return a list of Cells. """ def append_cell(data, span_spec, op, align_spec, style): op = op or '+' if op == '*': # Cell multiplier. span = Table.parse_span_spec(span_spec)[0] for i in range(span): cells.append(Cell(data, '1', align_spec, style)) elif op == '+': # Column spanner. cells.append(Cell(data, span_spec, align_spec, style)) else: self.error('illegal table cell operator') text = '\n'.join(text) separator = '(?ms)' + self.parameters.separator format = self.parameters.format start = 0 span = None op = None align = None style = None cells = [] data = '' for mo in re.finditer(separator, text): data += text[start:mo.start()] if data.endswith('\\'): data = data[:-1] + mo.group() # Reinstate escaped separators. else: append_cell(data, span, op, align, style) span = mo.groupdict().get('span') op = mo.groupdict().get('op') align = mo.groupdict().get('align') style = mo.groupdict().get('style') if style: style = self.get_style(style) data = '' start = mo.end() # Last cell follows final separator. data += text[start:] append_cell(data, span, op, align, style) # We expect a dummy blank item preceding the first PSV cell. if format == 'psv': if cells[0].data.strip() != '': self.error('missing leading separator: %s' % separator, self.start) else: cells.pop(0) return cells def translate(self): AbstractBlock.translate(self) reader.read() # Discard delimiter. # Reset instance specific properties. self.columns = [] self.rows = [] attrs = {} BlockTitle.consume(attrs) # Mix in document attribute list. AttributeList.consume(attrs) self.merge_attributes(attrs) self.validate_attributes() # Add global and calculated configuration parameters. self.attributes['pagewidth'] = config.pagewidth self.attributes['pageunits'] = config.pageunits self.attributes['tableabswidth'] = int(self.abswidth) self.attributes['tablepcwidth'] = int(self.pcwidth) # Read the entire table. text = reader.read_until(self.delimiter) if reader.eof(): self.error('missing closing delimiter', self.start) else: delimiter = reader.read() # Discard closing delimiter. assert re.match(self.delimiter, delimiter) if len(text) == 0: message.warning('[%s] table is empty' % self.defname) return self.push_blockname('table') cols = attrs.get('cols') if not cols: # Calculate column count from number of items in first line. if self.parameters.format == 'csv': cols = text[0].count(self.parameters.separator) + 1 else: cols = 0 for cell in self.parse_psv_dsv(text[:1]): cols += cell.span self.parse_cols(cols, attrs.get('halign'), attrs.get('valign')) # Set calculated attributes. self.attributes['colcount'] = len(self.columns) self.build_colspecs() self.parse_rows(text) # The 'rowcount' attribute is used by the experimental LaTeX backend. self.attributes['rowcount'] = str(len(self.rows)) # Generate headrows, footrows, bodyrows. # Headrow, footrow and bodyrow data replaces same named attributes in # the table markup template. In order to ensure this data does not get # a second attribute substitution (which would interfere with any # substituted already inline passthroughs) unique placeholders are used # (the tab character does not appear elsewhere since it is expanded on # input) which are replaced after template attribute substitution. headrows = footrows = bodyrows = None for option in self.parameters.options: self.attributes[option + '-option'] = '' if self.rows and 'header' in self.parameters.options: headrows = self.subs_rows(self.rows[0:1], 'header') self.attributes['headrows'] = '\x07headrows\x07' self.rows = self.rows[1:] if self.rows and 'footer' in self.parameters.options: footrows = self.subs_rows(self.rows[-1:], 'footer') self.attributes['footrows'] = '\x07footrows\x07' self.rows = self.rows[:-1] if self.rows: bodyrows = self.subs_rows(self.rows) self.attributes['bodyrows'] = '\x07bodyrows\x07' table = subs_attrs(config.sections[self.parameters.template], self.attributes) table = writer.newline.join(table) # Before we finish replace the table head, foot and body place holders # with the real data. if headrows: table = table.replace('\x07headrows\x07', headrows, 1) if footrows: table = table.replace('\x07footrows\x07', footrows, 1) if bodyrows: table = table.replace('\x07bodyrows\x07', bodyrows, 1) writer.write(table, trace='table') self.pop_blockname() class Tables(AbstractBlocks): """List of tables.""" BLOCK_TYPE = Table PREFIX = 'tabledef-' TAGS = ('colspec', 'headrow', 'footrow', 'bodyrow', 'headdata', 'footdata', 'bodydata', 'paragraph') def __init__(self): AbstractBlocks.__init__(self) # Table tags dictionary. Each entry is a tags dictionary. self.tags = {} def load(self, sections): AbstractBlocks.load(self, sections) self.load_tags(sections) def load_tags(self, sections): """ Load tabletags-* conf file sections to self.tags. """ for section in list(sections.keys()): mo = re.match(r'^tabletags-(?P<name>\w+)$', section) if mo: name = mo.group('name') if name in self.tags: d = self.tags[name] else: d = AttrDict() parse_entries(sections.get(section, ()), d) for k in list(d.keys()): if k not in self.TAGS: message.warning('[%s] contains illegal table tag: %s' % (section, k)) self.tags[name] = d def validate(self): AbstractBlocks.validate(self) # Check we have a default table definition, for i in range(len(self.blocks)): if self.blocks[i].defname == 'tabledef-default': default = self.blocks[i] break else: raise EAsciiDoc('missing section: [tabledef-default]') # Propagate defaults to unspecified table parameters. for b in self.blocks: if b is not default: if b.format is None: b.format = default.format if b.template is None: b.template = default.template # Check tags and propagate default tags. if 'default' not in self.tags: raise EAsciiDoc('missing section: [tabletags-default]') default = self.tags['default'] for tag in ('bodyrow', 'bodydata', 'paragraph'): # Mandatory default tags. if tag not in default: raise EAsciiDoc('missing [tabletags-default] entry: %s' % tag) for t in list(self.tags.values()): if t is not default: if t.colspec is None: t.colspec = default.colspec if t.headrow is None: t.headrow = default.headrow if t.footrow is None: t.footrow = default.footrow if t.bodyrow is None: t.bodyrow = default.bodyrow if t.headdata is None: t.headdata = default.headdata if t.footdata is None: t.footdata = default.footdata if t.bodydata is None: t.bodydata = default.bodydata if t.paragraph is None: t.paragraph = default.paragraph # Use body tags if header and footer tags are not specified. for t in list(self.tags.values()): if not t.headrow: t.headrow = t.bodyrow if not t.footrow: t.footrow = t.bodyrow if not t.headdata: t.headdata = t.bodydata if not t.footdata: t.footdata = t.bodydata # Check table definitions are valid. for b in self.blocks: b.validate() def dump(self): AbstractBlocks.dump(self) for k, v in list(self.tags.items()): dump_section('tabletags-' + k, v) class Macros: # Default system macro syntax. SYS_RE = r'^(?P<name>[\\]?\w(\w|-)*?)::(?P<target>\S*?)' + \ r'(\[(?P<attrlist>.*?)\])$' def __init__(self): self.macros = [] # List of Macros. self.current = None # The last matched block macro. self.passthroughs = [] # Initialize default system macro. m = Macro() m.pattern = self.SYS_RE m.prefix = '+' m.reo = re.compile(m.pattern) self.macros.append(m) def load(self, entries): for entry in entries: m = Macro() m.load(entry) if m.name is None: # Delete undefined macro. for i, m2 in enumerate(self.macros): if m2.pattern == m.pattern: del self.macros[i] break else: message.warning('unable to delete missing macro: %s' % m.pattern) else: # Check for duplicates. for m2 in self.macros: if m2.pattern == m.pattern: message.verbose('macro redefinition: %s%s' % (m.prefix, m.name)) break else: self.macros.append(m) def dump(self): write = lambda s: sys.stdout.write('%s%s' % (s, writer.newline)) write('[macros]') # Dump all macros except the first (built-in system) macro. for m in self.macros[1:]: # Escape = in pattern. macro = '%s=%s%s' % (m.pattern.replace('=', r'\='), m.prefix, m.name) if m.subslist is not None: macro += '[' + ','.join(m.subslist) + ']' write(macro) write('') def validate(self): # Check all named sections exist. if config.verbose: for m in self.macros: if m.name and m.prefix != '+': m.section_name() def subs(self, text, prefix='', callouts=False): # If callouts is True then only callout macros are processed, if False # then all non-callout macros are processed. result = text for m in self.macros: if m.prefix == prefix: if callouts ^ (m.name != 'callout'): result = m.subs(result) return result def isnext(self): """Return matching macro if block macro is next on reader.""" reader.skip_blank_lines() line = reader.read_next() if line: for m in self.macros: if m.prefix == '#': if m.reo.match(line): self.current = m return m return False def match(self, prefix, name, text): """Return re match object matching 'text' with macro type 'prefix', macro name 'name'.""" for m in self.macros: if m.prefix == prefix: mo = m.reo.match(text) if mo: if m.name == name: return mo if re.match(name, mo.group('name')): return mo return None def extract_passthroughs(self, text, prefix=''): """ Extract the passthrough text and replace with temporary placeholders.""" self.passthroughs = [] for m in self.macros: if m.has_passthrough() and m.prefix == prefix: text = m.subs_passthroughs(text, self.passthroughs) return text def restore_passthroughs(self, text): """ Replace passthough placeholders with the original passthrough text.""" for i, v in enumerate(self.passthroughs): text = text.replace('\x07' + str(i) + '\x07', self.passthroughs[i]) return text class Macro: def __init__(self): self.pattern = None # Matching regular expression. self.name = '' # Conf file macro name (None if implicit). self.prefix = '' # '' if inline, '+' if system, '#' if block. self.reo = None # Compiled pattern re object. self.subslist = [] # Default subs for macros passtext group. def has_passthrough(self): return self.pattern.find(r'(?P<passtext>') >= 0 def section_name(self, name=None): """Return macro markup template section name based on macro name and prefix. Return None section not found.""" assert self.prefix != '+' if not name: assert self.name name = self.name if self.prefix == '#': suffix = '-blockmacro' else: suffix = '-inlinemacro' if name + suffix in config.sections: return name + suffix else: message.warning('missing macro section: [%s]' % (name + suffix)) return None def load(self, entry): e = parse_entry(entry) if e is None: # Only the macro pattern was specified, mark for deletion. self.name = None self.pattern = entry return if not is_re(e[0]): raise EAsciiDoc('illegal macro regular expression: %s' % e[0]) pattern, name = e if name and name[0] in ('+', '#'): prefix, name = name[0], name[1:] else: prefix = '' # Parse passthrough subslist. mo = re.match(r'^(?P<name>[^[]*)(\[(?P<subslist>.*)\])?$', name) name = mo.group('name') if name and not is_name(name): raise EAsciiDoc('illegal section name in macro entry: %s' % entry) subslist = mo.group('subslist') if subslist is not None: # Parse and validate passthrough subs. subslist = parse_options(subslist, SUBS_OPTIONS, 'illegal subs in macro entry: %s' % entry) self.pattern = pattern self.reo = re.compile(pattern) self.prefix = prefix self.name = name self.subslist = subslist or [] def subs(self, text): def subs_func(mo): """Function called to perform macro substitution. Uses matched macro regular expression object and returns string containing the substituted macro body.""" # Check if macro reference is escaped. if mo.group()[0] == '\\': return mo.group()[1:] # Strip leading backslash. d = mo.groupdict() # Delete groups that didn't participate in match. for k, v in list(d.items()): if v is None: del d[k] if self.name: name = self.name else: if 'name' not in d: message.warning('missing macro name group: %s' % mo.re.pattern) return '' name = d['name'] section_name = self.section_name(name) if not section_name: return '' # If we're dealing with a block macro get optional block ID and # block title. if self.prefix == '#' and self.name != 'comment': AttributeList.consume(d) BlockTitle.consume(d) # Parse macro attributes. if 'attrlist' in d: if d['attrlist'] in (None, ''): del d['attrlist'] else: if self.prefix == '': # Un-escape ] characters in inline macros. d['attrlist'] = d['attrlist'].replace('\\]', ']') parse_attributes(d['attrlist'], d) # Generate option attributes. if 'options' in d: options = parse_options(d['options'], (), '%s: illegal option name' % name) for option in options: d[option + '-option'] = '' # Substitute single quoted attribute values in block macros. if self.prefix == '#': AttributeList.subs(d) if name == 'callout': listindex = int(d['index']) d['coid'] = calloutmap.add(listindex) # The alt attribute is the first image macro positional attribute. if name == 'image' and '1' in d: d['alt'] = d['1'] # Un-escape special characters in LaTeX target file names. if document.backend == 'latex' and 'target' in d and d['target']: if '0' not in d: d['0'] = d['target'] d['target'] = config.subs_specialchars_reverse(d['target']) # BUG: We've already done attribute substitution on the macro which # means that any escaped attribute references are now unescaped and # will be substituted by config.subs_section() below. As a partial # fix have withheld {0} from substitution but this kludge doesn't # fix it for other attributes containing unescaped references. # Passthrough macros don't have this problem. a0 = d.get('0') if a0: d['0'] = chr(0) # Replace temporarily with unused character. body = config.subs_section(section_name, d) if len(body) == 0: result = '' elif len(body) == 1: result = body[0] else: if self.prefix == '#': result = writer.newline.join(body) else: # Internally processed inline macros use UNIX line # separator. result = '\n'.join(body) if a0: result = result.replace(chr(0), a0) return result return self.reo.sub(subs_func, text) def translate(self): """ Block macro translation.""" assert self.prefix == '#' s = reader.read() before = s if self.has_passthrough(): s = macros.extract_passthroughs(s, '#') s = subs_attrs(s) if s: s = self.subs(s) if self.has_passthrough(): s = macros.restore_passthroughs(s) if s: trace('macro block', before, s) writer.write(s) def subs_passthroughs(self, text, passthroughs): """ Replace macro attribute lists in text with placeholders. Substitute and append the passthrough attribute lists to the passthroughs list.""" def subs_func(mo): """Function called to perform inline macro substitution. Uses matched macro regular expression object and returns string containing the substituted macro body.""" # Don't process escaped macro references. if mo.group()[0] == '\\': return mo.group() d = mo.groupdict() if 'passtext' not in d: message.warning('passthrough macro %s: missing passtext group' % d.get('name', '')) return mo.group() passtext = d['passtext'] if re.search('\x07\\d+\x07', passtext): message.warning('nested inline passthrough') return mo.group() if d.get('subslist'): if d['subslist'].startswith(':'): message.error('block macro cannot occur here: %s' % mo.group(), halt=True) subslist = parse_options(d['subslist'], SUBS_OPTIONS, 'illegal passthrough macro subs option') else: subslist = self.subslist passtext = Lex.subs_1(passtext, subslist) if passtext is None: passtext = '' if self.prefix == '': # Un-escape ] characters in inline macros. passtext = passtext.replace('\\]', ']') passthroughs.append(passtext) # Tabs guarantee the placeholders are unambiguous. result = ( text[mo.start():mo.start('passtext')] + '\x07' + str(len(passthroughs) - 1) + '\x07' + text[mo.end('passtext'):mo.end()] ) return result return self.reo.sub(subs_func, text) class CalloutMap: def __init__(self): self.comap = {} # key = list index, value = callouts list. self.calloutindex = 0 # Current callout index number. self.listnumber = 1 # Current callout list number. def listclose(self): # Called when callout list is closed. self.listnumber += 1 self.calloutindex = 0 self.comap = {} def add(self, listindex): # Add next callout index to listindex map entry. Return the callout id. self.calloutindex += 1 # Append the coindex to a list in the comap dictionary. if listindex not in self.comap: self.comap[listindex] = [self.calloutindex] else: self.comap[listindex].append(self.calloutindex) return self.calloutid(self.listnumber, self.calloutindex) @staticmethod def calloutid(listnumber, calloutindex): return 'CO%d-%d' % (listnumber, calloutindex) def calloutids(self, listindex): # Retrieve list of callout indexes that refer to listindex. if listindex in self.comap: result = '' for coindex in self.comap[listindex]: result += ' ' + self.calloutid(self.listnumber, coindex) return result.strip() else: message.warning('no callouts refer to list item ' + str(listindex)) return '' def validate(self, maxlistindex): # Check that all list indexes referenced by callouts exist. for listindex in list(self.comap.keys()): if listindex > maxlistindex: message.warning('callout refers to non-existent list item ' + str(listindex)) # --------------------------------------------------------------------------- # Input stream Reader and output stream writer classes. # --------------------------------------------------------------------------- UTF8_BOM = b'\xef\xbb\xbf'.decode('utf-8') class Reader1: """Line oriented AsciiDoc input file reader. Processes include and conditional inclusion system macros. Tabs are expanded and lines are right trimmed.""" # This class is not used directly, use Reader class instead. READ_BUFFER_MIN = 10 # Read buffer low level. def __init__(self): self.f = None # Input file object. self.fname = None # Input file name. self.next = [] # Read ahead buffer containing [filename,linenumber,linetext] lists. self.cursor = None # Last read() [filename,linenumber,linetext]. self.tabsize = 8 # Tab expansion number of spaces. self.parent = None # Included reader's parent reader. self._lineno = 0 # The last line read from file object f. self.current_depth = 0 # Current include depth. self.max_depth = 10 # Initial maxiumum allowed include depth. self.bom = None # Byte order mark (BOM). self.infile = None # Saved document 'infile' attribute. self.indir = None # Saved document 'indir' attribute. def open(self, fname): self.fname = fname message.verbose('reading: ' + fname) if fname == '<stdin>': self.f = sys.stdin self.infile = None self.indir = None else: self.f = open(fname, 'r', encoding='utf-8') self.infile = fname self.indir = os.path.dirname(fname) document.attributes['infile'] = self.infile document.attributes['indir'] = self.indir self._lineno = 0 # The last line read from file object f. self.next = [] # Pre-fill buffer by reading the first line and then pushing it back. if self.read(): if self.cursor[2].startswith(UTF8_BOM): self.cursor[2] = self.cursor[2][len(UTF8_BOM):] self.bom = UTF8_BOM self.unread(self.cursor) self.cursor = None def closefile(self): """Used by class methods to close nested include files.""" self.f.close() self.next = [] def close(self): self.closefile() self.__init__() def read(self, skip=False): """Read next line. Return None if EOF. Expand tabs. Strip trailing white space. Maintain self.next read ahead buffer. If skip=True then conditional exclusion is active (ifdef and ifndef macros).""" # Top up buffer. if len(self.next) <= self.READ_BUFFER_MIN: s = self.f.readline() if s: self._lineno = self._lineno + 1 while s: if self.tabsize != 0: s = s.expandtabs(self.tabsize) s = s.rstrip() self.next.append([self.fname, self._lineno, s]) if len(self.next) > self.READ_BUFFER_MIN: break s = self.f.readline() if s: self._lineno = self._lineno + 1 # Return first (oldest) buffer entry. if len(self.next) > 0: self.cursor = self.next[0] del self.next[0] result = self.cursor[2] # Check for include macro. mo = macros.match('+', r'^include[1]?$', result) if mo and not skip: # Parse include macro attributes. attrs = {} parse_attributes(mo.group('attrlist'), attrs) warnings = attrs.get('warnings', True) # Don't process include macro once the maximum depth is reached. if self.current_depth >= self.max_depth: message.warning('maximum include depth exceeded') return result # Perform attribute substitution on include macro file name. fname = subs_attrs(mo.group('target')) if not fname: return Reader1.read(self) # Return next input line. if self.fname != '<stdin>': fname = os.path.expandvars(os.path.expanduser(fname)) fname = safe_filename(fname, os.path.dirname(self.fname)) if not fname: return Reader1.read(self) # Return next input line. if not os.path.isfile(fname): if warnings: message.warning('include file not found: %s' % fname) return Reader1.read(self) # Return next input line. if mo.group('name') == 'include1': if not config.dumping: if fname not in config.include1: message.verbose('include1: ' + fname, linenos=False) # Store the include file in memory for later # retrieval by the {include1:} system attribute. with open(fname, encoding='utf-8') as f: config.include1[fname] = [s.rstrip() for s in f] return '{include1:%s}' % fname else: # This is a configuration dump, just pass the macro # call through. return result # Clone self and set as parent (self assumes the role of child). parent = Reader1() assign(parent, self) self.parent = parent # Set attributes in child. if 'tabsize' in attrs: try: val = int(attrs['tabsize']) if not val >= 0: raise ValueError('not >= 0') self.tabsize = val except ValueError: raise EAsciiDoc('illegal include macro tabsize argument') else: self.tabsize = config.tabsize if 'depth' in attrs: try: val = int(attrs['depth']) if not val >= 1: raise ValueError('not >= 1') self.max_depth = self.current_depth + val except ValueError: raise EAsciiDoc("include macro: illegal 'depth' argument") # Process included file. message.verbose('include: ' + fname, linenos=False) self.open(fname) self.current_depth = self.current_depth + 1 result = Reader1.read(self) else: if not Reader1.eof(self): result = Reader1.read(self) else: result = None return result def eof(self): """Returns True if all lines have been read.""" if len(self.next) == 0: # End of current file. if self.parent: self.closefile() assign(self, self.parent) # Restore parent reader. document.attributes['infile'] = self.infile document.attributes['indir'] = self.indir return Reader1.eof(self) else: return True else: return False def read_next(self): """Like read() but does not advance file pointer.""" if Reader1.eof(self): return None else: return self.next[0][2] def unread(self, cursor): """Push the line (filename,linenumber,linetext) tuple back into the read buffer. Note that it's up to the caller to restore the previous cursor.""" assert cursor self.next.insert(0, cursor) class Reader(Reader1): """ Wraps (well, sought of) Reader1 class and implements conditional text inclusion.""" def __init__(self): Reader1.__init__(self) self.depth = 0 # if nesting depth. self.skip = False # true if we're skipping ifdef...endif. self.skipname = '' # Name of current endif macro target. self.skipto = -1 # The depth at which skipping is re-enabled. def read_super(self): result = Reader1.read(self, self.skip) if result is None and self.skip: raise EAsciiDoc('missing endif::%s[]' % self.skipname) return result def read(self): result = self.read_super() if result is None: return None while self.skip: mo = macros.match('+', r'ifdef|ifndef|ifeval|endif', result) if mo: name = mo.group('name') target = mo.group('target') attrlist = mo.group('attrlist') if name == 'endif': self.depth -= 1 if self.depth < 0: raise EAsciiDoc('mismatched macro: %s' % result) if self.depth == self.skipto: self.skip = False if target and self.skipname != target: raise EAsciiDoc('mismatched macro: %s' % result) else: if name in ('ifdef', 'ifndef'): if not target: raise EAsciiDoc('missing macro target: %s' % result) if not attrlist: self.depth += 1 elif name == 'ifeval': if not attrlist: raise EAsciiDoc('missing ifeval condition: %s' % result) self.depth += 1 result = self.read_super() if result is None: return None mo = macros.match('+', r'ifdef|ifndef|ifeval|endif', result) if mo: name = mo.group('name') target = mo.group('target') attrlist = mo.group('attrlist') if name == 'endif': self.depth = self.depth - 1 else: if not target and name in ('ifdef', 'ifndef'): raise EAsciiDoc('missing macro target: %s' % result) defined = is_attr_defined(target, document.attributes) if name == 'ifdef': if attrlist: if defined: return attrlist else: self.skip = not defined elif name == 'ifndef': if attrlist: if not defined: return attrlist else: self.skip = defined elif name == 'ifeval': if safe(): message.unsafe('ifeval invalid') raise EAsciiDoc('ifeval invalid safe document') if not attrlist: raise EAsciiDoc('missing ifeval condition: %s' % result) cond = False attrlist = subs_attrs(attrlist) if attrlist: try: cond = eval(attrlist) except Exception as e: raise EAsciiDoc('error evaluating ifeval condition: %s: %s' % (result, str(e))) message.verbose('ifeval: %s: %r' % (attrlist, cond)) self.skip = not cond if not attrlist or name == 'ifeval': if self.skip: self.skipto = self.depth self.skipname = target self.depth = self.depth + 1 result = self.read() if result: # Expand executable block macros. mo = macros.match('+', r'eval|sys|sys2', result) if mo: action = mo.group('name') cmd = mo.group('attrlist') result = system(action, cmd, is_macro=True) self.cursor[2] = result # So we don't re-evaluate. if result: # Un=escape escaped system macros. if macros.match('+', r'\\eval|\\sys|\\sys2|\\ifdef|\\ifndef|\\endif|\\include|\\include1', result): result = result[1:] return result def eof(self): return self.read_next() is None def read_next(self): save_cursor = self.cursor result = self.read() if result is not None: self.unread(self.cursor) self.cursor = save_cursor return result def read_lines(self, count=1): """Return tuple containing count lines.""" result = [] i = 0 while i < count and not self.eof(): result.append(self.read()) return tuple(result) def read_ahead(self, count=1): """Same as read_lines() but does not advance the file pointer.""" result = [] putback = [] save_cursor = self.cursor try: i = 0 while i < count and not self.eof(): result.append(self.read()) putback.append(self.cursor) i = i + 1 while putback: self.unread(putback.pop()) finally: self.cursor = save_cursor return tuple(result) @staticmethod def skip_blank_lines(): reader.read_until(r'\s*\S+') def read_until(self, terminators, same_file=False): """Like read() but reads lines up to (but not including) the first line that matches the terminator regular expression, regular expression object or list of regular expression objects. If same_file is True then the terminating pattern must occur in the file the was being read when the routine was called.""" if same_file: fname = self.cursor[0] result = [] if not isinstance(terminators, list): if isinstance(terminators, str): terminators = [re.compile(terminators)] else: terminators = [terminators] while not self.eof(): save_cursor = self.cursor s = self.read() if not same_file or fname == self.cursor[0]: for reo in terminators: if reo.match(s): self.unread(self.cursor) self.cursor = save_cursor return tuple(result) result.append(s) return tuple(result) class Writer: """Writes lines to output file.""" def __init__(self): self.newline = '\r\n' # End of line terminator. self.f = None # Output file object. self.fname = None # Output file name. self.lines_out = 0 # Number of lines written. self.skip_blank_lines = False # If True don't output blank lines. def open(self, fname, bom=None): """ bom is optional byte order mark. http://en.wikipedia.org/wiki/Byte-order_mark """ self.fname = fname if fname == '<stdout>': self.f = sys.stdout else: self.f = open(fname, 'w+', encoding='utf-8') message.verbose('writing: ' + writer.fname, False) if bom: self.f.write(bom) self.lines_out = 0 def close(self): if self.fname != '<stdout>': self.f.close() def write_line(self, line=None): if not (self.skip_blank_lines and (not line or not line.strip())): self.f.write((line or '') + self.newline) self.lines_out = self.lines_out + 1 def write(self, *args, **kwargs): """Iterates arguments, writes tuple and list arguments one line per element, else writes argument as single line. If no arguments writes blank line. If argument is None nothing is written. self.newline is appended to each line.""" if 'trace' in kwargs and len(args) > 0: trace(kwargs['trace'], args[0]) if len(args) == 0: self.write_line() self.lines_out = self.lines_out + 1 else: for arg in args: if is_array(arg): for s in arg: self.write_line(s) elif arg is not None: self.write_line(arg) def write_tag(self, tag, content, subs=None, d=None, **kwargs): """Write content enveloped by tag. Substitutions specified in the 'subs' list are perform on the 'content'.""" if subs is None: subs = config.subsnormal stag, etag = subs_tag(tag, d) content = Lex.subs(content, subs) if 'trace' in kwargs: trace(kwargs['trace'], [stag] + content + [etag]) if stag: self.write(stag) if content: self.write(content) if etag: self.write(etag) # --------------------------------------------------------------------------- # Configuration file processing. # --------------------------------------------------------------------------- def _subs_specialwords(mo): """Special word substitution function called by Config.subs_specialwords().""" word = mo.re.pattern # The special word. template = config.specialwords[word] # The corresponding markup template. if template not in config.sections: raise EAsciiDoc('missing special word template [%s]' % template) if mo.group()[0] == '\\': return mo.group()[1:] # Return escaped word. args = {} args['words'] = mo.group() # The full match string is argument 'words'. args.update(mo.groupdict()) # Add other named match groups to the arguments. # Delete groups that didn't participate in match. for k, v in list(args.items()): if v is None: del args[k] lines = subs_attrs(config.sections[template], args) if len(lines) == 0: result = '' elif len(lines) == 1: result = lines[0] else: result = writer.newline.join(lines) return result class Config: """Methods to process configuration files.""" # Non-template section name regexp's. ENTRIES_SECTIONS = ('tags', 'miscellaneous', 'attributes', 'specialcharacters', 'specialwords', 'macros', 'replacements', 'quotes', 'titles', r'paradef-.+', r'listdef-.+', r'blockdef-.+', r'tabledef-.+', r'tabletags-.+', r'listtags-.+', 'replacements[23]', r'old_tabledef-.+') def __init__(self): self.sections = OrderedDict() # Keyed by section name containing lists of section lines. # Command-line options. self.verbose = False self.header_footer = True # -s, --no-header-footer option. # [miscellaneous] section. self.tabsize = 8 self.textwidth = 70 # DEPRECATED: Old tables only. self.newline = '\r\n' self.pagewidth = None self.pageunits = None self.outfilesuffix = '' self.subsnormal = SUBS_NORMAL self.subsverbatim = SUBS_VERBATIM self.tags = {} # Values contain (stag,etag) tuples. self.specialchars = {} # Values of special character substitutions. self.specialwords = {} # Name is special word pattern, value is macro. self.replacements = OrderedDict() # Key is find pattern, value is replace pattern. self.replacements2 = OrderedDict() self.replacements3 = OrderedDict() self.specialsections = {} # Name is special section name pattern, value is corresponding section name. self.quotes = OrderedDict() # Values contain corresponding tag name. self.fname = '' # Most recently loaded configuration file name. self.conf_attrs = {} # Attributes entries from conf files. self.cmd_attrs = {} # Attributes from command-line -a options. self.loaded = [] # Loaded conf files. self.include1 = {} # Holds include1::[] files for {include1:}. self.dumping = False # True if asciidoc -c option specified. self.filters = [] # Filter names specified by --filter option. def init(self, cmd): """ Check Python version and locate the executable and configuration files directory. cmd is the asciidoc command or asciidoc.py path. """ if float(sys.version[:3]) < float(MIN_PYTHON_VERSION): message.stderr('FAILED: Python %s or better required' % MIN_PYTHON_VERSION) sys.exit(1) if not os.path.exists(cmd): message.stderr('FAILED: Missing asciidoc command: %s' % cmd) sys.exit(1) global APP_FILE APP_FILE = os.path.realpath(cmd) global APP_DIR APP_DIR = os.path.dirname(APP_FILE) global USER_DIR USER_DIR = userdir() if USER_DIR is not None: USER_DIR = os.path.join(USER_DIR, '.asciidoc') if not os.path.isdir(USER_DIR): USER_DIR = None def load_file(self, fname, dir=None, include=[], exclude=[]): """ Loads sections dictionary with sections from file fname. Existing sections are overlaid. The 'include' list contains the section names to be loaded. The 'exclude' list contains section names not to be loaded. Return False if no file was found in any of the locations. """ def update_section(section): """ Update section in sections with contents. """ if section and contents: if section in sections and self.entries_section(section): if ''.join(contents): # Merge entries. sections[section] += contents else: del sections[section] else: if section.startswith('+'): # Append section. if section in sections: sections[section] += contents else: sections[section] = contents else: # Replace section. sections[section] = contents if dir: fname = os.path.join(dir, fname) # Silently skip missing configuration file. if not os.path.isfile(fname): return False # Don't load conf files twice (local and application conf files are the # same if the source file is in the application directory). if os.path.realpath(fname) in self.loaded: return True rdr = Reader() # Reader processes system macros. message.linenos = False # Disable document line numbers. rdr.open(fname) message.linenos = None self.fname = fname reo = re.compile(r'^\[(?P<section>\+?[^\W\d][\w-]*)\]\s*$') sections = OrderedDict() section, contents = '', [] while not rdr.eof(): s = rdr.read() if s and s[0] == '#': # Skip comment lines. continue if s[:2] == '\\#': # Un-escape lines starting with '#'. s = s[1:] s = s.rstrip() found = reo.findall(str(s)) if found: update_section(section) # Store previous section. section = found[0].lower() contents = [] else: contents.append(s) update_section(section) # Store last section. rdr.close() if include: for s in set(sections) - set(include): del sections[s] if exclude: for s in set(sections) & set(exclude): del sections[s] attrs = {} self.load_sections(sections, attrs) if not include: # If all sections are loaded mark this file as loaded. self.loaded.append(os.path.realpath(fname)) document.update_attributes(attrs) # So they are available immediately. return True def load_sections(self, sections, attrs=None): """ Loads sections dictionary. Each dictionary entry contains a list of lines. Updates 'attrs' with parsed [attributes] section entries. """ # Delete trailing blank lines from sections. for k in list(sections.keys()): for i in range(len(sections[k]) - 1, -1, -1): if not sections[k][i]: del sections[k][i] elif not self.entries_section(k): break # Update new sections. for k, v in list(sections.items()): if k.startswith('+'): # Append section. k = k[1:] if k in self.sections: self.sections[k] += v else: self.sections[k] = v else: # Replace section. self.sections[k] = v self.parse_tags() # Internally [miscellaneous] section entries are just attributes. d = {} parse_entries(sections.get('miscellaneous', ()), d, unquote=True, allow_name_only=True) parse_entries(sections.get('attributes', ()), d, unquote=True, allow_name_only=True) update_attrs(self.conf_attrs, d) if attrs is not None: attrs.update(d) d = {} parse_entries(sections.get('titles', ()), d) Title.load(d) parse_entries(sections.get('specialcharacters', ()), self.specialchars, escape_delimiter=False) parse_entries(sections.get('quotes', ()), self.quotes) self.parse_specialwords() self.parse_replacements() self.parse_replacements('replacements2') self.parse_replacements('replacements3') self.parse_specialsections() paragraphs.load(sections) lists.load(sections) blocks.load(sections) tables_OLD.load(sections) tables.load(sections) macros.load(sections.get('macros', ())) @staticmethod def get_load_dirs(): """ Return list of well known paths with conf files. """ result = [] if localapp(): # Load from folders in asciidoc executable directory. result.append(APP_DIR) else: # Load from global configuration directory. result.append(CONF_DIR) # Load configuration files from ~/.asciidoc if it exists. if USER_DIR is not None: result.append(USER_DIR) return result def find_in_dirs(self, filename, dirs=None): """ Find conf files from dirs list. Return list of found file paths. Return empty list if not found in any of the locations. """ result = [] if dirs is None: dirs = self.get_load_dirs() for d in dirs: f = os.path.join(d, filename) if os.path.isfile(f): result.append(f) return result def load_from_dirs(self, filename, dirs=None, include=[]): """ Load conf file from dirs list. If dirs not specified try all the well known locations. Return False if no file was successfully loaded. """ count = 0 for f in self.find_in_dirs(filename, dirs): if self.load_file(f, include=include): count += 1 return count != 0 def load_backend(self, dirs=None): """ Load the backend configuration files from dirs list. If dirs not specified try all the well known locations. If a <backend>.conf file was found return it's full path name, if not found return None. """ result = None if dirs is None: dirs = self.get_load_dirs() conf = document.backend + '.conf' conf2 = document.backend + '-' + document.doctype + '.conf' # First search for filter backends. for d in [os.path.join(d, 'backends', document.backend) for d in dirs]: if self.load_file(conf, d): result = os.path.join(d, conf) self.load_file(conf2, d) if not result: # Search in the normal locations. for d in dirs: if self.load_file(conf, d): result = os.path.join(d, conf) self.load_file(conf2, d) return result def load_filters(self, dirs=None): """ Load filter configuration files from 'filters' directory in dirs list. If dirs not specified try all the well known locations. Suppress loading if a file named __noautoload__ is in same directory as the conf file unless the filter has been specified with the --filter command-line option (in which case it is loaded unconditionally). """ if dirs is None: dirs = self.get_load_dirs() for d in dirs: # Load filter .conf files. filtersdir = os.path.join(d, 'filters') for dirpath, dirnames, filenames in os.walk(filtersdir): subdirs = dirpath[len(filtersdir):].split(os.path.sep) # True if processing a filter specified by a --filter option. filter_opt = len(subdirs) > 1 and subdirs[1] in self.filters if '__noautoload__' not in filenames or filter_opt: for f in filenames: if re.match(r'^.+\.conf$', f): self.load_file(f, dirpath) def find_config_dir(self, *dirnames): """ Return path of configuration directory. Try all the well known locations. Return None if directory not found. """ for d in [os.path.join(d, *dirnames) for d in self.get_load_dirs()]: if os.path.isdir(d): return d return None def set_theme_attributes(self): theme = document.attributes.get('theme') if theme and 'themedir' not in document.attributes: themedir = self.find_config_dir('themes', theme) if themedir: document.attributes['themedir'] = themedir iconsdir = os.path.join(themedir, 'icons') if 'data-uri' in document.attributes and os.path.isdir(iconsdir): document.attributes['iconsdir'] = iconsdir else: message.warning('missing theme: %s' % theme, linenos=False) def load_miscellaneous(self, d): """Set miscellaneous configuration entries from dictionary 'd'.""" def set_if_int_ge(name, d, min_value): if name in d: try: val = int(d[name]) if not val >= min_value: raise ValueError("not >= " + str(min_value)) setattr(self, name, val) except ValueError: raise EAsciiDoc('illegal [miscellaneous] %s entry' % name) set_if_int_ge('tabsize', d, 0) set_if_int_ge('textwidth', d, 1) # DEPRECATED: Old tables only. if 'pagewidth' in d: try: val = float(d['pagewidth']) self.pagewidth = val except ValueError: raise EAsciiDoc('illegal [miscellaneous] pagewidth entry') if 'pageunits' in d: self.pageunits = d['pageunits'] if 'outfilesuffix' in d: self.outfilesuffix = d['outfilesuffix'] if 'newline' in d: # Convert escape sequences to their character values. self.newline = literal_eval('"' + d['newline'] + '"') if 'subsnormal' in d: self.subsnormal = parse_options(d['subsnormal'], SUBS_OPTIONS, 'illegal [%s] %s: %s' % ('miscellaneous', 'subsnormal', d['subsnormal'])) if 'subsverbatim' in d: self.subsverbatim = parse_options(d['subsverbatim'], SUBS_OPTIONS, 'illegal [%s] %s: %s' % ('miscellaneous', 'subsverbatim', d['subsverbatim'])) def validate(self): """Check the configuration for internal consistency. Called after all configuration files have been loaded.""" message.linenos = False # Disable document line numbers. # Heuristic to validate that at least one configuration file was loaded. if not self.specialchars or not self.tags or not lists: raise EAsciiDoc('incomplete configuration files') # Check special characters are only one character long. for k in list(self.specialchars.keys()): if len(k) != 1: raise EAsciiDoc('[specialcharacters] must be a single character: %s' % k) # Check all special words have a corresponding inline macro body. for macro in list(self.specialwords.values()): if not is_name(macro): raise EAsciiDoc('illegal special word name: %s' % macro) if macro not in self.sections: message.warning('missing special word macro: [%s]' % macro) # Check all text quotes have a corresponding tag. for q in list(self.quotes.keys())[:]: tag = self.quotes[q] if not tag: del self.quotes[q] # Un-define quote. else: if tag[0] == '#': tag = tag[1:] if tag not in self.tags: message.warning('[quotes] %s missing tag definition: %s' % (q, tag)) # Check all specialsections section names exist. for k, v in list(self.specialsections.items()): if not v: del self.specialsections[k] elif v not in self.sections: message.warning('missing specialsections section: [%s]' % v) paragraphs.validate() lists.validate() blocks.validate() tables_OLD.validate() tables.validate() macros.validate() message.linenos = None def entries_section(self, section_name): """ Return True if conf file section contains entries, not a markup template. """ for name in self.ENTRIES_SECTIONS: if re.match(name, section_name): return True return False def dump(self): """Dump configuration to stdout.""" # Header. hdr = '' hdr = hdr + '#' + writer.newline hdr = hdr + '# Generated by AsciiDoc %s for %s %s.%s' % \ (VERSION, document.backend, document.doctype, writer.newline) t = time.asctime(time.localtime(time.time())) hdr = hdr + '# %s%s' % (t, writer.newline) hdr = hdr + '#' + writer.newline sys.stdout.write(hdr) # Dump special sections. # Dump only the configuration file and command-line attributes. # [miscellaneous] entries are dumped as part of the [attributes]. d = {} d.update(self.conf_attrs) d.update(self.cmd_attrs) dump_section('attributes', d) Title.dump() dump_section('quotes', self.quotes) dump_section('specialcharacters', self.specialchars) d = {} for k, v in list(self.specialwords.items()): if v in d: d[v] = '%s "%s"' % (d[v], k) # Append word list. else: d[v] = '"%s"' % k dump_section('specialwords', d) dump_section('replacements', self.replacements) dump_section('replacements2', self.replacements2) dump_section('replacements3', self.replacements3) dump_section('specialsections', self.specialsections) d = {} for k, v in list(self.tags.items()): d[k] = '%s|%s' % v dump_section('tags', d) paragraphs.dump() lists.dump() blocks.dump() tables_OLD.dump() tables.dump() macros.dump() # Dump remaining sections. for k in list(self.sections.keys()): if not self.entries_section(k): sys.stdout.write('[%s]%s' % (k, writer.newline)) for line in self.sections[k]: sys.stdout.write('%s%s' % (line, writer.newline)) sys.stdout.write(writer.newline) def subs_section(self, section, d): """Section attribute substitution using attributes from document.attributes and 'd'. Lines containing undefined attributes are deleted.""" if section in self.sections: return subs_attrs(self.sections[section], d) else: message.warning('missing section: [%s]' % section) return () def parse_tags(self): """Parse [tags] section entries into self.tags dictionary.""" d = {} parse_entries(self.sections.get('tags', ()), d) for k, v in list(d.items()): if v is None: if k in self.tags: del self.tags[k] elif v == '': self.tags[k] = (None, None) else: mo = re.match(r'(?P<stag>.*)\|(?P<etag>.*)', v) if mo: self.tags[k] = (mo.group('stag'), mo.group('etag')) else: raise EAsciiDoc('[tag] %s value malformed' % k) def tag(self, name, d=None): """Returns (starttag,endtag) tuple named name from configuration file [tags] section. Raise error if not found. If a dictionary 'd' is passed then merge with document attributes and perform attribute substitution on tags.""" if name not in self.tags: raise EAsciiDoc('missing tag: %s' % name) stag, etag = self.tags[name] if d is not None: # TODO: Should we warn if substitution drops a tag? if stag: stag = subs_attrs(stag, d) if etag: etag = subs_attrs(etag, d) if stag is None: stag = '' if etag is None: etag = '' return (stag, etag) def parse_specialsections(self): """Parse specialsections section to self.specialsections dictionary.""" # TODO: This is virtually the same as parse_replacements() and should # be factored to single routine. d = {} parse_entries(self.sections.get('specialsections', ()), d, unquote=True) for pat, sectname in list(d.items()): pat = strip_quotes(pat) if not is_re(pat): raise EAsciiDoc('[specialsections] entry is not a valid regular expression: %s' % pat) if sectname is None: if pat in self.specialsections: del self.specialsections[pat] else: self.specialsections[pat] = sectname def parse_replacements(self, sect='replacements'): """Parse replacements section into self.replacements dictionary.""" d = OrderedDict() parse_entries(self.sections.get(sect, ()), d, unquote=True) for pat, rep in list(d.items()): if not self.set_replacement(pat, rep, getattr(self, sect)): raise EAsciiDoc('[%s] entry in %s is not a valid ' 'regular expression: %s' % (sect, self.fname, pat)) @staticmethod def set_replacement(pat, rep, replacements): """Add pattern and replacement to replacements dictionary.""" pat = strip_quotes(pat) if not is_re(pat): return False if rep is None: if pat in replacements: del replacements[pat] else: replacements[pat] = strip_quotes(rep) return True def subs_replacements(self, s, sect='replacements'): """Substitute patterns from self.replacements in 's'.""" result = s for pat, rep in list(getattr(self, sect).items()): result = re.sub(pat, rep, result) return result def parse_specialwords(self): """Parse special words section into self.specialwords dictionary.""" reo = re.compile(r'(?:\s|^)(".+?"|[^"\s]+)(?=\s|$)') for line in self.sections.get('specialwords', ()): e = parse_entry(line) if not e: raise EAsciiDoc('[specialwords] entry in %s is malformed: %s' % (self.fname, line)) name, wordlist = e if not is_name(name): raise EAsciiDoc('[specialwords] name in %s is illegal: %s' % (self.fname, name)) if wordlist is None: # Un-define all words associated with 'name'. for k, v in list(self.specialwords.items()): if v == name: del self.specialwords[k] else: words = reo.findall(wordlist) for word in words: word = strip_quotes(word) if not is_re(word): raise EAsciiDoc('[specialwords] entry in %s ' 'is not a valid regular expression: %s' % (self.fname, word)) self.specialwords[word] = name def subs_specialchars(self, s): """Perform special character substitution on string 's'.""" """It may seem like a good idea to escape special characters with a '\' character, the reason we don't is because the escape character itself then has to be escaped and this makes including code listings problematic. Use the predefined {amp},{lt},{gt} attributes instead.""" result = '' for ch in s: result = result + self.specialchars.get(ch, ch) return result def subs_specialchars_reverse(self, s): """Perform reverse special character substitution on string 's'.""" result = s for k, v in list(self.specialchars.items()): result = result.replace(v, k) return result def subs_specialwords(self, s): """Search for word patterns from self.specialwords in 's' and substitute using corresponding macro.""" result = s for word in list(self.specialwords.keys()): result = re.sub(word, _subs_specialwords, result) return result def expand_templates(self, entries): """Expand any template::[] macros in a list of section entries.""" result = [] for line in entries: mo = macros.match('+', r'template', line) if mo: s = mo.group('attrlist') if s in self.sections: result += self.expand_templates(self.sections[s]) else: message.warning('missing section: [%s]' % s) result.append(line) else: result.append(line) return result def expand_all_templates(self): for k, v in list(self.sections.items()): self.sections[k] = self.expand_templates(v) def section2tags(self, section, d={}, skipstart=False, skipend=False): """Perform attribute substitution on 'section' using document attributes plus 'd' attributes. Return tuple (stag,etag) containing pre and post | placeholder tags. 'skipstart' and 'skipend' are used to suppress substitution.""" assert section is not None if section in self.sections: body = self.sections[section] else: message.warning('missing section: [%s]' % section) body = () # Split macro body into start and end tag lists. stag = [] etag = [] in_stag = True for s in body: if in_stag: mo = re.match(r'(?P<stag>.*)\|(?P<etag>.*)', s) if mo: if mo.group('stag'): stag.append(mo.group('stag')) if mo.group('etag'): etag.append(mo.group('etag')) in_stag = False else: stag.append(s) else: etag.append(s) # Do attribute substitution last so {brkbar} can be used to escape |. # But don't do attribute substitution on title -- we've already done it. title = d.get('title') if title: d['title'] = chr(0) # Replace with unused character. if not skipstart: stag = subs_attrs(stag, d) if not skipend: etag = subs_attrs(etag, d) # Put the {title} back. if title: stag = [x.replace(chr(0), title) for x in stag] etag = [x.replace(chr(0), title) for x in etag] d['title'] = title return (stag, etag) # --------------------------------------------------------------------------- # Deprecated old table classes follow. # Naming convention is an _OLD name suffix. # These will be removed from future versions of AsciiDoc def join_lines_OLD(lines): """Return a list in which lines terminated with the backslash line continuation character are joined.""" result = [] s = '' continuation = False for line in lines: if line and line[-1] == '\\': s = s + line[:-1] continuation = True continue if continuation: result.append(s + line) s = '' continuation = False else: result.append(line) if continuation: result.append(s) return result class Column_OLD: """Table column.""" def __init__(self): self.colalign = None # 'left','right','center' self.rulerwidth = None self.colwidth = None # Output width in page units. class Table_OLD(AbstractBlock): COL_STOP = r"(`|'|\.)" # RE. ALIGNMENTS = {'`': 'left', "'": 'right', '.': 'center'} FORMATS = ('fixed', 'csv', 'dsv') def __init__(self): AbstractBlock.__init__(self) self.CONF_ENTRIES += ('template', 'fillchar', 'format', 'colspec', 'headrow', 'footrow', 'bodyrow', 'headdata', 'footdata', 'bodydata') # Configuration parameters. self.fillchar = None self.format = None # 'fixed','csv','dsv' self.colspec = None self.headrow = None self.footrow = None self.bodyrow = None self.headdata = None self.footdata = None self.bodydata = None # Calculated parameters. self.underline = None # RE matching current table underline. self.isnumeric = False # True if numeric ruler. self.tablewidth = None # Optional table width scale factor. self.columns = [] # List of Columns. # Other. self.check_msg = '' # Message set by previous self.validate() call. def load(self, name, entries): AbstractBlock.load(self, name, entries) """Update table definition from section entries in 'entries'.""" for k, v in list(entries.items()): if k == 'fillchar': if v and len(v) == 1: self.fillchar = v else: raise EAsciiDoc('malformed table fillchar: %s' % v) elif k == 'format': if v in Table_OLD.FORMATS: self.format = v else: raise EAsciiDoc('illegal table format: %s' % v) elif k == 'colspec': self.colspec = v elif k == 'headrow': self.headrow = v elif k == 'footrow': self.footrow = v elif k == 'bodyrow': self.bodyrow = v elif k == 'headdata': self.headdata = v elif k == 'footdata': self.footdata = v elif k == 'bodydata': self.bodydata = v def dump(self): AbstractBlock.dump(self) write = lambda s: sys.stdout.write('%s%s' % (s, writer.newline)) write('fillchar=' + self.fillchar) write('format=' + self.format) if self.colspec: write('colspec=' + self.colspec) if self.headrow: write('headrow=' + self.headrow) if self.footrow: write('footrow=' + self.footrow) write('bodyrow=' + self.bodyrow) if self.headdata: write('headdata=' + self.headdata) if self.footdata: write('footdata=' + self.footdata) write('bodydata=' + self.bodydata) write('') def validate(self): AbstractBlock.validate(self) """Check table definition and set self.check_msg if invalid else set self.check_msg to blank string.""" # Check global table parameters. if config.textwidth is None: self.check_msg = 'missing [miscellaneous] textwidth entry' elif config.pagewidth is None: self.check_msg = 'missing [miscellaneous] pagewidth entry' elif config.pageunits is None: self.check_msg = 'missing [miscellaneous] pageunits entry' elif self.headrow is None: self.check_msg = 'missing headrow entry' elif self.footrow is None: self.check_msg = 'missing footrow entry' elif self.bodyrow is None: self.check_msg = 'missing bodyrow entry' elif self.headdata is None: self.check_msg = 'missing headdata entry' elif self.footdata is None: self.check_msg = 'missing footdata entry' elif self.bodydata is None: self.check_msg = 'missing bodydata entry' else: # No errors. self.check_msg = '' def isnext(self): return AbstractBlock.isnext(self) def parse_ruler(self, ruler): """Parse ruler calculating underline and ruler column widths.""" fc = re.escape(self.fillchar) # Strip and save optional tablewidth from end of ruler. mo = re.match(r'^(.*' + fc + r'+)([\d\.]+)$', ruler) if mo: ruler = mo.group(1) self.tablewidth = float(mo.group(2)) self.attributes['tablewidth'] = str(float(self.tablewidth)) else: self.tablewidth = None self.attributes['tablewidth'] = '100.0' # Guess whether column widths are specified numerically or not. if ruler[1] != self.fillchar: # If the first column does not start with a fillchar then numeric. self.isnumeric = True elif ruler[1:] == self.fillchar * len(ruler[1:]): # The case of one column followed by fillchars is numeric. self.isnumeric = True else: self.isnumeric = False # Underlines must be 3 or more fillchars. self.underline = r'^' + fc + r'{3,}$' splits = re.split(self.COL_STOP, ruler)[1:] # Build self.columns. for i in range(0, len(splits), 2): c = Column_OLD() c.colalign = self.ALIGNMENTS[splits[i]] s = splits[i + 1] if self.isnumeric: # Strip trailing fillchars. s = re.sub(fc + r'+$', '', s) if s == '': c.rulerwidth = None else: try: val = int(s) if not val > 0: raise ValueError('not > 0') c.rulerwidth = val except ValueError: raise EAsciiDoc('malformed ruler: bad width') else: # Calculate column width from inter-fillchar intervals. if not re.match(r'^' + fc + r'+$', s): raise EAsciiDoc('malformed ruler: illegal fillchars') c.rulerwidth = len(s) + 1 self.columns.append(c) # Fill in unspecified ruler widths. if self.isnumeric: if self.columns[0].rulerwidth is None: prevwidth = 1 for c in self.columns: if c.rulerwidth is None: c.rulerwidth = prevwidth prevwidth = c.rulerwidth def build_colspecs(self): """Generate colwidths and colspecs. This can only be done after the table arguments have been parsed since we use the table format.""" self.attributes['cols'] = len(self.columns) # Calculate total ruler width. totalwidth = 0 for c in self.columns: totalwidth = totalwidth + c.rulerwidth if totalwidth <= 0: raise EAsciiDoc('zero width table') # Calculate marked up colwidths from rulerwidths. for c in self.columns: # Convert ruler width to output page width. width = float(c.rulerwidth) if self.format == 'fixed': if self.tablewidth is None: # Size proportional to ruler width. colfraction = width / config.textwidth else: # Size proportional to page width. colfraction = width / totalwidth else: # Size proportional to page width. colfraction = width / totalwidth c.colwidth = colfraction * config.pagewidth # To page units. if self.tablewidth is not None: c.colwidth = c.colwidth * self.tablewidth # Scale factor. if self.tablewidth > 1: c.colwidth = c.colwidth / 100 # tablewidth is in percent. # Build colspecs. if self.colspec: cols = [] i = 0 for c in self.columns: i += 1 self.attributes['colalign'] = c.colalign self.attributes['colwidth'] = str(int(c.colwidth)) self.attributes['colnumber'] = str(i + 1) s = subs_attrs(self.colspec, self.attributes) if not s: message.warning('colspec dropped: contains undefined attribute') else: cols.append(s) self.attributes['colspecs'] = writer.newline.join(cols) def split_rows(self, rows): """Return a two item tuple containing a list of lines up to but not including the next underline (continued lines are joined ) and the tuple of all lines after the underline.""" reo = re.compile(self.underline) i = 0 while not reo.match(rows[i]): i = i + 1 if i == 0: raise EAsciiDoc('missing table rows') if i >= len(rows): raise EAsciiDoc('closing [%s] underline expected' % self.defname) return (join_lines_OLD(rows[:i]), rows[i + 1:]) def parse_rows(self, rows, rtag, dtag): """Parse rows list using the row and data tags. Returns a substituted list of output lines.""" result = [] # Source rows are parsed as single block, rather than line by line, to # allow the CSV reader to handle multi-line rows. if self.format == 'fixed': rows = self.parse_fixed(rows) elif self.format == 'csv': rows = self.parse_csv(rows) elif self.format == 'dsv': rows = self.parse_dsv(rows) else: assert True, 'illegal table format' # Substitute and indent all data in all rows. stag, etag = subs_tag(rtag, self.attributes) for row in rows: result.append(' ' + stag) for data in self.subs_row(row, dtag): result.append(' ' + data) result.append(' ' + etag) return result def subs_row(self, data, dtag): """Substitute the list of source row data elements using the data tag. Returns a substituted list of output table data items.""" result = [] if len(data) < len(self.columns): message.warning('fewer row data items then table columns') if len(data) > len(self.columns): message.warning('more row data items than table columns') for i in range(len(self.columns)): if i > len(data) - 1: d = '' # Fill missing column data with blanks. else: d = data[i] c = self.columns[i] self.attributes['colalign'] = c.colalign self.attributes['colwidth'] = str(int(c.colwidth)) self.attributes['colnumber'] = str(i + 1) stag, etag = subs_tag(dtag, self.attributes) # Insert AsciiDoc line break (' +') where row data has newlines # ('\n'). This is really only useful when the table format is csv # and the output markup is HTML. It's also a bit dubious in that it # assumes the user has not modified the shipped line break pattern. subs = self.get_subs()[0] if 'replacements2' in subs: # Insert line breaks in cell data. d = re.sub(r'(?m)\n', r' +\n', d) d = d.split('\n') # So writer.newline is written. else: d = [d] result = result + [stag] + Lex.subs(d, subs) + [etag] return result def parse_fixed(self, rows): """Parse the list of source table rows. Each row item in the returned list contains a list of cell data elements.""" result = [] for row in rows: data = [] start = 0 for c in self.columns: end = start + c.rulerwidth if c is self.columns[-1]: # Text in last column can continue forever. # Use the encoded string to slice, but convert back # to plain string before further processing data.append(row[start:].strip()) else: data.append(row[start:end].strip()) start = end result.append(data) return result @staticmethod def parse_csv(rows): """Parse the list of source table rows. Each row item in the returned list contains a list of cell data elements.""" result = [] rdr = csv.reader(io.StringIO('\r\n'.join(rows)), skipinitialspace=True) try: for row in rdr: result.append(row) except Exception: raise EAsciiDoc('csv parse error: %s' % row) return result def parse_dsv(self, rows): """Parse the list of source table rows. Each row item in the returned list contains a list of cell data elements.""" separator = self.attributes.get('separator', ':') separator = literal_eval('"' + separator + '"') if len(separator) != 1: raise EAsciiDoc('malformed dsv separator: %s' % separator) # TODO: If separator is preceded by an odd number of backslashes then # it is escaped and should not delimit. result = [] for row in rows: # Skip blank lines if row == '': continue # Un-escape escaped characters. row = literal_eval('"' + row.replace('"', '\\"') + '"') data = row.split(separator) data = [s.strip() for s in data] result.append(data) return result def translate(self): message.deprecated('old tables syntax') AbstractBlock.translate(self) # Reset instance specific properties. self.underline = None self.columns = [] attrs = {} BlockTitle.consume(attrs) # Add relevant globals to table substitutions. attrs['pagewidth'] = str(config.pagewidth) attrs['pageunits'] = config.pageunits # Mix in document attribute list. AttributeList.consume(attrs) # Validate overridable attributes. for k, v in list(attrs.items()): if k == 'format': if v not in self.FORMATS: raise EAsciiDoc('illegal [%s] %s: %s' % (self.defname, k, v)) self.format = v elif k == 'tablewidth': try: self.tablewidth = float(attrs['tablewidth']) except Exception: raise EAsciiDoc('illegal [%s] %s: %s' % (self.defname, k, v)) self.merge_attributes(attrs) # Parse table ruler. ruler = reader.read() assert re.match(self.delimiter, ruler) self.parse_ruler(ruler) # Read the entire table. table = [] while True: line = reader.read_next() # Table terminated by underline followed by a blank line or EOF. if len(table) > 0 and re.match(self.underline, table[-1]): if line in ('', None): break if line is None: raise EAsciiDoc('closing [%s] underline expected' % self.defname) table.append(reader.read()) # EXPERIMENTAL: The number of lines in the table, requested by Benjamin Klum. self.attributes['rows'] = str(len(table)) if self.check_msg: # Skip if table definition was marked invalid. message.warning('skipping [%s] table: %s' % (self.defname, self.check_msg)) return self.push_blockname('table') # Generate colwidths and colspecs. self.build_colspecs() # Generate headrows, footrows, bodyrows. # Headrow, footrow and bodyrow data replaces same named attributes in # the table markup template. In order to ensure this data does not get # a second attribute substitution (which would interfere with any # already substituted inline passthroughs) unique placeholders are used # (the tab character does not appear elsewhere since it is expanded on # input) which are replaced after template attribute substitution. headrows = footrows = [] bodyrows, table = self.split_rows(table) if table: headrows = bodyrows bodyrows, table = self.split_rows(table) if table: footrows, table = self.split_rows(table) if headrows: headrows = self.parse_rows(headrows, self.headrow, self.headdata) headrows = writer.newline.join(headrows) self.attributes['headrows'] = '\x07headrows\x07' if footrows: footrows = self.parse_rows(footrows, self.footrow, self.footdata) footrows = writer.newline.join(footrows) self.attributes['footrows'] = '\x07footrows\x07' bodyrows = self.parse_rows(bodyrows, self.bodyrow, self.bodydata) bodyrows = writer.newline.join(bodyrows) self.attributes['bodyrows'] = '\x07bodyrows\x07' table = subs_attrs(config.sections[self.template], self.attributes) table = writer.newline.join(table) # Before we finish replace the table head, foot and body place holders # with the real data. if headrows: table = table.replace('\x07headrows\x07', headrows, 1) if footrows: table = table.replace('\x07footrows\x07', footrows, 1) table = table.replace('\x07bodyrows\x07', bodyrows, 1) writer.write(table, trace='table') self.pop_blockname() class Tables_OLD(AbstractBlocks): """List of tables.""" BLOCK_TYPE = Table_OLD PREFIX = 'old_tabledef-' def __init__(self): AbstractBlocks.__init__(self) def load(self, sections): AbstractBlocks.load(self, sections) def validate(self): # Does not call AbstractBlocks.validate(). # Check we have a default table definition, for i in range(len(self.blocks)): if self.blocks[i].defname == 'old_tabledef-default': default = self.blocks[i] break else: raise EAsciiDoc('missing section: [OLD_tabledef-default]') # Set default table defaults. if default.format is None: default.subs = 'fixed' # Propagate defaults to unspecified table parameters. for b in self.blocks: if b is not default: if b.fillchar is None: b.fillchar = default.fillchar if b.format is None: b.format = default.format if b.template is None: b.template = default.template if b.colspec is None: b.colspec = default.colspec if b.headrow is None: b.headrow = default.headrow if b.footrow is None: b.footrow = default.footrow if b.bodyrow is None: b.bodyrow = default.bodyrow if b.headdata is None: b.headdata = default.headdata if b.footdata is None: b.footdata = default.footdata if b.bodydata is None: b.bodydata = default.bodydata # Check all tables have valid fill character. for b in self.blocks: if not b.fillchar or len(b.fillchar) != 1: raise EAsciiDoc('[%s] missing or illegal fillchar' % b.defname) # Build combined tables delimiter patterns and assign defaults. delimiters = [] for b in self.blocks: # Ruler is: # (ColStop,(ColWidth,FillChar+)?)+, FillChar+, TableWidth? b.delimiter = r'^(' + Table_OLD.COL_STOP \ + r'(\d*|' + re.escape(b.fillchar) + r'*)' \ + r')+' \ + re.escape(b.fillchar) + r'+' \ + '([\d\.]*)$' delimiters.append(b.delimiter) if not b.headrow: b.headrow = b.bodyrow if not b.footrow: b.footrow = b.bodyrow if not b.headdata: b.headdata = b.bodydata if not b.footdata: b.footdata = b.bodydata self.delimiters = re_join(delimiters) # Check table definitions are valid. for b in self.blocks: b.validate() if config.verbose: if b.check_msg: message.warning('[%s] table definition: %s' % (b.defname, b.check_msg)) # End of deprecated old table classes. # --------------------------------------------------------------------------- # --------------------------------------------------------------------------- # filter and theme plugin commands. # --------------------------------------------------------------------------- def die(msg): message.stderr(msg) sys.exit(1) def extract_zip(zip_file, destdir): """ Unzip Zip file to destination directory. Throws exception if error occurs. """ zipo = zipfile.ZipFile(zip_file, 'r') try: for zi in zipo.infolist(): outfile = zi.filename if not outfile.endswith('/'): d, outfile = os.path.split(outfile) directory = os.path.normpath(os.path.join(destdir, d)) if not os.path.isdir(directory): os.makedirs(directory) outfile = os.path.join(directory, outfile) perms = (zi.external_attr >> 16) & 0o777 message.verbose('extracting: %s' % outfile) flags = os.O_CREAT | os.O_WRONLY if sys.platform == 'win32': flags |= os.O_BINARY if perms == 0: # Zip files created under Windows do not include permissions. fh = os.open(outfile, flags) else: fh = os.open(outfile, flags, perms) try: os.write(fh, zipo.read(zi.filename)) finally: os.close(fh) finally: zipo.close() def create_zip(zip_file, src, skip_hidden=False): """ Create Zip file. If src is a directory archive all contained files and subdirectories, if src is a file archive the src file. Files and directories names starting with . are skipped if skip_hidden is True. Throws exception if error occurs. """ zipo = zipfile.ZipFile(zip_file, 'w') try: if os.path.isfile(src): arcname = os.path.basename(src) message.verbose('archiving: %s' % arcname) zipo.write(src, arcname, zipfile.ZIP_DEFLATED) elif os.path.isdir(src): srcdir = os.path.abspath(src) if srcdir[-1] != os.path.sep: srcdir += os.path.sep for root, dirs, files in os.walk(srcdir): arcroot = os.path.abspath(root)[len(srcdir):] if skip_hidden: for d in dirs[:]: if d.startswith('.'): message.verbose('skipping: %s' % os.path.join(arcroot, d)) del dirs[dirs.index(d)] for f in files: filename = os.path.join(root, f) arcname = os.path.join(arcroot, f) if skip_hidden and f.startswith('.'): message.verbose('skipping: %s' % arcname) continue message.verbose('archiving: %s' % arcname) zipo.write(filename, arcname, zipfile.ZIP_DEFLATED) else: raise ValueError('src must specify directory or file: %s' % src) finally: zipo.close() class Plugin: """ --filter and --theme option commands. """ CMDS = ('install', 'remove', 'list', 'build') type = None # 'backend', 'filter' or 'theme'. @staticmethod def get_dir(): """ Return plugins path (.asciidoc/filters or .asciidoc/themes) in user's home directory or None if user home not defined. """ result = userdir() if result: result = os.path.join(result, '.asciidoc', Plugin.type + 's') return result @staticmethod def install(args): """ Install plugin Zip file. args[0] is plugin zip file path. args[1] is optional destination plugins directory. """ if len(args) not in (1, 2): die('invalid number of arguments: --%s install %s' % (Plugin.type, ' '.join(args))) zip_file = args[0] if not os.path.isfile(zip_file): die('file not found: %s' % zip_file) reo = re.match(r'^\w+', os.path.split(zip_file)[1]) if not reo: die('file name does not start with legal %s name: %s' % (Plugin.type, zip_file)) plugin_name = reo.group() if len(args) == 2: plugins_dir = args[1] if not os.path.isdir(plugins_dir): die('directory not found: %s' % plugins_dir) else: plugins_dir = Plugin.get_dir() if not plugins_dir: die('user home directory is not defined') plugin_dir = os.path.join(plugins_dir, plugin_name) if os.path.exists(plugin_dir): die('%s is already installed: %s' % (Plugin.type, plugin_dir)) try: os.makedirs(plugin_dir) except Exception as e: die('failed to create %s directory: %s' % (Plugin.type, str(e))) try: extract_zip(zip_file, plugin_dir) except Exception as e: if os.path.isdir(plugin_dir): shutil.rmtree(plugin_dir) die('failed to extract %s: %s' % (Plugin.type, str(e))) @staticmethod def remove(args): """ Delete plugin directory. args[0] is plugin name. args[1] is optional plugin directory (defaults to ~/.asciidoc/<plugin_name>). """ if len(args) not in (1, 2): die('invalid number of arguments: --%s remove %s' % (Plugin.type, ' '.join(args))) plugin_name = args[0] if not re.match(r'^\w+$', plugin_name): die('illegal %s name: %s' % (Plugin.type, plugin_name)) if len(args) == 2: d = args[1] if not os.path.isdir(d): die('directory not found: %s' % d) else: d = Plugin.get_dir() if not d: die('user directory is not defined') plugin_dir = os.path.join(d, plugin_name) if not os.path.isdir(plugin_dir): die('cannot find %s: %s' % (Plugin.type, plugin_dir)) try: message.verbose('removing: %s' % plugin_dir) shutil.rmtree(plugin_dir) except Exception as e: die('failed to delete %s: %s' % (Plugin.type, str(e))) @staticmethod def list(args): """ List all plugin directories (global and local). """ for d in [os.path.join(d, Plugin.type + 's') for d in config.get_load_dirs()]: if os.path.isdir(d): for f in os.walk(d).next()[1]: message.stdout(os.path.join(d, f)) @staticmethod def build(args): """ Create plugin Zip file. args[0] is Zip file name. args[1] is plugin directory. """ if len(args) != 2: die('invalid number of arguments: --%s build %s' % (Plugin.type, ' '.join(args))) zip_file = args[0] plugin_source = args[1] if not (os.path.isdir(plugin_source) or os.path.isfile(plugin_source)): die('plugin source not found: %s' % plugin_source) try: create_zip(zip_file, plugin_source, skip_hidden=True) except Exception as e: die('failed to create %s: %s' % (zip_file, str(e))) # --------------------------------------------------------------------------- # Application code. # --------------------------------------------------------------------------- # Constants # --------- APP_FILE = None # This file's full path. APP_DIR = None # This file's directory. USER_DIR = None # ~/.asciidoc # Global configuration files directory (set by Makefile build target). CONF_DIR = '/etc/asciidoc' HELP_FILE = 'help.conf' # Default (English) help file. # Globals # ------- document = Document() # The document being processed. config = Config() # Configuration file reader. reader = Reader() # Input stream line reader. writer = Writer() # Output stream line writer. message = Message() # Message functions. paragraphs = Paragraphs() # Paragraph definitions. lists = Lists() # List definitions. blocks = DelimitedBlocks() # DelimitedBlock definitions. tables_OLD = Tables_OLD() # Table_OLD definitions. tables = Tables() # Table definitions. macros = Macros() # Macro definitions. calloutmap = CalloutMap() # Coordinates callouts and callout list. trace = Trace() # Implements trace attribute processing. # Used by asciidocapi.py # # List of message strings written to stderr. messages = message.messages def asciidoc(backend, doctype, confiles, infile, outfile, options): """Convert AsciiDoc document to DocBook document of type doctype The AsciiDoc document is read from file object src the translated DocBook file written to file object dst.""" def load_conffiles(include=[], exclude=[]): # Load conf files specified on the command-line and by the conf-files attribute. files = document.attributes.get('conf-files', '') files = [f.strip() for f in files.split('|') if f.strip()] files += confiles if files: for f in files: if os.path.isfile(f): config.load_file(f, include=include, exclude=exclude) else: raise EAsciiDoc('missing configuration file: %s' % f) try: document.attributes['python'] = sys.executable for f in config.filters: if not config.find_config_dir('filters', f): raise EAsciiDoc('missing filter: %s' % f) if doctype not in (None, 'article', 'manpage', 'book'): raise EAsciiDoc('illegal document type') # Set processing options. for o in options: if o == '-c': config.dumping = True if o == '-s': config.header_footer = False if o == '-v': config.verbose = True document.update_attributes() if '-e' not in options: # Load asciidoc.conf files in two passes: the first for attributes # the second for everything. This is so that locally set attributes # available are in the global asciidoc.conf if not config.load_from_dirs('asciidoc.conf', include=['attributes']): raise EAsciiDoc('configuration file asciidoc.conf missing') load_conffiles(include=['attributes']) config.load_from_dirs('asciidoc.conf') if infile != '<stdin>': indir = os.path.dirname(infile) config.load_file('asciidoc.conf', indir, include=['attributes', 'titles', 'specialchars']) else: load_conffiles(include=['attributes', 'titles', 'specialchars']) document.update_attributes() # Check the infile exists. if infile != '<stdin>': if not os.path.isfile(infile): raise EAsciiDoc('input file %s missing' % infile) document.infile = infile AttributeList.initialize() # Open input file and parse document header. reader.tabsize = config.tabsize reader.open(infile) has_header = document.parse_header(doctype, backend) # doctype is now finalized. document.attributes['doctype-' + document.doctype] = '' config.set_theme_attributes() # Load backend configuration files. if '-e' not in options: f = document.backend + '.conf' conffile = config.load_backend() if not conffile: raise EAsciiDoc('missing backend conf file: %s' % f) document.attributes['backend-confdir'] = os.path.dirname(conffile) # backend is now known. document.attributes['backend-' + document.backend] = '' document.attributes[document.backend + '-' + document.doctype] = '' doc_conffiles = [] if '-e' not in options: # Load filters and language file. config.load_filters() document.load_lang() if infile != '<stdin>': # Load local conf files (files in the source file directory). config.load_file('asciidoc.conf', indir) config.load_backend([indir]) config.load_filters([indir]) # Load document specific configuration files. f = os.path.splitext(infile)[0] doc_conffiles = [ f for f in (f + '.conf', f + '-' + document.backend + '.conf') if os.path.isfile(f) ] for f in doc_conffiles: config.load_file(f) load_conffiles() # Build asciidoc-args attribute. args = '' # Add custom conf file arguments. for f in doc_conffiles + confiles: args += ' --conf-file "%s"' % f # Add command-line and header attributes. attrs = {} attrs.update(AttributeEntry.attributes) attrs.update(config.cmd_attrs) if 'title' in attrs: # Don't pass the header title. del attrs['title'] for k, v in list(attrs.items()): if v: args += ' --attribute "%s=%s"' % (k, v) else: args += ' --attribute "%s"' % k document.attributes['asciidoc-args'] = args # Build outfile name. if outfile is None: outfile = os.path.splitext(infile)[0] + '.' + document.backend if config.outfilesuffix: # Change file extension. outfile = os.path.splitext(outfile)[0] + config.outfilesuffix document.outfile = outfile # Document header attributes override conf file attributes. document.attributes.update(AttributeEntry.attributes) document.update_attributes() # Set the default embedded icons directory. if 'data-uri' in document.attributes and not os.path.isdir(document.attributes['iconsdir']): document.attributes['iconsdir'] = os.path.join(document.attributes['asciidoc-confdir'], 'images/icons') # Configuration is fully loaded. config.expand_all_templates() # Check configuration for consistency. config.validate() # Initialize top level block name. if document.attributes.get('blockname'): AbstractBlock.blocknames.append(document.attributes['blockname']) paragraphs.initialize() lists.initialize() if config.dumping: config.dump() else: writer.newline = config.newline try: writer.open(outfile, reader.bom) try: document.translate(has_header) # Generate the output. finally: writer.close() finally: reader.closefile() except KeyboardInterrupt: raise except Exception as e: # Cleanup. if outfile and outfile != '<stdout>' and os.path.isfile(outfile): os.unlink(outfile) # Build and print error description. msg = 'FAILED: ' if reader.cursor: msg = message.format('', msg) if isinstance(e, EAsciiDoc): message.stderr('%s%s' % (msg, str(e))) else: if __name__ == '__main__': message.stderr(msg + 'unexpected error:') message.stderr('-' * 60) traceback.print_exc(file=sys.stderr) message.stderr('-' * 60) else: message.stderr('%sunexpected error: %s' % (msg, str(e))) sys.exit(1) def usage(msg=''): if msg: message.stderr(msg) show_help('default', sys.stderr) def show_help(topic, f=None): """Print help topic to file object f.""" if f is None: f = sys.stdout # Select help file. lang = config.cmd_attrs.get('lang') if lang and lang != 'en': help_file = 'help-' + lang + '.conf' else: help_file = HELP_FILE # Print [topic] section from help file. config.load_from_dirs(help_file) if len(config.sections) == 0: # Default to English if specified language help files not found. help_file = HELP_FILE config.load_from_dirs(help_file) if len(config.sections) == 0: message.stderr('no help topics found') sys.exit(1) n = 0 for k in config.sections: if re.match(re.escape(topic), k): n += 1 lines = config.sections[k] if n == 0: if topic != 'topics': message.stderr('help topic not found: [%s] in %s' % (topic, help_file)) message.stderr('available help topics: %s' % ', '.join(list(config.sections.keys()))) sys.exit(1) elif n > 1: message.stderr('ambiguous help topic: %s' % topic) else: for line in lines: print(line, file=f) # Used by asciidocapi.py # def execute(cmd, opts, args): """ Execute asciidoc with command-line options and arguments. cmd is asciidoc command or asciidoc.py path. opts and args conform to values returned by getopt.getopt(). Raises SystemExit if an error occurs. Doctests: 1. Check execution: >>> infile = io.StringIO('Hello *{author}*') >>> outfile = io.StringIO() >>> opts = [] >>> opts.append(('--backend','html4')) >>> opts.append(('--no-header-footer',None)) >>> opts.append(('--attribute','author=Joe Bloggs')) >>> opts.append(('--out-file',outfile)) >>> execute(__file__, opts, [infile]) >>> print(outfile.getvalue()) <p>Hello <strong>Joe Bloggs</strong></p> >>> """ config.init(cmd) if len(args) > 1: usage('Too many arguments') sys.exit(1) backend = None doctype = None confiles = [] outfile = None options = [] help_option = False for o, v in opts: if o in ('--help', '-h'): help_option = True # DEPRECATED: --unsafe option. if o == '--unsafe': document.safe = False if o == '--safe': document.safe = True if o == '--version': print(('asciidoc %s' % VERSION)) sys.exit(0) if o in ('-b', '--backend'): backend = v if o in ('-c', '--dump-conf'): options.append('-c') if o in ('-d', '--doctype'): doctype = v if o in ('-e', '--no-conf'): options.append('-e') if o in ('-f', '--conf-file'): confiles.append(v) if o == '--filter': config.filters.append(v) if o in ('-n', '--section-numbers'): o = '-a' v = 'numbered' if o == '--theme': o = '-a' v = 'theme=' + v if o in ('-a', '--attribute'): e = parse_entry(v, allow_name_only=True) if not e: usage('Illegal -a option: %s' % v) sys.exit(1) k, v = e # A @ suffix denotes don't override existing document attributes. if v and v[-1] == '@': document.attributes[k] = v[:-1] else: config.cmd_attrs[k] = v if o in ('-o', '--out-file'): outfile = v if o in ('-s', '--no-header-footer'): options.append('-s') if o in ('-v', '--verbose'): options.append('-v') if help_option: if len(args) == 0: show_help('default') else: show_help(args[-1]) sys.exit(0) if len(args) == 0 and len(opts) == 0: usage() sys.exit(0) if len(args) == 0: usage('No source file specified') sys.exit(1) stdin, stdout = sys.stdin, sys.stdout try: infile = args[0] if infile == '-': infile = '<stdin>' elif isinstance(infile, str): infile = os.path.abspath(infile) else: # Input file is file object from API call. sys.stdin = infile infile = '<stdin>' if outfile == '-': outfile = '<stdout>' elif isinstance(outfile, str): outfile = os.path.abspath(outfile) elif outfile is None: if infile == '<stdin>': outfile = '<stdout>' else: # Output file is file object from API call. sys.stdout = outfile outfile = '<stdout>' # Do the work. asciidoc(backend, doctype, confiles, infile, outfile, options) if document.has_errors: sys.exit(1) finally: sys.stdin, sys.stdout = stdin, stdout if __name__ == '__main__': # Process command line options. try: # DEPRECATED: --unsafe option. opts, args = getopt.getopt(sys.argv[1:], 'a:b:cd:ef:hno:svw:', ['attribute=', 'backend=', 'conf-file=', 'doctype=', 'dump-conf', 'help', 'no-conf', 'no-header-footer', 'out-file=', 'section-numbers', 'verbose', 'version', 'safe', 'unsafe', 'doctest', 'filter=', 'theme=']) except getopt.GetoptError: message.stderr('illegal command options') sys.exit(1) opt_names = [opt[0] for opt in opts] if '--doctest' in opt_names: # Run module doctests. import doctest options = doctest.NORMALIZE_WHITESPACE + doctest.ELLIPSIS failures, tries = doctest.testmod(optionflags=options) if failures == 0: message.stderr('All doctests passed') sys.exit(0) else: sys.exit(1) # Look for plugin management commands. count = 0 for o, v in opts: if o in ('-b', '--backend', '--filter', '--theme'): if o == '-b': o = '--backend' plugin = o[2:] cmd = v if cmd not in Plugin.CMDS: continue count += 1 if count > 1: die('--backend, --filter and --theme options are mutually exclusive') if count == 1: # Execute plugin management commands. if not cmd: die('missing --%s command' % plugin) if cmd not in Plugin.CMDS: die('illegal --%s command: %s' % (plugin, cmd)) Plugin.type = plugin config.init(sys.argv[0]) config.verbose = bool(set(['-v', '--verbose']) & set(opt_names)) getattr(Plugin, cmd)(args) else: # Execute asciidoc. try: execute(sys.argv[0], opts, args) except KeyboardInterrupt: sys.exit(1) ��������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/lang-sv.conf������������������������������������������������������������������0000644�0001750�0001750�00000002274�13570064211�016201� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# # AsciiDoc Swedish language configuration file. # [attributes] # Captions, used by (X)HTML backends. # Captions on RHS are displayed in outputs. ifdef::basebackend-html[] caution-caption=Varning important-caption=Viktigt note-caption=Not tip-caption=Tips warning-caption=Varning figure-caption=Figur table-caption=Tabell example-caption=Exempel toc-title=Innehållsförteckning appendix-caption=Appendix # Man page NAME section title. manname-title=NAMN [footer-text] Version {revnumber}{basebackend-xhtml11?<br />}{basebackend-xhtml11=<br>} Senast uppdaterad template::[footer-date] endif::basebackend-html[] [specialsections] # DocBook special sections. # The regular expression on LHS is matched against source titles. ifdef::basebackend-docbook[] ifdef::doctype-article[] ^Sammanfattning$=abstract endif::doctype-article[] ifdef::doctype-book[] ^Kolofon$=colophon ^Dedikation$=dedication ^Förord$=preface endif::doctype-book[] ^Index|Sakregister$=index ^(Litteraturförteckning|Referenser)$=bibliography ^Ordlista|Ordförteckning$=glossary ^Appendix [A-Z][:.](?P<title>.*)$=appendix endif::basebackend-docbook[] ifdef::doctype-manpage[] (?i)^SYNOPS|ÖVERSIKT$=synopsis endif::doctype-manpage[] ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������asciidoc-py3-9.0.0rc1/docbook45.conf����������������������������������������������������������������0000644�0001750�0001750�00000055774�13570064211�016440� 0����������������������������������������������������������������������������������������������������ustar �joseph��������������������������joseph�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# # docbook45.conf # # Asciidoc DocBook 4.5 configuration file. # [miscellaneous] outfilesuffix=.xml # Printable page width and units. # Used to calculate DocBook CALS tables absolute column and table widths. pagewidth=425 pageunits=* [attributes] basebackend=docbook basebackend-docbook= basebackend-docbook45= # For backward compatibility (docbook backend was renamed to docbook45 at 8.6.2) backend-docbook= # toc and numbered are set to maintain original default behavior. toc= numbered= [replacements2] # Line break markup. Custom processing instruction in fo.xsl. (?m)^(.*)\s\+$=\1<?asciidoc-br?> [replacements] ifdef::asciidoc7compatible[] # Superscripts. \^(.+?)\^=<superscript>\1</superscript> # Subscripts. ~(.+?)~=<subscript>\1</subscript> endif::asciidoc7compatible[] [ruler-blockmacro] # Uses custom processing instructions in fo.xsl and asciidoc-dblatex.xsl. <simpara><?asciidoc-hr?></simpara> [pagebreak-blockmacro] # Uses custom processing instructions in fo.xsl and asciidoc-dblatex.xsl. <simpara><?asciidoc-pagebreak?></simpara> [blockdef-pass] latexmath-style=template="latexmathblock",subs=(),posattrs=(),filter="unwraplatex.py" [macros] # math macros. (?s)[\\]?(?P<name>latexmath):(?P<subslist>\S*?)\[(?:\$\s*)?(?P<passtext>.*?)(?:\s*\$)?(?<!\\)\]=[] ^(?P<name>latexmath)::(?P<subslist>\S*?)(\[(?:\\\[\s*)?(?P<passtext>.*?)(?:\s*\\\])?\])$=#[] [latexmath-inlinemacro] <inlineequation> <alt><![CDATA[${passtext}$]]></alt> <inlinemediaobject><textobject><phrase></phrase></textobject></inlinemediaobject> </inlineequation> [latexmath-blockmacro] <informalequation> <alt><![CDATA[{backslash}[{passtext}{backslash}]]]></alt> <mediaobject><textobject><phrase></phrase></textobject></mediaobject> </informalequation> [latexmathblock] <equation{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}><title>{title} {title%} {title#} {title%} [image-inlinemacro] {alt={target}} [image-blockmacro] {title} {title%}{pgwide-option?} # DocBook XSL Stylesheets custom processing instructions. {alt={target}} {title#} {title%} [indexterm-inlinemacro] # Index term. # Generate separate index entries for primary, secondary and tertiary # descriptions. # Primary only. {2%} {2%} {1} {2%} # Primary and secondary. {2#}{3%} {2#}{3%} {1}{2} {2#}{3%} {2#}{3%} {2#}{3%} {2} {2#}{3%} # Primary, secondary and tertiary. {3#} {1}{2}{3} {3#} {3#} {2}{3} {3#} {3#} {3} {3#} [indexterm2-inlinemacro] # Index term. # Single entry index term that is visible in the primary text flow. {1}{1} [footnote-inlinemacro] # Footnote. {0} [footnoteref-inlinemacro] # Footnote reference. {2#}{2} {2%} [callout-inlinemacro] # Callout. # List tags. [listtags-bulleted] list={unbreakable-option? }{title?{title}}| item=| text=| [listtags-numbered] list={unbreakable-option? }{title?{title}}{start?}| item=| text=| [listtags-labeled] list={title?{title}}| entry=| label= term=| item=| text=| [listtags-horizontal] # Horizontal labeled list (implemented with two column table). # Hardwired column widths to 30%,70% because the current crop of PDF # generators do not auto calculate column widths. list=<{title?table}{title!informaltable}{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}{style? tabstyle="{style}"}{pgwide-option? pgwide="1"} frame="none" colsep="0" rowsep="0">{title?{title}}|<{title?/table}{title!/informaltable}> entry=| label=| term=| item=| text=| [listtags-callout] list={title?{title}}| item=| text=| [listtags-qanda] list={title?{title}}| entry=| label=| term=| item=| text=| [listtags-bibliography] list={title?{title}}| item=| text=| [listtags-glossary] list= entry=| label= term=| item=| text=| [tags] # Quoted text emphasis={1?}|{1?} strong={1?}|{1?} monospaced={1?}|{1?} singlequoted={lsquo}{1?}|{1?}{rsquo} doublequoted={ldquo}{1?}|{1?}{rdquo} unquoted={1?}|{1?} subscript={1?}|{1?} superscript={1?}|{1?} ifdef::deprecated-quotes[] # Override with deprecated quote attributes. emphasis={role?}|{role?} strong={role?}|{role?} monospaced={role?}|{role?} singlequoted={role?}{amp}#8216;|{amp}#8217;{role?} doublequoted={role?}{amp}#8220;|{amp}#8221;{role?} unquoted={role?}|{role?} subscript={role?}|{role?} superscript={role?}|{role?} endif::deprecated-quotes[] # Inline macros [http-inlinemacro] {0={name}:{target}} [https-inlinemacro] {0={name}:{target}} [ftp-inlinemacro] {0={name}:{target}} [file-inlinemacro] {0={name}:{target}} [irc-inlinemacro] {0={name}:{target}} [mailto-inlinemacro] {0={target}} [callto-inlinemacro] {0={target}} [link-inlinemacro] {0={target}} # anchor:id[text] [anchor-inlinemacro] # [[id,text]] [anchor2-inlinemacro] # [[[id]]] [anchor3-inlinemacro] [{1}] # xref:id[text] [xref-inlinemacro] {0} {0%} # <> [xref2-inlinemacro] {2} {2%} # // comment line [comment-inlinemacro] {showcomments#}{passtext} [comment-blockmacro] {showcomments#}{passtext} [literal-inlinemacro] # Inline literal. {passtext} # Special word macros [emphasizedwords] {words} [monospacedwords] {words} [strongwords] {words} # Paragraph substitution. [paragraph] {title} {title%} | {title%} {title#} {empty} [admonitionparagraph] <{name}{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}>| # Delimited blocks. [literalblock] {title} {title#} {title%} | {title#} [listingblock] {title} {title#} {title%} | {title#} [sidebarblock-open] {title} [sidebarblock-close] [sidebarblock] template::[sidebarblock-open] | template::[sidebarblock-close] [sidebarparagraph] template::[sidebarblock-open] | template::[sidebarblock-close] [abstractblock-open] {title} [abstractblock-close] [abstractblock] template::[abstractblock-open] | template::[abstractblock-close] [abstractparagraph] template::[abstractblock-open] | template::[abstractblock-close] [openblock] | [partintroblock-open] {title} [partintroblock-close] [partintroblock] template::[partintroblock-open] | template::[partintroblock-close] [partintroparagraph] template::[partintroblock-open] | template::[partintroblock-close] [quote-open] # Common quote and verse element template. {title} # Include attribution only if either {attribution} or {citetitle} is defined. {attribution#} {attribution%}{citetitle#} {attribution} {citetitle} {attribution#} {attribution%}{citetitle#} [quote-close] [quoteblock] template::[quote-open] | template::[quote-close] [verseblock] template::[quote-open] | template::[quote-close] [quoteparagraph] template::[quote-open] | template::[quote-close] [exampleblock-open] <{title?example}{title!informalexample}{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}> # DocBook XSL Stylesheets custom processing instructions. {title} [exampleblock-close] [exampleblock] template::[exampleblock-open] | template::[exampleblock-close] [exampleparagraph] template::[exampleblock-open] | template::[exampleblock-close] [admonitionblock] <{name}{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}> {title} | # Tables. [tabletags-default] colspec= bodyrow=| headdata=| bodydata=| paragraph=| [tabletags-emphasis] paragraph=| [tabletags-header] paragraph=| [tabletags-strong] paragraph=| [tabletags-monospaced] paragraph=| [tabletags-verse] bodydata=| paragraph= [tabletags-literal] bodydata=| paragraph= [tabletags-asciidoc] paragraph= [table] <{title?table}{title!informaltable}{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}{pgwide-option? pgwide="1"} frame="{frame=all}" {grid%rowsep="1" colsep="1"} rowsep="{grid@none|cols:0:1}" colsep="{grid@none|rows:0:1}" > {title} # DocBook XSL Stylesheets custom processing instructions. {colspecs} {headrows#} {headrows} {headrows#} {footrows#} {footrows} {footrows#} {bodyrows} #-------------------------------------------------------------------- # Deprecated old table definitions. # [old_tabledef-default] template=old_table colspec= bodyrow=| bodydata=| [old_table] <{title?table}{title!informaltable}{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"} pgwide="0" frame="{frame=topbot}" {grid%rowsep="0" colsep="0"} rowsep="{grid@none|cols:0:1}" colsep="{grid@none|rows:0:1}" > {title} {colspecs} {headrows#} {headrows} {headrows#} {footrows#} {footrows} {footrows#} {bodyrows} # End of deprecated old table definitions. #-------------------------------------------------------------------- # Special sections. [preface] {title=} | [index] {title} | [bibliography] {title} | [glossary] {title} | [appendix] {title} | [floatingtitle] {title} [header-declarations] {toc#} {numbered#} [+docinfo] {notitle%} {doctitle} {revdate} # To ensure valid articleinfo/bookinfo when there is no AsciiDoc header. {doctitle%}{revdate%}{docdate} {authored#} {firstname} {middlename} {lastname} {email} {authored#} {authorinitials} {revnumber?{revnumber}}{revdate}{authorinitials?{authorinitials}}{revremark?{revremark}} {docinfo1,docinfo2#}{include:{docdir}/docinfo.xml} {docinfo,docinfo2#}{include:{docdir}/{docname}-docinfo.xml} # DEPRECATED: Use docinfo. {revisionhistory#}{include:{docdir}/{docname}-revhistory.xml} # DEPRECATED: Use orgname in preference to companyname. {companyname} # DEPRECATED: Use orgname in preference to corpname. {corpname} {orgname} #------------------------- # article document type #------------------------- ifdef::doctype-article[] [header] template::[header-declarations]
template::[docinfo] [footer]
[preamble] # Untitled elements between header and first section title. | [abstract] | [sect1] {title} | [sect2] {title} | [sect3] {title} | [sect4] {title} | endif::doctype-article[] #------------------------- # manpage document type #------------------------- ifdef::doctype-manpage[] [replacements] # The roff format does not substitute special characters so just print them as # text. \(C\)=(C) \(TM\)=(TM) [header] template::[header-declarations] template::[docinfo] {mantitle} {manvolnum} # Default source and manual to suppress DocBook XSL warnings. {mansource= } {manmanual= } {manversion={revnumber}} {manname1} {manname2} {manname3} {manname4} {manname5} {manname6} {manname7} {manname8} {manname9} {manpurpose} [footer] # Section macros [synopsis] | [sect1] {title} | [sect2] {title} | [sect3] {title} | endif::doctype-manpage[] #------------------------- # book document type #------------------------- ifdef::doctype-book[] [header] template::[header-declarations] template::[docinfo] [footer] [preamble] # Preamble is not allowed in DocBook book so wrap it in a preface. {title=} | [dedication] {title} | [colophon] {title} | [sect0] {title} | [sect1] {title} | [sect2] {title} | [sect3] {title} | [sect4] {title} | endif::doctype-book[] ifdef::sgml[] # # Optional DocBook SGML. # # Most of the differences between DocBook XML and DocBook SGML boils # down to the empty element syntax: SGML does not like the XML empty # element <.../> syntax, use <...> instead. # [miscellaneous] outfilesuffix=.sgml [header-declarations] [tabledef-default] colspec= [image-inlinemacro] {alt={target}} [image-blockmacro]
{title} {title%} {alt={target}} {title#}
{title%} # Inline macros [xref-inlinemacro] {0} {2%} [xref2-inlinemacro] # <> {2} {2%} [anchor-inlinemacro] [anchor2-inlinemacro] # [[id,text]] endif::sgml[] asciidoc-py3-9.0.0rc1/lang-it.conf0000644000175000017500000000231613570064211016162 0ustar josephjoseph# # AsciiDoc Italian language configuration file. # [attributes] #TODO: Left and right single and double quote characters. # Captions, used by (X)HTML backends. # Captions on RHS are displayed in outputs. ifdef::basebackend-html[] caution-caption=Attenzione important-caption=Importante note-caption=Nota tip-caption=Suggerimento warning-caption=Avvertenza figure-caption=Figura table-caption=Tabella example-caption=Esempio toc-title=Indice appendix-caption=Appendice # Man page NAME section title. manname-title=NOME [footer-text] Versione {revnumber}{basebackend-xhtml11?
}{basebackend-xhtml11=
} Ultimo aggiornamento template::[footer-date] endif::basebackend-html[] [specialsections] # DocBook special sections. # The regular expression on LHS is matched against source titles. ifdef::basebackend-docbook[] ifdef::doctype-article[] ^Abstract$=abstract endif::doctype-article[] ifdef::doctype-book[] ^Colofone$=colophon ^Dedica$=dedication ^Prefazione$=preface endif::doctype-book[] ^Index$=index ^(Bibliografia|Riferimenti)$=bibliography ^Glossario$=glossary ^Appendice [A-Z][:.](?P.*)$=appendix endif::basebackend-docbook[] ifdef::doctype-manpage[] (?i)^SINOSSI$=synopsis endif::doctype-manpage[] ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������