테스트 사이트 - 개발 중인 베타 버전입니다

Syntax Hightlight 적용하기

그누보드 5.4버전에서 추가된 기능 중 하나인 훅을 이용하였습니다. 따라서 훅을 지원하지 않는 버전에서는 작동되지 않습니다.

 

extend 폴더에 아무이름.php 로 아래 내용을 입력하시면 됩니다.

 

글 작성시 [ code] 와 [ /code] 사이의 텍스트에 적용됩니다.

( [ code 에서 중간 공백은 지워주세요.)

 

[code]

<?
    function kh_tail_sub()
    {

        global $wr_id;


        // 게시판에서 view.php 호출할때 적용하도록
        if($_SERVER['SCRIPT_NAME'] != '/bbs/board.php' || !$wr_id) return;
    ?>
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.15.6/styles/a11y-dark.min.css">
<script src="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.15.6/highlight.min.js"></script>

<script>
function sh(id) {
    var $id = $("#" + id);
    if ($id.length > 0) {
        var html = $id.html();
        html = html.split("[ code]").join("<pre><code>");
        html = html.split("[ /code]").join("</pre></code>");
        $id.html(html);
        $id.find("pre>code").each(function() {
            var text = $.trim($(this).text());
            $(this).text(text);
        });
    }
}

$(function() { 
    sh("bo_v_con"); 

    hljs.initHighlighting();
});
</script>
    <?
    }
    add_event('tail_sub', 'kh_tail_sub', G5_HOOK_DEFAULT_PRIORITY);
?>

[/code]

 

* 참고
- https://highlightjs.org/ 
- https://sir.kr/g5_tip/4897

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 15개

감사합니다. ^^
훅은 이렇게 쓰는구나를 알려주셔서 감사합니다.
감사합니다~!

5.4버전에서 짧은 주소 사용하는 경우는 아래 부분을 수정해야 되겠군요.
if($_SERVER['SCRIPT_NAME'] != '/bbs/board.php' || !$wr_id) return;
짧은주소를 사용하더라도 실제 파일은 동일하기 때문에 수정하실 필요없습니다 ^^
아하! 그렇군요~^^
하긴.. rewriterule 로 변경하는거니..;; 제가 생각이 짧았네요ㅠ
좋은 정보 감사드립니다.
간단하니 좋군요
스마트에디터2 사용중인데요.
줄바꿈이 안되고 한줄로 나오는데 해결책이 있을런지요?
다들 잘 되시나요? 저는 왜 안될까요? 위 설명대로 어렵지 않게 했는데 글을 쓰고
[ code]......[ /code] 이렇게 감쏴 줬는데 소스가 그대로 나오네요.
음...뭐가 문제 일까요?
줄바꿈이 안되는데요. 혹시 되시는 분 있으신가요? 방법좀 공유해주세요.
잘 안되실까요? [ code]... [ /code] 여기 부분 공백을 제거 해주니까 저는 잘되는데 어디서 문제실까요?

게시판 목록

그누보드5 팁자료실

글쓰기
🐛 버그신고