1
0
mirror of https://github.com/xuthus83/pigallery2.git synced 2024-11-03 21:04:03 +08:00
A fast directory-first photo gallery website, with rich UI, optimized for running on low resource servers (especially on raspberry pi)
Go to file
2017-07-03 19:17:49 +02:00
backend implementing sharing 2017-07-03 19:17:49 +02:00
common implementing sharing 2017-07-03 19:17:49 +02:00
demo/images adding more demo images 2016-06-25 10:13:04 +02:00
frontend implementing sharing 2017-07-03 19:17:49 +02:00
test implementing sharing 2017-07-03 19:17:49 +02:00
.angular-cli.json adding angular-cli support (causes major refactoring) 2017-06-10 22:32:56 +02:00
.editorconfig adding angular-cli support (causes major refactoring) 2017-06-10 22:32:56 +02:00
.gitignore adding angular-cli support (causes major refactoring) 2017-06-10 22:32:56 +02:00
.npmignore improving release scripts 2017-06-02 23:48:46 +02:00
.travis.yml improving release scripts 2017-06-02 23:53:18 +02:00
gulpfile.js improving release scripts 2017-06-02 23:48:46 +02:00
karma.conf.js adding angular-cli support (causes major refactoring) 2017-06-10 22:32:56 +02:00
LICENSE Initial commit 2016-03-12 12:46:42 +01:00
package.json implementing sharing 2017-07-03 19:17:49 +02:00
Procfile bug fix 2016-07-07 13:56:39 +02:00
protractor.conf.js adding angular-cli support (causes major refactoring) 2017-06-10 22:32:56 +02:00
README.md implementing sharing 2017-07-03 19:17:49 +02:00
tsconfig.json implementing sharing 2017-07-03 19:17:49 +02:00
tslint.json adding angular-cli support (causes major refactoring) 2017-06-10 22:32:56 +02:00

PiGallery2

npm version Build Status Coverage Status Heroku Code Climate Dependency Status devDependency Status

This is a directory-first photo gallery website, optimised for running on low resource servers (especially on raspberry pi)

Live Demo

Live Demo @ heroku: https://pigallery2.herokuapp.com/

Install (on Raspberry Pi 1)

Install NodeJs

Download and extract

cd ~
wget https://nodejs.org/dist/v6.10.3/node-v6.10.3-linux-armv6l.tar.gz
tar -xzf node-v6.10.3-linux-armv6l.tar.gz

Copy it to /usr/local:

cd node-v6.10.3-linux-armv6l/
sudo cp -R * /usr/local/

Add to path. Add the following line to ~/.bashrc

PATH=$PATH:/usr/local/bin

Full node install description: https://raspberrypi.stackexchange.com/questions/48303/install-nodejs-for-all-raspberry-pi

Install PiGallery2

cd ~
wget https://github.com/bpatrik/pigallery2/archive/1.0.0-beta.0.tar.gz
tar -xzvf 1.0.0-beta.0.tar.gz
cd PiGallery2-1.0.0-beta.0
npm install
npm run build

Run PiGallery2

npm start

To configure it. Run PiGallery2 first to create config.json file, then edit it and restart.

Feature list

  • Rendering directories as it is
    • Listing subdirectories recursively
    • Listing photos in a nice grid layout
      • supporting most common image formats
      • showing tag/keywords, locations, GPS coordinates for photos
      • rendering photos on demand (on scroll)
  • On the fly thumbnail generation in several sizes
    • prioritizes thumbnail generation (generating thumbnail first for the visible photos)
    • saving generated thumbnails to TEMP folder for reuse
    • supporting several core CPU
    • supporting hardware acceleration (sharp and gm as optional and JS-based Jimp as fallback)
  • Custom lightbox for full screen photo viewing
    • keyboard support for navigation - In progress
    • showing low-res thumbnail while full image loads
    • Information panel for showing Exif info - In progress
  • Client side caching (directories and search results)
  • Rendering photos with GPS coordinates on google map
    • .gpx file support - In progress
  • Two modes: SQL database and no-database mode
    • both modes supports
      • user management
      • password protection can be disabled/enabled
    • database mode supports:
      • faster directory listing
      • searching
        • instant search, auto complete
      • sharing - In progress
        • setting link expiration time
  • Nice design - In progress
    • responsive design (phone, tablet desktop support)
  • Setup page - In progress
  • Markdown based blogging support - In progress
    • you can write some note in the blog.md for every directory
  • bug free :) - In progress