Comments (41)
When you only need a change that can be controlled by the stylesheet, I think the best approach is to simply append a role in the AsciiDoc content and then append the necessary CSS to match. In this case, we should view the admonition types as broad categories or levels that can be "specialized" using a role. thinkspot
(or just think
) might fit either with tip
or note
. You'd type it as:
[NOTE.think]
====
A thinkspot admonition.
====
In HTML, that will output:
<div class="admonitionblock note think">
<table>
<tr>
<td class="icon">
<i class="fa icon-note" title="Note"></i>
</td>
<td class="content">
<div class="paragraph">
<p>A thinkspot admonition.</p>
</div>
</td>
</tr>
</table>
</div>
If you want the value of the title attribute to be “Thinkspot” instead of “Note”, you can set the caption too.
[NOTE.think,caption=Thinkspot]
You can then customize the icon using CSS, which can be appended using docinfo or a custom stylesheet.
.admonitionblock.think td.icon .icon-note:before {
content:"\f0eb";
color:#000;
}
from asciidoctor-extensions-lab.
How would I add additional admonitions, like [QUESTION]
and customize the Font Awesome icon? I'd also like it to work in PDFs generated with asciidoctor-pdf.
from asciidoctor-extensions-lab.
Sweet. The PDF looks pretty great.
There are some spots where it messes up, like when I have a quote or TIP inside the admonition. Those work fine when hijacking a different admonition, so it must be something in the CustomAdmonitionBlock code. Notice the byline is repeated below.
[EXPERIMENT]
.Experiment: malacandra.go
====
[quote, C.S. Lewis, Out of the Silent Planet]
"Malacandra is much nearer than that: we shall make it in about twenty-eight days."
Malacandra is another name for Mars in a SciFi trilogy by C.S. Lewis. Write a program to determine how fast their ship would need to travel in order to reach Malacandra in 28 days. Assume a distance of 56,000,000 km.
====
Whether or not I should be doing that sorta thing is a whole other question.
from asciidoctor-extensions-lab.
That's also how you can customize all the icons in Asciidoctor PDF.
Technically, you don't even need a custom admonition type if you just hijack the icon :)
from asciidoctor-extensions-lab.
@kwoot I encourage you to direct your question to https://asciidoctor.zulipchat.com, where we can discuss usage scenarios as a community (without risk of going off topic).
from asciidoctor-extensions-lab.
If you add a new admonition type, then you'd technically be introducing a new type of block (named QUESTION, for instance), which would need to be handled by a custom block extension. You could then map the result back to an admonition node so that the built-in handler takes care of generating the output for it.
The icon is controlled by the "name" attribute (e.g., "icon-#{node.attr 'name'}"). It doesn't validate the name value, so it can be any value you want. You'd still need to add CSS to map that class to a Font Awesome icon.
The fact that admonition types are controlled by the block name is kind of strange. In UniDoc, I'd actually like to see the admonition type be a special attribute, something like:
[!QUESTION]
====
...
====
That way, we aren't introducing new block types for each type of admonition. But that's a separate discussion.
from asciidoctor-extensions-lab.
I thought of a way to mark this up for UniDoc (possibly supported in Asciidoctor before then). We overload the block title and allow a special prefix to indicate this is an admonition.
.QUESTION: optional title
====
...
====
That way, we aren't introducing a new block type for each admonition type. And it's much closer to the paragraph version (e.g., QUESTION: content...
). You could technically implement this today using a Treeprocessor.
from asciidoctor-extensions-lab.
Thanks. Curious, what is this UniDoc thing you speak of? :-)
from asciidoctor-extensions-lab.
UniDoc is an (eventual) goal of making a specification for AsciiDoc to make it easier to create tools and other implementations and to refine the syntax where necessary. For more info, see https://github.com/asciidoctor/asciidoctor/wiki/AsciiDoc-Specification-(aka-UniDoc)-Planning.
from asciidoctor-extensions-lab.
Requiring a custom block type does seem like a bit much for adding a new admonition type. That I agree with.
I would basically just like to get rid of this warning:
asciidoctor: WARNING: ch01.adoc: line 93: invalid style for example block: QUESTION
If I do something like the README (which probably isn't the processing I want it to do) and require my file on the command line, that warning is still there.
-r ./lib/question-block.rb
RUBY_ENGINE == 'opal' ? (require 'question-block/extension') : (require_relative 'question-block/extension')
Extensions.register do
block QuestionBlock
end
class QuestionBlock < Extensions::BlockProcessor
use_dsl
named :question
on_context :open
def process parent, reader, attrs
create_paragraph parent, reader.lines, attrs
end
end
from asciidoctor-extensions-lab.
from asciidoctor-extensions-lab.
Sure. Am I missing something here?
[QUESTION]
====
1. How can you save your work when using The Go Playground?
====
Also, my full command looks like this, in case it's just not loading for some reason:
asciidoctor -r asciidoctor-pdf -r ./lib/sectnumoffset-treeprocessor.rb -r ./lib/question-block.rb -b pdf -a source-highlighter=coderay -a pdf-fontsdir=resources/fonts -a pdf-style=resources/themes/manning-theme.yml manuscript/*.adoc -D pdf/
from asciidoctor-extensions-lab.
from asciidoctor-extensions-lab.
Made the change, I still get the warning when generating a pdf.
Maybe I shouldn't worry about it. As I understand it, my publisher is going to handle customizing the icons when they convert to DocBook. So I don't need it to look exactly right, which just means I get a warning when generating.
from asciidoctor-extensions-lab.
On a completely unrelated note, why not use the Q&A syntax for this?
[qanda]
How can you save your work when using The Go Playground?:: {empty}
from asciidoctor-extensions-lab.
...btw, I'm testing the extension...
from asciidoctor-extensions-lab.
Aha! The style is case sensitive. The following will work.
require 'asciidoctor/extensions'
class QuestionBlock < Asciidoctor::Extensions::BlockProcessor
use_dsl
named :QUESTION
on_context :example
def process parent, reader, attrs
create_paragraph parent, reader.lines, attrs
end
end
Asciidoctor::Extensions.register do
block QuestionBlock
end
Btw, you probably want to create an admonition block instead of a paragraph in the process method. I'll try to fill in the details, then we can check this into the extension lab.
from asciidoctor-extensions-lab.
Voila!
require 'asciidoctor/extensions'
class QuestionBlock < Asciidoctor::Extensions::BlockProcessor
use_dsl
named :QUESTION
on_context :example
def process parent, reader, attrs
attrs['name'] = 'question'
attrs['caption'] = 'Question'
admon = create_block parent, :admonition, nil, attrs, content_model: :compound
parse_content admon, reader
admon
end
end
class QuestionBlockCss < Asciidoctor::Extensions::DocinfoProcessor
use_dsl
def process doc
'<style>
.admonitionblock td.icon .icon-question:before{content:"\f128";color:#000}
</style>'
end
end
Asciidoctor::Extensions.register do
block QuestionBlock
docinfo_processor QuestionBlockCss
end
from asciidoctor-extensions-lab.
I'll put this into the extensions lab so we can hack on it there.
from asciidoctor-extensions-lab.
It's there now.
from asciidoctor-extensions-lab.
Thanks. It works. I haven't done any custom icons in the PDF (for TIP, etc.) but this works as well as those ones.
As for [qanda]
, I'm using it for the answers at the end of the chapter, but never thought to use them for questions by themselves, which are scattered across several pages.
from asciidoctor-extensions-lab.
The combination of -r ./lib/custom-admonition-block.rb
and -a icons=font
result in a stack trace with asciidoctor-pdf
/usr/local/lib/ruby/gems/2.2.0/gems/asciidoctor-pdf-1.5.0.alpha.10/lib/asciidoctor-pdf/converter.rb:439:in
`block (4 levels) in convert_admonition': undefined method `[]' for nil:NilClass (NoMethodError)
from asciidoctor-extensions-lab.
When using Asciidoctor PDF, you need to define an admonition type for question in the custom theme. See https://github.com/asciidoctor/asciidoctor-pdf/blob/master/docs/theming-guide.adoc#admonition. Otherwise, the icon resolves to nil.
from asciidoctor-extensions-lab.
The HTML5 backend just relies on the stylesheet to sort out the icon, but Asciidoctor PDF actually has to look it up.
from asciidoctor-extensions-lab.
Gotcha. I'll look into it, thanks
from asciidoctor-extensions-lab.
Hah. Guess I could've just hijacked the warning icon or something. Doh.
I must be doing something wrong, as I don't quite understand the layout of the YAML. I either get that nil error or a /theme_loader.rb:90:in
process_entry': undefined method map' for 0:Fixnum
error
admonition:
border_color: $base_border_color
border_width: $base_border_width
admonition_icon_note_stroke_color: 000000
admonition_icon_question_name: fa-question
admonition_icon_question_stroke_color: 000000
admonition_icon_question_size: 24
admonition_icon_experiment_name: fa-flask
admonition_icon_experiment_stroke_color: 000000
admonition_icon_experiment_size: 24
from asciidoctor-extensions-lab.
no change with
admonition:
admonition_icon_tip_name: fa-question
error asciidoctor-pdf/theme_loader.rb:90:in 'process_entry': undefined method
map' for "fa-question":String (NoMethodError)` for either:
admonition_icon_tip_name: fa-question
or
admonition:
icon_tip_name: fa-question
from asciidoctor-extensions-lab.
First, it has to be defined with the other admonition settings or else the theme is incomplete.
admonition:
border_color: $base_border_color
border_width: $base_border_width
padding: [0, $horizontal_rhythm, 0, $horizontal_rhythm]
icon:
question:
name: fa-question
stroke_color: 000000
size: 14
But that brings us to a separate problem. The converter attempts to merge the theme data with the built-in defaults, but the built-in default is nil. So a change is needed to Asciidoctor PDF at line https://github.com/asciidoctor/asciidoctor-pdf/blob/master/lib/asciidoctor-pdf/converter.rb#L1786.
from asciidoctor-extensions-lab.
With that change to Asciidoctor PDF, it works. I'll commit it. You'll need to use HEAD.
from asciidoctor-extensions-lab.
Hm. I don't suppose putting this in my Gemfile and running bundle update is enough to get it working?
gem 'asciidoctor-pdf', github: 'asciidoctor/asciidoctor-pdf'
obviously not, it's still using alpha.10. hmmmm
/usr/local/lib/ruby/gems/2.2.0/gems/asciidoctor-pdf-1.5.0.alpha.10/lib/asciidoctor-pdf/converter.rb:1786:in `admonition_icon_data': undefined method `merge' for nil:NilClass (NoMethodError)
converter.rb:1786:in `admonition_icon_data': undefined method `merge' for nil:NilClass (NoMethodError)
UPDATE: -r asciidoctor-pdf
changed to a specific path -r ~/src/github.com/asciidoctor/asciidoctor-pdf/lib/asciidoctor-pdf
works
from asciidoctor-extensions-lab.
The implementation is a bit naive at the moment. Now that we have the
basics down, we can fill in the gaps so it handles all the cases.
Le 6 déc. 2015 5:20 PM, "Nathan Youngman" [email protected] a
écrit :
Sweet. The PDF looks pretty great.
[image: sample]
https://cloud.githubusercontent.com/assets/4566/11616600/581c4644-9c3c-11e5-8949-80e8ac067395.pngThere are some spots where it messes up, like when I have a quote or TIP
inside the admonition. Those work fine when hijacking a different
admonition, so it must be something in the CustomAdmonitionBlock code.
Notice the byline is repeated below.[image: malacandra]
https://cloud.githubusercontent.com/assets/4566/11616640/84afed0e-9c3d-11e5-86a8-fe7c360ef54e.png[EXPERIMENT].Experiment: malacandra.go====[quote, C.S. Lewis, Out of the Silent Planet]"Malacandra is much nearer than that: we shall make it in about twenty-eight days."Malacandra is another name for Mars in a SciFi trilogy by C.S. Lewis. Write a program to determine how fast their ship would need to travel in order to reach Malacandra in 28 days. Assume a distance of 56,000,000 km.====
Whether or not I should be doing that sorta thing is a whole other
question.—
Reply to this email directly or view it on GitHub
#9 (comment)
.
from asciidoctor-extensions-lab.
from asciidoctor-extensions-lab.
Fixed. Turns out I couldn't remember how to create a block extension right myself :)
from asciidoctor-extensions-lab.
@nathany When you use a GitHub reference in your Gemfile, you have to run everything using bundle exec
. Otherwise, Ruby doesn't see the clone.
from asciidoctor-extensions-lab.
Hah. I forgot about bundle exec
. It's been a while. Everything looks to be working. Thanks for helping me out on your Sunday.
from asciidoctor-extensions-lab.
from asciidoctor-extensions-lab.
Thank you both for this. I have successfully added the four new blocks I need into a separate .rb file. Works a treat. The reason I wanted new blocks is to save having to remember which admonition I had mapped to thinkspot, etc. Now all I need to do is
[THINKSPOT]
====
1. How can you save your work when using The Go Playground?
====
from asciidoctor-extensions-lab.
One more question. One of my new blocks uses a custom icon which I had got to work before by hijacking the icon in the master css file thus:
.admonitionblock td.icon .icon-warning:before {content: url('data:image/png;base64,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TUw6Y29tLmFkb2JlLnhtcAAAAAAAPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNS40LjAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIgogICAgICAgICAgICB4bWxuczpleGlmPSJodHRwOi8vbnMuYWRvYmUuY29tL2V4aWYvMS4wLyI+CiAgICAgICAgIDx4bXA6TW9kaWZ5RGF0ZT4yMDA3LTA2LTIwVDIwOjAxOjU5PC94bXA6TW9kaWZ5RGF0ZT4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgNy4wPC94bXA6Q3JlYXRvclRvb2w+CiAgICAgICAgIDx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+CiAgICAgICAgIDx0aWZmOllSZXNvbHV0aW9uPjMwMDwvdGlmZjpZUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6UmVzb2x1dGlvblVuaXQ+MjwvdGlmZjpSZXNvbHV0aW9uVW5pdD4KICAgICAgICAgPHRpZmY6UGhvdG9tZXRyaWNJbnRlcnByZXRhdGlvbj4yPC90aWZmOlBob3RvbWV0cmljSW50ZXJwcmV0YXRpb24+CiAgICAgICAgIDx0aWZmOlhSZXNvbHV0aW9uPjMwMDwvdGlmZjpYUmVzb2x1dGlvbj4KICAgICAgICAgPGV4aWY6Q29sb3JTcGFjZT42NTUzNTwvZXhpZjpDb2xvclNwYWNlPgogICAgICAgICA8ZXhpZjpQaXhlbFhEaW1lbnNpb24+NzIwMDwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj44NDU3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'); } /* Brian QandA */
Unfortunately, when I try this in the new block definition file:
class BrianFAQBlockCss < Asciidoctor::Extensions::DocinfoProcessor
use_dsl
def process doc
'<style>
.admonitionblock td.icon .icon-brianfaq:before {content: url('data:image/png;base64,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TUw6Y29tLmFkb2JlLnhtcAAAAAAAPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNS40LjAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIgogICAgICAgICAgICB4bWxuczpleGlmPSJodHRwOi8vbnMuYWRvYmUuY29tL2V4aWYvMS4wLyI+CiAgICAgICAgIDx4bXA6TW9kaWZ5RGF0ZT4yMDA3LTA2LTIwVDIwOjAxOjU5PC94bXA6TW9kaWZ5RGF0ZT4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgNy4wPC94bXA6Q3JlYXRvclRvb2w+CiAgICAgICAgIDx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+CiAgICAgICAgIDx0aWZmOllSZXNvbHV0aW9uPjMwMDwvdGlmZjpZUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6UmVzb2x1dGlvblVuaXQ+MjwvdGlmZjpSZXNvbHV0aW9uVW5pdD4KICAgICAgICAgPHRpZmY6UGhvdG9tZXRyaWNJbnRlcnByZXRhdGlvbj4yPC90aWZmOlBob3RvbWV0cmljSW50ZXJwcmV0YXRpb24+CiAgICAgICAgIDx0aWZmOlhSZXNvbHV0aW9uPjMwMDwvdGlmZjpYUmVzb2x1dGlvbj4KICAgICAgICAgPGV4aWY6Q29sb3JTcGFjZT42NTUzNTwvZXhpZjpDb2xvclNwYWNlPgogICAgICAgICA8ZXhpZjpQaXhlbFhEaW1lbnNpb24+NzIwMDwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj44NDU3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'); }
</style>'
end
It throws errors when I try to run it through asciidoctor. Can I not use base64 images this way?
Also, how do I get the new blocks to work as paragraphs too? E.g.
THINKSPOT: This is a think spot
Rather than always having to use block mode:
[THINKSPOT]
====
This is a think spot
====
from asciidoctor-extensions-lab.
Any suggestions on the base64 question?
from asciidoctor-extensions-lab.
As an add-on question to the lovely discussion above. How hard is it to make a custom admonition block optional? So, if attribute "Teacher" is set, then all "Teacher" admonition blocks are included, otherwise they're not. In usecase lingo: An an author of school books I would like to have one source files that an be processed to a students- and to a teachers-edition (with extra included blocks to guide/hint the teaching process). I know I can create conditional text and that would work, but I' m just spoiled by all the fancy stuff Asciidoctor can do for me. :-)
from asciidoctor-extensions-lab.
There is a custom admonition block extension in this lab. That's as far as we are going to take it here.
from asciidoctor-extensions-lab.
Related Issues (20)
- Is there a configuration open for using divs instead of tables for admonitions? HOT 1
- mathoid-treeprocessor and new versions of mathoid HOT 4
- npm install mathoid error: Package libffi was not found in the pkg-config search path. HOT 2
- Convert all inline example to use create_inline otherwise it gives "INFO: expected substitution value for custom inline macro to be of type Inline" HOT 5
- Integrate asciidoc-coalescer.rb as extension/converter so as to make it available in the CLI HOT 1
- sectnum offset tree processor always returns 1 or 2 HOT 1
- Make all these extensions installable with gem install HOT 4
- generate pdf with chart block HOT 4
- adding row name to chart HOT 3
- Add a metadata object for year HOT 1
- Add metadata object for tag message HOT 2
- man-inline-macro doesn't generate the correct output in the manpage backend HOT 5
- Section offset plugin fails when creating PDF HOT 4
- Using the Preprocessor ignores ifdef directives HOT 1
- add link to the current script location as comment into the script HOT 6
- Idea: Create file tree containing all included files HOT 2
- Graduate the asciidoc-coalescer.rb script to a separate project HOT 4
- showcomments-preprocessor seems broken with latest asciidoctor HOT 2
- Create summaries from distributed definitions HOT 1
- Help With Callouts: Any Examples? HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from asciidoctor-extensions-lab.