ultimate-jekyll-manager 0.0.294 → 0.0.296
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.
- package/CLAUDE.md +43 -0
- package/dist/assets/js/libs/form-manager.js +8 -0
- package/dist/commands/blogify.js +1 -1
- package/package.json +5 -5
package/CLAUDE.md
CHANGED
|
@@ -407,6 +407,48 @@ asset_path: blog/post
|
|
|
407
407
|
|
|
408
408
|
Uses `/assets/css/pages/{{ asset_path }}.bundle.css` instead of deriving from `page.canonical.path`. Useful when multiple pages share assets (e.g., all blog posts).
|
|
409
409
|
|
|
410
|
+
## Blog Post Images
|
|
411
|
+
|
|
412
|
+
### Inline Images with `@post/` Shortcut
|
|
413
|
+
|
|
414
|
+
Blog posts use standard markdown syntax for inline images. The `@post/` prefix provides a shortcut to reference images in the post's own image directory:
|
|
415
|
+
|
|
416
|
+
```markdown
|
|
417
|
+

|
|
418
|
+
```
|
|
419
|
+
|
|
420
|
+
This resolves at build time to `/assets/images/blog/post-{id}/my-image.jpg`, where `{id}` comes from the post's `post.id` frontmatter value.
|
|
421
|
+
|
|
422
|
+
**All image types work:**
|
|
423
|
+
|
|
424
|
+
| Syntax | Result |
|
|
425
|
+
|--------|--------|
|
|
426
|
+
| `` | Local post image (shortcut) |
|
|
427
|
+
| `` | Absolute path (any image) |
|
|
428
|
+
| `` | External URL |
|
|
429
|
+
|
|
430
|
+
**How it works:** The `markdown-images.rb` hook in `jekyll-uj-powertools` intercepts `` patterns during `pre_render`, resolves `@post/` prefixes, then converts each image to a responsive `<picture>` element with WebP sources and lazy loading via `{% uj_image %}`.
|
|
431
|
+
|
|
432
|
+
**Image directory structure:** Images for post ID `42` live at `src/assets/images/blog/post-42/`.
|
|
433
|
+
|
|
434
|
+
**Image class customization:** Set via frontmatter:
|
|
435
|
+
```yaml
|
|
436
|
+
---
|
|
437
|
+
theme:
|
|
438
|
+
post:
|
|
439
|
+
image:
|
|
440
|
+
class: "img-fluid rounded-3 shadow my-5"
|
|
441
|
+
---
|
|
442
|
+
```
|
|
443
|
+
|
|
444
|
+
### BEM `admin/post` Image Handling
|
|
445
|
+
|
|
446
|
+
When posts are created via BEM's `POST /admin/post` endpoint:
|
|
447
|
+
1. External image URLs in the markdown body (e.g., Unsplash) are downloaded
|
|
448
|
+
2. Images are uploaded to `src/assets/images/blog/post-{id}/` on GitHub
|
|
449
|
+
3. The body is rewritten to use `@post/{filename}` format
|
|
450
|
+
4. Failed downloads are skipped (original external URL preserved)
|
|
451
|
+
|
|
410
452
|
## Icon System
|
|
411
453
|
|
|
412
454
|
Ultimate Jekyll uses Font Awesome icons but does NOT include the Font Awesome JavaScript or CSS library. All icons must be rendered server-side using Jekyll's `{% uj_icon %}` tag.
|
|
@@ -992,6 +1034,7 @@ When the form transitions to `ready` state, FormManager automatically focuses th
|
|
|
992
1034
|
| `getInputGroup()` | Get current input group filter |
|
|
993
1035
|
| `showSuccess(msg)` | Show success notification |
|
|
994
1036
|
| `showError(msg)` | Show error notification |
|
|
1037
|
+
| `submit()` | Programmatically trigger form submission (fires native submit event) |
|
|
995
1038
|
| `reset()` | Reset form and go to ready state |
|
|
996
1039
|
| `isDirty()` | Check if form has unsaved changes |
|
|
997
1040
|
| `setDirty(bool)` | Set dirty state |
|
|
@@ -946,6 +946,14 @@ export class FormManager {
|
|
|
946
946
|
this._setState('ready');
|
|
947
947
|
}
|
|
948
948
|
|
|
949
|
+
/**
|
|
950
|
+
* Programmatically trigger form submission
|
|
951
|
+
* Fires the native submit event so FormManager's _handleSubmit() processes it
|
|
952
|
+
*/
|
|
953
|
+
submit() {
|
|
954
|
+
this.$form.requestSubmit();
|
|
955
|
+
}
|
|
956
|
+
|
|
949
957
|
/**
|
|
950
958
|
* Check if form has unsaved changes
|
|
951
959
|
*/
|
package/dist/commands/blogify.js
CHANGED
|
@@ -231,7 +231,7 @@ function generateBlogContent(images) {
|
|
|
231
231
|
// Add local image every other section if we have images left
|
|
232
232
|
if (i % 2 === 1 && imageIndex < contentImages.length) {
|
|
233
233
|
const image = contentImages[imageIndex];
|
|
234
|
-
content += `})\n\n`;
|
|
235
235
|
imageIndex++;
|
|
236
236
|
}
|
|
237
237
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ultimate-jekyll-manager",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.296",
|
|
4
4
|
"description": "Ultimate Jekyll dependency manager",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"exports": {
|
|
@@ -71,13 +71,13 @@
|
|
|
71
71
|
"@popperjs/core": "^2.11.8",
|
|
72
72
|
"@prettier/plugin-xml": "^3.4.2",
|
|
73
73
|
"adm-zip": "^0.5.16",
|
|
74
|
-
"babel-loader": "^10.1.
|
|
74
|
+
"babel-loader": "^10.1.1",
|
|
75
75
|
"browser-sync": "^3.0.4",
|
|
76
76
|
"chalk": "^5.6.2",
|
|
77
77
|
"cheerio": "^1.2.0",
|
|
78
78
|
"chrome-launcher": "^1.2.1",
|
|
79
79
|
"dotenv": "^17.3.1",
|
|
80
|
-
"fast-xml-parser": "^5.
|
|
80
|
+
"fast-xml-parser": "^5.5.1",
|
|
81
81
|
"fs-jetpack": "^5.1.0",
|
|
82
82
|
"glob": "^13.0.6",
|
|
83
83
|
"gulp-clean-css": "^4.3.0",
|
|
@@ -98,10 +98,10 @@
|
|
|
98
98
|
"npm-api": "^1.0.1",
|
|
99
99
|
"postcss": "^8.5.8",
|
|
100
100
|
"prettier": "^3.8.1",
|
|
101
|
-
"sass": "^1.
|
|
101
|
+
"sass": "^1.98.0",
|
|
102
102
|
"spellchecker": "^3.7.1",
|
|
103
103
|
"through2": "^4.0.2",
|
|
104
|
-
"web-manager": "^4.1.
|
|
104
|
+
"web-manager": "^4.1.18",
|
|
105
105
|
"webpack": "^5.105.4",
|
|
106
106
|
"wonderful-fetch": "^1.3.4",
|
|
107
107
|
"wonderful-version": "^1.3.2",
|