weaver 0.9.6 → 0.9.8

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: 8c81fd8c5571c97ff39468a1eb99462db7922ea695f0813acc0d67d2ec46febb
4
- data.tar.gz: ee61c70d37c2e87e9161f6efdf5ba22e7c27b6dbd4c48a51c4572edbec242fe2
3
+ metadata.gz: cdda55ea38b5ef04630a124473975e54bce4aefbc1137d0c6faff054ef4d7125
4
+ data.tar.gz: be0dcb40ca857b48456557c7ca3b62b13f106a00f94a9e6976950e03778a262a
5
5
  SHA512:
6
- metadata.gz: 4bf5ded2d57c29dbc95562a5e84a6f42193de1e2b904e3b6aa58c47a4d1963481ad03eaa2e9d4c3df5067b8e84fc76c656d1a26cf13a5032066c3b6a83dcd089
7
- data.tar.gz: 995bd79648eaa8508816667eee28e830722e2b413a871ae14da7c2a2f6cbb7cf5dc3e0d2892fa62e594419db97bd56dee6c57b4528bbdc3bae7d1e050d81cc6f
6
+ metadata.gz: 3f4696c98f3c0521a09b42ecd56d60892ce072ca1f808b86c10e45754a94bc1ff50e9890072c818a60e5cfc8b03e6ff6de5b205ef4e3b7d4362c055bd70a907d
7
+ data.tar.gz: 19216559110c9e0fb32b00503851c58c37ffd9ba8222e9a83e4d5f2acd22733b1b21e9866c6ec3d4449e25472b0340dcfe981367dcd4af9f28404aada08d2d4b
data/exe/weaver CHANGED
@@ -104,12 +104,14 @@ def build!(_args)
104
104
  FileUtils.cp_r('images', buildDir, preserve: preserve) if Dir.exist? 'images'
105
105
  if Dir.exist? 'js'
106
106
  Dir['js/**/*.*'].each do |x|
107
- FileUtils.cp_r(x, File.join(buildDir, 'js'), preserve: preserve)
107
+ FileUtils.mkdir_p File.dirname(File.join(buildDir, x))
108
+ FileUtils.cp_r(x, File.join(buildDir, x), preserve: preserve)
108
109
  end
109
110
  end
110
111
  if Dir.exist? 'css'
111
112
  Dir['css/**/*.*'].each do |x|
112
- FileUtils.cp_r(x, File.join(buildDir, 'css'), preserve: preserve)
113
+ FileUtils.mkdir_p File.dirname(File.join(buildDir, x))
114
+ FileUtils.cp_r(x, File.join(buildDir, x), preserve: preserve)
113
115
  end
114
116
  end
115
117
 
@@ -40,6 +40,26 @@ module Weaver
40
40
  @page.root
41
41
  end
42
42
 
43
+ def clear_default_meta!
44
+ @page.clear_default_meta!
45
+ end
46
+
47
+ def head(&block)
48
+ @page.head(&block)
49
+ end
50
+
51
+ def top(&block)
52
+ @page.top(&block)
53
+ end
54
+
55
+ def meta(options = {}, &block)
56
+ method_missing(:meta, options, &block)
57
+ end
58
+
59
+ def script(options = {}, &block)
60
+ method_missing(:script, options, &block)
61
+ end
62
+
43
63
  def request_js(path)
44
64
  @page.request_js(path)
45
65
  end
@@ -68,10 +88,6 @@ module Weaver
68
88
  @page.background(block)
69
89
  end
70
90
 
71
- def on_page_load(script)
72
- @page.on_page_load(script)
73
- end
74
-
75
91
  def icon(type)
76
92
  iconname = type.to_s.tr('_', '-')
77
93
  if type.is_a? Symbol
@@ -21,9 +21,20 @@ module Weaver
21
21
  @requested_scripts = {}
22
22
  @requested_css = {}
23
23
 
24
+ @meta_tags = []
25
+
24
26
  @background = Elements.new(self, @anchors)
25
27
 
28
+ m1 = Elements.new(self, @anchors)
29
+ m1.instance_eval do
30
+ meta charset: 'utf-8'
31
+ meta name: 'viewport', contents: 'width=device-width, initial-scale=1.0'
32
+ end
33
+
34
+ @meta_tags << m1
35
+
26
36
  @block = Proc.new &block
37
+
27
38
  end
28
39
 
29
40
  def create_anchor(name)
@@ -69,6 +80,18 @@ module Weaver
69
80
  @background.instance_eval(&block)
70
81
  end
71
82
 
83
+ def head(&block)
84
+ $stderr.puts 'head'
85
+ m1 = Elements.new(self, @anchors)
86
+ m1.instance_eval(&block)
87
+
88
+ @meta_tags << m1
89
+ end
90
+
91
+ def clear_default_meta!
92
+ @meta_tags = []
93
+ end
94
+
72
95
  def top(&block)
73
96
  elem = Elements.new(self, @anchors)
74
97
  elem.instance_eval(&block)
@@ -76,6 +99,15 @@ module Weaver
76
99
  @top_content = elem.generate
77
100
  end
78
101
 
102
+ def generate_meta_tags
103
+ content = ""
104
+ @meta_tags.each do |x|
105
+ content += "\n#{x.generate}"
106
+ end
107
+
108
+ content
109
+ end
110
+
79
111
  def generate(back_folders, options = {})
80
112
  if @options[:cache_file]
81
113
  expired = @options[:cache_expired]
@@ -172,8 +204,7 @@ mixpanel.init("' + @global_settings[:mixpanel_token] + '");</script><!-- end Mix
172
204
  <!-- Generated using weaver: https://github.com/davidsiaw/weaver -->
173
205
  <head>
174
206
 
175
- <meta charset="utf-8">
176
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
207
+ #{generate_meta_tags}
177
208
 
178
209
  <title>#{@title}</title>
179
210
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Weaver
4
- VERSION = '0.9.6'
4
+ VERSION = '0.9.8'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: weaver
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.6
4
+ version: 0.9.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Siaw
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2026-05-02 00:00:00.000000000 Z
11
+ date: 2026-06-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport