j1m_admin 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (44) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +21 -0
  3. data/README.md +37 -0
  4. data/lib/jekyll-admin.rb +47 -0
  5. data/lib/jekyll-admin/apiable.rb +153 -0
  6. data/lib/jekyll-admin/data_file.rb +91 -0
  7. data/lib/jekyll-admin/directory.rb +68 -0
  8. data/lib/jekyll-admin/file_helper.rb +64 -0
  9. data/lib/jekyll-admin/page_without_a_file.rb +7 -0
  10. data/lib/jekyll-admin/path_helper.rb +74 -0
  11. data/lib/jekyll-admin/public/03945ac4fc7fdefc44bc110bf1ba2393.svg +18 -0
  12. data/lib/jekyll-admin/public/059514c92565e4045da1a69525dd9ec0.ttf +0 -0
  13. data/lib/jekyll-admin/public/1dc35d25e61d819a9c357074014867ab.ttf +0 -0
  14. data/lib/jekyll-admin/public/25a32416abee198dd821b0b17a198a8f.eot +0 -0
  15. data/lib/jekyll-admin/public/33a752211d05af6684e26ec63c2ed965.gif +0 -0
  16. data/lib/jekyll-admin/public/55131026930a0cd4539d1e2fdb92722d.ttf +0 -0
  17. data/lib/jekyll-admin/public/847c038a8202754b465604459e16715d.png +0 -0
  18. data/lib/jekyll-admin/public/99adb54b0f30c0758bb4cb9ed5b80aa8.woff +0 -0
  19. data/lib/jekyll-admin/public/a770b6797b68e3f8920e473eb824bac0.gif +0 -0
  20. data/lib/jekyll-admin/public/bfc14ac982326f7d0b1340e20d3e0c37.ttf +0 -0
  21. data/lib/jekyll-admin/public/bundle.js +37 -0
  22. data/lib/jekyll-admin/public/bundle.js.map +1 -0
  23. data/lib/jekyll-admin/public/c4c172d28f17a61e4476715c58640841.png +0 -0
  24. data/lib/jekyll-admin/public/c8ddf1e5e5bf3682bc7bebf30f394148.woff +0 -0
  25. data/lib/jekyll-admin/public/d7c639084f684d66a1bc66855d193ed8.svg +685 -0
  26. data/lib/jekyll-admin/public/e44520ab9079ea7633bfa874bed5d21d.eot +0 -0
  27. data/lib/jekyll-admin/public/e6cf7c6ec7c2d6f670ae9d762604cb0b.woff2 +0 -0
  28. data/lib/jekyll-admin/public/favicon.ico +0 -0
  29. data/lib/jekyll-admin/public/iframeResizer.client.js +1104 -0
  30. data/lib/jekyll-admin/public/index.html +17 -0
  31. data/lib/jekyll-admin/public/styles.css +5 -0
  32. data/lib/jekyll-admin/public/styles.css.map +1 -0
  33. data/lib/jekyll-admin/server.rb +91 -0
  34. data/lib/jekyll-admin/server/collection.rb +82 -0
  35. data/lib/jekyll-admin/server/configuration.rb +42 -0
  36. data/lib/jekyll-admin/server/data.rb +45 -0
  37. data/lib/jekyll-admin/server/page.rb +90 -0
  38. data/lib/jekyll-admin/server/static_file.rb +61 -0
  39. data/lib/jekyll-admin/static_server.rb +24 -0
  40. data/lib/jekyll-admin/urlable.rb +65 -0
  41. data/lib/jekyll-admin/version.rb +3 -0
  42. data/lib/jekyll/commands/build.rb +14 -0
  43. data/lib/jekyll/commands/serve.rb +24 -0
  44. metadata +229 -0
@@ -0,0 +1,65 @@
1
+ module JekyllAdmin
2
+ # Abstract module to be included in Convertible and Document to provide
3
+ # additional, URL-specific functionality without duplicating logic
4
+ module URLable
5
+
6
+ # Absolute URL to the HTTP(S) rendered/served representation of this resource
7
+ def http_url
8
+ return if is_a?(Jekyll::Collection) || is_a?(JekyllAdmin::DataFile)
9
+ return if is_a?(Jekyll::Document) && !collection.write?
10
+ @http_url ||= Addressable::URI.new(
11
+ :scheme => scheme, :host => host, :port => port,
12
+ :path => path_with_base(JekyllAdmin.site.config["baseurl"], url)
13
+ ).normalize.to_s
14
+ end
15
+
16
+ # Absolute URL to the API representation of this resource
17
+ def api_url
18
+ @api_url ||= Addressable::URI.new(
19
+ :scheme => scheme, :host => host, :port => port,
20
+ :path => path_with_base("/_api", resource_path)
21
+ ).normalize.to_s
22
+ end
23
+
24
+ def entries_url
25
+ return unless is_a?(Jekyll::Collection)
26
+ "#{api_url}/entries"
27
+ end
28
+
29
+ private
30
+
31
+ # URL path relative to `_api/` to retreive the given resource via the API
32
+ # Note: we can't use a case statement here, because === doesn't like includes
33
+ def resource_path
34
+ if is_a?(Jekyll::Document)
35
+ "/collections/#{relative_path.sub(%r!\A_!, "")}"
36
+ elsif is_a?(Jekyll::Collection)
37
+ "/collections/#{label}"
38
+ elsif is_a?(JekyllAdmin::DataFile)
39
+ relative_path.sub(%r!\A/#{DataFile.data_dir}!, "/data")
40
+ elsif is_a?(Jekyll::StaticFile)
41
+ "/static_files/#{relative_path}"
42
+ elsif is_a?(Jekyll::Page)
43
+ "/pages/#{relative_path}"
44
+ end
45
+ end
46
+
47
+ # URI.join doesn't like joining two relative paths, and File.join may join
48
+ # with `\` rather than with `/` on windows
49
+ def path_with_base(base, path)
50
+ [base, path].join("/").squeeze("/")
51
+ end
52
+
53
+ def scheme
54
+ JekyllAdmin.site.config["scheme"] || "http"
55
+ end
56
+
57
+ def host
58
+ JekyllAdmin.site.config["host"].sub("127.0.0.1", "localhost")
59
+ end
60
+
61
+ def port
62
+ JekyllAdmin.site.config["port"]
63
+ end
64
+ end
65
+ end
@@ -0,0 +1,3 @@
1
+ module JekyllAdmin
2
+ VERSION = "0.0.1".freeze
3
+ end
@@ -0,0 +1,14 @@
1
+ module Jekyll
2
+ module Commands
3
+ class Build < Command
4
+ class << self
5
+ alias_method :original_build, :build
6
+
7
+ def build(site, options)
8
+ options["watch"] = false
9
+ original_build(site, options)
10
+ end
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,24 @@
1
+ module Jekyll
2
+ module Commands
3
+ class Serve < Command
4
+ class << self
5
+ def start_up_webrick(opts, destination)
6
+ server = WEBrick::HTTPServer.new(webrick_opts(opts)).tap { |o| o.unmount("") }
7
+ server.mount(opts["baseurl"], Servlet, destination, file_handler_opts)
8
+
9
+ jekyll_admin_monkey_patch(server)
10
+
11
+ Jekyll.logger.info "Server address:", server_address(server, opts)
12
+ launch_browser server, opts if opts["open_url"]
13
+ boot_or_detach server, opts
14
+ end
15
+
16
+ def jekyll_admin_monkey_patch(server)
17
+ server.mount "/admin", Rack::Handler::WEBrick, JekyllAdmin::StaticServer
18
+ server.mount "/_api", Rack::Handler::WEBrick, JekyllAdmin::Server
19
+ Jekyll.logger.info "JekyllAdmin mode:", ENV["RACK_ENV"] || "production"
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
metadata ADDED
@@ -0,0 +1,229 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: j1m_admin
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Mert Kahyaoğlu
8
+ - GitHub Open Source
9
+ autorequire:
10
+ bindir: exe
11
+ cert_chain: []
12
+ date: 2017-03-25 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: jekyll
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - "~>"
19
+ - !ruby/object:Gem::Version
20
+ version: '3.3'
21
+ type: :runtime
22
+ prerelease: false
23
+ version_requirements: !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - "~>"
26
+ - !ruby/object:Gem::Version
27
+ version: '3.3'
28
+ - !ruby/object:Gem::Dependency
29
+ name: sinatra
30
+ requirement: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - "~>"
33
+ - !ruby/object:Gem::Version
34
+ version: '1.4'
35
+ type: :runtime
36
+ prerelease: false
37
+ version_requirements: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - "~>"
40
+ - !ruby/object:Gem::Version
41
+ version: '1.4'
42
+ - !ruby/object:Gem::Dependency
43
+ name: sinatra-contrib
44
+ requirement: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - "~>"
47
+ - !ruby/object:Gem::Version
48
+ version: '1.4'
49
+ type: :runtime
50
+ prerelease: false
51
+ version_requirements: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - "~>"
54
+ - !ruby/object:Gem::Version
55
+ version: '1.4'
56
+ - !ruby/object:Gem::Dependency
57
+ name: addressable
58
+ requirement: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - "~>"
61
+ - !ruby/object:Gem::Version
62
+ version: '2.4'
63
+ type: :runtime
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - "~>"
68
+ - !ruby/object:Gem::Version
69
+ version: '2.4'
70
+ - !ruby/object:Gem::Dependency
71
+ name: bundler
72
+ requirement: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - "~>"
75
+ - !ruby/object:Gem::Version
76
+ version: '1.7'
77
+ type: :development
78
+ prerelease: false
79
+ version_requirements: !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - "~>"
82
+ - !ruby/object:Gem::Version
83
+ version: '1.7'
84
+ - !ruby/object:Gem::Dependency
85
+ name: rake
86
+ requirement: !ruby/object:Gem::Requirement
87
+ requirements:
88
+ - - "~>"
89
+ - !ruby/object:Gem::Version
90
+ version: '10.0'
91
+ type: :development
92
+ prerelease: false
93
+ version_requirements: !ruby/object:Gem::Requirement
94
+ requirements:
95
+ - - "~>"
96
+ - !ruby/object:Gem::Version
97
+ version: '10.0'
98
+ - !ruby/object:Gem::Dependency
99
+ name: rspec
100
+ requirement: !ruby/object:Gem::Requirement
101
+ requirements:
102
+ - - "~>"
103
+ - !ruby/object:Gem::Version
104
+ version: '3.4'
105
+ type: :development
106
+ prerelease: false
107
+ version_requirements: !ruby/object:Gem::Requirement
108
+ requirements:
109
+ - - "~>"
110
+ - !ruby/object:Gem::Version
111
+ version: '3.4'
112
+ - !ruby/object:Gem::Dependency
113
+ name: rubocop
114
+ requirement: !ruby/object:Gem::Requirement
115
+ requirements:
116
+ - - "~>"
117
+ - !ruby/object:Gem::Version
118
+ version: '0.35'
119
+ type: :development
120
+ prerelease: false
121
+ version_requirements: !ruby/object:Gem::Requirement
122
+ requirements:
123
+ - - "~>"
124
+ - !ruby/object:Gem::Version
125
+ version: '0.35'
126
+ - !ruby/object:Gem::Dependency
127
+ name: sinatra-cross_origin
128
+ requirement: !ruby/object:Gem::Requirement
129
+ requirements:
130
+ - - "~>"
131
+ - !ruby/object:Gem::Version
132
+ version: '0.3'
133
+ type: :development
134
+ prerelease: false
135
+ version_requirements: !ruby/object:Gem::Requirement
136
+ requirements:
137
+ - - "~>"
138
+ - !ruby/object:Gem::Version
139
+ 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
+ description: Jekyll::Admin is a drop in administrative framework for Jekyll sites.
155
+ email:
156
+ - mertkahyaoglu93@gmail.com
157
+ - opensource@github.com
158
+ executables: []
159
+ extensions: []
160
+ extra_rdoc_files: []
161
+ files:
162
+ - LICENSE
163
+ - README.md
164
+ - lib/jekyll-admin.rb
165
+ - lib/jekyll-admin/apiable.rb
166
+ - lib/jekyll-admin/data_file.rb
167
+ - lib/jekyll-admin/directory.rb
168
+ - lib/jekyll-admin/file_helper.rb
169
+ - lib/jekyll-admin/page_without_a_file.rb
170
+ - lib/jekyll-admin/path_helper.rb
171
+ - lib/jekyll-admin/public/03945ac4fc7fdefc44bc110bf1ba2393.svg
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/847c038a8202754b465604459e16715d.png
178
+ - lib/jekyll-admin/public/99adb54b0f30c0758bb4cb9ed5b80aa8.woff
179
+ - lib/jekyll-admin/public/a770b6797b68e3f8920e473eb824bac0.gif
180
+ - lib/jekyll-admin/public/bfc14ac982326f7d0b1340e20d3e0c37.ttf
181
+ - lib/jekyll-admin/public/bundle.js
182
+ - lib/jekyll-admin/public/bundle.js.map
183
+ - lib/jekyll-admin/public/c4c172d28f17a61e4476715c58640841.png
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
188
+ - lib/jekyll-admin/public/favicon.ico
189
+ - lib/jekyll-admin/public/iframeResizer.client.js
190
+ - lib/jekyll-admin/public/index.html
191
+ - lib/jekyll-admin/public/styles.css
192
+ - lib/jekyll-admin/public/styles.css.map
193
+ - lib/jekyll-admin/server.rb
194
+ - lib/jekyll-admin/server/collection.rb
195
+ - lib/jekyll-admin/server/configuration.rb
196
+ - lib/jekyll-admin/server/data.rb
197
+ - lib/jekyll-admin/server/page.rb
198
+ - lib/jekyll-admin/server/static_file.rb
199
+ - lib/jekyll-admin/static_server.rb
200
+ - lib/jekyll-admin/urlable.rb
201
+ - lib/jekyll-admin/version.rb
202
+ - lib/jekyll/commands/build.rb
203
+ - lib/jekyll/commands/serve.rb
204
+ homepage: https://github.com/jekyll/jekyll-admin
205
+ licenses:
206
+ - MIT
207
+ metadata:
208
+ allowed_push_host: https://rubygems.org
209
+ post_install_message:
210
+ rdoc_options: []
211
+ require_paths:
212
+ - lib
213
+ required_ruby_version: !ruby/object:Gem::Requirement
214
+ requirements:
215
+ - - ">="
216
+ - !ruby/object:Gem::Version
217
+ version: '0'
218
+ required_rubygems_version: !ruby/object:Gem::Requirement
219
+ requirements:
220
+ - - ">="
221
+ - !ruby/object:Gem::Version
222
+ version: '0'
223
+ requirements: []
224
+ rubyforge_project:
225
+ rubygems_version: 2.6.11
226
+ signing_key:
227
+ specification_version: 4
228
+ summary: wp-admin for Jekyll, but better
229
+ test_files: []