jekyll-theme-modootoday 1.2.0 → 1.2.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: '09f05d5325d994791567a94eafd99eac00aa56e8eb114d931f8cd621fabed7fb'
4
- data.tar.gz: c155b58111fa8bd0028a1293fd1600642283c34ac41315e19334fc223f4bf5b1
3
+ metadata.gz: f037892e2ad7b5c5e70fd71ee3aaf5e24c33bc0dd62e3fdacb3ac6eb5924ee5d
4
+ data.tar.gz: 31f7364365436ba9810daa42d18f51da457fc0cd1751c2e9161ae398dcd5a94b
5
5
  SHA512:
6
- metadata.gz: 84cae773eae8a56dbf7059a82a0b28c12cd3fcd927adbf9fc724130ce295e1d1c064b3de7725d85a1ce69f6da2f76e3205c7e07ff6b4c7ff59a8b262d205f873
7
- data.tar.gz: 1fc8d20f8e70289b9c551e838107e94e34863adeaeec9a2bb88d0db336b142844818960228c66422a84b424c1b20bb4dc9bca05226b4f54140f23dfb4a15604d
6
+ metadata.gz: 842bc2d9025f8dedf019030e855af84aac7cd6f037b7faf1ab5021e5abe0d8fc81361e61b1880143cf4c94a8e985da8a75c6b4d5d10dcce6571c109bbe2e8296
7
+ data.tar.gz: 4527381840e820d30f5531156d906b1b2142b68da81db35abab2c037233776244f09a7834d932abbc3753a7e73add32d8c5de155e93e6a9cd8d0e0c70a1115cc
data/CHANGELOG.md CHANGED
@@ -6,6 +6,13 @@ The content rules have their own version header (`md-components v1`) in [RULES.m
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [1.2.1] - 2026-10-31
10
+
11
+ ### Fixed
12
+
13
+ - `hero.c` with a site's own component name (such as `c: cta` or `c: prose`) passes `modootoday-check` and renders the plain hero with no extra sheet, as in 1.1.1; the split checks (`visual:`, `side`, `ratio`) and the split sheet apply only to `hero: {c: split}`, whose wrong values are still errors.
14
+ - With a `modootoday.components` list, the `lists`, `bleed` and `terminal` sheets were empty unless the list named them, so `chrome: terminal`, `bleed:` and `modootoday.lists` lost their styles. These three names are now always included; their sheets are linked only by pages that use them, so other pages are unchanged.
15
+
9
16
  ## [1.2.0] - 2026-10-31
10
17
 
11
18
  ### Added
@@ -235,7 +242,8 @@ Internal development milestones, never released. They are all part of 1.0.0.
235
242
  - Example: `sass.silence_deprecations: [import]` for Dart Sass; `llms.txt` per language generated instead of hand-written.
236
243
  - Raw `<name>.md` copies in `_site` on GitHub Pages: caused by content files without front matter (rendered by `jekyll-optional-front-matter` and also copied). Front matter is now required and checked.
237
244
 
238
- [Unreleased]: https://github.com/modootoday/jekyll-theme-modootoday/compare/v1.2.0...HEAD
245
+ [Unreleased]: https://github.com/modootoday/jekyll-theme-modootoday/compare/v1.2.1...HEAD
246
+ [1.2.1]: https://github.com/modootoday/jekyll-theme-modootoday/releases/tag/v1.2.1
239
247
  [1.2.0]: https://github.com/modootoday/jekyll-theme-modootoday/releases/tag/v1.2.0
240
248
  [1.1.1]: https://github.com/modootoday/jekyll-theme-modootoday/releases/tag/v1.1.1
241
249
  [1.1.0]: https://github.com/modootoday/jekyll-theme-modootoday/releases/tag/v1.1.0
data/README.ko.md CHANGED
@@ -38,7 +38,7 @@ Gemfile 없이 GitHub Pages에서(`remote_theme:`):
38
38
 
39
39
  ```yaml
40
40
  # _config.yml
41
- remote_theme: modootoday/jekyll-theme-modootoday@v1.2.0
41
+ remote_theme: modootoday/jekyll-theme-modootoday@v1.2.1
42
42
  plugins:
43
43
  - jekyll-remote-theme
44
44
  ```
data/README.md CHANGED
@@ -35,7 +35,7 @@ On GitHub Pages without a Gemfile (`remote_theme:`):
35
35
 
36
36
  ```yaml
37
37
  # _config.yml
38
- remote_theme: modootoday/jekyll-theme-modootoday@v1.2.0
38
+ remote_theme: modootoday/jekyll-theme-modootoday@v1.2.1
39
39
  plugins:
40
40
  - jekyll-remote-theme
41
41
  ```
data/RULES.md CHANGED
@@ -16,7 +16,7 @@ Every content page starts with front matter; an empty block (`---` then `---`) i
16
16
  | Sections | `# Title`, lead paragraph, link-only paragraph (CTA), then `## Section`; front matter `sections:` | `doc` layout → `_includes/modootoday/markdown/sections.html`: with `sections:` the part before the first `##` is `section.mt-hero` and item *i* wraps the *i*-th **top-level** `##` in `section.mt-section` (an `h2` nested in a quote, list or alert never splits); without it, one `div.mt-prose` | plain document |
17
17
  | Section decor | front matter `decor: <include>` on `hero:` or a section item | the include inside `div.mt-section-decor[aria-hidden=true]` at the end of the section, which gets `.mt-has-decor` | not shown |
18
18
  | List styles (optional) | `modootoday.lists: {link_chips, titled_items}`; `hero: {checks: true}` | plain sections and pages: link-only list → `ul.mt-chips`, `- **Title**: text` → `strong.mt-item-title` + `span.mt-item-sep`; hero: `.mt-hero-checks`; first `p` after the `h1` → `p.mt-hero-lead` | plain lists |
19
- | Split hero | front matter `hero: {c: split, visual: <name>, side: start\|end, ratio: "1:1"\|"5:7"}` | `section.mt-hero.mt-c-split` > `.mt-section-in` > `.mt-section-body` (h1, lead, checks, actions) + `.mt-section-visual`; split sheet | other `c`, a missing `visual:`, other side/ratio values are checker errors |
19
+ | Split hero | front matter `hero: {c: split, visual: <name>, side: start\|end, ratio: "1:1"\|"5:7"}` | `section.mt-hero.mt-c-split` > `.mt-section-in` > `.mt-section-body` (h1, lead, checks, actions) + `.mt-section-visual`; split sheet | with `c: split`, a missing `visual:` and other side/ratio values are checker errors; another `c` (a site's own component name) renders the plain hero and is not checked |
20
20
  | Split code | `visual: code` on `c: split` or a split hero (optional `chrome: terminal`) | the first code block moves into `div.mt-section-visual.mt-split-code` (`.mt-split-terminal` + `div.mt-split-bar[aria-hidden]`); split sheet, plus the terminal sheet only with `chrome: terminal` | no fence in that item, or `chrome:` without split + `visual: code`, are checker errors |
21
21
  | Scroll reveal | front matter `reveal: true` on `hero:` or a section item | `.mt-reveal` on the section; CSS-only fade-in on scroll inside `@supports (animation-timeline: view())` and `prefers-reduced-motion: no-preference` | shown as is |
22
22
  | Full-width band | front matter `bleed: true` or `bleed: wide` on `hero:` or a section item | `.mt-bleed` (plus `.mt-bleed-wide`) on the section, no wrapper; the optional `bleed` sheet paints `--mt-bleed-bg` to the viewport edges, `wide` widens the content up to the container | other values are checker errors |
@@ -4,7 +4,8 @@ Jekyll 3.10 / GitHub Pages, so every default lives here (Liquid). Sets mt_* vari
4
4
  site.modootoday.color_scheme auto | light | dark | auto-dark | auto-light (default auto)
5
5
  auto*: toggle shown; auto follows the system, auto-dark/auto-light start in that scheme
6
6
  site.modootoday.css_layers true | false (default false)
7
- site.modootoday.components list of component names (default: all)
7
+ site.modootoday.components list of component names (default: all); lists, bleed and terminal are always added:
8
+ their CSS only reaches pages that turn them on (modootoday.lists / hero.checks, bleed:, chrome: terminal)
8
9
  site.modootoday.css split | bundle: split (default) links the core sheet plus only the sheets a page uses; bundle links one file with everything
9
10
  site.modootoday.nav _data/nav/<name>.yml or _data/nav.yml (default main); _data/nav/<name>-<lang>.yml wins for that page.lang
10
11
  site.modootoday.tokens / tokens_dark semantic token overrides, inline :root CSS
@@ -21,7 +22,7 @@ Jekyll 3.10 / GitHub Pages, so every default lives here (Liquid). Sets mt_* vari
21
22
  {%- assign mt_section_sheets = "cta:showcase/cta,features:showcase/card,linkcards:showcase/linkcards,quote:showcase/quote,gallery:showcase/gallery,pricing:showcase/pricing,subscribe:showcase/subscribe,tabs:structure/tabs,accordion:structure/accordion,steps:structure/steps,timeline:structure/timeline,filetree:structure/filetree,details:structure/details,faq:structure/faq,params:structure/params,split:structure/split" | split: "," -%}
22
23
  {%- assign mt_context_sheets = "doc:sidebar|toc|page-actions,search:search,loading:loading,figure:figure-svg,lists:lists,bleed:bleed,terminal:terminal" | split: "," -%}
23
24
  {%- assign mt_components = mt_all_components -%}
24
- {%- if mt.components -%}{%- assign mt_components = mt.components -%}{%- endif -%}
25
+ {%- if mt.components -%}{%- assign _mt_optin = "lists,bleed,terminal" | split: "," -%}{%- assign mt_components = mt.components | concat: _mt_optin | uniq -%}{%- endif -%}
25
26
  {%- assign mt_color_scheme = "auto" -%}
26
27
  {%- assign _mt_cs = "light dark auto-dark auto-light" | split: " " -%}
27
28
  {%- if _mt_cs contains mt.color_scheme -%}{%- assign mt_color_scheme = mt.color_scheme -%}{%- endif -%}
@@ -6,7 +6,7 @@ Stylesheet links (needs modootoday/config.html first). Sets mt_page_c ("|tabs|fa
6
6
  {%- endcomment -%}
7
7
  {%- assign mt_page_c = "|" -%}
8
8
  {%- for _s in page.sections -%}{%- if _s.c -%}{%- assign mt_page_c = mt_page_c | append: _s.c | append: "|" -%}{%- endif -%}{%- if _s.bleed -%}{%- assign mt_page_c = mt_page_c | append: "bleed|" -%}{%- endif -%}{%- if _s.chrome == "terminal" -%}{%- assign mt_page_c = mt_page_c | append: "terminal|" -%}{%- endif -%}{%- endfor -%}
9
- {%- if page.hero.c -%}{%- assign mt_page_c = mt_page_c | append: page.hero.c | append: "|" -%}{%- endif -%}
9
+ {%- if page.hero.c == "split" -%}{%- assign mt_page_c = mt_page_c | append: "split|" -%}{%- endif -%}
10
10
  {%- if page.hero.bleed -%}{%- assign mt_page_c = mt_page_c | append: "bleed|" -%}{%- endif -%}{%- if page.hero.chrome == "terminal" -%}{%- assign mt_page_c = mt_page_c | append: "terminal|" -%}{%- endif -%}
11
11
  {%- assign mt_search_index = site.pages | where: "url", "/search.json" | first -%}
12
12
  {%- if mt_components contains "search" and mt_search_index -%}{%- assign mt_page_c = mt_page_c | append: "search|" -%}{%- endif -%}
@@ -23,15 +23,14 @@ module Modootoday
23
23
  hero = meta["hero"]
24
24
  errs << "#{r}: hero: must be a map such as {visual: name}" if hero && !hero.is_a?(Hash)
25
25
  errs << "#{r}: hero.checks must be true or false" if hero.is_a?(Hash) && hero.key?("checks") && ![true, false].include?(hero["checks"])
26
- split_hero(errs, r, hero) if hero.is_a?(Hash) && hero.key?("c")
26
+ split_hero(errs, r, hero) if hero.is_a?(Hash) && hero["c"] == "split"
27
27
  cl = code.lines
28
28
  hero_md = b.lines[0...(cl.index { |l| l =~ /^##(?: |$)/ } || cl.size)].to_a.join
29
29
  visuals(ctx, r, secs, hero.is_a?(Hash) ? hero : nil, sec_md.map { |m| m && m[1] }, hero_md)
30
30
  end
31
31
 
32
- # hero: {c: split, visual: <name>, side: start|end, ratio: "1:1"|"5:7"}: split is the only hero component.
32
+ # hero: {c: split, visual: <name>, side: start|end, ratio: "1:1"|"5:7"} is the theme's split hero; any other hero.c (a site registry or extension component name) passes through unchecked, as in 1.1.1.
33
33
  def split_hero(errs, r, hero)
34
- return errs << "#{r}: hero.c must be split (got #{hero['c'].inspect})" unless hero["c"] == "split"
35
34
  errs << "#{r}: hero split: needs visual: <name> (the _includes/sections/<name>.html shown beside the text)" unless hero["visual"].is_a?(String) && !hero["visual"].strip.empty?
36
35
  errs << "#{r}: hero.side=#{hero['side'].inspect} not in [\"start\", \"end\"]" if hero.key?("side") && !%w[start end].include?(hero["side"])
37
36
  errs << "#{r}: hero.ratio=#{hero['ratio'].inspect} not in [\"1:1\", \"5:7\"]" if hero.key?("ratio") && !%w[1:1 5:7].include?(hero["ratio"])
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll-theme-modootoday
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - modootoday