Learn how to integrate Trifle::Docs as a standalone Sinatra application.
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. Who am I to judge.
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.