Skip to content

๐ŸšŒ Extreme Prank Makeover for your website on April Fools

License

Notifications You must be signed in to change notification settings

Knogobert/movethatbus.js

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

43 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸšŒ 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 Knogobert@users.noreply.github.com

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