Track settings
In Faircamp, each audio file is automatically a "track". Asides this implicit mapping you can also explicitly create tracks, even without an audio file.
Tracks can exist on their own, as stand-alone releases. In this case they need to be wrapped into their own track directory. They can also exist as a track in a multitrack, in which case they can be either an audio file that is directly placed in the multitrack directory, or placed in their own track directory, potentially with their own track manifest.
A track.eno manifest must always be placed inside a track directory. To set
up a track directory simply take the audio file of the respective track and
put it into its own directory (the naming of that directory is entirely up to
you, it does not affect anything). That is then your track directory, where
you also put the track.eno manifest in. For example, in the context of a
track in a multitrack:
As you can see, in a track directory you can also put an image file to be used as cover for that track - this is picked up automatically! Additionally, extra files in a track directory will be treated as track extras, by default separately downloadable from the track's download page.
The remainder of this page alphabetically lists all available settings for tracks.
artists
Default-able
Use the prefixed form track.artists outside of track manifests
track.artists outside of track manifests
If your audio file is not tagged, or the tags contain inaccurate values, or
for any other reason, you can use the artists option to explicitly set one
or multiple artists for the track. Note that for tracks inside a multitrack
this can implicitly affect the artists of the multitrack (which can be
explicitly set with the multitrack.artists setting too though).
To set a single artist for a track:
artists:
- Alice
To set multiple artists for a track:
artists:
- Alice
- Bob
copy_link
Default-able
Use the prefixed form track.copy_link outside of track manifests
track.copy_link outside of track manifests
To disable the "Copy link" button (by default it's enabled) you can use the
copy_link option, with either enabled or disabled as value.
copy_link: disabled
cover
Local-only
This track setting can not inherit default values from other manifests
cover: cover.jpg
Provide the path of the image, relative from the manifest's location (i.e. if the image is in the same directory as the manifest, provide just the filename).
Note that track cover images are always displayed in square aspect ratio. If you supply a non-square image it will be square-cropped for display.
cover_description
Local-only
This track setting can not inherit default values from other manifests
-- cover_description
Alice with her guitar collection
-- cover_description
If you use a cover image, make sure to include a cover_description so that
visually impaired people can also make sense of it (this description is used as
the alt text for the image).
You can either provide a multiline or inline value according to your preference and required length for the description. A multiline example:
-- cover_description
A photograph separated into two planes:
In the foreground, an old lady, smiling into the camera.
In the background, an unrecognizable mechanical contraption.
-- cover_description
An inline example:
cover_description: A photograph of a cat, tiptoeing over modular synthesizer panels
download_access
Default-able
Use the prefixed form track.download_access outside of track manifests
track.download_access outside of track manifests
By default your visitors can only stream your tracks.
To enable free downloads of a track all you need to do is set one or more
download formats with the download_formats option.
Beyond this, the download_access option controls how visitors can
access downloads - by default as free downloads - but this can be changed to
external downloads, downloads accessible through download codes, or downloads
placed behind a soft paycurtain, and you can also disable access to downloads
here.
Free downloads
This is the default (you don't need to set it yourself), but in case you want to re-enable it in a manifest:
download_access: free
External downloads
If you want to use your faircamp site purely to let people stream your audio, but there is another place on the web where your track(s) can be downloaded, external downloads allow you to display a download button that merely takes people to the external download page.
For example, to display a download button that takes people to https://example.com/artist/purchase/,
simply use that url as the value for this setting:
download_access: https://example.com/artist/purchase/
Download code(s)
A download code (like a coupon/token) needs to be entered to access downloads.
To protect downloads with a code:
download_access: code
In combination with this use the download_codes option to
set the codes for accessing downloads and the payment_info
option to provide a text that is displayed with the code input field (to give
your audience directions on how to obtain a download code).
Soft Paycurtain
A soft (i.e. not technically enforced) paycurtain needs to be passed before downloading.
To provide downloads behind a soft paycurtain:
download_access: paycurtain
In combination with this option, use the price and
payment_info options to set a price and give instructions
for where the payment can be made.
Disable downloads
Downloads can also be disabled explicitly (e.g. if you quickly want to take them offline at some point):
download_access: disabled
download_codes
Default-able
Use the prefixed form track.download_codes outside of track manifests
track.download_codes outside of track manifests
To set a single download code that can be entered to access downloads:
download_code: crowdfunding2023
To set multiple download codes that can be entered to access downloads:
download_codes:
- GOLDsupporter
- SILVERsupporter
Note that you also need to use the download_access option
(download_access: code) to activate download codes. In addition it is highly
recommended to use the unlock_info option to provide a text that is
displayed alongside the code input prompt.
download_formats
Default-able
Use the prefixed form track.download_formats outside of track manifests
track.download_formats outside of track manifests
Sets the formats in which single tracks can be separately downloaded. By default none are specified, so this needs to be set in order to enable separate downloads for single tracks at all.
To set a single download format:
download_formats:
- flac
To set multiple download formats:
download_formats:
- flac
- mp3
- opus
To offer downloads in their original format and quality (without transcoding, exactly as you provided the audio, but potentially with tag remapping):
download_formats:
- original
To disable all download formats:
download_formats: none
All currently available formats:
aacaiffalacflacmp3ogg_vorbisopus_48opus_96opus_128originalwav
In practice a minimal combination of a lossy state of the art format
(e.g. opus), a lossy format with high compatibility (e.g. mp3) and a
lossless but compressed format (e.g. flac) is recommended.
download_links
Default-able
Use the prefixed form track.download_links outside of track manifests
track.download_links outside of track manifests
download_links:
- Platform A https://example.com/release/download/
- Platform B https://...
- https://...
You can supply any number of links to allow your listeners to download the track from other sites. Links can only be full urls (e.g. "https://example.com").
For each link you can supply either just the bare link (e.g. - https://..., or
(more commonly) add a label for the link, which can be put before or after the
link itself (- Example Label https://... or - https://... Example Label).
Note that you also need to use the download_access option to actually enable download
links, for instance:
download_access: external
download_links:
- https://example.com/release/download/
- https://...
embedding
Default-able
Use the prefixed form track.embedding outside of track manifests
track.embedding outside of track manifests
This allows external sites to embed a widget that lets people play back the track from your site. The embed code can be copied from a page that is linked to onthe track page.
Embedding is disabled by default. If you want to enable it you also need to
set the site's site.base_url setting (embeds work by displaying something from
your site on another site, for this the other site needs to point to your
site's address).
embedding: enabled
external_page
Local-only
This track setting can not inherit default values from other manifests
external_page: https://example.com
With this option set, the track is linked to an external page wherever it appears on the faircamp site. The track page itself is not generated in that case, or rather: It becomes a redirect to the external page.
extra_downloads
Default-able
Use the prefixed form track.extra_downloads outside of track manifests
track.extra_downloads outside of track manifests
Any additional files in a track directory besides the audio file, cover image
and track.eno manifest (e.g. artwork, liner notes, lyrics, etc.) are
considered "extras" and by default bundled in the zip archives for multitrack
downloads (if the track is contained in a multitrack release) as well as
being provided for separate download (bundled+separate option).
To turn this off and entirely disable track extras:
extra_downloads: disabled
To provide track extras as bundled downloads in a multitrack context only:
extra_downloads: bundled
To provide track extras as separate downloads only:
extra_downloads: separate
To restore the default behavior:
extra_downloads: bundled+separate
extras_label
Default-able
Use the prefixed form track.extras_label outside of track manifests
track.extras_label outside of track manifests
If you provide additional files for download with a track(e.g. sheet music or liner notes as a PDF), those will, by default, be labelled as "Extras", both on the site, as well as potentially as a folder name in downloadable zip archives of your release.
The extras_label setting allows you to customize the wording for this for
your usecase (e.g. "Goodies", "Liner Notes", "Bonus material", etc.).
extras_label: Bonus content
homepage
Local-only
This track setting can not inherit default values from other manifests
homepage
Makes this track page the homepage of your site. There is only one homepage, so this setting can only be used in one place at a time.
links
Local-only
This track setting can not inherit default values from other manifests
links:
- Track review https://example.com/some-blog/some-review/
- Another review https://example.com/another-blog/another-review/
- Production credits #credits
You can supply any number of links, these are prominently displayed in the header/landing area of your track page. Links can be full urls (e.g. "https://example.com") or references to anchors within the page (e.g. "#about").
For each link you can supply either just the bare link (e.g. - https://example.com, or
(more commonly) add a label for the link, which can be put before or after the
link itself (- Example Label https://example.com or - https://example.com Example Label).
more
Local-only
This track setting can not inherit default values from other manifests
-- more
Recorded in the summer of '94 at West Callaghan Ranch, XE.
Featuring Ted Tukowsky on Trombone and Lisa Merringfield on Theremin.
-- more
This field lets you provide long-form content of any kind to augment the track page with: Liner notes, production staff credits, lyrics, making of stories, etc. When provided, this content appears right after the track player/waveform on the track page.
The more field supports Markdown.
more_label
Default-able
Use the prefixed form track.more_label outside of track manifests
track.more_label outside of track manifests
more_label: Lyrics
If you provide long-form content for your track (which can be anything
you want, content-wise) through the more field, by default there will be a
link with the label "More" on your track page, leading to the section
containing that content. This link and label will also appear right by the track
where it appears on the release page. If you want to customize that label so it
specifically refers to the type of content you are providing there, the
more_label field allows you to do that. Some typical examples of custom
labels one might use in the context of a track: "Lyrics", "Details", "Liner Notes",
"About" etc.
number
Local-only
This track setting can not inherit default values from other manifests
number: 6
With number you can set or override the track number, for instance if none
or a wrong one is provided through audio file metadata.
numbering
Default-able
Use the prefixed form track.numbering outside of track manifests
track.numbering outside of track manifests
numbering: arabic-dotted
numbering allows configuration of the numbering style
used for the track number, offering the following choices:
arabic(1 2 3 …)arabic-dotted(1. 2. 3. …)arabic-padded(01 02 03 …) (default)disabled(Don't display track numbers)hexadecimal(0x1 0x2 0x3 …)hexadecimal-padded(0x01 0x02 0x03 …)roman(I II III …)roman-dotted(I. II. III. …)
Most often you will set this either as a site-wide default or at the
multitrack release level, i.e. in a site.eno or multitrack.eno
manifest as:
track.numbering: hexadecimal-padded
payment_info
Default-able
Use the prefixed form track.payment_info outside of track manifests
track.payment_info outside of track manifests
This is used together with the paycurtain setting of the download_access
option (download.access: paycurtain) to set the text that is displayed before downloads are accessed.
The general idea here is to provide external links to one or more payment, donation or patronage platforms that you use, be it liberapay, ko-fi, paypal, stripe, etc. You can use Markdown to place links, bullet points, etc. in the text.
-- payment_info
Most easily you can transfer the money for your purchase
via my [liberapay account](https://liberapay.com/somewhatsynthwave)
Another option is supporting me through my [ko-fi page](https://ko-fi.com/satanclaus92)
If you're in europe you can send the money via SEPA, contact me at
[lila@thatawesomeartist42.com](mailto:lila@thatawesomeartist42.com) and I'll
send you the account details.
On Dec 19th I'm playing a show at *Substage Indenhoven* - you can get the
digital album now and meet me at the merch stand in december in person to give
me the money yourself as well, make sure to make a note of it though! :)
-- payment_info
permalink
Local-only
This track setting can not inherit default values from other manifests
permalink: example-track
The permalink is a short, unique text fragment (for instance: example-track)
that forms a part of the permanent address of a track page. For an
online faircamp site, the permalink is appended to the site.base_url to
construct the full address of the page.
For instance: https://example.com (the site.base_url) + example-track
(the permalink) = https://example.com/example-track – this is the link that
you can share with your visitors to point them to the track page.
Permalinks may only contain the following characters:
a-z(lowercase letters only)0-9-(dash)
If you don't specify your own permalink, faircamp auto-generates one from the
title (for instance the title Example Track becomes the permalink
example-track then). Note that in this case when the title changes, the
permalink does too. This can lead to other people's bookmarks or links to
your site becoming invalidated. Therefore it's generally recommended to
specify your own permalinks – at least for the most important things on your
site.
If you set/enable either external_page or homepage for your
track, the permalink is still relevant: The page address (part of which
is the permalink) then becomes a redirect to either the external page or the
homepage.
platform_integration
Default-able
Use the prefixed form track.platform_integration outside of track manifests
track.platform_integration outside of track manifests
Facebook's Open Graph metadata (and other adjacent protocols) are used by platforms to crawl and harvest content from (linked) websites in order to present them using a uniform "card" design pattern inside social feeds and timelines.
By default, faircamp only renders metadata that is used to generate link previews whenever someone links to things on your faircamp site. This can be disabled with:
platform_integration: disabled
Open Graph properties that get rendered (when link previews are enabled) are
the mandatory og:title, og:image (including alt, height and width),
og:type (always as website) and og:url properties, as well as
og:locale and og:site_name. Where present, the synopsis field is
rendered as the og:description property additionally.
In the near future faircamp will also gain support for rendering content
embeds, that is, metadata and embed code that allows platforms to directly
integrate a media player for your audio material in user timelines. You can
already configure this with the setting below, but until it's implemented
this will act identically to the link_previews setting.
platform_integration: content_embeds
The factory setting (in case you need to reset your own inherited default) can be set with:
platform_integration: link_previews
podcast.explicit
Default-able
Use the prefixed form track.podcast.explicit outside of track manifests
track.podcast.explicit outside of track manifests
podcast.explicit: yes
Set this to yes if this track contains explicit language or adult content.
price
Default-able
Use the prefixed form track.price outside of track manifests
track.price outside of track manifests
This is used together with the paycurtain setting of the download_access
option (download_access: paycurtain) to set the price for track downloads that is
displayed before the downloads are accessed.
For example in order to ask for 4€ for accessing the downloads of a track:
price: EUR 4+
The price option accepts an ISO 4217 currency code and a price range such as:
USD 0+(Name your price, including zero dollars as a valid option)3.50 GBP(Exactly 3.50 Pounds)KRW 9080(Exactly 9080 south korean won)INR 230+(230 indian rupees or more)JPY 400-800(Between 400 and 800 japanese yen)
published
Local-only
This track setting can not inherit default values from other manifests
published: 2024-12-19T16:39:57-08:00
A date/time specifying when this track was first published on the faircamp site. This will be primarily used in your Atom/RSS feeds as metadata for feed consumers.
Also see these related settings:
released– Date when this track was first released anywhere.updated– Date/time when this track was last updated on the faircamp site.
released
Local-only
This track setting can not inherit default values from other manifests
released: 1999-12-31
A date specifying when this track was released on the faircamp site or anywhere else. This date can be used for sorting and can also be shown on the site as information for listeners.
The date must be supplied strictly in the format YYYY-MM-DD.
Also see these related settings:
published– Date/time when this track was first published on the faircamp site.updated– Date/time when this track was last updated on the faircamp site.
speed_controls
Default-able
Use the prefixed form track.speed_controls outside of track manifests
track.speed_controls outside of track manifests
By default, faircamp's audio player(s) provide no playback speed controls, assuming that it's intended for your audience to listen to the material at its original speed only (e.g. for music, where this is usually the norm).
If you publish (e.g.) a narrative podcast or audio book and want people to listen to the narration at their desired speed, you can enable playback speed controls with this option:
speed_controls: enabled
By using disabled as value this setting can also be reverted.
streamable
Default-able
Use the prefixed form track.streamable outside of track manifests
track.streamable outside of track manifests
streamable: no
Controls whether this track may be streamed from the website (by default it's
yes). Note that setting this to no implicitly removes the track or, where
technically supported, hides the audio in your Atom/RSS feeds and M3U
playlists as well.
streaming_quality
Default-able
Use the prefixed form track.streaming_quality outside of track manifests
track.streaming_quality outside of track manifests
streaming_quality: frugal
Supported values: frugal, original or standard
By default faircamp uses standard encoding quality for streaming.
The setting frugal uses considerably less bandwidth, reduces emissions and
improves load times for listeners, especially on slower connections.
With the original setting faircamp directly uses your source audio material
as streaming material, without any transcoding. This also means that you need
to ensure that your supplied format is actually supported by browsers, and
that it is a somewhat reasonably compressed streaming format. Providing
lossless, uncompressed audio data to listeners might technically work, but
neither your provider or server, nor your listeners will appreciate the
excessively high amount of traffic being consumed by this.
synopsis
Local-only
This track setting can not inherit default values from other manifests
-- synopsis
Nobody thought it possible, until somebody did it. The track that started it all!
-- synopsis
A short (256 characters max), plaintext introduction text for your track, this is prominently featured atop your track page.
tags.album
Default-able
Use the prefixed form track.tags.album outside of track manifests
track.tags.album outside of track manifests
Only applied in retag mode, see tags.mode.
tags.album: auto
Controls retag behavior for the album tag (default: auto).
For stand-alone tracks the auto setting picks the first available item in this list:
- Album tag from the source audio file metadata
- Track title from the manifest
- Track title from the source audio file metadata
- Track title derived from the source audio filename
For tracks in a multitrack release the auto setting picks the first available item in this list:
- Multitrack title from the manifest
- Multitrack title derived from the source audio file metadata of all tracks
- Multitrack title derived from the multitrack directory name
To copy the tag 1:1 from the source audio file, if present:
tags.album: copy
To never write the tag:
tags.album: omit
tags.album_artist
Default-able
Use the prefixed form track.tags.album_artist outside of track manifests
track.tags.album_artist outside of track manifests
Only applied in retag mode, see tags.mode.
tags.album_artist: auto
Controls retag behavior for the album artist tag (default: auto).
For stand-alone tracks the auto setting always omits the album artist tag.
For tracks in a multitrack release the auto setting omits the album artist
tag if the artist(s) of all tracks are exactly the artist(s) of the
multitrack release itself, or if there are no multitrack artists set at all.
Otherwise the multitrack artists are used as specified in the manifests or as
derived from audio metadata in the tracks.
To copy the tag 1:1 from the source audio file, if present:
tags.album_artist: copy
To never write the tag:
tags.album_artist: omit
tags.artist
Default-able
Use the prefixed form track.tags.artist outside of track manifests
track.tags.artist outside of track manifests
Only applied in retag mode, see tags.mode.
tags.artist: auto
Controls retag behavior for the artist tag (default: auto).
With the auto setting, all artists for the track that were specified
either in a manifest or in the original audio file metadata are used for
the artist tag.
To copy the tag 1:1 from the source file (if present):
tags.artist: copy
To never write the tag:
tags.artist: omit
tags.image
Default-able
Use the prefixed form track.tags.image outside of track manifests
track.tags.image outside of track manifests
Only applied in retag mode, see tags.mode.
Note that embedded images are only supported by some audio container formats
tags.image: omit
Controls retag behavior for embedded images (default: omit).
The default setting omit never embeds any images in output audio files. Some
reasons for this being the default are:
- Embedded cover images can significantly increase the filesize of audio files
- They can constitute redundant data when they are also included as external files with downloads or feed metadata
- Embedded cover images are often not used/seen at all (e.g. when streaming audio)
- Support for embedded images varies across different audio container formats, leading to unpredictable outcomes that may not match user expectations
To copy the embedded image 1:1 from the source file (if present):
tags.image: copy
To enable auto behavior:
tags.image: auto
The auto setting will preferentially embed an image that has been supplied
as stand-alone cover for the track (or the parent multitrack release). If
neither is available, it will copy the embedded image from the original audio
file, if present.
tags.mode
Default-able
Use the prefixed form track.tags.mode outside of track manifests
track.tags.mode outside of track manifests
tags.mode: retag
By default, Faircamp retags your audio files: All metadata is stripped off the audio files that you supply when it transcodes them for streaming and downloading, and only a limited subset of tags managed by Faircamp – title, track number, artist(s), album artist(s) and album title – is added back in (when present).
The tags.mode option lets you control this behavior.
Set it to copy and faircamp will transfer all tags 1:1 from the source file
onto the transcoded files, as you provided them. Note that only those tags
that each target audio file format supports can be transferred, so "all tags"
in practice might not always mean literally all of them.
tags.mode: copy
Set it to untag and faircamp will produce entirely untagged files for
streaming and download.
tags.mode: untag
In order to assert fine-grained control over tags, you can also specify
precise behavior per tag in combination with the (default) retag mode. For
this see each specific retag setting:
The default retag behavior in Faircamp corresponds to the following settings:
tags.album: auto
tags.album_artist: auto
tags.artist: auto
tags.image: omit
tags.title: auto
tags.track: auto
tags.title
Default-able
Use the prefixed form track.tags.title outside of track manifests
track.tags.title outside of track manifests
Only applied in retag mode, see tags.mode.
tags.title: auto
Controls retag behavior for the title tag (default: auto).
The default auto setting writes the title tag from the title that has been
specified through a manifest, through audio file metadata, or derived from
the original audio filename, in that order.
To copy the tag 1:1 from the source file (if present):
tags.title: copy
To never write the tag:
tags.title: omit
tags.track
Default-able
Use the prefixed form track.tags.track outside of track manifests
track.tags.track outside of track manifests
Only applied in retag mode, see tags.mode.
tags.track: auto
Controls retag behavior for the track number tag (default: auto).
The default auto setting writes the track number tag from the track number
that has been specified through a manifest, through audio file metadata, or
obtained by applying a detection heuristic to the filenames of all tracks, in
that order.
To copy the tag 1:1 from the source file (if present):
tags.track: copy
To never write the tag:
tags.track: omit
theme.cover_generator
Default-able
Use the prefixed form track.theme.cover_generator outside of track manifests
track.theme.cover_generator outside of track manifests
theme.cover_generator: space_time_rupture_light
Faircamp generates procedural cover images for all releases for which you do not provide your own cover image. With this setting you can choose from a set of algorithms. Note that procedural covers will probably undergo bigger changes in the future – this is still open and ongoing experimentation.
Available cover generators:
best_rillen_darkbest_rillen_lightblocks_darkblocks_lightglass_splinters_darkglass_splinters_lightlovely_tunes_darklovely_tunes_lightscratchy_faint_rillen_darkscratchy_faint_rillen_lightspace_time_rupture_darkspace_time_rupture_light
theme.dark
Default-able
Use the prefixed form track.theme.dark outside of track manifests
track.theme.dark outside of track manifests
theme.dark:
accent_brightening = 85
accent_chroma = 50
accent_hue = 23
base_chroma = 34
base_hue = 180
background_alpha = 23
background_image = simple_texture.jpg
Adjusts the colors and/or background image of the dark theme. Note that
theme.mode needs to be either adaptive or dark for this to have any
effect, otherwise the dark theme is never displayed.
Tip: With the
--theming-widgetCLI option you can interactively explore thetheme.darkandtheme.lighttheme settings. Build your site with this option enabled and every page will contain the theming widget (don't forget to turn it off before deployment).
Dynamic range
theme.dark:
dynamic_range = 24
At the highest dynamic_range (100%) the dark theme is darkest and the least
colorful (depending on chroma settings, see below). The lower the
dynamic_range (0% being the default) the more it will have a differentiated
dark grey feeling and become more colorfully tinted with rising base_chroma
levels.
Tip: By interatively exploring different values with the --theming-widget
option you can get a good feeling of what this does and how you want to set
it.
Base and accent colors
theme.dark:
base_chroma = 34
base_hue = 180
accent_brightening = 85
accent_chroma = 50
accent_hue = 23
The theme is initially monochromatic (without color).
With base_chroma (0-100 (%)) you control the colorfulness of the theme,
while the base_hue (0-360 (degrees)) setting sets the shade of the color.
Some elements on the page are accentuated (prominent buttons and the
"timeline" of the audio player). The colorfulness of the accentuation is
customized with the accent_chroma (0-100 (%)) setting, while the
accent_hue (0-360 (degrees)) setting adjusts its shade. The
accent_brightening (0-100 (%)) setting allows you to brighten or darken
this color accent (it's at 50% by default), which allows for stronger
and deeper colors still.
Background image
theme.dark:
background_alpha = 23
background_image = simple_texture.jpg
The previously described theme.dark settings can be handled carefree - no
matter the settings, your site will stay readable (at worst it may look
funny). When you set a background image however, choose carefully what image
you use and how opaque you make it. Sharp details and strong contrasts within
the image and against the text of the site will render the site hard to read
or even unreadable. That said, background_image lets you reference the
image to use, and with background_alpha (0-100 (%)) you can optionally
control its opaqueness.
theme.font
Default-able
Use the prefixed form track.theme.font outside of track manifests
track.theme.font outside of track manifests
By default, faircamp bundles and uses the Barlow font on a generated site, but alternatively you can also configure your site to only use your visitors' system font(s):
Using the standard sans serif font from the system of the visitor:
theme.font: system-sans
Using the standard serif font from the system of the visitor:
theme.font: system-serif
Using the standard monospace font from the system of the visitor:
theme.font: system-mono
To reset to faircamp's bundled default font:
theme.font: bundled-default
Usage of custom fonts entails complexities and responsibilities that faircamp
can not generically automate away, therefore this requires manual integration
through the site.assets and site.metadata options - this also
gives a great amount of flexibility, including the possibility to use multiple
fonts and tweak their integration down to the last detail where needed.
theme.light
Default-able
Use the prefixed form track.theme.light outside of track manifests
track.theme.light outside of track manifests
theme.light:
accent_brightening = 85
accent_chroma = 50
accent_hue = 23
base_chroma = 34
base_hue = 180
background_alpha = 23
background_image = simple_texture.jpg
Adjusts the colors and/or background image of the light theme. Note that
theme.mode needs to be either adaptive or light for this to have
any effect, otherwise the light theme is never displayed.
Tip: With the
--theming-widgetCLI option you can interactively explore thetheme.darkandtheme.lighttheme settings. Build your site with this option enabled and every page will contain the theming widget (don't forget to turn it off before deployment).
Dynamic range
theme.light:
dynamic_range = 24
At the highest dynamic_range (100%) the light theme is the most bright and
the least colorful (depending on chroma settings, see below). The lower the
dynamic_range (0% being the default) the more it will have a differentiated
light grey feeling and become more colorfully tinted with rising
base_chroma levels.
Tip: By interatively exploring different values with the --theming-widget
option you can get a good feeling of what this does and how you want to set
it.
Base and accent colors
theme.light:
base_chroma = 34
base_hue = 180
accent_brightening = 85
accent_chroma = 50
accent_hue = 23
The theme is initially monochromatic (without color).
With base_chroma (0-100 (%)) you control the colorfulness of the theme,
while the base_hue (0-360 (degrees)) setting sets the shade of the color.
Some elements on the page are accentuated (prominent buttons and the
"timeline" of the audio player). The colorfulness of the accentuation is
customized with the accent_chroma (0-100 (%)) setting, while the
accent_hue (0-360 (degrees)) setting adjusts its shade. The
accent_brightening (0-100 (%)) setting allows you to brighten or darken
this color accent (it's at 50% by default), which allows for stronger
and deeper colors still.
Background image
theme.light:
background_alpha = 23
background_image = simple_texture.jpg
The previously described theme.light settings can be handled carefree - no
matter the settings, your site will stay readable (at worst it may look
funny). When you set a background image however, choose carefully what image
you use and how opaque you make it. Sharp details and strong contrasts within
the image and against the text of the site will render the site hard to read
or even unreadable. That said, background_image lets you reference the
image to use, and with background_alpha (0-100 (%)) you can optionally
control its opaqueness.
theme.mode
Default-able
Use the prefixed form track.theme.mode outside of track manifests
track.theme.mode outside of track manifests
theme.mode: light
This controls the overall theme appearance – dark, light or adaptive.
The default setting is adaptive, which means that a dark or
light theme will be displayed automatically, based on browser/system
preferences of each site visitor.
With dark and light you can instead opt for a fixed dark or light
appearance for all visitors.
theme.round_corners
Default-able
Use the prefixed form track.theme.round_corners outside of track manifests
track.theme.round_corners outside of track manifests
To give a softer feel to your page, set the round_corners option to
enabled, this will add a round corner to your cover images:
theme.round_corners: enabled
By setting it to disabled you can restore the default behavior:
theme.round_corners: enabled
theme.waveforms
Default-able
Use the prefixed form track.theme.waveforms outside of track manifests
track.theme.waveforms outside of track manifests
By default, the width of each track's waveform on a multitrack release page will render at a different length, reflecting the duration of the track in relation to the longest track on the release - for instance if the longest track on a release is about two minutes long, that one will span the full width, but another track that is only about one minute long will span only half of that width. If you publish releases whose tracks have wildly varying lengths, shorter tracks might get very narrow in the interface. If this is a concern to you, or you just generally want all tracks to be full-width as an aesthetic choice, you can enable this alternative behavior with this setting:
theme.waveforms: absolute
You can also disable waveforms altogether, resulting in a more compact layout:
theme.waveforms: disabled
With relative you can restore the default waveform behavior:
theme.waveforms: relative
title
Local-only
This track setting can not inherit default values from other manifests
The track title is automatically derived from the audio file metadata (title tag) or filename of the track, however you can also override it with this option.
title: Is it Friday yet?
unlock_info
Default-able
Use the prefixed form track.unlock_info outside of track manifests
track.unlock_info outside of track manifests
In combination with the code setting of the download_access
option (download.access: code) and download_codes option, this
option lets you set the text that is displayed to your visitors when they are prompted for
a download code. Usually you will want to put instructions in the text that tell your
visitors how they can obtain a download code.
-- unlock_info
You should have received a download code in your confirmation mail
for this year's crowdfunding. Stay tuned in case you missed it,
we're currently planning the next run!
-- unlock_info
updated
Local-only
This track setting can not inherit default values from other manifests
updated: 2024-12-19T16:39:57-08:00
A date/time specifying when this track was last updated on the faircamp site. This will be primarily used in your Atom/RSS feeds as metadata for feed consumers.
Also see these related settings:
published– Date/time when this track was first published on the faircamp site.released– Date when this track was first released anywhere.
visibility
Default-able
Use the prefixed form track.visibility outside of track manifests
track.visibility outside of track manifests
visibility: featured
Controls the visibility level of this track (default: featured).
Available options:
featured(default) – The track is openly accessible, listed everywhere and included in the browse/search navigationpublic– The track is openly accessible, listed everywhere, but excluded from the browse/search navigationunlisted– The track is not publicly listed anywhere, visitors need to know and directly enter the URL to get to its page. If the track appears on a multitrack release it is additionally removed from the track list and also not included in download archives for that release.offline– The track is entirely omitted when generating the site and does not appear anywhere on it