#!/usr/bin/env ruby
macro :note do
%{
#{@name.to_s.capitalize}#{value}
}
end
macro :box do
exact_parameters 2
%{}
end
macro :codeblock do
exact_parameters 1
%{
}
end
macro :image do
min_parameters 1
max_parameters 3
image = param(0)
alt = "@alt[-]" unless attr(:alt)
source_file = Glyph.lite? ? image : Glyph::PROJECT/"images/#{image}"
dest_file = Glyph.lite? ? image : "images/#{image}"
Glyph.warning "Image '#{image}' not found" unless Pathname.new(dest_file).exist?
interpret "img[#{alt}@src[#{dest_file}]#{@node.attrs.join}]"
end
macro :figure do
min_parameters 1
max_parameters 2
image = param(0)
alt = "@alt[-]" unless attr(:alt)
caption = param(1) rescue nil
caption = "div[@class[caption]#{caption}]" if caption
source_file = Glyph.lite? ? image : Glyph::PROJECT/"images/#{image}"
dest_file = Glyph.lite? ? image : "images/#{image}"
Glyph.warning "Figure '#{image}' not found" unless Pathname.new(dest_file).exist?
interpret %{div[@class[figure]
img[#{alt}@src[#{dest_file}]#{@node.attrs.join}]
#{caption}
]}
end
macro :title do
no_parameters
unless Glyph["document.title"].blank? then
%{
#{Glyph["document.title"]}
}
else
""
end
end
macro :subtitle do
no_parameters
unless Glyph["document.subtitle"].blank? then
%{
#{Glyph["document.subtitle"]}
}
else
""
end
end
macro :author do
no_parameters
unless Glyph['document.author'].blank? then
%{
by #{Glyph["document.author"]}
}
else
""
end
end
macro :pubdate do
no_parameters
%{
#{Time.now.strftime("%B %Y")}
}
end
macro :revision do
unless Glyph["document.revision"].blank? then
%{#{Glyph['document.revision']}
}
else
""
end
end
macro_alias :important => :note
macro_alias :tip => :note
macro_alias :caution => :note