Tag Archives: Code Prettify

[TC/TT] SyntaxHighlighter 2.0 – Google Code Prettify

– Example of Lua syntax highlighting
[code lang-lua]os=require(“os”)
math=require(“math”)
 
— Some comments that demonstrate long brackets
double_quoted = “Not a long bracket [=[“
–[=[ quoting out
 [[ foo ]]
 [==[does not end comment either]==]
]=]
past_end_of_comment
–]=]
 
— Example code courtesy Joseph Harmbruster
#
do
  local function ssgeneral(t, n, before)
    for _, h in ipairs(incs) do
      for i = h + 1, n do
        local v = t[i]
        for j = i – h, 1, -h do
          local testval = t[j]
          if not before(v, testval) then break end
          t[i] = testval; i = j
        end
        t[i] = v
      end
    end
    return t
  end
 
  function shellsort(t, before, n)
    n = n or #t
    if not before or before == “<” then return ssup(t, n)
    elseif before == “>” then return ssdown(t, n)
    else return ssgeneral(t, n, before)
    end
  end
  return shellsort
end[/code]
SyntaxHighlighter 2.0입니다. 1.x대에서 2.0으로의 발전은 많은것이 바뀌었음을 뜻합니다.

이 코드강조 플러그인의 자세한 설명은 이전 글을 참고하세요. [1.0] [1.3]

이번 버젼의 가장 큰 변화는 하이라이팅 될 언어가 자동으로 선택 되던것뿐만 아니라 임의로 지정할 수 있습니다.

– 기존의 자동 언어 선택 하이라이팅
[code]…[/code]

– 임의 지정 하이라이팅
[code lang-c]…[/code]

지원하는 언어는 다음과 같습니다. (괄호안이 임의 지정할때 사용되는 코드)



  • bash(lang-sh)
  • C(lang-c)
  • C++(lang-cc)
  • C#(lang-cs)
  • Java(lang-java)
  • Javascript(lang-js)
  • Perl
  • Python(lang-py)
  • SQL(lang-sql)
  • XML
  • (X)HTML(lang-html)
  • PHP
  • XSL
  • Lua(lang-lua)
  • VBScript(lang-vb)
  • Haskell(lang-hs)
  • Ocaml & F#(lang-ml)
  • Lisp(lang-el)
  • Protocol Buffers(lang-proto)
  • Wiki Syntax(lang-wiki)
  • CSS(lang-css)
  • VHDL(lang-vhdl)

버그나 기능개선 문의는 블로그에 댓글 달아주시거나 메일주세요^^

* 2010년 2월 10일 버그 수정판(2.1)
– 특정 호스팅 서버에서 코드 부분이 사라지는 문제 해결
– PHP5의 경우 code태그 대소문자 구분없이 사용가능하도록 수정

1375262287.zip

[테터툴즈 플러그인] SyntaxHighlighter 1.2.1 – Google Code Prettify

[code]#!/bin/bash
# Fibonacci numbers
# Writes an infinite series to stdout, one entry per line

function fib() { 
  local a=1
  local b=1
  while true ; do
    echo $a
    local tmp=$a
    a=$(( $a + $b ))
    b=$tmp
  done
}

# output the 10th element of the series and halt
fib | head -10 | tail -1[/code]
Google Code Prettify 라이브러리를 이용해 만든 Syntax Highlighter 입니다.

사용할 코드 하이라이터를 찾던 도중 마땅한게 없어 만들게 되었습니다. 다음과 같은 장점이 있습니다.

1. 용량이 매우 작다.
코드 변환 엔진의 경우 용량이 9KB밖에 하지 않습니다. 트래픽이 많은 블로그를 운영하시는분께 적절한 효과가 있을것입니다.

2. 서버의 부하가 적다.
코드 변환 작업을 서버 사이드에서 하지 않고 클라이언트 사이드에서 합니다. 코드 변환은 자바스크립트를 통해 하게 됩니다. 서버사이드 역시 간단한 태그 치환작업외에는 없습니다.

3. 변환 속도가 매우 빠르다.
Google Code Prettify Example 에서 변환 속도를 테스트 해 볼수 있습니다. 매우 빠른 속도를 자랑하고 있습니다.

4. 언어별 설정이 필요 없다.
기존의 언어를 명시해 주어야 했던 방식과 달리 단순히 [code][/code]태그만 사용하면 알아서 사용한 언어를 파악하여 파싱해 줍니다. 기존의 [code php][/code]와 같이 사용했던 방식보다 훨씬 간단합니다.

5. 다양한 언어를 사용할 수 있다.
기본적으로 Bash, C, Cpp, Java, Javascript, Perl, Python, XML, HTML, HtmlXmp, XHTML, PHP, XSL 를 사용할 수 있으며, 이외에도 모든 코드 및 일반 텍스트까지 할수 있는데까지 임의로 하이라이팅을 하여줍니다.

6. 다양한 커스터마이징 옵션을 제공한다.
index.php 파일을 수정하면 누구든지 자신에게 맞게끔 CSS 및 치환 설정을 바꾸거나 추가하여 사용할 수 있습니다.

7. 웹표준을 지향한다.
최대한 W3C의 표준을 준수하여 모든 브라우저에서 최대한 똑같이 보이도록 노력하였습니다.

1078602747.zip