Skip to content

Instantly share code, notes, and snippets.

@jsonberry
jsonberry / wp-new_widget.php
Last active February 19, 2016 20:18
WordPress -> Custom Widget Function. Add to functions.php.
<?php
function create_widget($name, $id, $description)
{
register_sidebar(array(
'name' => __( $name ),
'id' => $id,
'description' => __( $description ),
'before_widget' => '<div id="'.$id.'" class="widget %1$s %2$s">',
'after_widget' => '</div>',
@jsonberry
jsonberry / wp-custom-menu.php
Created February 19, 2016 20:17
WordPress -> Custom Menu Area function, add to functions.php
<?php
function register_my_menus()
{
register_nav_menus(
array(
'footer-menu' => __( 'Footer Menu' )
)
);
}
@jsonberry
jsonberry / hero_img_overlay_content.css
Last active June 1, 2016 18:42
Hero image + overlay + centered content (with adjustable vertical height)
// These styles can help you get a hero image with an overlay as well as centered content placement
/* Example markup
<div id='hero-image'>
<div id='hero-overlay'></div>
</div>
<div id='hero-content'>
<p>Look ma, no hands!</p>
</div>
*/
@jsonberry
jsonberry / mobile.css
Created June 10, 2016 18:43
Switch content order CSS only / IE11+ Friendly
/*
I needed to switch the order of content displayed between two sections that each had nested information.
On desktop section #1 was a left sidebar, section #2 was the main content.
On mobile these needed to be flipped so the main content would appear before the sidebar content, in a column.
The solution here worked only so far: http://stackoverflow.com/questions/17455811/swap-div-position-with-css-only
The main problem with this solution was that on iOS Chrome version ^51.0.2 on iPhone 6 and iPad mini, as well as Safari and whatever default internet browser coems on Android devices...
... all content was stacked on top of each other.
The following solution gave me the effect I was looking for, without content stacking on top of each other.
*/
@jsonberry
jsonberry / on_scroll_toggle_element.js
Last active January 3, 2017 03:26
Toggle Footer [jQuery 1.12+ && debouncing]
// jQuery 1.12+
// Bind to window scrolling and setup debouncer
$(window).scroll(function() {
clearTimeout(this.id);
this.id = setTimeout(doneScrolling, 130); // 130ms was the shortest time that allowed execution of only once, any slower and it would fire multiple times
});
// Execute any functions here when scrolling stops
// Put all the things here!
function doneScrolling(){
@jsonberry
jsonberry / _material-design-text-color.scss
Created July 2, 2016 19:19
Google Material Colors - Text/Icons and background colors
// Dark text on light backgrounds
$md-dol-primary: rgba(0,0,0,.87);
$md-dol-secondary: rgba(0,0,0,.54);
$md-dol-hint: rgba(0,0,0,.38);
$md-dol-divider: rgba(0,0,0,.12);
// White text on dark backgrounds
$md-lod-primary: rgba(255,255,255,1);
$md-lod-secondary: rgba(255,255,255,.70);
$md-lod-hint: rgba(255,255,255,.50);
@jsonberry
jsonberry / modal--scrollable--content.scss
Created July 5, 2016 18:14
Modal with scrollable content
.modal {
min-height: 100%;
position: fixed;
background-color: $darkslategray-opaque;
transform: translateY(-150%);
transition: transform 750ms ease-in-out;
display: flex;
justify-content: center;
align-items: center;
}
@jsonberry
jsonberry / wp_nested_nav_styling.scss
Last active July 11, 2016 17:21
Simple SCSS to nest menu items in a WordPress Menu
/*
Styling that correctly nests a WordPress menu generated with wp_nav_menu, with the container flag set to false (up to you how you implement)
--> Not yet mobile friendly <--
--> No additional classes need to be added to the menu the wp_nav_menu function <--
--> Be sure to call the function inside a container element with the appropriate class of navbar <--
--> Create and manage the menu via WP Appearance > Menu <--
I left my initial styling here just as an example, so styles like font sizes and colors can be ignored
What's important to note is when display changes for ul/li on hovers
@jsonberry
jsonberry / _ie.scss
Last active January 3, 2017 03:01
Target IE 10 + 11 via CSS Media Query
// These styles only affect IE 10 + 11
@media all and
(-ms-high-contrast: none),
(-ms-high-contrast: active) {
.selector {
display: none;
}
}
@jsonberry
jsonberry / onload.js
Last active July 3, 2023 14:10
Window vs. Document Loading Events
/**
Taken from: http://stackoverflow.com/questions/588040/window-onload-vs-document-onload
According to Parsing HTML documents - The end,
The browser parses the HTML source and runs deferred scripts.
A DOMContentLoaded is dispatched at the document when all the HTML has been parsed and have run. The event bubbles to the window.
The browser loads resources (like images) that delay the load event.
A load event is dispatched at the window.
Therefore, the order of execution will be
DOMContentLoaded event listeners of window in the capture phase
DOMContentLoaded event listeners of document