[목차] == 개요 == * [[https://asciidoc.org/|공식 사이트]] [[마크다운]]은 HTML에 비해 쉽고 단순했지만, 시간이 지나면서 오히려 그 단순함이 제약이 되었다. 예를 들면 기본 마크다운에는 [[취소선]] 등의 흔히 알고 있는 문법이 사실 없다! 이는 [[https://docs.github.com/en/github/writing-on-github|Github-Flavored Markdown]]의 문법으로, 기존 마크다운의 부족함을 상쇄하기 위해 각종 문법을 추가한 다양한 구현체가 난립하게 되는 문제도 생겨났다. 이를 위해 아예 마크다운 만으로 조판이 가능할 정도로 다양한 문법들을 처음부터 미리 지원하자는 목적으로 만들어진 언어이다. == 문법 == ##(이 문서는 현재 미완성이며, 작성중입니다.) === 문단 제목 === {{{= 제목1 Level 0 (

) == 제목2 Level 1 (

) === 제목3 Level 2 (

) ==== 제목4 Level 3 (

) ===== 제목5 Level 4 (

) ====== 제목6 Level 5 (
) }}}이때 주의할 점이, ==...= 와 제목 글자 사이에는 한 칸 이상이 공백이 필요하며, 각 제목과 본문 사이에도 한 칸 이상의 빈줄이 필요하다. ==== 문서 제목 ==== Level 0의 문단을 도큐먼트 헤더라고 하며, (doctype man을 제외하면) 전체 문서에 단 하나만 존재해야 한다. 이 헤더의 제목을 Document title이라고 하며, {{{= Title }}}처럼 표시한다. 또한 :로 부제목을 넣을 수 있다. {{{= 나무위키: 여러분이 가꾸어 나가는 지식의 나무 }}}또한 바로 아래에 저작자/문서 작성자를 표기할 수 있다. {{{= Harry Potter J. K. Rowling }}}Author line에는 <> 사이에 이메일을 표기할 수 있다. {{{= Some Title John Doe }}}Author line바로 아래에 리비전을 표시할 수 있다. {{{= Document Title some author v3.0}}}:description: 등의 attribute로 메타데이터를 추가할 수 있다. {{{= Asciidoc: the human-readable plain text authoring format John Doe 2.1, January 20, 2021: some remark :description: description about this Document :keywords: markup, docbook, asciidoctor, HTML}}} ==== 문단 번호 ==== :sectnums: 속성으로 문단에 자동으로 번호를 표시하도록 만들 수 있다. {{{= Main Title :sectnums: == some section == another section === nested section ==== more nested section ===== max level is up to 3}}}다음은 아래처럼 렌더링된다(구현마다 다를 수 있다){{{Main Title 1. some section 2. another section 2.1 nested section 2.1.1 more nested section max level is up to 3}}} === 문단 === asciidoc은 마크다운이나 html처럼 강제 개행을 인식하지 않고 모든 공백을 하나의 스페이스로 처리한다.
을 강제 적용하기 위해선 +를 사용할 수 있다.{{{Accusantium id laborum eos ut harum ratione + Corporis quibusdam reprehenderit suscipit Eum atque delectus + Expedita et aut recusandae quisquam Ut cumque quo.}}}이때, +와 문장의 마지막 글자 사이에는 하나 이상의 공백이 필요하다. ==== 정렬 ==== asciidoc은 텍스트를 정렬하기 위한 명령을 내장하고 있다. 사용 가능한 정렬의 종류는 text-left, text-center, text-right, text-justify가 존재한다. 예를 들어 다음은{{{Accusantium id laborum eos ut harum ratione [.text-center] Corporis quibusdam reprehenderit suscipit Eum atque delectus Expedita et aut recusandae quisquam Ut cumque quo.}}}중간 문장만 가운데로 정렬한다. === 목록 === ==== 순서 없는 목록 ==== 마크다운처럼 *로 목록을 구분할 수 있다.{{{* 목록 하나 * 목록 두울 * 목록 세엣}}}중첩된 목록을 만들려면, 중첩된 깊이만큼 *를 써주면 된다.{{{* 첫번째 목록입니다 ** 중첩된 목록입니다. *** 세번 중첩되었어요 ** 다시 빠져나옵니다 * 첫번째 목록과 같은 깊이의 목록입니다.}}}이는 다음의 마크다운과 동일하다.{{{#!syntax markdown * 첫번째 목록입니다 * 중첩된 목록입니다. * 세번 중첩되었어요 * 다시 빠져나옵니다 * 첫번째 목록과 같은 깊이의 목록입니다.}}}마크다운처럼 -도 구분자로 사용할 수 있지만, -는 깊이가 1인 목록에만 사용할 수 있다. ===== 체크리스트 ===== 순서 없는 목록은 [ ]와 \[x]로 체크리스트를 만들 수 있다.{{{* [ ] 체크된 목록 * [x] 체크되지 않은 항목}}}이 코드는 다음과 같이 렌더링된다.{{{❏ 체크된 목록 ✓ 체크되지 않은 항목}}}[* HTML이라면 등으로 나오는 것이 일반적이나, 구현마다 다를 수 있다.] ==== 순서 있는 목록 ==== 마크다운처럼{{{1. first item 2. another item 3. last item}}}처럼 적을 수 있지만, HTML등으로 변환하면
  • 태그가 대체해버려 상관이 없어지는 등 번거럽게 숫자를 입력하게 될 수도 있다. 또한 숫자로 길이가 달라지면 멀티커서 등으로 모든 항목을 일괄적으로 편집하기도 어려워진다. 이를 위해 아스키독에서는 숫자를 생략하고 .을 사용할 수 있다.{{{. first item . another item . last item}}}순서 없는 목록과 마찬가지로 목록을 중첩할 수 있다.{{{. 설치 .. 설치 요구사항 .. 플랫폼별 설치 가이드 . 작동 확인하기}}}이 코드는 다음과 같이 렌더링된다.{{{1. 설치 a. 설치 요구사항 b. 플랫폼별 설치 가이드 2. 작동 확인하기}}}중첩된 리스트에서 숫자를 사용하가 위해선 \[arabic]을 사용할 수 있다.{{{. 설치 [arabic] .. 설치 요구사항 .. 플랫폼별 설치 가이드 . 작동 확인하기}}}이 코드는 다음과 같이 렌더링된다.{{{1. 설치 1. 설치 요구사항 2. 플랫폼별 설치 가이드 2. 작동 확인하기}}} ==== 기타 목록 문법 ==== ===== 목록 캡션 ===== .<이름>으로 목록에 제목을 줄 수 있다.{{{.my recipe * sandwich * bibimbap * spaghetti}}} ===== 다른 종류의 목록 중첩 ===== asciidoc에서는 다른 종류의 구분자가 나타나면 즉시 목록을 중첩한다. 즉 다음 코드는{{{* unordered list item1 * unordered list item2 . ordered list item1 .. nested ordered list item1 * unordered list item3}}}다음과 같다.{{{unordered list item1 unordered list item2 1. ordered list item1 a. nested ordered list item1 unordered list item3}}} ===== 목록 분리 ===== 일반적인 경우엔, 전혀 다른 목록이 시작된다 하더라도 위의 목록에 중첩되어 나타난다. 즉 다음 코드는{{{. 어떤 목록1 . 어떤 목록2 * 위의 목록과 * 아무 상관없는 목록}}}다음으로 인식된다.{{{1. 어떤 목록1 2. 어떤 목록2 위의 목록과 아무 상관없는 목록}}}이를 위해 빈 속성 []를 사용해 목록을 구분할 수 있다. 즉 다음 코드는{{{. 어떤 목록1 . 어떤 목록2 [] * 위의 목록과 * 아무 상관없는 목록}}}다음으로 인식된다.{{{1. 어떤 목록1 2. 어떤 목록2 위의 목록과 아무 상관없는 목록}}}또는 캡션이 있다면 다른 목록으로 인식된다. 즉 다음 코드는{{{. 어떤 목록1 . 어떤 목록2 .새로운 목록 * 위의 목록과 * 아무 상관없는 목록}}}다음으로 인식된다.{{{1. 어떤 목록1 2. 어떤 목록2 (새로운 목록) // html이라면 등의 태그로 변환될 것이다 위의 목록과 아무 상관없는 목록}}} == 관련 문서 == * [[HTML]] * [[위키#s-4|위키#문법]] * [[나무마크]] * [[BBCode]] * [[타이포라]] * [[마크다운]] [[분류:마크업 언어]]