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 +4 -4
- data/CHANGELOG.md +9 -1
- data/README.ko.md +1 -1
- data/README.md +1 -1
- data/RULES.md +1 -1
- data/_includes/modootoday/config.html +3 -2
- data/_includes/modootoday/stylesheets.html +1 -1
- data/lib/modootoday/check/page_sections.rb +2 -3
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: f037892e2ad7b5c5e70fd71ee3aaf5e24c33bc0dd62e3fdacb3ac6eb5924ee5d
|
|
4
|
+
data.tar.gz: 31f7364365436ba9810daa42d18f51da457fc0cd1751c2e9161ae398dcd5a94b
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
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.
|
|
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
data/README.md
CHANGED
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 |
|
|
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:
|
|
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
|
|
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"}
|
|
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"])
|