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 +4 -4
- data/CHANGELOG.md +10 -0
- data/README.md +21 -12
- data/_layouts/book-review.liquid +5 -2
- data/_layouts/default.liquid +16 -2
- data/_sass/_utilities.scss +19 -3
- data/assets/js/common.js +16 -1
- data/lib/al_folio_core/version.rb +1 -1
- 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: e7397da7deb8e846758d474286e7c0791622138fa84e00ae6050e78a991142e8
|
|
4
|
+
data.tar.gz: d80fe0d17deec7a309623b10e7c78b3bae3d5f6979aca16be74f02d08af6c9ef
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
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
|
-
#
|
|
1
|
+
# al-folio-core
|
|
2
2
|
|
|
3
|
-
|
|
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
|
|
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
|
|
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
|
-
##
|
|
14
|
+
## Delegated features
|
|
19
15
|
|
|
20
|
-
|
|
16
|
+
`al_folio_core` delegates feature ownership to focused plugins:
|
|
21
17
|
|
|
22
|
-
|
|
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
|
-
|
|
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.
|
data/_layouts/book-review.liquid
CHANGED
|
@@ -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:
|
|
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
|
-
|
|
248
|
+
margin: 0px;
|
|
246
249
|
display: table;
|
|
247
250
|
|
|
248
251
|
}
|
data/_layouts/default.liquid
CHANGED
|
@@ -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
|
|
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
|
|
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>
|
data/_sass/_utilities.scss
CHANGED
|
@@ -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
|
|
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
|
|
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:
|
|
144
|
+
collapseDepth: resolveTocCollapseDepth(),
|
|
130
145
|
orderedList: false,
|
|
131
146
|
activeLinkClass: "is-active-link",
|
|
132
147
|
scrollSmooth: true,
|