Skip to content

Instantly share code, notes, and snippets.

View umkasanki's full-sized avatar

Oleg Tishkin umkasanki

View GitHub Profile
@umkasanki
umkasanki / .twig
Created March 17, 2020 15:47
Craft CMS / Twig / Tailwing. SVG with dynamic color replace
{% set image = item.icon.one() %}
{% if image and image.extension == 'svg' %}
{{ svg(image, class='h-full w-auto')|replace({
'^fill="#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})"$': 'class="fill-current"',
'^stroke="#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})"$"': 'class="stroke-current"'
})|raw }}
{% endif %}
@umkasanki
umkasanki / twig
Last active January 9, 2020 10:11
Tailwind section
<section class="py-40p lg:py-60p"> {# .bg-gray #}
<div class="container px-20p mx-auto lg:text-center mb-30p lg:mb-60p">
<div class="font-bold text-36p leading-111 text-blue">
<h2>Heading</h2>
</div>
<div class="text-20p leading-150 lg:max-w-8/12 mt-20p mx-auto text">
<p>Lead</p>
</div>
</div>
<div class="container px-20p mx-auto">
@umkasanki
umkasanki / drodels.js
Last active November 15, 2019 16:12
Animate elements using Intersection Observer API with delay
const drodels = (selector) => {
const load = (el) => {
if (el.classList.contains('is-dynamic')) {
customizeDroedel(el);
}
el.classList.add('is-loaded');
};
const scrollTop = window.pageYOffset || document.documentElement.scrollTop;
const targets = document.querySelectorAll(selector);
@umkasanki
umkasanki / hubspot-form-v3.php
Created November 7, 2019 08:44
Hubspot form
$data3 = array (
'fields' =>
array (
0 =>
array (
'name' => 'email',
'value' => 'example@example.com',
),
),
'context' =>
@umkasanki
umkasanki / hubspot-form-v2.php
Last active November 7, 2019 08:40
hubspot form v2
$data2 = array (
'fields' =>
array (
0 =>
array (
'name' => 'email',
'value' => 'example@example.com',
),
),
'context' =>
@umkasanki
umkasanki / gist:3b7f53edf924ca26df81023bb395107d
Created July 27, 2019 06:51
Office 365 configuration to only install Word, Excel
1. Download MS Office Deployment Tool:
https://www.microsoft.com/en-us/download/details.aspx?id=49117
2. Extract it to desktop
3. Rename one of the config files to 'configuration.xml'
and replace its content with:
```
<Configuration>
import Cookies from 'js-cookie';
const subscribe = formId => {
const nextStep = $(formId).attr('data-href');
const mail = Cookies.get('mail');
if (mail) {
$(formId + ' input[type=email]').val(mail);
}
$(formId).submit(function(ev) {
import * as Sentry from '@sentry/browser';
import lozad from 'lozad';
import navBurger from './_partials/_nav-burger';
import cookie from './_partials/_cookie';
import accordion from './_partials/_accordion';
import range from './_partials/_rangeSlider';
import mobileNavAccordion from './_partials/_dropdownNav';
import tabs from './_partials/_tabs';
import featuresTable from './_partials/_featuresTable';
@umkasanki
umkasanki / picture.twig
Last active April 13, 2019 10:02
lazy-loaded picture for craftcms templates
{% import '_inc/macros.twig' as macro %}
{% set imageQr = entry.image %}
{% if imageQr|length %}
{% set image = imageQr.one() %}
<picture class="lazy hero__media" style="display: block; min-height: 1rem" data-iesrc="{{ macro.fit(image, 1200, 'auto', 90)|trim }}" data-alt="{{ image.title }}">
<source media="(min-width: 764px)" srcset="{{-
macro.fit(image, 1000, 'auto', 100)|trim ~ ' 1000w, ' ~
macro.fit(image, 1600, 'auto', 100)|trim ~ ' 1600w, ' ~
macro.fit(image, 2400, 'auto', 100)|trim ~ ' 2400w' -}}"
@umkasanki
umkasanki / img.twig
Last active April 13, 2019 10:03
lazy-loaded responsive image for craftcms templates
{% import '_inc/macros.twig' as macro %}
{% set imageQr = entry.image %}
{% if imageQr|length %}
{% set image = imageQr.one() %}
<img class="lazy"
sizes="(min-width: 62.5rem) 62.5rem, 100vw"
data-src="{{ macro.crop(image, 10/4, 1000) }}"
data-srcset="{{-