- Vuepress: Vue.js on top of WordPress
- fitToParent: Vanilla JS to resize a DOM element to fit its parent container while maintaining original aspect ratio
- Zoomhaus: Vanilla JS+CSS smooth image takeover effect
- Rest-Easy: WordPress plugin to rest-ify your site with zero effort and powerful customization
- FH-Footer: Self-updating slide-to-reveal footer in vanilla JS
- FH-Overlap: Simple overlap checker in vanilla JS
- funky-colors: WordPress plugin to detect a palette of colors from each image in the media library
- Funky-Imgix: WordPress plugin to get Imgix images easily
- WP-Shopify: WordPress plugin for easy Shopify integrat
I hereby claim:
- I am safrmo on github.
- I am safrmo (https://keybase.io/safrmo) on keybase.
- I have a public key ASBu-WO-xxfU6n0lkWsmHwlyGp3X2eba7iBHO70mLul_uwo
To claim this, I am signing this object:
- Front page
- Switch Front Page > Rooms to Rooms v2
- Remove extra content from children of Rooms
- Switch Callouts to Rooms v2 template
- Remove extra content from children of Callouts
- Switch "Dining & Entertainment" to Landscape Slideshow template
- Add content to children of "Dining & Entertainment"
- Add custom gallery to front page
- Menus
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<template> | |
<main class="content home"></main> | |
</template> | |
<script> | |
export default {} | |
</script> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// catch newsletter button - any link with `#newsletter` triggers the callback | |
window.addEventListener('click', evt => { | |
if( evt.target && event.target.href && typeof evt.target.href == 'string' && event.target.href.indexOf('#newsletter') != -1 ){ | |
evt.preventDefault() | |
// YOUR ACTION HERE... | |
} | |
}) | |
// keys! |
Some NPM packages I've written or contributed to:
- auto-blur - Blur a button or other element automatically when clicked.
- blast-vanilla - Vanilla version of Blast.js. Blast text apart to make it manipulable.
- fh-components - Reusable Vue + Vuepress components.
- fh-deploy - Deploy files to a server via SFTP.
- sketch-outline - Outline a element in Vue on focus or hover using the hand-drawn style of roughjs.
- zoomhaus - Medium-like vanilla JS image takeover effect.
Phaser packages
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* Get the host of the this script. The host will be used for posting the data. | |
*/ | |
var getHost = function () { | |
var scripts = document.getElementsByTagName("script"); | |
var i; | |
for (i = 0; i < scripts.length; i++) { | |
var urlAttribute = scripts[i].attributes.getNamedItem("src"); | |
if (urlAttribute) { | |
var url = urlAttribute.nodeValue; |
Problem: we have:
- image with dimensions vec2 imageDimensions
- container with dimensions vec2 containerDimensions
OlderNewer