An open API service indexing awesome lists of open source software.

https://github.com/grame-cncm/faustdoc

The Faust Online Documentation
https://github.com/grame-cncm/faustdoc

faust

Last synced: over 1 year ago
JSON representation

The Faust Online Documentation

Awesome Lists containing this project

README

          

# Faust Online Documentation

[Faust](https://faust.grame.fr) is a Functional Programming Language for sound synthesis and audio processing with a strong focus on the design of synthesizers, musical instruments, audio effects, etc. Faust targets high-performance signal processing applications and audio plug-ins for a variety of platforms and standards.

This repository is intended to build the documentation of the Faust environment, and to provide the corresponding examples.

### Prerequisites
- you must have python, pip and [mkdocs](https://www.mkdocs.org/) installed.
- you must have the Faust source code installed. You can get it from [github](https://github.com/grame-cncm/faust). **Be sure to use a fresh cloned repository and to correcly install submodules with `git submodule update --init`**. The exact location can possibly be set in the make command using the `FAUSTDIR` environment variable.
- you must have openssl installed for base64 conversion.

### WARNING: adding new files

Be sure to add new files in the `mkdocs/docs`, and **not** in the `docs` which is the folder generated by the build process.

### Building the documentation

The build process is based on `make`. Building the documentation site is based on [mkdocs](https://www.mkdocs.org/).
To install the required components type:
~~~~~~~~~~~~~~~~
$ make install
~~~~~~~~~~~~~~~~

The documentation embeds a lot of Faust examples that have to be embedded into html files.
It also extracts tags documentation from the library source code.
To generate all these files type:
~~~~~~~~~~~~~~~~
$ make all
~~~~~~~~~~~~~~~~

### Testing and generating

You can test the web site using the mkdoc embedded web server. This server also scan any change in the source directory and refresh the pages dynamically which is really convenient for the development process. To launch the server type:
~~~~~~~~~~~~~~~~
$ make serve
~~~~~~~~~~~~~~~~

When ready, you can generate the documentation web site. Type:
~~~~~~~~~~~~~~~~
$ make build
~~~~~~~~~~~~~~~~
The web site will be available from the `docs` folder at the root of the `faustdoc` folder

More details on the build process:
~~~~~~~~~~~~~~~~
$ make help
~~~~~~~~~~~~~~~~

### Publishing

The docs folder at rool level contains all files that will be published. To make the current version publicly available:
- add all the new files using `git add docs`
- commit using `git commit -am "message"` (so new files and deleted files will be commited, except docs/CNAME file)
- and push the commit

### WARNING!!

- never delete the **docs/CNAME file** (which is mandatory for the final generated site to work)
- in case it has been removed, restore it using `git checkout docs/CNAME`