Skip to content

Instantly share code, notes, and snippets.

View long-lazuli's full-sized avatar
🍃
no direction home

Long Lazuli long-lazuli

🍃
no direction home
View GitHub Profile
// @jsxFactory: $create
// untested yet
const D=document,Arr=(a,b,e) => Array.prototype.slice.call(a,b,e)
export $ = (s,r=D) => r.querySelector(s)
export $$ = (s,r=D) => Arr(r.querySelectorAll(s))
export $create = (t,p={},c,el) => (
el=D.createElement(t),
Object.keys(p).forEach(k=>el.setAttribute(k,p[k])),
import { MultilineError } from './errors'
function getPathParts( path ){
const DIVIDER = /(\]?[.[])/
return path
.split( DIVIDER )
// .map( String.trim.bind )
}
@long-lazuli
long-lazuli / newSyntaxe.md
Last active July 13, 2018 09:17
My daily-rad.io fluxText #dailyradio
@long-lazuli
long-lazuli / URLParser.js
Last active June 25, 2019 13:18
URL utilities using HTML Anchor Element functionalities
export default const UrlParser = ( urlStr ) => {
const $anchor = document.createElement('a')
$anchor.href = urlStr || window.location
return {
...Object.keys($anchor.__proto__).reduce(
(acc, prop) => ({ ...acc, [prop]: $anchor[prop] }),
{}
@long-lazuli
long-lazuli / ckeditorTemplateFromJsx.js
Last active November 23, 2017 14:07
JSX to CKEditor5 Template
// Use `vdom` classic JSX syntax for CK templates.
import Template from '@ckeditor/ckeditor5-ui/src/template';
const CKTemplateFromJSX = ({elementName, attributes, children}) => new Template({
tag: elementName,
attributes: Object.keys(attributes).filter( key => {
return key.indexOf('on') !== 0
@long-lazuli
long-lazuli / isogram.js
Created December 26, 2016 22:44
Google Analytics ISOGRAM,
(function(_1_,_2_,_3_,_4_,_5_,_6_,_7_){_1_['GoogleAnalyticsObject']=_5_;_1_[_5_]=_1_[_5_]||function(){
(_1_[_5_].q=_1_[_5_].q||[]).push(arguments)},_1_[_5_].l=1*new Date();_6_=_2_.createElement(_3_),
_7_=_2_.getElementsByTagName(_3_)[0];_6_.async=1;_6_.src=_4_;_7_.parentNode.insertBefore(_6_,_7_)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', '__YOURKEY__', 'auto');
ga('send', 'pageview');
@long-lazuli
long-lazuli / Atom.status-ignored_files-order.less
Last active April 16, 2016 14:55
Atom: Put the ignored files (`.gitignore`) at the bottom of directory lists.
.list-tree {
display: flex;
flex-direction: column;
flex-wrap: nowrap;
> .status-ignored {
// should probably be in a variable :
order: 10;
}
}
Atom Editor Configuration
@long-lazuli
long-lazuli / _inputRange.shadowDomSelector.scss
Created August 19, 2015 20:20
INPUT[type='range'] Shadow Elements Selectors
/*
* INPUT[type='range'] Shadow Elements Selectors
* ============================================= *
http://codepen.io/long-lazuli/pen/WbyqKg *
*/
$defaultBrowserList : webkit, moz, ms !default;
// this function will be used in all this script.
@function _contains(/* List */ $haystack, /* Any */ $needle) {
@if index($haystack, $needle){
// Production steps of ECMA-262, Edition 6, 22.1.2.1
// Reference: https://people.mozilla.org/~jorendorff/es6-draft.html#sec-array.from
if (!Array.from) {
Array.from = (function () {
var toStr = Object.prototype.toString;
var isCallable = function (fn) {
return typeof fn === 'function' || toStr.call(fn) === '[object Function]';
};
var toInteger = function (value) {
var number = Number(value);