feat: image processing pipeline (resize, WebP/AVIF)
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 25/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- csharp, html
- Lĩnh vực
- backend, performance
Hướng nghiên cứu
Start by reading the image resource handling and build pipeline; the issue does not name specific files or tests. Compare the listed imaging backends, then assess how the Liquid resource API, site-level configuration, generated-image cache, and release RIDs fit together. Done means the acceptance criteria pass, including a no-op second build and trimmed single-file releases for every published RID.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Current State
No image processing at all: page resources and static/ files are copied byte-for-byte. Themes cannot resize,
crop or convert images, and there is no automatic compression.
Tasks
- Pick the imaging backend and flag its cost (NetVips/libvips: AVIF+WebP, native binaries per RID; SkiaSharp:
WebP, no AVIF encoder; ImageSharp: managed, no AVIF, split license) - Liquid API on resources:
resize,fit,fill,crop,format(webp/avif/png/jpg),quality - Site-level
Images:config that converts/compresses every page image automatically (opt-in) - Generate
srcsetvariants and a<picture>partial/render hook - Content-hash cache in
resources/_gen(or similar) so unchanged images are not reprocessed - Read EXIF orientation; strip metadata by default
Acceptance Criteria
-
{{ page.Resources | ... | resize: '800x' | format: 'webp' }}emits the processed file and its URL - A second build with no image changes reprocesses nothing
- Works in the trimmed single-file release binaries for every published RID
Related
- Hugo image processing: https://gohugo.io/content-management/image-processing/
- Migrated from https://gitlab.com/sucos/sucos/-/issues/26
- Depends on #34
- Ngôn ngữ chính
- C#
- Star
- 1
- Fork
- 0
- Merge trung bình
- 10 giờ 23 phút
- Pull request đã merge (30 ngày)
- 4
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Không có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của MASS4ORG/Fanstatic
-
c:templates p:low size:S t:task
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 45/100
-
c:content good first issue p:low size:S t:feature
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 58/100
-
c:templates p:medium size:M t:feature
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 35/100
-
c:content p:medium size:L t:feature
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 35/100
-
c:templates p:medium size:S t:feature
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 57/100
Tất cả issue của MASS4ORG/Fanstatic
Issue tương tự
-
documentation good first issue
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
Maintainer thường phản hồi trong vòng 1 ngày
-
[Bug]: Edit Bar buttons are not localizedCó thể đã có người làm @idumlupinar đã nhận hôm nay. Đang mởStatus: New
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
dnnsoftware/Dnn.Platform#7565 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
AzureBlobSnapshotStore.LoadAsync allocates the snapshot twice (growable MemoryStream + ToArray)Đang mởenhancement
Độ khó 2/5 Nửa ngày Mức phù hợp với người mới 72/100
-
bug ui-only
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Maintainer thường phản hồi trong vòng 1 ngày
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
ClickHouse/clickhouse-cs#689 ·
Maintainer thường phản hồi trong vòng 2 ngày