statique 0.1.3 → 0.1.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: dd7fb4476908430cae60c027294cfa598de01c78d0d9ca6b858051cd5e7b66c8
4
- data.tar.gz: 919b4478902cc46c88a1e7ea9854ca6f7ec12c2ce3cfbdcd05f08e1147788aa6
3
+ metadata.gz: ca6623c907a23398e840f6d3dc056f1dbe966f747a443e7e6cced71fe462cbbb
4
+ data.tar.gz: 511a4f47f18fc755ad1f74295637047d9715ec6de95454f4b1e85022c9128da9
5
5
  SHA512:
6
- metadata.gz: ea8e8cac8cf7a453bbe5a2ddf99b147a2d185e105a80447d79d963be99577f89d1975facfae921bc1582e2140e2c21abc72260bd68415d8dcfbbf9dc8aec25e5
7
- data.tar.gz: 76836fa5e763d1184ddab6133501d123e389767a97410952d88206d6f5578efb955004d3ab4989d0b978fb8eb9453e274c32c7a968953bf45096dc97bee5c4ad
6
+ metadata.gz: 0ac4f9d6a45018021322e0cb685bde01ca682be029dc884b915237728de5a088e3232cdc6fb7a2e378fbb753e857e0bc77a99008d693a145191734c828308a4a
7
+ data.tar.gz: a1b4e20006069b4a23655b161074e087cd88d7fb22efb8d76cf8db009b16144362bfdf63c948b30f635d385767f693b60d392853b3a5ba3d963c9ac541ec2b6a
data/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  ## [Unreleased]
2
2
 
3
+ ### [0.1.4](https://github.com/pusewicz/statique/compare/v0.1.3...v0.1.4) (2022-02-17)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * Drop tilt direct dependency ([d893a2e](https://github.com/pusewicz/statique/commit/d893a2e847e6317e6e7b80d1179ecd966e1bfc3a))
9
+
3
10
  ### [0.1.3](https://github.com/pusewicz/statique/compare/v0.1.1...v0.1.3) (2022-02-16)
4
11
 
5
12
 
data/lib/statique/app.rb CHANGED
@@ -8,50 +8,54 @@ class Statique
8
8
  class App < Roda
9
9
  extend Forwardable
10
10
 
11
- def_delegators :Statique, :url, :root_url
11
+ @statique = Statique.instance
12
12
 
13
- opts[:root] = Statique.configuration.paths.pwd
13
+ def_delegators :@statique, :url, :root_url, :statique
14
+
15
+ opts[:root] = @statique.configuration.paths.pwd
14
16
 
15
17
  plugin :environments
16
18
  plugin :static_routing
17
- plugin :render, views: Statique.configuration.paths.content.basename, engine: "slim", allowed_paths: [Statique.configuration.paths.content.basename, Statique.configuration.paths.layouts.basename]
18
- plugin :partials, views: Statique.configuration.paths.layouts.basename
19
+ plugin :render, views: @statique.configuration.paths.content.basename, engine: "slim", allowed_paths: [@statique.configuration.paths.content.basename, @statique.configuration.paths.layouts.basename]
20
+ plugin :partials, views: @statique.configuration.paths.layouts.basename
19
21
 
20
- if Statique.mode.server? && Statique.configuration.paths.public.exist?
21
- plugin :public, root: Statique.configuration.paths.public.basename
22
+ if @statique.mode.server? && @statique.configuration.paths.public.exist?
23
+ plugin :public, root: @statique.configuration.paths.public.basename
22
24
  end
23
25
 
24
- if Statique.configuration.paths.assets.exist?
25
- css_files = Statique.configuration.paths.assets.join("css").glob("*.{css,scss}")
26
- js_files = Statique.configuration.paths.assets.join("js").glob("*.js")
27
- plugin :assets, css: css_files.map { _1.basename.to_s }, js: js_files.map { _1.basename.to_s }, public: Statique.configuration.paths.destination, precompiled: Statique.configuration.paths.destination.join("assets/manifest.json"), relative_paths: true
26
+ if @statique.configuration.paths.assets.exist?
27
+ css_files = @statique.configuration.paths.assets.join("css").glob("*.{css,scss}")
28
+ js_files = @statique.configuration.paths.assets.join("js").glob("*.js")
29
+ plugin :assets, css: css_files.map { _1.basename.to_s }, js: js_files.map { _1.basename.to_s }, public: @statique.configuration.paths.destination, precompiled: @statique.configuration.paths.destination.join("assets/manifest.json"), relative_paths: true
28
30
  plugin :assets_preloading
29
31
 
30
- Statique.mode.build do
32
+ @statique.mode.build do
31
33
  compiled = compile_assets
32
- Statique.ui.info "Compiling assets", css: compiled["css"], js: compiled["js"]
34
+ @statique.ui.info "Compiling assets", css: compiled["css"], js: compiled["js"]
33
35
  end
34
36
  end
35
37
 
36
38
  route do |r|
37
- if Statique.mode.server?
38
- r.public if Statique.configuration.paths.public.exist?
39
- r.assets if Statique.configuration.paths.assets.exist?
39
+ @statique = Statique.instance
40
+ if @statique.mode.server?
41
+ r.public if @statique.configuration.paths.public.exist?
42
+ r.assets if @statique.configuration.paths.assets.exist?
40
43
  end
41
44
 
42
- path, page = r.env["REQUEST_PATH"].split("/page/")
45
+ path, page = r.env["PATH_INFO"].split("/page/")
43
46
 
44
- document = Statique.discover.documents.find { _1.path == path }
47
+ document = @statique.discover.documents.find { _1.path == path }
45
48
 
46
49
  r.on(proc { document }) do
47
50
  locals = {
48
- documents: Statique.discover.documents,
49
- collections: Statique.discover.collections,
50
- document: document
51
+ collections: @statique.discover.collections,
52
+ document: document,
53
+ documents: @statique.discover.documents,
54
+ statique: @statique
51
55
  }
52
56
 
53
57
  if document.meta.paginates
54
- paginator = Paginator.new(Statique.discover.collections[document.meta.paginates].to_a, document.path, page)
58
+ paginator = Paginator.new(@statique.discover.collections[document.meta.paginates].to_a, document.path, page, @statique)
55
59
  locals[document.meta.paginates.to_sym] = paginator.documents
56
60
  locals[:paginator] = paginator
57
61
  end
@@ -9,26 +9,27 @@ class Statique
9
9
  class Build
10
10
  prepend MemoWise
11
11
 
12
- def initialize(options)
12
+ def initialize(options, statique)
13
13
  Thread.abort_on_exception = true
14
- @queue = Statique.build_queue
14
+ @statique = statique
15
+ @queue = Queue.new
15
16
  end
16
17
 
17
18
  def run
18
19
  require "statique/app"
19
20
  time = Benchmark.realtime do
20
- create_directory(Statique.configuration.paths.destination)
21
+ create_directory(@statique.configuration.paths.destination)
21
22
  copy_public_assets
22
23
  build_pages
23
24
  end
24
25
 
25
- Statique.ui.success "Done!", time: time
26
+ @statique.ui.success "Done!", time: time
26
27
  end
27
28
 
28
29
  private
29
30
 
30
31
  def build_pages
31
- Statique.discover.documents.each do |document|
32
+ @statique.discover.documents.each do |document|
32
33
  @queue << document.path
33
34
 
34
35
  if (pages = document.pagination_pages)
@@ -42,12 +43,12 @@ class Statique
42
43
  path = @queue.pop
43
44
  response = mock_request.get(path)
44
45
  if response.successful?
45
- destination = Statique.configuration.paths.destination.join(File.extname(path).empty? ? "./#{path}/index.html" : "./#{path}")
46
- Statique.ui.info "Building page", path: path
46
+ destination = @statique.configuration.paths.destination.join(File.extname(path).empty? ? "./#{path}/index.html" : "./#{path}")
47
+ @statique.ui.info "Building page", path: path
47
48
  create_directory(destination.dirname)
48
49
  File.write(destination, response.body)
49
50
  else
50
- Statique.ui.error "Error building page", path: document.path, status: response.status
51
+ @statique.ui.error "Error building page", path: path, status: response.status
51
52
  end
52
53
  end
53
54
  end
@@ -61,9 +62,9 @@ class Statique
61
62
  end
62
63
 
63
64
  def copy_public_assets
64
- assets = Statique.configuration.paths.public.glob("**/*.*")
65
- Statique.ui.info "Copying public assets", assets:
66
- FileUtils.cp_r(assets, Statique.configuration.paths.destination)
65
+ assets = @statique.configuration.paths.public.glob("**/*.*")
66
+ @statique.ui.info "Copying public assets", assets:
67
+ FileUtils.cp_r(assets, @statique.configuration.paths.destination)
67
68
  end
68
69
 
69
70
  private
@@ -13,7 +13,7 @@ class Statique
13
13
  create_directory(@dest_dir)
14
14
 
15
15
  write_file(@dest_dir.join("public/robots.txt"), "User-agent: *\nAllow: /")
16
- write_file(@dest_dir.join("assets/css/app.scss"), %(@import url("https://cdn.jsdelivr.net/npm/water.css@2/out/water.css");))
16
+ write_file(@dest_dir.join("assets/css/app.css"), %(@import url("https://cdn.jsdelivr.net/npm/water.css@2/out/water.css");))
17
17
  write_file(@dest_dir.join("assets/js/app.js"), %(console.log("Hello from Statique!")))
18
18
 
19
19
  copy_template("index.md", @dest_dir.join("content"))
@@ -24,13 +24,14 @@ class Statique
24
24
  end
25
25
  end
26
26
 
27
- def initialize(port: 3000)
27
+ def initialize(statique, port: 3000)
28
28
  @port = port
29
+ @statique = statique
29
30
  end
30
31
 
31
32
  def run
32
33
  require "statique/app"
33
- Statique.ui.info "Starting server", port: @port
34
+ @statique.ui.info "Starting server", port: @port
34
35
 
35
36
  logger = LoggerWrapper.new
36
37
 
@@ -42,7 +43,7 @@ class Statique
42
43
  end
43
44
 
44
45
  def stop
45
- Statique.ui.info "Stopping server"
46
+ @statique.ui.info "Stopping server"
46
47
  Rack::Handler::WEBrick.shutdown
47
48
  end
48
49
 
@@ -52,7 +53,7 @@ class Statique
52
53
  end
53
54
 
54
55
  def puts(message)
55
- Statique.ui.public_send(@type, message)
56
+ @statique.ui.public_send(@type, message)
56
57
  end
57
58
 
58
59
  def write(message)
data/lib/statique/cli.rb CHANGED
@@ -34,14 +34,14 @@ class Statique
34
34
 
35
35
  desc "server", "Start Statique server"
36
36
  def server
37
- Statique.mode.server!
38
- Server.new.run
37
+ statique.mode.server!
38
+ Server.new(statique).run
39
39
  end
40
40
 
41
41
  desc "build", "Build Statique site"
42
42
  def build
43
- Statique.mode.build!
44
- Build.new(options.dup).run
43
+ statique.mode.build!
44
+ Build.new(options.dup, statique).run
45
45
  end
46
46
 
47
47
  desc "version", "Prints the statique's version information"
@@ -50,5 +50,11 @@ class Statique
50
50
  end
51
51
 
52
52
  map aliases_for("version")
53
+
54
+ private
55
+
56
+ def statique
57
+ Statique.instance
58
+ end
53
59
  end
54
60
  end
@@ -14,21 +14,22 @@ class Statique
14
14
 
15
15
  GLOB = "**/*.{#{SUPPORTED_EXTENSIONS.join(",")}}"
16
16
 
17
- def initialize(root)
17
+ def initialize(root, statique)
18
18
  @root = root
19
19
  @documents = []
20
20
  @collections = Hashie::Mash.new { |hash, key| hash[key] = Set.new }
21
+ @statique = statique
21
22
 
22
23
  discover_files!
23
24
  discover!
24
25
 
25
- Statique.mode.build do
26
+ @statique.mode.build do
26
27
  @files.freeze
27
28
  @documents.freeze
28
29
  @collections.freeze
29
30
  end
30
31
 
31
- watch_for_changes if Statique.mode.server?
32
+ watch_for_changes if @statique.mode.server?
32
33
  end
33
34
 
34
35
  private
@@ -36,7 +37,7 @@ class Statique
36
37
  def discover_files!
37
38
  @files = @root.glob(GLOB)
38
39
  ensure
39
- Statique.ui.debug "Discovered files", count: @files.size
40
+ @statique.ui.debug "Discovered files", count: @files.size
40
41
  end
41
42
 
42
43
  def discover!
@@ -46,7 +47,7 @@ class Statique
46
47
  end
47
48
 
48
49
  def process(file)
49
- document = Document.new(file)
50
+ document = Document.new(file, @statique)
50
51
 
51
52
  documents << document
52
53
 
@@ -58,20 +59,20 @@ class Statique
58
59
  def watch_for_changes
59
60
  require "filewatcher"
60
61
 
61
- @filewatcher = Filewatcher.new([Statique.configuration.paths.content, Statique.configuration.paths.layouts])
62
+ @filewatcher = Filewatcher.new([@statique.configuration.paths.content, @statique.configuration.paths.layouts])
62
63
  @filewatcher_thread = Thread.new(@filewatcher) do |watcher|
63
64
  watcher.watch do |file, event|
64
- Statique.ui.debug "File change event", file: file, event: event
65
+ @statique.ui.debug "File change event", file: file, event: event
65
66
  discover_files!
66
67
  path = Pathname.new(file)
67
68
  remove_file!(path)
68
69
  process(path) unless event == :deleted
69
70
  end
70
71
  end
71
- Statique.ui.debug "Started file watcher", filewatcher: @filewatcher, thread: @filewatcher_thread
72
+ @statique.ui.debug "Started file watcher", filewatcher: @filewatcher, thread: @filewatcher_thread
72
73
 
73
74
  at_exit do
74
- Statique.ui.debug "Closing file watcher", thread: @filewatcher_thread
75
+ @statique.ui.debug "Closing file watcher", thread: @filewatcher_thread
75
76
  @filewatcher.stop
76
77
  @filewatcher.finalize
77
78
  @filewatcher_thread.join
@@ -6,9 +6,9 @@ class Statique
6
6
  class Document
7
7
  attr_reader :file, :meta, :content
8
8
 
9
- def initialize(file)
9
+ def initialize(file, statique)
10
10
  parsed = FrontMatterParser::Parser.parse_file(file)
11
- @file, @meta, @content = file.freeze, Hashie::Mash.new(parsed.front_matter).freeze, parsed.content.freeze
11
+ @file, @meta, @content, @statique = file.freeze, Hashie::Mash.new(parsed.front_matter).freeze, parsed.content.freeze, statique
12
12
  end
13
13
 
14
14
  def path
@@ -16,7 +16,7 @@ class Statique
16
16
  when "index.slim" then "/"
17
17
  when "index.md" then "/"
18
18
  else
19
- "/#{meta.permalink || basename.delete_suffix(extname).delete_prefix(Statique.configuration.paths.content.to_s)}"
19
+ "/#{meta.permalink || basename.delete_suffix(extname).delete_prefix(@statique.configuration.paths.content.to_s)}"
20
20
  end.freeze
21
21
  end
22
22
 
@@ -41,8 +41,8 @@ class Statique
41
41
  end
42
42
 
43
43
  def pagination_pages
44
- return unless Statique.discover.collections.key?(meta.paginates)
45
- collection = Statique.discover.collections[meta.paginates]
44
+ return unless @statique.discover.collections.key?(meta.paginates)
45
+ collection = @statique.discover.collections[meta.paginates]
46
46
  (collection.size.to_f / Paginator.per_page).ceil
47
47
  end
48
48
 
@@ -8,9 +8,11 @@ class Statique
8
8
  @per_page ||= 10
9
9
  end
10
10
 
11
- def initialize(documents, path, page)
11
+ def initialize(documents, path, page, statique = Statique.instance)
12
12
  @path, @page = path, [page.to_i, 1].max
13
13
 
14
+ @statique = statique
15
+
14
16
  @total_documents = documents.size
15
17
  @offset = (self.class.per_page * (@page - 1))
16
18
  @total_pages = (@total_documents.to_f / self.class.per_page).ceil
@@ -53,9 +55,9 @@ class Statique
53
55
  return unless page
54
56
 
55
57
  if page == 1
56
- Statique.url(File.join(@path))
58
+ @statique.url(File.join(@path))
57
59
  else
58
- Statique.url(File.join(@path, "page", page.to_s))
60
+ @statique.url(File.join(@path, "page", page.to_s))
59
61
  end
60
62
  end
61
63
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class Statique
4
- VERSION = "0.1.3"
4
+ VERSION = "0.1.4"
5
5
  end
data/lib/statique.rb CHANGED
@@ -3,61 +3,58 @@
3
3
  require "front_matter_parser"
4
4
  require "hashie"
5
5
  require "pathname"
6
- require "rack"
6
+ require "singleton"
7
7
  require "tty-logger"
8
8
 
9
9
  ::FrontMatterParser::SyntaxParser::Builder = FrontMatterParser::SyntaxParser::MultiLineComment["=begin", "=end"]
10
10
 
11
11
  $LOAD_PATH.unshift(File.expand_path("..", __FILE__))
12
12
 
13
- require "statique/version"
14
13
  require "statique/cli"
15
- require "statique/mode"
16
- require "statique/discover"
17
- require "statique/document"
18
- require "statique/configuration"
19
- require "statique/paginator"
20
14
 
21
15
  class Statique
22
- class Error < StandardError; end
16
+ include Singleton
17
+ extend Forwardable
23
18
 
24
- class << self
25
- extend Forwardable
19
+ class Error < StandardError; end
26
20
 
27
- def_delegators :configuration, :root_url
21
+ autoload :Configuration, "statique/configuration"
22
+ autoload :Discover, "statique/discover"
23
+ autoload :Document, "statique/document"
24
+ autoload :Mode, "statique/mode"
25
+ autoload :Paginator, "statique/paginator"
26
+ autoload :VERSION, "statique/version"
28
27
 
29
- def configuration
30
- @configuration ||= Configuration.new
31
- end
28
+ def_delegators :configuration, :root_url
32
29
 
33
- def discover
34
- @discover ||= Discover.new(configuration.paths.content)
35
- end
30
+ attr_reader :configuration, :discover, :mode, :pwd, :build_queue
36
31
 
37
- def mode
38
- @mode ||= Mode.new
39
- end
32
+ def initialize
33
+ @mode = Mode.new
34
+ @configuration = Configuration.new
35
+ @discover = Discover.new(configuration.paths.content, self)
36
+ @pwd = Pathname.pwd.freeze
37
+ end
40
38
 
41
- def pwd
42
- @pwd ||= Pathname.pwd.freeze
43
- end
39
+ def statique
40
+ self.class.instance
41
+ end
44
42
 
45
- def version
46
- VERSION
47
- end
43
+ def version
44
+ VERSION
45
+ end
48
46
 
49
- def ui
50
- @ui ||= TTY::Logger.new(output: $stdout) do |config|
51
- config.level = :debug if ENV["DEBUG"] == "true"
52
- end
53
- end
47
+ def ui
48
+ self.class.ui
49
+ end
54
50
 
55
- def url(document_or_path)
56
- File.join(configuration.root_url, document_or_path.is_a?(Document) ? document_or_path.path : document_or_path)
51
+ def self.ui
52
+ @ui ||= TTY::Logger.new(output: $stdout) do |config|
53
+ config.level = :debug if ENV["DEBUG"] == "true"
57
54
  end
55
+ end
58
56
 
59
- def build_queue
60
- @build_queue ||= Queue.new
61
- end
57
+ def url(document_or_path)
58
+ File.join(configuration.root_url, document_or_path.is_a?(Document) ? document_or_path.path : document_or_path)
62
59
  end
63
60
  end
@@ -2,7 +2,7 @@ doctype html
2
2
  html
3
3
  head
4
4
  meta charset="UTF-8"
5
- meta name="generator" content="Statique #{Statique.version}"
5
+ meta name="generator" content="Statique #{statique.version}"
6
6
  title Statique Website
7
7
  == assets(:css)
8
8
  == assets(:js)
@@ -10,4 +10,4 @@ html
10
10
  header
11
11
  h1 Statique Website
12
12
  main== yield
13
- footer Made with Statique v#{Statique.version}
13
+ footer Made with Statique v#{statique.version}
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: statique
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Piotr Usewicz
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-02-16 00:00:00.000000000 Z
11
+ date: 2022-02-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: builder
@@ -100,14 +100,14 @@ dependencies:
100
100
  requirements:
101
101
  - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: '3.52'
103
+ version: '3.53'
104
104
  type: :runtime
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: '3.52'
110
+ version: '3.53'
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: slim
113
113
  requirement: !ruby/object:Gem::Requirement
@@ -136,20 +136,6 @@ dependencies:
136
136
  - - "~>"
137
137
  - !ruby/object:Gem::Version
138
138
  version: 1.2.1
139
- - !ruby/object:Gem::Dependency
140
- name: tilt
141
- requirement: !ruby/object:Gem::Requirement
142
- requirements:
143
- - - "~>"
144
- - !ruby/object:Gem::Version
145
- version: 2.0.10
146
- type: :runtime
147
- prerelease: false
148
- version_requirements: !ruby/object:Gem::Requirement
149
- requirements:
150
- - - "~>"
151
- - !ruby/object:Gem::Version
152
- version: 2.0.10
153
139
  - !ruby/object:Gem::Dependency
154
140
  name: tty-logger
155
141
  requirement: !ruby/object:Gem::Requirement
@@ -219,15 +205,14 @@ files:
219
205
  - sig/statique.rbs
220
206
  - sig/statique/mode.rbs
221
207
  - sig/statique/version.rbs
222
- - statique.gemspec
223
208
  homepage: https://github.com/pusewicz/statique
224
209
  licenses:
225
210
  - MIT
226
211
  metadata:
227
212
  homepage_uri: https://github.com/pusewicz/statique
228
213
  source_code_uri: https://github.com/pusewicz/statique
229
- changelog_uri: https://raw.githubusercontent.com/pusewicz/statique/v0.1.3/CHANGELOG.md
230
- post_install_message:
214
+ changelog_uri: https://raw.githubusercontent.com/pusewicz/statique/v0.1.4/CHANGELOG.md
215
+ post_install_message:
231
216
  rdoc_options: []
232
217
  require_paths:
233
218
  - lib
@@ -242,8 +227,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
242
227
  - !ruby/object:Gem::Version
243
228
  version: '0'
244
229
  requirements: []
245
- rubygems_version: 3.3.4
246
- signing_key:
230
+ rubygems_version: 3.3.3
231
+ signing_key:
247
232
  specification_version: 4
248
233
  summary: Static website generator
249
234
  test_files: []
data/statique.gemspec DELETED
@@ -1,48 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative "lib/statique/version"
4
-
5
- Gem::Specification.new do |spec|
6
- spec.name = "statique"
7
- spec.version = Statique::VERSION
8
- spec.authors = ["Piotr Usewicz"]
9
- spec.email = ["piotr@layer22.com"]
10
-
11
- spec.summary = "Static website generator"
12
- spec.description = "Statique is a static website generator written in Ruby using Roda"
13
- spec.homepage = "https://github.com/pusewicz/statique"
14
- spec.license = "MIT"
15
- spec.required_ruby_version = ">= 3.1.0"
16
-
17
- spec.metadata["homepage_uri"] = spec.homepage
18
- spec.metadata["source_code_uri"] = "https://github.com/pusewicz/statique"
19
- spec.metadata["changelog_uri"] = "https://raw.githubusercontent.com/pusewicz/statique/v#{spec.version}/CHANGELOG.md"
20
-
21
- # Specify which files should be added to the gem when it is released.
22
- # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
23
- spec.files = Dir.chdir(File.expand_path(__dir__)) do
24
- `git ls-files -z`.split("\x0").reject do |f|
25
- (f == __FILE__) || f.match(%r{\A(?:(?:test|spec|features)/|\.(?:git|travis|circleci)|appveyor)})
26
- end
27
- end
28
- spec.bindir = "exe"
29
- spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
30
- spec.require_paths = ["lib"]
31
-
32
- # Uncomment to register a new dependency of your gem
33
- spec.add_dependency "builder", "~> 3.2.4"
34
- spec.add_dependency "commonmarker", "~> 0.23.2"
35
- spec.add_dependency "filewatcher", "~> 1.1.1"
36
- spec.add_dependency "front_matter_parser", "~> 1.0.1"
37
- spec.add_dependency "hashie", "~> 5.0.0"
38
- spec.add_dependency "memo_wise", "~> 1.6.0"
39
- spec.add_dependency "roda", "~> 3.52"
40
- spec.add_dependency "slim", "~> 4.1.0"
41
- spec.add_dependency "thor", "~> 1.2.1"
42
- spec.add_dependency "tilt", "~> 2.0.10"
43
- spec.add_dependency "tty-logger", "~> 0.6.0"
44
- spec.add_dependency "webrick", "~> 1.7.0"
45
-
46
- # For more information and examples about making a new gem, check out our
47
- # guide at: https://bundler.io/guides/creating_gem.html
48
- end