- Lua 96.4%
- CSS 2.5%
- Shell 1.1%
|
|
||
|---|---|---|
| doc | First commit | |
| src | Added in world interface | |
| .gitignore | Updated gitignore | |
| LICENSE | First commit | |
| memoir | Started work on proper UI | |
| README.md | Improved image conversion | |
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:
- 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
- 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.
- 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
rsync3.2.7imagemagick6.9.11-60 Q16 x86_64 2021年01月25日ffmpeg4.4.2-0ubuntu0.22.04.1- Linux core binaries such as
rm,cpandmkdir
License
See the License file for license rights and limitations (MIT).