Markdown 배우기: 소프트웨어 개발자를 위한 쓰기 도구
게시 됨: 2022-03-11소프트웨어 엔지니어라면 생산성을 높이기 위해 환경을 개선하는 데 많은 시간을 할애했을 것입니다. 좋아하는 IDE가 있습니다. 좋아하는 디버거가 있습니다. 좋아하는 성능 모니터링 도구가 있습니다. 그러나 문서, 매뉴얼 및 보고서 작성을 위한 도구는 어떻습니까? 결국, 글쓰기는 사소하지 않은 양의 시간을 필요로 하지 않습니까? 실제로, 이제 쓰기 도구에 대해 진지하게 생각해야 할 때입니다.
그리고 당신은 기술적인 사람이라는 것을 기억합시다. 그래서 WYSIWYG 편집자는 당신에게 최선의 선택일 수도 있고 아닐 수도 있습니다. 텍스트 서식을 지정하기 위해 메뉴, 도구 모음 및 리본 탐색을 반드시 원하지는 않습니다.
그렇다면 대신 모든 서식 스타일을 간단한 인라인 구문으로 텍스트에 바로 추가하여 완전한 서식이 지정된 텍스트를 생성할 수 있다면 어떨까요?
사실, 당신은 할 수 있습니다. 이것이 Markdown이고 이것이 이 튜토리얼의 전부입니다.
많을수록 적을 때…
워드 프로세싱 소프트웨어는 매우 다양한 사용자와 사용 사례를 충족하도록 작성되었으며 모든 종류의 기능을 제공해야 합니다. 그러나 분명히 해당 기능의 작은 하위 집합만이 각 개별 사용자와 관련이 있을 수 있습니다. 그리고 단순히 문서를 작성하기를 원하는(마케팅 브로셔나 포스터를 디자인할 필요가 없는) 대부분의 사용자에게는 사용 가능한 많은 옵션 중 아주 작은 하위 집합이 적합합니다.
사실, Microsoft는 몇 년 전에 Microsoft Word의 사용자 인터페이스를 "리본"이라고 하는 고유한 기능 그룹으로 재설계했을 때 이를 분명히 깨달았습니다. 그러나 흥미롭게도 대부분의 사용자는 새 인터페이스가 이전 인터페이스보다 더 혼란스럽고 탐색하기 어렵다고 말합니다.
실제로 사용 편의성과 생산성 면에서 더 많은 것이 때때로 더 적을 수 있습니다.
... 그리고 더 적을 때
직시하세요. 당신은 그래픽 디자이너가 아니라 소프트웨어 엔지니어입니다. 매뉴얼이나 기술 문서, 보고서를 작성하고 끝내기만 하면 됩니다. 머리글, 글머리 기호 또는 번호 목록, 코드 블록과 같은 몇 가지 기본 서식 지정 기능에 매우 만족하고 만족할 것입니다. 그리고, 오 예, 일부 글꼴 서식(굵게, 기울임꼴 등)도 도움이 될 것입니다. 그게 다야. (그리고 vi에서 할 수만 있다면 정말 대단할 것입니다!)
마크다운을 입력합니다.
마크다운이란?
John Gruber(기술 전문가이자 인터넷 활동가 Aaron Swartz의 상당한 기여)는 사람들이 "읽기 쉽고 쓰기 쉬운 일반 텍스트 형식을 사용하여 작성하고 선택적으로 구조적으로 유효한 XHTML(또는 HTML)로 변환하십시오."
마크다운은 태그나 서식 지정 지침으로 마크업된 것처럼 보이지 않고 있는 그대로 읽을 수 있도록 설계되었습니다(원본 형식으로 작성하고 읽기 어려울 수 있는 RTF 또는 HTML과 같은 마크업 언어로 서식이 지정된 텍스트와 달리 ).
Markdown을 사용하면 읽기 쉽고 쓰기 쉬운 일반 텍스트 형식을 사용하여 작성한 다음 구조적으로 유효한 HTML로 변환할 수 있습니다. 따라서 완전히 정확하게 말하면 Markdown은 실제로 두 가지입니다.
- 일반 텍스트 형식 지정 구문
- 일반 텍스트 형식을 HTML로 변환하는 소프트웨어 도구(Perl로 작성된 첫 번째 버전).
Markdown은 몇 가지 간단하고 상당히 직관적이며 사용하기 쉬운 구문 규칙을 통합합니다. 특히 이러한 기본 구문 규칙을 배우고 사용할 필요가 없는 소프트웨어 엔지니어의 경우 Markdown은 실제로 작성하려는 것과 작성하는 것 사이에서 저항이 가장 적은 경로가 될 수 있습니다.
마크다운 배우기: 시작하기
마크다운은 배우기 쉽습니다. 매우 쉽습니다. 5분이면 기본을 배울 수 있으며 금세 제2의 천성이 됩니다. CSS와 CSS 전처리기 간의 관계와 마찬가지로 원하는 만큼 사용할 수 있습니다.
모든 종류의 일반 텍스트 작성 규칙에 익숙하다면 목록을 만들기 위해 문장 시작 부분에 숫자 또는 대시, 강조를 위해 단어 주위에 별표 표시 등과 같은 일부 마크다운 규칙에 이미 익숙할 것입니다. 켜짐. 예를 들어, 이탤릭체로 무언가를 표시하려면 *this*
와 같은 별표로 감싸면 됩니다( <span>this</span>
와 같은 복잡한 HTML 구문과 반대).
마찬가지로 행에 '#' 접두사를 추가하여 H1 제목을 지정할 수 있습니다(예: <h1>Section Heading</h1>
대신 # Section Heading
).
특히 우리 소프트웨어 엔지니어를 위한 Markdown 학습에 대한 또 다른 훌륭한 용도는 소스 코드 저장소에 대한 문서화에 사용하는 것입니다. 대부분의 리포지토리에는 README.md
파일이 포함되어 있습니다( .md
는 Markdown 파일의 표준 확장자입니다). 예를 들어 Github에는 개발 문서를 위한 추가 기능이 추가된 자체 "Github-flavored Markdown"이 있습니다. 이것은 확실히 이 문서를 HTML로 작성해야 하는 시간을 절약할 수 있습니다.
간단한 예로 문서에 다음 스니펫을 포함하고 싶다고 가정해 보겠습니다.
<h2 style=color:#3863a0;font-size:1.5em;font-weight:600;margin-top:2em;margin-bottom:1em;line-height:1.3em;>플러그인 시작</h2>
다음과 같이 jQuery를 사용하여 컨테이너에서
pluginName
을 시작합니다.
$(function() { $('#container').pluginName(); });
컨테이너의 ID를 사용하여 jQuery 메서드.pluginName()
으로pluginName
을 시작할 수 있습니다.
HTML과 Markdown에서 이것이 어떻게 수행되는지 비교하면 다음과 같습니다.
HTML | 가격 인하 |
<h1>플러그인 시작</h1> | # 플러그인 시작 |
<p>다음과 같이 jQuery를 사용하여 컨테이너에서 <code>pluginName</code>을 시작합니다.</p> | 다음과 같이 jQuery를 사용하여 컨테이너에서 `pluginName`을 시작합니다. |
<코드> $(함수() { $('#컨테이너').플러그인 이름(); }); </코드> | `$(function() { $('#container').pluginName(); });` |
<p><em>컨테이너의 ID를 사용하여 jQuery 메소드 <code>.pluginName()</code></em></p>으로 <code>pluginName</code>을 시작할 수 있습니다. | *컨테이너의 ID를 사용하여 jQuery 메소드 `.pluginName()`으로 `pluginName`을 시작할 수 있습니다.* |
시작하는 데 추가 도움이 필요하면 John Gruber(Markdown 작성자)의 Markdown 개요와 온라인 Markdown 자습서를 포함하여 최신 정보를 얻을 수 있도록 도와주는 온라인 Markdown 자습서가 많이 있습니다.
마크다운 파서 및 도구
Markdown으로 기사를 작성한 후에는 구문을 HTML로 구문 분석하는 앱이 필요합니다. 다음을 포함하여 무료로 제공 되는 몇 가지 훌륭한 것들이 있습니다.
- StackEdit - Google Drive 및 Dropbox와 같은 인기 서비스와 몇 가지 동기화 옵션이 있는 브라우저 기반 Markdown 편집기
- Online Kramdown Editor - 매우 간단한 인터페이스를 갖춘 또 다른 브라우저 기반 Markdown 편집기
- Mou - 개발자를 위한 괴짜 옵션으로 내가 만난 최고의 Mac 기반 Markdown 작성자입니다. 수많은 기능과 무료(베타에 있는 동안) [이것이 내가 이 기사를 작성하는 데 사용한 것입니다]
- MarkdownPad - 훌륭한 Windows용 Markdown 편집기
- 텍스트 - 멋진 크로스 플랫폼(Mac 및 Windows) 편집기 PDF, .doc 및 ePub과 같은 여러 형식으로 내보내기
일부 주요 플랫폼은 이미 Markdown을 사용하려는 사람들을 위해 편집기에서 Markdown 사용을 채택(또는 최소한 허용)했습니다. WordPress, Evernote 및 Google Docs와 같은 다른 제품의 경우 기본 지원(이 기사 작성 당시)이 아직 적용되지 않았지만 타사에서 맞춤 솔루션을 도입했습니다. 여기에는 다음이 포함됩니다.
- 인기 있는 새로운 블로깅 플랫폼인 Ghost는 온라인 작성을 간소화하기 위해 콘텐츠 편집기에 Markdown을 사용합니다.
- WordPress의 경우 Jetpack 플러그인이 이제 Markdown을 공식적으로 지원하며 플러그인을 사용하는 경우 설정 > 토론 에서 활성화할 수 있습니다. 또는 WP-Markdown과 같은 플러그인을 사용하여 포스트 마크다운 콘텐츠를 HTML로 변환하고 편집이 필요할 때 마크다운으로 다시 변환할 수 있습니다.
- Evernote의 경우 온라인 편집기 Markable 또는 Mac 편집기 Byword와 같은 일부 Markdown 앱을 사용하면 메모로 직접 내보내고 게시할 수 있습니다. 또는 Evernote 웹 앱을 직접 사용하려는 경우 Markdown Here라는 브라우저 확장을 사용하면 선택한 메모를 Markdown으로 작성된 메모를 도구 모음 버튼을 클릭하여 서식 있는 텍스트로 변환할 수 있습니다.
- Google 문서도구는 아직 기본적으로 Markdown을 지원하지 않지만 일부 편집기(예: StackEdit)는 드라이브와 직접 내보내기/동기화합니다.
단점
물론 단순함에는 한계가 따릅니다. 이미 설명했듯이 Markdown은 고급 서식 기능이 필요한 복잡한 워드 프로세싱 작업을 위해 작성되지 않았습니다. 그것이 당신이 필요로하는 것이라면 Markdown은 올바른 도구가 아닙니다.
그러나 사용자 매뉴얼, 기술 문서 또는 기술 보고서를 작성해야 하는 개발자를 위해 Markdown은 단순성과 필요한 기능 간의 거의 완벽한 균형을 제공합니다.
아마도 가장 큰 단점은 – 특히 변경 제어 중독자인 우리 엔지니어에게 – Markdown에서 공동으로 작업하고 변경 사항을 추적할 수 없다는 것입니다(하지만 이것에 대한 한 가지 주목할만한 예외는 Google 문서도구용 StackEdit 플러그인입니다). 물론 최소한의 노력으로 git 리포지토리를 통해 Markdown 문서에 대해 간단히 공동 작업할 수 있으므로 일반적으로 필요한 모든 변경 내용 추적 및 공동 작업을 수행할 수 있습니다.
결론
마크다운을 배우는 것이 모든 사람을 위한 것입니까? 당연히 아니지. 아무도 도구가 없습니다.
그러나 당신이 소프트웨어 엔지니어라면 당신이 찾고 있던 바로 그 쓰기 도구일 것입니다. 따라서 아직 시도하지 않았다면 실제로 시도해 봐야 합니다.