KLDP(drupal)에 글 쓸 때, 프로그램 소스 붙이기.
글쓴이: cinsk / 작성시간: 수, 2006/03/29 - 11:32오전
아직까지 drupal 자체 문제인지, BB code를 쓸 때, [code] 안이 제대로 처리되지 않습니다. 특히 "<stdio.h>"와 같은 부분이 tag로 인식되어 화면에 보이지 않는 경우가 있습니다. 또 코드의 syntax highlight 기능도 없는 것 같아서.. (빠른 시일내에 이런 기능이 추가되기 희망합니다.) 나름대로 현재 쓸 수 있는 방법을 정리해 보았습니다.
- 대괄호 [, ]는 각각 "[", "]"로 입력할 수 있습니다. 사실, 웬만한 기호 문자는 "&#xHHHH;" 꼴로 입력할 수 있습니다. 이 때 HHHH는 unicode 16진 문자이며, ASCII도 바로 입력할 수 있습니다. ASCII 표를 보려면 "man ascii"를 실행하기 바랍니다.
- "<", ">", "&", "©"등은 각각 "<", ">", "&", "©"로 입력할 수 있습니다.
문법에 맞게 하이라이트(syntax highligh)하는 방법은 현재 존재하지 않는 것 같습니다. 그래서 vim의 2html.vim script를 써서 다음과 같은 "htmlize" script를 만들었습니다. htmlize를 쓰기 위해, 입력 형식은 "Full HTML"을 써야 합니다. 만약 여러분이 hello.c를 붙여 넣고 싶다면 다음과 같이 실행한 후, 그 결과를 붙여 넣으면 됩니다:
$ cat hello.c | htmlize c
만약 바로 입력하면서 그 결과를 붙여 넣고 싶다면 그냥 실행하면 됩니다. 그리고 다 입력 후 ^D (control + D)를 누르고, 출력 내용을 붙여 넣으면 됩니다:
$ htmlize lisp (defun foo () (+ 1 2 3 4) ; sum all numbers ) ^D
눈치챘겠지만, htmlize의 첫번째 인자는 언어 확장자입니다. 즉 c, cc, lisp, sh, php 등 여러가지를 쓸 수 있습니다. 아래는 이 htmlize 소스이며, 이 소스도 htmlize로 만들어 낸 것입니다:
#!/bin/sh # # htmlize: htmlize given input with syntax highlighting. # Copyright (c) 2006 Seong-Kook Shin <cinsky @ gmail dot com> # # htmlize comes with ABSOLUTELY NO WARRANTY; # This is free software, and you are welcome to redistribute it # under certain conditions; Ask Google about GPL for more. # VIM=/usr/bin/vim TMP=/tmp CSCHEME=default BGCOLOR="#000000" FGCOLOR="#ffffff" if test $# -eq 0; then echo "usage: $0 LANGUAGE" 1>&2 exit 1 fi srclang=$1 srcfile=$TMP/htmlize$$.$srclang outfile=$srcfile.html trap "rm -f $srcfile $outfile" 1 2 3 6 9 14 15cat > $srcfile $VIM -e -s $srcfile <<EOF syn on colorscheme $CSCHEME set background=dark run! syntax/2html.vim w qall EOF echo "<div class=\"codeblock\" style=\"background-color: $BGCOLOR; color: $FGCOLOR\">" cat $outfile | awk '/<pre>/,/<\/pre>/ { print $0 } END { print "</div>" }' rm -f $srcfile $outfile trap "" 1 2 3 6 9 14 15
댓글
[code]로 하지 마시고
로 하지 마시고 <code > 로 사용해 보세요. codefilter라는 입력 모듈을 가져다 붙였으므로 < 나 > 등이 문제없이 사용 가능합니다. 그리고 syntax highlight도 사용할 수 있는데 실제로 적용할지 여부는 생각 중입니다. 조금만 기다려 주세요....
테스트
------------------ P.S. --------------
지식은 오픈해서 검증받아야 산지식이된다고 동네 아저씨가 그러더라.
------------------ P.S. --------------
지식은 오픈해서 검증받아야 산지식이된다고 동네 아저씨가 그러더라.
htmlize 소스 너무
...
올리신건 검은 바탕에 어울릴것 같군요.
vim의 백그라운드
vim의 백그라운드 색지정 기능이 drupal에도 있을까요?
Signature:
끝까지 읽어 주셔서 감사합니다.(이봐 로미, 뭐가 감사한거야?!)
혹시 댓글로 싸움을 즐기려는 님!?
당신은 眞性 변퉤 입니다~ :P
이제는 무늬만 백수로 가장한 개발자가 아닌 진정한 개발자가 되어야겠다.
이제는 학생으로 가장한 백수가 아닌 진짜 백수가 되어야겠다.
언제나 newbie의 마음가짐.
-
-
Drupal에도 GeSHi filter를
Drupal에도 GeSHi filter를 붙일 수 있긴 합니다.
http://drupal.org/project/geshifilter
대신 부하가 좀 걸리겠죠~
just test
http://sebul.sarang.net/
세벌 https://sebuls.blogspot.kr/
댓글 달기