'SyntaxHighlighter'에 해당되는 글 2

  1. 2009.06.16 SyntaxHighlighter 2 / 3.0.83
  2. 2009.02.01 SyntaxHighlighter 사용하기

SyntaxHighlighter 2 / 3.0.83

2020-02-01 kakao에서 쿠키 CORS 문제때문에 제대로 표시 안됨. Prettify를 사용하기로 함.

- SyntaxHighlighter 2
- 버전
- 지원하는 Brush
http://alexgorbatchev.com/SyntaxHighlighter/manual/brushes/
로 변경되었음. 3.0으로 되면서 ...

- hosted version 을 사용하면 파일을 올릴 필요가 없다. 
2019-10-20 3.x
2에서는 줄번호까지 복사되어서 span 방식이 아닌 textarea 방식
그러나 자동 줄바꿈이 안되고, 옆으로 스크롤이 생김. (이걸 해결한 거.. https://sir.kr/g4_tiptech/33028
<textarea name="code" class="groovy" 
=>
<textarea class="brush:groovy;"
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/SyntaxHighlighter/3.0.83/styles/shCoreDefault.min.css">
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/SyntaxHighlighter/3.0.83/scripts/shCore.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/SyntaxHighlighter/3.0.83/scripts/shBrushAS3.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/SyntaxHighlighter/3.0.83/scripts/shBrushAppleScript.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/SyntaxHighlighter/3.0.83/scripts/shBrushBash.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/SyntaxHighlighter/3.0.83/scripts/shBrushCSharp.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/SyntaxHighlighter/3.0.83/scripts/shBrushColdFusion.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/SyntaxHighlighter/3.0.83/scripts/shBrushCpp.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/SyntaxHighlighter/3.0.83/scripts/shBrushCss.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/SyntaxHighlighter/3.0.83/scripts/shBrushDelphi.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/SyntaxHighlighter/3.0.83/scripts/shBrushDiff.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/SyntaxHighlighter/3.0.83/scripts/shBrushErlang.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/SyntaxHighlighter/3.0.83/scripts/shBrushGroovy.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/SyntaxHighlighter/3.0.83/scripts/shBrushJScript.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/SyntaxHighlighter/3.0.83/scripts/shBrushJava.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/SyntaxHighlighter/3.0.83/scripts/shBrushJavaFX.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/SyntaxHighlighter/3.0.83/scripts/shBrushPhp.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/SyntaxHighlighter/3.0.83/scripts/shBrushPlain.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/SyntaxHighlighter/3.0.83/scripts/shBrushPowerShell.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/SyntaxHighlighter/3.0.83/scripts/shBrushPython.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/SyntaxHighlighter/3.0.83/scripts/shBrushRuby.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/SyntaxHighlighter/3.0.83/scripts/shBrushSass.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/SyntaxHighlighter/3.0.83/scripts/shBrushScala.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/SyntaxHighlighter/3.0.83/scripts/shBrushSql.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/SyntaxHighlighter/3.0.83/scripts/shBrushVb.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/SyntaxHighlighter/3.0.83/scripts/shBrushXml.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/SyntaxHighlighter/3.0.83/scripts/shAutoloader.min.js"></script>
<script type="text/javascript">
	SyntaxHighlighter.config.tagName = 'textarea';
	SyntaxHighlighter.defaults['toolbar'] = false;
	SyntaxHighlighter.all();
</script>

</s_t3>
</body>
</html>
2.x
<SCRIPT type=text/javascript src="http://alexgorbatchev.com/pub/sh/2.0.320/scripts/shCore.js"></SCRIPT>
<SCRIPT type=text/javascript src="http://alexgorbatchev.com/pub/sh/2.0.320/scripts/shBrushBash.js"></SCRIPT>
<SCRIPT type=text/javascript src="http://alexgorbatchev.com/pub/sh/2.0.320/scripts/shBrushCpp.js"></SCRIPT>
<SCRIPT type=text/javascript src="http://alexgorbatchev.com/pub/sh/2.0.320/scripts/shBrushCSharp.js"></SCRIPT>
<SCRIPT type=text/javascript src="http://alexgorbatchev.com/pub/sh/2.0.320/scripts/shBrushCss.js"></SCRIPT>
<SCRIPT type=text/javascript src="http://alexgorbatchev.com/pub/sh/2.0.320/scripts/shBrushDiff.js"></SCRIPT>
<SCRIPT type=text/javascript src="http://alexgorbatchev.com/pub/sh/2.0.320/scripts/shBrushGroovy.js"></SCRIPT>
<SCRIPT type=text/javascript src="http://alexgorbatchev.com/pub/sh/2.0.320/scripts/shBrushJava.js"></SCRIPT>
<SCRIPT type=text/javascript src="http://alexgorbatchev.com/pub/sh/2.0.320/scripts/shBrushJScript.js"></SCRIPT>
<SCRIPT type=text/javascript src="http://alexgorbatchev.com/pub/sh/2.0.320/scripts/shBrushPhp.js"></SCRIPT>
<SCRIPT type=text/javascript src="http://alexgorbatchev.com/pub/sh/2.0.320/scripts/shBrushSql.js"></SCRIPT>
<SCRIPT type=text/javascript src="http://alexgorbatchev.com/pub/sh/2.0.320/scripts/shBrushXml.js"></SCRIPT>
<LINK rel=stylesheet type=text/css href="http://alexgorbatchev.com/pub/sh/2.0.320/styles/shCore.css">
<LINK rel=stylesheet type=text/css href="http://alexgorbatchev.com/pub/sh/2.0.320/styles/shThemeDefault.css">
<SCRIPT type=text/javascript src="http://alexgorbatchev.com/pub/sh/2.0.320/scripts/shLegacy.js"></SCRIPT>
<SCRIPT type=text/javascript>//SyntaxHighlighter.config.clipboardSwf = 'http://alexgorbatchev.com/pub/sh/2.0.320/scripts/clipboard.swf';
SyntaxHighlighter.all();
dp.SyntaxHighlighter.HighlightAll('code'); //for 1.5
</SCRIPT>

</s_t3>
</body>
</html>
- pre가 기본 태그인데 Tistory 편집기에서 잘안보이므로 그냥 예전처럼 textarea로 쓰자.
html은 textarea를 사용하고 나머지는 pre를 사용하자. 

- 재미있는 설정
collapse, first-line, highlight, html-script
<textarea name="code" class="brush:html;first-line:3;highlight:[4, 6]">
public class Person{
	private int id;
	private String name;
	private String address;
	public Person(int id, String name, String address){
		this.id = id;
		this.name = name;
- 잘안되네...
SyntaxHighlighter.defaults['html-script'] = true;
SyntaxHighlighter.config.tagName = "textarea" //3.x에서는 잘됨.




SyntaxHighlighter 사용하기

스킨을 변경하면 기존에 설정해 두었던 SyntaxHighlighter 가 모두 없어지므로 정리해둔다.
  1. Download SyntaxHighlighter
  2. HTML/CSS 편집에서 다음 내용을 추가한다.
    <link type="text/css" rel="stylesheet" href="./images/SyntaxHighlighter.css"></link>
    <script type="text/javascript" src="./images/shCore.js"></script>
    <script type="text/javascript" src="./images/shBrushJava.js"></script>
    <script type="text/javascript" src="./images/shBrushXml.js"></script>
    <script type="text/javascript" src="./images/shBrushJScript.js"></script>
    <script type="text/javascript">
    dp.SyntaxHighlighter.ClipboardSwf = './flash/clipboard.swf';
    dp.SyntaxHighlighter.HighlightAll('code');
    </script>
    </body>
    </html>
  3. Scripts/ 와 Styles/ 에 있는 파일을 업로드하고 저장한다.
  4. 글 작성시 HTML 모드에서 <textarea name="code" class="java | html | AND SO ON"></textarea> 를 사용한다.