Trifle
GitHub
Trifle::Docs / Usage / Standalone Sinatra

Standalone Sinatra App

Using Trifle::Docs as a standalone Sinatra app works great. This website you're reading is running as standalone Sinatra app.

Now, to be fair, this kinda defeats the purpose of using Trifle::Docs over Static Site Generator. Coz, after all, you're not really integrating the documentation anywhere. On the other side, maybe you just prefer Trifle::Docs simplicity and templating over SSG like Jekyll or Hugo. Who knows. Why am I to gudge.

Sinatra App

You're gonna have to write a simple Sinatra App first.

#!/usr/bin/env ruby
# frozen_string_literal: true

require 'bundler/setup'
require 'trifle/docs'
require 'puma'

Trifle::Docs.configure do |config|
  config.path = File.join(__dir__, 'docs')
  config.views = File.join(__dir__, 'templates')
  config.register_harvester(Trifle::Docs::Harvester::Markdown)
  config.register_harvester(Trifle::Docs::Harvester::File)
end

Trifle::Docs::App.run!

That was it. It's super simple. Just single Trifle::Docs.configure block and then run Trifle::Docs::App.run!. Yea, Trifle::Docs come with sinatra app bundled in.

Docs

You're gonna have to write some Markdown files. Thats totally in your area. Please reffer to Harvester::Markdown for additional details. Follow folder structure documentation.

Templates

As a developer you're gonna need to write (at least) two ERB templates. One for the layout.erb and one for the page.erb. You get couple attributes available inside of these templates that you can use to build up menus, breadcrumbs, content and whatnot. Please refer to templates/sinatra_app documentation.