npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

showcar-gallery

v1.2.2

Published

This is a Gallery

Downloads

2

Readme

showcar-gallery

This module provides a easy to use gallery.

Usage

For an example usage of the gallery, have a look inside the examples directory.

HTML Code

The whole gallery is defined by an as24-gallery element. Each item needs to be wrapped inside a as24-gallery-item element. Basically any content within an item is possible. Normally you would use an a (for seo reasons) wrapping an img tag.

The items with the classes placeholder (placeholder when no images are defined), page (displays the current and total pages), left (left paginator) and right (right paginator) are special child nodes that you can style and fill depending on your individual needs.

<as24-gallery data-preload-items="2">
    <div class="left"></div>
    <as24-gallery-item>
        <a href="http://placehold.it/640x480?text=1">
            <img src="http://placehold.it/640x480?text=1,640x480" alt="">
        </a>
    </as24-gallery-item>

    ...

    <div class="placeholder">No Images</div>
    <div class="right"></div>
    <div class="pager"></div>
</as24-gallery>

lazy loading

For better performance it is possible to lazy load images. Therefor just replace the src attribute of your img with an data-src attribute. For SEO reasons include the source of the first img always with the src attribute.

preload count

You can adjust the amount of images that are preloaded with the data-preload-items the default value is 2.

CSS Styling

To use the gallery on your page, some minimal css code is needed:

    as24-gallery {
      height: 480px;
      width: 100%;

      as24-gallery-item {
        width: 50%;
        min-width: 320px;
      }
    }

JS Interface

If you need to change the size of the gallery dynamically (e.g. width and/or height), you can call the redraw() method, to force the gallery to recalculate its sizings and positionings.

document.getElementById('gallery-example').redraw()

JS Events

You can listen on a as24-gallery:change event. This event is triggered if a page was changed and a new image loaded:

$('as24-gallery').on('as24-gallery:change', (e) => console.log("Page changed", e) );

Installation

How to install:

Via NPM:

npm i --save git+ssh://[email protected]:AutoScout24/showcar-gallery.git

Afterwards you can include it in your JS code

require('showcar-gallery') // or import 'showcar-gallery';

... and SCSS code

@import "node_modules/showcar-gallery/dist/showcar-gallery.css"

Contributing

How to contribute:

Fork this repository and git clone your fork. Then npm install the required dependencies.

Note: If you do not have grunt installed globally, use ./node_modules/.bin/grunt instead.

Contribute

Save your changes and run grunt dist (or ./node_modules/.bin/grunt dist).

Commit your code and the compiled libraries in ./dist. Then create a pull-request.

License

MIT License