-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Adding documentation webiste basic frame
- Loading branch information
Showing
28 changed files
with
8,211 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
# Faust Language Documentation | ||
|
||
This website centralizes all the documentation of the [Faust programming language](https://faust.grame.fr). It contains tutorials, the Faust manual, various examples, etc. It is meant to be used in tandem with the [Faust Web IDE](https://faustide.grame.fr). | ||
|
||
The main Faust website can be found at the following URL: | ||
|
||
<center> | ||
<a href="https://faust.grame.fr" style="font-size:16pt; font-weight:bold;">https://faust.grame.fr</a> | ||
</center> | ||
|
||
--- | ||
|
||
## What is Faust? | ||
|
||
[Faust](https://faust.grame.fr) (Functional Audio Stream) 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. It is used on stage for concerts and artistic productions, in education and research, in open source projects as well as in commercial applications. | ||
|
||
The core component of Faust is its compiler. It allows us to "translate" any Faust digital signal processing (DSP) specification to a wide range of non-domain specific languages such as C++, C, JAVA, LLVM IR, WebAssembly, etc. In this regard, Faust can be seen as an alternative to C++ but is much simpler and intuitive to learn. | ||
|
||
Thanks to a wrapping system called "architectures," codes generated by Faust can be easily compiled into a wide variety of objects ranging from audio plug-ins to standalone applications or smartphone and web apps, etc. | ||
|
||
--- | ||
|
||
## Getting Started | ||
|
||
### If You're In a Hurry | ||
|
||
If you’re in a hurry and just wanna have a look at how Faust programs look like, you can simply check the [**Faust Examples**](examples/ambisonics.md). | ||
|
||
### If You Wanna Get Started With Faust | ||
|
||
If you’re looking for a step by step tutorial of approximately 2 hours that will walk you through writing simple Faust programs and give you an overview of what Faust can do, have a look at our [**Quick Start Tutorial**](manual/quick-start.md). | ||
|
||
### If You’re Looking For the "Manual" | ||
|
||
Faust’s syntax and features are thoroughly documented in the [**Faust Manual**](manual/introduction.md). This resource contains hundreds of code examples and many short tutorials. | ||
|
||
### If You’re Looking For the Documentation of a Function In the Faust Libraries | ||
|
||
The [**documentation of Faust's standard libraries**](https://faustlibraries.grame.fr/) is automatically generated directly from the libraries' source code. | ||
|
||
### If You Prefer Video Tutorials | ||
|
||
Check out [**the Faust Kadenze course**](https://www.kadenze.com/courses/real-time-audio-signal-processing-in-faust/info). | ||
|
||
### If You're Looking For Something in Particular | ||
|
||
You can use the **Search** function of this website if you're looking for something specific. | ||
|
||
### [Other Resources to learn Faust](https://faust.grame.fr/community/learning/) | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
site_name: Faust Documentation | ||
site_description: A guide to the Faust Programming Language. | ||
copyright: Copyright © 2020-2023 <a href="https://www.grame.fr">Grame-CNCM</a> | ||
nav: | ||
- Home: index.md | ||
|
||
theme: | ||
name: mkdocs | ||
custom_dir: 'theme' | ||
navigation_depth: 4 | ||
|
||
site_dir: ../site | ||
|
||
extra: | ||
social: | ||
- type: github | ||
link: https://github.com/grame-cncm/faustdoc | ||
- type: home | ||
link: https://faust.grame.fr | ||
- type: envelope | ||
link: mailto:[email protected] | ||
|
||
plugins: | ||
- search | ||
|
||
extra_javascript: | ||
- https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML | ||
|
||
markdown_extensions: | ||
- mdx_math | ||
- admonition | ||
- markdown_include.include: | ||
base_path: './docs' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,202 @@ | ||
<!DOCTYPE html> | ||
<html lang="en"> | ||
<head> | ||
{%- block site_meta %} | ||
<meta charset="utf-8"> | ||
<meta http-equiv="X-UA-Compatible" content="IE=edge"> | ||
<meta name="viewport" content="width=device-width, initial-scale=1.0"> | ||
{% if page and page.is_homepage %}<meta name="description" content="{{ config['site_description'] }}">{% endif %} | ||
{% if config.site_author %}<meta name="author" content="{{ config.site_author }}">{% endif %} | ||
{% if page and page.canonical_url %}<link rel="canonical" href="{{ page.canonical_url }}">{% endif %} | ||
{% if config.site_favicon %}<link rel="shortcut icon" href="{{ config.site_favicon|url }}"> | ||
{% else %}<link rel="shortcut icon" href="{{ 'img/favicon.ico'|url }}">{% endif %} | ||
{%- endblock %} | ||
|
||
{%- block htmltitle %} | ||
<title>{% if page and page.title and not page.is_homepage %}{{ page.title }} - {% endif %}{{ config.site_name }}</title> | ||
{%- endblock %} | ||
|
||
{%- block styles %} | ||
<link href="{{ 'css/bootstrap.min.css'|url }}" rel="stylesheet"> | ||
<link href="{{ 'css/font-awesome.min.css'|url }}" rel="stylesheet"> | ||
<link href="{{ 'css/base.css'|url }}" rel="stylesheet"> | ||
{%- if config.theme.highlightjs %} | ||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/{{ config.theme.hljs_style }}.min.css"> | ||
{%- endif %} | ||
{%- for path in config['extra_css'] %} | ||
<link href="{{ path|url }}" rel="stylesheet"> | ||
{%- endfor %} | ||
{%- endblock %} | ||
|
||
{%- block libs %} | ||
|
||
<!--<script src="{{ 'js/jquery-1.10.2.min.js'|url }}" defer></script>--> | ||
<script src="{{ 'js/bootstrap.min.js'|url }}" defer></script> | ||
{%- if config.theme.highlightjs %} | ||
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/highlight.min.js"></script> | ||
{%- for lang in config.theme.hljs_languages %} | ||
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/languages/{{lang}}.min.js"></script> | ||
{%- endfor %} | ||
<script>hljs.initHighlightingOnLoad();</script> | ||
{%- endif %} | ||
{%- endblock %} | ||
|
||
{%- block analytics %} | ||
{%- if config.google_analytics %} | ||
<script> | ||
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ | ||
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), | ||
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) | ||
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga'); | ||
|
||
ga('create', '{{ config.google_analytics[0] }}', '{{ config.google_analytics[1] }}'); | ||
ga('send', 'pageview'); | ||
</script> | ||
{%- endif %} | ||
{%- endblock %} | ||
|
||
{%- block extrahead %} {% endblock %} | ||
</head> | ||
|
||
<body{% if page and page.is_homepage %} class="homepage"{% endif %}> | ||
<div class="navbar fixed-top navbar-expand-lg navbar-{% if config.theme.nav_style == "light" %}light{% else %}dark{% endif %} bg-{{ config.theme.nav_style }}"> | ||
<div class="container"> | ||
|
||
{%- block site_name %} | ||
<a class="navbar-brand" href="{{ nav.homepage.url|url }}"><img src="{{ nav.homepage.url|url }}/img/faustText.svg" width="150px"> {{ config.title_brand }}</a> | ||
{%- endblock %} | ||
|
||
{%- if nav|length>1 or (page and (page.next_page or page.previous_page)) or config.repo_url %} | ||
<!-- Expander button --> | ||
<button type="button" class="navbar-toggler" data-toggle="collapse" data-target="#navbar-collapse"> | ||
<span class="navbar-toggler-icon"></span> | ||
</button> | ||
{%- endif %} | ||
|
||
<!-- Expanded navigation --> | ||
<div id="navbar-collapse" class="navbar-collapse collapse"> | ||
{%- block site_nav %} | ||
{%- if nav|length>1 %} | ||
<!-- Main navigation --> | ||
<ul class="nav navbar-nav"> | ||
{%- for nav_item in nav %} | ||
{%- if nav_item.children %} | ||
<li class="dropdown{% if nav_item.active %} active{% endif %}"> | ||
<a href="#" class="nav-link dropdown-toggle" data-toggle="dropdown">{{ nav_item.title }} <b class="caret"></b></a> | ||
<ul class="dropdown-menu"> | ||
{%- for nav_item in nav_item.children %} | ||
{% include "nav-sub.html" %} | ||
{%- endfor %} | ||
</ul> | ||
</li> | ||
{%- else %} | ||
<li class="navitem{% if nav_item.active %} active{% endif %}"> | ||
<a href="{{ nav_item.url|url }}" class="nav-link">{{ nav_item.title }}</a> | ||
</li> | ||
{%- endif %} | ||
{%- endfor %} | ||
</ul> | ||
{%- endif %} | ||
{%- endblock %} | ||
|
||
<ul class="nav navbar-nav ml-auto"> | ||
{%- block search_button %} | ||
{%- if 'search' in config['plugins'] %} | ||
<li class="nav-item"> | ||
<a href="#" class="nav-link" data-toggle="modal" data-target="#mkdocs_search_modal"> | ||
<i class="fa fa-search"></i> Search | ||
</a> | ||
</li> | ||
{%- endif %} | ||
{%- endblock %} | ||
|
||
{%- block repo %} | ||
{%- if page and page.edit_url %} | ||
<li class="nav-item"> | ||
<a href="{{ page.edit_url }}" class="nav-link"> | ||
{%- if config.repo_name == 'GitHub' -%} | ||
<i class="fa fa-github"></i> Edit on {{ config.repo_name }} | ||
{%- elif config.repo_name == 'Bitbucket' -%} | ||
<i class="fa fa-bitbucket"></i> Edit on {{ config.repo_name }} | ||
{%- elif config.repo_name == 'GitLab' -%} | ||
<i class="fa fa-gitlab"></i> Edit on {{ config.repo_name }} | ||
{%- else -%} | ||
Edit on {{ config.repo_name }} | ||
{%- endif -%} | ||
</a> | ||
</li> | ||
{%- elif config.repo_url %} | ||
<li class="nav-item"> | ||
<a href="{{ config.repo_url }}" class="nav-link"> | ||
{%- if config.repo_name == 'GitHub' -%} | ||
<i class="fa fa-github"></i> {{ config.repo_name }} | ||
{%- elif config.repo_name == 'Bitbucket' -%} | ||
<i class="fa fa-bitbucket"></i> {{ config.repo_name }} | ||
{%- elif config.repo_name == 'GitLab' -%} | ||
<i class="fa fa-gitlab"></i> {{ config.repo_name }} | ||
{%- else -%} | ||
{{ config.repo_name }} | ||
{%- endif -%} | ||
</a> | ||
</li> | ||
{%- endif %} | ||
{%- endblock %} | ||
</ul> | ||
</div> | ||
</div> | ||
</div> | ||
|
||
{% if page and page.is_homepage and config.faust_banner %} | ||
<div class="banner-home"> | ||
<img src="img/faustText.svg" width=300px> | ||
<p>Functional Programming Language for Real Time Signal Processing</p> | ||
<a class="btn btn-lg btn-primary" href="https://github.com/grame-cncm/faust" role="button">GitHub</a> | ||
<a class="btn btn-lg btn-primary" href="https://faustdoc.grame.fr/manual/quick-start/" role="button">Quick Start</a> | ||
<a class="btn btn-lg btn-primary" href="https://faustide.grame.fr" role="button">Try It Online!</a> | ||
</div> | ||
{%- endif %} | ||
|
||
<div class="container"> | ||
<div class="row"> | ||
{%- block content %} | ||
{%- if page.meta.hide_toc %} | ||
<div class="col-md-12 main-container home-container" role="main">{% include "content.html" %}</div> | ||
{%- else -%} | ||
<div class="col-md-3">{% include "toc.html" %}</div> | ||
<div class="col-md-9 main-container" role="main">{% include "content.html" %}</div> | ||
{%- endif %} | ||
{%- endblock %} | ||
</div> | ||
</div> | ||
|
||
<footer class="col-md-12"> | ||
{%- block footer %} | ||
<hr> | ||
{%- if config.copyright %} | ||
<p>{{ config.copyright }}</p> | ||
{%- endif %} | ||
{%- endblock %} | ||
</footer> | ||
|
||
{%- block scripts %} | ||
<script> | ||
var base_url = {{ base_url | tojson }}, | ||
shortcuts = {{ config.theme.shortcuts | tojson }}; | ||
</script> | ||
<script src="{{ 'js/base.js'|url }}" defer></script> | ||
{%- for path in config['extra_javascript'] %} | ||
<script src="{{ path|url }}" defer></script> | ||
{%- endfor %} | ||
{%- endblock %} | ||
|
||
{% if 'search' in config['plugins'] %}{%- include "search-modal.html" %}{% endif %} | ||
{%- include "keyboard-modal.html" %} | ||
|
||
</body> | ||
</html> | ||
{% if page and page.is_homepage %} | ||
<!-- | ||
MkDocs version : {{ mkdocs_version }} | ||
Build Date UTC : {{ build_date_utc }} | ||
--> | ||
{% endif %} |
Oops, something went wrong.