Foto
Yet another publishing tool for minimalist photographers.
Install / Use
/learn @waynezhang/FotoREADME
foto
Yet another another publishing tool for minimalist photographers.
Demo site: https://foto.lhzhang.com
Features
SimpleOne binary, three commands. No database required.CustomizableHighly customizable through configuration and template files.FastFiles are processed concurrently for optimal performance.
Installation
macOS
$ brew tap waynezhang/tap
$ brew install foto
Or download the binary from here
Nix/NixOS
For Nix users, a Flake is provided. It can be used to run the application directly or add the package to your configuration as flake input.
It also allows you to try out foto without permanent installation.
nix run github:waynezhang/foto
Consult the Nix manual for details.
Other platforms
Download the binary from here
Usage
Create a new site
~ $ foto create my_site
~ $ tree my_site
my_site
├── assets
│ ├── icons
│ │ ├── home.svg
│ │ ├── instagram.svg
│ │ └── twitter.svg
│ └── style.css
├── foto.toml # Configuration file, see below for more details.
├── media
│ └── avatar.jpg # Placeholder image for avatar.
└── templates
└── template.html # Template file
Preview
~/my_site $ foto preview
Creating Preview...
Listening on 5000...
The default port number is 5000. It can be changed by -p flag.
Export
~/my_site $ foto export -o ~/site_docs
Exprorting sites to /Users/xxx/site_docs...
Clear cache
foto clear-cache
Customization
Basic configuration with foto.toml
See foto.toml
Style customization
Template and CSS styles can be modified without changing the foto binary.
The template file is located at templates/template.html.
You can also add additional settings in foto.toml (ref) and reference them in the template file.
foto uses the html/template package from Go. Please refer to this link for more information. Besides, EXIF information is supported. Refer to EXIF for all EXIF tags.
Changelogs
See CHANGELOG
LICENSE
See LICENSE
Credit
foto is highly inspired by moul.
Related Skills
node-connect
347.2kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
108.0kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
347.2kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
347.2kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
