Transformer pack architecture #50

Open
opened 2026-03-11 15:56:47 +00:00 by scossu · 0 comments
Owner

Currently, only image transformations are supported for generating presentation files and thumbnails. Just this feature requires libvips with all related image format libraries. In order to have a more complete presentation, more transformers will be required, which will in turn bring in more dependencies. If LibreOffice or FFMpeg were added, the size of the dependencies would grow beyond any reasonable limit.

Some users may not even use the static site generator, so this would result in unnecessary bloat.

This ticket is to design a "transformer pack" architecture that allows to develop new transformers for the presentation, while keeping the core lightweight and decoupling it from media-specific dependencies. As a result of this, the current image transformer may move out of the core code base and the media-specific dependencies removed.

A possible solution is to create separate "transformer pack" repositories and rocks that are managed and installed independently, each with its OS-level and Lua dependencies.

Currently, only image transformations are supported for generating presentation files and thumbnails. Just this feature requires libvips with all related image format libraries. In order to have a more complete presentation, more transformers will be required, which will in turn bring in more dependencies. If LibreOffice or FFMpeg were added, the size of the dependencies would grow beyond any reasonable limit. Some users may not even use the static site generator, so this would result in unnecessary bloat. This ticket is to design a "transformer pack" architecture that allows to develop new transformers for the presentation, while keeping the core lightweight and decoupling it from media-specific dependencies. As a result of this, the current image transformer may move out of the core code base and the media-specific dependencies removed. A possible solution is to create separate "transformer pack" repositories and rocks that are managed and installed independently, each with its OS-level and Lua dependencies.
scossu added this to the v1.2.0 milestone 2026-03-11 15:57:26 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
ktx/pocket_archive#50
No description provided.