statique 0.1.3 → 0.1.4

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 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