Skip to content

Instantly share code, notes, and snippets.

@arekbartnik
arekbartnik / App.js
Created November 11, 2018 22:22 — forked from ryanflorence/App.js
import React, { Suspense, useState } from "react";
import { unstable_createResource as createResource } from "react-cache";
import {
Combobox,
ComboboxInput,
ComboboxList,
ComboboxOption
} from "./Combobox2.js";
function App({ tabIndex, navigate }) {
@arekbartnik
arekbartnik / js-encode-decode.md
Created January 20, 2020 20:31 — forked from yidas/js-encode-decode.md
JavaScript HTML Entities Encode & Decode
@arekbartnik
arekbartnik / Random-string
Last active February 20, 2020 15:16 — forked from 6174/Random-string
Generate a random string in JavaScript In a short and fast way!
[...Array(10)].map(i=>(~~(Math.random()*36)).toString(36)).join('')
(Math.random()*0xFFFFFF<<0).toString(16);
Math.random().toString(36).substring(2, 15) + Math.random().toString(36).substring(2, 15);
@arekbartnik
arekbartnik / multiple_ssh_setting.md
Created February 20, 2020 22:40 — forked from jexchan/multiple_ssh_setting.md
Multiple SSH keys for different github accounts

Multiple SSH Keys settings for different github account

create different public key

create different ssh key according the article Mac Set-Up Git

$ ssh-keygen -t rsa -C "[email protected]"
function dominantColorRGBA(pxv :ArrayLike<int>, pxcount :int, stride :int) :RGBA {
let cm = new Map<int,int[]>()
// average and count RGB values
for (let i = 0; i < pxcount; i += stride) {
let r = pxv[i], g = pxv[i + 1], b = pxv[i + 2], a = pxv[i + 3]
// key = (a << 24) + (r << 16) + (g << 8) + b
let key = (r << 16) + (g << 8) + b
// update or store entry in temporary map.

This is an alternative to the Modern Script Loading tchnique, that doesn't need to wait for the load event.

Compatibility

This technique has been successfully tested down to IE9.

<!DOCTYPE html>
<html lang="en">
@arekbartnik
arekbartnik / hooked-style.js
Created May 3, 2020 18:09 — forked from WebReflection/hooked-style.js
A way to inject once per selector global styles, for more portable components.
import {define as hookedDefinition} from 'hooked-elements'; // or wicked-
import css from 'ustyler';
export const define = (selector, definition) => {
// let the library throw on duplicated selectors
const result = hookedDefinition(selector, definition);
// add styles for this selector
if (definition.style) css(definition.style);
// return the wicked/hooked magic 🌈
return result;
const glob = require("glob");
const fs = require("fs");
const path = require("path");
const { PurgeCSS } = require("purgecss");
const cssnano = require("cssnano");
const cheerio = require("cheerio");
const minify = require("html-minifier").minify;
const sharp = require("sharp");
// This runs on Netlify after Jekyll builds a full site.
////////////////////////////////////////////////////////////////////////////////
// Create a directory called "pages" next to
// this file, put markdown files in there, and
// then run:
//
// ```
// $ node build.mjs
// ```
//
// Then deploy the "build" directory somewhere.
@arekbartnik
arekbartnik / whatev.js
Created August 25, 2020 21:07 — forked from Jayphen/whatev.js
Page tracking in Sapper
// stores/location.ts
import { writable, derived } from "svelte/store";
import { beforeUpdate } from "svelte";
export interface LocationStore {
current: Location | undefined;
previous: Location | undefined;
}