Org 문법
2020년 7월 3일 수정
≡ 목차 (Table of Contents)
이 글은 Org Mode의 마크업 문법 중 개인적으로 사용하는 것들을 정리한다.
헤더
헤더에는 제목을 비롯하여 문서의 여러 프로퍼티를 정의할 수 있다.
#+TITLE: Title Text
- 문서의 제목이다. 거의 필수라고 생각하자.
#+DESCRIPTION: Description Text
- 문서의 핵심을 정리하는 내용이다. 익스포트 시 Meta 태그의 description 항목으로도 출력 된다.
#+KEYWORDS: foo, bar, ...
- 문서의 핵심 단어를 정리한다. 익스포트 시 Meta 태그의 keywords 항목으로 출력 된다.
#+OPTIONS: ...
- 문서의 다양한 옵션을 줄 수 있다. 예를 들어
toc:2
라는 옵션을 주게 될 경우 익스포트 시 목차(Table of Contents)를 2레벨 헤드라인 까지 정리한다. #+FILETAGS: :foo:bar:
- 현재 파일에 foo와 bar라는 태그를 정의한다.
#+DATE: 2020-04-20
- 작성된 날짜와 시각을 기입할 수 있다.
제목줄(Headline)
제목줄은 아래와 같이 여러 레벨로 쓸 수 있다.
* Heading 1
** Heading 2
*** Heading 3
제한은 없으므로 더 깊은 레벨도 쓸 수 있지만 적당히 쓰는 편이 간결한 문서를 만드는 데 중요한 것 같다.
링크(Link)
텍스트 스타일(Text Styles)
아래와 같은 기본 스타일들이 있다.
*bold* /italics/ _underline_ ~verbatim~ =code= +strike-through+
물론 렌더링되면 bold italics underline verbatim
code
strike-through 로 표시된다.
verbatim과 code가 동일해 보이는데 사실 동일하다. 이 문법은 짧은 코드를 표시하기에 딱 적당하다.
블록 문법들
블록은 렌더링할 경우 blockquote나 pre 태그로 묶이게 렌더링 되는 문법으로 한 줄 이상의 넓은 범위를 지정할 수도 있다.
#+BEGIN_SRC
내용#+END_SRC
- 기본적인 코드 블록이다. 별다른 프로세서가 없어서 그냥 pre 태그로 익스포트된다.
#+BEGIN_SRC python
Python 코드의 pre 블록#+END_SRC
- 메이저모드를 명시해서 문법 강조와 실행 지원을 얻을 수 있다. 지원되는 언어는 매우 많다. 예를 들어 c, python, swift, lisp, bash 등등…
#+BEGIN_QUOTE
blockquote 내용#+END_QUOTE
- 익스포트 시 인용 블록(blockquote)으로 출력된다.
#+BEGIN_COMMENT
comment 내용#+END_COMMENT
- 프로그래밍 언어의 주석과 비슷하게 이 블럭 안의 내용은 익스포트가 되지 않는다.
#+BEGIN_EXPORT html
HTML 코드#+END_EXPORT
- 이 블록 안의 내용은 HTML로 출력 시 아무런 변화 없이 그대로 출력된다. 따라서 간단한 Org Mode 문법에서 지원되지 않는 것을 표현하기 위해 HTML 태그를 적기에 적당하다.
테이블
아래와 같은 식으로 헤더를 쓰고
| Foo | Bar | Column |
그 아래에 |-
을 쓰고 TAB
키를 누르면 아래처럼 테이블 형태로 바뀐다.
| Foo | Bar | Column | |-----+-----+--------+
이후 엔터나 탭키를 누르는 상황에 맞게 자동으로 테이블이 만들어 진다.
이 테이블은 잘 활용하면 스프레드쉬트를 흉내낼 수도 있다. Org 테이블 스프레드시트를 참고하자.
기타
-----
- 줄 긋기(hr 태그로 익스포트)