Sha256: c571557542b214b63205c14a840c40500b76fd7812886ee630904042225e5ab0

Contents?: true

Size: 1.62 KB

Versions: 2

Compression:

Stored size: 1.62 KB

Contents

#!/usr/bin/env ruby

macro :note do
	%{<aside class="#{@name}">
<span class="note-title">#{@name.to_s.capitalize}</span>#{value}

</aside>}
end

macro :box do
	exact_parameters 2
	%{<aside class="box">
<div class="box-title">#{param(0)}</div>
#{param(1)}

</aside>}
end

macro :figure do
	min_parameters 1
	max_parameters 2
	image = param(0)
	alt = "@alt[-]" unless attr(:alt)
	caption = "figcaption[#{param(1)}]" rescue nil
	figure_element_for image, alt, caption do |alt, dest_file, caption|
		interpret %{=figure[
img[#{alt}@src[#{Glyph["output.#{Glyph['document.output']}.base"]}#{dest_file}]#{@node.attrs.join}]
					#{caption}
]}
	end
end

macro :pubdate do
	no_parameters
	t = Time.now
	%{<time class="pubdate" datetime="#{t.strftime("%Y-%m-%d")}">
#{Time.now.strftime("%B %Y")}
</time>}
end

macro :navigation do
	exact_parameters 1
	procs = {}
	procs[:contents] = lambda do
		%{<a href="#{Glyph["output.#{Glyph['document.output']}.base"]}index.html">Contents</a>}
	end
	procs[:previous] = lambda do |topic|
		if topic then
			%{<a href="#{Glyph["output.#{Glyph['document.output']}.base"]}#{topic[:src].gsub(/\..+$/, '.html')}">#{topic[:title]} &larr;</a>}
		else
			""
		end
	end
	procs[:next] = lambda do |topic|
		if topic then
			%{<a href="#{Glyph["output.#{Glyph['document.output']}.base"]}#{topic[:src].gsub(/\..+$/, '.html')}">&rarr; #{topic[:title]}</a>}
		else
			""
		end
	end
	procs[:navigation] = lambda do |contents, prev_link, next_link|
		%{<nav>#{prev_link}#{contents}#{next_link}</nav>}
	end
	navigation_element_for param(0).to_sym, procs
end

macro_alias :important => :note
macro_alias :tip => :note
macro_alias :caution => :note

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
glyph-0.4.2 macros/html5/block.rb
glyph-0.4.1 macros/html5/block.rb