Skip to main content

MkDocs plugin for simple audio file embedding

Project description

mkdocs-audiotag

This is a plugin for the wonderful mkdocs static site generator that allows for easy embedding of audio files using the default HTML5 audio element.

This plugin was made as an alternative to mkdocs-audio, in order to support embedding multiple audio file sources. This is sometimes necessary because file formats and container types are not supported equally well in different browsers or on different platforms.

Quick start

Install the plugin

This package is not published on PyPi (yet), so we install from GitHub:

pip install mkdocs-audiotag

Enable the plugin in mkdocs.yml

plugins:
  - mkdocs-audiotag

Embed an audio file

![audio/ogg](my-audio-file.ogg)

Note: audio/ogg is the MIME type for the embedded file.

Configuration

You can customize the behavior and appearance of the audio element by specifying options under the plugin in your mkdocs.yml. The defaults are sane, so in most cases this isn't necessary.

# Default options
plugins:
  - mkdocs-audiotag:
      autoplay: false
      controls: true
      loop: false
      muted: false
      preload: 'metadata'
      width: 100%

Options

  • autoplay: If true, audio will start playing automatically when the page loads. MDN: autoplay

  • controls: If true, playback controls (play, pause, etc.) are shown. MDN: controls

  • loop: If true, audio will restart automatically after finishing. MDN: loop

  • muted: If true, audio will be muted on page load. MDN: muted

  • preload: Controls what gets downloaded on page load:

    • 'none': Don’t preload audio
    • 'metadata': Preload only metadata (default)
    • 'auto': Preload the whole file MDN: preload
  • width:
    Sets the CSS width of the audio player (e.g., '100%', '300px').
    MDN: style

Config examples

Use the default config options

plugins:
  - mkdocs-audiotag

Set audio playback to loop, don't preload anything

plugins:
  - mkdocs-audiotag:
      loop: true
      preload: none

Set the width of the audio player to 300 pixels

plugins:
  - mkdocs-audiotag:
      width: 300px

How to write the markdown content

There is no standard way to describe audio media in markdown. Inspired by mkdocs-audio, we use the same syntax as with images. Instead of a title or a static marker, we specify the file's MIME type, which must begin with audio/ (otherwise, the plugin will not recognise the tag).

![audio/ogg](my-audio-file.ogg)

To specify multiple source files, just include another file immediately below the first line, i.e. with no extra line breaks. The browser will try to load the first audio file. If that fails, it will move on to the next one, and so forth. This means you can put the preferred format first, and then add fallback options below. See notes on this browser behavior at MDN.

![audio/ogg](my-audio-file.ogg)
![audio/mpeg](my-audio-file.mp3)

If you need to caption the audio element, use a separate plugin for that.

MIME types

Some MIME types for common audio file formats are:

  • AAC/M4A: audio/mp4
  • MP3: audio/mpeg
  • OGG: audio/ogg
  • FLAC: audio/flac
  • WAVE: audio/wav
  • AIFF: audio/aiff

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mkdocs_audiotag-0.1.0.tar.gz (4.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mkdocs_audiotag-0.1.0-py3-none-any.whl (5.1 kB view details)

Uploaded Python 3

File details

Details for the file mkdocs_audiotag-0.1.0.tar.gz.

File metadata

  • Download URL: mkdocs_audiotag-0.1.0.tar.gz
  • Upload date:
  • Size: 4.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for mkdocs_audiotag-0.1.0.tar.gz
Algorithm Hash digest
SHA256 2797346a744af7ac45c7124971b563ed5ec0689295480910a7361501f739b4c4
MD5 8a83da0ea6b5839962a0182144f5be7d
BLAKE2b-256 ce2b0dc78779b931b1b88813ab2ef55152f3bb1c012a47f8e921c86cdb8abaa9

See more details on using hashes here.

File details

Details for the file mkdocs_audiotag-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for mkdocs_audiotag-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 91fe23f4bfbb03cd7066d0e764ac57c67903bad533c98b34fcb5a78439a4373f
MD5 616d65f4746d7f97a482f2b01344fa63
BLAKE2b-256 01d837dd4ed53890007394a88d97591892d02c3127a04f2b13d5b5ab084378d8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page