{"id":28801337,"url":"https://github.com/un1970ix/analogatique","last_synced_at":"2026-02-22T12:56:24.323Z","repository":{"id":299665504,"uuid":"1003641634","full_name":"un1970ix/analogatique","owner":"un1970ix","description":"web gallery for your photos","archived":false,"fork":false,"pushed_at":"2025-06-21T09:29:29.000Z","size":40,"stargazers_count":9,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-10-30T04:42:20.862Z","etag":null,"topics":["cli","dithering","gallery-generator","photos","rust","static-site-generator"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/un1970ix.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-06-17T12:58:09.000Z","updated_at":"2025-06-23T12:01:52.000Z","dependencies_parsed_at":"2025-10-30T04:30:54.944Z","dependency_job_id":"5ffddf20-c495-4ac8-b67b-82df3ada1d67","html_url":"https://github.com/un1970ix/analogatique","commit_stats":null,"previous_names":["un1970ix/analogatique"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/un1970ix/analogatique","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/un1970ix%2Fanalogatique","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/un1970ix%2Fanalogatique/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/un1970ix%2Fanalogatique/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/un1970ix%2Fanalogatique/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/un1970ix","download_url":"https://codeload.github.com/un1970ix/analogatique/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/un1970ix%2Fanalogatique/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29712289,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-22T10:34:24.778Z","status":"ssl_error","status_checked_at":"2026-02-22T10:32:23.200Z","response_time":110,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","dithering","gallery-generator","photos","rust","static-site-generator"],"created_at":"2025-06-18T07:09:14.099Z","updated_at":"2026-02-22T12:56:24.289Z","avatar_url":"https://github.com/un1970ix.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# analogatique · web gallery for your photos\n\nA beautiful static gallery generator (written in Rust 🦀) for anyone who wants to showcase their photos, whether film scans or digital images. It keeps the analog spirit with vintage aesthetics and Atkinson dithering while making it easy to create stunning web galleries.\n\n**🎞️ See it in action [here](https://films.un1970ix.com).**\n\n\u003e [!WARNING]\n\u003e This project is currently under development and may introduce breaking changes.\n\n## Quick Start\n\n1. Create a new directory for your gallery.\n\n```zsh\nmkdir films \u0026\u0026 cd films\n```\n\n2. Set up the required structure.\n\n```zsh\nanalogatique init\n```\n\n3. Update `config.toml` with your gallery details and preferences.\n\n4. Add your photos to the `photos/` directory.\n\n5. Create `metadata.txt` by writing one JSON line for each photo or use `analogatique extract-metadata` to extract metadata from your photos.\n\n```json\n{\"filename\": \"photo1.jpeg\", \"date\": \"15-06-2023\", \"name\": \"Sunset at the Beach\", \"camera\": \"Canon AE-1\", \"film\": \"FUJICOLOR C200\"}\n{\"filename\": \"photo2.jpeg\", \"date\": \"20-06-2023\", \"camera\": \"Polaroid SX-70\", \"film\": \"B\u0026W SX-70\"}\n```\n\n6. Generate your gallery:\n\n```zsh\nanalogatique generate\n```\n\nYour gallery will be created in the `public/` directory if you haven't changed the output directory.\n\n## Metadata Format\n\nEach line in `metadata.txt` should be a JSON object with these fields:\n\n| Field      | Description                                        | Required |\n| ---------- | -------------------------------------------------- | -------- |\n| `filename` | Name of the photo file.                            | Yes      |\n| `date`     | Date the photo was taken. (DD-MM-YYYY)             | Yes      |\n| `camera`   | Camera model used to take the photo.               | No       |\n| `film`     | Name of the film used for the photo.               | No       |\n| `lens`     | Lens used to capture the photo.                    | No       |\n| `location` | Place where the photo was taken.                   | No       |\n| `name`     | Custom title or name given to the photo.           | No       |\n| `notes`    | Additional information or remarks about the photo. | No       |\n\n## Supported Image Formats\n\n- JPEG (.jpg, .jpeg)\n- PNG (.png)\n- TIFF (.tif, .tiff)\n\n## Output Formats\n\n- Thumbnails: WebP (You can enable optional Atkinson dithering.)\n- Full Resolution: JPEG\n\n## Customization\n\n### Templates\n\nThe `templates/` directory contains:\n- `index.html`\n- `styles.css` files.\n\nThese use the [Tera](https://keats.github.io/tera/) templating engine. Customize them to match your style!\n\n## License\n\nThis project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.\n\n## Acknowledgments\n\n- I pay homage to Bill Atkinson for his Atkinson dithering algorithm and other work.\n- I sincerely thank the [Trippy](https://github.com/fujiapple852/trippy) team for their help with the release workflow. The current workflow is based on theirs.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fun1970ix%2Fanalogatique","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fun1970ix%2Fanalogatique","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fun1970ix%2Fanalogatique/lists"}