getTableOfContentsModelJSON

3.2.0 버전부터 지원, 2.20.0 버전부터 지원합니다.

현재 에디터의 목차(TOC) 모델을 JSON 배열로 반환합니다. (트리 구조 모델)

매개변수

이름타입속성설명
shouldAssignIdboolean기본값: falseTOC 모델에 새 ID를 할당할지 여부를 설정합니다. 아래 shouldAssignId를 참고합니다.

shouldAssignId

TOC 모델에 새 ID를 할당할지 여부를 설정합니다.

  • true일 때, 'toc_' 접두사가 적용된 ID가 사용됩니다. 저장/불러오기 후에도 본문의 TOC ID를 유지하려면 updateTableOfContentsIds를 호출하여 ID를 동기화해야 합니다.
  • false일 때, 에디터에서 내부적으로 사용하는 ID가 적용되며, 저장/불러오기마다 새로 부여됩니다. ID가 에디터의 내부 ID가 아닐 경우, 기존 ID는 저장/불러오기 시에 그대로 유지됩니다.

반환값

타입설명
ArrayTOC 모델 JSON Array. 트리 구조 모델에 대해서는 아래 반환값을 참고합니다.

반환값

TOC 모델 JSON 배열.

예) 트리 구조 모델

[
    {
        id: TOC ID,
        text: text,
        children: [...],
        level: TOC level
    }
]

내용의 TOC 요소 ID를 TOC 모델과 동기화하려면 updateTableOfContentsIds를 호출합니다.

이 메서드는 에디터에서 실제 목차 요소의 ID를 최신 목차 모델과 일치하도록 갱신합니다.

예) editor.updateTableOfContentsIds();

'editor.titleStyle'을 설정하면 특정 클래스가 있는 요소를 목차 항목으로 추출할 수 있습니다.

자세한 내용은 설정(Configuration) 문서를 참고합니다.

예시

1.00

// How to get the model

// 1. TOC model with the IDs used internally by the editor
var model = editor.getTableOfContentsModelJSON();

// 2. TOC model with IDs that have the TOC-only prefix
var model = editor.getTableOfContentsModelJSON(true);
// How to keep TOC IDs in the content stable across save/load

// 1. Get the TOC model with IDs that have the TOC-only prefix
editor.getTableOfContentsModelJSON(true);

// 2. Synchronize the IDs of TOC elements in the content with the TOC model
editor.updateTableOfContentsIds();

shouldAssignId: false

[
    {
        "id": "se_011fb8a1-b74d-49a9-a7ef-a16c3eecb939",
        "text": "Heading 1",
        "children": [
            {
                "id": "se_ab77dbab-8fcc-418a-bdd2-365930aab960",
                "text": "Heading 2",
                "children": [
                    {
                        "id": "se_2e4330a5-ef87-404c-99d3-1c6d79937289",
                        "text": "Heading 3",
                        "children": [
                            {
                                "id": "se_19102d03-cb41-430d-b9c9-b7a8ce823525",
                                "text": "Heading 4",
                                "children": [
                                    {
                                        "id": "se_c45d1628-cc3f-4ab2-b2bc-6cd23ef6fec1",
                                        "text": "Heading 5",
                                        "children": [
                                            {
                                                "id": "se_85d9cfed-46af-497d-9670-f85cc467dafa",
                                                "text": "Heading 6",
                                                "children": [],
                                                "level": 5
                                            }
                                        ],
                                        "level": 4
                                    }
                                ],
                                "level": 3
                            }
                        ],
                        "level": 2
                    }
                ],
                "level": 1
            }
        ],
        "level": 0
    }
]

shouldAssignId: true

{
    "id": "toc_011fb8a1-b74d-49a9-a7ef-a16c3eecb939",
    "text": "Heading 1",
    "children": [
        {
            "id": "toc_ab77dbab-8fcc-418a-bdd2-365930aab960",
            "text": "Heading 2",
            "children": [
                {
                    "id": "toc_2e4330a5-ef87-404c-99d3-1c6d79937289",
                    "text": "Heading 3",
                    "children": [
                        {
                            "id": "toc_19102d03-cb41-430d-b9c9-b7a8ce823525",
                            "text": "Heading 4",
                            "children": [
                                {
                                    "id": "toc_c45d1628-cc3f-4ab2-b2bc-6cd23ef6fec1",
                                    "text": "Heading 5",
                                    "children": [
                                        {
                                            "id": "toc_85d9cfed-46af-497d-9670-f85cc467dafa",
                                            "text": "Heading 6",
                                            "children": [],
                                            "level": 5
                                        }
                                    ],
                                    "level": 4
                                }
                            ],
                            "level": 3
                        }
                    ],
                    "level": 2
                }
            ],
            "level": 1
        }
    ],
    "level": 0
}