Skip to content

Instantly share code, notes, and snippets.

@mmikkel
mmikkel / ck-editor-disable-list-styles.json
Created April 12, 2024 07:45
CKEditor config to disable additional list styles
"list": {
"properties": {
"styles": false
}
}
@mmikkel
mmikkel / ckeditor-open-in-new-tab.json
Created April 12, 2024 07:44
CKEditor config to add a "Open in new tab" option to links
"link": {
"decorators": {
"openInNewTab": {
"attributes": {
"rel": "noopener noreferrer",
"target": "_blank"
},
"label": "Open in a new tab",
"mode": "manual"
}
@mmikkel
mmikkel / simpleMapPropagatingFix.php
Last active June 24, 2019 21:40
Fix (hack) for propagating Ether SimpleMap ("Map") elements across all sites in Craft 3
use ether\simplemap\elements\Map as SimpleMapElement;
Event::on(
Elements::class,
Elements::EVENT_AFTER_SAVE_ELEMENT,
function (ElementEvent $event) {
if (!Craft::$app->getIsMultiSite()) {
return;
}
@mmikkel
mmikkel / app.php
Created August 19, 2018 13:23
Craft 3 multi-env email settings
<?php
/**
* Yii Application Config
*
* Edit this file at your own risk!
*
* The array returned by this file will get merged with
* vendor/craftcms/cms/src/config/app/main.php and [web|console].php, when
* Craft's bootstrap script is defining the configuration for the entire
* application.
@mmikkel
mmikkel / CraftMultiLocaleValetDriver.php
Created December 4, 2016 13:10
Multi locale Craft CMS driver for Valet
<?php
class CraftMultiLocaleValetDriver extends ValetDriver
{
/**
* Determine if the driver serves the request.
*
* @param string $sitePath
* @param string $siteName
* @param string $uri
@mmikkel
mmikkel / vue.twig
Created September 15, 2016 00:38
Vue.js Craft template
{% includeJsFile('https://cdnjs.cloudflare.com/ajax/libs/vue/1.0.26/vue.js') %}
{% set script %}
Vue.config.debug = true;
Vue.config.delimiters = ['${', '}'];
new Vue({
el: '#content',
data: {
message: 'Hello Vue.js!'
@mmikkel
mmikkel / gist:1fa89933dc9dfa3f3037
Created March 20, 2016 19:45
Adding a custom filter to gulp-nunjucks-render
var manageEnvironment = function(environment) {
environment.addFilter('custom', function(str) {
return 'Olav, du må vakne. Indianarane kjem.';
});
}
var htmlTask = function() {
return gulp.src(paths.src)
.pipe(data(getData))
public function getFieldValues(BaseElementModel $entry, $fields = null)
{
foreach ($entry->fieldLayout->fields as $fieldLayoutField) {
$fieldHandle = $fieldLayoutField->field->handle;
if ($fields === null || in_array($fieldHandle, $fields)) {
$field[$fieldHandle] = $entry->getFieldValue($fieldHandle);
}
}
return $field;
@mmikkel
mmikkel / Installing Imagick with PHP 7.md
Last active September 26, 2016 23:13 — forked from sjelfull/Installing Imagick with PHP 7.md
Installing Image Magick for PHP 7 on a Server Pilot managed server
apt-get install pkg-config libmagickwand-dev -y
cd ~/downloads
wget http://pecl.php.net/get/imagick-3.4.0RC2.tgz
tar xvzf imagick-3.4.0RC2.tgz
cd imagick-3.4.0RC2
/opt/sp/php7.0/bin/phpize
./configure
make install
rm -rf /tmp/imagick-3.4.0RC2*
@mmikkel
mmikkel / elementSelectChange.js
Created September 24, 2015 08:28
Poll for changes to element selects in Craft CMS
$(function () {
// Bind a greedy event handler
$('body').on('elementselectchange', '.elementselect', onElementSelectChange);
// Poll to evalute elementselects every 10ms
setInterval(evaluateElementSelects, 10);
function evaluateElementSelects ()
{