Module: DocPages::ApplicationHelper
- Defined in:
- app/helpers/doc_pages/application_helper.rb
Instance Method Summary collapse
- #doc_page_ids ⇒ Object
- #grouped_by_folder ⇒ Object
- #link_to_page(page) ⇒ Object
- #orphans ⇒ Object
- #render_grouped ⇒ Object
- #render_orphans ⇒ Object
Instance Method Details
#doc_page_ids ⇒ Object
3 4 5 |
# File 'app/helpers/doc_pages/application_helper.rb', line 3 def doc_page_ids HighVoltage.page_ids - ["home"] end |
#grouped_by_folder ⇒ Object
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 |
#link_to_page(page) ⇒ Object
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 |
#orphans ⇒ Object
11 12 13 |
# File 'app/helpers/doc_pages/application_helper.rb', line 11 def orphans doc_page_ids.reject { |id| id.include?("/") } end |
#render_grouped ⇒ Object
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_orphans ⇒ Object
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 |