diff options
| author | Ralph Amissah <ralph.amissah@gmail.com> | 2026-09-21 09:35:37 -0400 |
|---|---|---|
| committer | Ralph Amissah <ralph.amissah@gmail.com> | 2026-09-22 13:48:19 -0400 |
| commit | 4c766a8455d05bdf6a9793946f7839a01f179b65 (patch) | |
| tree | 487d35a29c6bf1004019acd7421a0569fa67fd91 /src/sisudoc/ocda/io_in/paths_source.d | |
| parent | pod: read when zstd-wrapped (diff) | |
pod: write <doc>.sisupod (single zstd frame)
The pod archive spine writes is now named .sisupod and carries the
same archive inside one zstd frame. The reader has accepted both
since the previous commit, so every pod already published stays
readable and this changes only what is written.
free_culture 2863504 -> 1100180
live-manual 6972418 -> 692942 10.06x
The wrap is at the pod call site and not in createZipFile, which
also writes every epub and every odt.
Best compression from whole-stream (rather than per-member compression).
(for live-manual per-member deflate manages about 3x compared to 10x for
whole pod content compression).
The suffix is named as pod_archive_suffix.
--pod-compression sets the level, 19 by default: a pod is written once
and fetched many times (692942 bytes at 19, 837703 at 9, 2054365 at 1).
(A value that is not a number warns and the default is used).
Output built from a written .sisupod is byte identical to output built
from the markup it came from.
(assisted by Claude-Code)
Diffstat (limited to 'src/sisudoc/ocda/io_in/paths_source.d')
| -rw-r--r-- | src/sisudoc/ocda/io_in/paths_source.d | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/sisudoc/ocda/io_in/paths_source.d b/src/sisudoc/ocda/io_in/paths_source.d index 1a4b4da..c0f526a 100644 --- a/src/sisudoc/ocda/io_in/paths_source.d +++ b/src/sisudoc/ocda/io_in/paths_source.d @@ -644,8 +644,18 @@ template spinePathsSRC() { } +/+ ↓ the pod archive's suffix, named once. + Previously a literal named at 4 locations, inviting mishaps on renaming. + (missing one meant a link that goes nowhere). + . + A .sisupod is the same archive as before inside one zstd frame. The legacy + spelling is also kept because the reader accepts both: every pod already + published carries it. ++/ +enum string pod_archive_suffix = ".sisupod"; +enum string pod_archive_suffix_legacy = ".zip"; template spinePathsPods() { - string _suffix = ".zip"; + string _suffix = pod_archive_suffix; auto spinePathsPods(M)(M doc_matters) { string _base_dir_pod = (doc_matters.output_path.length > 0) ? doc_matters.output_path ~ "/pod" |
