foto

command module
v1.3.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 14, 2024 License: MIT Imports: 1 Imported by: 0

README

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.
  • Customizable Highly customizable by configuration and template files.
  • Fast Files are handled concurrently.

Install

macOS
$ brew tap waynezhang/tap
$ brew install foto

Or download the binary from here

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

Customize

Basic customize foto.toml
Click to expand
[site]
# The title of the site
title = "A new site"
# The name of the author
author = "Author Here"

# Site navigation links
# You can remove any navigation links or add more link by adding following lines
#     [[site.nav]]
#     icon = ""
#     link = ""
# Navigation links are added in the order encountered.

[[site.nav]]
icon = "assets/icons/home.svg"
link = "https://"

[[site.nav]]
icon = "assets/icons/instagram.svg"
link = "https://instagram.com/xxx"

[[site.nav]]
icon = "assets/icons/twitter.svg"
link = "https://twitter.com/xxx"

# Setttings for photo size
[image]
# Width for thumbnail images
thumbnailWidth = 640
# Width for enlarged images
originalWidth = 2048

# Layout for grids
[layout]
minColumn = 1
maxColumn = 4
minWidth = 200

# Photo sections
# You can remove or add more sections by adding following lines
#     [[section]]
#     title = "section title"
#     text = "section description (HTML supported)"
#     slug = "section-slug"
#     folder = "folder of photos"
#     ascending = false
# Photo sections are added in the order encountered.
[[section]]
title = "Section 1"
text = ""
slug = "section-1"
folder = "~/photos/section-1"
ascending = false

[[section]]
title = "Section 2"
text = ""
slug = "section-2"
folder = "~/photos/section-2"
ascending = false

# Other setings
[others]
# Folders that should be copied together when exporting sites
folders = [ "assets", "media" ]
# Show `Generated by foto` footer or not
show_foto_footer = true
Style customize

Template and CSS styles can be modified without chagning foto binary.

The template file is placed in templates/template.html.

It's also possible to add additional settings in foto.toml (ref) and refer it in template file. foto uses html/template package in Golang. Please refer to this link for more information.

Changelogs

See CHANGELOG

LICENSE

See LICENSE

Credit

foto is highly inspried by moul.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
internal
cmd

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL