├── _config.yml ├── public ├── galleria │ ├── themes │ │ ├── fullscreen │ │ │ ├── index.html │ │ │ ├── b.png │ │ │ ├── i.png │ │ │ ├── l.gif │ │ │ ├── n.gif │ │ │ ├── p.gif │ │ │ ├── r.gif │ │ │ ├── up.gif │ │ │ ├── down.gif │ │ │ ├── fix.gif │ │ │ ├── l-neg.png │ │ │ ├── loader.gif │ │ │ ├── n-neg.png │ │ │ ├── p-neg.png │ │ │ ├── r-neg.png │ │ │ ├── up-neg.gif │ │ │ ├── down-neg.gif │ │ │ ├── galleria.fullscreen.min.js │ │ │ ├── galleria.fullscreen.min.css │ │ │ ├── galleria.fullscreen.js │ │ │ ├── fullscreen-demo.html │ │ │ ├── fullscreen-demo-cdn.html │ │ │ └── galleria.fullscreen.css │ │ └── classic │ │ │ ├── classic-map.png │ │ │ ├── classic-loader.gif │ │ │ ├── galleria.classic.min (SFConflict me@a1b0n.com 2017-02-12-23-35-56).min.js │ │ │ ├── galleria.classic.min.js │ │ │ ├── galleria.classic.min (SFConflict me@a1b0n.com 2017-02-12-23-35-56).js │ │ │ ├── galleria.classic.js │ │ │ ├── galleria.classic.min.css │ │ │ ├── galleria.classic.css │ │ │ ├── classic-demo-cdn.html │ │ │ ├── classic-demo.html │ │ │ └── classic-demo-cdn (SFConflict me@a1b0n.com 2017-02-12-23-35-56).html │ └── plugins │ │ ├── flickr │ │ ├── loader.gif │ │ ├── flickr-loader.gif │ │ ├── flickr-demo.html │ │ ├── galleria.flickr.min (SFConflict me@a1b0n.com 2017-02-12-23-35-56).min.js │ │ ├── galleria.flickr.min (SFConflict me@a1b0n.com 2017-02-12-23-35-56).js │ │ ├── galleria.flickr.min.js │ │ └── galleria.flickr.js │ │ ├── picasa │ │ ├── loader.gif │ │ ├── picasa-demo.html │ │ ├── galleria.picasa.min (SFConflict me@a1b0n.com 2017-02-12-23-35-56).min.js │ │ ├── galleria.picasa.min (SFConflict me@a1b0n.com 2017-02-12-23-35-56).js │ │ ├── galleria.picasa.min.js │ │ └── galleria.picasa.js │ │ └── history │ │ ├── galleria.history.min (SFConflict me@a1b0n.com 2017-02-12-23-35-56).min.js │ │ ├── galleria.history.min (SFConflict me@a1b0n.com 2017-02-12-23-35-56).js │ │ ├── galleria.history.min.js │ │ ├── galleria.history.js │ │ └── history-demo.html ├── images │ ├── a.jpg │ ├── b.jpg │ ├── c.jpg │ └── empty.png ├── stylesheets │ ├── page.css │ └── style.css └── javascripts │ └── page.js ├── views ├── error.hbs ├── layout.hbs ├── empty.hbs └── gallery.hbs ├── tutorial_resources ├── 1.png ├── 10.png ├── 11.png ├── 12.png ├── 13.png ├── 14.png ├── 15.png ├── 16.png ├── 17.png ├── 18.png ├── 19.png ├── 2.png ├── 20.png ├── 21.png ├── 22.png ├── 3.png ├── 4.png ├── 5.png ├── 6.png ├── 7.png ├── 8.png └── 9.png ├── .gitignore ├── routes └── index.js ├── LICENSE ├── config.js ├── package.json ├── bin └── www ├── app.js ├── controller.js └── README.md /_config.yml: -------------------------------------------------------------------------------- 1 | theme: jekyll-theme-slate -------------------------------------------------------------------------------- /public/galleria/themes/fullscreen/index.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/images/a.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dropbox/nodegallerytutorial/HEAD/public/images/a.jpg -------------------------------------------------------------------------------- /public/images/b.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dropbox/nodegallerytutorial/HEAD/public/images/b.jpg -------------------------------------------------------------------------------- /public/images/c.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dropbox/nodegallerytutorial/HEAD/public/images/c.jpg -------------------------------------------------------------------------------- /views/error.hbs: -------------------------------------------------------------------------------- 1 |

{{message}}

2 |

{{error.status}}

3 |
{{error.stack}}
4 | -------------------------------------------------------------------------------- /public/images/empty.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dropbox/nodegallerytutorial/HEAD/public/images/empty.png -------------------------------------------------------------------------------- /public/stylesheets/page.css: -------------------------------------------------------------------------------- 1 | 2 | .galleria{ 3 | max-width: 100%; 4 | height: 700px; 5 | margin: 0 auto; 6 | } -------------------------------------------------------------------------------- /tutorial_resources/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dropbox/nodegallerytutorial/HEAD/tutorial_resources/1.png -------------------------------------------------------------------------------- /tutorial_resources/10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dropbox/nodegallerytutorial/HEAD/tutorial_resources/10.png -------------------------------------------------------------------------------- /tutorial_resources/11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dropbox/nodegallerytutorial/HEAD/tutorial_resources/11.png -------------------------------------------------------------------------------- /tutorial_resources/12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dropbox/nodegallerytutorial/HEAD/tutorial_resources/12.png -------------------------------------------------------------------------------- /tutorial_resources/13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dropbox/nodegallerytutorial/HEAD/tutorial_resources/13.png -------------------------------------------------------------------------------- /tutorial_resources/14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dropbox/nodegallerytutorial/HEAD/tutorial_resources/14.png -------------------------------------------------------------------------------- /tutorial_resources/15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dropbox/nodegallerytutorial/HEAD/tutorial_resources/15.png -------------------------------------------------------------------------------- /tutorial_resources/16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dropbox/nodegallerytutorial/HEAD/tutorial_resources/16.png -------------------------------------------------------------------------------- /tutorial_resources/17.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dropbox/nodegallerytutorial/HEAD/tutorial_resources/17.png -------------------------------------------------------------------------------- /tutorial_resources/18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dropbox/nodegallerytutorial/HEAD/tutorial_resources/18.png -------------------------------------------------------------------------------- /tutorial_resources/19.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dropbox/nodegallerytutorial/HEAD/tutorial_resources/19.png -------------------------------------------------------------------------------- /tutorial_resources/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dropbox/nodegallerytutorial/HEAD/tutorial_resources/2.png -------------------------------------------------------------------------------- /tutorial_resources/20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dropbox/nodegallerytutorial/HEAD/tutorial_resources/20.png -------------------------------------------------------------------------------- /tutorial_resources/21.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dropbox/nodegallerytutorial/HEAD/tutorial_resources/21.png -------------------------------------------------------------------------------- /tutorial_resources/22.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dropbox/nodegallerytutorial/HEAD/tutorial_resources/22.png -------------------------------------------------------------------------------- /tutorial_resources/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dropbox/nodegallerytutorial/HEAD/tutorial_resources/3.png -------------------------------------------------------------------------------- /tutorial_resources/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dropbox/nodegallerytutorial/HEAD/tutorial_resources/4.png -------------------------------------------------------------------------------- /tutorial_resources/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dropbox/nodegallerytutorial/HEAD/tutorial_resources/5.png -------------------------------------------------------------------------------- /tutorial_resources/6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dropbox/nodegallerytutorial/HEAD/tutorial_resources/6.png -------------------------------------------------------------------------------- /tutorial_resources/7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dropbox/nodegallerytutorial/HEAD/tutorial_resources/7.png -------------------------------------------------------------------------------- /tutorial_resources/8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dropbox/nodegallerytutorial/HEAD/tutorial_resources/8.png -------------------------------------------------------------------------------- /tutorial_resources/9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dropbox/nodegallerytutorial/HEAD/tutorial_resources/9.png -------------------------------------------------------------------------------- /public/galleria/themes/fullscreen/b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dropbox/nodegallerytutorial/HEAD/public/galleria/themes/fullscreen/b.png -------------------------------------------------------------------------------- /public/galleria/themes/fullscreen/i.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dropbox/nodegallerytutorial/HEAD/public/galleria/themes/fullscreen/i.png -------------------------------------------------------------------------------- /public/galleria/themes/fullscreen/l.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dropbox/nodegallerytutorial/HEAD/public/galleria/themes/fullscreen/l.gif -------------------------------------------------------------------------------- /public/galleria/themes/fullscreen/n.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dropbox/nodegallerytutorial/HEAD/public/galleria/themes/fullscreen/n.gif -------------------------------------------------------------------------------- /public/galleria/themes/fullscreen/p.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dropbox/nodegallerytutorial/HEAD/public/galleria/themes/fullscreen/p.gif -------------------------------------------------------------------------------- /public/galleria/themes/fullscreen/r.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dropbox/nodegallerytutorial/HEAD/public/galleria/themes/fullscreen/r.gif -------------------------------------------------------------------------------- /public/galleria/themes/fullscreen/up.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dropbox/nodegallerytutorial/HEAD/public/galleria/themes/fullscreen/up.gif -------------------------------------------------------------------------------- /public/galleria/plugins/flickr/loader.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dropbox/nodegallerytutorial/HEAD/public/galleria/plugins/flickr/loader.gif -------------------------------------------------------------------------------- /public/galleria/plugins/picasa/loader.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dropbox/nodegallerytutorial/HEAD/public/galleria/plugins/picasa/loader.gif -------------------------------------------------------------------------------- /public/galleria/themes/fullscreen/down.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dropbox/nodegallerytutorial/HEAD/public/galleria/themes/fullscreen/down.gif -------------------------------------------------------------------------------- /public/galleria/themes/fullscreen/fix.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dropbox/nodegallerytutorial/HEAD/public/galleria/themes/fullscreen/fix.gif -------------------------------------------------------------------------------- /public/galleria/themes/fullscreen/l-neg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dropbox/nodegallerytutorial/HEAD/public/galleria/themes/fullscreen/l-neg.png -------------------------------------------------------------------------------- /public/galleria/themes/fullscreen/loader.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dropbox/nodegallerytutorial/HEAD/public/galleria/themes/fullscreen/loader.gif -------------------------------------------------------------------------------- /public/galleria/themes/fullscreen/n-neg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dropbox/nodegallerytutorial/HEAD/public/galleria/themes/fullscreen/n-neg.png -------------------------------------------------------------------------------- /public/galleria/themes/fullscreen/p-neg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dropbox/nodegallerytutorial/HEAD/public/galleria/themes/fullscreen/p-neg.png -------------------------------------------------------------------------------- /public/galleria/themes/fullscreen/r-neg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dropbox/nodegallerytutorial/HEAD/public/galleria/themes/fullscreen/r-neg.png -------------------------------------------------------------------------------- /public/galleria/themes/fullscreen/up-neg.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dropbox/nodegallerytutorial/HEAD/public/galleria/themes/fullscreen/up-neg.gif -------------------------------------------------------------------------------- /public/galleria/themes/classic/classic-map.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dropbox/nodegallerytutorial/HEAD/public/galleria/themes/classic/classic-map.png -------------------------------------------------------------------------------- /public/galleria/themes/fullscreen/down-neg.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dropbox/nodegallerytutorial/HEAD/public/galleria/themes/fullscreen/down-neg.gif -------------------------------------------------------------------------------- /public/galleria/plugins/flickr/flickr-loader.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dropbox/nodegallerytutorial/HEAD/public/galleria/plugins/flickr/flickr-loader.gif -------------------------------------------------------------------------------- /public/galleria/themes/classic/classic-loader.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dropbox/nodegallerytutorial/HEAD/public/galleria/themes/classic/classic-loader.gif -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Node build artifacts 2 | node_modules 3 | npm-debug.log 4 | 5 | # Local development 6 | *.env 7 | *.dev 8 | package-lock.json 9 | 10 | *.DS_Store -------------------------------------------------------------------------------- /public/javascripts/page.js: -------------------------------------------------------------------------------- 1 | jQuery(document).ready(function(){ 2 | Galleria.loadTheme('/galleria/themes/classic/galleria.classic.min.js'); 3 | Galleria.run('.galleria'); 4 | }); -------------------------------------------------------------------------------- /public/stylesheets/style.css: -------------------------------------------------------------------------------- 1 | body { 2 | padding: 50px; 3 | font: 14px "Lucida Grande", Helvetica, Arial, sans-serif; 4 | } 5 | 6 | a { 7 | color: #00B7FF; 8 | } 9 | 10 | #empty{ 11 | text-align: center; 12 | } 13 | -------------------------------------------------------------------------------- /views/layout.hbs: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | {{title}} 5 | 6 | 7 | 8 | {{{body}}} 9 | 10 | 11 | -------------------------------------------------------------------------------- /views/empty.hbs: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Empty folder 5 | 6 | 7 | 8 |
9 | 10 |

go to folder

11 |
12 | 13 | -------------------------------------------------------------------------------- /routes/index.js: -------------------------------------------------------------------------------- 1 | var express = require('express'); 2 | var router = express.Router(); 3 | var controller = require('../controller'); 4 | 5 | /* GET home page. */ 6 | router.get('/', controller.home); 7 | 8 | router.get('/login', controller.login); 9 | 10 | router.get('/logout', controller.logout); 11 | 12 | router.get('/oauthredirect',controller.oauthredirect); 13 | 14 | module.exports = router; 15 | -------------------------------------------------------------------------------- /views/gallery.hbs: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | {{#each imgs}} 13 | 14 | {{/each}} 15 |
16 | 17 | 18 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2017 Dropbox, Inc. 2 | 3 | Licensed under the Apache License, Version 2.0 (the "License"); 4 | you may not use this file except in compliance with the License. 5 | You may obtain a copy of the License at 6 | 7 | http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | Unless required by applicable law or agreed to in writing, software 10 | distributed under the License is distributed on an "AS IS" BASIS, 11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | See the License for the specific language governing permissions and 13 | limitations under the License. 14 | -------------------------------------------------------------------------------- /config.js: -------------------------------------------------------------------------------- 1 | require('dotenv').config({silent: true}); 2 | 3 | module.exports = { 4 | DBX_API_DOMAIN: 'https://api.dropboxapi.com', 5 | DBX_OAUTH_DOMAIN: 'https://www.dropbox.com', 6 | DBX_OAUTH_PATH: '/oauth2/authorize', 7 | DBX_TOKEN_PATH: '/oauth2/token', 8 | DBX_LIST_FOLDER_PATH:'/2/files/list_folder', 9 | DBX_LIST_FOLDER_CONTINUE_PATH:'/2/files/list_folder/continue', 10 | DBX_GET_TEMPORARY_LINK_PATH:'/2/files/get_temporary_link', 11 | DBX_TOKEN_REVOKE_PATH:'/2/auth/token/revoke', 12 | DBX_APP_KEY:process.env.DBX_APP_KEY, 13 | DBX_APP_SECRET:process.env.DBX_APP_SECRET, 14 | OAUTH_REDIRECT_URL:process.env.OAUTH_REDIRECT_URL, 15 | SESSION_ID_SECRET:process.env.SESSION_ID_SECRET, 16 | } -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "dbximgs", 3 | "version": "1.0.0", 4 | "private": true, 5 | "scripts": { 6 | "start": "node ./bin/www" 7 | }, 8 | "engines": { 9 | "node": "~8.2.1" 10 | }, 11 | "dependencies": { 12 | "body-parser": "~1.17.1", 13 | "cookie-parser": "~1.4.3", 14 | "debug": "~2.6.3", 15 | "dotenv": "^4.0.0", 16 | "express": "~4.15.2", 17 | "express-session": "^1.15.6", 18 | "express-sessions": "^1.0.6", 19 | "hbs": "~4.0.1", 20 | "helmet": "^3.9.0", 21 | "morgan": "~1.8.1", 22 | "node-cache": "^4.1.1", 23 | "redis": "^2.8.0", 24 | "request": "^2.83.0", 25 | "request-promise": "^4.2.2", 26 | "serve-favicon": "~2.4.2" 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /public/galleria/plugins/history/galleria.history.min (SFConflict me@a1b0n.com 2017-02-12-23-35-56).min.js: -------------------------------------------------------------------------------- 1 | !function(a,b){Galleria.requires(1.25,"The History Plugin requires Galleria version 1.2.5 or later."),Galleria.History=function(){var c,d=[],e=!1,f=b.location,g=b.document,h=Galleria.IE,i="onhashchange"in b&&(void 0===g.mode||g.mode>7),j=function(a){return a=c&&!i&&Galleria.IE?a||c.location:f,parseInt(a.hash.substr(2),10)},k=j(f),l=[],m=function(){a.each(l,function(a,c){c.call(b,j())})},n=function(){a.each(d,function(a,b){b()}),e=!0},o=function(a){return"/"+a};return i&&h<8&&(i=!1),i?n():a(function(){b.setInterval(function(){var a=j();isNaN(a)||a==k||(k=a,f.hash=o(a),m())},50);h?a('