backend | ||
common | ||
demo/images | ||
frontend | ||
test | ||
.angular-cli.json | ||
.editorconfig | ||
.gitignore | ||
.npmignore | ||
.travis.yml | ||
COMPARE.md | ||
gulpfile.js | ||
karma.conf.js | ||
LICENSE | ||
package.json | ||
Procfile | ||
protractor.conf.js | ||
README.md | ||
tsconfig.json | ||
tslint.json | ||
USERRIGHTS.md |
PiGallery2
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
Install from release
cd ~
wget https://github.com/bpatrik/pigallery2/releases/download/1.1.0/pigallery2.zip
unzip pigallery2
cd pigallery2
npm install
Install from source
cd ~
wget https://github.com/bpatrik/pigallery2/archive/master.zip
unzip master.zip
cd pigallery2 # enter the unzipped directory
npm install
Run PiGallery2
npm start
To configure it. Run PiGallery2
first to create config.json
file, then edit it and restart.
Default user: admin
pass: admin
Using nginx
https://stackoverflow.com/questions/5009324/node-js-nginx-what-now
making https
node install error:
If you get error during module installation, make sure you have everything to build node modules from source
apt-get install build-essential libkrb5-dev gcc g++
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
- Custom lightbox for full screen photo viewing
- keyboard support for navigation
- showing low-res thumbnail while full image loads
- Information panel for showing Exif info
- Automatic playing
- gesture support (swipe left, right, up)
- Client side caching (directories and search results)
- Rendering photos with GPS coordinates on google map
- .gpx file support -
future plan
- .gpx file support -
- 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
- setting link expiration time
- both modes supports
- internalization / translation support
- Nice design
- responsive design (phone, tablet desktop support)
- Setup page
- video support -
future plan
- Markdown based blogging support -
future plan
- you can write some note in the blog.md for every directory
- bug free :) -
In progress
Translate the page to your own language
- download / clone the repo (the source not the packed release!)
- add your language e.g: fr
npm run add-translation -- --fr
it creates a new messages.fr.xls
file at frontend/translate
folder,
it will already contain dummy translation with google translate.
3) 'fix' the dummy translation
4) test if it works:
build and start the app
npm install
npm start
- create a pull request at github to add your translation to the project.