Module: DocPages::ApplicationHelper

Defined in:
app/helpers/doc_pages/application_helper.rb

Instance Method Summary collapse

Instance Method Details

#doc_page_idsObject



3
4
5
# File 'app/helpers/doc_pages/application_helper.rb', line 3

def doc_page_ids
  HighVoltage.page_ids - ["home"]
end

#grouped_by_folderObject



7
8
9
# File 'app/helpers/doc_pages/application_helper.rb', line 7

def grouped_by_folder
  doc_page_ids.filter { |id| id.include?("/") }.group_by { |id| id.split("/").first }
end


32
33
34
35
36
37
38
39
# File 'app/helpers/doc_pages/application_helper.rb', line 32

def link_to_page(page)
  <<~ERB
    <li>
      #{link_to page.split("/").last.titleize, doc_path(page), data: {turbo: false},
        class: "text-white group flex gap-x-3 rounded-md p-2 text-sm leading-6 font-semibold hover:bg-gray-700 hover:text-white"}
    </li>
  ERB
end

#orphansObject



11
12
13
# File 'app/helpers/doc_pages/application_helper.rb', line 11

def orphans
  doc_page_ids.reject { |id| id.include?("/") }
end

#render_groupedObject



19
20
21
22
23
24
25
26
27
28
29
30
# File 'app/helpers/doc_pages/application_helper.rb', line 19

def render_grouped
  grouped_by_folder.map do |folder, pages|
    <<~ERB
      <div class="flex flex-col gap-y-2 mb-5">
        <h2 class="text-white font-semibold text-lg hover:cursor-pointer js-folders">#{folder.titleize}</h2>
        <ul class="flex flex-col gap-y-2 hidden js-toggle-hidden">
          #{pages.map { |page| link_to_page(page) }.join.html_safe}
        </ul>
      </div>
    ERB
  end.join("").html_safe
end

#render_orphansObject



15
16
17
# File 'app/helpers/doc_pages/application_helper.rb', line 15

def render_orphans
  orphans.map { |page| link_to_page(page) }.join("").html_safe
end