소스에 색입히기 (sourcehighlight) > 그누4 팁자료실

그누4 팁자료실

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

소스에 색입히기 (sourcehighlight) 정보

소스에 색입히기 (sourcehighlight)

첨부파일

sourcehighlight.css (462byte) 18회 다운로드 2006-03-22 23:10:10
sourcehighlight.tar (30.0K) 18회 다운로드 2006-03-22 23:12:51

본문

안녕하세요.

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

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

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

[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

댓글 3개

진작 좀 올려주시지... 멋집니다... ^^;

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

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

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

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

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

잘 쓰겠습니다~~!!!
전체 3,309 |RSS
그누4 팁자료실 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT