Skip to content

The Raspberry Pi 3 as a documentation platform

Do you need a lot of power to generate professional documentation? With its single gigabyte of RAM and smartphone-like processor, the Raspberry Pi 3 seems fit for an early 2000s office workstation. In practice, however, a CPU costing around 40 euros is more than enough to create, manage, and generate documentation in PDF, HTML, or other formats.

Prerequisites

  • 16 GB class 10 micro-SD card (recommended).
  • Wired or Wi-Fi Internet connection.
  1. Install the Raspbian Linux distribution on your Raspberry Pi 3 via NOOBS.

  2. Select MenuPreferencesRaspberry Pi Configuration.

    The Raspberry Pi Configuration dialog box appears.

  3. Select the Location tab.

  4. Click Set Locale, select the following options, then click OK:

    OptionValue
    Languagefr (French)
    CountryFR
    Character SetUTF-8

    This table shows the default configuration settings for a French-speaking environment:

    • Language: French
    • Country: France
    • Encoding: UTF-8, for optimum compatibility with special and accented characters.
  5. Click Set Keyboard, select the values corresponding to your keyboard, then click OK.

  6. Click OK in the Raspberry Pi Configuration dialog box.

  7. Select MenuAccessoriesTerminal.

  8. Update the system:

    Terminal window
    $ sudo aptitude update && sudo aptitude safe-upgrade -y

    Time to read an episode of The Silver Surfer, and the system is updated.

  9. Select MenuShutdownReboot.

    The Raspberry Pi 3 restarts.

Install the software needed to manage this blog

Section titled “Install the software needed to manage this blog”
  1. Select Menu > Accessories > LXTerminal.

  2. Install the following software packages:

    Terminal window
    $ sudo aptitude install -y calibre emacs gitk inkscape python3-sphinx texlive-full

    By the time I’ve read five or six episodes of The Amazing Spider-Man, the following software has been installed:

    SoftwareDescription
    CalibreDigital Book Manager.
    EmacsIntegrated Development Environment.
    GitkDecentralized version control software history browser.
    InkscapeVector drawing software.
    Python SphinxDocumentation generator based on reStructuredText format.
    TexliveComplete LaTeX environment for PDF blog generation.
  3. Free up disk space:

    Terminal window
    $ sudo aptitude clean
  1. Clone the Git repository of this blog’s sources:

    Terminal window
    $ git clone https://github.com/olivier-carrere/redaction-technique.org.git
  2. Go to the source directory of this blog:

    Terminal window
    cd redaction-technique.org
  1. Modify a modular source file of this blog using:
    • A text editor:

      Terminal window
      $ leafpad *coin-du-geek.rst &
    • Emacs:

      Terminal window
      $ emacs *coin-du-geek.rst &
    • An online editor:

      Terminal window
      $ sed -i "s/directory/folder/g;" *.rst
  1. Modify a source file of the images in this blog using:
    • Vector graphics software:

      Terminal window
      $ inkscape graphics/modulaire-texte-monolithique-binaire.svg &
    • An online editor:

      Terminal window
      $ sed -i "s/docbook/XML/g;" graphics/*.svg
  1. Start your batch of modifications in Git:

    Terminal window
    $ git config --global user.email "your email"
    $ git config --global user.name "your name"
    $ git add *.rst
    $ git commit -m "My batch of text modifications"
    $ git add graphics/*.svg
    $ git commit -m "My batch of image modifications"
  2. View the modification history of this blog’s sources:

    Terminal window
    $ gitk &

    O surprise, you’re looking at a GUI! It’s so beautiful, we’re going to take a photo:

    An atomic commit spanning a good fifteen files

    An atomic commit spanning a good fifteen files

  1. Return to the terminal, then retrieve the latest tagged version of this blog:

    Terminal window
    $ git checkout $(git describe --tags $(git rev-list --tags --max-count=1))
  1. Generate the latest tagged version of this blog in PDF, HTML, and EPUB formats:

    Terminal window
    $ make all
  2. Display the blog in PDF format:

    Terminal window
    $ xpdf _build/latex/redaction-techniqueorg.pdf &
  3. Display the blog in HTML format:

    Terminal window
    $ epiphany _build/html/index.html &
  4. Display the blog in EPUB format:

    Terminal window
    $ ebook-viewer _build/epub/redaction-techniqueorg.epub &

And there you have it. In just a few minutes, you have:

  • Applied conditional text rules to common sources according to publication format. This content is called an e-book in the EPUB version, a document in the PDF version, and something else in the HTML version.
  • Generated, in three different formats, a 60-page documentation including some 40 diagrams.

The Raspberry Pi 3 is an entirely credible documentation platform, provided you do without, or almost without, a graphical interface!

The next test will be to generate the DITA XML version of this blog.

The next test will be to generate this blog on a smartphone by installing a Linux distribution on Android.