JavaScript image gallery for mobile and desktop.
- Documentation and getting started guide.
- Demo and script home page.
- NPM
npm install photoswipe
. - Bower
bower install photoswipe
. - Yarn
yarn add photoswipe
.
- dimsemenov/PhotoSwipe#1642
suppressing incorrect mousedown in case of firefox android where PointerEvent not enabled by default - dimsemenov/PhotoSwipe#1628
Fix #1608: Overlapped Div Gets Clicked When Closing Pswp From UI Toolbar - dimsemenov/PhotoSwipe#1633
Fix the problem which out var is always "InEnd" - dimsemenov/PhotoSwipe#1635
Fix missing type="button" in doc - dimsemenov/PhotoSwipe#1638
Addingtype
attribute tobutton
tags to avoid form submitting - dimsemenov/PhotoSwipe#1639
Adding HTML code between elements (This could close: #1380) - dimsemenov/PhotoSwipe#1573
When the image loaded error,it should not set image size - dimsemenov/PhotoSwipe#1572
Fix #1390: 'TypeError Cannot read property 'updateScrollOffset' of null' - dimsemenov/PhotoSwipe#1611
deletes double rule and merges selector - dimsemenov/PhotoSwipe#1488
Ensure correct image aspect ratio - dimsemenov/PhotoSwipe#1516
it may be more logic if the classpswp__caption__center
align the text to center instead of left - dimsemenov/PhotoSwipe#1520
using parseInt() to be sure the _currentItemIndex is interpreted as an integer and the increment and decrements are numbers and not string - dimsemenov/PhotoSwipe#1497 Add Yarn install
- dimsemenov/PhotoSwipe#1489
Fix example: Added msrc to get the thumbnail to animate - dimsemenov/PhotoSwipe#1694
Init from DOM – click handler defers to Anchor elements - dimsemenov/PhotoSwipe#1702
Automatically detect image width and height after loading - Partially dimsemenov/PhotoSwipe#1687
Change markdown processor to kramdown. - dmxforce/PhotoSwipe#2
Fixing right click bug and removing minified dist files for now. - dimsemenov/PhotoSwipe#1557
Indefinite article is added for dummy captions - dimsemenov/PhotoSwipe#1563
Fix closing when thumbnail bounds are unknown - dimsemenov/PhotoSwipe#1585
Fix screen zooming on touch devices when share option selected. - dimsemenov/PhotoSwipe#1476
[UI] Added Download Button - dimsemenov/PhotoSwipe#1472
[UI] Tap/click show next image if non zoomable - dimsemenov/PhotoSwipe#1309
Remove html contents more gracefully - dimsemenov/PhotoSwipe#1413
define root in strict mode for browsers - Partially dimsemenov/PhotoSwipe#1455
Various fixes - delay unbind of scroll listener until close animation finish
Fix from dimsemenov#1492 comment, Fixes dimsemenov#1492 - dimsemenov/PhotoSwipe#1103
added new option to toggle off swiping. update options in docs - dimsemenov/PhotoSwipe#1708
Fixed: When Clicking Close Button, Overlapped Div Gets Clicked Also! - dimsemenov/PhotoSwipe#1262
Animated transitions - dimsemenov/PhotoSwipe#1147
Select text in the caption area via mouse without triggering a swipe - dimsemenov/PhotoSwipe#1074
Uses result from addCaptionHTMLFn() to decide whether there's a caption - dimsemenov/PhotoSwipe#1713
docs: Fix simple typo, untill -> until - dimsemenov/PhotoSwipe#1371
fix firefox mouseup event not working properly
- Compiled PhotoSwipe JS and CSS files, SVG and PNG sprites are in the dist/ folder.
- Source files (.JS and .SCSS) are in the src/ folder. Note that PhotoSwipe uses Autoprefixer when compiling SASS files.
- Demo website is in the website/ folder.
- Documentation markdown files are in website/documentation/.
- Ruby gem.
- Ember.js addons: ember-photoswipe, ember-cli-photoswipe.
- Eager app.
- Koken CMS plugin.
- Orchard CMS module.
- Yellow CMS plugin.
- Kirby CMS plugin.
- Drupal CMF module.
- ProcessWire CMS module.
- SPIP CMS module.
- Fork CMS MediaLibrary widget.
Coded something useful? Email me and I’ll post a link to it here.
To compile PhotoSwipe by yourself, make sure that you have Node.js (or yarn), Grunt.js, Ruby and Jekyll installed, then:
-
Clone the repository
git clone https://github.com/andi34/PhotoSwipe.git
-
Go inside the PhotoSwipe folder that you fetched and install Node dependencies
cd PhotoSwipe && npm install
-
If you make changes to files inside the
src
folder, make sure code style matches the project defaultsnpm prettier
-
Generate the JS and CSS files in the
dist
folder and the site in the_site/
foldernpm build
-
Check files inside
dist
folder for lint errorsnpm test
Optionally:
- Run
grunt watch
to automatically rebuild files (JS, CSS, demo website and documentation) when you change files insrc/
or inwebsite/
. - Run
grunt nosite
to build just JS and CSS files (output is folderdist/
). - Run
grunt pswpbuild
to build just JS files. Param--pswp-exclude
allows to exclude modules, for examplegrunt pswpbuild --pswp-exclude=history
will exclude history module.
If you’ve used PhotoSwipe in some interesting way, or on the site of a popular brand, I’d be very grateful if you shoot me a link to it.
Script is licensed under MIT license with one exception: Do not create a public WordPress plugin based on it, as I will develop it. If you need to use it for a public WordPress plugin right now, please ask me by email first. Thanks!
Attribution is not required, but much appreciated, especially if you’re making a product for developers.
PhotoSwipe 4.0+ is developed by Dmitry Semenov. But initially script was created in 2011 by Code Computerlove, a digital agency in Manchester, they passed on development in March 2014. You can view source and documentation of old PhotoSwipe (<4.0) in history of this repo.