Skip to content

Instantly share code, notes, and snippets.

Avatar
✍️
Writing

Brian Jackson brianleejackson

✍️
Writing
View GitHub Profile
@brianleejackson
brianleejackson / fastclick-mobile-only.js
Created March 1, 2023 22:32
Only load FastClick on mobile devices (no tablets or desktop)
View fastclick-mobile-only.js
<script>
if (window.innerwidth < 900) {
document.write('<script type="text/javascript" src="https://domain.com/wp-content/plugins/perfmatters/vendor/fastclick/fastclick.min.js"><\/script>');
}
</script>
<script>
if(window.innerWidth < 900) {
if('addEventListener' in document) {
document.addEventListener('DOMContentLoaded', function() {
@brianleejackson
brianleejackson / lazy-render.css
Last active January 24, 2023 00:01
Add content-visibility to WordPress element (lazy render)
View lazy-render.css
.nameofdiv {
content-visibility: auto;
contain-intrinsic-size: 0 1000px;
}
/* References:
https://web.dev/content-visibility/
https://segmentfault.com/a/1190000041980427/en
https://clubmate.fi/content-visibility-auto
https://dev.to/dailydevtips1/i-made-my-website-28ms-faster-with-content-visibility-466e
@brianleejackson
brianleejackson / obsidian-custom-css.css
Created December 29, 2022 05:07
Obsidian custom CSS
View obsidian-custom-css.css
/* preview-mode paragraphs */
p{
padding-top: 6px;
padding-bottom: 6px;
line-height: 1.6;
}
/* preview-mode lists */
li{
padding-top: 6px;
@brianleejackson
brianleejackson / line-breaks-fluent-forms.php
Created December 28, 2022 17:59
Remove additional line breaks in Fluent Forms WordPress plugin
View line-breaks-fluent-forms.php
add_filter('fluentform_response_render_textarea', function ($value, $field, $formId, $isHtml) {
if (false != strpos($value, '<br />')) {
$value = str_replace('<br />', '', $value);
}
return '<span style="white-space: pre-line">' . $value . '</span>';
}, 15, 4);
View ninja-forms-perfmatters-delay-js-exclusions.php
add_filter('perfmatters_delay_js_exclusions', function($exclusions) {
if(is_page(275)) {
$exclusions[] = 'underscore.min.js';
$exclusions[] = 'backbone.min.js';
$exclusions[] = 'front-end-deps.js';
$exclusions[] = 'front-end.js';
$exclusions[] = 'nf-';
$exclusions[] = 'jquery.min.js';
$exclusions[] = 'nfForms';
}
@brianleejackson
brianleejackson / mobile-cache-buckets.php
Last active July 31, 2022 21:09
Testing mobile cache buckets. This snippet echos out text only on desktop in the footer. If you see it on mobile, it means your mobile cache bucket isn't configure properly.
View mobile-cache-buckets.php
add_action('wp_footer', function() {
if(!wp_is_mobile()) {
echo 'hello world';
}
});
@brianleejackson
brianleejackson / fastclick-delay-js-workaround.js
Last active April 11, 2022 02:12
FastClick Delay JS workaround for iOS double-click bug. As used here: https://perfmatters.io/docs/delay-javascript/
View fastclick-delay-js-workaround.js
<script src="https://cdnjs.cloudflare.com/ajax/libs/fastclick/0.6.0/fastclick.min.js" integrity="sha512-oljyd1wg75alHReTpDvNIQ4Yj1wZwGxxZhJhId3vr2dKY+26/r/wmMrImwDgin03+7wxyhX+adOQB/2BTvO5tQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<script>
if ('addEventListener' in document) {
document.addEventListener('DOMContentLoaded', function() {
FastClick.attach(document.body);
}, false);
}
</script>
@brianleejackson
brianleejackson / author-bio-box.css
Last active March 8, 2021 04:37
Author bio box CSS. As seen on https://woorkup.com
View author-bio-box.css
/*author bio box*/
a.gb-button {
border-bottom: none !important;
}
.author-box a {
border-bottom: 2px solid rgba(35, 117, 214, 0.4);
}
.author-description {
margin-bottom: 5px;
}
View remove-query-strings-wordpress.php
/* Remove Query Strings
/***********************************************************************/
add_action('init', 'remove_query_strings');
function remove_query_strings() {
if(!is_admin()) {
add_filter('script_loader_src', 'remove_query_strings_split', 15);
add_filter('style_loader_src', 'remove_query_strings_split', 15);
}
}
function remove_query_strings_split($src) {
@brianleejackson
brianleejackson / novashare-news-refresh-rate-12-hours.php
Created January 6, 2021 17:12
Novashare news site refresh rate (12 hours)
View novashare-news-refresh-rate-12-hours.php
function novashare_custom_refresh_rates($rates) {
return array(
'max' => 5184000, //60 days in seconds
'sets' => array(
array(
'modified' => 604800, //7 days in seconds
'rate' => 43200 //12 hours in seconds
),
array(
'modified' => 2419200, //28 days in seconds