diff options
| author | Ben McGinnes <[email protected]> | 2018-05-15 03:13:16 +0000 | 
|---|---|---|
| committer | Ben McGinnes <[email protected]> | 2018-05-15 03:13:16 +0000 | 
| commit | f0063afa71bc7e71f19d174acc2fde26f0c11850 (patch) | |
| tree | a23a33ef70f13747642a8c96e7128e41b5f7ce58 /lang/python/docs/dita/howto/part01 | |
| parent | json: Improve auto-base64 encoding to not split UTF-8 chars. (diff) | |
| download | gpgme-f0063afa71bc7e71f19d174acc2fde26f0c11850.tar.gz gpgme-f0063afa71bc7e71f19d174acc2fde26f0c11850.zip | |
docs: python bindings HOWTO - DITA XML version
* Due to the org-babel bug which breaks Python source code examples
  beyond the most simple snippets, ported the HOWTO to a source format
  which I *know* for sure won't break it.
* Details of the org-mode bug is in https://dev.gnupg.org/T3977
* DITA project uses DITA-OT 2.x (2.4 or 2.5, IIRC) with support for DITA 1.3.
* source files were written with oXygenXML Editor 20.0, hence the
  oXygenXML project file in the directory; however only the .ditamap
  and .dita files are required to generate any output with the
  DITA-OT.
Signed-off-by: Ben McGinnes <[email protected]>
Diffstat (limited to '')
4 files changed, 71 insertions, 0 deletions
| diff --git a/lang/python/docs/dita/howto/part01/docs-source.dita b/lang/python/docs/dita/howto/part01/docs-source.dita new file mode 100644 index 00000000..f0a8affa --- /dev/null +++ b/lang/python/docs/dita/howto/part01/docs-source.dita @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE dita PUBLIC "-//OASIS//DTD DITA Composite//EN" "ditabase.dtd"> +<dita> +    <topic id="topic_nb3_hrx_5db"> +        <title>Documentation Source Files</title> +        <body> +            <p>Unlike all other documentation in the GnuPG Project, including the initial version of +        this HOWTO, this version was <i>not</i> written in Emacs Org-Mode. Nor was it written in +        LaTeX, Texinfo or even directly in HTML. Instead it was written using the Darwin Information +        Typing Architecture (DITA) XML.</p> +      <p>This was done for two main reasons:</p> +      <p> +        <ol id="ol_k3b_wrx_5db"> +          <li>A bug in either Org-Mode or Babel prevented the more complex examples included in the +            HOWTO from displaying correctly.</li> +          <li>To demonstrate some of the advantages of DITA XML over existing documentation +            productionsoftware used in the project (particularly Texinfo and LaTeX).</li> +        </ol> +      </p> +      <p>The XML format definitely supports displaying all the more complex Python code correctly, +        as well as being designed to produce standards compliant print and HTML output.  Whereas +        currently the existing tools utilised by the GnuPG Project can't display the example code in +        a way which would actually pass the project's own git commit ruleset.</p> +      <p> </p> +        </body> +    </topic> +</dita> diff --git a/lang/python/docs/dita/howto/part01/examples.dita b/lang/python/docs/dita/howto/part01/examples.dita new file mode 100644 index 00000000..afa66197 --- /dev/null +++ b/lang/python/docs/dita/howto/part01/examples.dita @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE dita PUBLIC "-//OASIS//DTD DITA Composite//EN" "ditabase.dtd"> +<dita> +    <topic id="topic_bv2_qqx_5db"> +        <title>Examples</title> +        <body> +            <p>All of the examples found in this document can be found as Python 3 scripts in the +          <filepath>lang/python/examples/howto</filepath> directory.</p> +        </body> +    </topic> +</dita> diff --git a/lang/python/docs/dita/howto/part01/introduction.dita b/lang/python/docs/dita/howto/part01/introduction.dita new file mode 100644 index 00000000..7b18eb89 --- /dev/null +++ b/lang/python/docs/dita/howto/part01/introduction.dita @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE dita PUBLIC "-//OASIS//DTD DITA Composite//EN" "ditabase.dtd"> +<dita> +    <topic id="topic_ucm_3mx_5db"> +        <title>Introduction</title> +        <body> +      <p>This document provides basic instruction in how to use the GPGME Python bindings to +        programmatically leverage the GPGME library.</p> +        </body> +    </topic> +</dita> diff --git a/lang/python/docs/dita/howto/part01/python2-vs-python3.dita b/lang/python/docs/dita/howto/part01/python2-vs-python3.dita new file mode 100644 index 00000000..97662764 --- /dev/null +++ b/lang/python/docs/dita/howto/part01/python2-vs-python3.dita @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE dita PUBLIC "-//OASIS//DTD DITA Composite//EN" "ditabase.dtd"> +<dita> +    <topic id="topic_j1r_qmx_5db"> +        <title>Python 2 vs. Python 3</title> +        <body> +            <p>Though the GPGME Python bindings themselves provide support for both Python 2 and 3, +        the focus is unequivocally on Python 3 and specifically from Python 3.4 and above. As a +        consequence all the examples and instructions in this guide use Python 3 code.</p> +      <p>Much of it will work with Python 2, but much of it also deals with Python 3 byte literals, +        particularly when reading and writing data. Developers concentrating on Python 2.7, and +        possibly even 2.6, will need to make the appropriate modifications to support the older +        string and unicode types as opposed to bytes.</p> +      <p>There are multiple reasons for concentrating on Python 3; some of which relate to the +        immediate integration of these bindings, some of which relate to longer term plans for both +        GPGME and the python bindings and some of which relate to the impending EOL period for +        Python 2.7. Essentially, though, there is little value in tying the bindings to a version of +        the language which is a dead end and the advantages offered by Python 3 over Python 2 make +        handling the data types with which GPGME deals considerably easier.</p> +        </body> +    </topic> +</dita> | 
