제 멋대로 변경되는 티스토리 에디터

2017. 6. 13. 16:26Coders

휴우... 어제인가? 그제인가? 아무튼, 코딩 관련 글을 좀 쓰다가, 꺽쇠 기호 때문에 좀 짜증이 나더군요.


참, 꺽쇠 이야길 하기 전에 먼저 썰을 풀어야 할 내용이 있는데요, 예전에 코딩 관련 글에 프로그램 소스를 표기할 때를 위해 Syntaxhighlighting 이라는 기능을 사용했었는데요, 무심코 반응형 웹으로 스킨을 변경하면서, 이 기능을 그냥 싹- 날려버렸더군요. 그래서 어찌 다시 적용을 할까 말까 고민하던 차, 사실상, <pre> 태그가 이런 내용(소스코드)을 표시하기 위한 태그이기 때문에 앞으로는 굳이 Syntax Highlighting을 하지 않고 그냥 무색무취의 소스코드만 올려도 뭐 괜찮겠지 하는 생각으로 글을 작성하기 시작했습니다.


그런데, 그렇게 하면서 약간의 문제가 생긴 겁니다.


"꺽쇠" 이걸 말합니다.

< > 

헌데, 이게 html 에서는 태그로 인식이 되기 때문에, 해당 기호를 표현하기 위해선, 다음과 같이 써야 합니다.

  • < : &lt; : less then (~보다 작다 의 뜻)
  • > : &gt; : greater then (~보다 크다 의 뜻)

이 부분 때문에 사실상 예전에 Syntaxhighlighting 기능을 사용할 때에도 소스코드 상에서 꺽쇠를 일일이 &lt;, &gt; 로 바꿔주는 작업을 선행한 후에 html 코드로 붙여넣기를 했거든요. 가만 생각해 보니, 이게 참 불편한 방식인지라, 블로그 스킨의 jQuery 로딩 부분에 다음 펑션을 호출하는 부분을 넣어 주었습니다. (pre 태그에 withsojucode 라는 클래스를 찾아서 꺽쇠를 해당 이스케이프 문자로 바꿔 주는 스크립트)

var sourceCodeReplacer = function() {
	$('pre.withsojucode').each(function(index) {
		var sourceCode = $(this).html();
		sourceCode = sourceCode.replace('<', '&lt;');
		sourceCode = sourceCode.replace('>', '&gt;');
		$(this).html(sourceCode);
	});
};


이제 잘 보이겠지. 하고서는 띄워 보니 엥? 뭔가 좀 많이 이상합니다.

예를 들어, 뭐 다음과 같은 코드가 있다고 치면,


List<MY_STRUCT> a = null;

이렇게 바뀝니다.

List<my_struct> a = null;


뭐, 대/소문자가 뭔 상관이에유? 하실 분도 있겠지만, 대부분의 코딩이란 건, 대/소문자를 구분하는데, 이런 식으로 Generic 관련 값들이 소문자로 일괄로 바뀌어 버리면 실제 전달코자 하는 내용이 제대로 전달되지 않겠죠.


이게 문제는 문제인 게, 일단 저장이 되고, 페이지가 뜰 때 바꿔주는 거라면 제가 어찌 해 보겠지만, 가만 보니 지금도 편집하고 있는 이 에디터가 그냥 바꿔버린다는 겁니다. 제가 판단키로는, 상단 우측의 html 체크박스를 체크할 때 마다, 그리고, 저장할 때 마다 다 소문자로 바꿔버리는 것 같습니다.


이러한 문제는, 사실, 다음(카카오인가요?) 에디터의 웹 표준을 지키고자 하는 노력에서 나온 결과일 수 있습니다. 사실 html 태그를 사용하는 표준은 "태그는 소문자로 쓴다." 이거든요.


뭐 그러한 노력이 맞고, 또 어느 정도는 이해는 갑니다만 말이죠, 그래도 좀 뭔가 해결할 수 있는 방법이 없다는 게 좀 속이 상하네요.

그런데 사실상, 제가 앞서 작성된 sourceCodeReplacer 펑션을 태우려고 해도, pre 태그 안에 있는 꺽쇠들이 브라우저의 해석에 따라 태그로 인지해 버릴 때에는 제대로 작동하기도 힘들 수 있다는 생각이 들기도 하네요.


아무튼, 그러 합니다. (도대체 뭔 소리인지. 저도 잘.)


덧붙여, 스킨은 다시 또 바꿔볼 생각입니다. 반응형 웹이 마냥 좋은 것 만은 아닌 것 같아요.(여러가지 이유료) 바꾸더라도 또 반응형웹 스킨으로 갈아탈 생각이긴 합니만.(이거 또 뭔 소리인지.)

'Coders' 카테고리의 다른 글

한국 DNS 리스트  (0) 2017.03.06
EPPlus - 닷넷으로 Excel 핸들링할 때  (0) 2017.02.28
Postgresql on Windows Server 2008 R2  (0) 2016.11.08