Skip to content

Commit b957b8b

Browse files
committed
Use brace wrapped param
Signed-off-by: Ca Chen <[email protected]>
1 parent aad7dca commit b957b8b

File tree

3 files changed

+14
-32
lines changed

3 files changed

+14
-32
lines changed

public/js/extra.js

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,16 +15,19 @@ import { stripTags } from '../../utils/string'
1515

1616
import getUIElements from './lib/editor/ui-elements'
1717
import { emojifyImageDir } from './lib/editor/constants'
18-
import { parseFenceCodeParams, serializeParamToAttribute } from './lib/markdown/utils'
18+
import {
19+
parseFenceCodeParams,
20+
serializeParamToAttribute,
21+
deserializeParamAttributeFromElement
22+
} from './lib/markdown/utils'
23+
import { renderFretBoard } from './lib/renderer/fretboard/fretboard'
1924

2025
import markdownit from 'markdown-it'
2126
import markdownitContainer from 'markdown-it-container'
2227

2328
/* Defined regex markdown it plugins */
2429
import Plugin from 'markdown-it-regexp'
2530

26-
import { renderFretBoard } from './lib/renderer/fretboard/fretboard.js'
27-
2831
require('prismjs/themes/prism.css')
2932
require('prismjs/components/prism-wiki')
3033
require('prismjs/components/prism-haskell')
@@ -488,11 +491,12 @@ export function finishView (view) {
488491
// fretboard
489492
const fretboard = view.find('div.fretboard_instance.raw').removeClass('raw')
490493
fretboard.each((key, value) => {
494+
const params = deserializeParamAttributeFromElement(value)
491495
const $value = $(value)
492496

493497
try {
494498
const $ele = $(value).parent().parent()
495-
$ele.html(renderFretBoard($value.text()))
499+
$ele.html(renderFretBoard($value.text(), params))
496500
} catch (err) {
497501
$value.unwrap()
498502
$value.parent().append(`<div class="alert alert-warning">${escapeHTML(err)}</div>`)
@@ -1052,7 +1056,8 @@ const fenceCodeAlias = {
10521056
mermaid: 'mermaid',
10531057
abc: 'abc',
10541058
vega: 'vega',
1055-
geo: 'geo'
1059+
geo: 'geo',
1060+
fretboard: 'fretboard_instance'
10561061
}
10571062

10581063
function highlightRender (code, lang) {

public/js/lib/renderer/fretboard/css/i.css

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

public/js/lib/renderer/fretboard/fretboard.js

Lines changed: 3 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -30,34 +30,11 @@ const switchListH = {
3030
' ': `<div class='cell empty'>${dotEmptyH}</div>`
3131
}
3232

33-
const getArgument = (argName, content) => {
34-
const lineOfContent = content.data.split('\n')
35-
36-
let argv = ''
37-
let idx = ''
38-
for (idx in lineOfContent) {
39-
if (lineOfContent[idx].startsWith(argName)) {
40-
argv = lineOfContent[idx].split(argName)[1].trim()
41-
break
42-
}
43-
}
44-
45-
lineOfContent.splice(idx, 1)
46-
content.data = lineOfContent.join('\n')
47-
48-
return argv
49-
}
50-
51-
export const renderFretBoard = (data) => {
33+
export const renderFretBoard = (content, { title: fretTitle, type }) => {
5234
const fretboardHTML = $('<div class="fretboard_instance"></div>')
35+
const fretType = type.split(' ')
5336

54-
// parsing arguments
55-
let content = { data: data }
56-
const getTitle = getArgument('title:', content)
57-
const fretType = getArgument('type:', content).split(' ')
58-
content = content.data
59-
60-
$(fretboardHTML).append($(`<div class="fretTitle">${getTitle}</div>`))
37+
$(fretboardHTML).append($(`<div class="fretTitle">${fretTitle}</div>`))
6138

6239
// create fretboard background HTML
6340
const fretbOrientation = fretType && fretType[0].startsWith('v') ? 'vert' : 'horiz'

0 commit comments

Comments
 (0)