Add -default-view to choose timeline or grid as the site root
The view named by -default-view (timeline, the default, or grid) is published at the site root; the other is served under /timeline/ or /grid/. viewBase and pageURL derive every page path, pager link and the Timeline<->Grid cross-link from the single setting, and Build removes both timeline/ and grid/ on each run so flipping the default never leaves a stale root behind. Reimplemented on trunk (which has albums and the /manage feature) rather than cherry-picked, since the original was written against an earlier base. Credit for the edit/delete and default-view ideas goes to Santhosh Raju, now noted in a README Contributors section. - main.go: -default-view flag, validated (fatal on anything but timeline/grid) - module.nix: services.photogallery.defaultView enum option - templates: timeline/grid/day/album/albums cross-links use TimelineURL/GridURL - tests: timeline-root, grid-root, and switch-cleanup
This commit is contained in:
1 parent
a7f2afc3ad
commit
8fa1aa4cd4
13 files changed
+209
-56
No files matched your search
@@ -82,6 +82,12 @@ in {
|
||||
description = "Photos per page on the timeline and grid views. The timeline packs whole days, so pages vary slightly around this.";
|
||||
};
|
||||
|
||||
defaultView = lib.mkOption {
|
||||
type = lib.types.enum [ "timeline" "grid" ];
|
||||
default = "timeline";
|
||||
description = "View published at the site root; the other is published under /timeline/ or /grid/.";
|
||||
};
|
||||
|
||||
htpasswdFile = lib.mkOption {
|
||||
type = lib.types.nullOr lib.types.path;
|
||||
default = null;
|
||||
@@ -156,6 +162,7 @@ in {
|
||||
"--serif-family" cfg.serifFamily
|
||||
"--ml-family" cfg.mlFamily
|
||||
"--page-size" (toString cfg.pageSize)
|
||||
"--default-view" cfg.defaultView
|
||||
] ++ lib.optionals (cfg.htpasswdFile != null) [
|
||||
# %d is systemd's credentials directory; LoadCredential below drops
|
||||
# the htpasswd file there, readable only by this service.
|
||||
|
||||
Reference in new issue
Block a user