al_folio_core 1.0.6 → 1.0.8

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: 72cc440ddce6e0131c852364edaeb57bf3af33199bb68328be63adf6d0e0cb66
4
- data.tar.gz: bea2ce28949a4cc159138a780446acb174b4cd02d532667275c2d1b4ef628f46
3
+ metadata.gz: e7397da7deb8e846758d474286e7c0791622138fa84e00ae6050e78a991142e8
4
+ data.tar.gz: d80fe0d17deec7a309623b10e7c78b3bae3d5f6979aca16be74f02d08af6c9ef
5
5
  SHA512:
6
- metadata.gz: fb32157ab9a3d595ee8371fd6b51d8a60492831f067238908ee5ac64127bed0c62038ce31356fd67adbf5faf842cd35a7e372a49f3212c29f9cb30efffc18d89
7
- data.tar.gz: 2d521c401f846d0d45fc551b6be6457753b0f4a9336e442a8166cbbc9445866d124985fdd047bb3a30fadb62964162994c4e4f0c38a54a9c01e0d6e2e1e35590
6
+ metadata.gz: c63b680d173323550550e67c1c356e92096e9288a5b239d56400c56bea2196dd3280d1dd71fc889e6717d3d7ca9079e838a44432b59210efd24a31d0a8a612c0
7
+ data.tar.gz: 336b5beb9655b168462042dcc5ea74ed11634f372339d33c8a5316a41fe83cc38c062c26a6c5ac1215e29be3d27fadacd0940c56bb9be52c8aac6e11f0ffd8b3
data/CHANGELOG.md CHANGED
@@ -1,5 +1,15 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.0.8 - 2026-05-24
4
+
5
+ - Fixed book-review inline CSS typos and contained floated cover figures within the article flow.
6
+
7
+ ## 1.0.7 - 2026-02-18
8
+
9
+ - Fixed Tocbot active indicator color to use al-folio theme color instead of Tocbot default green.
10
+ - Removed extra custom list rail styling from sidebar TOC to avoid duplicated/misaligned ridges.
11
+ - Added frontmatter-driven TOC collapse controls via `toc.collapse` (`expanded` or `auto`) and optional `toc.collapse_depth`.
12
+
3
13
  ## 1.0.6 - 2026-02-18
4
14
 
5
15
  - Removed unnecessary navbar menu cross-axis alignment to keep the theme toggle vertically aligned with adjacent controls.
data/README.md CHANGED
@@ -1,30 +1,39 @@
1
- # Al-Folio Core
1
+ # al-folio-core
2
2
 
3
- Core runtime/theme gem for al-folio v1.x.
3
+ `al_folio_core` is the core runtime/theme gem for `al-folio` v1.x.
4
4
 
5
5
  ## Responsibilities
6
6
 
7
- - Validate v1 config contract (`al_folio.api_version`, Tailwind and Distill runtime keys)
7
+ - Validate v1 config contract (`al_folio.api_version`, Tailwind/Distill runtime keys)
8
8
  - Emit migration warnings for legacy Bootstrap-marked content when compat mode is off
9
- - Provide shared theme layout/includes/runtime for starter sites
10
- - Delegate CV and Distill rendering to `al_folio_cv` and `al_folio_distill`
11
- - Delegate cookie consent runtime to `al_cookie`
12
- - Delegate icon runtime to `al_icons`
13
- - Delegate search runtime payload to `al_search`
9
+ - Provide shared layouts/includes/runtime primitives for starter sites
14
10
  - Provide built-in utility tags/filters (`details`, `file_exists`, `hideCustomBibtex`, `remove_accents`)
15
11
  - Ship migration manifests consumed by `al_folio_upgrade`
16
12
  - Exclude legacy Bootstrap/MDB and plugin-owned duplicate runtime assets
17
13
 
18
- ## Migration manifests
14
+ ## Delegated features
19
15
 
20
- Version manifests live under `migrations/` and are packaged with the gem.
16
+ `al_folio_core` delegates feature ownership to focused plugins:
21
17
 
22
- ## Theme usage
18
+ - `al_folio_distill` for Distill layouts/runtime
19
+ - `al_folio_cv` for CV rendering
20
+ - `al_cookie` for cookie consent
21
+ - `al_icons` for icon runtime
22
+ - `al_search` for search runtime payload
23
23
 
24
- Use the gem as a Jekyll theme in starter sites:
24
+ ## Theme usage
25
25
 
26
26
  ```yaml
27
27
  theme: al_folio_core
28
28
  plugins:
29
29
  - al_folio_core
30
30
  ```
31
+
32
+ ## Ecosystem context
33
+
34
+ - Starter/orchestration and visual integration tests live in `al-folio`.
35
+ - Component-level correctness tests belong in owning plugin repos.
36
+
37
+ ## Contributing
38
+
39
+ Core runtime/layout contracts belong here. Feature-specific behavior should be routed to the owning plugin repository.
@@ -167,6 +167,9 @@ layout: default
167
167
  </div>
168
168
 
169
169
  <style>
170
+ .post article {
171
+ display: flow-root;
172
+ }
170
173
  figure {
171
174
  float: none;
172
175
  width: auto;
@@ -217,7 +220,7 @@ layout: default
217
220
  figure {
218
221
 
219
222
  float: right;
220
- display: in-line block; /* in-line block; */
223
+ display: inline-block; /* inline-block; */
221
224
  margin: 0px 0px 0px 0px; /* adjust as needed */
222
225
  padding: 0px 0px 0px 20px;
223
226
  /* top right bottom left */
@@ -242,7 +245,7 @@ layout: default
242
245
  blockquote {
243
246
 
244
247
  position: relative;
245
- marign: 0px;
248
+ margin: 0px;
246
249
  display: table;
247
250
 
248
251
  }
@@ -23,20 +23,34 @@
23
23
  <!-- Content -->
24
24
  <div class="container mt-5" role="main">
25
25
  {% if page.toc and page.toc.sidebar %}
26
+ {% assign toc_collapse = page.toc.collapse | default: 'expanded' %}
27
+ {% assign toc_collapse_depth = page.toc.collapse_depth | default: '' %}
26
28
  {% if page.toc.sidebar == 'right' %}
27
29
  <div class="row">
28
30
  <!-- main content area -->
29
31
  <div class="col-sm-9">{{ content }}</div>
30
32
  <!-- sidebar, which will move to the top on a small screen -->
31
33
  <div class="col-sm-3">
32
- <nav id="toc-sidebar" class="sticky-top toc toc-sidebar" aria-label="Table of contents"></nav>
34
+ <nav
35
+ id="toc-sidebar"
36
+ class="sticky-top toc toc-sidebar"
37
+ aria-label="Table of contents"
38
+ data-toc-collapse="{{ toc_collapse }}"
39
+ data-toc-collapse-depth="{{ toc_collapse_depth }}"
40
+ ></nav>
33
41
  </div>
34
42
  </div>
35
43
  {% else %}
36
44
  <div class="row">
37
45
  <!-- sidebar, which will move to the top on a small screen -->
38
46
  <div class="col-sm-3">
39
- <nav id="toc-sidebar" class="sticky-top toc toc-sidebar" aria-label="Table of contents"></nav>
47
+ <nav
48
+ id="toc-sidebar"
49
+ class="sticky-top toc toc-sidebar"
50
+ aria-label="Table of contents"
51
+ data-toc-collapse="{{ toc_collapse }}"
52
+ data-toc-collapse-depth="{{ toc_collapse_depth }}"
53
+ ></nav>
40
54
  </div>
41
55
  <!-- main content area -->
42
56
  <div class="col-sm-9">{{ content }}</div>
@@ -293,20 +293,20 @@ table[data-toggle="table"].af-table-enhanced tbody tr.af-row-selected {
293
293
  }
294
294
 
295
295
  .toc-list {
296
- border-left: 1px solid color-mix(in srgb, var(--global-divider-color) 80%, transparent);
297
296
  list-style: none;
298
- margin: 0.1rem 0;
297
+ margin: 0;
299
298
  padding-left: 0.8rem;
300
299
  }
301
300
 
302
301
  .toc-list .toc-list {
303
302
  margin-top: 0.12rem;
304
- margin-left: 0.4rem;
303
+ margin-left: 0;
305
304
  }
306
305
 
307
306
  .toc-link {
308
307
  color: var(--global-text-color);
309
308
  display: block;
309
+ position: relative;
310
310
  font-size: 0.8rem;
311
311
  line-height: 1.4;
312
312
  margin: 0;
@@ -316,10 +316,18 @@ table[data-toggle="table"].af-table-enhanced tbody tr.af-row-selected {
316
316
  font-weight 0.2s ease;
317
317
  transform: none;
318
318
 
319
+ &::before {
320
+ background-color: color-mix(in srgb, var(--global-divider-color) 80%, transparent) !important;
321
+ }
322
+
319
323
  &:hover {
320
324
  color: var(--global-hover-color);
321
325
  text-decoration: none;
322
326
  transform: none;
327
+
328
+ &::before {
329
+ background-color: var(--global-hover-color) !important;
330
+ }
323
331
  }
324
332
  }
325
333
 
@@ -328,8 +336,16 @@ table[data-toggle="table"].af-table-enhanced tbody tr.af-row-selected {
328
336
  font-weight: 600;
329
337
  transform: none;
330
338
 
339
+ &::before {
340
+ background-color: var(--global-theme-color) !important;
341
+ }
342
+
331
343
  &:hover {
332
344
  color: var(--global-hover-color);
345
+
346
+ &::before {
347
+ background-color: var(--global-hover-color) !important;
348
+ }
333
349
  }
334
350
  }
335
351
  }
data/assets/js/common.js CHANGED
@@ -85,6 +85,21 @@ document.addEventListener("DOMContentLoaded", () => {
85
85
  };
86
86
 
87
87
  if (tocSidebar) {
88
+ const resolveTocCollapseDepth = () => {
89
+ const explicitDepth = Number.parseInt(tocSidebar.dataset.tocCollapseDepth || "", 10);
90
+ if (!Number.isNaN(explicitDepth) && explicitDepth >= 0) {
91
+ return explicitDepth;
92
+ }
93
+
94
+ const collapseMode = (tocSidebar.dataset.tocCollapse || "expanded").toLowerCase();
95
+ if (["auto", "scroll", "true", "collapsed"].includes(collapseMode)) {
96
+ // Keep top-level entries visible and expand nested branches while scrolling.
97
+ return 3;
98
+ }
99
+
100
+ return 6;
101
+ };
102
+
88
103
  document.querySelectorAll(".publications h2").forEach((heading) => {
89
104
  heading.setAttribute("data-toc-skip", "");
90
105
  });
@@ -126,7 +141,7 @@ document.addEventListener("DOMContentLoaded", () => {
126
141
  headingSelector: "h2, h3",
127
142
  ignoreSelector: "[data-toc-skip]",
128
143
  hasInnerContainers: true,
129
- collapseDepth: 6,
144
+ collapseDepth: resolveTocCollapseDepth(),
130
145
  orderedList: false,
131
146
  activeLinkClass: "is-active-link",
132
147
  scrollSmooth: true,
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module AlFolioCore
4
- VERSION = "1.0.6"
4
+ VERSION = "1.0.8"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: al_folio_core
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.6
4
+ version: 1.0.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - al-folio maintainers