|
2 | 2 |
|
3 | 3 | This repository contains the code powering https://rust.audio. This website contains information on audio development with the Rust programming language. |
4 | 4 |
|
5 | | -Please note this site has no affiliation with the [RustAudio](https://github.com/RustAudio) group on GitHub. |
| 5 | +## Developing & contributing |
6 | 6 |
|
7 | | -## Basic Details |
| 7 | +Contributions are welcome. This repository uses the [Zola static site generator](https://github.com/getzola/zola). Please check [here](https://www.getzola.org/documentation/getting-started/overview/) for basic Zola documentation. |
8 | 8 |
|
9 | | -This repository uses the [Zola static site generator](https://github.com/Keats/gutenberg). Please check [here](//getzola.org/documentation/getting-started) for basic Zola documentation. |
| 9 | +### Conventions |
10 | 10 |
|
11 | | -## Conventions |
| 11 | +When possible, try to content conventions from other items on the site. Most important things should be documented in the `toml` or `md` file. Don't worry too much about getting everything right! |
12 | 12 |
|
13 | | -1. Casing |
14 | | - - All user-facing terms and text (topics) must have proper capitalization. |
15 | | - - Internal names are lower snake cased. |
16 | | - - Topics should be plural when nouns |
17 | | - - Examples: |
18 | | - - The topic `DSP` is all caps, since it is user-facing |
19 | | - - The taxonomy `topics` is lowercase, since it is internal |
20 | | - - The topic `Synthesizers` is capitalized and pluralized, since it is a user-facing noun. |
21 | | -2. Content Layout |
22 | | - - All articles should be named `index.md` and be contained within a dated folder following the format `YYYY-MM-DD-{name}` |
23 | | - - All filename spaces should be dashes |
24 | | - - All readable articles go into the `articles` section |
25 | | - - Each article has the [`article` style front-matter](#articles-format) |
26 | | -3. Contributors |
27 | | - - These include anyone who helped write or edit the article |
28 | | - - Each contributor has a page in the `contributors` section directory. |
29 | | - - The file should be lowercase, space-dashed, and contain no special punctuation characters. This can be a real name or a username |
30 | | - - Each contributor has the [`contributor` style front-matter](#contributors-format) |
| 13 | +### Site Layout |
31 | 14 |
|
32 | | -## Site Layout |
| 15 | +- About rust.audio is in `content/about.md` |
| 16 | +- Formats describing e.g. `VST` vs `CLAP` are in `content/formats.toml`. |
| 17 | +- Audio resource links are in `resources.toml`. |
33 | 18 |
|
34 | | -This site has several main [taxonomies](//www.getzola.org/documentation/content/taxonomies/). They are: |
35 | | - |
36 | | -1. `topics` |
37 | | -2. `crates` |
38 | | -3. `contributors` |
39 | | - |
40 | | -### 1. Topics |
41 | | - |
42 | | -This taxonomy classifies higher-level topics, similar to tags. Examples of topics in this taxonomy include `DSP`, `Plugins` `Synthesizers` or `Tutorials` |
43 | | - |
44 | | -Articles for this term are tagged when their subject matter is included in a broader topic. Try to include at least one topic for greater visibility and organization. |
45 | | - |
46 | | -### 2. Crates |
47 | | - |
48 | | -This taxonomy is populated with the actual crate name of each associated crate. |
49 | | - |
50 | | -Articles for this term are tagged when their subject matter directly deals with the crate in question. For example, "How to use the `lv2` crate" would tag the `lv2` crate taxonomy term. |
51 | | - |
52 | | -Please note that the exact crate name must be targeted as data will be pulled from the crates.io API. |
53 | | - |
54 | | -### 3. Contributors |
55 | | - |
56 | | -This taxonomy contains all those who helped make this website possible. |
57 | | - |
58 | | -Articles for this term are tagged when an author needs to be specified, or when credit is given to a substantial revision. |
59 | | - |
60 | | -## Page Layouts |
61 | | - |
62 | | -### Articles Format |
63 | | - |
64 | | -```toml |
65 | | -+++ |
66 | | -# Titles are the user-facing names of articles |
67 | | -# Titles should be written like a sentence (no |
68 | | -# title capitalization) without a period at the end |
69 | | -title = "Creating a simple synthesizer VST plugin in Rust" |
70 | | - |
71 | | -# The date can include the time as well. It does not include |
72 | | -# the time the article was updated. |
73 | | -date = 2018-01-03 |
74 | | - |
75 | | -# This table lets us associate terms with this article |
76 | | -[taxonomies] |
77 | | -topics = ["Synthesizers", "Tutorials"] |
78 | | -# (Optional) This article uses the `vst` crate |
79 | | -crates = ["vst"] |
80 | | -# This article was written by `doomy`. We need to make sure |
81 | | -# that every contributor has a page in `contributors`, else |
82 | | -# we will recieve a build error. |
83 | | -contributors = ["doomy"] |
84 | | - |
85 | | -[extra] |
86 | | -# (Optional) Not currently used, but in the future it will |
87 | | -# display. Use this to specify the last time an article was |
88 | | -# updated.Please note that big changes to an article should |
89 | | -# be documented in the body of the article itself. |
90 | | -updated = 2019-01-03 |
91 | | -+++ |
92 | | - |
93 | | -All Markdown here will be the article body! |
94 | | -``` |
95 | | - |
96 | | -### Contributors Format |
97 | | - |
98 | | -```toml |
99 | | -+++ |
100 | | -# The "real" name of this user. This can be the same as |
101 | | -# their username, or completely different. For example, |
102 | | -# a contributor file named `azel15i` might instead |
103 | | -# have the title `Robert Peterson`. It is up to the |
104 | | -# contributor. |
105 | | -title = "doomy" |
106 | | -# At what day this contributor file was added. |
107 | | -date = 2019-04-13 |
108 | | -[extra] |
109 | | -# (Optional) The GitHub username associated with this |
110 | | -# contributor, if any. |
111 | | -github = "piedoom" |
112 | | -+++ |
113 | | - |
114 | | -(Optional) A bio of this contributor can go here. |
115 | | -``` |
0 commit comments