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
- Host: GitHub
- URL: https://github.com/grame-cncm/faustdoc
- Owner: grame-cncm
- License: cc0-1.0
- Created: 2020-02-12T16:07:00.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2025-02-15T13:17:07.000Z (over 1 year ago)
- Last Synced: 2025-02-15T14:22:49.477Z (over 1 year ago)
- Topics: faust
- Language: TeX
- Size: 358 MB
- Stars: 10
- Watchers: 7
- Forks: 12
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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`