jekyll-theme-zer0 1.18.0 → 1.18.1

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: b19b74478bb62df4aa7a1026d96ff2b27b831fb7fd9ebc4a4459005a153dcf15
4
- data.tar.gz: 6af11d4a01e9079b49bfe82dde4c99745e2727ca7f022e8a1d41696d3190cd13
3
+ metadata.gz: 75211dc29d6baba87f5cc1264e9b3f47ecbff99d02cbe875f9b2290472c3bd09
4
+ data.tar.gz: 3fb6eb26ee2507c079ebc1f1c91db92687706a14607cba9685b95ff20ad0ffa8
5
5
  SHA512:
6
- metadata.gz: d2f8d8bb9e6027311f55121534ca77675c30c5994e064f04f9c1e8d56bf2fcce5eb0447da5b8aefd8a6dcd094599379d5f1487f2d140f4a117fb82f806360a34
7
- data.tar.gz: 79222f85a38198dba78968785880982b3be2cc3594826d0fe04cd6d84a7530a96d46c487673fa50f6f79b616104e44e0ed92a580ea996090f33e04107ffb6e85
6
+ metadata.gz: f7b6b73449bbc1efbea5243b4fc65e3b470b7c260c6e853f1729559d2a8402d0f3070e684cf3d9277d1ccee2b077022c32142c9de8a2b922825415d2cde46534
7
+ data.tar.gz: 012f8d69f7c6305f7d9901292ba57ae2d0884f9ffb162e10836efb739cf17546b709de109d86b05fdfa6929f89c1e84398f6e4a61bb6c7552a7e574de7f9d627
data/CHANGELOG.md CHANGED
@@ -5,6 +5,27 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [1.18.1] - 2026-06-14
9
+
10
+ ### Changed
11
+ - Version bump: patch release
12
+
13
+ ### Commits in this release
14
+ - ae76a61f fix(content-review): correct code-fence detection (closing fences + {% raw %}) (#155)
15
+ - f00fb654 docs(seo): strengthen SEO docs index metadata + fix agent-tier workflow (#154)
16
+
17
+ ### Fixed
18
+ - **content-review: closing code fences no longer counted as "missing language"**.
19
+ `scripts/content-review.rb` flagged every bare ```` ``` ```` line, including the
20
+ *closing* fence of a properly tagged block, which double-counted and could tank
21
+ a file's score (e.g. `pages/_about/features/jekyll.md` scored 0/100 almost
22
+ entirely from this false positive). The check now tracks fence open/close state
23
+ and only validates opening fences.
24
+ - **content-review: ignore Liquid `{% raw %}` blocks** in the quality and style
25
+ checks. Code fences, headings, images, and terminology inside `{% raw %}…
26
+ {% endraw %}` are literal display examples, not page structure, and were being
27
+ counted as real findings.
28
+
8
29
  ## [1.18.0] - 2026-06-13
9
30
 
10
31
  ### Changed
data/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
  title: zer0-mistakes
3
3
  sub-title: AI-Native Jekyll Theme
4
4
  description: AI-native Jekyll theme for GitHub Pages — Docker-first development, AI-powered installation, multi-agent integration (Copilot, Codex, Cursor, Claude), AI preview-image generation, and AIEO content optimization with Bootstrap 5.3.
5
- version: 1.18.0
5
+ version: 1.18.1
6
6
  layout: landing
7
7
  tags:
8
8
  - jekyll
@@ -20,7 +20,7 @@ categories:
20
20
  - bootstrap
21
21
  - ai-tooling
22
22
  created: 2024-02-10T23:51:11.480Z
23
- lastmod: 2026-06-13T21:56:50.000Z
23
+ lastmod: 2026-06-14T14:41:09.000Z
24
24
  draft: false
25
25
  permalink: /
26
26
  slug: zer0
@@ -911,7 +911,7 @@ git push origin feature/awesome-feature
911
911
 
912
912
  | Metric | Value |
913
913
  |--------|-------|
914
- | **Current Version** | 1.18.0 ([RubyGems](https://rubygems.org/gems/jekyll-theme-zer0), [CHANGELOG](/CHANGELOG)) |
914
+ | **Current Version** | 1.18.1 ([RubyGems](https://rubygems.org/gems/jekyll-theme-zer0), [CHANGELOG](/CHANGELOG)) |
915
915
  | **Documented Features** | 43 ([Feature Registry](https://github.com/bamr87/zer0-mistakes/blob/main/_data/features.yml)) |
916
916
  | **Setup Time** | 2-5 minutes ([install.sh benchmarks](https://github.com/bamr87/zer0-mistakes/blob/main/install.sh)) |
917
917
  | **Documentation Pages** | 70+ ([browse docs](https://zer0-mistakes.com/pages/)) |
@@ -966,6 +966,6 @@ And these AI partners that make zer0-mistakes truly AI-native:
966
966
 
967
967
  **Built with ❤️ — and a little help from our AI partners — for the Jekyll community**
968
968
 
969
- **v1.18.0** • [Changelog](CHANGELOG.md) • [License](LICENSE) • [Contributing](CONTRIBUTING.md) • [AI Agent Guide](AGENTS.md)
969
+ **v1.18.1** • [Changelog](CHANGELOG.md) • [License](LICENSE) • [Contributing](CONTRIBUTING.md) • [AI Agent Guide](AGENTS.md)
970
970
 
971
971
 
@@ -198,6 +198,13 @@ def strip_code_fences(body)
198
198
  body.gsub(/^```.*?^```/m, '').gsub(/`[^`]*`/, '')
199
199
  end
200
200
 
201
+ # Remove Liquid {% raw %}...{% endraw %} regions. Content inside them is a
202
+ # literal display example (often showing ``` fences or {{ }} tags), not real
203
+ # page structure, so it must not be counted by the quality/style checks.
204
+ def strip_liquid_raw(body)
205
+ body.gsub(/\{%-?\s*raw\s*-?%\}.*?\{%-?\s*endraw\s*-?%\}/m, '')
206
+ end
207
+
201
208
  # --- Collection detection ----------------------------------------------------
202
209
  def detect_collection(path, schema)
203
210
  collections = schema['collections'] || {}
@@ -286,6 +293,8 @@ end
286
293
 
287
294
  def check_quality(body, quality)
288
295
  issues = []
296
+ # Liquid {% raw %} examples are display-only — exclude them from every check.
297
+ body = strip_liquid_raw(body)
289
298
  prose = strip_code_fences(body)
290
299
  words = prose.split(/\s+/).reject(&:empty?)
291
300
  wc = words.length
@@ -314,9 +323,18 @@ def check_quality(body, quality)
314
323
 
315
324
  # Code fences must declare a language.
316
325
  if quality['require_code_fence_language']
317
- body.scan(/^```([^\n]*)\n/).each do |m|
318
- info = m[0].strip
319
- issues << Issue.new('info', 'quality', 'Code fence without a language (use ```bash, ```ruby, …)') if info.empty?
326
+ # Only opening fences need a language; toggle state so the matching closing
327
+ # fence (a bare ```) is not counted.
328
+ in_fence = false
329
+ body.each_line do |line|
330
+ next unless line =~ /^\s*```(.*)$/
331
+
332
+ if in_fence
333
+ in_fence = false # closing fence — no language required
334
+ else
335
+ in_fence = true
336
+ issues << Issue.new('info', 'quality', 'Code fence without a language (use ```bash, ```ruby, …)') if Regexp.last_match(1).strip.empty?
337
+ end
320
338
  end
321
339
  end
322
340
 
@@ -337,7 +355,7 @@ end
337
355
 
338
356
  def check_style(body, style)
339
357
  issues = []
340
- prose = strip_code_fences(body)
358
+ prose = strip_code_fences(strip_liquid_raw(body))
341
359
  (style['terminology'] || {}).each do |wrong, right|
342
360
  next if wrong.to_s.empty?
343
361
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll-theme-zer0
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.18.0
4
+ version: 1.18.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amr Abdel
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-06-13 00:00:00.000000000 Z
11
+ date: 2026-06-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jekyll