소스에 색입히기 (sourcehighlight) 정보
소스에 색입히기 (sourcehighlight)첨부파일
본문
안녕하세요.
소스에 색을 입히는 플러그인(?) 입니다.
* 사용용도
어디다 쓰는거냐면.. 우선 예를들어, 게시물을 쓰실때..
======================================================
테스트 구간입니다.
[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를 참고하셔서 작성하시면 됩니다)
사용하는 방법에 대한 질문은 받지 않습니다;;
다른 질문은 받습니다(보안상의 문제나 버그같은거는 중요하니까요..)
사용하는 방법은.. 위에 적힌대로 하면 된다고 생각하는바이지만..
이곳에 코멘트를 남겨주시면, 상황을 봐서 피드백 시키겠습니다..ㅎㅎ
소스에 색을 입히는 플러그인(?) 입니다.
* 사용용도
어디다 쓰는거냐면.. 우선 예를들어, 게시물을 쓰실때..
======================================================
테스트 구간입니다.
[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를 참고하셔서 작성하시면 됩니다)
사용하는 방법에 대한 질문은 받지 않습니다;;
다른 질문은 받습니다(보안상의 문제나 버그같은거는 중요하니까요..)
사용하는 방법은.. 위에 적힌대로 하면 된다고 생각하는바이지만..
이곳에 코멘트를 남겨주시면, 상황을 봐서 피드백 시키겠습니다..ㅎㅎ
추천
1
1
댓글 3개
좋은 자료네요 수고하셨습니다^^

재미있는 소스네요.
스킨에 적용해서 한번 배포해 보세요. ^^
스킨에 적용해서 한번 배포해 보세요. ^^
진작 좀 올려주시지... 멋집니다... ^^;
한가지... sh_parser.php의 33번째 줄에 오타가...
$str_ret = '<table with="100% cellspacing="15" class="CodeTable">
☞ $str_ret = '<table width="100%" cellspacing="15" class="CodeTable">
숫자, 연산자도 추가해주시면 좋을듯... ^^;
넘 복잡해지려나... ㅡ.ㅡ;
잘 쓰겠습니다~~!!!
한가지... sh_parser.php의 33번째 줄에 오타가...
$str_ret = '<table with="100% cellspacing="15" class="CodeTable">
☞ $str_ret = '<table width="100%" cellspacing="15" class="CodeTable">
숫자, 연산자도 추가해주시면 좋을듯... ^^;
넘 복잡해지려나... ㅡ.ㅡ;
잘 쓰겠습니다~~!!!