Class: Trifle::Docs::PageController

Inherits:
ActionController::Base
  • Object
show all
Includes:
PageControllerHelpers
Defined in:
lib/trifle/docs/engine.rb

Instance Method Summary collapse

Instance Method Details

#configurationObject



145
146
147
# File 'lib/trifle/docs/engine.rb', line 145

def configuration
  params[:configuration] || Trifle::Docs.default
end

#docs_layoutObject



149
150
151
# File 'lib/trifle/docs/engine.rb', line 149

def docs_layout
  "layouts/trifle/docs/#{configuration.layout}"
end

#llmsObject



173
174
175
176
177
178
179
180
181
182
# File 'lib/trifle/docs/engine.rb', line 173

def llms
  base_url = llms_scope
  llms_url = [base_url, 'llms.txt'].reject(&:empty?).join('/')
  render_llms(llms_url, allow_empty: true) do
    Trifle::Docs::Helper::Llms.homepage_markdown(
      config: configuration,
      base_url: base_url
    )
  end
end

#llms_fullObject



184
185
186
187
188
189
190
191
192
193
# File 'lib/trifle/docs/engine.rb', line 184

def llms_full
  base_url = llms_scope
  llms_url = [base_url, 'llms-full.txt'].reject(&:empty?).join('/')
  render_llms(llms_url) do
    Trifle::Docs::Helper::Llms.full_markdown(
      config: configuration,
      base_url: base_url
    )
  end
end

#searchObject



161
162
163
164
165
166
167
168
169
170
171
# File 'lib/trifle/docs/engine.rb', line 161

def search
  results = Trifle::Docs.search(query: params[:query], scope: params[:scope])

  render 'search', locals: {
    results: results,
    query: params[:query],
    scope: params[:scope],
    sitemap: Trifle::Docs.sitemap,
    meta: { description: 'Search' }
  }
end

#showObject



153
154
155
156
157
158
159
# File 'lib/trifle/docs/engine.rb', line 153

def show
  url, wants_md = resolve_url(params)
  meta = fetch_meta(url)
  return render_not_found if meta.nil?

  render_for_meta(meta, url, wants_md, request)
end

#sitemapObject



195
196
197
198
199
200
# File 'lib/trifle/docs/engine.rb', line 195

def sitemap
  base_url = configuration.sitemap_base_url || request.base_url
  render_sitemap('sitemap.xml') do
    Trifle::Docs::Helper::Sitemap.xml(config: configuration, base_url: base_url)
  end
end