Skip to content

waynezhang/foto

Repository files navigation

foto-cover

foto

Yet another another publishing tool for minimalist photographers.

Demo site: https://foto.lhzhang.com

Features

  • Simple One binary, three commands. No database required.
  • Customizable Highly customizable through configuration and template files.
  • Fast Files 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.