Giter VIP home page Giter VIP logo

movethatbus.js's Introduction

๐ŸšŒ movethatbus.js

npm downloads npm downloads install size npm version license generated with

Extreme Prank Makeover for your website on April Fools


Ever wanted to reveal your website in style? Like that classy American show used to?

Movethatbus.js creates an overlaying canvas with a bus, when clicked, it "moves the bus" and plays some fitting sound.
Use for your next website reveal, as an april fools joke or just go crazy and use it on every visit!
You can restrict it to only trigger within a certain date range or for visitors that have a special cookie set.

Have fun, but maybe not too much fun.

See the DEMO

See the DEMO with "1st April 2020 only" settings

See the DEMO with visitorsCookie settings

Imgur preview

This package is made without dependencies for you to easily include and initialize it in your project.

Usage

Get running in three easy steps.

๐Ÿ”Œ 1. Install

npm install --save movethatbus.js

๐Ÿ—ป 2. Include

The script needs to be imported/included/required in your project before it can be initialized.

If you use ES6

import moveThatBus from 'movethatbus.js'

If you donโ€™t use ES6/donโ€™t know

Append the file in a script tag just before the </body> tag, like:

<script src="lib/movethatbus.js"></script>

๐ŸŒ‹ 3. Initialize

If you use ES6

Run the method init when/after DOM is mounted

moveThatBus.init();

If you donโ€™t use ES6/donโ€™t know

The script can be initialized by adding a simple data-movethatbus attribute to any HTML element.

Initialization example:

<body data-movethatbus>

See the DEMO

If you only want to prank certain visitors, init() with the setting visitorsCookie with whatever name you want for your cookie. Then make sure that the chosen visitors have that cookie set to true.

๐ŸŽ› How to use the Settings

And their default values:

{
  cdnUrl: 'https://raw.githubusercontent.com/knogobert/movethatbus.js/master/',
  busSrc: "lib/img/bus.png",
  soundSrcs: ["lib/sound/likeabus.mp3", "lib/sound/movethatbus.mp3", "lib/sound/engine.m4a"],
  amountOfTimesToLetBusLoad: 1, // compares to clickedCookie
  clickedCookie: 'howManyTimesDidYouMoveThatBus', // name of cookie
  visitorsCookie: false, // set to false to prank every visitor, or use string as the name for the cookie
  startDate: "", // MM/DD/YYYY = 04/01/2020. Set to first day that should trigger bus
  endDate: "", // MM/DD/YYYY = 04/02/2020. Set to *the day after* the last day that should trigger bus
}

If you use ES6

moveThatBus.init({ visitorsCookie: 'youShouldMoveThatBus' });
// or
moveThatBus.init({ startDate: "04/01/2020", endDate: "04/02/2020" }); // For april fools only

If you donโ€™t use ES6/donโ€™t know

To be able to parse the setting keys and strings, surround them with single-quotes when using as value for data-movethatbus.

Settings example:

<body data-movethatbus="{ 'visitorsCookie': 'youShouldMoveThatBus' }">
<!-- or -->
<main data-movethatbus="{ 'startDate': '04/01/2020', 'endDate': '04/02/2020' }"><!-- For april fools only -->

See the DEMO with visitorsCookie settings

See the DEMO with "1st April 2020 only" settings

Development

In repo root, run either npm run watch and then npx serve (and browse to localhost:5000/demo.html)

License

(it is like MIT)

ISC License

Copyright (c) 2020 [email protected]

Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.

THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

Thanks to

  • Bus image source: timeless.ee
  • Like a bus credit: Like a Boss by Lonely Island
  • Engine sound (that was cut and converted) source: 1histori
  • Move that bus sound source: Extreme Home Makeover
  • Divine inspiration: Extreme Home Makeover

movethatbus.js's People

Contributors

danba340 avatar knogobert avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

danba340

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.