willamette 0.6.0 → 0.7.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b14600bc1b9466fbdeaae3e1add8e22c329a429809c59a352078980a79f12632
4
- data.tar.gz: f5df323495a95da1c249714d97872e0e0502ca7804927988f8e6396a46d5d4b9
3
+ metadata.gz: 4795cff6bbb0562c32afcb5fa0cd355351560959cebb845fca9bfe7bf0b3fcb0
4
+ data.tar.gz: 9a5af9580fcaf93ca1acaba95a2348ac4cd551ac116ac2821c28a1e820ebfcac
5
5
  SHA512:
6
- metadata.gz: 5fd4dff6fc3f50dab2807d5a55b03219a9e7c84fcf40f9a8782f7826162676dc4157447bf7b14cfc87a5a10803f3cd663f4aabbfbac0edcccc1a462720405953
7
- data.tar.gz: b7d4a23d04a9490b52d2eb139bbc0127b81a3f9b3a9725ca830c66c590e1b9d0e4bed76a96b1a11741390db5cda0d63a566a4b0760726c7d09a264ac8700788e
6
+ metadata.gz: dfcbbf0e4b813c12452225e58f293506edd0ece6541d42cea9dc706ef4fcf2c00360fba3211856090a258153afdab177c24794fed26ef5cf067985e9773611fe
7
+ data.tar.gz: 393297f4b4ce50b6de84ce04a9bd92367b99e8bb0d28d3c5d5f94620a9dfdd3efa9d84f8502a6dabe5cf2d3364d44838e726e2d0485ae141a5a33ba61b4c038f
data/CHANGELOG.md CHANGED
@@ -9,6 +9,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
9
9
 
10
10
  - ...
11
11
 
12
+ ## [0.7.0] - 2026-04-29
13
+
14
+ - Exclude pagination links and previous/next links from Pagefind indexing
15
+ - Improve default presentation of logo / site name, especially on mobile
16
+
17
+ ## [0.6.1] - 2026-04-27
18
+
19
+ - Fill out content in the Style Guide, provide a bypass config option
20
+
12
21
  ## [0.6.0] - 2026-04-23
13
22
 
14
23
  - Clean up layout settings, improve blockquotes and image bleeds
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- willamette (0.6.0)
4
+ willamette (0.7.0)
5
5
  bridgetown (>= 2.1, < 3.0)
6
6
  nokolexbor (>= 0.6)
7
7
 
@@ -1,3 +1,6 @@
1
+ detect_serbea = File.exist?(File.join(destination_root, "src", "_partials", "_footer.serb"))
2
+ detected_ext = detect_serbea ? "serb" : "erb"
3
+
1
4
  remove_file "src/_components/shared/navbar.rb"
2
5
  create_file "src/_components/shared.rb" do <<~RUBY
3
6
  module Shared
@@ -39,7 +42,7 @@ end
39
42
  RUBY
40
43
  end
41
44
 
42
- remove_file "src/_components/shared/navbar.erb"
45
+ remove_file "src/_components/shared/navbar.#{detected_ext}"
43
46
  create_file "src/_components/shared/navbar.erb" do <<~HTML
44
47
  <header slot="header">
45
48
  <%= dsd do %>
@@ -47,7 +50,7 @@ create_file "src/_components/shared/navbar.erb" do <<~HTML
47
50
  <% end %>
48
51
 
49
52
  <a slot="logo" href="/">
50
- <img src="<%= relative_url '/images/logo.svg' %>" alt="Website Logo" />
53
+ <img src="<%= '/willamette/bridgetown-avatar.svg' %>" alt="Website Logo" />
51
54
  <span><%= metadata.title %></span>
52
55
  </a>
53
56
 
@@ -120,4 +123,4 @@ create_file "src/_components/shared/sidebar.erb" do <<~HTML
120
123
  HTML
121
124
  end
122
125
 
123
- gsub_file "src/_partials/_footer.erb", %(<footer>), %(<footer slot="footer">)
126
+ gsub_file "src/_partials/_footer.#{detected_ext}", %(<footer>), %(<footer slot="footer">)
@@ -1,4 +1,7 @@
1
- remove_file "src/_layouts/default.erb"
1
+ detect_serbea = File.exist?(File.join(destination_root, "src", "_layouts", "default.serb"))
2
+ detected_ext = detect_serbea ? "serb" : "erb"
3
+
4
+ remove_file "src/_layouts/default.#{detected_ext}"
2
5
  create_file "src/_layouts/default.erb" do <<~ERB
3
6
  ---
4
7
  layout: willamette/default
@@ -8,7 +11,7 @@ create_file "src/_layouts/default.erb" do <<~ERB
8
11
  ERB
9
12
  end
10
13
 
11
- remove_file "src/_layouts/page.erb"
14
+ remove_file "src/_layouts/page.#{detected_ext}"
12
15
  create_file "src/_layouts/page.erb" do <<~ERB
13
16
  ---
14
17
  layout: default
@@ -24,7 +27,7 @@ create_file "src/_layouts/page.erb" do <<~ERB
24
27
  ERB
25
28
  end
26
29
 
27
- remove_file "src/_layouts/post.erb"
30
+ remove_file "src/_layouts/post.#{detected_ext}"
28
31
  create_file "src/_layouts/post.erb" do <<~ERB
29
32
  ---
30
33
  layout: default
@@ -1,7 +1,3 @@
1
- :host {
2
- --navbar-gap: var(--wa-space-m);
3
- }
4
-
5
1
  #bar {
6
2
  display: flex;
7
3
  justify-content: space-between;
@@ -1,6 +1,6 @@
1
1
  :host {
2
2
  --layout-padding: var(--wll-layout-padding);
3
- --header-block-padding: var(--layout-padding) calc(var(--layout-padding) / 3);
3
+ --header-block-padding: calc(var(--layout-padding) / 1.5) calc(var(--layout-padding) / 3);
4
4
  --sidebar-start-min-inline-size: calc(var(--wa-space-scale) * 15rem);
5
5
  --sidebar-start-max-inline-size: calc(var(--wa-space-scale) * 28rem);
6
6
  --sidebar-end-min-inline-size: calc(var(--wa-space-scale) * 15rem);
@@ -1,4 +1,4 @@
1
- <ul class="pagination">
1
+ <ul class="pagination" data-pagefind-ignore>
2
2
  <li>
3
3
  <% if paginator.previous_page %>
4
4
  <a href="<%= paginator.previous_page_path %>"><wa-icon label="<%= t "labels.previous" %>" name="circle-chevron-left"></wa-icon> <%= t "content.posts.newer_posts" %></a>
@@ -1,4 +1,4 @@
1
- <ul class="pagination">
1
+ <ul class="pagination" data-pagefind-ignore>
2
2
  <li>
3
3
  <% if resource.previous_resource %>
4
4
  <a href="<%= resource.previous_resource.relative_url %>"><wa-icon label="<%= t "labels.previous" %>" name="circle-chevron-left"></wa-icon> <%= resource.previous_resource.data.title %></a>
@@ -0,0 +1,36 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
3
+ <svg width="100%" height="100%" viewBox="0 0 426 396" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
4
+ <g transform="matrix(1,0,0,1,-551.659,-816.215)">
5
+ <g transform="matrix(4.16667,0,0,4.16667,0,0)">
6
+ <g transform="matrix(0,-1,-1,0,184.377,195.892)">
7
+ <path d="M-47.414,-47.413C-73.6,-47.413 -94.827,-26.184 -94.827,0.001C-94.827,26.187 -73.6,47.414 -47.414,47.414C-21.228,47.414 -0,26.187 -0,0.001C-0,-26.184 -21.228,-47.413 -47.414,-47.413" style="fill:rgb(58,109,98);fill-rule:nonzero;"/>
8
+ </g>
9
+ </g>
10
+ <g transform="matrix(4.16667,0,0,4.16667,0,0)">
11
+ <clipPath id="_clip1">
12
+ <path d="M136.963,243.306C136.963,269.491 158.19,290.719 184.376,290.719C210.561,290.719 231.79,269.491 231.79,243.306C231.79,217.12 210.561,195.892 184.376,195.892C158.19,195.892 136.963,217.12 136.963,243.306Z" clip-rule="nonzero"/>
13
+ </clipPath>
14
+ <g clip-path="url(#_clip1)">
15
+ <g transform="matrix(1,0,0,1,208.938,234.995)">
16
+ <path d="M0,8.565C-21.064,-19.268 -52.165,-16.176 -64.819,7.508C-66.214,10.116 -64.596,11.833 -63.807,11.645C-62.405,11.31 -57.638,9.411 -56.193,8.829C-55.59,8.586 -55.099,7.427 -54.565,6.371C-43.702,-15.13 -29.235,-17.508 -8.492,27.833C-9.496,22.667 -7.413,16.858 -0.662,10.844C0.114,10.152 0.754,9.561 0,8.565" style="fill:rgb(248,248,249);fill-rule:nonzero;"/>
17
+ </g>
18
+ <g transform="matrix(0.249692,-0.968325,-0.968325,-0.249692,139.587,231.48)">
19
+ <path d="M-3.556,-8.815C-8.26,-6.649 -12.911,-5.427 -13.634,-8.471C-14.043,-5.524 -2.818,-0.098 -3.556,6.295C-3.591,6.597 -3.119,6.672 -2.992,6.397C-0.433,0.888 -2.024,-6.711 -3.556,-8.815" style="fill:rgb(248,248,249);fill-rule:nonzero;"/>
20
+ </g>
21
+ <g transform="matrix(1,0,0,1,234.005,264.207)">
22
+ <path d="M0,-25.684C0.449,-25.684 0.612,-25.015 0.176,-24.913C-8.81,-22.823 -12.759,-14.068 -12.976,-9.191C-13.048,-7.574 -14.436,-7.288 -16.041,-6.545C-17.831,-5.715 -26.216,-2.13 -29.396,-0.992C-30.953,-0.434 -33.258,0.001 -33.365,-2.403C-33.795,-11.98 -23.739,-25.685 0,-25.684" style="fill:rgb(248,248,249);fill-rule:nonzero;"/>
23
+ </g>
24
+ <g transform="matrix(1,0,0,1,202.938,221.387)">
25
+ <path d="M0,29.048C-17.807,-5.298 -45.005,-2.556 -58.551,21.114C-59.777,23.257 -58.706,25.286 -57.499,24.954C-56.72,24.74 -56.061,24.333 -54.724,21.712C-43.819,0.337 -25.429,-9.286 -3.282,38.334C-3.302,35.514 -2.221,32.223 0,29.048" style="fill:rgb(233,233,232);fill-rule:nonzero;"/>
26
+ </g>
27
+ <g transform="matrix(1,0,0,1,229.828,253.97)">
28
+ <path d="M0,-14.459C-6.677,-14.306 -18.664,-11.274 -23.314,-0.812C-23.493,-0.41 -22.992,0.006 -22.663,-0.287C-18.435,-4.054 -11.988,-6.561 -7.751,-6.313C-7.615,-6.305 -7.494,-6.288 -7.437,-6.411C-6.284,-8.89 -3.697,-12.005 0.113,-14.011C0.334,-14.127 0.25,-14.465 0,-14.459" style="fill:rgb(233,233,232);fill-rule:nonzero;"/>
29
+ </g>
30
+ <g transform="matrix(-0.238075,0.971247,0.971247,0.238075,147.243,236.88)">
31
+ <path d="M1.232,-10.193C2.071,-8.08 3.512,-5.506 4.011,-5.072C2.646,-4.29 1.65,-2.215 1.232,-0.692C3.686,-1.804 7.284,-2.895 8.815,-2.373C8.302,-3.196 2.985,-7.471 1.232,-10.193" style="fill:rgb(233,233,232);fill-rule:nonzero;"/>
32
+ </g>
33
+ </g>
34
+ </g>
35
+ </g>
36
+ </svg>
@@ -1,7 +1,10 @@
1
- ---
2
- layout: page
3
- title: This is the Willamette Theme
4
- ---
1
+ ```ruby
2
+ front_matter do
3
+ layout :page
4
+ title "Willamette Theme Style Guide"
5
+ published -> { !site.config.willamette.bypass_style_guide }
6
+ end
7
+ ```
5
8
 
6
9
  <style>
7
10
  .swatch {
@@ -20,7 +23,7 @@ title: This is the Willamette Theme
20
23
 
21
24
  <hr />
22
25
 
23
- <wa-color-picker label="Chose your brand color:" size="large" oninput='
26
+ <wa-color-picker label="Choose a new brand color:" size="large" oninput='
24
27
  document.documentElement.style.setProperty("--wll-color-brand", event.target.value)
25
28
  this.querySelector("output").textContent = `--wll-color-brand: ${event.target.value};`
26
29
  this.querySelector("wa-copy-button").slot = "hint"
@@ -29,6 +32,15 @@ title: This is the Willamette Theme
29
32
  <wa-copy-button from="color-hint"></wa-copy-button>
30
33
  </wa-color-picker>
31
34
 
35
+ <script type="module">
36
+ import { colordx } from "https://esm.sh/@colordx/core"
37
+ let defaultColor = window.getComputedStyle(document.documentElement).getPropertyValue("--wll-color-brand")
38
+ if (defaultColor.includes("oklch")) {
39
+ defaultColor = colordx(defaultColor).toHex()
40
+ }
41
+ document.querySelector("wa-color-picker").value = defaultColor
42
+ </script>
43
+
32
44
  <hr />
33
45
 
34
46
  ## Brand Color Scale
@@ -90,4 +102,54 @@ title: This is the Willamette Theme
90
102
  </div>
91
103
  <small>05</small>
92
104
  </li>
93
- </ul>
105
+ </ul>
106
+
107
+ ----
108
+
109
+ ## Basic Typography
110
+
111
+ Lorem ipsum dolor sit amet, cillum lorem culpa adipiscing nulla. Nisi sint aliquip aute anim laborum incididunt. Duis duis aliqua consectetur est ex laboris, in consequat enim fugiat aliqua sint est incididunt, dolor esse voluptate aliqua sit ut reprehenderit. **Sit lorem irure aute aliquip veniam pariatur**, anim dolore commodo ea culpa esse quis laborum. _Duis mollit exercitation pariatur._
112
+
113
+ Here are what [links look like](#) as well as `monospaced text`. You can also ==highlight text==.
114
+
115
+ ### Heading Level 3
116
+
117
+ Paragraph text.
118
+
119
+ #### Heading Level 4
120
+
121
+ * Here is a bulleted list.
122
+ * Item 2
123
+ * Item 3
124
+
125
+ And…
126
+
127
+ 1. Here is a numbered list.
128
+ 2. Item 2
129
+ 3. Item 3
130
+
131
+ You can also display blockquotes.
132
+
133
+ > Est est incididunt pariatur, aute laborum non mollit cillum excepteur est incididunt, tempor enim nisi ipsum cillum veniam. Labore lorem nulla occaecat ipsum sed nulla. Non sunt enim exercitation nostrud occaecat deserunt, anim sed esse velit elit eiusmod cupidatat. Laborum nisi aliquip ad.
134
+
135
+ And of course, code snippets.
136
+
137
+ ```ruby
138
+ if ENV["BRIDGETOWN_ENV"] == "production"
139
+ workers ENV.fetch("BRIDGETOWN_CONCURRENCY") { 4 }
140
+ end
141
+
142
+ max_threads_count = ENV.fetch("BRIDGETOWN_MAX_THREADS") { 5 }
143
+ min_threads_count = ENV.fetch("BRIDGETOWN_MIN_THREADS") { max_threads_count }
144
+ threads min_threads_count, max_threads_count
145
+
146
+ pidfile ENV["PIDFILE"] || "tmp/pids/server.pid"
147
+ ```
148
+
149
+ ## Images & Figures
150
+
151
+ ==WIP==
152
+
153
+ ## Tables
154
+
155
+ ==WIP==
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Willamette
4
- VERSION = "0.6.0"
4
+ VERSION = "0.7.0"
5
5
  end
data/lib/willamette.rb CHANGED
@@ -29,14 +29,16 @@ Kramdown::Converter::Html.class_eval do
29
29
  end
30
30
 
31
31
  # @param config [Bridgetown::Configuration::ConfigurationDSL]
32
- Bridgetown.initializer :willamette do |config, docs_url_segment: "docs", layout: {}|
33
- # Add code here which will run when a site includes
34
- # `init :willamette`
35
- # in its configuration
36
-
32
+ Bridgetown.initializer :willamette do |
33
+ config,
34
+ docs_url_segment: "docs",
35
+ layout: {},
36
+ bypass_style_guide: false
37
+ |
37
38
  # Add default configuration data:
38
39
  config.willamette ||= {}
39
40
  config.willamette.layout ||= layout
41
+ config.willamette.bypass_style_guide ||= bypass_style_guide
40
42
 
41
43
  # Register your builders:
42
44
  config.builder Willamette::Builders::AuthorExtension
data/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "willamette",
3
- "version": "0.6.0",
3
+ "version": "0.7.0",
4
4
  "main": "frontend/javascript/index.js",
5
5
  "repository": {
6
6
  "type": "git",
data/setup.automation.rb CHANGED
@@ -1,3 +1,10 @@
1
+ detect_liquid = File.exist?(File.join(destination_root, "src", "_layouts", "default.liquid"))
2
+ if detect_liquid
3
+ say "😬 Oops, the Willamette automated installer won't work with Liquid-based sites."
4
+ say "➡️ You'll need to create a new site using either ERB or Serbea templates."
5
+ exit(1)
6
+ end
7
+
1
8
  ruby_configure :nokolexbor, %(\nhtml_inspector_parser "nokolexbor")
2
9
  ruby_configure :pagination, %(\npagination do\n enabled true\nend\n\n)
3
10
 
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: willamette
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bridgetown Team
8
8
  bindir: bin
9
9
  cert_chain: []
10
- date: 2026-04-24 00:00:00.000000000 Z
10
+ date: 2026-04-30 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: bridgetown
@@ -108,6 +108,7 @@ files:
108
108
  - components/willamette/search_dialog.rb
109
109
  - components/willamette/search_dialog_element.js
110
110
  - content/search.erb
111
+ - content/willamette/bridgetown-avatar.svg
111
112
  - content/willamette/style-guide.md
112
113
  - layouts/willamette/default.erb
113
114
  - lib/willamette.rb