Type something to search...

Audio Collections

Share music, podcasts, and DJ mixes

Audio collections showcase music, podcasts, DJ mixes, and other sound content with an embedded player.

Creating an Audio Entry

Using the CLI

astrolock content mixes "Summer Vibes Mix"

This creates a content file and tells you where to upload the audio.

Manual Creation

Create a file at content/mixes/summer-vibes-mix.md:

---
title: "Summer Vibes Mix"
date: 2025-01-15T00:00:00Z
author: "DJ Name"
description: "A warm summer house mix"
genres:
  - House
  - Deep House
---
Track notes and description here...

Then upload the audio file to: public/audio/content/mixes/summer-vibes-mix.mp3

Tip

Automatic file matching: When you don’t specify a media object, Astrolock automatically looks for an audio file matching the markdown filename in public/audio/content/{collection}/.

File Naming Convention

Astrolock uses “magic” file inference to simplify your workflow:

Markdown FileExpected Audio File
content/mixes/summer-vibes.mdpublic/audio/content/mixes/summer-vibes.mp3
content/podcasts/episode-1.mdpublic/audio/content/podcasts/episode-1.mp3

The filename (without extension) must match between the markdown and audio file.

Info

The default extension is .mp3. Configure different extensions per collection in astrolock.yaml.

Frontmatter Reference

Minimal Example

Only the title is required - everything else is inferred:

---
title: "Summer Vibes Mix"
date: 2025-01-15T00:00:00Z
---

Full Example

All available options:

---
title: "Deep House Sessions Vol. 1"
date: 2025-01-15T00:00:00Z
author: "DJ Smooth"
description: "Two hours of deep, melodic house music"
image: "/images/content/mixes/deep-sessions-1.jpg"
genres:
  - Deep House
  - Melodic House
categories:
  - Monthly Mix
tags:
  - Featured
duration: "2:00:00"
bpm: 122
key: "Am"
media:
  name: "deep-house-sessions-1"
  author: "DJ Smooth"
  collection: "mixes"
  contentType: "audio"
  contentExtension: "mp3"
tracklist:
  - time: "00:00"
    artist: "Artist One"
    title: "Opening Track"
  - time: "06:30"
    artist: "Artist Two"
    title: "Second Track"
draft: false
---
Welcome to the first volume of Deep House Sessions...

Required Fields

FieldDescription
titleThe audio title

Common Fields

FieldDescriptionExample
dateRelease date2025-01-15
authorCreator name"DJ Name"
descriptionSummary text"A summer mix..."
imageCover art path"/images/content/mixes/cover.jpg"
genresMusic styles (list)["House", "Techno"]
durationLength"1:23:45"

Audio-Specific Fields

FieldDescriptionExample
bpmBeats per minute122
keyMusical key"Am"
tracklistTrack list (see below)Array of tracks

Media Object

Override automatic file detection:

media:
  name: "file-name" # Filename without extension
  author: "Artist Name" # Audio creator
  collection: "mixes" # Collection name
  contentType: "audio" # Always "audio"
  contentExtension: "mp3" # File extension (.mp3, .wav, etc.)

Info

The media object is optional. If omitted, Astrolock infers the file location from the markdown filename.

Tracklists

For mixes and compilations, document the tracks:

tracklist:
  - time: "00:00"
    artist: "Daft Punk"
    title: "One More Time"
  - time: "05:32"
    artist: "Basement Jaxx"
    title: "Where's Your Head At"
  - time: "10:15"
    artist: "Fatboy Slim"
    title: "Right Here Right Now"

Warning

Coming Soon: Tracklist rendering with clickable timestamps is planned but not yet implemented. The data is stored in frontmatter for future use.

Cover Art

Add a cover image:

---
image: "/images/content/mixes/summer-vibes.jpg"
---

Put the image at public/images/content/mixes/summer-vibes.jpg.

Tip

Square images (1:1 ratio) work best for audio cover art.

Index Style

Control how your audio collection index page displays using indexStyle:

StyleDescription
postsCard grid with pagination and sidebar (default)
contentRenders -index.md body content with optional TOC

Configure in .astrolock/astrolock.yaml:

collections:
  mixes:
    displayName: "DJ Mixes"
    contentType: "audio"
    features:
      indexStyle: "posts"
      archive: true

Rekordbox Import

If you use Rekordbox for DJ mixes, you can automatically import your tracklists:

astrolock import rekordbox path/to/export.xml

See Rekordbox Import for setup details.

Next Steps