왜 스프레드시트를 마크다운으로 바꾸나?
마크다운에는 표를 적을 방법이 파이프와 대시밖에 없다. 손으로 만들려면 열을 세고 글자를 맞춰야 한다. 스프레드시트에서 범위를 복사하면 탭으로 나뉜 텍스트가 오는데, 데이터는 맞지만 모양이 아니다.
이 변환기는 그 텍스트를 읽어 구분자를 알아내고 마크다운 표를 써 준다. 결과가 실제로 렌더되느냐를 가르는 것은 두 가지다 — 칸 안의 파이프는 이스케이프해야 하고, 칸 안의 줄바꿈은 줄바꿈 태그가 되어야 한다. 마크다운 표의 한 행은 줄바꿈에서 끝나기 때문이다.
The cells in each row must be separated by a pipe character.
기능
- 칸 안의 파이프를 이스케이프한다
- | 가 든 칸은 그 자리에서 두 열로 갈라지고 뒤의 값이 전부 한 칸씩 밀린다. 이스케이프해서 칸이 적은 그대로 남게 한다.
- 줄바꿈이 살아남는다
- 마크다운 표의 행은 줄바꿈에서 끝나므로 여러 줄짜리 칸은 표를 거기서 잘라 버린다. 그 줄바꿈을 <br> 로 바꾼다 — 표를 지원하는 렌더러는 이것도 지원한다.
- 열 맞춤은 선택
- 열을 채워도 렌더 결과는 그대로다. 다만 원본 마크다운이 읽힌다 — README 나 PR 본문처럼 사람이 소스를 읽는 자리에서 그 차이가 난다.
- 스프레드시트에서 바로
- 엑셀·Numbers·구글 시트에서 복사한 범위는 탭으로 나뉜 텍스트로 온다. 구분자 추측이 설정 없이 그것을 집어낸다.
사용법
- 1
범위를 복사한다
스프레드시트에서 셀을 골라 복사하거나, CSV 를 그대로 붙여넣는다.
- 2
여기에 붙여넣는다
구분자는 자동으로 잡힌다 — 시트에서 복사했으면 탭, 저장된 파일이면 쉼표나 세미콜론이다.
- 3
열 맞춤을 정한다
사람이 마크다운 소스를 읽을 것이면 켜고, 렌더만 될 것이면 끈다.
- 4
표를 복사한다
README·이슈·PR 본문·문서 페이지에 붙여넣는다.
자주 묻는 질문
엑셀 범위를 마크다운 표로 어떻게 바꾸나?
셀을 골라 복사하면 클립보드에 탭으로 나뉜 텍스트가 담긴다. 그것을 여기 붙여넣으면 된다. 구분자가 탭으로 자동으로 잡히므로 설정할 것이 없다.
파이프가 든 칸에서 표가 깨진다
마크다운에서 파이프는 열 구분자라, 칸 안의 이스케이프되지 않은 파이프가 새 열을 시작하고 뒤의 값을 전부 민다. 이 변환기는 \| 로 이스케이프해 칸을 그대로 둔다. 손으로 만든 표가 대개 이걸 놓친다.
칸 하나에 여러 줄을 넣을 수 있나?
마크다운 자체로는 안 된다 — 표의 행이 줄바꿈에서 끝난다. 여러 줄 칸은 <br> 로 바뀌고, 표를 지원하는 곳이면 줄바꿈으로 렌더된다. 깃허브·깃랩과 대부분의 정적 사이트 생성기가 처리한다.
열 맞춤이 렌더 결과를 바꾸나?
바꾸지 않는다. 렌더러는 채운 공백을 무시한다. 파일을 읽는 사람에게만 보이는 차이라, README 에서는 할 만하고 생성된 출력에서는 의미가 없다.
데이터가 업로드되나?
아니다. 변환이 브라우저에서 일어나므로 내부 리포트도 기기 밖으로 내보내지 않고 표로 만들 수 있다.
이 도구가 따르는 규격
- GitHub Flavored Markdown 명세 — 표 — 이 출력이 겨냥하는 표 확장. 구분선 행이 어떻게 동작하는지도 여기 있다.
- RFC 4180 — CSV — 다시 쓰기 전에 입력을 읽는 데 쓰는 따옴표 규칙.