Skip to content

Instantly share code, notes, and snippets.

View evgeny-ilyin's full-sized avatar
🌈
Good enough

Evgeny evgeny-ilyin

🌈
Good enough
View GitHub Profile
@evgeny-ilyin
evgeny-ilyin / Gradient.js
Created July 18, 2025 19:37 — forked from jordienr/Gradient.js
Stripe Mesh Gradient WebGL
/*
* Stripe WebGl Gradient Animation
* All Credits to Stripe.com
* ScrollObserver functionality to disable animation when not scrolled into view has been disabled and
* commented out for now.
* https://kevinhufnagl.com
*/
@evgeny-ilyin
evgeny-ilyin / GLSL-Noise.md
Created July 18, 2025 09:10 — forked from patriciogonzalezvivo/GLSL-Noise.md
GLSL Noise Algorithms

Please consider using http://lygia.xyz instead of copy/pasting this functions. It expand suport for voronoi, voronoise, fbm, noise, worley, noise, derivatives and much more, through simple file dependencies. Take a look to https://github.com/patriciogonzalezvivo/lygia/tree/main/generative

Generic 1,2,3 Noise

float rand(float n){return fract(sin(n) * 43758.5453123);}

float noise(float p){
	float fl = floor(p);
  float fc = fract(p);
@evgeny-ilyin
evgeny-ilyin / bitrix:news.sections.elements.md
Created December 26, 2024 15:04 — forked from if0rest/bitrix:news.sections.elements.md
Совместный вывод разделов и элементов в bitrix:news.list.

ВЫВОД РАЗДЕЛОВ И ЭЛЕМЕНТОВ В bitrix:news.list

Часто возникает необходимость вывести разделы инфоблока с элементами на одной странице. Для этой цели подойдет связка catalog.sections + news.list. Или можно обойтись одним bitrix:news.list, немного кастомизировав шаблон компонента. Пойдем вторым путем.

Итак.

  1. Размещаем компонент bitrix:news.list на целевой странице.
  2. Копируем шаблон компонента в текущий шаблон сайта.
  3. Создаем в нем файл result_modifier.php с таким содержимым.
@evgeny-ilyin
evgeny-ilyin / stop-video.js
Created June 6, 2024 13:57 — forked from cferdinandi/stop-video.js
A simple method to stop YouTube, Vimeo, and HTML5 videos from playing.
/**
* Stop an iframe or HTML5 <video> from playing
* @param {Element} element The element that contains the video
*/
var stopVideo = function ( element ) {
var iframe = element.querySelector( 'iframe');
var video = element.querySelector( 'video' );
if ( iframe ) {
var iframeSrc = iframe.src;
iframe.src = iframeSrc;
@evgeny-ilyin
evgeny-ilyin / docx_editor.php
Created April 7, 2024 17:22 — forked from abarke/docx_editor.php
Edit a Microsoft Word .docx file using PHP and the zip extension.
<?php
$input = 'original.docx';
$output = 'modified.docx';
$replacements = [
'{test-placeholder-1}' => 'test successful 1',
'{test-placeholder-2}' => 'test successful 2',
'{test-placeholder-3}' => 'test successful 3',
'{test-placeholder-4}' => 'test successful 4',
];
@evgeny-ilyin
evgeny-ilyin / bitrix-ajax-load-elements
Created November 27, 2023 07:47 — forked from Elvinz/bitrix-ajax-load-elements
Показать еще / ajax подгрузка элементов в Битрикс
Создать свой шаблон компонента постраничной навигации bitrix:system.pagenavigation
<?if($arResult["NavPageCount"] > 1):?>
<?if ($arResult["NavPageNomer"]+1 <= $arResult["nEndPage"]):?>
<?
$plus = $arResult["NavPageNomer"]+1;
$url = $arResult["sUrlPathParams"] . "PAGEN_1=" . $plus
?>
<div class="load_more" data-url="<?=$url?>">
Показать еще
</div>
@evgeny-ilyin
evgeny-ilyin / detect_touch.js
Created November 23, 2023 16:23 — forked from esedic/detect_touch.js
Various JavaScript methods for detecting touch/mobile devices
// Method 1
var isTouchDevice =
(('ontouchstart' in window) ||
(navigator.MaxTouchPoints > 0) ||
(navigator.msMaxTouchPoints > 0));
if(!isTouchDevice){
console.log('is not touch');
}else{
console.log('is touch');
}
@evgeny-ilyin
evgeny-ilyin / numbers_slider.js
Created June 18, 2022 19:32 — forked from VasiliuKr/numbers_slider.js
bitrix smart filter numbers slider
// В файле script.js шаблона фильтра редактируем:
SmartFilter.prototype.recountMinPrice = function()
{
/* Блок кода взят с https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/round */
var myNamespace = {};
myNamespace.round = function(number, precision) {
var factor = Math.pow(10, precision);
var tempNumber = number * factor;
class CCustomTypeElementDate{
//описываем поведение пользовательского свойства
function GetUserTypeDescription() {
return array(
'PROPERTY_TYPE' => 'E',
'USER_TYPE' => 'skill',
'DESCRIPTION' => 'Квалификация — Дата получения квалификации', //именно это будет выведено в списке типов свойств во вкладке редактирования свойств ИБ
//указываем необходимые функции, используемые в создаваемом типе
'GetPropertyFieldHtml' => array('CCustomTypeElementDate', 'GetPropertyFieldHtml'),
@evgeny-ilyin
evgeny-ilyin / SassMeister-colors-input.scss
Last active March 19, 2019 20:18 — forked from davidkpiano/SassMeister-input.scss
by SassMeister.com. #SASS
// ----
// Sass (v3.4.12)
// Compass (v1.0.3)
// ----
$scotch-color-key: 'base' !default;
$scotch-colors: (
'primary': (
'base': #8e3329,