Commit Graph

68 Commits

Author SHA1 Message Date
lars 8cae6533d5 Replace Singularity with Docker; add production deployment setup
- Remove Singularity.def; add Dockerfile (python:3.11-slim + ImageMagick,
  non-root user, installs gallery package with dev extras)
- Add .dockerignore to keep image lean
- Rewrite .gitlab-ci.yml: build→test→publish stages using Docker-in-Docker;
  push per-commit SHA tag and promote to :latest on main
- Add docker-compose.yml: gallery-generator + nginx services sharing a
  named volume; configurable GENERATE_INTERVAL env var
- Add deploy/nginx.conf: gzip, security headers, correct caching policy
  (immutable for assets, no-store for HTML)
- Add deploy/entrypoint.sh: runs gallery generate on startup then loops
  on GENERATE_INTERVAL; exits cleanly when interval is 0

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-29 11:48:04 +02:00
lars 8e3b928bb0 Merge main into dev: bring dev up to date with restructured package
Resolves add/add conflicts in .gitignore, config.yaml, pyproject.toml and
content conflict in README.md — taking main's version in all cases, as it
reflects the complete package rewrite (gallery/ package, TUI, CI pipeline).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-29 11:45:45 +02:00
Kylian Schmidt 82bc60e33b Update README.md to make it feel less AI generated (it was) 2026-05-20 11:20:19 +02:00
Kylian Schmidt 31d33f4f41 Update README 2026-05-16 15:08:08 +02:00
Kylian Schmidt 04e5f79efc Fix wrong gitlab link in README.md 2026-05-15 09:09:50 +02:00
Kylian Schmidt 3c399d5733 Add fallback if ImageMagick is not available 2026-05-15 09:07:48 +02:00
Kylian Schmidt 73916268a2 Improve layout for adding sources 2026-05-08 16:32:28 +02:00
Kylian Schmidt ace9646a25 Fix alignment of text 2026-05-08 16:03:52 +02:00
Kylian Schmidt 018398a97b feat: add quit button 2026-05-08 15:53:48 +02:00
Kylian Schmidt 19fc15abb4 feat: add Gallery TUI for interactive configuration and generation
- Implemented a terminal user interface (TUI) for configuring the gallery generator using Textual.
- Included functionality to manage sources with add/remove
- Integrated a log pane to display generation output from subprocess calls.
- Implemented save functionality to persist configuration changes.
2026-05-08 15:47:02 +02:00
Kylian Schmidt 17acd478d3 Add argcomplete support 2026-05-08 14:42:01 +02:00
Kylian Schmidt 63e4af0f9f Refactor: reorganize configuration management and add default config file 2026-05-08 14:05:40 +02:00
Kylian Schmidt 6978a1b768 Remove legacy generate_gallery.py script. Good night, sweet prince 2026-05-08 13:34:05 +02:00
Kylian Schmidt 25b564e085 move stats box to top right 2026-05-08 13:22:14 +02:00
Kylian Schmidt afd04324bc Unlink assets and put everything into the gallery folder 2026-05-08 13:05:39 +02:00
Kylian Schmidt 6738c4ca69 Refactor: Remove obsolete JavaScript managers and utilities
- Deleted NavigationManager, RecentPlotsManager, SearchManager, SortManager, StatsManager, ThemeManager, Utils, and ViewManager classes.
- Updated gallery builder to improve asset copying logic with a more efficient modification time check.
- Cleaned up gallery HTML template by removing subdirectory listing and embedding gallery data as JSON.
- Added CLAUDE.md for project documentation and guidelines.
2026-05-06 08:34:40 +02:00
Kylian Schmidt 6f0cf4521b Add support for incremental updates in gallery generation
- Introduced `source_to_update` parameter to selectively regenerate specific sources.
- Updated documentation to reflect new behavior for `clean_first` and `source_to_update`.
- Modified CLI and legacy CLI to handle source overrides appropriately.
2026-04-23 13:09:26 +02:00
Kylian Schmidt a30149e5da Fix template argument order in build_gallery calls 2026-04-23 12:56:59 +02:00
Kylian Schmidt e044b4ce60 Fix old DEBUG statement 2026-04-22 15:10:26 +02:00
Kylian Schmidt bec86d0f07 Fix tests 2026-04-22 14:42:25 +02:00
Kylian Schmidt 27ea17246c Convert to proper python package 2026-04-22 13:48:23 +02:00
Kylian Schmidt 7e36688d1d Add override for new directory from the CLI 2026-04-22 13:16:08 +02:00
Kylian Schmidt 45214be41e move processing to dedicated file 2026-04-22 13:08:47 +02:00
Kylian Schmidt a8f2166dde Add support for html plots 2025-09-26 12:59:49 +02:00
Kylian Schmidt 041c761df0 Fix missing top-level tree index.html. Clean up duplicates in main script 2025-09-26 08:53:37 +02:00
Kylian Schmidt 425685874a Fix tests 2025-09-09 14:32:52 +02:00
Kylian Schmidt 4352d26a7b Add even more tests 2025-09-09 14:00:37 +02:00
Kylian Schmidt ded4eca0bf Add LICENSE 2025-09-09 13:44:56 +02:00
Kylian Schmidt 947b525490 Add coverage to README 2025-09-09 13:42:21 +02:00
Kylian Schmidt 375fe36902 Fix pipeline attempt (6): Backup 2025-09-08 15:59:43 +02:00
Kylian Schmidt 620db78ee7 Fix pipeline attempt (5): Fix naming in tests 2025-09-08 15:56:37 +02:00
Kylian Schmidt 412f5927fb Fix pipeline attempt (4): Add new apptainer gitlab runner 2025-09-08 15:49:09 +02:00
Kylian Schmidt 30389ccb92 Fix pipeline attempt (3): Fakeroot but with the correct docker image 2025-09-08 15:12:30 +02:00
Kylian Schmidt d9c5629127 Fix pipeline attempt (2): Fakeroot 2025-09-08 15:06:45 +02:00
Kylian Schmidt fe5a7e6815 Fix pipeline attempt (1) 2025-09-08 14:52:21 +02:00
Kylian Schmidt 802fee1337 Add pytest and gitlab-ci for container 2025-09-08 14:47:38 +02:00
Kylian Schmidt 9e59d06796 Clean up unittest attempt. 2025-09-08 12:53:16 +02:00
Kylian Schmidt 657b273975 [WIP] Add tests and coverage 2025-09-08 10:52:58 +02:00
Kylian Schmidt be99b3e601 Add apptainer container. Clean up repo 2025-09-08 09:44:49 +02:00
Kylian Schmidt 0a345a0f22 Fix UI. Reduce excessive spacing between plot grid and subdirectories
- Reduce plot-container margin-bottom from 450px to 2rem in view-controls.css
- Reduce body padding-bottom from 400px to 2rem in base.css
- Fix unnecessary spacing since stats box uses fixed positioning
- Enhance logger with professional tree-structured output and colors
- Replace print statements with structured logging throughout codebase
2025-08-07 16:00:18 +02:00
Kylian Schmidt eb770428b9 Add proper logging 2025-08-01 13:50:20 +02:00
Kylian Schmidt b6a37fb93f Add nice README 2025-07-31 16:39:59 +02:00
Kylian Schmidt 687f8c4533 Merge branch 'dev' into 'main'
Version 0.1.0

See merge request kschmidt/web!1
2025-07-31 15:27:34 +02:00
Kylian Schmidt d111c5e8ee Version 0.1.0 2025-07-31 15:27:34 +02:00
Kylian Schmidt 752cee2d06 Fix metadata lists being shown in a single line 2025-07-29 16:13:09 +02:00
Kylian Schmidt c6882b2a48 Fix metadata display not wrapping long lines. Add LaTeX support 2025-07-29 14:05:22 +02:00
Kylian Schmidt fc4928fef1 Add the metadata file path for easy copy+paste 2025-07-29 11:18:03 +02:00
Kylian Schmidt bcb083bbb9 Add an expandable metadata grid 2025-07-29 10:31:35 +02:00
Kylian Schmidt f3adbe49fa Added so much stuff I cant keep up. I think some sorting capability and a way to add metadata to each folder (WIP) 2025-07-29 09:38:28 +02:00
Kylian Schmidt 3e2aaa4be8 Add toggle for grid, list and compact list views 2025-07-22 13:19:53 +02:00