Skip to content

Instantly share code, notes, and snippets.

View sglazov's full-sized avatar

Sergey Glazov sglazov

View GitHub Profile
@sglazov
sglazov / formatPrice.ts
Created August 14, 2023 07:14
Отформатировать цену в рублях с символом ₽
/**
* Отформатировать цену в рублях с символом ₽
*
* Примеры:
* * 5000 → 5 000 ₽
* * 712345 → 712 345 ₽
*
* @author https://github.com/sglazov
* @since 2023-03-16
*
@sglazov
sglazov / getListCloudPaymentsPayment.md
Last active January 11, 2023 19:43
Как сделать автоматическую выгрузку транзакций из CloudPayments в CSV-файл

Что происходит

Есть прекрасный CloudPayments для приёма платежей. Он умеет в выгрузку списка транзакций из интерфейса. В разделе «Транзакции» (в меню слева) над списком есть кнопка «Экспорт транзакций», по клику вам отправят на почту *.csv-файл за месяц.

Это такой ручной вариант: надо авторизоваться в личном кабинете, запросить файл, забрать его из почты, куда-то там загрузить. Долго и сложно. И это нужно делать бухгалтерии, им итак несладко, а тут ещё это.

Хочется автоматического варианта. Чаще для автоматизации 1С (или любого интегратора) + CloudPayments.

Тезисно, идеальный вариант работы

  1. Есть csv-файл (он прост, с ним легко работать и его понимают все), надо его как-то создавать
@sglazov
sglazov / input.scss
Last active September 22, 2020 14:14
Демо магии scss-подключения шрифта из поста: https://sglazov.ru/notes/fonts-in-project/
/// Replace `$search` with `$replace` in `$string`
/// @author Hugo Giraudel
/// @param {String} $string - Initial string
/// @param {String} $search - Substring to replace
/// @param {String} $replace ('') - New value
/// @return {String} - Updated string
@function replace($string, $search, $replace: '') {
$index: str-index($string, $search);
@if $index {
@sglazov
sglazov / vk-dinret.md
Last active January 11, 2023 19:44
Как настроить динамический ретаргетинг ВКонтакте (про JavaScript тоже)

Чё делать-то?

  1. Поставить пиксель на сайт. Просто скопируйте js-код и установите;
  2. Опишите события и вызовите их асинхронно, то есть ганатировано после того, как vk-пиксель инициализирован;

Как описывают события?

Всего событий сейчас 12 (актуально на октябрь 2018 года). Полный список можно найти по ссылкам-первоисточникам в разделе чуть ниже. У людей много вопрсов появляется в духе, что именно за код, как его добавить, что делать, причём тут пример для Google Tag Manager и т.п.

Всё проще, чем кажется.

@sglazov
sglazov / pages.md
Created February 15, 2018 11:13
Создание быстрой навигации по статичной верстке

Создание быстрой навигации по статичной верстке

Часто мы разрабатываем сайты, в которых страниц больше чем пальцев на руках(а иногда и на ногах). Для того, чтобы прыгать по страницам нужно либо менять адрес в браузере, либо ставить ссылки в разметке(что часто неудобно, запутанно, и бесполезно, т.к. программист поменяет). И поэтому мы написали виджет для быстрой навигации по проекту, который представляет собой одну js-функцию:

function pageWidget(pages) {
	var widgetWrap = $('<div class="widget_wrap"><ul class="widget_list"></ul></div>');
	widgetWrap.prependTo("body");
	for (var i = 0; i < pages.length; i++) {
		$('<li class="widget_item"><a class="widget_link" href="' + pages[i] + '.html' + '">' + pages[i] + '</a></li>').appendTo('.widget_list');