Project - Documentation: Difference between revisions

From Octave
Jump to navigation Jump to search
m (Improve summary.)
Line 33: Line 33:
* Check for inconsistencies in the manual, e.g., outdated descriptions, awkwardly ordered information, ...
* Check for inconsistencies in the manual, e.g., outdated descriptions, awkwardly ordered information, ...
* More examples and demo files for using each Octave command.
* More examples and demo files for using each Octave command.
* More figures to demonstrate Octave's plotting capabilities.
* More figures to demonstrate Octave's plotting capabilities, but regard doc size and building time.
* Splitting the manual into an descriptive function overview and a function reference, similar to the unmaintained one at [https://octave.sourceforge.io/docs.php Octave Forge]. Currently, both are interleaved.
* Think about a superior organization/splitting of the manual.  Currently it covers many topics interleaved: user manual, function reference, developer guide.
** Idea for a function reference including [[Octave Forge]] packages: https://octave.sourceforge.io/docs.php (unmaintained)
* Document the documentation building process (e.g. rename and document involved scripts).
 
'''Long term goals / highly controversial within the community'''
 
* Syntax, structure, and readability of Texinfo is a burden for some developers and newcomers.  Consider replacement by
** [https://commonmark.org/ CommonMark/Markdown]
** [https://docutils.readthedocs.io/en/sphinx-docs/user/rst/quickstart.html reStructuredText] / [https://www.sphinx-doc.org/ Sphinx]
** ...


'''Resources'''
'''Resources'''
Line 46: Line 55:
* '''Potential mentors'''
* '''Potential mentors'''
: [[User:siko1056 | Kai]]
: [[User:siko1056 | Kai]]


=== Octave's internal documentation ===
=== Octave's internal documentation ===

Revision as of 08:03, 21 April 2020

This article contains project ideas related to improve GNU Octave's documentation. For general project ideas, see Projects.

News

SeasonofDocs Logo SecondaryGrey 300ppi.png

Existing Documentation

For a comprehensive list see Publications about Octave.
  • Doxygen documentation for the internal C++ classes and external API.

Suggested Projects

Octave's interpreter documentation

Description

The documentation for the interpreter is presumably the oldest, long grown documentation of the GNU Octave project. It is mostly written in Texinfo and strongly interleaved in the Octave build process, i.e., it is necessary to build Octave from source to generate included figures. Additionally, large portions of the Texinfo source are auto generated to stay close to the source code to avoid stale documentation. A special type of this auto generation are the so-called "docstrings", which are extracted from both C++ files and Octave's own script files (m-files).

The resulting Texinfo sources are translated to Info, PDF, PostScript, and HTML, whereas the HTML is further processed to match the QT Help Framework, which is displayed in Octave.

Improvements

  • Check for inconsistencies in the manual, e.g., outdated descriptions, awkwardly ordered information, ...
  • More examples and demo files for using each Octave command.
  • More figures to demonstrate Octave's plotting capabilities, but regard doc size and building time.
  • Think about a superior organization/splitting of the manual. Currently it covers many topics interleaved: user manual, function reference, developer guide.
  • Document the documentation building process (e.g. rename and document involved scripts).

Long term goals / highly controversial within the community

Resources

  • Style Guides
Contribution guidelines#Coding style
  • Source code
https://hg.savannah.gnu.org/hgweb/octave/file/tip/doc/interpreter
  • Required skills
Texinfo, hg, building Octave from source
  • Potential mentors
Kai

Octave's internal documentation

Add more Doxygen comments.


Octave's wiki

Flesh out this wiki.