From c75beda743dfd6af63f512e928d0889d9ead3973 Mon Sep 17 00:00:00 2001 From: Ken Date: Sat, 9 May 2026 04:41:03 +0000 Subject: =?UTF-8?q?Initial=20commit=20=E2=80=94=20Albumen=20photo=20album?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Ruby/Sinatra self-hosted photo album with directory hierarchy, per-photo captions and visibility, lightbox, slideshow, admin UI, and Let's Encrypt HTTPS via Apache reverse proxy on prouter. Co-Authored-By: Claude Sonnet 4.6 --- views/admin/album.erb | 101 ++++++++++++++++++++++++++++++++++++++++++++++++++ views/admin/login.erb | 14 +++++++ 2 files changed, 115 insertions(+) create mode 100644 views/admin/album.erb create mode 100644 views/admin/login.erb (limited to 'views/admin') diff --git a/views/admin/album.erb b/views/admin/album.erb new file mode 100644 index 0000000..f6b80d6 --- /dev/null +++ b/views/admin/album.erb @@ -0,0 +1,101 @@ +
+
+ <% if @rel.empty? %> + View Root + <% else %> + <% parent = @rel.include?('/') ? @rel.split('/')[0..-2].join('/') : '' %> + ← Parent + View Album + <% end %> +
+ +

Edit: <%= @title %>

+ +
+
+ Album +
+ +
+
+ +
+
+ + + + +
+
+ + <% unless @files.empty? %> +
+

Files

+ + + + + + + + + + + + <% @files.each do |name| %> + <% meta = (@data['files'] || {})[name] || {} %> + <% file_rel = @rel.empty? ? name : "#{@rel}/#{name}" %> + + + + + + + + <% end %> + +
ThumbFilenameTitleCaptionVisible
<%= name %> + + > +
+
+ <% end %> + +
+ +
+
+ + <% unless @sub_dirs.empty? %> +
+

Sub-albums

+
    + <% @sub_dirs.each do |name| %> + <% sub_rel = @rel.empty? ? name : "#{@rel}/#{name}" %> +
  • <%= name %>
  • + <% end %> +
+
+ <% end %> +
diff --git a/views/admin/login.erb b/views/admin/login.erb new file mode 100644 index 0000000..16f12d2 --- /dev/null +++ b/views/admin/login.erb @@ -0,0 +1,14 @@ + -- cgit v1.2.3