al_folio_core 1.0.7 → 1.0.9

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: 06bef68d94bb7ef7fd6665e4aff60909a804ac2f039403dc23af465670735e0b
4
- data.tar.gz: 4d2d13406b2bdb4e814d5a0b2a07762219e55767f04d4400b5adc2d2d1c9b1ec
3
+ metadata.gz: 5a890df9d8920810e72be518e297d79dd6fd9eb3633fd2e3166b9e42e2a3967d
4
+ data.tar.gz: e87ab9e0274093acffed3226700338c238e327eafefb5a47487a6c546cd9c592
5
5
  SHA512:
6
- metadata.gz: 9be84a54e9353e24a74b0d9618d59d0a6460f216e963694a752ae24b6e10c757e801ee09a86b7885c5d93758e8d12801a1d2513ddbc60a5f6fdec05aba67a887
7
- data.tar.gz: 2b46a326939e4a12be6ec180cd36756d00bb26ba6e39f4b181a5da73dc38adc1522afae501382a65dd633aece00dc0194d7dba693ad5f33407f5f35a6f7e7949
6
+ metadata.gz: a21e4f30ca2feebb5ac90e921cf4cd2266c1a27b165c602f8ecd1f3c9f75c108c8ff7e0583d3d9c5bade4dd166795c0621b7918aa57f2a7dcd18c89013ab29b6
7
+ data.tar.gz: e87c66bae691e362365233b5138351304392405c3ee20b696f45e4107ad0a506da685ab09e66b9e93b535edd1999dc474dfb0ef516011273fa74754ec98ec110
data/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.0.9 - 2026-05-24
4
+
5
+ - Retried interrupted `jekyll-minifier` file writes so Jupyter notebook conversion does not fail builds with transient `Errno::EINTR`.
6
+
7
+ ## 1.0.8 - 2026-05-24
8
+
9
+ - Fixed book-review inline CSS typos and contained floated cover figures within the article flow.
10
+
3
11
  ## 1.0.7 - 2026-02-18
4
12
 
5
13
  - Fixed Tocbot active indicator color to use al-folio theme color instead of Tocbot default green.
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
  }
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module AlFolioCore
4
- VERSION = "1.0.7"
4
+ VERSION = "1.0.9"
5
5
  end
data/lib/al_folio_core.rb CHANGED
@@ -132,6 +132,21 @@ module AlFolioCore
132
132
  end
133
133
  end
134
134
 
135
+ module JekyllMinifierEintrRetry
136
+ def output_file(dest, content)
137
+ attempts = 0
138
+
139
+ begin
140
+ super
141
+ rescue Errno::EINTR
142
+ attempts += 1
143
+ retry if attempts < 4
144
+
145
+ raise
146
+ end
147
+ end
148
+ end
149
+
135
150
  module_function
136
151
 
137
152
  def compat_enabled?(site)
@@ -209,6 +224,16 @@ module AlFolioCore
209
224
  cache_digester.prepend(JekyllCacheBustThemeFallback)
210
225
  end
211
226
 
227
+ def patch_jekyll_minifier_for_notebook_output!
228
+ return unless defined?(Jekyll::Compressor)
229
+
230
+ [Jekyll::Document, Jekyll::Page, Jekyll::StaticFile].each do |klass|
231
+ next if klass.ancestors.include?(JekyllMinifierEintrRetry)
232
+
233
+ klass.prepend(JekyllMinifierEintrRetry)
234
+ end
235
+ end
236
+
212
237
  def jupyter_plugin_enabled?(site)
213
238
  Array(site.config["plugins"]).map(&:to_s).include?("jekyll-jupyter-notebook")
214
239
  end
@@ -247,6 +272,7 @@ end
247
272
 
248
273
  AlFolioCore.patch_jekyll_terser_for_theme_assets!
249
274
  AlFolioCore.patch_jekyll_cache_bust_for_theme_assets!
275
+ AlFolioCore.patch_jekyll_minifier_for_notebook_output!
250
276
  Liquid::Template.register_tag("details", AlFolioCore::Tags::DetailsTag)
251
277
  Liquid::Template.register_tag("file_exists", AlFolioCore::Tags::FileExistsTag)
252
278
  Liquid::Template.register_filter(AlFolioCore::Filters::HideCustomBibtex)
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.7
4
+ version: 1.0.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - al-folio maintainers