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
<?php | |
// generates the session cookie prefix string used by Craft CMS to track | |
// logged-in user sessions: <prefix>_identity | |
use craft\web\User as WebUser; | |
echo md5('Craft.'.WebUser::class.'.'.sprintf('%s--%s', Craft::$app->id, 'production')); |
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
// Uncheck any `input[type=checkbox]` (`[data-checkboxscope-input]`) | |
// outside a defined scope area (`[data-checkboxscope-container]`) | |
// | |
// Eg: | |
// | |
// <div data-checkboxscope-container> | |
// <input data-checkboxscope-input type=checkbox> | |
// </div> | |
// <div> | |
// <!-- a click here will uncheck the checkbox above --> |
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
# Add this file to the root of your Craft CMS project dir | |
exclude = "{$exclude,web/{cpresources,media,transcoder,images/*},storage/{backups,config-backups,config-deltas,runtime,logs},*.sql,.ddev/.*}" | |
includeDirectories = "{$includeDirectories,.ddev}" | |
excludeDirectories = "{$excludeDirectories,.ddev/*}" |
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
// Allow 'require-ing' at least one option from a list of checkboxes | |
// with the same name. Polyfill for modifying the default HTML behaviour | |
// which is requiring all checkboxes with the 'required' attribute | |
// | |
// eg: | |
// <input type=checkbox name=eg value=a data-required-any> | |
// <input type=checkbox name=eg value=b data-required-any> | |
// <input type=checkbox name=eg value=c data-required-any> | |
(function (window) { |
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
# | |
# WARNING: This is not a complete NGINX configuration file | |
# It tries to highlight just the directives used to enable FastCGI microcaching | |
# as explained in my “Micro-caching in Nginx for High Performance” talk | |
# https://speakerdeck.com/rungta/micro-caching-in-nginx-for-high-performance | |
# Video: https://youtu.be/termdb4vepA?t=2199 | |
# | |
http { | |
#... |
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
(function(w) { | |
function checkboxAsRadio(selector) { | |
return function (event) { | |
var el = event.target; | |
// only proceed if we have a matching checkbox | |
if (!(el instanceof HTMLInputElement && el.matches(selector))) { | |
return; | |
} |
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
/** | |
* Open all external links in a new window | |
*/ | |
(function ($) { | |
function openExternalLinksInNewWindows() { | |
$('a') | |
.filter('[href^="http"], [href^="//"]') | |
.not('[href*="' + window.location.host + '"]') | |
.attr('rel', function (i, val) { | |
return 'noopener noreferrer ' + (val || ''); |
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
{# _init.twig #} | |
{# | |
Usage | |
extend `_init` | |
set `doNotCache` to true to exclude a page | |
set `cacheKey` to a string to cache a template globally | |
(as opposed to by URL). eg: 404 template | |
modify `cacheKeyPrefix` to include variation params, if any | |
#} |
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
/** | |
* fontloader.js | |
Helps you avoid FOIT and progressively load in multiple | |
sets of webfonts as asynchronous non-blocking resources. | |
Apply them on the page when the fonts are ready, like so: | |
.title-type { font-family: serif; } | |
.prose-type { font-family: sans-serif; } | |
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
{# Treat the slug as a template path #} | |
{% set template = include(top_level_slug, ignore_missing = true) %} | |
{# Render the template contents if found, otherwise treat the slug as a username #} | |
{% if template is not empty %} | |
{{- template|raw -}} | |
{% else %} | |
{%- include 'users/_profile' with { username: top_level_slug } -%} | |
{% endif %} |
NewerOlder