본문으로 바로가기



MS word 파일을 markdown 파일로 바꾸어보자.

category R Programming/Documentation 2017.06.22 00:14
MS word 파일을 markdown 파일로 바꾸어보자.

R4Tistory 패키지 소개

현재 필자는 R4Tistory라는 티스토리 블로그용 R 패키지를 개발 중이다(링크 참조). 이 패키지를 만들게 된 계기는 거의 모든 문서를 Rmarkdown 파일로 작성하고 있는 필자의 입장에서 매번 블로그 포스팅을 위하여 마크다운 파일을 html파일로 변환한 후 블로그에 포스팅하는 것이 귀찮아서 였기 때문이다. 따라서, R프로그램에서 작성한 Rmd파일을 직접 블로그로 올릴 수 있는 방법 을모색하게 된 것이다.

현재 패키지는 R마크다운이라고 불리우는 .Rmd 파일을 R에서 직접 포스팅하는 기능을 가지고 있다.

티스토리 블로그 API 중단

예전에 티스토리는 MS워드를 API를 사용하여 포스팅하는 기능을 가지고 있었다고 들었다. 하지만 최근에 들어서 티스토리는 새롭게 제공하는 OpenAPI에 역량을 집중한다는 이유로 기존에 제공하던 블로그 API 서비스를 중단하였다. 따라서 기존에 서비스를 잘 사용하던 사용자들이 불만이 쌓이게 된 것이다.

문득, 필자가 이미 가지고있는 패키지를 사용하여 MS 워드를 블로그로 직접 올리는 방법이 없을까를 모색하던 중 MS워드 파일을 마크다운(.md) 파일로 바꿔주는 기능이 pandoc이라는 프로그램에 있었다. 따라서 워드파일을 직접 블로그에 올리려면 다음과 같은 세단계가 필요하다.

  • 1단계. pandoc을 사용해서 MS word -> .md 변환
  • 2단계. 마크다운(.md) -> R마크다운(.Rmd) 변환
  • 3단계. R마크다운 -> 티스토리 블로그 포스티

얼핏보면 할게 많아 보이지만, 3단계는 필자가 이미 했고, 2단계는 그냥 파일 이름을 그냥 .md에서 .Rmd로 바꿔주면 된다. ~적어도 워드를 사용해서 블로그 포스팅을 하는 사용자 중에 R프로그래밍 코드를 집어넣을 일이 없을 것이기 때문이다.~

MS word 파일(.docx) -> 마크다운 파일 (.md) 변환

MS 워드 파일을 마크다운 파일로 바꾸는 과정은 다음과 같다.

1) MS워드 파일(.docx) 준비

필자가 워드파일을 pandoc을 사용하여 잘 변환이되는 지를 테스트하기 위해서 사용한 워드 파일은 아래의 화면과 같다.

워드파일 테스트 화면

워드파일 테스트 화면

화면에 보이는 모든 내용은 MS워드에서 제공하는 스타일을 사용하여 작성하였다. 즉, 워드를 사용해서 글을 작성할 때 머리말과 제목 1, 제목 2 같은 미리 형식이 지정된 스타일을 이용해서 작성을 하는 것이다.

2) pandoc 다운로드 및 설치

Pandoc은 문서 변환을 전문으로 하는 프로젝트이다. 문서를 특정 플랫폼에서 다른 여러가지 문서들로 바꿔주는 프로그램이라고 생각하자. 다운로드 페이지에 가서 다운을 받고 설치하도록 하자.

3) pandoc 명령어 입력

설치에 성공했다면 pandoc은 명령어를 사용하여 이용하면 된다. 리눅스 사용자라면 콘솔창을 띄우고, 윈도우 사용자라면 win + r버튼을 눌러 cmd를 실행 시킨다. 그리고 cd 명령어를 사용하여 문서가 있는 폴더까지 접근 한 후 다음과 같이 명령어를 입력한다.

pandoc -s test.docx -t markdown -o test.md

여기에서 sstandalone을 나타내는 옵션이고, tto를 나타내서 변환시키고자 하는 확장자를 태깅하는 옵션이다. 마지막의 ooutput을 의미한다. 결과로 얻을 파일명을 뒤에 써주면 된다.

위의 명령어를 실행하면 워드파일이 있던 폴더에 .md확장자를 갖는 파일이 생성이 된다. 이 파일을 메모장으로 열어보면 아래의 왼쪽과 같은 내용이 들어있는 것을 확인 할 수 있다. (필자가 사용하는 Rstudio의 경우 자동 하이라이팅을 제공하여 아래와 같이 보이게 된다.) 눈치 채셨겠지만, 각 글자들 밑에 있는 기호들을 이용해서 어떤 부분은 크게, 어떤부분은 작게 할 것인지를 마크다운에서 알아채서 html로 바꾸게 된는 것이다. 아래 화면에 보이는 오른쪽은 바로 왼쪽 파일(.md)을 html로 변환시켜서 보이는 내용이다.

md로 변환된 화면(왼쪽) -> md를 html로 바꾼 화면(오른쪽)

md로 변환된 화면(왼쪽) -> md를 html로 바꾼 화면(오른쪽)

테스팅 해 본 결과 문서에 그림 파일이 들어있는 경우도 변환이 잘 된다. 단, 그림파일의 정렬은 잘 반영이 되지 않는 것 같다.

R4Tistory 추후 업데이트 사항

조만간 필자의 패키지에서 워드문서를 바로 티스토리로 포스팅하는 것을 추가해볼 계획이다. 즉, 위의 1~3단계를 미리 프로그램화 시켜놓으면, 사용자는 R을 사용하여 워드 파일을 바로 티스토리로 포스팅을 할 수 있도록 해보고 싶다. 이에 관한 업데이트는 블로그의 R4Tistory게시판에 계속 업데이트 할 예정이다.


SHARE TO



티스토리 툴바