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 +4 -4
- data/CHANGELOG.md +9 -0
- data/Gemfile.lock +1 -1
- data/automations/components.automation.rb +6 -3
- data/automations/layouts.automation.rb +6 -3
- data/components/willamette/header_navbar.dsd.css +0 -4
- data/components/willamette/holy_grail_layout.dsd.css +1 -1
- data/components/willamette/pagination.erb +1 -1
- data/components/willamette/previous_next.erb +1 -1
- data/content/willamette/bridgetown-avatar.svg +36 -0
- data/content/willamette/style-guide.md +68 -6
- data/lib/willamette/version.rb +1 -1
- data/lib/willamette.rb +7 -5
- data/package.json +1 -1
- data/setup.automation.rb +7 -0
- metadata +3 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 4795cff6bbb0562c32afcb5fa0cd355351560959cebb845fca9bfe7bf0b3fcb0
|
|
4
|
+
data.tar.gz: 9a5af9580fcaf93ca1acaba95a2348ac4cd551ac116ac2821c28a1e820ebfcac
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
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,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
|
|
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="<%=
|
|
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
|
|
126
|
+
gsub_file "src/_partials/_footer.#{detected_ext}", %(<footer>), %(<footer slot="footer">)
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
|
|
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
|
|
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
|
|
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,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
|
-
|
|
3
|
-
|
|
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="
|
|
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==
|
data/lib/willamette/version.rb
CHANGED
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 |
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
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
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.
|
|
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-
|
|
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
|