Skip to content

Instantly share code, notes, and snippets.

@celsowhite
celsowhite / get-elem-coords.js
Created March 21, 2023 16:55
Get the coordinates of an element relative to the top of the page.
View get-elem-coords.js
export default function getElemCoords(elem) {
var box = elem.getBoundingClientRect();
var body = document.body;
var docEl = document.documentElement;
var scrollTop = window.pageYOffset || docEl.scrollTop || body.scrollTop;
var scrollLeft = window.pageXOffset || docEl.scrollLeft || body.scrollLeft;
var clientTop = docEl.clientTop || body.clientTop || 0;
View randomIntFromInterval.js
export default function randomIntFromInterval(min, max) {
return Math.floor(Math.random() * (max - min + 1) + min)
}
View delay.js
const delay = (ms) => new Promise((r) => setTimeout(r, ms));
export default delay;
@celsowhite
celsowhite / json-to-csv.js
Last active September 23, 2022 13:54
Given a json file or json data output it's contents to a csv.
View json-to-csv.js
/*-----------------------
Imports
-----------------------*/
import fs from "fs";
import csv from "csvtojson";
import path from "path";
import { fileURLToPath } from "url";
import { stringify } from "csv";
/*-----------------------
@celsowhite
celsowhite / recursive-api-call.js
Last active September 23, 2022 13:48
Call an api recursively to gather all data across pages.
View recursive-api-call.js
// Data
const data = [];
// Recursive function to call the api in paginated batches. Depending on the api may need a limiter.
async function getDataRecursive(page) {
// Query for assets at a certain page.
const response = await axios.get(
`${apiUrl}?page=${page}&limit=250`,
{
headers: {
@celsowhite
celsowhite / csv-to-json.js
Created September 1, 2022 20:08
Convert a csv file to json and save it to a folder.
View csv-to-json.js
/*-----------------------
Imports
-----------------------*/
import fs from "fs";
import glob from "glob";
import csv from "csvtojson";
/*-----------------------
Script
-----------------------*/
@celsowhite
celsowhite / keen-arrow-nav.js
Last active July 27, 2022 13:40
Keen slider nav plugins.
View keen-arrow-nav.js
/*----------------------------
Keen Arrow Nav
---
Plugin for Keen sliders to configure arrow navigation.
----------------------------*/
export default function keenArrowNav(slider) {
// Elements
const container = slider.container.closest('.keen-slider__container');
const arrows = container.querySelectorAll('.keen-slider__arrow');
View example-cart.json
{
"id": 32608807518292,
"properties": {
"_version": 3,
"_Style": "fpg1001",
"_isTrackInventory": false,
"_trackInventoryOptions": [
],
"_price_additional": 3000,
View wave.vue
<template>
<div class="character-screen__vertical-wave">
<svg
viewBox="0 0 202 1449"
version="1.1"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
>
<g
id="Page-1"
View marquee.html
<div class="hero__marquee marquee">
<div class="marquee__text">
<!-- HTML Markup -->
</div>
<div class="marquee__text">
<!-- HTML Markup -->
</div>
<div class="marquee__text">
<!-- HTML Markup -->
</div>