/vscode-markdown-abc

VSCode Markdown Extension for rendering abc notation

Primary LanguageTypeScriptMIT LicenseMIT

VSCode Markdown Preview ABC Notation Support

Adds support for abc music notation to VS Code's builtin markdown preview.

Features

  • Render abc notation within code blocks
```abc
X:1
T:Speed the Plough
M:4/4
C:Trad.
K:G
|:GABc dedB|dedB dedB|c2ec B2dB|c2A2 A2BA|
  GABc dedB|dedB dedB|c2ec B2dB|A2F2 G4:|
|:g2gf gdBd|g2f2 e2d2|c2ec B2dB|c2A2 A2df|
  g2gf g2Bd|g2f2 e2d2|c2ec B2dB|A2F2 G4:|
```

Back End

Utilises and packages the abcjs library for rendering. Currently running on the 6.0.0-beta

Manual Installation

  1. Ensure vsce is installed via npm install -g vsce
  2. Clone this git repository
  3. Initialise the npm packages npm install
  4. Package the extension vsce package
  5. Install into code code --install-extension vscode-markdown-abc-0.0.1.vsix

Future Work

  • Fix Packaging Metadata
  • Add Extension Icon
  • Publish to VSCode Marketplace
  • Publish to Open VSX Registry
  • Display Errors
  • Add support for other renderer options

Acknowledgements

  • This extension is heavily based off of Markdown Preview Mermaid Support.

  • ABC.js is the main workhorse rendering the notation. All credits for the interpreter and rendering goes to that team.

  • abc notation is a specification invented by Chris Walshaw to notate music in plain text format. Credits go to him and the other contributors for coming up the specification.