charsi 0.1.0 → 0.1.2
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/bin/charsi +10 -0
- data/charsi.gemspec +2 -1
- data/lib/charsi/app.rb +13 -0
- data/lib/charsi/builder.rb +1 -1
- data/lib/charsi/configuration.rb +1 -0
- data/lib/charsi/server.rb +22 -0
- data/lib/charsi.rb +1 -0
- data/templates/site/config.yml.template +2 -1
- metadata +16 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d2cacf89713b13f50ad0ebe1ce862ad84fa7b88b5a71297c2dcfa5c5b44d6afe
|
4
|
+
data.tar.gz: e460984bfa0c4e8b23f9ad13e838d17a0c1a03ea09894295619c9d4641cf5de2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: baf2444f0cbff82668fe697e9fd1e655a177b55171c187a475931e628d500c2933686bc856072a9ab0bf12152eb1db05bd04774b27bdf15187866b0121a125a5
|
7
|
+
data.tar.gz: '08bf088c251de38ada92c83f4eca065356262e44f9c9dc7575d0519536f880527cc7c445df3dc8caa25efef67302ba4b265c2d4c6c4285ecc04a7a4ddd012c02'
|
data/bin/charsi
CHANGED
@@ -16,6 +16,16 @@ elsif command == 'new'
|
|
16
16
|
raise ArgumentError, 'Project name is required' if project_name.nil?
|
17
17
|
|
18
18
|
Charsi::Generator.generate(project_name)
|
19
|
+
|
20
|
+
elsif command == 'serve'
|
21
|
+
charsi = Charsi::Builder.new
|
22
|
+
server = Charsi::Server.new
|
23
|
+
|
24
|
+
charsi.build
|
25
|
+
|
26
|
+
Thread.new { charsi.watch } if watch_flag
|
27
|
+
|
28
|
+
server.serve
|
19
29
|
else
|
20
30
|
puts 'Usage: charsi build [--watch]'
|
21
31
|
end
|
data/charsi.gemspec
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
Gem::Specification.new do |spec|
|
2
2
|
spec.name = 'charsi'
|
3
|
-
spec.version = '0.1.
|
3
|
+
spec.version = '0.1.2'
|
4
4
|
|
5
5
|
spec.authors = ['Ryan Beasse']
|
6
6
|
spec.email = ['me@ryanbeasse.com']
|
@@ -29,4 +29,5 @@ Gem::Specification.new do |spec|
|
|
29
29
|
spec.add_dependency 'tailwindcss-ruby', '~> 4.1'
|
30
30
|
spec.add_dependency 'filewatcher', '~> 2.1'
|
31
31
|
spec.add_dependency 'logger', '~> 1.6'
|
32
|
+
spec.add_dependency 'webrick', '~> 1.9'
|
32
33
|
end
|
data/lib/charsi/app.rb
CHANGED
@@ -8,6 +8,9 @@ module Charsi
|
|
8
8
|
|
9
9
|
def initialize
|
10
10
|
@cache_slug = Time.now.to_i
|
11
|
+
@config = Configuration.new
|
12
|
+
|
13
|
+
load_helpers
|
11
14
|
end
|
12
15
|
|
13
16
|
protected
|
@@ -19,5 +22,15 @@ module Charsi
|
|
19
22
|
def javascript_tag(asset)
|
20
23
|
"<script src='assets/javascript/#{asset}?#{@cache_slug}'></script>"
|
21
24
|
end
|
25
|
+
|
26
|
+
private
|
27
|
+
|
28
|
+
def load_helpers
|
29
|
+
helpers_path = @config.path(:helpers_dir)
|
30
|
+
|
31
|
+
Dir.glob(File.join(helpers_path, '**', '*.rb')).each do |helper_file|
|
32
|
+
require_relative helper_file
|
33
|
+
end
|
34
|
+
end
|
22
35
|
end
|
23
36
|
end
|
data/lib/charsi/builder.rb
CHANGED
data/lib/charsi/configuration.rb
CHANGED
@@ -0,0 +1,22 @@
|
|
1
|
+
require 'webrick'
|
2
|
+
|
3
|
+
module Charsi
|
4
|
+
class Server
|
5
|
+
DEFAULT_PORT = 8000
|
6
|
+
|
7
|
+
def initialize
|
8
|
+
@config = Configuration.new
|
9
|
+
end
|
10
|
+
|
11
|
+
def serve
|
12
|
+
build_dir = @config.path(:output_dir)
|
13
|
+
|
14
|
+
server = WEBrick::HTTPServer.new(Port: DEFAULT_PORT, DocumentRoot: build_dir)
|
15
|
+
trap('INT') { server.shutdown }
|
16
|
+
|
17
|
+
puts "[charsi] Serving #{build_dir} at http://localhost:#{DEFAULT_PORT}"
|
18
|
+
|
19
|
+
server.start
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
data/lib/charsi.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: charsi
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ryan Beasse
|
@@ -79,6 +79,20 @@ dependencies:
|
|
79
79
|
- - "~>"
|
80
80
|
- !ruby/object:Gem::Version
|
81
81
|
version: '1.6'
|
82
|
+
- !ruby/object:Gem::Dependency
|
83
|
+
name: webrick
|
84
|
+
requirement: !ruby/object:Gem::Requirement
|
85
|
+
requirements:
|
86
|
+
- - "~>"
|
87
|
+
- !ruby/object:Gem::Version
|
88
|
+
version: '1.9'
|
89
|
+
type: :runtime
|
90
|
+
prerelease: false
|
91
|
+
version_requirements: !ruby/object:Gem::Requirement
|
92
|
+
requirements:
|
93
|
+
- - "~>"
|
94
|
+
- !ruby/object:Gem::Version
|
95
|
+
version: '1.9'
|
82
96
|
email:
|
83
97
|
- me@ryanbeasse.com
|
84
98
|
executables:
|
@@ -99,6 +113,7 @@ files:
|
|
99
113
|
- lib/charsi/configuration.rb
|
100
114
|
- lib/charsi/file.rb
|
101
115
|
- lib/charsi/generator.rb
|
116
|
+
- lib/charsi/server.rb
|
102
117
|
- lib/charsi/template.rb
|
103
118
|
- templates/site/Gemfile.template
|
104
119
|
- templates/site/assets/css/tailwind.css.template
|