lib/jekyll-admin/server.rb in jekyll-admin-0.9.0 vs lib/jekyll-admin/server.rb in jekyll-admin-0.10.0

- old
+ new

@@ -1,5 +1,7 @@ +# frozen_string_literal: true + module JekyllAdmin class Server < Sinatra::Base ROUTES = %w(collections configuration data drafts pages static_files).freeze include JekyllAdmin::PathHelper include JekyllAdmin::FileHelper @@ -29,10 +31,15 @@ status 204 end private + def json(object, options = {}) + content_type :json + JSON.pretty_generate(object, options) + end + def site JekyllAdmin.site end def render_404 @@ -56,18 +63,21 @@ def front_matter request_payload["front_matter"] end def document_body - body = if front_matter && !front_matter.empty? - YAML.dump(restored_front_matter).strip - .gsub(": 'null'", ": null") # restore null values - else - "---" - end + body = +"" + body << if front_matter && !front_matter.empty? + YAML.dump(restored_front_matter).strip + .gsub(": 'null'", ": null") # restore null values + else + "---" + end body << "\n---\n\n" body << request_payload["raw_content"].to_s + body << "\n" unless body.end_with?("\n") + body end alias_method :page_body, :document_body def request_body @request_body ||= begin @@ -89,11 +99,10 @@ end.to_h end end end -require "jekyll-admin/server/collection" -require "jekyll-admin/server/configuration" -require "jekyll-admin/server/data" -require "jekyll-admin/server/draft" -require "jekyll-admin/server/page" -require "jekyll-admin/server/static_file" +# load individual route configurations +JekyllAdmin::Server::ROUTES.each { |name| require_relative File.join("server", name) } + +# load namespaces outside route configurations +require_relative "server/site_meta"