galaxyproject / galaxyproject/training-material
Develop post-processing step to generate responsive images
- Dominant language
- HTML
- Stars
- 367
- Forks
- 1.1k
- Avg merge
- 16h 27m
- Merged PRs (30d)
- 49
Description
Mostly relevant for tutorials, but we have a lot of images, some of them quite large, that can eat up mobile bandwidth. We can significantly optimise this by using [responsive images](https://developer.mozilla.org/en-US/docs/Learn/HTML/Multimedia_and_embedding/Responsive_images) and having multiple versions of images based on the single source image, just re-sized for smaller width devices or so.
Each of those variant images could be generated and uploaded to the s3 bucket where we already are storing content. There are existing plugins for this:
- https://github.com/nhoizey/jekyll-cloudinary/ - requires a paid service
- https://github.com/trishume/enfasten - might work for us
- https://github.com/netlify/jekyll-srcset - requires netlify
maybe we can use or adapt one of those for the GTN's use.
**Goals:**
- don't re-build images if they don't need it.
- Work on output source (or hook into existing jekyll-figure plugin) so zero user-changes are needed
- optimise the images further? maybe webp conversion?
Contributor guide
Research direction
Start by reviewing the existing Jekyll output processing, the jekyll-figure plugin integration, and the S3 content-upload path mentioned in the issue. Compare the listed plugins and define how source images should produce and upload responsive variants without rebuilding unchanged images; done means the generated output uses those variants with no user changes.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- aws, jekyll
- Domain
- build-system, documentation
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100