jekyll-theme-modootoday 1.2.0 → 1.2.2
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 +16 -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/_sass/modootoday/base/_code.scss +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: 67e8a88d61c5558082ea15e0708087ba58f746b25c96e6e9a7a551548a56796e
|
|
4
|
+
data.tar.gz: b9c58c0639beae968c207837f0433e7f41dc90a13053ceb50180425d68a6c403
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: bd0016d4f7ff9d31ea3c50f312348402aba195ecae900b5eb51fb942edf09d4067e05ec4d73ebc4e733a624378f878a2f9b9241f0b90bc30cf2cf545826b32fe
|
|
7
|
+
data.tar.gz: b0c6ad0227548f39fb8fb5429695c6c13985714cdd3cb730756601a1f322d0d580d02f6ce98da9ead3f5d997d678d120e84addbf139d938666fd937ede73c674
|
data/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,19 @@ The content rules have their own version header (`md-components v1`) in [RULES.m
|
|
|
6
6
|
|
|
7
7
|
## [Unreleased]
|
|
8
8
|
|
|
9
|
+
## [1.2.2] - 2026-10-31
|
|
10
|
+
|
|
11
|
+
### Fixed
|
|
12
|
+
|
|
13
|
+
- Long inline code (`:not(pre) > code`) wraps inside the column with `overflow-wrap: anywhere` in paragraphs, lists, links, headings, callouts, quotes and table cells, so narrow screens such as 390px no longer scroll sideways; fenced code blocks keep their own horizontal scroll. The docs audit adds a 360px inline-code wrap check.
|
|
14
|
+
|
|
15
|
+
## [1.2.1] - 2026-10-31
|
|
16
|
+
|
|
17
|
+
### Fixed
|
|
18
|
+
|
|
19
|
+
- `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.
|
|
20
|
+
- 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.
|
|
21
|
+
|
|
9
22
|
## [1.2.0] - 2026-10-31
|
|
10
23
|
|
|
11
24
|
### Added
|
|
@@ -235,7 +248,9 @@ Internal development milestones, never released. They are all part of 1.0.0.
|
|
|
235
248
|
- Example: `sass.silence_deprecations: [import]` for Dart Sass; `llms.txt` per language generated instead of hand-written.
|
|
236
249
|
- 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
250
|
|
|
238
|
-
[Unreleased]: https://github.com/modootoday/jekyll-theme-modootoday/compare/v1.2.
|
|
251
|
+
[Unreleased]: https://github.com/modootoday/jekyll-theme-modootoday/compare/v1.2.2...HEAD
|
|
252
|
+
[1.2.2]: https://github.com/modootoday/jekyll-theme-modootoday/releases/tag/v1.2.2
|
|
253
|
+
[1.2.1]: https://github.com/modootoday/jekyll-theme-modootoday/releases/tag/v1.2.1
|
|
239
254
|
[1.2.0]: https://github.com/modootoday/jekyll-theme-modootoday/releases/tag/v1.2.0
|
|
240
255
|
[1.1.1]: https://github.com/modootoday/jekyll-theme-modootoday/releases/tag/v1.1.1
|
|
241
256
|
[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 -%}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
@include mt-layer(base) {
|
|
2
2
|
code, pre, kbd { font-family: mt(font-mono); }
|
|
3
|
-
:not(pre) > code { font-size: .875em; background: mt(muted); border: 1px solid mt(border); padding: .1em .35em; border-radius: var(--mt-p-radius-sm); }
|
|
3
|
+
:not(pre) > code { font-size: .875em; background: mt(muted); border: 1px solid mt(border); padding: .1em .35em; border-radius: var(--mt-p-radius-sm); overflow-wrap: anywhere; }
|
|
4
4
|
pre { font-size: .875rem; line-height: 1.6; background: mt(muted); border: 1px solid mt(border); border-radius: mt(radius-lg);
|
|
5
5
|
padding: 1rem 1.25rem; margin: 0 0 1.25rem; overflow-x: auto; tab-size: 2; }
|
|
6
6
|
pre code { font-size: inherit; }
|
|
@@ -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"])
|