class Qwik::TDiaryResolver

Attributes

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
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