mirror of
https://github.com/thumbsup/thumbsup
synced 2024-11-17 15:25:50 +00:00
1608b3cfac
- now generate thumbs + large (original is too big for web download) - simpler build system
91 lines
2.0 KiB
Markdown
91 lines
2.0 KiB
Markdown
# thumbsup
|
|
|
|
Static HTML galleries from a list of photos & videos.
|
|
|
|
- creates thumbnails for fast previews
|
|
- only rebuilds changed files: it's fast!
|
|
- uses relative paths so you can deploy the pages anywhere
|
|
- works great with Amazon S3 for static hosting
|
|
|
|
![screenshot](https://raw.github.com/rprieto/thumbsup/master/screenshot.jpg)
|
|
|
|
## Requirements
|
|
|
|
- [Node.js](http://nodejs.org/): `brew install Node`
|
|
- [GraphicsMagick](http://www.graphicsmagick.org/): `brew install graphicsmagick`
|
|
- [FFmpeg](http://www.ffmpeg.org/): `brew install ffmpeg`
|
|
|
|
## Input
|
|
|
|
Any folder with photos and videos. `thumbsup` supports 1 level of subfolders, where they each become a gallery.
|
|
|
|
```
|
|
input
|
|
|
|
|
|__ paris
|
|
| |__ img001.jpg
|
|
| |__ img002.jpg
|
|
|
|
|
|__ sydney
|
|
|__ vid001.mp4
|
|
|__ img003.png
|
|
```
|
|
|
|
## Generating the galleries
|
|
|
|
```
|
|
thumbsup <args>
|
|
```
|
|
|
|
The following args are required:
|
|
|
|
- `--input <path>` path to the folder with photos / videos
|
|
- `--output <path>` target output folder
|
|
|
|
And you can optionally specify:
|
|
|
|
- `--thumb-size <pixels>` thumbnail image size (default 120)
|
|
- `--large-size <pixels>` fullscreen image size (default 1000)
|
|
|
|
For example:
|
|
|
|
```bash
|
|
thumbsup --input "/media/photos" --output "./website" --thumb-size 200 --large-size 1500
|
|
```
|
|
|
|
## Website structure
|
|
|
|
The generated static website has the following structure:
|
|
|
|
```
|
|
website
|
|
|__ index.html
|
|
|__ sydney.html
|
|
|__ paris.html
|
|
|__ public
|
|
|__ media
|
|
| |__ original
|
|
| |__ large
|
|
| |__ thumbs
|
|
```
|
|
|
|
## Deployment
|
|
|
|
The simplest is to deploy the media and generated pages to S3 buckets on AWS using the [AWS CLI tools](http://aws.amazon.com/cli/).
|
|
|
|
- `aws s3 sync ./generated/website s3://my.website.bucket --delete`
|
|
|
|
## Password protection
|
|
|
|
Amazon S3 buckets do not offer any type of authentication. However you can choose to deploy to another web server that offers password protection, such as HTTP Basic Auth.
|
|
|
|
An alternative is to deploy the galleries to UUID-based locations, like Dropbox shared galleries.
|
|
|
|
## Dev notes
|
|
|
|
To create the sample gallery locally:
|
|
|
|
```
|
|
npm run example
|
|
```
|