#title 문법 강조 플러그인(Code Syntax Highlight Plugin)
#keywords Plugin, SyntaxHighlight, Wiki, MoniWiki, Code, Programming, PHP
#alias 문법강조
[[TableOfContents]]
{{{{color:red}서버 이전 이후, 문법 강조 플러그인은 꺼놓았습니다. 뭐, 언젠간 사용할겁니다. }}}
== code Syntax Highlighter v.1.5 ==
=== 사용 설명 & 다운로드 ===
[http://andstudy.com/andwiki/wiki.php/gcode]
=== 예시 ===
{{{#!plain
{{{#!gcode cpp
//VR software에서 화면 분할 관련 소스
void SubBackview()
{
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0f, 0.0f, 0.0f);
glBegin(GL_POLYGON);
glVertex3f(-0.5f, -0.5f, 0.0f);
glVertex3f(0.5f, -0.5f, 0.0f);
glVertex3f(0.5f, 0.5f, 0.0f);
glVertex3f(-0.5f, 0.5f, 0.0f);
glEnd();
glFlush();
}}}}}}
{{{#!gcode cpp
//VR software에서 화면 분할 관련 소스
void SubBackview()
{
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0f, 0.0f, 0.0f);
glBegin(GL_POLYGON);
glVertex3f(-0.5f, -0.5f, 0.0f);
glVertex3f(0.5f, -0.5f, 0.0f);
glVertex3f(0.5f, 0.5f, 0.0f);
glVertex3f(-0.5f, 0.5f, 0.0f);
glEnd();
glFlush();
}
}}}
=== MATLAB, Fortran 문법강조 추가? ===
v.3.0.83에서 추가한 Matlab, Fortran 문법강조를 v.1.5에서 사용하는 건 어떨까?
== Code Syntax Highlighter v.3.0.83 ==
=== 적용방법 ===
1. http://bluebrown.net/moniwiki/wiki.php/SyntaxHighlighter
2. MoniWiki:SyntaxHightlighter
본 위키에서는 방법 2.를 사용했다.
=== 추가 code Syntax ===
1. [[MATLAB]], [[Mathematica]]
* 다운로드 : http://jamesrohal.com/mathematica-and-matlab-brush-for-syntaxhighlighter/
* code 수정
1. 위 code는 Code Syntax Highlighter v.2.0에 맞춰져 있기에, v.3.0.83에 맞게 수정함.[* 가끔 불러오기가 안되는 에러가 뜸. 뭔가 충돌이 발생하는 것 같다.]
1. sh3.js에 Matlab에 대한 항목을 추가함
1. 파일 경로 : /wiki/local/syntaxhighlighter_3.0.83/scripts (attachment:shBrushMatlab.js)
1. [[Fortran]]
* 참고 : [http://forums.developer.mindtouch.com/showthread.php?t=5810 Custom Syntax Highlighter]
* 수정 : 뭔가 문제가 발생했는데, 해결하지 못하고 있다.
1. 1의 code와 2의 원본 code를 그대로 적용했을 때, 1과 2의 예시 code가 한 페이지게 있으면 matlab 문법 강조에 문제가 발생했다. 하지만 각각 다른 페이지에서는 문제없이 출력되는 것을 확인했다.
1. 뒤늦게 다운받은 원본 code가 구버전용인 것을 확인하고 수정을 시도했다. 이번에는 Matlab 문법 강조만 잘 된다. Fortran 쪽은 아무리 code를 들여다봐도 뭐가 문제인지 모르겠다. 후에 테스트용 위키에서 재시도해봐야겠다.
* code
1. 파일 경로 : /wiki/local/js/sh3.js (attachment:sh3.js)
1. 파일 경로 : /wiki/local/syntaxhighlighter_3.0.83/scripts (attachment:shBrushFortran.js)
1. [LaTex]
* [http://www.textcube.org/plugin/entry/%EC%BD%94%EB%93%9C-%EC%8B%A0%ED%83%9D%EC%8A%A4-%ED%95%98%EC%9D%B4%EB%9D%BC%EC%9D%B4%ED%8A%B8-nEKOS-SyntaxHightlight-%EB%B2%84%EC%A0%84-3 코드 신택스 하이라이트, nEKO'S SyntaxHightlight 버전 3]를 조금 수정하면 [[모니위키]]에도 적용할 수 있을 듯?
=== 예시 1 : php ===
{{{#!plain php
$metatags=<<
META;
}}}
=== 예시 2 : matlab ===
{{{#!plain matlab
close all;clear all;clc;
load SimOut1.dat;load SimOut2.dat;load SimOut3.dat;load SimOut4.dat;
% Plot t_current, xf, x_dotf, x_ddotf, Fs
figure(1) % Recoil Position
plot(SimOut1(:,1), SimOut1(:,2), 'g', ...
SimOut2(:,1), SimOut2(:,2),'k',...
SimOut3(:,1), SimOut3(:,2), 'r',...
SimOut4(:,1), SimOut4(:,2), 'b');
set(gcf,'Color',[1,1,1]);
xlabel('time(s)');
ylabel('Recoil length (m)');
legend('\beta=0', '\beta=0.5','\beta=0.7','\beta=1.5');
xlim([0, 0.21])
}}}
=== 예시 3 : fortran ===
Syntax Highlighter 사용 시.
{{{#!plain fortran
program mysplit
character*80 line ! 라인의 최대 길이를 80으로 했습니다.
character*4 fname ! 생성되는 파일 이름
integer lnum ! 줄 번호
integer fnum ! 생성된 파일 일련 번호
integer lines_per_file ! 생성되는 파일의 라인 수
character*1 char1, char2, char3
integer achar0 ! '0'의 아스키 코드 번호
}}}
vim의 문법 강조 기능 사용 시.
{{{#!fortran number
program mysplit
character*80 line ! 라인의 최대 길이를 80으로 했습니다.
character*4 fname ! 생성되는 파일 이름
integer lnum ! 줄 번호
integer fnum ! 생성된 파일 일련 번호
integer lines_per_file ! 생성되는 파일의 라인 수
character*1 char1, char2, char3
integer achar0 ! '0'의 아스키 코드 번호
}}}
지금으로선 vim을 사용하는 것이 현명할 것 같다.