2016-11-07 5 views
1

asciidoctor에 빨간색으로 텍스트 항목을 렌더링하는 간단한 매크로를 만들려고합니다. 이 작동하지 않음 다음 asciidoctor 매크로에서 역할을 사용 하시겠습니까?

:redtext: [red]#some important text in red that occurs a lot# 

{redtext} 

또는 더 간단한 예를 들어

:

:redcross: [red]#✘# 

내가 및 매크로로 치환 될 수없는 수있는 규칙에 명확하지 않다. asciidoctor 설명서에 현재 매크로 용 공백이 있습니다 (http://asciidoctor.org/docs/user-manual/#macros). asciidoc 설명서 (http://www.methods.co.nz/asciidoc/chunked/ch21.html)는 분명하지 않지만 어쨌든 asciidoctor에는 적용되지 않을 수 있습니다.

관련 질문 해설은 Resuable markup fragments with Asciidoctor입니다. 그와 관련된 질문은 포함을 사용하는 것이 과도하다고 생각됩니다.

매크로의 제한 사항은 무엇입니까?

답변

0

충분히 잘 작동한다고 생각합니다. 우리는 예를 들어, 모든 재사용 가능한 조각을 포함 할 수있는 단일 glossary.asciidoc 파일이 :이 조각을해야 할 때마다 다음

:g: glossary.asciidoc 

: index.asciidoc에서

tag::redtext[] 
[red]#some important text in red that occurs a lot# 
end::redtext[] 

이 조금 도우미를 추가 할 수 있습니다

include::{g}[tag=redtext] 
+0

: *이는 내가 포함 할 텍스트로 거의 장황 포함 * 귀하의 문서가 더 이상 단일 소스 파일 만 라인 *의 시작 부분에 사용할 수 있습니다 포함되지 않습니다. –

1

정의한 것은 매크로가 아니며 속성입니다. (이것을 사용하면 속성 참조라고합니다).

인라인 전달 매크로를 사용하여 속성의 정의에서 열정적으로 대체를 수행 할 수 있습니다. 대상 위치에서 쉼표로 구분 된 대체 이름 (또는 대체 문자) 목록을 허용합니다.

귀하의 경우에는

, 당신은 쓸 수 있습니다 :

:redtext: pass:q[[red]#some important text in red that occurs a lot#] 

관련 부분은 다음과 같습니다

pass:q[...] 

자세한 것은 substitutions in an attribute entry를 참조하십시오. 몇 가지 새로운 문제를 소개