main
 1# frozen_string_literal: true
 2
 3namespace :doc do
 4  Bundler.require(:doc)
 5
 6  def default_options
 7    {
 8      config: Rails.root.join("config", "jekyll.yml").to_s,
 9      source: Rails.root.join('doc').to_s,
10      destination: Rails.root.join('public', 'doc').to_s
11    }
12  end
13
14  desc 'Clean the API documentation'
15  task :clean do
16    rm_rf Rails.root.join('public', 'doc')
17  end
18
19  desc "Build static pages"
20  task build: [:clean, :environment] do
21    Jekyll::Site.new(Jekyll.configuration(default_options)).process
22  end
23
24  desc "Watch and rebuild static pages"
25  task watch: [:clean, :environment] do
26    custom_options = default_options.merge(watch: true)
27    Jekyll::Commands::Build.process(custom_options)
28  end
29end