gallery-server

Beautiful and powerful yet simple local image viewer on your PC or mobile.

Usage no npm install needed!

<script type="module">
  import galleryServer from 'https://cdn.skypack.dev/gallery-server';
</script>

README

Welcome to gallery-server πŸ‘‹

npm version npm downloads Minified + gzip package size for gallery-server in KB commit msg linted by git-commit-msg-linter

demo-page-fullscreen

gallery-mobile

Beautiful Local Image Viewer

Beautiful and powerful yet simple local image viewer on your PC or mobile.

δΈ­ζ–‡η‰ˆζ–‡ζ‘£

Install

No installment required!

Use

  1. Serve the local photos.
npx gallery-server --folder /path/to/photos

# for more usage
npx gallery-server -h
  1. Open http://localhost:xxxx/ in your favorite browser or share with your friends http://a.b.c.d:xxxx/?token=${token}.

Enjoy on PC

demo-page-album

Enjoy on Mobile

album-mobile

Photos from pixabay API of Yosemite.

Features

  1. Photos in your PC can be viewed in your mobile phone's browser!
  2. Security on privacy to prevent eavesdropping. API or image resources without a specific token is forbidden, but you can still share with your friends by sending him the token.
  3. Theme togglable between light and dark.
  4. Videos also supported!
  5. More than one galleries can be served at the same time.
  6. A lot of gallery features. Check it at react-images.

FAQ

  1. Q: Why 403 forbidden?

    {
      "code": 403,
      "message": "Forbidden. `token` required. Please redirect to https://github.com/legend80s/gallery-server#faq for more information."
    }
    
    • A: You see this message because you are not the gallery owner. Ask the owner for the token and append it to the resource URL.
  2. Photos in node_modules will be ignored for performance.

Develop

  1. start api server
npm run dev:server -- --folder=/path/to/photos
  1. start webpack devServer
npm run dev:client

Notice: Install all the dependencies into ./package.json's devDependencies not ./client/package.json. The package.json in client exits only for scripts。

For example if you want change to another gallery (react-bnb-gallery):

# enter project root not ./client/
cd project_root

npm install --save-dev react-bnb-gallery

# start api server
npm run dev:server -- --folder=/path/to/photos

# start webpack devServer
npm run dev:client

Publish

npm version patch / minor / major

Run tests

npm run test

Author

πŸ‘€ legend80s

🀝 Contributing

Contributions, issues and feature requests are welcome!

Feel free to check issues page.

Todo

  • Any port. use unoccupied port.
  • Build with remote client to support a wide range of client gallery.
  • Use network IP. mimic create-react-app.
  • Show help Information on cli -v -h.
  • Viewable on mobile.
  • Adapt to mobile.
  • Image lazy load.
  • Security on privacy. only url with token is shareable.
  • Port customizable.
  • Token customizable.
  • Serve multiple folders in one cmd.
  • Token can be optional when viewed on owner's brower.
  • Electron App.

Show your support

Give a ⭐️ if this project helped you!


This README was generated with ❀️ by readme-md-generator