2016년 5월 26일 목요일

SyntaxHighlighter 변경

블로거에 설정한 Syntax Highlighter가 갑자기 적용이 안됬다.
무슨일이지 싶어서 콘솔을 봤더니 불러오기 실패라고 한다. (SOF 글 - Failed to load resources when trying to perform syntax highlighting in a blog) 을 보니까, 전에 연결한 프로젝트가 없어졌다고 한다 (예...??!)

Syntax Highlighter를 배포하는 제작자의 링크를 직접 연결하면 되지만.. 문제는 하이라이트를 적용하는 구문이 다르다 (!)

<pre name="code" class="언어"> 로 사용하고 있었는데, 이제 원래 구문인 <pre class="brush: 언어"> 로 써야한다. 이제까지 적었던 글들을 모두 바꿔야 하는가.... 허어......

우선 원저작자걸로 다시 연결하려했으나 link랑 script 태그에 적은 http 가 https 로 강제 변환됐다. 이유는 모르겠으나 http://itsonlycode.blogspot.com/2015/06/blogger-setup-syntaxhighlighter-for.html 를 참고하여 새로 설정했다.

지금 포스트 이후로는 class="brush:언어;" 형태로 쓰겠지만, 이전의 포스트들의 HTML 태그를 수정하지 않고 그대로 사용하고 싶다.

그래서 아래와 같은 코드를 추가했다.
<script type='text/javascript'>
    function addBrushToClass(){
        var codes = document.getElementsByName("code");
        for(var i in codes){
            var originClass = codes[i].className;
            codes[i].className = "brush: " + originClass +";";
            //codes[i].setAttributes('name', 'converted');
        }
    }
    window.setTimeout(function() {
        addBrushToClass();
        SyntaxHighlighter.config.bloggerMode = true;
        SyntaxHighlighter.all();
    }, 50);
</script>

댓글 없음:

게시글 목록