Skip to content

grame-cncm/faustdoc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Faust Online Documentation

Faust 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 installed.
  • you must have the Faust source code installed. You can get it from github. 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. 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