class Qwik::TDiaryResolver
Attributes
emode_titlelink[R]
titlelink[R]
Public Class Methods
get_title_name(e)
click to toggle source
# File vendor/qwik/lib/qwik/resolve-tdiary.rb, line 94 def self.get_title_name(e) # used at act-toc.rb (1..e.length).each {|i| if e[i].is_a?(String) return e[i].to_s.strip end } return '' end
new(config, site, action)
click to toggle source
# File vendor/qwik/lib/qwik/resolve-tdiary.rb, line 22 def initialize(config, site, action) @config = config @site = site @action = action @global_id = 0 t = @site.siteconfig['titlelink'] @titlelink = (t == 'true') t = @site.siteconfig['emode_titlelink'] @emode_titlelink = (t == 'true') end
resolve(config, site, action, wabisabi)
click to toggle source
# File vendor/qwik/lib/qwik/resolve-tdiary.rb, line 37 def self.resolve(config, site, action, wabisabi) resolver = self.new(config, site, action) w = resolver.resolve(wabisabi) return w end
Public Instance Methods
encode_label(name)
click to toggle source
# File vendor/qwik/lib/qwik/resolve-tdiary.rb, line 67 def encode_label(name) # used at act-toc.rb if name.nil? || name.empty? @global_id += 1 return @global_id.to_s end if /\A[A-Za-z0-9\-_:. ]+\z/ =~ name name.gsub!(/[^A-Za-z0-9\-_]+/, '_') name.squeeze!('_') name.chomp!('_') name.sub!(/\A_/, '') name = 'a' + name if /\A[A-Za-z]/ !~ name return name end if @emode_titlelink name = name+'<span class="e"><br></span>' # adhoc name = name.md5.base64 name.gsub!(/=/, '') name.gsub!(/\+/, '-') name.gsub!(/\//, '_') return name end return name.md5hex end
resolve(wabisabi)
click to toggle source
# File vendor/qwik/lib/qwik/resolve-tdiary.rb, line 43 def resolve(wabisabi) days = [] section = [] days << section wabisabi.each {|e| if is_title?(e) if 0 < section.size section = [] days << section end end section << e } @global_id = 0 ar = [] days.each {|section| title = '' title = section.shift if is_title?(section[0]) ar += tdiary_section(title, section) } ar end
Private Instance Methods
is_title?(e)
click to toggle source
# File vendor/qwik/lib/qwik/resolve-tdiary.rb, line 105 def is_title?(e) e.is_a?(Array) && e[0] == :h2 end
make_title_link(e)
click to toggle source
# File vendor/qwik/lib/qwik/resolve-tdiary.rb, line 109 def make_title_link(e) return e if e.length < 2 name = TDiaryResolver.get_title_name(e) label = encode_label(name) url = @action.c_page_url href = "#{url}#"+label if (@titlelink || @emode_titlelink) m = "■" e.insert(1, [:a, {:class=>'label', :href=>href, :name=>label}, m]) return e end e.insert(1, {:id=>label}) e end
tdiary_section(title, section)
click to toggle source
# File vendor/qwik/lib/qwik/resolve-tdiary.rb, line 128 def tdiary_section(title, section) title = make_title_link(title) return [ [:div, {:class=>'day'}, title, [:div, {:class=>'body'}, [:div, {:class=>'section'}, section], [:"!--", 'section']], [:"!--", 'body']], [:"!--", 'day'] ] end