Photo Stream is a self hosted static website for your photos, with really goods loading performances, powered by Cecil.
Demo: https://photo-stream-demo.cecil.app (hosted by Netlify and fed by Unsplash).
- Responsives images & mobile friendly
- Files optimized and lazy loaded
- Rich content caption
- Image placeholder (low quality or dominant color)
- Keyboard navigation
- Direct download button
- Simple workflow: drag & drop and commit
PHP 8.1+ and Cecil 8.0+ are required.
First you should clone or download the Git repository, or run composer create-project cecil/photo-stream myproject
.
The repository come with a default version of cecil.phar
, so you can you use it immediately, or you can download the latest release throught the following command:
curl -LO https://cecil.app/cecil.phar
Just drop image files in the static/photos
directory.
For each photo you can add a title, an alternative text and the author name/URL, through the data/photos.yaml
file:
<file basename>: # without file extension
title: <photo title>
alt: <alternative text>
author:
name: <author name>
url: <author URL>
You can define gallery title, baseurl, author, colors, thumbnails size, sort, etc. by editing config.yml
file:
photo:
style:
color:
background: black
text: white
img:
height: 300px
margin: 2px
sort: asc
size:
thumbnail: 640
full: 1920
placeholder: image # image, color or false
You can double-click on the command shortcut:
- preview.command on macOS
- preview.cmd on Windows
Or run the following command in your terminal:
php cecil.phar serve -v --open
You can easily localize Photo Stream in your language.
config.yml
:
language: <language_code> # e.g.: fr
languages:
- code: <language_code>
locale: <locale_code> # e.g.: fr_FR
In the translations
directory, copy translations.en.yaml
to translations.<language_code>.yaml
then translate each key.
First build the website:
php cecil.phar build -v
Then copy generated files in _site
to your Web server.
Or use a provider:
Photo Stream is a free software distributed under the terms of the MIT license.
PhotoSwipe is under the terms of the MIT license.
Photos from the demo are under the Unsplash license.