Skip to content

Instantly share code, notes, and snippets.

View cedeber's full-sized avatar
🦀
Rustacean

Cédric Eberhardt cedeber

🦀
Rustacean
View GitHub Profile
@cedeber
cedeber / navbar.html
Last active April 27, 2016 06:38
SVG Navigation Bar - Browser-like
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<style>
.navbar {
overflow: hidden;
border: solid 1px #dbdbdb;
border-radius: 5px 5px 0 0;
line-height: 0;
@cedeber
cedeber / 1px.html
Created May 6, 2016 08:42 — forked from jaynzr/1px.html
1px transparent pixel
<img src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==">
@cedeber
cedeber / ckeditor.config.rich-text.js
Created May 1, 2017 22:00
CKEditor Configurations
/**
* External plugins added through the server-side FieldFactory are automatically registered.
* Other external plugins (e.g. client-only) may still be registered here (and subsequently added via config.extraPlugins).
*
* e.g. if your plugin resides in src/main/resources/VAADIN/js:
* CKEDITOR.plugins.addExternal("abbr", CKEDITOR.vaadinDirUrl + "js/abbr/");
*/
CKEDITOR.editorConfig = function ( config ) {
// MIRROR info.magnolia.ui.form.field.definition.RichTextFieldDefinition
@cedeber
cedeber / image-hero.js
Created June 27, 2017 13:17
Image as Hero
(function() {
var image = document.getElementById("image-${content.@id}");
var imageTop = (function() {
var element = image, top = element.offsetTop;
while ((element = element.offsetParent) !== null && element !== document.body) { top += element.offsetTop; }
return top;
}());
image.style.height = (window.innerHeight - imageTop) + "px";
}());
@cedeber
cedeber / locale.js
Created February 21, 2018 15:34
Set locale from browser
const def = ["en", "fr", "de"];
let locale = navigator.language.indexOf("-") === -1
? navigator.language
: navigator.language.split("-")[0];
locale = def.indexOf(locale) === -1 ? def[0] : locale;
document.documentElement.lang = locale;
@cedeber
cedeber / .editorconfig
Created March 16, 2018 08:27
Projects Configurations files
# Cross-editor coding style settings.
# See http://editorconfig.org/ for details.
root = true
[*]
charset = utf-8
indent_style = space
indent_size = 4
end_of_line = lf
@cedeber
cedeber / tagged-selector.js
Created March 31, 2018 19:12
Tagged Selector
export default function $(strings, ...expressions) {
let selector = [strings[0]];
expressions.forEach((expr, i) => selector.push(expr, strings[i + 1]));
return document.querySelector(selector.join(""));
}
@cedeber
cedeber / ext.js
Created April 3, 2018 13:20
URL extension
const ext = url.slice(((url.lastIndexOf(".") - 1) >>> 0) + 2);
@cedeber
cedeber / loaded.js
Created April 3, 2018 16:41
Page loaded
function pageLoaded() {
return new Promise(resolve => {
if (document.readyState === "complete") {
resolve();
} else {
window.addEventListener("load", () => {
resolve();
});
}
});
@cedeber
cedeber / apply-before-exit.js
Created April 3, 2018 16:57
Apply before page exits
function applyBeforeExit(doBefore) {
document.addEventListener("click", async (event) => {
// Test for left click.
if (event.button !== 0) {
return;
}
let element = event.target;
// Go up through the DOM tree to search for a link