테스트 사이트 - 개발 중인 베타 버전입니다

소스에 색입히기 (sourcehighlight)

screenshot.gif
안녕하세요.

소스에 색을 입히는 플러그인(?) 입니다.

* 사용용도
어디다 쓰는거냐면.. 우선 예를들어, 게시물을 쓰실때..

======================================================
테스트 구간입니다.

[cpp]
#include <stdio.h>
#define TEST NONE
# define TEST2 NONE

int g_a;
int g_b;

// 이곳은 코드 구역입니다.
int main()
{
//0123456789012345678901234567890
int a; // a변수 선언
int b; // b변수 선언
int a1; // a변수
int b2; // b변수

// c 변수를 선언한다
char c[/* 1234 '\" */ 1024];
// c 변수를 선언했다

printf("하하"); // 하하를 출력

strcpy(c, "테스트 입니다");

c[1023] = '\0';

if(TRUE==FALSE)
{
for(int i = 0; i < 10; i++)
{
break;
}
}
}
/*
여기는
주석
구간
입니다
탭1
탭2
탭3
탭4
탭41111 1
탭411111 1
*/
[/cpp]
======================================================
와 같이 써주시면,
[cpp] ~ [/cpp]까지의 구문들이 하이라이팅 됩니다.



* 라이센스
제작자: AccessDenied
홈페이지: http://b4you.net

소스상의 라이센스 부분만 빼지 않으신다면 (하나라두 빼지 마시구요..) 다른 부분은 마음대로 수정, 배포 하셔도 좋습니다.


* 설치방법 & 사용방법
1. 그누보드설치 디렉토리에 아래와 같이 설치해주세요
그누보드/
/bbs
sourcehighlighter.php - 파서를 호출해주는 함수
sh_library.php - 파싱할때 사용되는 함수들
sh_config.php - 환경설정
sh_parser.php - 파서의 유무판단, 줄단위로 나누어서 각각의 파서로 전달해주는 함수
/parser
cpp.php - 실제 파싱하는 함수들

2. sourcehighlight를 사용하실 스킨 맨 위에 다음과 같이 include해줍니다
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
// source highlight
include("sourcehighlight.php");

3. 스타일 시트를 적용해줍니다.
sourcehighlight.css파일을 "스킨 디렉토리"(중요)에 넣어줍니다. 그 뒤에 스킨 디렉토리중 view.skin.php 파일의 적당한 곳에..

<link rel=StyleSheet HREF=<?=$board_skin_path?>/sourcehighlight.css type=text/css title=style>

와 같이 넣어줍니다.

4. 함수를 호출해줍니다

<?=$view[content]?>
와 같은 문장을
<?=SourceHighlight($view[content]);?>

와 같이 호출하여 주시면 됩니다.

이건.. 사용하시는 방법에 따라 DB에 저장할 때 하이라이팅 시켜서 입력시킬수도 있구요..
아니면 제가 사용하는 방법같이 표시할때만 하이라이팅 시킬수도 있구요..(원본이 손상이 되지 않으니 이 방법이 더 좋죠)

5. 제대로 동작한다면 css파일에서 색상을 보기좋게 조정합니다.

* 확장
새로운 구문분석기를 만들어서 돌리고 싶으시다면.. (여기서는 asdf라는 언어에 대해..)

1) sh_config.php 안의 $parser_type에 'asdf'를 추가해줍니다
2) parser디렉토리 안에 asdf.php파일을 만듭니다
3) asdf.php안에 ParserSub()가 존재하도록 제작합니다(cpp.php를 참고하셔서 작성하시면 됩니다)




사용하는 방법에 대한 질문은 받지 않습니다;;
다른 질문은 받습니다(보안상의 문제나 버그같은거는 중요하니까요..)

사용하는 방법은.. 위에 적힌대로 하면 된다고 생각하는바이지만..
이곳에 코멘트를 남겨주시면, 상황을 봐서 피드백 시키겠습니다..ㅎㅎ

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 3개

좋은 자료네요 수고하셨습니다^^
재미있는 소스네요.
스킨에 적용해서 한번 배포해 보세요. ^^
진작 좀 올려주시지... 멋집니다... ^^;

한가지... sh_parser.php의 33번째 줄에 오타가...

$str_ret = '<table with="100% cellspacing="15" class="CodeTable">

☞ $str_ret = '<table width="100%" cellspacing="15" class="CodeTable">

숫자, 연산자도 추가해주시면 좋을듯... ^^;

넘 복잡해지려나... ㅡ.ㅡ;

잘 쓰겠습니다~~!!!

게시판 목록

그누4 팁자료실

그누보드4와 관련된 팁을 여러분들과 함께 공유하세요.
나누면 즐거움이 커집니다.
글쓰기
🐛 버그신고