서식을 유지한 채 마크다운을 워드나 구글 문서에 붙여넣기
마크다운을 문자로만 깎아 내는 것은 양식 입력란에는 옳은 답입니다. 문서에는 틀린 답입니다. 워드 나 구글 문서에 붙여넣는다면 제목은 제목이고 표는 표이기를 바랄 것입니다.
그것은 다른 변환이고, 대부분의 사람이 한 번도 생각해 보지 않는 클립보드의 한 면을 통해 동작합 니다.
클립보드는 한 가지 이상을 담는다
한 번의 복사 동작이 같은 내용을 여러 형식으로 동시에 나를 수 있습니다. 워드프로세서에서 복사하
면 클립보드는 text/html과 text/plain을 함께 받습니다. 붙여넣는 앱은 자기가 이해하는 쪽을
고릅니다. 워드는 HTML을 가져다 서식을 다시 세우고, 터미널은 일반 텍스트를 가져다 나머지를 무시
합니다.
브라우저에서 워드로 붙여넣으면 굵게가 유지되고, 같은 것을 코드 편집기에 붙여넣으면 유지되지 않 는 이유가 이것입니다. 아무것도 잃지 않았습니다. 두 판본이 함께 이동했고 각 목적지가 하나를 골랐 을 뿐입니다.
여기서의 서식 있는 텍스트 변환은 둘 다 씁니다. 출력 형식으로 서식 있는 텍스트를 고르고 복사 를 누르면, 클립보드에 렌더링된 HTML과 일반 텍스트 대비책이 함께 들어갑니다. 워드, 문서, 지메일, 아웃룩에 붙여넣으면 서식이 도착합니다. 터미널에 붙여넣으면 마크업이 아니라 읽을 수 있는 글이 나 옵니다.
무엇이 통과하는가
제목, 굵게와 기울임, 중첩을 유지한 번호 목록과 글머리 목록, 진짜 칸을 가진 표, 진짜 링크로서의 링크, 인라인 코드와 코드 블록, 인용, 그리고 목적지에서 닿을 수 있는 곳에 있는 이미지.
작업 목록은 체크박스로 넘어갑니다. 각주는 그 정의로 가는 링크로 넘어갑니다.
곤란해지는 지점
파이어폭스는 여러 형식을 쓰는 클립보드 API를 설정 뒤에 두고 있어서 자동 경로를 쓸 수 없습니 다. 대비책으로 렌더링된 미리보기를 선택 상태로 만들어, 손으로 누르는 Ctrl/⌘+C가 여전히 서식을 나릅니다. API가 응하지 않아도 브라우저 자체의 복사가 두 판본을 처리해 줍니다.
이미지는 데이터가 아니라 참조입니다. 마크다운이 https://example.com/chart.png를 가리키면
붙여넣은 문서도 같은 주소를 가리킵니다. 그 주소에 닿을 수 있는 곳에서는 보이고, 닿을 수 없는 곳
에서는 깨집니다. 이미지가 문서와 함께 이동해야 한다면 HTML을 내려받아 이미지를 옆에 두거나, 목
적지에서 직접 그림을 삽입하세요.
구글 문서는 받아들이는 HTML에 대해 워드보다 까다롭고, 이따금 중첩 구조를 단순화합니다. 깊이 중첩된 목록이 늘 그 희생양입니다.
설정은 여전히 적용된다
흔한 오해는 HTML에는 무엇이든 진짜 요소가 있으니 서식 있는 텍스트에서는 변환 설정이 무시된다는 것입니다. 대체로는 맞지만 전부는 아닙니다. 몇몇 설정은 그리는 방식이 아니라 문서 자체를 바꿉니 다.
- 링크는 글자만 남기거나, 주소를 보이거나, 주소 자체가 될 수 있습니다.
- 이미지는 남기거나 없앨 수 있습니다.
- 코드 블록, 인용, 각주는 없앨 수 있습니다.
- 제목은 대문자로 바꿀 수 있습니다.
- 문장 부호는 ASCII로 정규화할 수 있습니다.
이것들은 일반 텍스트와 마찬가지로 서식 있는 텍스트와 HTML에도 적용됩니다. 정말로 적용되지 않는 것은 글자 모양에 관한 것들 — 글머리 기호, 표 배치, 작업 목록 표시, 빈 줄 합치기 — 입니다. HTML 목록에는 글머리 문자를 골라 줄 필요가 없기 때문입니다. 그것들은 일반 텍스트 모드를 벗어나면 꺼 지고, 패널이 그 이유를 알려 줍니다.
붙여넣기가 아니라 파일이 필요하다면
같은 결과물이 스타일을 안에 담은 독립 .html로 내려받아집니다. 네트워크 없이도 제대로 열리고,
PDF로 인쇄할 수도 있습니다.