chord-md-parser

0.0.2 • Public • Published

chord markdown parser

Build Status

MarkDown Extractor

Extracts chords and lirics from markdown python code

import { Extractor } from 'chord-md-parser';
let extractor = new Extractor({
  md: {
    filepath: null,
    content: 'CONTENT'
  }
})
 
let song = extractor.getSong()
song // -> array with only song lirics and tablatures/chords

ChordParser

Split roots and override roots from a chord string.

import { ChordParser } from 'chord-md-parser';
let parser = new ChordParser()
let chord = parser.parse('Bb7(9)/Cb');
 
// -----------------------
chord === { root: 'Bb',
            flavors: '7(9)',
            rootOverride: 'Cb' }

ChordPrint

Print chord string from chord object.

import { ChordPrint } from 'chord-md-parser';
 
let printed = ChordPrint.print({
  root: 'C',
  flavors: 'M7',
  rootOverride: 'G'
})
 
// -----------------------
printed === 'CM7/G'

ChordTransposer

Change root and

import { ChordTransposer } from 'chord-md-parser';
let transposer = new ChordTransposer()
 
let new_chord = transposer.transpose({
  root: 'C',
  flavors: 'M7',
  rootOverride: 'G'
}, 1)
 
// -----------------------
new_chord === { root: 'C#', flavors: 'M7', rootOverride: 'G#', index: 3 }

ChordsConverter

Gets all chords from a string and convert to an array of chord objects.

import { ChordsConverter } from 'chord-md-parser';
let converter = new ChordsConverter()
let all_chords = converter.getChordsList('     A7+    E7/4      B7/9    Dm(7+)');
 
// -----------------------
all_chords:
[
  {
    chord:{
      root: 'A',
      flavors: '7+',
      rootOverride: null
    },
    loc: { start: 5, size: 3 }
  },
  {
    chord:{
      root: 'E',
      flavors: '7/4',
      rootOverride: null
    },
    loc: { start: 12, size: 4 }
  },
  {
    chord:{
      root: 'B',
      flavors: '7/9',
      rootOverride: null
    },
    loc: { start: 22, size: 4 }
  },
  {
    chord:{
      root: 'D',
      flavors: 'm(7+)',
      rootOverride: null
    },
    loc: { start: 30, size: 6 }
  }
]

Tests:

# start azk [optional] 
$ azk shell
 
# run all tests 
$ npm test
 
# run all tests and watch 
$ npm run watch

using:

Readme

Keywords

Package Sidebar

Install

npm i chord-md-parser

Weekly Downloads

2

Version

0.0.2

License

Apache-2.0

Last publish

Collaborators

  • saitodisse