slimview 0.2.0 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +3 -3
- data/bin/slimview +3 -3
- data/lib/slimview/app.rb +34 -0
- data/lib/slimview/server.rb +12 -0
- data/lib/slimview/version.rb +2 -2
- data/lib/slimview.rb +2 -42
- metadata +15 -13
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 2dedf9869b30963a26ede0f0321d8306ca389bb7689726ad6e56b5dac0956cb6
|
|
4
|
+
data.tar.gz: 2d38bf535f127f9aac501c4f5be967314cec3643445ee2b5d0b353170a718c4b
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 4182b5be878c07f1150418342d3fd9c589a580ed3660a45b995d7d17a95095df918a0381ea37e6f6d15e66ee4cc34bce495835f6dc0a832fd249968e9ea90cd7
|
|
7
|
+
data.tar.gz: 32d63537999fedce6a8edfe9dd1072776386e89a3407152d0080acc6b415b464bc1e1b8398dc1388013764223b3bd303a39607973f533cb7d66ac1dbb77292a7
|
data/README.md
CHANGED
|
@@ -59,14 +59,14 @@ You can also use Slimview programmatically from Ruby:
|
|
|
59
59
|
require 'slimview'
|
|
60
60
|
|
|
61
61
|
# Start the server with default port 3000 and default 'templates' root
|
|
62
|
-
Slimview.new.start
|
|
62
|
+
Slimview::Server.new.start
|
|
63
63
|
|
|
64
64
|
# Customize port and templates root
|
|
65
|
-
server = Slimview.new port: 4000, root: 'views/slim'
|
|
65
|
+
server = Slimview::Server.new port: 4000, root: 'views/slim'
|
|
66
66
|
server.start
|
|
67
67
|
|
|
68
68
|
# Pass locals (available as variables inside your Slim templates)
|
|
69
|
-
server = Slimview.new items: ['one', 'two'], title: 'Hello'
|
|
69
|
+
server = Slimview::Server.new items: ['one', 'two'], title: 'Hello'
|
|
70
70
|
server.start
|
|
71
71
|
```
|
|
72
72
|
|
data/bin/slimview
CHANGED
|
@@ -29,15 +29,15 @@ end
|
|
|
29
29
|
port = nil
|
|
30
30
|
root = nil
|
|
31
31
|
|
|
32
|
-
if i = args.index '--port'
|
|
32
|
+
if (i = args.index '--port')
|
|
33
33
|
port = args[i + 1]
|
|
34
34
|
end
|
|
35
35
|
|
|
36
|
-
if i = args.index '--root'
|
|
36
|
+
if (i = args.index '--root')
|
|
37
37
|
root = args[i + 1]
|
|
38
38
|
end
|
|
39
39
|
|
|
40
40
|
port = port.to_i if port
|
|
41
41
|
|
|
42
|
-
server = Slimview.new port: port, root: root
|
|
42
|
+
server = Slimview::Server.new port: port, root: root
|
|
43
43
|
server.start
|
data/lib/slimview/app.rb
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
require 'sinatra/base'
|
|
2
|
+
require 'slim'
|
|
3
|
+
|
|
4
|
+
module Slimview
|
|
5
|
+
class App < Sinatra::Base
|
|
6
|
+
def self.configure!(root:, port:, locals:)
|
|
7
|
+
Slim::Engine.set_options pretty: true
|
|
8
|
+
|
|
9
|
+
views_path = File.expand_path(root, Dir.pwd)
|
|
10
|
+
|
|
11
|
+
set :bind, '0.0.0.0'
|
|
12
|
+
set :port, port
|
|
13
|
+
set :views, views_path
|
|
14
|
+
set :root, File.expand_path('.')
|
|
15
|
+
set :public_folder, File.join(settings.root, 'assets')
|
|
16
|
+
set :environment, :development
|
|
17
|
+
set :reload_templates, true
|
|
18
|
+
set :protection, except: :host_authorization
|
|
19
|
+
set :host_authorization, permitted_hosts: []
|
|
20
|
+
set :slimview_locals, locals
|
|
21
|
+
|
|
22
|
+
get '/*' do
|
|
23
|
+
page = params[:splat].first
|
|
24
|
+
page = 'index' if page.empty?
|
|
25
|
+
slim_path = File.join(settings.views, "#{page}.slim")
|
|
26
|
+
halt 404, "Template not found: #{page}" unless File.exist?(slim_path)
|
|
27
|
+
|
|
28
|
+
slim page.to_sym, locals: settings.slimview_locals
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
self
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
module Slimview
|
|
2
|
+
class Server
|
|
3
|
+
def initialize(port: nil, root: nil, **locals)
|
|
4
|
+
@port = port || ENV['SLIMVIEW_PORT']&.to_i || 3000
|
|
5
|
+
@root = root || ENV['SLIMVIEW_ROOT'] || 'templates'
|
|
6
|
+
@locals = locals
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
def start = app.run!
|
|
10
|
+
def app = App.configure!(root: @root, port: @port, locals: @locals)
|
|
11
|
+
end
|
|
12
|
+
end
|
data/lib/slimview/version.rb
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
VERSION = '0.2.
|
|
1
|
+
module Slimview
|
|
2
|
+
VERSION = '0.2.1'
|
|
3
3
|
end
|
data/lib/slimview.rb
CHANGED
|
@@ -1,42 +1,2 @@
|
|
|
1
|
-
require '
|
|
2
|
-
require '
|
|
3
|
-
|
|
4
|
-
class Slimview
|
|
5
|
-
def initialize(port: nil, root: nil, **locals)
|
|
6
|
-
@port = port || ENV['SLIMVIEW_PORT']&.to_i || 3000
|
|
7
|
-
@root = root || ENV['SLIMVIEW_ROOT'] || 'templates'
|
|
8
|
-
@locals = locals
|
|
9
|
-
end
|
|
10
|
-
|
|
11
|
-
def start = app.run!
|
|
12
|
-
|
|
13
|
-
private
|
|
14
|
-
|
|
15
|
-
def app = @app ||= app!
|
|
16
|
-
|
|
17
|
-
def app!
|
|
18
|
-
root = @root
|
|
19
|
-
port = @port
|
|
20
|
-
locals = @locals
|
|
21
|
-
|
|
22
|
-
Class.new Sinatra::Base do
|
|
23
|
-
Slim::Engine.set_options pretty: true
|
|
24
|
-
|
|
25
|
-
set :bind, '0.0.0.0'
|
|
26
|
-
set :port, port
|
|
27
|
-
set :views, root
|
|
28
|
-
set :public_folder, File.join(settings.root, 'assets')
|
|
29
|
-
set :environment, :development
|
|
30
|
-
set :reload_templates, true
|
|
31
|
-
|
|
32
|
-
get '/*' do
|
|
33
|
-
page = params[:splat].first
|
|
34
|
-
page = 'index' if page.empty?
|
|
35
|
-
slim_path = File.join settings.views, "#{page}.slim"
|
|
36
|
-
halt 404, "Template not found: #{page}" unless File.exist? slim_path
|
|
37
|
-
|
|
38
|
-
slim page.to_sym, locals: locals
|
|
39
|
-
end
|
|
40
|
-
end
|
|
41
|
-
end
|
|
42
|
-
end
|
|
1
|
+
require 'slimview/server'
|
|
2
|
+
require 'slimview/app'
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: slimview
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.2.
|
|
4
|
+
version: 0.2.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Danny Ben Shitrit
|
|
@@ -10,61 +10,61 @@ cert_chain: []
|
|
|
10
10
|
date: 1980-01-02 00:00:00.000000000 Z
|
|
11
11
|
dependencies:
|
|
12
12
|
- !ruby/object:Gem::Dependency
|
|
13
|
-
name:
|
|
13
|
+
name: puma
|
|
14
14
|
requirement: !ruby/object:Gem::Requirement
|
|
15
15
|
requirements:
|
|
16
16
|
- - "~>"
|
|
17
17
|
- !ruby/object:Gem::Version
|
|
18
|
-
version: '
|
|
18
|
+
version: '7.0'
|
|
19
19
|
type: :runtime
|
|
20
20
|
prerelease: false
|
|
21
21
|
version_requirements: !ruby/object:Gem::Requirement
|
|
22
22
|
requirements:
|
|
23
23
|
- - "~>"
|
|
24
24
|
- !ruby/object:Gem::Version
|
|
25
|
-
version: '
|
|
25
|
+
version: '7.0'
|
|
26
26
|
- !ruby/object:Gem::Dependency
|
|
27
|
-
name:
|
|
27
|
+
name: rackup
|
|
28
28
|
requirement: !ruby/object:Gem::Requirement
|
|
29
29
|
requirements:
|
|
30
30
|
- - "~>"
|
|
31
31
|
- !ruby/object:Gem::Version
|
|
32
|
-
version: '
|
|
32
|
+
version: '2.2'
|
|
33
33
|
type: :runtime
|
|
34
34
|
prerelease: false
|
|
35
35
|
version_requirements: !ruby/object:Gem::Requirement
|
|
36
36
|
requirements:
|
|
37
37
|
- - "~>"
|
|
38
38
|
- !ruby/object:Gem::Version
|
|
39
|
-
version: '
|
|
39
|
+
version: '2.2'
|
|
40
40
|
- !ruby/object:Gem::Dependency
|
|
41
|
-
name:
|
|
41
|
+
name: sinatra
|
|
42
42
|
requirement: !ruby/object:Gem::Requirement
|
|
43
43
|
requirements:
|
|
44
44
|
- - "~>"
|
|
45
45
|
- !ruby/object:Gem::Version
|
|
46
|
-
version: '
|
|
46
|
+
version: '4.1'
|
|
47
47
|
type: :runtime
|
|
48
48
|
prerelease: false
|
|
49
49
|
version_requirements: !ruby/object:Gem::Requirement
|
|
50
50
|
requirements:
|
|
51
51
|
- - "~>"
|
|
52
52
|
- !ruby/object:Gem::Version
|
|
53
|
-
version: '
|
|
53
|
+
version: '4.1'
|
|
54
54
|
- !ruby/object:Gem::Dependency
|
|
55
|
-
name:
|
|
55
|
+
name: slim
|
|
56
56
|
requirement: !ruby/object:Gem::Requirement
|
|
57
57
|
requirements:
|
|
58
58
|
- - "~>"
|
|
59
59
|
- !ruby/object:Gem::Version
|
|
60
|
-
version: '
|
|
60
|
+
version: '5.2'
|
|
61
61
|
type: :runtime
|
|
62
62
|
prerelease: false
|
|
63
63
|
version_requirements: !ruby/object:Gem::Requirement
|
|
64
64
|
requirements:
|
|
65
65
|
- - "~>"
|
|
66
66
|
- !ruby/object:Gem::Version
|
|
67
|
-
version: '
|
|
67
|
+
version: '5.2'
|
|
68
68
|
description: Command-line tool and library for quickly previewing Slim templates in
|
|
69
69
|
a local web server
|
|
70
70
|
email: db@dannyben.com
|
|
@@ -76,6 +76,8 @@ files:
|
|
|
76
76
|
- README.md
|
|
77
77
|
- bin/slimview
|
|
78
78
|
- lib/slimview.rb
|
|
79
|
+
- lib/slimview/app.rb
|
|
80
|
+
- lib/slimview/server.rb
|
|
79
81
|
- lib/slimview/version.rb
|
|
80
82
|
homepage: https://github.com/DannyBen/slimview
|
|
81
83
|
licenses:
|