웹마스터 팁

안녕하세요 6년만인가요... 너무 오랫만에 와서 흔적 좀 남기려... 예전에도 자주 오지는 않았지만...

Code-Highlighter 새 버전 3.0.83은 줄바꿈이 안되는 모양입니다? (혹시 저만 그런줄 알고 있는 건 아니겠죠?)

가로 스크롤 바를 없애 보려고 애쓰다 보니... 이렇게 해서 줄바꿈을 하고 있습니다.

우연히 보게 된 그누보드에 적용하느라 여기 저기 찾아 다니면서 삽질하셨다는 그 분께 감사의 말씀을 드리며...

XE에 적용해 보니 이렇게 하면 되더군요.

 

1.선택해서 사용하시는 테마의 shCoreXXXX.css 파일을 열어서 이렇게 넣어 주세요.

.syntaxhighlighter .line {
  white-space: pre-wrap !important;
  word-break: break-all !important;
}
줄번호는 다소 다를 수 있습니다. 그리고 word-break: 속성은 원하시는 것으로 바꾸시면 됩니다. (단어 단위로 줄바꿀 것인지...
글자단위로 줄빠꿈을 할 것인지 말이죠. 위의 경우는 글자 단위로 줄바꿈을 하게 됩니다)
 
normal : 기본값. 기본 줄 바꿈 규칙을 사용합니다.
break-all : 오버플로를 방지하기 위해 모든 문자에서 단어가 깨질 수 있습니다.
break-word : 오버플로를 방지하기 위해 임의의 지점에서 단어가 깨질 수 있습니다.
 

2.shCore.js 파일을 열어서 맨 끝에서 줄바꿈 하셔서 아래 스크립트를 넣어주세요.

function lineWrap(){ 
    var wrap = function () { 
        var elems = document.getElementsByClassName('syntaxhighlighter'); 
        for (var j = 0; j < elems.length; ++j) { 
            var sh = elems[j]; 
            var gLines = sh.getElementsByClassName('gutter')[0].getElementsByClassName('line'); 
            var cLines = sh.getElementsByClassName('code')[0].getElementsByClassName('line'); 
            var stand = 15; 
            for (var i = 0; i < gLines.length; ++i) { 
                var h = $(cLines[i]).height(); 
                if (h != stand) { 
                    console.log(i); 
                    gLines[i].setAttribute('style', 'height:' + h + 'px !important;'); 
                } 
            } 
        } 
    }; 
    var whenReady = function () { 
        if ($('.syntaxhighlighter').length === 0) { 
            setTimeout(whenReady, 800); 
        } else { 
            wrap(); 
        } 
    }; 
    whenReady(); 
}; 
lineWrap(); 
$(window).resize(function(){lineWrap()});
우측의 코드는 CSS가 줄 바꿈 해주고 좌측의 번호는 자바스크립트가 줄 바꿈 해줍니다. 나중에는 어쩌면 가로 스크롤바가
보고싶어 질 수도 있겠습니다.
 
글을 다 적고 나니 뭔가를 빠트린 듯 희미한 불안감이... 사용하고 있는 것을 확인해 보고 빠진 것이 있으면 조속히 첨부 
하겠습니다.
태그 때문인가요? 김밥 옆구리 터지듯 내용이 게시판을 뚫고 나가 버리는 군요. 어찌할 바를 모르겠군요.
PS:튀어 나가는걸 잡아 보려니... 스타일 속성중에 필터링 되는 것이 있는 모양입니다. 수정 클릭하고 들어오면 overflow:hidden 가 사라지는군요.
등록 할 때는 남아 있는 것 같은데... 더 손대지 말아야지. ㅡㅡ
.
 
PS

3. Popup창 띄우고 미리보기 할 때 첫번째 화면에만 적용되는 문제


추가로 해 준 것이 있네요. Editor 에서 Code-highlighter를 띄웠을 때에 첫번째 미리보기 버튼 클릭에만 반응 하는데, 미리보기 할 때마다 적용되어서 보여지려면 Popup.html 파일에 한줄 넣어주세요.
         window.SyntaxHighlighter.all();
         lineWrap();
줄번호는 다를 겁니다. 밑에서 몇번째 일텐데 window.SyntaxHighlighter.all(); 줄을 찾아 그 아래 lineWrap(); 줄만 넣어주세요.
기존코드는 창 크기가 조절되면 발생하는 Event에 물려 있기는 한데 미리보기 할 때마다 창을 조절하기는 번거롭겠습니다.
 
 
늘 평안들 하시길...
 
 
출처 : 참고페이지 : https://sir.kr/g4_tiptech/33028 (그누보드에 적용하는 방법을 올리신 분)
제목 글쓴이 날짜
검색엔진 네이버 사이트 순위 SEO 검색엔진 최적화 작업해도 안 올라간다면.. [1] file CJM 2022.05.16
XE 1.4에서 HTML5 에디터 사용하기 (Flash 없는) [3] file Toby 2021.02.24
AI 개발에 적합한 5가지 프로그래밍 언어 ppumweb 2020.01.06
ZB게시판에 구글광고 달수 없나요? [2] 손주사랑 2019.11.23
대부분 쉬운설치로 인해 홈페이지 빈 페이지가 뜨는 에러는.. CJM 2019.10.24
관리자 아이디/비번을 잃어버렸을때, 관리자페이지 접속을 못할 때 TIP [1] file 플레이웹 2019.08.13
관리자페이지의 회원목록에서 타회원들의 비밀번호 찾기 질문/답변 수정 가능하도록 하려면.. sejin7940 2019.07.03
로그인 실패시 실패내역 쪽지와 메일 발송 되는걸 발송 안 되게 하려면.. sejin7940 2019.05.21
XE이전 작업순서 elancer 2019.03.28
act로 다른 페이지 보여주기 [1] 이온디 2018.07.25
Code-Highlighter 3.0.83 가로 스크롤바를 어디론가 보내 버리고 싶으신 분. 달빛늑대 2018.07.16
도메인 변경 또는 설치 폴더 변경시 이미지 주소변경하기 file 해피정닷컴 2018.06.08
단축url API 사용하시는 분들... 미스터강 2018.06.01
성공적인 홈페이지 제작을 위해 점검해야 될 사안 웹369 2017.12.05
사용자정의에서 URL형, email형, textarea 형등에서도 기본값 인식하게 하려면 sejin7940 2017.04.25
통합검색의 기본값을 '제목' 이 아니라 '제목+내용' 으로 하고 픈 경우 [2] sejin7940 2017.02.24
jQuery 플러그인 모음 Ansi™ 2017.01.25
DOS 공격에 대한 방어 프로그램입니다. 마루디자인 2017.01.23
클라우드플레어 사용시 서버 IP 노출방지 체크리스트 gnbstory 2016.12.09
네이버 웹마스터도구 최적화검증과 GZIP 영흥도우럭1 2016.11.18