코드 블럭 삽입 기능을 이용해 문서에 코드를 삽입해 보세요.

체험하기

<!-- Synap Editor -->
<script src='/se/resource/synapeditor/synapeditor.config.js'></script>
<script src='/se/resource/synapeditor/synapeditor.min.js'></script>
<link href='/se/resource/synapeditor/synapeditor.min.css' rel='stylesheet' type='text/css'>

<!-- plugins -->
<script src="/se/resource/synapeditor/plugins/codeBlockHighlighter/codeBlockHighlighter.min.js"></script>

<select id="themeSelect">
    <option value="light">Light</option>
    <option value="dark">Dark</option>
</select>

<div style="background-color: #ffffff; width:99%; height:500px;">
        <div id="synapEditor">
			<pre class="se-code-block"><code class="hljs"><span class="hljs-keyword">function</span> <span class="hljs-title function_">foo</span>(<span class="hljs-params"></span>) {
    <span class="hljs-variable language_">console</span>.<span class="hljs-title function_">log</span>(<span class="hljs-string">"HI"</span>);
}</code></pre>
<p style="margin: 16px 0px; display: block; overflow-wrap: break-word;">코드 하이라이트가 적용된 코드를 보려면 미리보기 버튼을 클릭해 주세요.<br></p>
</div>
<script>
    let config = Object.assign(synapEditorConfig, {
        "editor.license": "/se/resource/license.json",
        "editor.toolbar": [
            "new", "|",
            "codeBlock",
            "preview"
        ],
        "editor.menu.show": false,
        "editor.preview.style.urls": ["/se/resource/synapeditor/plugins/codeBlockHighlighter/themes/atom-one-light.min.css", "/se/resource/synapeditor/plugins/codeBlockHighlighter/themes/atom-one-dark.min.css"]
    });

    window.editor = new SynapEditor(
        "synapEditor",
        config,
        document.getElementById('synapEditor').innerHTML
    );

	// editor 기본 설정 end

    let isLight = true;

document.getElementById('themeSelect').addEventListener('change', (e) => {
        const selectedTheme = e.target.value; // 'light' | 'dark'

        const links = window.editor
            .getElement()
            .find('.se-contents-preview')
            .contents()
            .find('link')
            .toArray();

        links.forEach(link => {
            const isLightTheme = link.href.includes('atom-one-light');
            link.disabled =
                selectedTheme === 'light'
                    ? !isLightTheme
                    : isLightTheme;
        });
    });


</script>