willamette 0.5.0

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.
Files changed (45) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +37 -0
  3. data/.rubocop.yml +54 -0
  4. data/CHANGELOG.md +14 -0
  5. data/CODE_OF_CONDUCT.md +92 -0
  6. data/Gemfile +15 -0
  7. data/Gemfile.lock +250 -0
  8. data/LICENSE.txt +22 -0
  9. data/README.md +3 -0
  10. data/Rakefile +11 -0
  11. data/automations/components.automation.rb +123 -0
  12. data/automations/frontend.automation.rb +30 -0
  13. data/automations/layouts.automation.rb +122 -0
  14. data/bridgetown.automation.rb +7 -0
  15. data/components/willamette/back_to_top.css +35 -0
  16. data/components/willamette/back_to_top.js +32 -0
  17. data/components/willamette/code_element.css +10 -0
  18. data/components/willamette/code_element.js +49 -0
  19. data/components/willamette/header_navbar.dsd.css +19 -0
  20. data/components/willamette/header_navbar.rb +20 -0
  21. data/components/willamette/holy_grail_layout.dsd.css +81 -0
  22. data/components/willamette/holy_grail_layout.rb +17 -0
  23. data/components/willamette/pagination.erb +12 -0
  24. data/components/willamette/pagination.rb +7 -0
  25. data/components/willamette/post_item.css +102 -0
  26. data/components/willamette/post_item.rb +90 -0
  27. data/components/willamette/previous_next.erb +12 -0
  28. data/components/willamette/previous_next.rb +7 -0
  29. data/components/willamette/search_dialog.rb +18 -0
  30. data/components/willamette/search_dialog_element.js +90 -0
  31. data/content/search.erb +29 -0
  32. data/content/willamette/style-guide.md +93 -0
  33. data/layouts/willamette/default.erb +44 -0
  34. data/lib/willamette/builders/inspectors.rb +28 -0
  35. data/lib/willamette/builders/toc.rb +11 -0
  36. data/lib/willamette/locales/en.yml +22 -0
  37. data/lib/willamette/strategies/link.rb +20 -0
  38. data/lib/willamette/strategies/sidebar.rb +83 -0
  39. data/lib/willamette/version.rb +5 -0
  40. data/lib/willamette.rb +83 -0
  41. data/package-lock.json +303 -0
  42. data/package.json +22 -0
  43. data/setup.automation.rb +14 -0
  44. data/willamette.gemspec +30 -0
  45. metadata +143 -0
data/package-lock.json ADDED
@@ -0,0 +1,303 @@
1
+ {
2
+ "name": "willamette",
3
+ "version": "0.1.1",
4
+ "lockfileVersion": 3,
5
+ "requires": true,
6
+ "packages": {
7
+ "": {
8
+ "name": "willamette",
9
+ "version": "0.1.1",
10
+ "license": "MIT",
11
+ "dependencies": {
12
+ "@awesome.me/webawesome": ">=3.0.0",
13
+ "hotkeys-js": "^4.0.0",
14
+ "pagefind": "^1.4.0"
15
+ }
16
+ },
17
+ "node_modules/@awesome.me/webawesome": {
18
+ "version": "3.0.0",
19
+ "resolved": "https://registry.npmjs.org/@awesome.me/webawesome/-/webawesome-3.0.0.tgz",
20
+ "integrity": "sha512-KLxAiSV9hH+bB8OkpaZUA9zNgBu6G1cXirsE0VWmdS/jtpup1Wf1aC7yGYjPSi/61BVUqk8geA4oylt4oLdmlQ==",
21
+ "license": "MIT",
22
+ "dependencies": {
23
+ "@ctrl/tinycolor": "4.1.0",
24
+ "@floating-ui/dom": "^1.6.13",
25
+ "@lit/react": "^1.0.8",
26
+ "@shoelace-style/animations": "^1.2.0",
27
+ "@shoelace-style/localize": "^3.2.1",
28
+ "composed-offset-position": "^0.0.6",
29
+ "lit": "^3.2.1",
30
+ "nanoid": "^5.1.5",
31
+ "qr-creator": "^1.0.0"
32
+ },
33
+ "engines": {
34
+ "node": ">=14.17.0"
35
+ }
36
+ },
37
+ "node_modules/@ctrl/tinycolor": {
38
+ "version": "4.1.0",
39
+ "resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-4.1.0.tgz",
40
+ "integrity": "sha512-WyOx8cJQ+FQus4Mm4uPIZA64gbk3Wxh0so5Lcii0aJifqwoVOlfFtorjLE0Hen4OYyHZMXDWqMmaQemBhgxFRQ==",
41
+ "license": "MIT",
42
+ "engines": {
43
+ "node": ">=14"
44
+ }
45
+ },
46
+ "node_modules/@floating-ui/core": {
47
+ "version": "1.7.3",
48
+ "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.3.tgz",
49
+ "integrity": "sha512-sGnvb5dmrJaKEZ+LDIpguvdX3bDlEllmv4/ClQ9awcmCZrlx5jQyyMWFM5kBI+EyNOCDDiKk8il0zeuX3Zlg/w==",
50
+ "license": "MIT",
51
+ "dependencies": {
52
+ "@floating-ui/utils": "^0.2.10"
53
+ }
54
+ },
55
+ "node_modules/@floating-ui/dom": {
56
+ "version": "1.7.4",
57
+ "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.7.4.tgz",
58
+ "integrity": "sha512-OOchDgh4F2CchOX94cRVqhvy7b3AFb+/rQXyswmzmGakRfkMgoWVjfnLWkRirfLEfuD4ysVW16eXzwt3jHIzKA==",
59
+ "license": "MIT",
60
+ "dependencies": {
61
+ "@floating-ui/core": "^1.7.3",
62
+ "@floating-ui/utils": "^0.2.10"
63
+ }
64
+ },
65
+ "node_modules/@floating-ui/utils": {
66
+ "version": "0.2.10",
67
+ "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.10.tgz",
68
+ "integrity": "sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==",
69
+ "license": "MIT"
70
+ },
71
+ "node_modules/@lit-labs/ssr-dom-shim": {
72
+ "version": "1.4.0",
73
+ "resolved": "https://registry.npmjs.org/@lit-labs/ssr-dom-shim/-/ssr-dom-shim-1.4.0.tgz",
74
+ "integrity": "sha512-ficsEARKnmmW5njugNYKipTm4SFnbik7CXtoencDZzmzo/dQ+2Q0bgkzJuoJP20Aj0F+izzJjOqsnkd6F/o1bw==",
75
+ "license": "BSD-3-Clause"
76
+ },
77
+ "node_modules/@lit/react": {
78
+ "version": "1.0.8",
79
+ "resolved": "https://registry.npmjs.org/@lit/react/-/react-1.0.8.tgz",
80
+ "integrity": "sha512-p2+YcF+JE67SRX3mMlJ1TKCSTsgyOVdAwd/nxp3NuV1+Cb6MWALbN6nT7Ld4tpmYofcE5kcaSY1YBB9erY+6fw==",
81
+ "license": "BSD-3-Clause",
82
+ "peerDependencies": {
83
+ "@types/react": "17 || 18 || 19"
84
+ }
85
+ },
86
+ "node_modules/@lit/reactive-element": {
87
+ "version": "2.1.1",
88
+ "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-2.1.1.tgz",
89
+ "integrity": "sha512-N+dm5PAYdQ8e6UlywyyrgI2t++wFGXfHx+dSJ1oBrg6FAxUj40jId++EaRm80MKX5JnlH1sBsyZ5h0bcZKemCg==",
90
+ "license": "BSD-3-Clause",
91
+ "dependencies": {
92
+ "@lit-labs/ssr-dom-shim": "^1.4.0"
93
+ }
94
+ },
95
+ "node_modules/@pagefind/darwin-arm64": {
96
+ "version": "1.4.0",
97
+ "resolved": "https://registry.npmjs.org/@pagefind/darwin-arm64/-/darwin-arm64-1.4.0.tgz",
98
+ "integrity": "sha512-2vMqkbv3lbx1Awea90gTaBsvpzgRs7MuSgKDxW0m9oV1GPZCZbZBJg/qL83GIUEN2BFlY46dtUZi54pwH+/pTQ==",
99
+ "cpu": [
100
+ "arm64"
101
+ ],
102
+ "license": "MIT",
103
+ "optional": true,
104
+ "os": [
105
+ "darwin"
106
+ ]
107
+ },
108
+ "node_modules/@pagefind/darwin-x64": {
109
+ "version": "1.4.0",
110
+ "resolved": "https://registry.npmjs.org/@pagefind/darwin-x64/-/darwin-x64-1.4.0.tgz",
111
+ "integrity": "sha512-e7JPIS6L9/cJfow+/IAqknsGqEPjJnVXGjpGm25bnq+NPdoD3c/7fAwr1OXkG4Ocjx6ZGSCijXEV4ryMcH2E3A==",
112
+ "cpu": [
113
+ "x64"
114
+ ],
115
+ "license": "MIT",
116
+ "optional": true,
117
+ "os": [
118
+ "darwin"
119
+ ]
120
+ },
121
+ "node_modules/@pagefind/freebsd-x64": {
122
+ "version": "1.4.0",
123
+ "resolved": "https://registry.npmjs.org/@pagefind/freebsd-x64/-/freebsd-x64-1.4.0.tgz",
124
+ "integrity": "sha512-WcJVypXSZ+9HpiqZjFXMUobfFfZZ6NzIYtkhQ9eOhZrQpeY5uQFqNWLCk7w9RkMUwBv1HAMDW3YJQl/8OqsV0Q==",
125
+ "cpu": [
126
+ "x64"
127
+ ],
128
+ "license": "MIT",
129
+ "optional": true,
130
+ "os": [
131
+ "freebsd"
132
+ ]
133
+ },
134
+ "node_modules/@pagefind/linux-arm64": {
135
+ "version": "1.4.0",
136
+ "resolved": "https://registry.npmjs.org/@pagefind/linux-arm64/-/linux-arm64-1.4.0.tgz",
137
+ "integrity": "sha512-PIt8dkqt4W06KGmQjONw7EZbhDF+uXI7i0XtRLN1vjCUxM9vGPdtJc2mUyVPevjomrGz5M86M8bqTr6cgDp1Uw==",
138
+ "cpu": [
139
+ "arm64"
140
+ ],
141
+ "license": "MIT",
142
+ "optional": true,
143
+ "os": [
144
+ "linux"
145
+ ]
146
+ },
147
+ "node_modules/@pagefind/linux-x64": {
148
+ "version": "1.4.0",
149
+ "resolved": "https://registry.npmjs.org/@pagefind/linux-x64/-/linux-x64-1.4.0.tgz",
150
+ "integrity": "sha512-z4oddcWwQ0UHrTHR8psLnVlz6USGJ/eOlDPTDYZ4cI8TK8PgwRUPQZp9D2iJPNIPcS6Qx/E4TebjuGJOyK8Mmg==",
151
+ "cpu": [
152
+ "x64"
153
+ ],
154
+ "license": "MIT",
155
+ "optional": true,
156
+ "os": [
157
+ "linux"
158
+ ]
159
+ },
160
+ "node_modules/@pagefind/windows-x64": {
161
+ "version": "1.4.0",
162
+ "resolved": "https://registry.npmjs.org/@pagefind/windows-x64/-/windows-x64-1.4.0.tgz",
163
+ "integrity": "sha512-NkT+YAdgS2FPCn8mIA9bQhiBs+xmniMGq1LFPDhcFn0+2yIUEiIG06t7bsZlhdjknEQRTSdT7YitP6fC5qwP0g==",
164
+ "cpu": [
165
+ "x64"
166
+ ],
167
+ "license": "MIT",
168
+ "optional": true,
169
+ "os": [
170
+ "win32"
171
+ ]
172
+ },
173
+ "node_modules/@shoelace-style/animations": {
174
+ "version": "1.2.0",
175
+ "resolved": "https://registry.npmjs.org/@shoelace-style/animations/-/animations-1.2.0.tgz",
176
+ "integrity": "sha512-avvo1xxkLbv2dgtabdewBbqcJfV0e0zCwFqkPMnHFGbJbBHorRFfMAHh1NG9ymmXn0jW95ibUVH03E1NYXD6Gw==",
177
+ "license": "MIT",
178
+ "funding": {
179
+ "type": "individual",
180
+ "url": "https://github.com/sponsors/claviska"
181
+ }
182
+ },
183
+ "node_modules/@shoelace-style/localize": {
184
+ "version": "3.2.1",
185
+ "resolved": "https://registry.npmjs.org/@shoelace-style/localize/-/localize-3.2.1.tgz",
186
+ "integrity": "sha512-r4C9C/5kSfMBIr0D9imvpRdCNXtUNgyYThc4YlS6K5Hchv1UyxNQ9mxwj+BTRH2i1Neits260sR3OjKMnplsFA==",
187
+ "license": "MIT"
188
+ },
189
+ "node_modules/@types/react": {
190
+ "version": "19.2.2",
191
+ "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.2.tgz",
192
+ "integrity": "sha512-6mDvHUFSjyT2B2yeNx2nUgMxh9LtOWvkhIU3uePn2I2oyNymUAX1NIsdgviM4CH+JSrp2D2hsMvJOkxY+0wNRA==",
193
+ "license": "MIT",
194
+ "peer": true,
195
+ "dependencies": {
196
+ "csstype": "^3.0.2"
197
+ }
198
+ },
199
+ "node_modules/@types/trusted-types": {
200
+ "version": "2.0.7",
201
+ "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz",
202
+ "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==",
203
+ "license": "MIT"
204
+ },
205
+ "node_modules/composed-offset-position": {
206
+ "version": "0.0.6",
207
+ "resolved": "https://registry.npmjs.org/composed-offset-position/-/composed-offset-position-0.0.6.tgz",
208
+ "integrity": "sha512-Q7dLompI6lUwd7LWyIcP66r4WcS9u7AL2h8HaeipiRfCRPLMWqRx8fYsjb4OHi6UQFifO7XtNC2IlEJ1ozIFxw==",
209
+ "license": "MIT",
210
+ "peerDependencies": {
211
+ "@floating-ui/utils": "^0.2.5"
212
+ }
213
+ },
214
+ "node_modules/csstype": {
215
+ "version": "3.1.3",
216
+ "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz",
217
+ "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==",
218
+ "license": "MIT",
219
+ "peer": true
220
+ },
221
+ "node_modules/hotkeys-js": {
222
+ "version": "4.0.0",
223
+ "resolved": "https://registry.npmjs.org/hotkeys-js/-/hotkeys-js-4.0.0.tgz",
224
+ "integrity": "sha512-gIoeqMWYqPIItc4HaseVbtTRpEpBbeufZMUcoWtN62JZdDq3KadS1ijN6wpaDjTzRK7PjT3QOPUcx+yNT0rrZQ==",
225
+ "license": "MIT",
226
+ "funding": {
227
+ "url": "https://jaywcjlove.github.io/#/sponsor"
228
+ }
229
+ },
230
+ "node_modules/lit": {
231
+ "version": "3.3.1",
232
+ "resolved": "https://registry.npmjs.org/lit/-/lit-3.3.1.tgz",
233
+ "integrity": "sha512-Ksr/8L3PTapbdXJCk+EJVB78jDodUMaP54gD24W186zGRARvwrsPfS60wae/SSCTCNZVPd1chXqio1qHQmu4NA==",
234
+ "license": "BSD-3-Clause",
235
+ "dependencies": {
236
+ "@lit/reactive-element": "^2.1.0",
237
+ "lit-element": "^4.2.0",
238
+ "lit-html": "^3.3.0"
239
+ }
240
+ },
241
+ "node_modules/lit-element": {
242
+ "version": "4.2.1",
243
+ "resolved": "https://registry.npmjs.org/lit-element/-/lit-element-4.2.1.tgz",
244
+ "integrity": "sha512-WGAWRGzirAgyphK2urmYOV72tlvnxw7YfyLDgQ+OZnM9vQQBQnumQ7jUJe6unEzwGU3ahFOjuz1iz1jjrpCPuw==",
245
+ "license": "BSD-3-Clause",
246
+ "dependencies": {
247
+ "@lit-labs/ssr-dom-shim": "^1.4.0",
248
+ "@lit/reactive-element": "^2.1.0",
249
+ "lit-html": "^3.3.0"
250
+ }
251
+ },
252
+ "node_modules/lit-html": {
253
+ "version": "3.3.1",
254
+ "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-3.3.1.tgz",
255
+ "integrity": "sha512-S9hbyDu/vs1qNrithiNyeyv64c9yqiW9l+DBgI18fL+MTvOtWoFR0FWiyq1TxaYef5wNlpEmzlXoBlZEO+WjoA==",
256
+ "license": "BSD-3-Clause",
257
+ "dependencies": {
258
+ "@types/trusted-types": "^2.0.2"
259
+ }
260
+ },
261
+ "node_modules/nanoid": {
262
+ "version": "5.1.6",
263
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-5.1.6.tgz",
264
+ "integrity": "sha512-c7+7RQ+dMB5dPwwCp4ee1/iV/q2P6aK1mTZcfr1BTuVlyW9hJYiMPybJCcnBlQtuSmTIWNeazm/zqNoZSSElBg==",
265
+ "funding": [
266
+ {
267
+ "type": "github",
268
+ "url": "https://github.com/sponsors/ai"
269
+ }
270
+ ],
271
+ "license": "MIT",
272
+ "bin": {
273
+ "nanoid": "bin/nanoid.js"
274
+ },
275
+ "engines": {
276
+ "node": "^18 || >=20"
277
+ }
278
+ },
279
+ "node_modules/pagefind": {
280
+ "version": "1.4.0",
281
+ "resolved": "https://registry.npmjs.org/pagefind/-/pagefind-1.4.0.tgz",
282
+ "integrity": "sha512-z2kY1mQlL4J8q5EIsQkLzQjilovKzfNVhX8De6oyE6uHpfFtyBaqUpcl/XzJC/4fjD8vBDyh1zolimIcVrCn9g==",
283
+ "license": "MIT",
284
+ "bin": {
285
+ "pagefind": "lib/runner/bin.cjs"
286
+ },
287
+ "optionalDependencies": {
288
+ "@pagefind/darwin-arm64": "1.4.0",
289
+ "@pagefind/darwin-x64": "1.4.0",
290
+ "@pagefind/freebsd-x64": "1.4.0",
291
+ "@pagefind/linux-arm64": "1.4.0",
292
+ "@pagefind/linux-x64": "1.4.0",
293
+ "@pagefind/windows-x64": "1.4.0"
294
+ }
295
+ },
296
+ "node_modules/qr-creator": {
297
+ "version": "1.0.0",
298
+ "resolved": "https://registry.npmjs.org/qr-creator/-/qr-creator-1.0.0.tgz",
299
+ "integrity": "sha512-C0cqfbS1P5hfqN4NhsYsUXePlk9BO+a45bAQ3xLYjBL3bOIFzoVEjs79Fado9u9BPBD3buHi3+vY+C8tHh4qMQ==",
300
+ "license": "MIT"
301
+ }
302
+ }
303
+ }
data/package.json ADDED
@@ -0,0 +1,22 @@
1
+ {
2
+ "name": "willamette",
3
+ "version": "0.5.0",
4
+ "main": "frontend/javascript/index.js",
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "https://codeberg.org/bridgetownrb/willamette"
8
+ },
9
+ "author": "Bridgetown Maintainers <maintainers@bridgetownrb.com>",
10
+ "homepage": "https://www.bridgetownrb.com",
11
+ "license": "MIT",
12
+ "private": false,
13
+ "files": [
14
+ "components",
15
+ "frontend"
16
+ ],
17
+ "dependencies": {
18
+ "@awesome.me/webawesome": ">=3.0.0",
19
+ "hotkeys-js": "^4.0.0",
20
+ "pagefind": "^1.4.0"
21
+ }
22
+ }
@@ -0,0 +1,14 @@
1
+ ruby_configure :nokolexbor, %(\nhtml_inspector_parser "nokolexbor")
2
+ ruby_configure :pagination, %(\npagination do\n enabled true\nend\n\n)
3
+
4
+ add_initializer :willamette
5
+
6
+ say "😃 The Willamette installer can update frontend code and components to use the new theme."
7
+ say "🚨 THIS WILL OVERWRITE existing files. 🚨"
8
+ return unless yes? "🤔 Would you like to proceed? (Y/N)"
9
+
10
+ apply "#{__dir__}/automations/layouts.automation.rb"
11
+ apply "#{__dir__}/automations/frontend.automation.rb"
12
+ apply "#{__dir__}/automations/components.automation.rb"
13
+
14
+ say "🥳 Willamette is now installed."
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "lib/willamette/version"
4
+
5
+ Gem::Specification.new do |spec|
6
+ spec.name = "willamette"
7
+ spec.version = Willamette::VERSION
8
+ spec.author = "Bridgetown Team"
9
+ spec.email = "maintainers@bridgetownrb.com"
10
+ spec.summary = "Modern theme for blogs, portfolios, documentation, and publishing"
11
+ spec.homepage = "https://codeberg.org/bridgetownrb/willamette"
12
+ spec.license = "MIT"
13
+
14
+ spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r!^(test|script|spec|features|frontend)/!) }
15
+ spec.test_files = spec.files.grep(%r!^test/!)
16
+ spec.require_paths = ["lib"]
17
+ # Uncomment this if you wish to supply a companion NPM package and/or command features:
18
+ # spec.metadata = {
19
+ # "npm_add" => "willamette@#{Willamette::VERSION}",
20
+ # "bridgetown_features" => "true"
21
+ # }
22
+
23
+ spec.required_ruby_version = ">= 3.2.0"
24
+
25
+ spec.add_dependency "bridgetown", ">= 2.1", "< 3.0"
26
+ spec.add_dependency "nokolexbor", ">= 0.6"
27
+
28
+ spec.add_development_dependency "bundler"
29
+ spec.add_development_dependency "rake", ">= 13.0"
30
+ end
metadata ADDED
@@ -0,0 +1,143 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: willamette
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.5.0
5
+ platform: ruby
6
+ authors:
7
+ - Bridgetown Team
8
+ bindir: bin
9
+ cert_chain: []
10
+ date: 2026-04-02 00:00:00.000000000 Z
11
+ dependencies:
12
+ - !ruby/object:Gem::Dependency
13
+ name: bridgetown
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - ">="
17
+ - !ruby/object:Gem::Version
18
+ version: '2.1'
19
+ - - "<"
20
+ - !ruby/object:Gem::Version
21
+ version: '3.0'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ requirements:
26
+ - - ">="
27
+ - !ruby/object:Gem::Version
28
+ version: '2.1'
29
+ - - "<"
30
+ - !ruby/object:Gem::Version
31
+ version: '3.0'
32
+ - !ruby/object:Gem::Dependency
33
+ name: nokolexbor
34
+ requirement: !ruby/object:Gem::Requirement
35
+ requirements:
36
+ - - ">="
37
+ - !ruby/object:Gem::Version
38
+ version: '0.6'
39
+ type: :runtime
40
+ prerelease: false
41
+ version_requirements: !ruby/object:Gem::Requirement
42
+ requirements:
43
+ - - ">="
44
+ - !ruby/object:Gem::Version
45
+ version: '0.6'
46
+ - !ruby/object:Gem::Dependency
47
+ name: bundler
48
+ requirement: !ruby/object:Gem::Requirement
49
+ requirements:
50
+ - - ">="
51
+ - !ruby/object:Gem::Version
52
+ version: '0'
53
+ type: :development
54
+ prerelease: false
55
+ version_requirements: !ruby/object:Gem::Requirement
56
+ requirements:
57
+ - - ">="
58
+ - !ruby/object:Gem::Version
59
+ version: '0'
60
+ - !ruby/object:Gem::Dependency
61
+ name: rake
62
+ requirement: !ruby/object:Gem::Requirement
63
+ requirements:
64
+ - - ">="
65
+ - !ruby/object:Gem::Version
66
+ version: '13.0'
67
+ type: :development
68
+ prerelease: false
69
+ version_requirements: !ruby/object:Gem::Requirement
70
+ requirements:
71
+ - - ">="
72
+ - !ruby/object:Gem::Version
73
+ version: '13.0'
74
+ email: maintainers@bridgetownrb.com
75
+ executables: []
76
+ extensions: []
77
+ extra_rdoc_files: []
78
+ files:
79
+ - ".gitignore"
80
+ - ".rubocop.yml"
81
+ - CHANGELOG.md
82
+ - CODE_OF_CONDUCT.md
83
+ - Gemfile
84
+ - Gemfile.lock
85
+ - LICENSE.txt
86
+ - README.md
87
+ - Rakefile
88
+ - automations/components.automation.rb
89
+ - automations/frontend.automation.rb
90
+ - automations/layouts.automation.rb
91
+ - bridgetown.automation.rb
92
+ - components/willamette/back_to_top.css
93
+ - components/willamette/back_to_top.js
94
+ - components/willamette/code_element.css
95
+ - components/willamette/code_element.js
96
+ - components/willamette/header_navbar.dsd.css
97
+ - components/willamette/header_navbar.rb
98
+ - components/willamette/holy_grail_layout.dsd.css
99
+ - components/willamette/holy_grail_layout.rb
100
+ - components/willamette/pagination.erb
101
+ - components/willamette/pagination.rb
102
+ - components/willamette/post_item.css
103
+ - components/willamette/post_item.rb
104
+ - components/willamette/previous_next.erb
105
+ - components/willamette/previous_next.rb
106
+ - components/willamette/search_dialog.rb
107
+ - components/willamette/search_dialog_element.js
108
+ - content/search.erb
109
+ - content/willamette/style-guide.md
110
+ - layouts/willamette/default.erb
111
+ - lib/willamette.rb
112
+ - lib/willamette/builders/inspectors.rb
113
+ - lib/willamette/builders/toc.rb
114
+ - lib/willamette/locales/en.yml
115
+ - lib/willamette/strategies/link.rb
116
+ - lib/willamette/strategies/sidebar.rb
117
+ - lib/willamette/version.rb
118
+ - package-lock.json
119
+ - package.json
120
+ - setup.automation.rb
121
+ - willamette.gemspec
122
+ homepage: https://codeberg.org/bridgetownrb/willamette
123
+ licenses:
124
+ - MIT
125
+ metadata: {}
126
+ rdoc_options: []
127
+ require_paths:
128
+ - lib
129
+ required_ruby_version: !ruby/object:Gem::Requirement
130
+ requirements:
131
+ - - ">="
132
+ - !ruby/object:Gem::Version
133
+ version: 3.2.0
134
+ required_rubygems_version: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
139
+ requirements: []
140
+ rubygems_version: 3.6.2
141
+ specification_version: 4
142
+ summary: Modern theme for blogs, portfolios, documentation, and publishing
143
+ test_files: []