jekyll-admin 0.8.1 → 0.11.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +50 -7
- data/lib/jekyll-admin.rb +14 -13
- data/lib/jekyll-admin/apiable.rb +76 -14
- data/lib/jekyll-admin/data_file.rb +19 -16
- data/lib/jekyll-admin/directory.rb +25 -26
- data/lib/jekyll-admin/file_helper.rb +14 -1
- data/lib/jekyll-admin/path_helper.rb +10 -1
- data/lib/jekyll-admin/public/asset-manifest.json +27 -0
- data/lib/jekyll-admin/public/index.html +1 -12
- data/lib/jekyll-admin/public/precache-manifest.64226b0470ae7a98d28d6c8a80943541.js +78 -0
- data/lib/jekyll-admin/public/service-worker.js +39 -0
- data/lib/jekyll-admin/public/static/css/2.9311179f.chunk.css +2 -0
- data/lib/jekyll-admin/public/static/css/2.9311179f.chunk.css.map +1 -0
- data/lib/jekyll-admin/public/static/css/main.51bccafc.chunk.css +5 -0
- data/lib/jekyll-admin/public/static/css/main.51bccafc.chunk.css.map +1 -0
- data/lib/jekyll-admin/public/static/js/2.c4e847cc.chunk.js +3 -0
- data/lib/jekyll-admin/public/static/js/2.c4e847cc.chunk.js.LICENSE.txt +69 -0
- data/lib/jekyll-admin/public/static/js/2.c4e847cc.chunk.js.map +1 -0
- data/lib/jekyll-admin/public/static/js/main.2ce220f0.chunk.js +2 -0
- data/lib/jekyll-admin/public/static/js/main.2ce220f0.chunk.js.map +1 -0
- data/lib/jekyll-admin/public/static/js/runtime-main.e35fac22.js +2 -0
- data/lib/jekyll-admin/public/static/js/runtime-main.e35fac22.js.map +1 -0
- data/lib/jekyll-admin/public/{1dc35d25e61d819a9c357074014867ab.ttf → static/media/fontawesome-webfont.1dc35d25.ttf} +0 -0
- data/lib/jekyll-admin/public/{25a32416abee198dd821b0b17a198a8f.eot → static/media/fontawesome-webfont.25a32416.eot} +0 -0
- data/lib/jekyll-admin/public/{c8ddf1e5e5bf3682bc7bebf30f394148.woff → static/media/fontawesome-webfont.c8ddf1e5.woff} +0 -0
- data/lib/jekyll-admin/public/{d7c639084f684d66a1bc66855d193ed8.svg → static/media/fontawesome-webfont.d7c63908.svg} +0 -0
- data/lib/jekyll-admin/public/{e6cf7c6ec7c2d6f670ae9d762604cb0b.woff2 → static/media/fontawesome-webfont.e6cf7c6e.woff2} +0 -0
- data/lib/jekyll-admin/public/{55131026930a0cd4539d1e2fdb92722d.ttf → static/media/lato-bold.55131026.ttf} +0 -0
- data/lib/jekyll-admin/public/{059514c92565e4045da1a69525dd9ec0.ttf → static/media/lato-regular.059514c9.ttf} +0 -0
- data/lib/jekyll-admin/public/{a770b6797b68e3f8920e473eb824bac0.gif → static/media/loader-big.a770b679.gif} +0 -0
- data/lib/jekyll-admin/public/static/media/rw-widgets.12f0820c.woff +0 -0
- data/lib/jekyll-admin/public/{03945ac4fc7fdefc44bc110bf1ba2393.svg → static/media/rw-widgets.792dcd18.svg} +14 -8
- data/lib/jekyll-admin/public/{e44520ab9079ea7633bfa874bed5d21d.eot → static/media/rw-widgets.bc7c4a59.eot} +0 -0
- data/lib/jekyll-admin/public/{bfc14ac982326f7d0b1340e20d3e0c37.ttf → static/media/rw-widgets.eceddf47.ttf} +0 -0
- data/lib/jekyll-admin/server.rb +23 -16
- data/lib/jekyll-admin/server/{collection.rb → collections.rb} +12 -5
- data/lib/jekyll-admin/server/configuration.rb +9 -6
- data/lib/jekyll-admin/server/data.rb +4 -2
- data/lib/jekyll-admin/server/{draft.rb → drafts.rb} +11 -7
- data/lib/jekyll-admin/server/{page.rb → pages.rb} +24 -5
- data/lib/jekyll-admin/server/site_meta.rb +25 -0
- data/lib/jekyll-admin/server/static_files.rb +83 -0
- data/lib/jekyll-admin/static_server.rb +3 -1
- data/lib/jekyll-admin/urlable.rb +9 -1
- data/lib/jekyll-admin/version.rb +3 -1
- data/lib/jekyll/commands/serve.rb +14 -12
- metadata +60 -62
- data/lib/jekyll-admin/page_without_a_file.rb +0 -7
- data/lib/jekyll-admin/public/33a752211d05af6684e26ec63c2ed965.gif +0 -0
- data/lib/jekyll-admin/public/8b4968b70019a0551a72940c5a2020d3.png +0 -0
- data/lib/jekyll-admin/public/8ea28ca3bfdf27145068e81dd07a34c6.png +0 -0
- data/lib/jekyll-admin/public/99adb54b0f30c0758bb4cb9ed5b80aa8.woff +0 -0
- data/lib/jekyll-admin/public/bundle.js +0 -117
- data/lib/jekyll-admin/public/bundle.js.map +0 -1
- data/lib/jekyll-admin/public/styles.css +0 -5
- data/lib/jekyll-admin/public/styles.css.map +0 -1
- data/lib/jekyll-admin/server/static_file.rb +0 -61
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module JekyllAdmin
|
2
4
|
class Server < Sinatra::Base
|
3
5
|
namespace "/collections" do
|
@@ -23,8 +25,11 @@ module JekyllAdmin
|
|
23
25
|
put "/:collection_id/*?/?:path.:ext" do
|
24
26
|
ensure_collection
|
25
27
|
|
26
|
-
if
|
28
|
+
if new?
|
29
|
+
ensure_not_overwriting_existing_file
|
30
|
+
elsif renamed?
|
27
31
|
ensure_requested_file
|
32
|
+
ensure_not_overwriting_existing_file
|
28
33
|
delete_file_without_process path
|
29
34
|
end
|
30
35
|
|
@@ -66,13 +71,15 @@ module JekyllAdmin
|
|
66
71
|
end
|
67
72
|
|
68
73
|
def entries
|
74
|
+
collections_dir = site.config["collections_dir"]
|
75
|
+
collection_id, splats = params.values_at("collection_id", "splat")
|
69
76
|
args = {
|
70
|
-
:base => site.
|
71
|
-
:content_type =>
|
72
|
-
:splat =>
|
77
|
+
:base => site.in_source_dir(collections_dir, "_#{collection_id}"),
|
78
|
+
:content_type => collection_id,
|
79
|
+
:splat => splats&.first,
|
73
80
|
}
|
74
81
|
# get the directories inside the requested directory
|
75
|
-
directory = JekyllAdmin::Directory.new(directory_path, args)
|
82
|
+
directory = JekyllAdmin::Directory.new(directory_path, **args)
|
76
83
|
directories = directory.directories
|
77
84
|
# merge directories with the documents at the same level
|
78
85
|
directories.concat(directory_docs.sort_by(&:date).reverse)
|
@@ -1,11 +1,13 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module JekyllAdmin
|
2
4
|
class Server < Sinatra::Base
|
3
5
|
namespace "/configuration" do
|
4
6
|
get do
|
5
|
-
json(
|
7
|
+
json(
|
6
8
|
:content => parsed_configuration,
|
7
|
-
:raw_content => raw_configuration
|
8
|
-
|
9
|
+
:raw_content => raw_configuration
|
10
|
+
)
|
9
11
|
end
|
10
12
|
|
11
13
|
put do
|
@@ -16,14 +18,15 @@ module JekyllAdmin
|
|
16
18
|
private
|
17
19
|
|
18
20
|
def overrides
|
19
|
-
{
|
21
|
+
@overrides ||= {
|
20
22
|
"source" => sanitized_path("/"),
|
21
23
|
}
|
22
24
|
end
|
23
25
|
|
24
26
|
# Computed configuration, with updates and defaults
|
27
|
+
# Returns an instance of Jekyll::Configuration
|
25
28
|
def configuration
|
26
|
-
@configuration ||=
|
29
|
+
@configuration ||= site.config.merge(overrides)
|
27
30
|
end
|
28
31
|
|
29
32
|
# Configuration data, as read by Jekyll
|
@@ -35,7 +38,7 @@ module JekyllAdmin
|
|
35
38
|
def raw_configuration
|
36
39
|
File.read(
|
37
40
|
configuration_path,
|
38
|
-
Jekyll::Utils.merged_file_read_opts(site, {})
|
41
|
+
**Jekyll::Utils.merged_file_read_opts(site, {})
|
39
42
|
)
|
40
43
|
end
|
41
44
|
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module JekyllAdmin
|
2
4
|
class Server < Sinatra::Base
|
3
5
|
# supported extensions, in order of preference, for now, no .csv
|
@@ -47,12 +49,12 @@ module JekyllAdmin
|
|
47
49
|
|
48
50
|
def entries
|
49
51
|
args = {
|
50
|
-
:base =>
|
52
|
+
:base => site.in_source_dir(DataFile.data_dir),
|
51
53
|
:content_type => "data",
|
52
54
|
:splat => splats.first,
|
53
55
|
}
|
54
56
|
# get all directories inside the requested directory
|
55
|
-
directory = JekyllAdmin::Directory.new(directory_path, args)
|
57
|
+
directory = JekyllAdmin::Directory.new(directory_path, **args)
|
56
58
|
directories = directory.directories
|
57
59
|
|
58
60
|
# exclude root level directories which do not have data files
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module JekyllAdmin
|
2
4
|
class Server < Sinatra::Base
|
3
5
|
namespace "/drafts" do
|
@@ -14,8 +16,11 @@ module JekyllAdmin
|
|
14
16
|
put "/*?/?:path.:ext" do
|
15
17
|
ensure_html_content
|
16
18
|
|
17
|
-
if
|
19
|
+
if new?
|
20
|
+
ensure_not_overwriting_existing_file
|
21
|
+
elsif renamed?
|
18
22
|
ensure_requested_file
|
23
|
+
ensure_not_overwriting_existing_file
|
19
24
|
delete_file_without_process path
|
20
25
|
end
|
21
26
|
|
@@ -37,9 +42,7 @@ module JekyllAdmin
|
|
37
42
|
# file but reside in a separate directory, `<source_dir>/_drafts/`
|
38
43
|
def drafts
|
39
44
|
posts = site.collections.find { |l, _c| l == "posts" }
|
40
|
-
if posts
|
41
|
-
posts[1].docs.find_all { |d| d.output_ext == ".html" && d.draft? }
|
42
|
-
end
|
45
|
+
posts[1].docs.find_all { |d| d.output_ext == ".html" && d.draft? } if posts
|
43
46
|
end
|
44
47
|
|
45
48
|
# return drafts at the same level as directory
|
@@ -71,18 +74,19 @@ module JekyllAdmin
|
|
71
74
|
|
72
75
|
def ensure_html_content
|
73
76
|
return if html_content?
|
77
|
+
|
74
78
|
content_type :json
|
75
79
|
halt 422, json("error_message" => "Invalid file extension for drafts")
|
76
80
|
end
|
77
81
|
|
78
82
|
def entries
|
79
83
|
args = {
|
80
|
-
:base => site.
|
84
|
+
:base => site.in_source_dir("_drafts"),
|
81
85
|
:content_type => "drafts",
|
82
86
|
:splat => params["splat"].first,
|
83
87
|
}
|
84
88
|
# get the directories inside the requested directory
|
85
|
-
directory = JekyllAdmin::Directory.new(directory_path, args)
|
89
|
+
directory = JekyllAdmin::Directory.new(directory_path, **args)
|
86
90
|
directories = directory.directories
|
87
91
|
|
88
92
|
# exclude root level directories which do not have drafts
|
@@ -96,7 +100,7 @@ module JekyllAdmin
|
|
96
100
|
end
|
97
101
|
|
98
102
|
def html_content?
|
99
|
-
draft =
|
103
|
+
draft = Jekyll::PageWithoutAFile.new(
|
100
104
|
site,
|
101
105
|
site.source,
|
102
106
|
"_drafts",
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module JekyllAdmin
|
2
4
|
class Server < Sinatra::Base
|
3
5
|
namespace "/pages" do
|
@@ -14,13 +16,15 @@ module JekyllAdmin
|
|
14
16
|
put "/*?/?:path.:ext" do
|
15
17
|
ensure_html_content
|
16
18
|
|
17
|
-
if
|
19
|
+
if new?
|
20
|
+
ensure_not_overwriting_existing_file
|
21
|
+
elsif renamed?
|
18
22
|
ensure_requested_file
|
23
|
+
ensure_not_overwriting_existing_file
|
19
24
|
delete_file_without_process path
|
20
25
|
end
|
21
26
|
|
22
27
|
write_file write_path, page_body
|
23
|
-
|
24
28
|
json written_file.to_api(:include_content => true)
|
25
29
|
end
|
26
30
|
|
@@ -36,12 +40,13 @@ module JekyllAdmin
|
|
36
40
|
|
37
41
|
def ensure_html_content
|
38
42
|
return if html_content?
|
43
|
+
|
39
44
|
content_type :json
|
40
45
|
halt 422, json("error_message" => "Invalid file extension for pages")
|
41
46
|
end
|
42
47
|
|
43
48
|
def html_content?
|
44
|
-
page =
|
49
|
+
page = Jekyll::PageWithoutAFile.new(
|
45
50
|
site,
|
46
51
|
site.source,
|
47
52
|
"",
|
@@ -52,7 +57,21 @@ module JekyllAdmin
|
|
52
57
|
end
|
53
58
|
|
54
59
|
def pages
|
55
|
-
site.pages.select(
|
60
|
+
site.pages.select { |p| html_page_at_source?(p) }
|
61
|
+
end
|
62
|
+
|
63
|
+
# Test if a given page is *physically located* within the source directory and outputs
|
64
|
+
# to an HTML file.
|
65
|
+
# We don't want *virtual pages* that are generated via plugins.
|
66
|
+
def html_page_at_source?(page)
|
67
|
+
return false unless page.html?
|
68
|
+
|
69
|
+
# If page is not an instance of a `Jekyll::Page` subclass, then it needs additional
|
70
|
+
# inspection.
|
71
|
+
# Can't use `is_a?(Jekyll::Page)` here because it returns true for subclass instances
|
72
|
+
return true if page.class == Jekyll::Page
|
73
|
+
|
74
|
+
File.exist?(site.in_source_dir(page.relative_path))
|
56
75
|
end
|
57
76
|
|
58
77
|
def directory_pages
|
@@ -73,7 +92,7 @@ module JekyllAdmin
|
|
73
92
|
:splat => params["splat"].first,
|
74
93
|
}
|
75
94
|
# get all directories inside the requested directory
|
76
|
-
directory = JekyllAdmin::Directory.new(directory_path, args)
|
95
|
+
directory = JekyllAdmin::Directory.new(directory_path, **args)
|
77
96
|
directories = directory.directories
|
78
97
|
|
79
98
|
# exclude root level directories which do not have pages
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module JekyllAdmin
|
4
|
+
class Server < Sinatra::Base
|
5
|
+
# Jekyll::Site instance method names that return a Hash.
|
6
|
+
META_KEYS = [:categories, :layouts, :tags].freeze
|
7
|
+
private_constant :META_KEYS
|
8
|
+
|
9
|
+
namespace "/site_meta" do
|
10
|
+
get "/?" do
|
11
|
+
json site_meta
|
12
|
+
end
|
13
|
+
|
14
|
+
private
|
15
|
+
|
16
|
+
# Stash a Hash generated with pre-determined keys.
|
17
|
+
def site_meta
|
18
|
+
@site_meta ||= META_KEYS.zip(META_KEYS.map { |k| site.send(k).keys }).to_h
|
19
|
+
end
|
20
|
+
|
21
|
+
# Reset memoization of `#site_meta` when the site regenerates
|
22
|
+
Jekyll::Hooks.register(:site, :after_reset) { @site_meta = nil }
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,83 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module JekyllAdmin
|
4
|
+
class Server < Sinatra::Base
|
5
|
+
namespace "/static_files" do
|
6
|
+
# End-point to retrieve all static-files in site
|
7
|
+
get "/index" do
|
8
|
+
json site.static_files.map(&:to_api)
|
9
|
+
end
|
10
|
+
|
11
|
+
# End-point to retrieve individual directories that contain static-files
|
12
|
+
get "/?*" do
|
13
|
+
render_404 unless File.exist?(path)
|
14
|
+
|
15
|
+
if requested_file
|
16
|
+
json requested_file.to_api(:include_content => true)
|
17
|
+
else
|
18
|
+
json entries.map(&:to_api)
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
put "/*" do
|
23
|
+
if renamed?
|
24
|
+
ensure_requested_file
|
25
|
+
delete_file_without_process path
|
26
|
+
end
|
27
|
+
|
28
|
+
write_file(write_path, static_file_body)
|
29
|
+
json written_file.to_api(:include_content => true)
|
30
|
+
end
|
31
|
+
|
32
|
+
delete "/*" do
|
33
|
+
ensure_requested_file
|
34
|
+
delete_file path
|
35
|
+
content_type :json
|
36
|
+
status 200
|
37
|
+
halt
|
38
|
+
end
|
39
|
+
|
40
|
+
private
|
41
|
+
|
42
|
+
# returns relative path of root level directories that contain static files
|
43
|
+
def dirs_at_root
|
44
|
+
static_files.map do |file|
|
45
|
+
File.dirname(file.path.sub("#{site.source}/", "")).split("/")[0]
|
46
|
+
end.uniq
|
47
|
+
end
|
48
|
+
|
49
|
+
def directory_files
|
50
|
+
static_files.find_all do |file|
|
51
|
+
sanitized_path(File.dirname(file.path)) == directory_path
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
def entries
|
56
|
+
splat = params["splat"].first
|
57
|
+
args = {
|
58
|
+
:base => site.source,
|
59
|
+
:content_type => "static_files",
|
60
|
+
:splat => splat,
|
61
|
+
}
|
62
|
+
# get all directories inside the requested directory
|
63
|
+
directory = JekyllAdmin::Directory.new(directory_path, **args)
|
64
|
+
directories = directory.directories
|
65
|
+
|
66
|
+
# exclude root level directories which do not have static files
|
67
|
+
directories = directories.select { |d| dirs_at_root.include? d.name.to_s } if splat.empty?
|
68
|
+
directories.concat(directory_files)
|
69
|
+
end
|
70
|
+
|
71
|
+
def static_file_body
|
72
|
+
raw_content = request_payload["raw_content"]
|
73
|
+
return raw_content if raw_content.is_a?(String) && raw_content != ""
|
74
|
+
|
75
|
+
Base64.decode64 request_payload["encoded_content"].to_s
|
76
|
+
end
|
77
|
+
|
78
|
+
def static_files
|
79
|
+
site.static_files.select { |f| f.path.start_with? site.source }
|
80
|
+
end
|
81
|
+
end
|
82
|
+
end
|
83
|
+
end
|
@@ -1,8 +1,10 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module JekyllAdmin
|
2
4
|
class StaticServer < Sinatra::Base
|
3
5
|
set :public_dir, File.expand_path("./public", File.dirname(__FILE__))
|
4
6
|
|
5
|
-
MUST_BUILD_MESSAGE = "Front end not yet built. Run `script/build` to build."
|
7
|
+
MUST_BUILD_MESSAGE = "Front end not yet built. Run `script/build` to build."
|
6
8
|
|
7
9
|
# Allow `/admin` and `/admin/`, and `/admin/*` to serve `/public/dist/index.html`
|
8
10
|
get "/*" do
|
data/lib/jekyll-admin/urlable.rb
CHANGED
@@ -1,12 +1,14 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module JekyllAdmin
|
2
4
|
# Abstract module to be included in Convertible and Document to provide
|
3
5
|
# additional, URL-specific functionality without duplicating logic
|
4
6
|
module URLable
|
5
|
-
|
6
7
|
# Absolute URL to the HTTP(S) rendered/served representation of this resource
|
7
8
|
def http_url
|
8
9
|
return if is_a?(Jekyll::Collection) || is_a?(JekyllAdmin::DataFile)
|
9
10
|
return if is_a?(Jekyll::Document) && !collection.write?
|
11
|
+
|
10
12
|
@http_url ||= Addressable::URI.new(
|
11
13
|
:scheme => scheme, :host => host, :port => port,
|
12
14
|
:path => path_with_base(JekyllAdmin.site.config["baseurl"], url)
|
@@ -23,6 +25,7 @@ module JekyllAdmin
|
|
23
25
|
|
24
26
|
def entries_url
|
25
27
|
return unless is_a?(Jekyll::Collection)
|
28
|
+
|
26
29
|
"#{api_url}/entries"
|
27
30
|
end
|
28
31
|
|
@@ -30,6 +33,9 @@ module JekyllAdmin
|
|
30
33
|
|
31
34
|
# URL path relative to `_api/` to retreive the given resource via the API
|
32
35
|
# Note: we can't use a case statement here, because === doesn't like includes
|
36
|
+
#
|
37
|
+
# rubocop:disable Metrics/CyclomaticComplexity
|
38
|
+
# rubocop:disable Metrics/PerceivedComplexity
|
33
39
|
def resource_path
|
34
40
|
if is_a?(Jekyll::Document) && draft?
|
35
41
|
"/#{relative_path.sub(%r!\A_!, "")}"
|
@@ -45,6 +51,8 @@ module JekyllAdmin
|
|
45
51
|
"/pages/#{relative_path}"
|
46
52
|
end
|
47
53
|
end
|
54
|
+
# rubocop:enable Metrics/PerceivedComplexity
|
55
|
+
# rubocop:enable Metrics/CyclomaticComplexity
|
48
56
|
|
49
57
|
# URI.join doesn't like joining two relative paths, and File.join may join
|
50
58
|
# with `\` rather than with `/` on windows
|
data/lib/jekyll-admin/version.rb
CHANGED
@@ -1,25 +1,27 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module Jekyll
|
2
4
|
module Commands
|
3
5
|
class Serve < Command
|
4
6
|
class << self
|
7
|
+
private
|
8
|
+
|
5
9
|
def start_up_webrick(opts, destination)
|
6
|
-
if opts["livereload"]
|
7
|
-
@reload_reactor.start(opts)
|
8
|
-
end
|
10
|
+
@reload_reactor.start(opts) if opts["livereload"]
|
9
11
|
|
10
|
-
server = WEBrick::HTTPServer.new(webrick_opts(opts)).tap { |o| o.unmount("") }
|
11
|
-
server.mount(opts["baseurl"], Servlet, destination, file_handler_opts)
|
12
|
+
@server = WEBrick::HTTPServer.new(webrick_opts(opts)).tap { |o| o.unmount("") }
|
13
|
+
@server.mount(opts["baseurl"].to_s, Servlet, destination, file_handler_opts)
|
12
14
|
|
13
|
-
jekyll_admin_monkey_patch
|
15
|
+
jekyll_admin_monkey_patch
|
14
16
|
|
15
|
-
Jekyll.logger.info "Server address:", server_address(server, opts)
|
16
|
-
launch_browser server, opts if opts["open_url"]
|
17
|
-
boot_or_detach server, opts
|
17
|
+
Jekyll.logger.info "Server address:", server_address(@server, opts)
|
18
|
+
launch_browser @server, opts if opts["open_url"]
|
19
|
+
boot_or_detach @server, opts
|
18
20
|
end
|
19
21
|
|
20
|
-
def jekyll_admin_monkey_patch
|
21
|
-
server.mount "/admin", Rack::Handler::WEBrick, JekyllAdmin::StaticServer
|
22
|
-
server.mount "/_api", Rack::Handler::WEBrick, JekyllAdmin::Server
|
22
|
+
def jekyll_admin_monkey_patch
|
23
|
+
@server.mount "/admin", Rack::Handler::WEBrick, JekyllAdmin::StaticServer
|
24
|
+
@server.mount "/_api", Rack::Handler::WEBrick, JekyllAdmin::Server
|
23
25
|
Jekyll.logger.info "JekyllAdmin mode:", ENV["RACK_ENV"] || "production"
|
24
26
|
end
|
25
27
|
end
|
metadata
CHANGED
@@ -1,30 +1,36 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jekyll-admin
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.11.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mert Kahyaoğlu
|
8
8
|
- GitHub Open Source
|
9
|
-
autorequire:
|
9
|
+
autorequire:
|
10
10
|
bindir: exe
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2020-12-06 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: jekyll
|
16
16
|
requirement: !ruby/object:Gem::Requirement
|
17
17
|
requirements:
|
18
|
-
- - "
|
18
|
+
- - ">="
|
19
|
+
- !ruby/object:Gem::Version
|
20
|
+
version: '3.7'
|
21
|
+
- - "<"
|
19
22
|
- !ruby/object:Gem::Version
|
20
|
-
version: '
|
23
|
+
version: '5.0'
|
21
24
|
type: :runtime
|
22
25
|
prerelease: false
|
23
26
|
version_requirements: !ruby/object:Gem::Requirement
|
24
27
|
requirements:
|
25
|
-
- - "
|
28
|
+
- - ">="
|
29
|
+
- !ruby/object:Gem::Version
|
30
|
+
version: '3.7'
|
31
|
+
- - "<"
|
26
32
|
- !ruby/object:Gem::Version
|
27
|
-
version: '
|
33
|
+
version: '5.0'
|
28
34
|
- !ruby/object:Gem::Dependency
|
29
35
|
name: sinatra
|
30
36
|
requirement: !ruby/object:Gem::Requirement
|
@@ -54,33 +60,33 @@ dependencies:
|
|
54
60
|
- !ruby/object:Gem::Version
|
55
61
|
version: '1.4'
|
56
62
|
- !ruby/object:Gem::Dependency
|
57
|
-
name:
|
63
|
+
name: bundler
|
58
64
|
requirement: !ruby/object:Gem::Requirement
|
59
65
|
requirements:
|
60
|
-
- - "
|
66
|
+
- - ">="
|
61
67
|
- !ruby/object:Gem::Version
|
62
|
-
version: '
|
63
|
-
type: :
|
68
|
+
version: '1.7'
|
69
|
+
type: :development
|
64
70
|
prerelease: false
|
65
71
|
version_requirements: !ruby/object:Gem::Requirement
|
66
72
|
requirements:
|
67
|
-
- - "
|
73
|
+
- - ">="
|
68
74
|
- !ruby/object:Gem::Version
|
69
|
-
version: '
|
75
|
+
version: '1.7'
|
70
76
|
- !ruby/object:Gem::Dependency
|
71
|
-
name:
|
77
|
+
name: gem-release
|
72
78
|
requirement: !ruby/object:Gem::Requirement
|
73
79
|
requirements:
|
74
80
|
- - "~>"
|
75
81
|
- !ruby/object:Gem::Version
|
76
|
-
version: '
|
82
|
+
version: '0.7'
|
77
83
|
type: :development
|
78
84
|
prerelease: false
|
79
85
|
version_requirements: !ruby/object:Gem::Requirement
|
80
86
|
requirements:
|
81
87
|
- - "~>"
|
82
88
|
- !ruby/object:Gem::Version
|
83
|
-
version: '
|
89
|
+
version: '0.7'
|
84
90
|
- !ruby/object:Gem::Dependency
|
85
91
|
name: rake
|
86
92
|
requirement: !ruby/object:Gem::Requirement
|
@@ -110,19 +116,19 @@ dependencies:
|
|
110
116
|
- !ruby/object:Gem::Version
|
111
117
|
version: '3.4'
|
112
118
|
- !ruby/object:Gem::Dependency
|
113
|
-
name: rubocop
|
119
|
+
name: rubocop-jekyll
|
114
120
|
requirement: !ruby/object:Gem::Requirement
|
115
121
|
requirements:
|
116
122
|
- - "~>"
|
117
123
|
- !ruby/object:Gem::Version
|
118
|
-
version: 0.
|
124
|
+
version: 0.10.0
|
119
125
|
type: :development
|
120
126
|
prerelease: false
|
121
127
|
version_requirements: !ruby/object:Gem::Requirement
|
122
128
|
requirements:
|
123
129
|
- - "~>"
|
124
130
|
- !ruby/object:Gem::Version
|
125
|
-
version: 0.
|
131
|
+
version: 0.10.0
|
126
132
|
- !ruby/object:Gem::Dependency
|
127
133
|
name: sinatra-cross_origin
|
128
134
|
requirement: !ruby/object:Gem::Requirement
|
@@ -137,20 +143,6 @@ dependencies:
|
|
137
143
|
- - "~>"
|
138
144
|
- !ruby/object:Gem::Version
|
139
145
|
version: '0.3'
|
140
|
-
- !ruby/object:Gem::Dependency
|
141
|
-
name: gem-release
|
142
|
-
requirement: !ruby/object:Gem::Requirement
|
143
|
-
requirements:
|
144
|
-
- - "~>"
|
145
|
-
- !ruby/object:Gem::Version
|
146
|
-
version: '0.7'
|
147
|
-
type: :development
|
148
|
-
prerelease: false
|
149
|
-
version_requirements: !ruby/object:Gem::Requirement
|
150
|
-
requirements:
|
151
|
-
- - "~>"
|
152
|
-
- !ruby/object:Gem::Version
|
153
|
-
version: '0.7'
|
154
146
|
description: Jekyll::Admin is a drop in administrative framework for Jekyll sites.
|
155
147
|
email:
|
156
148
|
- mertkahyaoglu93@gmail.com
|
@@ -166,36 +158,43 @@ files:
|
|
166
158
|
- lib/jekyll-admin/data_file.rb
|
167
159
|
- lib/jekyll-admin/directory.rb
|
168
160
|
- lib/jekyll-admin/file_helper.rb
|
169
|
-
- lib/jekyll-admin/page_without_a_file.rb
|
170
161
|
- lib/jekyll-admin/path_helper.rb
|
171
|
-
- lib/jekyll-admin/public/
|
172
|
-
- lib/jekyll-admin/public/059514c92565e4045da1a69525dd9ec0.ttf
|
173
|
-
- lib/jekyll-admin/public/1dc35d25e61d819a9c357074014867ab.ttf
|
174
|
-
- lib/jekyll-admin/public/25a32416abee198dd821b0b17a198a8f.eot
|
175
|
-
- lib/jekyll-admin/public/33a752211d05af6684e26ec63c2ed965.gif
|
176
|
-
- lib/jekyll-admin/public/55131026930a0cd4539d1e2fdb92722d.ttf
|
177
|
-
- lib/jekyll-admin/public/8b4968b70019a0551a72940c5a2020d3.png
|
178
|
-
- lib/jekyll-admin/public/8ea28ca3bfdf27145068e81dd07a34c6.png
|
179
|
-
- lib/jekyll-admin/public/99adb54b0f30c0758bb4cb9ed5b80aa8.woff
|
180
|
-
- lib/jekyll-admin/public/a770b6797b68e3f8920e473eb824bac0.gif
|
181
|
-
- lib/jekyll-admin/public/bfc14ac982326f7d0b1340e20d3e0c37.ttf
|
182
|
-
- lib/jekyll-admin/public/bundle.js
|
183
|
-
- lib/jekyll-admin/public/bundle.js.map
|
184
|
-
- lib/jekyll-admin/public/c8ddf1e5e5bf3682bc7bebf30f394148.woff
|
185
|
-
- lib/jekyll-admin/public/d7c639084f684d66a1bc66855d193ed8.svg
|
186
|
-
- lib/jekyll-admin/public/e44520ab9079ea7633bfa874bed5d21d.eot
|
187
|
-
- lib/jekyll-admin/public/e6cf7c6ec7c2d6f670ae9d762604cb0b.woff2
|
162
|
+
- lib/jekyll-admin/public/asset-manifest.json
|
188
163
|
- lib/jekyll-admin/public/favicon.ico
|
189
164
|
- lib/jekyll-admin/public/index.html
|
190
|
-
- lib/jekyll-admin/public/
|
191
|
-
- lib/jekyll-admin/public/
|
165
|
+
- lib/jekyll-admin/public/precache-manifest.64226b0470ae7a98d28d6c8a80943541.js
|
166
|
+
- lib/jekyll-admin/public/service-worker.js
|
167
|
+
- lib/jekyll-admin/public/static/css/2.9311179f.chunk.css
|
168
|
+
- lib/jekyll-admin/public/static/css/2.9311179f.chunk.css.map
|
169
|
+
- lib/jekyll-admin/public/static/css/main.51bccafc.chunk.css
|
170
|
+
- lib/jekyll-admin/public/static/css/main.51bccafc.chunk.css.map
|
171
|
+
- lib/jekyll-admin/public/static/js/2.c4e847cc.chunk.js
|
172
|
+
- lib/jekyll-admin/public/static/js/2.c4e847cc.chunk.js.LICENSE.txt
|
173
|
+
- lib/jekyll-admin/public/static/js/2.c4e847cc.chunk.js.map
|
174
|
+
- lib/jekyll-admin/public/static/js/main.2ce220f0.chunk.js
|
175
|
+
- lib/jekyll-admin/public/static/js/main.2ce220f0.chunk.js.map
|
176
|
+
- lib/jekyll-admin/public/static/js/runtime-main.e35fac22.js
|
177
|
+
- lib/jekyll-admin/public/static/js/runtime-main.e35fac22.js.map
|
178
|
+
- lib/jekyll-admin/public/static/media/fontawesome-webfont.1dc35d25.ttf
|
179
|
+
- lib/jekyll-admin/public/static/media/fontawesome-webfont.25a32416.eot
|
180
|
+
- lib/jekyll-admin/public/static/media/fontawesome-webfont.c8ddf1e5.woff
|
181
|
+
- lib/jekyll-admin/public/static/media/fontawesome-webfont.d7c63908.svg
|
182
|
+
- lib/jekyll-admin/public/static/media/fontawesome-webfont.e6cf7c6e.woff2
|
183
|
+
- lib/jekyll-admin/public/static/media/lato-bold.55131026.ttf
|
184
|
+
- lib/jekyll-admin/public/static/media/lato-regular.059514c9.ttf
|
185
|
+
- lib/jekyll-admin/public/static/media/loader-big.a770b679.gif
|
186
|
+
- lib/jekyll-admin/public/static/media/rw-widgets.12f0820c.woff
|
187
|
+
- lib/jekyll-admin/public/static/media/rw-widgets.792dcd18.svg
|
188
|
+
- lib/jekyll-admin/public/static/media/rw-widgets.bc7c4a59.eot
|
189
|
+
- lib/jekyll-admin/public/static/media/rw-widgets.eceddf47.ttf
|
192
190
|
- lib/jekyll-admin/server.rb
|
193
|
-
- lib/jekyll-admin/server/
|
191
|
+
- lib/jekyll-admin/server/collections.rb
|
194
192
|
- lib/jekyll-admin/server/configuration.rb
|
195
193
|
- lib/jekyll-admin/server/data.rb
|
196
|
-
- lib/jekyll-admin/server/
|
197
|
-
- lib/jekyll-admin/server/
|
198
|
-
- lib/jekyll-admin/server/
|
194
|
+
- lib/jekyll-admin/server/drafts.rb
|
195
|
+
- lib/jekyll-admin/server/pages.rb
|
196
|
+
- lib/jekyll-admin/server/site_meta.rb
|
197
|
+
- lib/jekyll-admin/server/static_files.rb
|
199
198
|
- lib/jekyll-admin/static_server.rb
|
200
199
|
- lib/jekyll-admin/urlable.rb
|
201
200
|
- lib/jekyll-admin/version.rb
|
@@ -205,7 +204,7 @@ licenses:
|
|
205
204
|
- MIT
|
206
205
|
metadata:
|
207
206
|
allowed_push_host: https://rubygems.org
|
208
|
-
post_install_message:
|
207
|
+
post_install_message:
|
209
208
|
rdoc_options: []
|
210
209
|
require_paths:
|
211
210
|
- lib
|
@@ -213,16 +212,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
213
212
|
requirements:
|
214
213
|
- - ">="
|
215
214
|
- !ruby/object:Gem::Version
|
216
|
-
version:
|
215
|
+
version: 2.3.0
|
217
216
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
218
217
|
requirements:
|
219
218
|
- - ">="
|
220
219
|
- !ruby/object:Gem::Version
|
221
220
|
version: '0'
|
222
221
|
requirements: []
|
223
|
-
|
224
|
-
|
225
|
-
signing_key:
|
222
|
+
rubygems_version: 3.1.4
|
223
|
+
signing_key:
|
226
224
|
specification_version: 4
|
227
225
|
summary: wp-admin for Jekyll, but better
|
228
226
|
test_files: []
|