Skip to main content

The CodeChat system for software documentation

Project description

CodeChat transforms source code into a web page, allowing developers to view their program as a beautiful and descriptive document by adding headings, formatting, hyperlinks, diagrams, images, and other forms of rich content to capture the ideas and insights that naturally flow from the process of writing a program. It also provides a blank slate in which to plan ahead, by sketching out an algorithm before committing it to code or laying out a design document which can evolve as the code does. This literate programming paradigm changes the way developers think by intermingling ideas with their implementation as code, dramatically improving a programmer’s abilities.

Installation

See the installation instructions.

Background

Put simply, literate programming (LP) is the realization that a program is a document written to and for fellow programmers, not simply a list of instructions for a computer. LP tools therefore produce a nicely-formatted document which contains the code intermixed with explanatory prose. Donald Knuth introduced literate programming using his WEB tool in his seminal paper. Per Figure 1 of this paper, the WEB system takes a .w document as input then produces either a “tangled” source file for compilation or a “woven” document as a .tex file. The document is beautiful; the WEB source is difficult to digest (see Figure 2a-c); the source code is completely unreadable (see Figure 3). While a plethora of tools developed over the years attempt to address these problems, only one LP-inspired variant has gained widespread acceptance: documentation generators, such as Doxygen and JavaDoc, which extract documentation directly from source code, rather than extracting source code from the documentation, as WEB and most LP tools do. CodeChat addresses these LP weaknesses by producing a document directly from the code; employing human-readable markup (reStructuredText); and by supporting a GUI to make editing an LP document-program faster and easier.

Tutorial

The CodeChat tutorial guides new users into exploring CodeChat’s literate programming abilities. Start here! Or, peruse the examples below to see the ways in which CodeChat transforms plain source code into beautiful documents.

Examples

Some examples of literate programming using CodeChat:

Contributing

This is a fairly basic implementation; much improvement is needed! Please use the issue tracker to report bugs or request features; even better, contribute to the code!

License

Copyright (C) 2012-2019 Bryan A. Jones.

This file is part of CodeChat.

CodeChat 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 3 of the License, or (at your option) any later version.

CodeChat 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 <CodeChat/LICENSE> along with CodeChat. If not, see http://www.gnu.org/licenses/.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

CodeChat-1.7.0.tar.gz (45.4 kB view details)

Uploaded Source

Built Distribution

CodeChat-1.7.0-py3-none-any.whl (64.6 kB view details)

Uploaded Python 3

File details

Details for the file CodeChat-1.7.0.tar.gz.

File metadata

  • Download URL: CodeChat-1.7.0.tar.gz
  • Upload date:
  • Size: 45.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.4.2 requests/2.21.0 setuptools/41.0.0 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.7.0

File hashes

Hashes for CodeChat-1.7.0.tar.gz
Algorithm Hash digest
SHA256 b62d39e0eee220b7beafefed095b83927e6ea7c8a340ae58110cf8bc16915e53
MD5 b38416bd5e30a6d7d0f021820b6032d4
BLAKE2b-256 f30d098aeab5e1410fc6112f4e431444ff4d0ad7632a0a6cbf3afd3036ab2d77

See more details on using hashes here.

File details

Details for the file CodeChat-1.7.0-py3-none-any.whl.

File metadata

  • Download URL: CodeChat-1.7.0-py3-none-any.whl
  • Upload date:
  • Size: 64.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.4.2 requests/2.21.0 setuptools/41.0.0 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.7.0

File hashes

Hashes for CodeChat-1.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d260477862ed58b5a86db979f7eb5dbfb5beabc132df1192f7edbddbbf0b826e
MD5 e2210cd66358cb18a5372318d471a073
BLAKE2b-256 d39266c85abe4d0e43d33b85c181f2a0f4c8bf8c2a80b9c0cd8a8718b69c46af

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page