On 9 July 2015 at 10:36, Dan Allen <[email protected]> wrote:
> Russ,
>
> There are two strategies for selecting conditional content, immediate or
> deferred.
>
> Martin pointed you to the documentation for a feature in the AsciiDoc syntax
> that implements the immediate strategy. In this scenario, the content is
> filtered by the parser using a preprocessor conditional directive prior to
> generating the output (much like you find in languages like C). As a result,
> you won't see any sign of the directive in the output document. It
> effectively throws away any lines that don't meet the specified condition.
>
> If you took this approach, your input would look as follows:
>
> ifdef::windows[]
> == Installation on Windows
>
> ...
> endif::[]
> ifdef::linux[]
> == Installation on Linux
>
> ...
> endif::[]

And in case its not obvious, you can set *both* the linux and windows
attributes to get both included as you requested.

Cheers
Lex

>
> And your output would depend on which attribute you set. Let's assume you
> set the `linux` attribute. In the output, you would see:
>
> <section>
>   <title>Installation on Linux</title>
>   ...
> </section>
>
> If you'd rather defer the condition, then you could pass this information to
> DocBook using a role. Every block in AsciiDoc supports an arbitrary role
> attribute. If you followed this approach, your input would look as follows:
>
> [.windows]
> == Installation on Windows
>
> ...
>
> [.linux]
> == Installation on Linux
>
> ...
>
> NOTE: `.windows` is shorthand for role=windows.
>
> You'd get the following in the output:
>
> <section role="windows">
>   <title>Installation on Windows</title>
>   ...
> </section>
>
> You'd have to change the DocBook processor / viewer to look for the `role`
> attribute instead of the `os` attribute.
>
> Those are just the options supported out of the box. It's important to
> understand that you can create any output you want with Asciidoctor if you
> are willing to supply custom templates or create your own converter.
>
> Here's an example template file for the section block that you could use as
> a starting point:
> https://github.com/asciidoctor/asciidoctor-backends/blob/master/slim/docbook45/section.xml.slim
>
> While working on the Mallard converter, I did pick up on the need for a
> deferred conditional attribute that can be interpreted by the viewer and
> have since considered adding an additional built-in attribute for it.
> Something like:
>
> [when=windows]
> == Installation Windows
>
> If you use custom templates or your own converter, of course you could
> implement this yourself.
>
> Hope that helps!
>
> Cheers,
>
> -Dan
>
> On Wed, Jul 8, 2015 at 3:28 PM, russurquhart1 <[email protected]>
> wrote:
>>
>> Hi,
>>
>> I saw this, but doesn't that kind of filter one or the other to the given
>> output? (I.e. leave out that text when we output to this or that format?)
>>
>> Will this put both the ifdef and ifndef strings into the DocBook generated
>> output? That was what i was looking for. When i tried this example, on the
>> webpage you mentioned, the DocBook that was generated only had on ifndef
>> text, with no attribute set. I was trying to get both, with attributes set
>> in the DocBook output.
>>
>>
>>
>>
>> On Wednesday, July 8, 2015 at 3:59:36 PM UTC-5, rappard wrote:
>>>
>>> > In an effort to get more users on board here at my company, i need to
>>> > know
>>> > if there is an easy way to do the following in asciidoc?
>>> >
>>> > [Martin: snip examples]
>>> >
>>> > We tend to use a LOT of this type of conditional text, is there a way
>>> > to do
>>> > this elegantly in asciidoc?
>>>
>>> "Canonical" reference:
>>> http://asciidoc.org/userguide.html, section 21.3.2 (Conditional
>>> Inclusion Macros)
>>>
>>> Examples:
>>>
>>> http://mrhaki.blogspot.com/2014/08/awesome-asciidoc-using-conditional.html
>>>
>>> Hope this helps,
>>>
>>> Martin
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "asciidoc" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected].
>> To post to this group, send email to [email protected].
>> Visit this group at http://groups.google.com/group/asciidoc.
>> For more options, visit https://groups.google.com/d/optout.
>
>
>
>
> --
> Dan Allen | http://google.com/profiles/dan.j.allen
>
> --
> You received this message because you are subscribed to the Google Groups
> "asciidoc" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/asciidoc.
> For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
"asciidoc" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/asciidoc.
For more options, visit https://groups.google.com/d/optout.

Reply via email to