Giter VIP home page Giter VIP logo

License Build Status codecov Collaborations Workshop 2019

WYRIWYD: What You Run Is What You Doc

Generate maintainable tutorials quickly

(A hackday project from the Software Sustainability Institute Collaborations Workshop 2019.)

The wyriwyd dragon logo

Introduction

Tutorials and how-to guides are a key component of software documentation. While many tools exist for automatic generation of API reference material, tutorials can be intimidating to set up and easily fall behind software changes. WYRIWYD is intended to help novice software developers build and maintain tutorials for simple command-line programs.

Workflow

The main components of WYRIWYD are:

  • A wizard which creates a bare-bones tutorial by watching the developer use their own code in a shell.

  • A markdown file convention which allows users to comfortably insert further comments and make corrections/updates as the code changes.

  • A testing utility which verifies that the tutorial is correct for the current code version. If continuous integration (e.g. Travis CI) is used, this test can be added to the repository hooks for futher peace of mind.

Installation

pip install git+https://github.com/wyriwyd/wyriwyd.git#egg=wyriwyd

Usage

To generate markdown documentation, run the wyriwydzard command. After entering the name of the document to generate, keep entering your commands in the prompt. A bare-bones tutorial will be generated in markdown, which you can expand with explanations of the commands.

To test existing markdown documentation, just run the wyriwyd-test command over the markdown file. Note if the commands in the documentation assume you will be in a given directory, then you should cd there first.

cd examples/
wyriwyd-test sample.md

And if everything is ok, you should see:

Everything looks ok!!

For more support on the testing tool, use --help

wyriwyd-test --help
usage: wyriwyd-test [-h] [-r] [-e EMPTY] infile

positional arguments:
  infile                The path to the input markdown file

optional arguments:
  -h, --help            show this help message and exit
  -r, --raise-error     Raise an exception at the first error
  -e EMPTY, --empty EMPTY
                        If the Markdown file contains commands without a
                        following output, and the command when runs produces
                        output, treat this as an error

Incuding into continuous integration:

We even run the command itself over this README:

There's also an example project at https://github.com/wyriwyd/wyriwyd-live-demo

wyriwyd's Projects

wyriwyd icon wyriwyd

Create and test markdown documentation for your command line tool

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.