Skip to content

Instantly share code, notes, and snippets.

View JPustkuchen's full-sized avatar

Julian Pustkuchen JPustkuchen

View GitHub Profile
@JPustkuchen
JPustkuchen / README.md
Last active January 9, 2018 15:49
[Docker set default binding IP e.g. for links in portainer] #docker

cd /etc/default/docker (if not existing, create the file)

Add the following line (or the --ip=... part if already existing):

DOCKER_OPTS="--ip=192.168.123.123" (Your docker host IP)

Restart docker: systemctl stop docker

@JPustkuchen
JPustkuchen / getMinMaxFromMediaQuery.php
Last active February 12, 2018 16:16
PHP regex extraxt min-width / max-width from CSS MediaQuery
<?php
function getMinMaxFromMediaQuery($mediaQuery) {
$re = '/\d*(min-width|max-width):\s*(\d+\s?)(px|em|rem)/';
preg_match_all($re, $mediaQuery, $matches, PREG_SET_ORDER, 0);
$result = array();
if (!empty($matches)) {
if (count($matches) <= 2) {
foreach ($matches as $match) {
if (count($match) == 4) {
$result[] = [
@JPustkuchen
JPustkuchen / CustomBreadcrumbBlock.php
Last active August 8, 2019 07:44
Drupal 8 Custom Breadcrumb block printing the 2 top level breadcrumbs including page title
<?php
namespace Drupal\custom_breadcrumb_block\Plugin\Block;
use Drupal\Core\Block\BlockBase;
use Drupal\Core\Breadcrumb\BreadcrumbBuilderInterface;
use Drupal\Core\Plugin\ContainerFactoryPluginInterface;
use Drupal\Core\Routing\RouteMatchInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
use Drupal\Core\Controller\TitleResolverInterface;
@JPustkuchen
JPustkuchen / reload-on-orientation-change-xbrowser.js
Created June 2, 2020 13:31
JavaScript X-Browser reload on orientation change using MatchMedia
// RELOAD ON ORIENTAtiON CHANGE:
var mqp = window.matchMedia("(orientation: portrait)");
// Detect initial orientation
var is_portrait = mqp.matches;
var isFullscreen = document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.msFullscreenElement;
// Add a media query change listener
mqp.addListener(function(m) {
// Check if orientation changed:
if(m.matches) {
// Changed to portrait
(function($) {
/**
* jQuery function to scroll the element into the viewport with
* typical options and menu bar exclusion.
*/
$.fn.scrollToViewport = function(options) {
var settings = $.extend({
/**
* The scroll duration.
*/
@JPustkuchen
JPustkuchen / scrollToMiddle.js
Created August 14, 2019 12:42
jQuery: Scroll element to the middle of the viewport
(function($) {
/**
* jQuery function to scroll the viewport middle to the element.
*/
$.fn.scrollToMiddle = function(options) {
var settings = $.extend({
duration: 1000
}, options );
return this.each(function() {
@JPustkuchen
JPustkuchen / d8-remove-wrong-equal-translations-l10n.md
Last active March 7, 2021 10:23
Drupal 8 CMS: Delete equal customized translation (source language string = target language string)

Drupal 8 CMS: Delete equal customized translation (source language string = target language string)

If you should encounter the problem that some translations are wrongly translated with the equal source language string (for example in our case there were German translations for "Author" translated with "Author" or "Published" with "Published"), you may use the following snippet to list them.

SELECT s.lid,s.source, t.translation FROM `locales_source` s
INNER JOIN locales_target t
WHERE s.lid=t.lid AND CONVERT(s.source USING utf8) = CONVERT(t.translation USING utf8) 
AND t.customized=1

To finally delete them, you may use something like this, but make a backup before and know what you're doing!

@JPustkuchen
JPustkuchen / autoreload.js
Last active June 25, 2021 16:18
JavaScript jQuery Page Auto Reload Timer with enable / disable checkbox
<script>
$( document ).ready(function() {
window.setInterval(function() {
if($('#autoreload').is(':checked')){
if(('#autoreload-wrapper .countdown').length && (parseInt($('#autoreload-wrapper .countdown').text()) <= 1)){
// Reload every 60 seconds without sending POST again:
window.location.href = window.location.href;
} else {
$('#autoreload-wrapper .countdown').text(parseInt($('#autoreload-wrapper .countdown').text()) - 1);
}
; Personal Configuration for https://github.com/DanTup/BrowserSelector
; See https://julian.pustkuchen.com/en/open-specific-browser-url-open-clickup-brave
; Default browser is first in list
; Use `{url}` to specify UWP app browser details
[browsers]
ff = C:\Program Files\Mozilla Firefox\firefox.exe
chrome = C:\Program Files (x86)\Google\Chrome\Application\chrome.exe
edge = microsoft-edge:{url}
@JPustkuchen
JPustkuchen / drupal-delete-entity-type-bundle.php
Created February 9, 2022 15:27
Drupal 8 / 9: Delete Entity Bundle ($configEntityBildText)
<?php
// Delete paragraph example_bundle bundle!
/** @var \Drupal\Core\Config\Entity\ConfigEntityStorage $entity_storage */
$entity_storage = \Drupal::entityTypeManager()->getStorage('paragraphs_type');
$configEntityBildText = $entity_storage->load('example_bundle');
$configEntityBildText->delete();
?>