소스 코드 읽기
쓰리래빗츠 북이 최소한의 기능을 갖추었을 때 처음 한 일이 버스나 지하철로 이동하면서 읽을 언론 기사나 블로그 글을 PDF로 만드는 것이었습니다. 그리고 소스 코드도 PDF로 만들었습니다. 스스로 짠 코드를 검토하는 데 도움이 되었습니다.
좋을 글을 쓰려면 글을 많이 읽어야 하듯 프로그래밍을 실력을 키우려면 다양한 코드를 많이 접해야 합니다. 스스로 쓴 글을 여러 번 읽어 교정하듯 스스로 짠 코드를 읽는 것도 중요한 일입니다.
이를 돕기 위해서 내 컴퓨터에 있는 소스 코드 파일로 PDF를 만드는 도구 쓰리래빗츠 C2P를 공개합니다. 다음은 쓰리래빗츠 C2P로 만든 PDF 파일입니다.
줄 바꿈을 최소화하기 위해서 여백을 줄였습니다.
쓰리래빗츠 C2P 설치
쓰리래빗츠 C2P 설치 파일을 내려받은 후 압축을 해제합니다.
쓰리래빗츠 C2P는 자바로 개발한 소프트웨어로 이를 실행하려면 운영체제에 오라클 자바 6.0 이상을 설치해야 합니다.
쓰리래빗츠 C2P 실행
윈도우에서
명령 프롬프트에서 3RABBITZ_C2P_HOME/bin
폴더로 이동합니다.
3RABBITZ_C2P_HOME
은 쓰리래빗츠 C2P를 설치한 폴더를 지칭합니다.
다음 명령어를 실행합니다.
c2p.bat 소스디렉터리
현재 위치에 code.pdf
파일이 만들어집니다. PDF 파일 이름을 바꾸려면 다음과 같이 실행합니다.
c2p.bat 소스디렉터리 PDF파일이름
리눅스에서
콘솔에서 3RABBITZ_C2P_HOME/bin
디렉터리로 이동합니다.
3RABBITZ_C2P_HOME
은 쓰리래빗츠 C2P를 설치한 디렉터리를 지칭합니다.
다음 명령어를 실행합니다.
./c2p.sh 소스디렉터리
현재 위치에 code.pdf
파일이 만들어집니다. PDF 파일 이름을 바꾸려면 다음과 같이 실행합니다.
./c2p.sh 소스디렉터리 PDF파일이름
쓰리래빗츠 C2P 설정
지원하는 프로그램 언어
소스 코드 파일 확장자를 기준으로 다음 언어를 지원합니다.
확장자 | 언어 | 하일라이트1 |
---|---|---|
| ASPX | |
| ASP | |
| 스크립트 | |
| C | 예 |
| C++ | 예 |
| C# | 예 |
| CSS | 예 |
| ||
| ||
| Go | 예 |
| ||
| ||
| HTML | |
| 자바 | 예 |
| 자바스크립트 | 예 |
| JSON | |
| JSP | |
| PHP | |
| Perl | |
| Python | 예 |
| Ruby | 예 |
| 스크립트 | |
| SQL | |
| 텍스트 | |
| XML | 예 |
언어를 추가하려면 3RABBITZ_C2P_HOME/conf/option.properties
파일을 열어 extensions
옵션에 확장자를 추가합니다.
extensions aspx,asp,bat,c,cc,cpp,cs,css,...
주석 제거
PDF를 만들 때 여러 줄에 걸친 주석2을 빼려면 3RABBITZ_C2P_HOME/conf/option.properties
파일을 열어 ignore_multi_line_comments
옵션을 수정합니다.
ignore_multi_line_comments true
소스 코드 파일 인코딩
소스 코드 파일을 읽을 때 사용하는 기본 인코딩은 UTF-8
입니다. 다른 인코딩을 사용한다면 3RABBITZ_C2P_HOME/conf/option.properties
파일을 열어 file_encoding
옵션을 추가합니다.
file_encoding EUC-KR
PDF 설정
글꼴로 네이버 나눔고딕코딩 글꼴을 사용합니다.
줄 바꿈을 최소화하기 위해서 여백을 줄였습니다. 여백 및 PDF 크기는
3RABBITZ_C2P_HOME/conf/page_layout.xml
파일에서 수정할 수 있습니다.글꼴 크기와 색상은
3RABBITZ_C2P_HOME/conf/pdf_theme.xml
파일에서 수정할 수 있습니다.
PDF 파일 디렉터리 설정
PDF 파일이 만들어지는 위치를 바꿀 수 있습니다. 3RABBITZ_C2P_HOME/conf/option.properties
파일을 열어 pdf_dir
옵션을 추가합니다.
pdf_dir 디렉토리위치
- 일부 언어에 대해서만 하일라이트를 지원합니다.
- 예를 들어 자바에서
/*
과*/
사이에 들어가는 주석