1 min read

Music Edition Readme

Readme file for Music Edition as features are added.

Custom Ghost Invite Email (Music Edition)

Replaced Ghost’s default invite email with a plain-text, song-focused version so new users understand they are adding songs (not writing blog posts).

This was done by editing the core templates:

/current/core/server/services/mail/templates/invite-user.html
/current/core/server/services/mail/templates/raw/invite-user.html

⚠️ Note: Ghost updates will overwrite these files.


Restore After Update

cp content/email-templates-backup/invite-user.raw.html \
   current/core/server/services/mail/templates/raw/invite-user.html

cp content/email-templates-backup/invite-user.html \
   current/core/server/services/mail/templates/invite-user.html

ghost restart

v1.2.5

  • Added a direct link from any song page to its Ghost editor URL
  • Uses {{id}} to construct the correct editor link dynamically
  • Rendered as a subtle pencil icon (✎) via .edit-ghost-link CSS class
  • Nearly invisible at rest, fully visible on hover
  • No authentication check required — Ghost login protects the editor naturally

v1.2.4

Chord Case Normalisation

  • Added normaliseChord() utility function inside the cpeEditor IIFE
  • First letter of every chord forced uppercase, remaining letters lowercase
  • Handles slash chords correctly (e.g. am/eAm/E)
  • Applied on import via parseChordPro() and on manual entry via openChordInput()

UI Cleanup — Paste Panel

  • Removed developer hint text from paste panel
  • "Clean with AI" button was already functional; stale "coming soon" label removed from HTML
  • "Load as-is" button retained — loads raw ChordPro directly into the editor without an AI call
  • CSS adjustments making editor fonts more readable

Known Issues

  • E#, B#, Fb, Cb do not exist in standard Western music theory — chord entry validation planned for a future release

v1.2.3

Wawautosa Rate Sheet

  • Added theme template for displaying Wawautosa Rate Sheet onto a television. This is a single HBS file that has no Ghost directives other than {#post} and {{content}} Content is dropped into a div and blocks are arranged into their respective divs with js. All .js and css are inline. Future updates are made to just the one HBS file.
  • While not part of Music Edition, a node.js proxy server was built on my droplet that serves weather from the Tempest weather station. API key from Tempest is secure.

Known Issues

  • Template should be changed from a custom template to a custom page as this will not be used elsewhere.