Skip to content

Instantly share code, notes, and snippets.

@w3collective
w3collective / tailwind-card-component.html
Created March 2, 2022 23:26
Style a material design card component with Tailwind CSS
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Style a material design card component with Tailwind CSS</title>
<link rel="stylesheet" href="https://unpkg.com/tailwindcss@^1.0/dist/tailwind.min.css" />
</head>
<body class="p-4 pt-16 bg-gray-200">
<div class="bg-white rounded shadow max-w-md mx-auto">
@w3collective
w3collective / toggle-password.html
Created February 28, 2022 00:48
Toggle password visibility using JavaScript
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Add a “Show Password” checkbox to a login form with JavaScript</title>
<style>
#password {
background-image: url("https://img.icons8.com/material-sharp/20/000000/visible.png");
background-position: 97% center;
@w3collective
w3collective / keyboard-shortcut.js
Last active February 28, 2022 00:49
How to create keyboard shortcuts for web apps with JavaScript
let keyDown = {
'c': false,
'p': false,
's': false,
'Meta': false,
'Control': false
};
document.addEventListener('keydown', handleKeydown);
function handleKeydown(e) {
e.preventDefault();
@w3collective
w3collective / digital-clock.js
Created February 9, 2022 04:09
Digital clock using JavaScript
const clock = document.createElement("div");
document.body.appendChild(clock);
const getTime = () => {
const date = new Date();
let hour = date.getHours();
let min = date.getMinutes();
let sec = date.getSeconds();
hour = (hour < 10) ? "0" + hour : hour;
min = (min < 10) ? "0" + min : min;
@w3collective
w3collective / alpine-accordion.html
Last active December 17, 2022 10:20
Accordion component built with Alpine.js & Tailwind CSS
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Alpine.js Accordion</title>
<link href="https://unpkg.com/tailwindcss@^2/dist/tailwind.min.css" rel="stylesheet" />
<script src="https://unpkg.com/alpinejs" defer></script>
</head>
<body>
@w3collective
w3collective / read-write-json-node.js
Created November 18, 2021 00:52
Read and write JSON files using Node.js
const fs = require("fs");
const books = [
{
title: "The Great Gatsby",
author: "F. Scott Fitzgerald",
},
{
title: "Frankenstein",
author: "Mary Shelley",
@w3collective
w3collective / detect-idle-tabs.html
Created October 19, 2021 03:06
Detect idle or active browser tabs with the Page Visibility API
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Page Visibility API</title>
</head>
<body>
<video id="video" width="300" controls>
<source
@w3collective
w3collective / alpine-tabs.html
Last active December 17, 2022 10:20
Tabbed content component using Alpine.js
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Alpine.js Tab Component</title>
<script defer src="https://unpkg.com/alpinejs"></script>
</head>
<body>
<div x-data="{ tab: 'description' }">
@w3collective
w3collective / zdog-3d-mario.html
Last active September 14, 2021 05:34
Design and animate a pseudo 3D “Super Mario” with Zdog
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Design &amp; animate a pseudo 3D “Super Mario” with Zdog</title>
<script src="https://unpkg.com/zdog@1/dist/zdog.dist.min.js"></script>
</head>
<body>
<canvas class="zdog-canvas" width="300" height="300"></canvas>
@w3collective
w3collective / alpine-api-data-in-table.html
Created August 12, 2021 00:16
Displaying API data in a HTML table with Alpine.js
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Alpine.js: Displaying API data in a HTML table</title>
<style>
[x-cloak] {
display: none !important;
}