1
0
Fork
You've already forked memoir
0
A static photoalbum generator written in Lua.
  • Lua 96.4%
  • CSS 2.5%
  • Shell 1.1%
2026年07月13日 12:51:12 +02:00
doc First commit 2026年06月30日 14:16:02 +02:00
src Added in world interface 2026年07月13日 12:51:12 +02:00
.gitignore Updated gitignore 2026年06月30日 14:17:50 +02:00
LICENSE First commit 2026年06月30日 14:16:02 +02:00
memoir Started work on proper UI 2026年07月11日 12:24:34 +02:00
README.md Improved image conversion 2026年07月09日 16:48:43 +02:00

memoir logo

memoir

A static photo album generator written in Lua.

Glyphs

memoir albums utilize special glyphs to configure:

> navigation glyph to build menus ? root path glyph to set the root directory path for the albums images
~ date glyph sets a date for the album ! description glyph lets you set an album description used in various places

Examples

> index > Album Title
? /home/user/pictures/2026/260517_kopenhagen/
! Visiting friends in Copenhagen
~ 17.05.2026

Navigation Structure

You can build a navigation using the > glyph in your albums. > index will create an index.html. > index > albumChild will create an albumChild.html. It will contain a navigation at the top linking back to index.html > albumChild > albumGrandChild will create an albumGrandChild.html. It will contain a navigation at the top linking back to albumChild.html

You only need to add one parent, so your navigation never needs to contain more than two elements as shown above.

Multiple Languages

Sharing Albums

To keep memoir away from unwanted eyes it generates three variants for each album:

  1. Filename is the name of the album filename. This album contains the full navigation and is located in a password protected subdirectory using a .htaccess file
  2. Filename is randomly generated everytime the album is built. It resides in the root webdirectory and is openly accessible when someone knows the filename. It contains no navigation menu.
  3. Same as #2 but it contains navigation links to child albums.

To prevent crawlers from crawling the webroot, memoir generates a robots.txt file containing:

User-agent: *
Disallow: https://www.yourdomain.com/

TODOs

  • Add shortcut for setting custom image ratios
  • Proper documentation and README.MD
  • Generate htaccess and htpasswd files

Dependencies

  • Lua File System
  • David Kolf's JSON module for Lua 5.1/5.2
  • rsync 3.2.7
  • imagemagick 6.9.11-60 Q16 x86_64 2021年01月25日
  • ffmpeg 4.4.2-0ubuntu0.22.04.1
  • Linux core binaries such as rm, cp and mkdir

License

See the License file for license rights and limitations (MIT).