본문 바로가기

내가 작업한 것들/소프트웨어

SHCC - Syntax Highlighter Code Converter



TiStory 에 Syntax Highlighter 스크립트를 이용해서 코드를 올리가 점점 어려워 지고 있습니다.

아마 TiStory 자체의 CSS 나 내부 코드에 따른 정책 변화 등에 의한 여러가지 요건이 문제가 되는 듯 합니다만 ..

일일히 많은 코드를 일일히 변환 하기도 어렵고 해서 간단히 프로그램을 만들어 보았습니다.


이름은 SHCC 로서, 소스파일이나 클립보드에 있는 내용을 탐색기에서 끌어다 놓거나, Ctrl+V 로 붙여 넣기 하면 자동으로 여러 형태로 만들어 줍니다.

<pre ... > </pre> 로 완성 되는 형태나, <script> .. </script> 로 처리 되는 방법 두가지 모두 지원하며,

TiStory 에서 주의 해야 하는 < 를 &lt; 로 바꿔 주도록 한 부분도 추가 되었습니다.

그래서 아래 코드가 ...


#include <cstdio>

#include <cstdlib>

#include <cstring>


#include <string>


#include "serial.h"


using namespace std;


int main(int argc, char* argv[])

{

    string tty = "/dev/ttyS0";

    string br  = "19200";

    

    Serial aSerial(tty, Serial::convertBaudrate(br) );

    

    if ( aSerial.isValid() == true )

    {

        int           rcvSize       = 0;

        unsigned char rcvBuff[256]  = {0};

        

        while(1)

        {

            rcvSize = aSerial.receiveBuffer(rcvBuff, 256);

            rcvBuff[rcvSize] = NULL;

            

            printf((const char*)rcvBuff);

        }

    }

    

    return 0;

}



이 프로그램을 통해 수정 되어 Syntax Highlighter 로 적용 되면 다음과 같이 됩니다.


#include <cstdio>
#include <cstdlib>
#include <cstring>

#include <string>

#include "serial.h"

using namespace std;

int main(int argc, char* argv[])
{
    string tty = "⁄dev⁄ttyS0";
    string br  = "19200";
    
    Serial aSerial(tty, Serial::convertBaudrate(br) );
    
    if ( aSerial.isValid() == true )
    {
        int           rcvSize       = 0;
        unsigned char rcvBuff[256]  = {0};
        
        while(1)
        {
            rcvSize = aSerial.receiveBuffer(rcvBuff, 256);
            rcvBuff[rcvSize] = NULL;
            
            printf((const char*)rcvBuff);
        }
    }
    
    return 0;
}

아래 첨부파일을 받아 아무데서나 실행 하면 됩니다.

일절 윈도우 레지스트리나 자원을 소모하지 않도록 만들어 졌습니다.


SHCC_v0113.zip


이 프로그램은 freeware 로서, 원본을 수정하지 않는 이상 아무런 제약이 없습니다.

감사합니다.