lib/jekyll-admin/server.rb in jekyll-admin-0.4.1 vs lib/jekyll-admin/server.rb in jekyll-admin-0.5.0
- old
+ new
@@ -14,11 +14,11 @@
configure :development, :test do
require "sinatra/cross_origin"
register Sinatra::CrossOrigin
enable :cross_origin
disable :allow_credentials
- set :allow_methods, %i(delete get options post put)
+ set :allow_methods, %i[delete get options post put]
end
get "/" do
json ROUTES.map { |r| ["#{r}_api", URI.join(base_url, "/_api/", r)] }.to_h
end
@@ -57,11 +57,12 @@
request_payload["front_matter"]
end
def document_body
body = if front_matter && !front_matter.empty?
- YAML.dump(front_matter).strip
+ 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
@@ -78,9 +79,17 @@
end
def namespace
namespace = request.path_info.split("/")[1].to_s.downcase
namespace if ROUTES.include?(namespace)
+ end
+
+ # verbose 'null' values in front matter
+ def restored_front_matter
+ front_matter.map do |key, value|
+ value = "null" if value.nil?
+ [key, value]
+ end.to_h
end
end
end
require "jekyll-admin/server/collection"