블록 확장

템플릿 블록을 확장하는 것은 저자에게 추가 기능을 제공하는 가장 좋은 방법입니다.

가장 일반적인 사용법은 실행 시간에 일부 태그내에서 내용을 처리하는 것입니다. 필터와 유사하지만 강화되었습니다. 단일 표현에만 국한되지않기 때문입니다.

새 블록 정의

블록은 플러그인에 의해 정의됩니다. 블록은 블록 디스크립터와 관련된 이름의 맵입니다. 블록 디스크립터는 적어도 process 메소드를 포함해야합니다.

module.exports = {
    blocks: {
        tag1: {
            process: function(block) {
                return "안녕 "+block.body+", 어떻게 지내니?";
            }
        }
    }
};

process 는 태그를 대체할 HTML 내용을 반환해야합니다. 이것과 GitBook API 에 관한 자세한 내용은 컨텍스트와 API를 참조하세요.

블록 인수 처리

인수는 블록에 전달될 수 있습니다:

{% tag1 "인수 1", "인수 2", name="테스트" %}
이것은 블록의 몸체입니다.
{% endtag1 %}

그리고 인수는 process 메소드 내에서 쉽게 접근 가능합니다:

module.exports = {
    blocks: {
        tag1: {
            process: function(block) {
                // block.args 은 ["인수 1", "인수 2"] 와 같습니다
                // block.kwargs 은 { "name": "테스트" } 와 같습니다
            }
        }
    }
};

하위 블록 처리

정의된 블록은 서로 다른 하위 블록으로 해석될 수 있습니다. 예를 들어 소스를 살펴봅시다:

{% myTag %}
    본체
    {% subblock1 %}
    하위 블록 1의 몸체
    {% subblock 2 %}
    하위 블록 2의 몸체
{% endmyTag %}

results matching ""

    No results matching ""