Skip to content

Instantly share code, notes, and snippets.

View luruke's full-sized avatar

Luigi De Rosa luruke

View GitHub Profile
@luruke
luruke / .slate
Created April 8, 2015 15:29
my slate conf
# This is the default .slate file.
# If no ~/.slate file exists this is the file that will be used.
config defaultToCurrentScreen true
config nudgePercentOf screenSize
config resizePercentOf screenSize
# Resize Bindings
#bind right:alt resize +10% +0
#bind left:alt resize -10% +0
@luruke
luruke / barba_wikipedia.js
Created February 7, 2016 17:03
Add barba on wikipedia
// Barba wikipedia.org
var js = document.createElement('script');
js.type = 'text/javascript';
js.onload = initBarba;
js.src = 'https://luruke.github.io/barba.js/dist/barba.min.js';
document.body.appendChild(js);
function initBarba() {
Barba.Pjax.Dom.parseContainer = function(el) {
return el.querySelector('#content');
@luruke
luruke / smashingmagazine.js
Last active January 12, 2022 15:34
Source code of the demo "Improving User Flow Through Page Transitions" on Smashing Magazine.
/*
https://www.smashingmagazine.com/2016/07/improving-user-flow-through-page-transitions/
You can copy paste this code in your console on smashingmagazine.com
in order to have cross-fade transition when change page.
*/
var cache = {};
function loadPage(url) {
if (cache[url]) {
@luruke
luruke / README.md
Last active March 7, 2018 15:37
Looking for a new maintainer for barba.js

About two years ago I published Barba.js, a little unopinionated library for push state navigation. The library has now reached 6k stars and it's widely used by agencies and independents.

Unfortunately for different reasons I don't have much time to dedicate to the project, but at the same time it's a shame let the project die, while it's still so used from many people.

I'm looking for an active maintainer, that is already using barba.js and that can take care of the project, keep it alive and let it evolve.

Of course I can give some advice and help to keep the nature of the project consistent.

@luruke
luruke / ObjectPool.js
Created March 16, 2018 00:44
ObjectPool.js
export default class ObjectPool {
constructor(options = {}) {
this.options = Object.assign({
number: 10,
Create() {
return {};
},
}, options);
this.available = [];
@luruke
luruke / bunny.js
Created October 27, 2018 07:51
draw bunny on terminal
const drawille = require('drawille')
const bunny = require('bunny')
const glmatrix = require('gl-matrix')
const width = 200
const height = 200
const canvas = new drawille(width, height)
const mat4 = glmatrix.mat4
const vec3 = glmatrix.vec3
let points = []
@luruke
luruke / PostFX.js
Last active January 13, 2024 09:05
Simple example of postprocessing in three.js
/*
To use it, simply declare:
`const post = new PostFX(rendering);`
Then on update, instead of:
`rendering.render(scene, camera);`
replace with:
`post.render(scene, camera);`
*/
import {
/**
* Try to fix iOS lock on audio.
*
* By default, audio on iOS is locked until a sound is played within a user interaction,
* and then it plays normally the rest of the page session.
*/
// Inspired from https://github.com/goldfire/howler.js/blob/2.0/src/howler.core.js#L212
export default class IosUnlock {
// Button DOM
<a href="#" data-component="trackable" data-type="button">Yo, button</a>
// Trackable kapla component (https://github.com/thierrymichel/kapla)
// Using it just to track when some dom is "mounted/unmounted"
import { Component } from 'kapla';
import dom from 'gl/dom';
export default class extends Component {
init() {
import {
NearestFilter,
RepeatWrapping,
} from 'three';
import FBO from '../utils/fbo';
import textures from 'gl/utils/textures';
import trail from '../utils/trail';
import bidello from 'bidello';