cecil / photo-stream
Photo Stream is a self hosted static website for your photos, with really goods loading performances, powered by Cecil.
Fund package maintenance!
ArnaudLigny
Open Collective
Installs: 8
Dependents: 0
Suggesters: 0
Security: 0
Stars: 3
Watchers: 2
Forks: 0
Open Issues: 0
Language:JavaScript
Type:project
This package is auto-updated.
Last update: 2024-10-15 11:27:23 UTC
README
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).
Features
- 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
Install
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
Usage
Add photos
Just drop image files in the static/photos
directory.
Add details (optional)
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>
Configuration
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
Preview locally
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
Localize
You can easily localize Photo Stream in your language.
Add languages
config.yml
:
language: <language_code> # e.g.: fr languages: - code: <language_code> locale: <locale_code> # e.g.: fr_FR
Add translations
In the translations
directory, copy translations.en.yaml
to translations.<language_code>.yaml
then translate each key.
Deploy
First build the website:
php cecil.phar build -v
Then copy generated files in _site
to your Web server.
Or use a provider:
License
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.