yamd 설명서
  1. 시작하기
  2. API

yamd

yamd: {
    parser: { ... },
    renderer: { ... },
    highlighter: { ... },
    ast2nt: Function,
    render: Function,
    highlight: Function,
    cascade: Function,
    set: Function,
    addCodeMirrorMode: Function
}

parser

파서. 개별 문서 참조.

renderer

렌더러. 개별 문서 참조.

highlighter

구문 강조를 한다. 개별 문서 참조.

ast2nt(ast, options)

AST로부터 노드의 트리를 만든다. yamd.renderer.ast2nt(ast, options)와 같은데 yamd의 글로벌 옵션이 적용되며 options는 글로벌 옵션을 cascade 한다.

Parameters

Returns

Element 노드 트리.

render(input, options)

입력으로부터 HTML을 렌더링 한다.

Parameters

Returns

string 렌더링 된 HTML.

Examples

yamd.render('[*hello]');
<p><i>hello</i></p>

highlight(input)

yamd 코드를 구문 강조한다. 출력 형식에 관하여는 yamd.highlighter.pt2hl을 참조하라.

Parameters

Returns

string 구문 강조된 코드. HTML로 되어 있다.

Examples

yamd.highlight('[*hello]');
<span class="yamdhl-elem"><span class="yamdhl-lbm">[</span><span class="yamdhl-tn">*</span><span class="yamdhl-sp"></span><span class="yamdhl-tx">hello</span><span class="yamdhl-rbm">]</span></span>

cascade(options)

현재의 글로벌 옵션을 보존하면서 options로 적당히 덮어 쓴다. yamd.cascadeyamd.set을 한 번도 호출하지 않은 경우 yamd.set과 효과가 같다.

Parameters

Examples

// global options: {}

yamd.cascade({
    tags: {
        // deletes default element [=]
        '=': false
    }
});

// global options: {tags: {'=': false}}

yamd.cascade({
    tags: {
        // overwrites default element behavior of [*].
        // wraps content with '*'.
        '*': new yamd.renderer.Tag({
            name: '*',
            display: 'inline',
            renderer: (el, options) => {
                if (el.innerIsText)
                    return el.text(`*${el.innerText}*`);
                return el.html(`*${el.innerHtml}*`);
            }
        })
    }
});

// global options: {tags: {'=': false, '*': <Function>}}

set(options)

현재의 글로벌 옵션을 버리고 options로 설정한다. yamd.cascadeyamd.set을 한 번도 호출하지 않은 경우 yamd.cascade와 효과가 같다. yamd.set({})으로 글로벌 옵션을 없애버릴 수 있다.

Parameters

Examples

// global options: {}

yamd.set({
    tags: {
        // deletes default element [=]
        '=': false
    }
});

// global options: {tags: {'=': false}}

yamd.set({
    tags: {
        // overwrites default element behavior of [*].
        // wraps content with '*'.
        '*': new yamd.renderer.Tag({
            name: '*',
            display: 'inline',
            renderer: (el, options) => {
                if (el.innerIsText)
                    return el.text(`*${el.innerText}*`);
                return el.html(`*${el.innerHtml}*`);
            }
        })
    }
});

// global options: {tags: {'*': <Function>}}

addCodeMirrorMode(CodeMirror)

CodeMirror에 yamd 구문 지원을 추가한다.

Parameters