Яковлев


Блог

  1. Цвет 2025 года по версии Pantone

    Следуя традиции, в конце 2024 года компания Pantone объявила трендовый цвет на 2025 год.

  2. GetSimple Legacy CMS 2024.2

    Предлагаю начать зиму со знакомства с новым релизом GetSimple Legacy CMS 2024.2, который включает в себя изменения, направленные на повышение удобства и безопасности использования GetSimple Legacy CMS.

  3. GetSimple Legacy CMS 2024.1

    Выпустил первый релиз GetSimple Legacy CMS 2024.1!

  4. Как создать палитру документа из растрового изображения в CorelDRAW

    В сети достаточно сервисов, пользователи которых создают и свободно делятся цветовыми палитрами. Такие сервисы удобны для поиска и просмотра палитр цветов, а некоторые из них предоставляют инструменты для гармонизации и визуализации цветовых решений из выбранных палитр в виде прототипов дизайна. Поэтому готовая цветовая палитра может послужить хорошей отправной точкой для начала работы над собственным проектом, сэкономить время на подбор гармонии и сочетаний цветов.

  5. Вывод многострочного текста в PowerShell

    Когда требуется вывести в консоль или в файл один блок текста, разделённый на отдельные строки, часто используется последовательный вызов командлетов Write-Host и Write-Output, каждый из которых выводит свою строку - часть общего многострочного вывода. Есть ли другие варианты? Предлагаю разобраться.

  6. Как конвертировать ALAC и FLAC при помощи PowerShell и FFmpeg

    Смена платформы и экосистемы от компании Apple на Microsoft Windows, Linux или наоборот, для обладателя цифровой музыкальной коллекции может обернуться необходимостью изменения формата музыкальных файлов. Можно найти много программных продуктов, которые выполнят работу с минимальным участием пользователя, а тем, кто хочет автоматизировать задачи с минимальным использованием стороннего программного обеспечения, можно открыть консоль PowerShell.

  7. Установка начала координат документа CorelDRAW по центру страницы при помощи макроса

    По умолчанию начало координат документа в CorelDRAW - нижний левый угол. При работе с макетом, в котором объекты позиционируются относительно центра страницы, удобнее установить начало координат документа в центр страницы.

  8. Как найти минимальное или максимальное значение в LibreOffice Calc

    Поиск минимального или максимального значения в диапазоне данных - одна из часто встречающихся задач при работе с данными в электронных таблицах в LibreOffice Calc. Решается она при помощи стандартных функций LibreOffice Calc.

  9. Вертикальное центрирование в блочном элементе без flex или grid

    Замечаю, что когда речь заходит о вертикальном центрировании элементов внутри блочного контейнера, в большинстве случаев предлагается изменить тип отображения контейнера на flex, реже - на grid.

  10. Способ защиты адреса электронной почты при помощи JavaScript

    Публикация адресов электронной почты на страницах веб-сайта в явном виде это прямой путь для попадания их в базы данных спам-рассылок. Существуют разные способы защиты адресов электронной почты, предлагаю рассмотреть один, с использованием JavaScript, который я нахожу интересным, простым в реализации, легко переносимым, а главное - работающим в реальных условиях.

  11. Добавление собственных страниц в карту веб-сайта в GetSimple CMS

    На практике совершенно необязательно, чтобы весь веб-сайт управлялся при помощи единой системы управления контентом. Например, основная часть веб-сайта может управляться при помощи системы управления контентом GetSimple CMS, а один из его разделов может состоять из статических страниц, формируемых с помощью генератора статических веб-сайтов, или формироваться динамически на основании данных, хранящихся в отдельной базе данных. Для посетителя веб-сайта разницы не будет, но она может быть для роботов поисковых систем, которые получают информацию о доступных к индексации страницах из файла карты веб-сайта sitemap.xml.

  12. Как написать простой таймер в PowerShell

    Когда возникает потребность отследить интервал времени, можно воспользовать программой-таймером. В Microsoft Windows для этих целей я часто использую Microsoft Clock, но когда запущена консоль PowerShell, то делаю это прямо в ней.

  13. Кодирование и декодирование URL-адресов в Bash

    При работе с URL-адресами в Bash может возникнуть необходимость закодировать или декодировать адрес. Для этого можно использовать разные инструменты, например, передать URL-адрес в сценарий на языке PHP и выполнить его, но можно решить задачу проще, не прибегая к дополнительным инструментам.

  14. Как управлять эквалайзером плеера iTunes через PowerShell

    Продолжая разговаривать об автоматизации работы с плеером iTunes через PowerShell, предлагаю рассмотреть вопрос управления эквалайзером через доступные методы и свойства, предоставляемые API плеера.

  15. Цвет 2024 года по версии Pantone

    Следуя традиции, в конце 2023 года компания Pantone объявила трендовый цвет на 2024 год.

  16. Как работать с избранными директориями в Midnight Commander

    В файловом менеджере Midnight Commander для перехода от одной директории к другой удобно пользоваться командой cd. Однако при этом приходится каждый раз вводить пути до директорий, которые, в зависимости от уровня вложенности и имён, могут иметь значительную длинну. Ускорить переключение между директориями может список избранных директорий, но есть ли такая возможность в Midnight Commander?

  17. Как узнать знак зодиака для заданной даты в PowerShell

    Читатель моих заметок, недавно начавший изучать работу с PowerShell, решил взяться за создание модуля, который поможет ему, как любителю астрологии, делать астрологические расчёты. Так как он только начал изучать PowerShell, первый вопрос, с которым он обратился ко мне: “Как узнать знак зодиака по дате рождения человека?” На это я предложил ему вариант функции, которой решил поделиться со всеми, кому интересна эта тема.

  18. Создание поальбомных плейлистов в плеере iTunes

    Когда-то столкнулся с утверждением: “iPod Shuffle уничтожает привычку слушать музыку альбомами!” Утверждение сильное, позиция утверждающего была безапелляционна. Прав ли был утверждающий? И да, и нет.

  19. Как удалить лишние пробелы из текста в LibreOffice Calc

    Лишние пробелы могут попасть в текстовые данные таблицы разными путями - невнимательность сотрудников при ручном наборе, импорт неочищенных результатов парсинга каталогов на веб-сайтах и данных из прочих внешних систем. Независимо от того, как лишние пробелы оказались в текстовых данных таблицы, в будущем они могут создать значительные проблемы при работе. Возможно ли пользователю LibreOffice Calc быстро удалить лишние пробелы, если они уже присутствуют в текстовых данных таблицы, не ища их вручную и не разбираясь в написании макросов? Попробую ответить на этот вопрос и решить проблему.

  20. Как ввести формулу в виде текста в LibreOffice Calc

    Привычно использовать формулы в электронных таблицах LibreOffice Calc для вычислений. Однако каждый может столкнуться со сценарием использования LibreOffice Calc, когда требуется ввести в ячейку таблицы формулу в виде текста - не для того, чтобы она использовалась для вычислений, а чтобы просто была видна пользователю, работающему с таблицей. Человеку, который сталкивается с этим в первый раз, совсем не очевидно как можно решить эту простую на первый взгляд задачу. Проблема в том, что вводимый текст, начинающийся со знака = (равно), автоматически интерпретируется как формула, и текст в ячейке автоматически заменяется на результат вычисления. Предлагаю рассмотреть два варианта решения этой задачи.

  21. Как найти среднее значение в LibreOffice Calc

    Когда разговор заходит о статистических данных, чаще всего обращаются к средним значениям: средняя зарплата, средняя цена, средняя продолжительность жизни и т.п. Хотя в таких разговорах “среднее” не всегда соотносится с ощущениями человека, оно наглядно отображает среднее значение набора чисел, позволяет быстро и эффективно сравнивать значения разных групп. Поэтому полезно уметь считать средние значения самостоятельно, тем более это легко сделать в LibreOffice Calc.

  22. Как использовать Liquid-код в переменных Jekyll

    Автоматическая обработка блоков Liquid-кода, содержащегося в значениях переменных, могло бы значительно упростить разработку шаблонов и поддержку веб-сайтов на Jekyll. Не смотря на то, что ряд пользователей уже продолжительное время просит разработчиков о включении такой возможности в базовый функционал Jekyll, разработчики эти просьбы отклоняют. Но это не значит, что нельзя добавить такую возможность самостоятельно при помощи плагина.

  23. Как проверить существование псевдонима в PowerShell

    Если требуется добавить новый псевдоним для собственной функции или уже имеющегося командлета в PowerShell, полезно проверить, не существует ли он.

  24. Как пронумеровать строки в текстовом файле при помощи PowerShell

    Если в текстовом файле хранится информация, которую надо представить в виде нумерованного списка, можно открыть файл в текстовом редактор и вручную проставить номера строк. Если файл один, а строк в нём не много, то не составит труда сделать это вручную. В остальных случаях лучше автоматизировать процесс. Рассказываю как сделать это при помощи PowerShell.

  25. Что такое и для чего нужен Front Matter в файлах Markdown

    Все, кто работал с контентом для генераторов статических веб-сайтов, такими как Jekyll, Hugo, Gatsby и файловых систем управления контентом, такими как как Grav или Pico, сталкивались с понятием Front Matter. Если сам редактор контента понимает, что это такое, то для того, чтобы ответить простыми словами на вопрос пользователя: “Что такое и для чего нужен Front Matter в файлах Markdown?”, приходится подбирать слова и искать формулировки.

  26. Как получить элементы с минимальным и максимальным значениями из массива на JavaScript

    Когда в сценарии JavaScript надо получить элементы массива с минимальным или максимальным значениями, для этого не обязательно писать собственные функции или подключать сторонние библиотеки. Предлагаю рассмотреть два варианта решения стоящей задачи, в которых будут задействованы только стандартные возможности языка JavaScript.

  27. Ошибка при вызове командлета Get-WmiObject в PowerShell

    Читатель моего сайта пожаловался на неработающий пример сценария PowerShell, в котором используется командлет Get-WmiObject. Разберёмся, что произошло.

  28. Цвет 2023 года по версии Pantone

    Следуя традиции, в конце 2022 года компания Pantone объявила трендовый цвет на 2023 год.

  29. Как установить и удалить сертификаты НУЦ Минцифры России в Debian

    Без установленных сертификатов Национального удостоверяющего центра Минцифры России пользователям будут недоступны большинство отечественных государственных и банковских онлайн-сервисов, например, популярные онлайн-сервисы СберБанка или ВТБ. Для доступа к таким онлайн-сервисам пользователи операционной системы Debian могут установить и использовать Яндекс.Браузер, в который требуемые сертификаты уже встроены. Яндекс.Браузер доступен в виде deb-пакета, поэтому с его установкой у пользователей не должно возникнуть проблем. Однако если нет желания менять привычный веб-браузер и устанавливать в систему дополнительное программное обеспечение, предпочтительным будет вариант с самостоятельной установкой сертификатов. Разберёмся с тем, как это сделать.

  30. Как установить последнюю версию веб-браузера Mozilla Firefox в Debian

    Обратная сторона стабильности операционной системы Debian – устаревшие версии программ, включённые в дистрибутив и доступные для установки из репозитория. Это не всегда плохо, однако в случае с веб-браузером, может доставить неудобство.

  31. Как очистить форматирование скопированного текста при помощи PowerShell

    Когда возникает потребность очистить форматирование в скопированном тексте, в Microsoft Windows можно использовать инструмент, который всегда под рукой – текстовый редактор Блокнот (Notepad). А можно использовать PowerShell.

  32. Список адресов для доступа к настройкам и информации веб-браузера Microsoft Edge

    Чтобы перейти к настройкам веб-браузера не всегда удобно пользоваться меню. Часто проще и быстрее набрать в адресной строке специальный адрес и сразу перейти на страницу, содержащую требуемые настройки. Если считаете также, ознакомтесь с доступными адресами URL-схемы edge://, используемыми для доступа к служебным страницам веб-браузера Microsoft Edge.

  33. Как увидеть, что внутри COM-объекта в PHP

    В PHP в Microsoft Windows можно работать с COM-объектами. Для этого надо подключить модуль COM, доступный только в Microsoft Windows и отключённый по умолчанию в текущей версии PHP. Но как разработчику увидеть, что внутри COM-объекта, с которым предстоит работать?

  34. Как узнать аптайм системы в PowerShell

    Для того, чтобы узнать аптайм системы нет необходимости прибегать к помощи специальных утилит, потому что это можно сделать прямо из консоли PowerShell.

  35. Как вычислить и проверить хеш-сумму файла в PowerShell

    Для вычисления и проверки хеш-суммы файла не требуется искать и устанавливать специальные утилиты. Это можно сделать не покидая консоль PowerShell.

  36. Как установить фоновый узор панели администрирования в GetSimple Extended CMS

    Когда есть желание обновить внешний вид панели администрирования веб-сайта, работающего под управлением GetSimple CMS, можно написать свой или найти в репозитории готовый плагин. В GetSimple CMS Extended это можно сделать стандартными средствами. Предлагаю рассмотреть установку фонового узора панели администрирования при помощи компонента, вызываемого экшеном.

  37. Что нового в GetSimple Extended CMS: Автоматический вызов компонентов в экшенах

    Идея расширить границы применения компонентов в GetSimple CMS была давно. Для оригинальной GetSimple CMS Shawn Alverson написал плагин sa hook components, автоматически выполняющий код компонентов при вызове соответствующих экшенов (хуков). Этот плагин я рекомендовал всем, как возможность сократить общее количество установленных плагинов, заменяя их компонентами. В GetSimple CMS Extended было принято решение задействовать вариант совместного использования компонентов и экшенов в виде стандартной возможности ядра системы управления контентом.

  38. Сценарий для изменения количества проигрываний треков в библиотеке iTunes

    Тому, кто следит за порядком в своей библиотеке iTunes, хорошо известно, как может быть неприятно потерять часть статистики проигрываний. Это может произойти по разным причинам, но мириться с произошедшим не хочется. Не хочется и не надо, потому что исправить количество проигрываний для тректов в библиотеке iTunes можно при помощи простого сценария WSH.

  39. Как обновить PowerShell из PowerShell

    Вы запустили сеанс PowerShell в Microsoft Windows и увидели уведомление о выходе новой стабильной версии PowerShell. Если возникло желание установить обновление как можно скорее, не переходя по ссылке в веб-браузере и не скачивая вручную инсталляционный пакет, можете воспользоваться однострочной командой.

  40. Цвет 2022 года по версии Pantone

    Продолжая традицию, в конце 2021 года компания Pantone объявила трендовый цвет на 2022 год. В этот раз цвет один, а не два, как было в прошлый раз, что тоже традиционно. Однако подход к выбору цвета в этот раз совсем другой.

  41. Уродливые рождественские свитеры от Microsoft с 2018 по 2021 годы

    Надо сказать, “уродливый” или “дурацкий” рождественский свитер (Ugly Christmas Sweater) для носителя западной культуры празднования Рождества — это такой же неотъемлемый, знакомый с детства атрибут праздника, как шампанское, мандарины или советские новогодние фильмы для каждого взрослого жителя России, встречающего Новый год.

  42. Пример кода подключения иконки веб-сайта в шаблон для Jekyll

    Для отображения иконки веб-сайта актуальные веб-браузеры и роботы поисковых систем автоматически загружают файл с именем favicon.ico из корня веб-сайта. Такое поведение позволяет отказаться от явного указания файла иконки в коде страницы до тех пор, пока не появляется потребность использовать для иконок файлы других форматов или с другими именами. Например, файлы иконок в формате SVG или индивидуальные иконки для отдельных страниц веб-сайта. В этих случаях путь к файлу иконки должен быть указан явно при помощи HTML-тега link в разделе head HTML-документа. Как подключить иконку веб-сайта в шаблоне Jekyll покажу на примере кода, который использую сам.

  43. Сколько дней до Нового года? Функция для PowerShell

    Сколько дней до Нового года? Актуальный вопрос в преддверии наступления любимого праздника. Ранее уже оставлял заметку на тему как вычислить количество дней между двумя датами в PowerShell. Количество дней до Нового кода это частный случай, который заслуживает отдельной функции.

  44. Запуск и настройка GetSimple CMS с использованием переменных окружения

    Для запуска одной установленной копии GetSimple CMS со специфичными настройками, применяемыми в разных окружениях, можно каждый раз вручную редактировать файл настроек gsconfig.php или создать для каждого окружения свой вариант файла gsconfig.php и подменять им уже существующий. Нахожу оба варианта не удобными, поэтому предлагаю рассмотреть альтернативный способ с использованием переменной окружения (переменной среды).

  45. Что нового в GetSimple Extended CMS: Статус видимости страниц Not Published

    Чтобы ограничить доступ посетителей веб-сайта к выбранным страницам, в оригинальной GetSimple CMS предусмотрен статус видимости страниц Private. Страницы со статусом Private не доступны для просмотра не авторизированным посетителям. Однако авторизированный посетитель может просматривать такие страницы как обычные страницы веб-сайта. Такой сценарий не всегда желателен, поэтому существовала потребность сделать страницы по-настоящему приватными.

  46. Корректное завершение работы плеера iTunes при использовании скробблера из PowerShell

    Каждый пользователь плеера iTunes и Microsoft Windows, желающий в реальном времени сохранять свою историю прослушиваний музыкальных треков в базе сервиса Last.fm, сталкивается с проблемой - перед завершением работы плеера выводится уведомление об использовании интерфейса сценариев iTunes с предложением подождать 20 секунд, а после закрытия плеера он автоматически перезапускается. Почему так происходит, как решить эту проблему, расскажу дальше.

  47. Что нового в GetSimple Extended CMS: Редактор кода для компонентов. Включение и выключение компонентов

    Чтобы сделать работу с кодом компонентов удобнее, а использование компонентов гибким, компонентам добавлена поддержка редактора кода и возможность включения, и выключения компонентов. По отзывам пользователей, этих возможностей не хватало в оригинальной GetSimple CMS.

  48. Что нового в GetSimple Extended CMS: Дата создания страницы. Даты создания, изменения веб-сайта и профиля пользователя

    Пользователи GetSimple CMS имели возможность отслеживать историю изменения содержания веб-сайта по дате последнего сохранения страниц. По отзывам пользователей этого было мало, поэтому GetSimple Extended CMS расширяет число сохраняемых данных, предназначенных для отслеживания истории изменения содержания страниц, настроек веб-сайта и пользователя.

  49. Что нового в GetSimple Extended CMS: Режим технического обслуживания веб-сайта

    Для временного ограничения доступа посетителей к фронтенду веб-сайта добавлен режим технического обслуживания - Maintenance Mode.

  50. Форкнул GetSimple CMS

    Решил стряхнуть пыль с GetSimple CMS и сделал форк на основе ветки hotfixes. Перед тем, как перейти к деталям, озвучу мысли о текущем положении дел в разработке и личном отношении к этой системе управления контентом.

  51. Как округлить время в LibreOffice Calc

    В LibreOffice Calc при помощи формул округления можно округлять не только числа, но и время. Потому что время, записанное в ячейку электронной таблицы, это тоже число.

  52. Как изменить расширение файла в PowerShell

    Переименование файла, путём изменения его расширения, это одна из часто встречаемых задач при автоматизации. Предлагаю рассмотреть три варианта изменения расширения файлов в скриптах PowerShell.

  53. Собственные значения User-Agent в HTTP-запросах из PowerShell

    Стандартное значение строки User-Agent, которое использует командлет Invoke-WebRequest, в зависимости от операционной системы, языка и версии PowerShell, может выглядеть так: Mozilla/5.0 (Windows NT 10.0; Microsoft Windows 10.0.19042; ru-RU) PowerShell/7.1.3. На практике вы можете столкнуться с ситуацией, когда для успешного выполнения HTTP-запроса сервер требует от клиента использования собственного значения User-Agent. Что делать в этом случае?

  54. Управление отложенной загрузкой изображений в Grav CMS

    Если ваш сайт работает под управлением Grav, а в содержании страниц много изображений, то вам следует обратить внимание на возможность отложенной загрузки изображений, добавленную в Grav версии 1.7.

  55. Профили PowerShell

    Уверен, пользователи, занимающие автоматизацией задач в Bash, знают о файлах .profile, .bashrc и .bash_profile. Знают о том, что это за файлы и как их использовать, чтобы сделать работу в командной строке удобнее. Однако часть пользователей PowerShell не подозревают, что их инструмент обладает схожими возможностями - поддержкой профилей.

  56. Как получить метку времени Unix в PowerShell

    Если работаете в командной строке Linux, то скорее всего знакомы с командой date и её ключами. Для того, чтобы получить текущую метку времени в формате Unix используется вызов команды date +'%s'. Как быть, если нужна метка времени в PowerShell?

  57. Цвета 2021 года по версии Pantone

    Традиционно в конце года компания Pantone объявила трендовый цвет на следующий год. В этот раз цвет не один, а два!

  58. Что возвращает PHP функция, если не указана конструкция return

    Пользователь GetSimple CMS и читатель моих заметок об этой системе управления контентом, обратившись ко мне за консультацией по разработке плагина, задал вопрос. Привожу его дословно: “Что возвращает функция, если она заканчивается echo?”

  59. Как получить полное имя и адрес почты автора страницы в GetSimple CMS

    Автором страницы в GetSimple CMS считается пользователь, создавший или сохранивший страницу последним. Именем автора страницы является логин пользователя, который автоматически сохраняется в XML-документе страницы в поле author. Стандартная функция, возвращающая значение поля author для текущей страницы, отсутствует, поэтому для получения автора страницы в шаблоне оформления, следует обратиться к глобальной переменной $data_index->author. При этом в GetSimple CMS предусмотрена возможность задания расширенного набора данных для пользователей - стандартно в GetSimple CMS 3.3.16 можно задать полное имя и адрес электронной почты. Имея доступ к этим данным, можно не ограничиваться только логином, а выводить расширенную информацию об авторе страницы в шаблоне оформления. Для этого потребуется добавить собственные функции в тему оформления.

  60. Плагин Blackhole для Grav CMS

    Barry Mode обновил свой плагин Blackhole для Grav до версии 1.0.0 beta 3. Для тех, кто не знает, плагин Blackhole создаёт статическую версию веб-сайта, работающего на Grav. По крайней мере, должен создавать, потому что предыдущие версии плагина с этим не справлялись, хотя, сам плагин всё это время находился в официальном репозиторий Grav. Так как я поддерживаю идею генератора статических сайтов на основе Grav, я был просто обязан проверить, можно ли пользоваться плагином после его обновления.

  61. Как получить доступ к директориям и файлам WSL в проводнике Windows

    Бывает, что работать с директориями и файлами, хранящимися внутри файловой системы установленных дистрибутивов Windows Linux Subsystem, удобнее из проводника Windows. Если у вас хотя бы раз возникал вопрос о том, возможно ли работать с объектами из WSL в проводнике Windows, то читайте дальше.

  62. Новая Twig функция svg_image() в Grav CMS

    В версии системы управления контентом Grav v1.6.28 появилась новая Twig функция - svg_image(). В официальной версии справки Grav, доступной на момент публикации, описание функции отсутствует. Так как новая функция добавляет удобства при работе с Grav, считаю необходимым рассмотреть её, чтобы пользователи понимали и могли начать использовать новую встроенную Twig функцию в шаблонах и содержании страниц, не дожидаясь обновления справки.

  63. Простой пример сетки на CSS Flexbox

    Постепенно приближается релиз фреймворка Bootstrap 5. Главное, что принёс Bootstrap веб-разработчикам, по моему мнению - удобство работы с сетками в эпоху CSS свойства float. Однако, с тех пор CSS не стоял на месте. CSS Flexbox и CSS Grid, CSS переменные и CSS функции, cделали повсеместное использование Bootstap для работы с сетками анахронизмом. Предлагаю простой, но работающий, пример двенадцати-колоночной сетки на CSS Flexbox с использованием CSS функции calc().

  64. Плагин Static Generator для Grav CMS

    Работа с содержанием веб-сайта при использовании системы управления контентом Grav, если не устанавливать плагин панели управления Admin, аналогична работе с содержанием веб-сайта при использовании генератора статических сайтов Jekyll. Поэтому над идей превращения Grav в полноценный генератор статических сайтов я работал давно, однако, созданные для личного использования решения, не выкладывал в свободный доступ. В настоящее время в репозитории плагинов Grav есть плагин, на который стоит обратить вниманием всем, кто думает о переводе своих веб-сайтов на статику.

  65. Как использовать любые метатеги в шаблоне Jekyll

    Разработчики тем оформления для Jekyll в своих шаблонах позволяют пользователю использовать заранее определённый набор метатегов для вывода в заголовках страниц веб-сайта. Как правило это наиболее популярные теги, такие как, author, description, keywords и теги для социальных сетей. Это работает до тех пор, пока не встаёт задача использовать редкие или собственные метатеги.

  66. Самоперезаписываемый PHP скрипт

    Запущенный на выполнение PHP скрипт может перезаписать себя. Следущий пример показывает вариант реализации такого поведения скрипта.

  67. Как включить SVG иконки в шаблон оформления в Jekyll

    При работе над новой темой оформления для Jekyll, понадобилось реализовать возможность динамического включения SVG иконок в шаблоны оформления страниц, вместо копирования и вставки их SVG кода вручную. Предлагаю своё решение.

  68. Скробблинг iPod на Last.fm на PHP

    Apple и Last.fm совместными усилиями лишили пользователей плееров iPod возможности вести статистику прослушивания треков — скробблер Last.fm не устанавливается на устаревшие версии iOS, что актуально для iPod Touch; текущая версия iTunes не работает с десктопным скробблером Last.fm, поддерживающим скробблинг с iPod, что актуально для остальных версий iPod. Владельцу iPod в этой ситуации остаётся либо перестать пользоваться своим плеером и сменить его на другое устройство, либо отказаться от ведения статистики в Last.fm. Ни первый, ни второй варианты мне не подходят, поэтому пришлось придумать собственное решение для обхода созданных компаниями ограничений. Если проблема совместного использования iPod и Last.fm коснулась и вас, читайте дальше.

  69. Узнать свободное место на iPod из PowerShell

    Продолжаете активно пользоваться плеером iPod и хотите узнать процент свободного места на нём? Это можно сделать в PowerShell.

  70. Форматирование вывода истории коммитов Git

    Для просмотра истории коммитов в Git используется команда git log. По умолчанию эта команда выводит список коммитов в обратном хронологическом порядке, включая их SHA-1 контрольные суммы (хэш), имя, адрес электронной почты автора, дату создания и комментарий. Получение такого объёма информации не всегда удобно и даже избыточно. Поэтому выводом команды git log можно управлять. Например, выводить историю коммитов так, чтобы информация о каждом коммите умещалась в одной строке.

  71. Отслеживание и вывод изменений текстового файла в PowerShell

    Появилась задача отслеживать изменения текстового файла в реальном времени и выводить изменения в консоль. Первая мысль - использовать дополнительное программное обеспечение для экономии времени на написание собственного решения. Но на деле всё проще, даже не надо писать собственный сценарий, потому что эту задачу успешно решает один из часто используемых командлетов PowerShell.

  72. Начало работы с iTunes из PowerShell

    Владелец большой фонотеки, управляемой iTunes, рано или поздно задаётся вопросом как автоматизировать рутинные процессы её обслуживания. Как и в других случаях, на помощь здесь приходят скрипты. Если владелец фонотеки работает в операционной системе Windows и уже знаком с написанием скриптов PowerShell, то эти знания пригодятся и для управления iTunes.

  73. Добавление шаблонов изображений в Gimp

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

  74. Ярлык для запуска скрипта PowerShell

    Написали полезный PowerShell скрипт, который часто используете и теперь есть желание запускать скрипт через ярлык, как остальные программы в Microsoft Windows, то читайте дальше.

  75. Импорт данных формата TSV в PowerShell

    Формат TSV, как и формат CSV, это текстовый формат для представления таблиц баз данных, поэтому работа с ним в PowerShell не отличается от работы с CSV. Исключением является момент импорта данных, который вызвал проблему у читателя моих заметок о работе с PowerShell. Разберёмся с этим подробнее.

  76. Установка Jekyll 4 в подсистеме Windows для Linux

    Подсистема Windows для Linux стала главной рабочей средой для моих инструментов веб-разработки при использовании Microsoft Windows. Там же использую Jekyll 4, который требует для работы версию Ruby 2.4 или старше, и устанавливается в подсистему Windows для Linux следующим образом.

  77. Grav CMS и ссылки с параметрами

    Ко мне обратился пользователь Grav CMS с вопросом о том, почему система управления контентом портит ссылки с параметрами в содержании страниц веб-сайта и как это предотвратить. Если эти вопросы возникли у одного пользователя, существует вероятность, что возникнут и у других, поэтому отвечаю этой заметкой.

  78. Таблица перевода процентов в значения RGB

    Когда привыкаешь работать и думать в RGB значениях цветов от 0 до 255, переключение в проценты вызывает затруднение. Например, значение в процентах используется в Adobe Lightroom. В случае, если такое переключение кратковременно и не требует переориентации, то удобно воспользоваться таблицей перевода процентов в значения RGB, что ускорит работу.

  79. О работе рецептов для поворота изображений в Canon Digital Photo Professional 4

    Применение вспомогательных рецептов (Recipe - в терминологии Canon) для Canon Digital Photo Professional 4, поворачивающих изображение на заданный угол, вызвало вопросы у пользователей. Поэтому предлагаю разобраться в том, как работают эти рецепты.

  80. Подключение Яндекс.Диска в качестве сетевого диска при помощи PowerShell

    Благодаря поддержке сервисом Яндекс.Диск протокола WebDAV, пользователь может не устанавливать официальный клиент Яндекс.Диска, а, если используемая операционная система предоставляет такую возможность, подключить его как сетевой диск. В Microsoft Windows сетевой диск подключается через графический пользовательский интерфейс Windows Explorer (File Explorer в Microsoft Windows 10) в несколько кликов. Тем не менее существуют сценарии, когда эта задача должна быть автоматизирована. Здесь на помощь пользователю приходит PowerShell.

  81. Функция Twig для проверки уровня доступа пользователя в Grav CMS

    Проверка уровня доступа, зарегистрированного на веб-сайте пользователя, может быть выполнена в шаблоне оформления страницы при помощи одной функции Grav CMS.

  82. Отключение редактора контента в Grav CMS

    Если в Grav CMS появляется необходимость отключения редактора контента для определённого типа страниц в редакторе страницы плагина Admin Panel, то это делается так.

  83. Unsplash и PowerShell для установки обоев рабочего стола

    Сервис Unsplash и PowerShell - это два полезных инструмента для любителя регулярной смены обоев рабочего стола (и не только).

  84. Язык фронтенда в темах оформления и плагинах Grav CMS

    Распространённая проблема с которой сталкиваются начинающие пользователи: установили тему оформления Grav CMS или плагин, поддерживающий мультиязычность, но всё-равно во фронтэнде выводится текст на английском языке. Решение в правильной языковой настройке системы управления контентом.

  85. Неоновый текст в Affinity Photo

    Понадобилось сделать эффект неонового текста в графическом редакторе Affinity Photo. Покажу вариант, который получился у меня с использованием подходящего шрифта и двух стилей слоя, применённых к тексту.

  86. Переключение темы оформления веб-сайта на GetSimple CMS из фронтэнда

    Если посетителям веб-сайта, работающего на основе системы управления контентом GetSimple CMS, требуется предоставить право самостоятельного выбора используемой тему оформления, то в этой заметке описан вариант решения задачи.

  87. Функция для получения установленных тем оформления в GetSimple CMS

    В системе управления контентом GetSimple CMS нет стандартной функции для получения списка установленных тем оформления. Если возникает потребность в такой функции, напишем её самостоятельно, предварительно разобравшись в том, как GetSimple CMS определяет установленные темы оформления.

  88. Сохранение содержания страницы в переменную в GetSimple CMS

    Знакомая каждому опытному пользователю функция GetSimple CMS get_page_content() выводит содержание страницы в шаблоне оформления. Но при разработке возможны варианты, когда требуется не вывести содержание, а сохранить его в переменную для дальнейшего использования.

  89. Динамическое изменение шаблонов оформления страниц в GetSimple CMS

    Имя шаблона страницы изменяется в панели управления веб-сайтом в редакторе страниц, либо путём прямого редактирования соответствующего странице XML-документа. Первый вариант - стандартный, удобен при изменении шаблона оформления для одной или нескольких страниц; второй вариант подходит для массового изменения шаблонов страниц при помощи пакетной обработки файлов и автозамены. На первый взгляд это выглядит просто, но не всегда применимо на практике. Поэтому предлагаю рассмотреть альтернативный подход - динамическое изменение шаблонов оформления страниц.

  90. Проверка настройки использования CDN в GetSimple CMS

    Подключение в плагинах и темах оформления ресурсов, размещённых в сетях доставки содержимого (CDN) или других внешних источниках, может быть ограничено техническими особенностями или сценариями использования веб-сайта. Поэтому будет правильно предоставить пользователю самостоятельный выбор источника подключаемых ресурсов - внешний или локальный.

  91. Предварительное заполнение полей новых страниц в GetSimple CMS

    Предварительное заполнение полей новых страниц в GetSimple CMS - скрытая функциональность о которой знают немногие пользователи системы управления контентом. Заполняю этот пробел знаний о GetSimple CMS.

  92. Особенность функции Twig theme_var() в Grav CMS

    В версии системы управления контентом Grav 1.4.0 пользователям стала доступна новая полезная функция Twig для использования в шаблонах тем оформления - функция theme_var(). Эта функция возвращает значение запрашиваемой переменной, используемой в настройках темы оформления. На первый взгляд кажется, что использование функции аналогично обращению к переменной, установленной в настройках темы оформления, напрямую, но это не так.

  93. Проверка статуса плагина в GetSimple CMS

    Разрабатывая собственные плагины и темы оформления для GetSimple CMS, периодически сталкиваюсь с требованиями заказчика по согласованию их работы с плагинами других разработчиков. Для этого, как минимум, требуется проверить статус стороннего плагина - активирован или деактивирован. Как это реализовать - зависит от разработчика, большинство из которых используют проверку существования функции из стороннего плагина по имени: если функция с заданным именем существует, значит плагин активирован. Я покажу корректный способ, использующий возможности самой системы управления контентом GetSimple CMS.

  94. Имена временных файлов в PowerShell методами .NET Framework

    Когда требуется создать или получить имя для временного файла или директории в PowerShell скрипте, возможно облегчить себе работу и использовать доступные методы .NET Framework.

  95. Запуск Shell скрипта со съёмного накопителя в Live-USB Ubuntu

    Сегодня я получил очередной вопрос читателя по поводу заметки Автоматическая настройка Live-USB Ubuntu. Этот вопрос, как и остальные, сводились к одной проблеме: не получается запустить скрипт со съёмного накопителя. Так как с этой проблемой столкнулся не один читатель, рассмотрю её причину и решение.

  96. CSV в JSON на PowerShell

    Когда надо быстро преобразовать набор CSV данных в JSON, можно воспользоваться онлайн сервисом, а лучше написать однострочную команду на PowerShell, использующую три стандартных командлета.

  97. Псевдонимы Bash и sudo

    Псевдонимы или Bash-алиасы ускоряют работу в командной строке Bash, позволяя сократить количество вводимых символов в именах часто используемых команд, а также избавляют от необходимости запоминания сложных последовательностей команд. Однако при попытке запуска псевдонима с правами суперпользователя через sudo возникает проблема. Предлагаю рассмотреть причину её возникновения и варианты решения.

  98. Объединение содержания текстовых файлов в PowerShell

    Иногда возникает потребность объединить содержание нескольких текстовых файлов в один. Если таких файлов несколько, то можно это сделать вручную. Но если их десятки или сотни, а выбираются они по набору заданных критериев, то лучше автоматизировать такую задачу, тем более, что в PowerShell она решается в одну строку.

  99. Добавление подсветки синтаксиса Twig в gedit

    Периодически возникают задачи, требующие интенсивной работы с шаблонами Twig. Но текстовый редактор gedit, используемый мною, не поддерживает “из коробки” подсветку синтаксиса Twig, что доставляет некоторое неудобство при работе. Однако отказываться от привычного текстового редактора не обязательно - подсветка синтаксиса требуемого языка легко добавляется.

  100. Резервное копирование данных одной командой Shell

    Полное осознание значения резервного копирования данных, как правило, приходит слишком поздно. Часто это случается уже после полной утраты данных. Эта заметка посвящена клиенту и коллеге, веб-разработчику, чьи проекты, к счастью, удалось восстановить после сбоя в работе накопителя информации рабочего компьютера. Не испытывайте судьбу, уделите внимание вопросу резервного копирования, тем более, что это может быть не так сложно, как кажется на первый взгляд.

  101. Создание HTML-проекта с использованием Bash

    Работа над новым HTML-проектом начинается с создания структуры директорий и стандартного набора файлов со стандартным содержанием. Клонирование Git-репозитория или установка пакета с использованием менеджера пакетов - путь современного веб-разработчика, автоматизирующего начало работы над проектом. Этот путь быстр, удобен, но требует специального программного обеспечения и доступа к сети интернет. Альтернативное решение - собственный скрипт, для выполнения которого требуется только командная оболочка.

  102. Автоматическая настройка Live-USB Ubuntu

    В течение последнего месяца часто приходится работать, загружая операционную систему Ubuntu 17.10 с USB-флешки в режиме Live-USB, что делает возможным использование рабочей станции, без установленной операционной системы. Такой вариант подходит для работы с необходимым набором программ: текстовый редактор gedit, веб-браузер FireFox, клиент удалённого доступа к рабочему столу Remmina, файловый менеджер GNOME Files для работы с файлами, включая файлы на удалённых серверах, доступных по протоколам FTP, FTPS и WebDAV. Главный минус такого решения - рутинная настройка после каждой загрузки. Здесь поможет автоматизация.

  103. Вывод всех параметров Shell скрипта

    Отвечаю на вопрос о том, как вывести все параметры, переданные Shell скрипту.

  104. Скрипт для поиска занятых IP-адресов в сети на Shell

    Передо мной встала задача - проверить занятые IP-адреса в локальной сети IPv4. С этой задачей отлично справится программа nmap, однако устанавливать любое дополнительное программное обеспечение не было возможности. Поэтому я написал Shell скрипт, который быстро выполнил то, что мне требовалось. Возможно, что он будет полезен и вам.

  105. Быстрый старт: публикация PHP приложения на платформе Heroku

    Перед каждым начинающим PHP разработчиком встаёт вопрос выбора платформы для запуска разработанных приложений. Классический способ – воспользоваться виртуальным веб-хостингом с поддержкой PHP, взять в аренду виртуальный выделенный сервер (VPS-хостинг) или физический сервер, чтобы полностью управлять его работой. Альтернативным вариантом является использование облачных технологий, познакомиться с которыми можно совершенно бесплатно на примере облачной платформы приложений heroku.com.

  106. Функция сортировки страниц по времени публикации в GetSimple CMS

    В продолжении рассмотренной темы о группировке и фильтрации страниц в GetSimple CMS, при построении списка вывода, необходимо уделить внимание вопросу сортировки страниц по времени публикации для сохранения прямого или обратного хронологического порядка. В GetSimple CMS 3.3.x такая возможность не предусмотрена, поэтому я предлагаю воспользоваться следующей функцией.

  107. Группировка и фильтрация вывода страниц по году публикации в GetSimple CMS

    Ранее я уже рассматривал способ вывода списка дочерних страниц в GetSimple CMS, теперь отвечаю на расширенный вопрос, о том, как сгруппировать или отфильтровать вывод списка дочерних страниц по году публикации.

  108. Способы создания объекта DateTime в PowerShell

    Многие командлеты PowerShell принимают на вход дату, причём дата может быть передана в виде текста или может быть объектом DateTime. Я предпочитаю работать с объектами, поэтому приведу несколько вариантов создания объекта DateTime для использования в скриптах PowerShell. DateTime::ParseExact(‘31.12.2017 23:55:00’, ‘dd.MM.yyyy HH:mm:ss’, $null)

  109. Подключение CSS файла с использованием JavaScript

    Если требуется выполнить динамическое подключение CSS файл в секцию head страницы, например, после загрузки страницы, с целью оптимизации скорости или наступления определённого события, можно воспользоваться следующим JavaScript кодом.

  110. Проверка версии GetSimple CMS в плагине

    Если вы разрабатываете плагин для GetSimple CMS, работа которого полностью или частично зависит от версии системы управления контентом с которой он используется, вам потребуется реализовать в плагине проверку версии GetSimple CMS.

  111. Использование плагина Lazy Load с компонентами в GetSimple CMS

    Плагин Lazy Load для GetSimple CMS автоматически добавляет отложенную загрузку изображений, включённых в содержание страницы. Для отложенной загрузки изображений, выводимых в шаблоне оформления страницы, с помощью компонента, следует использовать функцию плагина Lazy Load lazyload_filter().

  112. Функция сохранения вывода компонента в переменную для GetSimple CMS

    В GetSimple CMS 3.3.x для вывода компонента в шаблоне оформления страницы используется функция get_component(). Но в ряде случаев вместо вывода может потребоваться сохранение содержания компонента в переменной. Если такая задача встречается более одного раза, то удобнее использовать собственную функцию.

  113. Контролируемое использование Twig тега spaceless

    В ряде сценариев, например, при разработке и отладке шаблонов оформления, постоянное использование Twig тега spaceless является нежелательным. Для того, чтобы не вносить постоянные изменения в код шаблонов, добавляя и удаляя пары тегов spaceless, следует предусмотреть возможность контролируемого управления их использованием на основании задаваемого условия.

  114. Удаление лишних пробелов в генерируемом HTML коде страницы с помощью Twig

    Поводом для написания этой заметки послужил вопрос о том, как минифицировать генерируемый HTML код страницы средствами Grav CMS с целью удаления лишних символов пробела, приводящих к неправильному отображению элементов страницы в браузере.

  115. Получение всех тегов таксономии коллекции страниц в шаблоне Twig для Grav CMS

    Для создания списка тегами таксономии страниц в Grav CMS используется плагин Taxonomy List, однако часто приходится решать задачи, для которых этот плагин не подходит, например, для создания списка тегов таксономии для отдельных коллекций, либо при необходимости снижения количества и уменьшения зависимости веб-сайта от набора используемых плагинов.

  116. Tachyons и контейнер в полную ширину страницы внутри родителя с фиксированной шириной

    В Tachyons 4.7.0 нет готового модуля для создания контейнеров в полную ширину страницы внутри родителя с фиксированной шириной. Также нет и требующегося для этого набора классов. Поэтому для решения задачи следует использовать собственный класс или добавить собственный модуль.

  117. Контейнер в полную ширину страницы внутри родителя с фиксированной шириной

    В качестве практического применения, описанного в заголовке приёма, можно представить себе вывод изображения, занимающего всю ширину страницы, но находящегося внутри статьи, текст которой размещён в блоке, расположенном по центру экрана, имеющем фиксированную ширину.

  118. Изменение пароля пользователя с использованием CLI Grav CMS

    Я уже писал о простом способе изменения пароля пользователя в Grav CMS. Если по каким-либо причинам, вы не хотите или не можете напрямую вносить изменения в YAML файл профиля пользователя, но имеете доступ к командной строке, то можете изменить пароль пользователя при помощи встроенного командного интерфейса (CLI) Grav CMS, вызвав специальную команду плагина Login.

  119. Удобный метод для извлечения содержимого директории из zip архива

    При разработке PHP приложений, работающих с файловыми zip архивами, я использую стандартное PHP расширение для сжатия и архивации Zip. Это расширение делает доступным использование класса ZipArchive, реализующего методы, позволяющие выполнять основные действия с zip архивами, которые требуются при решении большинства задач. Однако в ряде случаев, в классе ZipArchive мне не хватает метода, позволяющего извлечь содержимое заданной директории архива в указанное место, не сохраняя при этом родительскую структуру директорий.

  120. Включение автоматической транслитерации в GetSimple CMS 3.4

    Я уже писал о том, как самостоятельно решить проблему автоматической транслитерации имён загружаемых файлов в GetSimple CMS. Для тех, кто не хотел вносить изменения в файлы системы управления контентом, есть хорошая новость: в GetSimple CMS 3.4 возможность автоматической транслитерации будет доступна по умолчанию. Можно не дожидаться официального релиза, и уже сейчас установить ветку master, чтобы оценить, как это работает.

  121. Регистронезависимое сравнение строк в Bash

    Сравнение строк в Bash не вызывает никаких проблем до тех пор, пока не возникает задача сравнить две строки, не учитывая регистр символов. Я приведу несколько вариантов решения задачи, которые использую сам. Особенностью этих решений является использование только встроенных возможностей оболочки Bash.

  122. Почему iconv не возвращает ничего

    Переводя текст из одной кодовой страницы в другую, используя PHP функцию iconv(), можно столкнуться с проблемой — iconv() не возвращает ничего. На самом деле, возвращает, но не ожидаемую строку, а логическое значение false. Почему так происходит и что с этим делать?

  123. Ajax запрос фрагмента страницы с использованием JQuery

    Когда возникает потребность в обновлении блоков текущей страницы без её перезагрузки, получая содержимое для этих блоков на других страницах веб-сайта, следует использовать технологию Ajax. Библиотека JQuery значительно упрощает задачу, предоставляя необходимые методы для обработки Ajax запросов.

  124. Получение текущего используемого значения CSS свойства элемента

    Для получения текущего используемого значения CSS свойства стиля элемента в JavaScript следует использовать метод window.getComputedStyle. В зависимости от запрашиваемого свойства стиля, этот метод позволяет получить вычисленное или окончательное значение.

  125. Изменение алгоритма расчёта размеров всех элементов

    Изменение алгоритма расчёта размеров боксов в боксовой модели CSS со стандартного content-box на border-box во многом облегчает процесс вёрстки макетов. Для изменения свойства box-sizing для всех элементов HTML документа можно использовать следующий фрагмент CSS кода.

  126. Автоматизация установки GetSimple CMS с использованием командной строки

    Ранее я уже писал об автоматизации установки GetSimple CMS с использованием Git, однако установить GetSimple CMS в автоматическом режиме можно и без его использования, что может быть удобно при работе на сервере, где не установлены привычные инструменты разработки.

  127. Функции для вывода форматированного дампа переменной для GetSimple CMS

    Отвечая на вопросы, оказывая поддержку и помогая решить проблемы пользователям GetSimple CMS, часто я прошу показать мне дамп переменных или результатов выполнения функций. Для того, чтобы у пользователя не возникало дополнительных вопросов, а вывод дампа имел удобный для восприятия вид, я предлагаю использовать одну из приведённых PHP функций.

  128. Говорящий скрипт на PowerShell

    Используя PowerShell, вы можете заставить компьютер не просто выполнять нужные вам действия, но и озвучивать их голосом.

  129. Ограничение пользователей в доступе к чужим страницам в GetSimple CMS

    В развитие темы ограничения пользователей в создании публичных страниц в GetSimple CMS, я предлагаю также рассмотреть вариант реализации ограничения для пользователей на редактирование и выполнение иных действий с чужими страницами, дополняющий предыдущее решение.

  130. Ограничение пользователей в создании публичных страниц в GetSimple CMS

    Необходимость в ограничении прав пользователей при создании публичных страниц веб-сайта может иметь разные причины, одна из которых — проверка содержания страниц редактором, принимающим решение о публикации материала в открытом доступе. Я предлагаю рассмотреть наиболее простое решение такой задачи, не прибегая к разработке специального плагина.

  131. Новая Twig функция vardump в Grav CMS

    В предстоящем релизе Grav CMS 1.3.0 будет добавлена новая Twig функция vardump, предоставляющая ещё одну возможность для вывода дампа переменных.

  132. Наследование значения поля страницы в Grav CMS

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

  133. Очистка списка ключевых слов страницы от параметров плагинов в GetSimple CMS

    Ряд популярных плагинов для GetSimple CMS требуют от пользователя добавления параметров, необходимых для их работы, в ключевые слова страницы. Такой подход позволяет избавиться от необходимости добавлять специальные поля плагинов в форму редактора страниц, но приводит к замусориванию мета-данных, что негативно сказывается на эффективности SEO-оптимизации, а также ограничивает возможности вывода списков ключевых слов на страницах веб-сайта. Частичным решением описанных проблем является очистка списка ключевых слов от параметров плагинов.

  134. Создание массива уникальных имён директорий в сценарии Bash

    Идея для написания этой заметки возникла при решении практической задачи: необходимо обработать определённым образом большое количество директорий, различного уровня вложенности, содержащих файлы определённого типа, на сервере, работающем под управлением операционной системы Fedora Server без графического оконного менеджера. В этих условиях наиболее удобным решением является написание сценария на языке Bash.

  135. Официальная поддержка пользовательских шорткодов плагином Shortcode Core в Grav CMS

    Важная новость для всех активных пользователей шорткодов в Grav CMS с плагином Shortcode Core: начиная с версии Shortcode Core 2.6.0, плагин официально поддерживает использование пользовательских шорткодов.

  136. Задание и вывод описаний для значений типов таксономии в Grav CMS

    Система таксономии в Grav CMS играет важную роль при создании коллекций страниц. Однако её использование может быть расширено, если задать для значений её типов осмысленные описания. Например, такие описания могут быть использованы для вывода на страницах веб-сайта развёрнутой информации о назначенных для них категориях, типах или тегах. Я предлагаю рассмотреть механизм реализации такой возможности на примере задания осмысленных описаний для значений типа таксономии category.

  137. Упрощение работы с файлом hosts в Microsoft Windows

    Редактирование файла hosts это частая задача для тех, кто занимается веб-разработкой локально в среде Microsoft Windows. Например, внесение изменений в файл hosts требуется при создании нового виртуального хоста на Apache, чтобы сделать его доступным по удобному для себя адресу. Поэтому неплохо упростить выполнение этого рутинного действия.

  138. Вызов методов класса темы оформления в шаблоне Twig в Grav CMS

    Работая над темами оформления для Grav CMS, у меня периодически возникает необходимость реализации логики, описание которой на языке шаблонизатора Twig не удобно, либо требует функций, недоступных в шаблонизаторе. Первое, что приходит в голову в таком случае – написание и использование собственных Twig функций. Однако есть способ проще.

  139. Функция проверки существования страницы для GetSimple CMS

    В GetSimple CMS отсутствует стандартная функция для проверки существования страницы, однако необходимость такой проверки периодически возникает, например, при разработке тем оформления. Раз функция не существует, то следует написать её самостоятельно.

  140. Настройка NetBeans для запуска Grav CMS на встроенном веб-сервере PHP

    Одной из возможностей интегрированной среды разработки NetBeans, которую я использую при работе над своими проектами, является задание настроек выполнения проекта.

  141. Добавление и удаление обработчиков событий на чистом JavaScript, но, как в JQuery

    Хочу поделиться примером простой реализации методов, аналогичных методам on и off из библиотеки JQuery, специально для тех, кто хочет работать с чистым JavaScript, но не готов сразу отказаться от сформировавшихся привычек.

  142. Использование проверки аутентификации посетителя веб-сайта в GetSimple CMS

    Эта заметка является ответом на вопрос о том, как, используя шаблон оформления страницы, вывести сообщение для зарегистрированного в системе посетителя веб-сайта, работающего под управлением GetSimple CMS.

  143. Выполнение строки кода, содержащего прямое обращение к объекту текущей страницы, в Grav CMS

    Ранее я уже рассматривал особенности использования Twig функции evaluate в Grav CMS. Напомню, что важной особенностью является отсутcвие прямого доступа к объекту текущей страницы page, поэтому для обращения к нему необходимо использовать контейнер grav. В текущей версии Grav CMS работа Twig функции evaluate осталась без изменений, но я предлагаю рассмотреть решение, позволяющее обойти описанное ограничение.

  144. Решение проблемы кириллических имён загружаемых файлов для GetSimple CMS

    Автоматическая обработка имён загружаемых файлов в GetSimple CMS позволяет выполнить очистку имён файлов от недопустимых символов. Но вместе с этим она является значительной проблемой для части русскоязычных пользователей системы управления контентом, не желающих самостоятельно заниматься переименованием файлов перед загрузкой их на веб-сайт.

  145. Разработка и подключение шорткодов с использованием плагина gs_shortcodes в GetSimple CMS

    Плагин gs_shortcodes для системы управления контентом GetSimple CMS включает в себя набор шорткодов, доступных для использования сразу после установки, а также шорткоды, служащие для демонстрации и расширения возможностей использования плагина. Однако на практике, при работе над проектом веб-сайта, возникает потребность в дополнительных шорткодах, позволяющих реализовать требуемые функциональные возможности разрабатываемого веб-сайта. Именно поэтому разработчику необходимо понимать принцип создания собственных шорткодов.

  146. Особенности использования Twig функции evaluate в Grav CMS

    Система управления контентом Grav CMS предоставляет разработчику возможность выполнения строки, содержащей код Twig, с использованием Twig функции evaluate внутри шаблонов оформления. Эта возможность может быть полезна в тех случаях, когда код Twig задаётся в качестве содержания поля страницы, настройки веб-сайт или темы оформления.

  147. Форма для создания раздела ответов на часто задаваемые вопросы для Grav CMS

    Среди требований заказчиков веб-сайтов часто встречается запрос на создание раздела с ответами на часто задаваемые вопросы. Если вы создаёте веб-сайт, работающий под управлением Grav CMS, то реализовать данный функционал можно разными способами – от создания модульных страниц, до написания специального плагина. Но всегда хочется упростить стоящую задачу.

  148. Устранение 500 Internal Server Error Apache после установки GetSimple CMS

    Если сразу после установки или переноса GetSimple CMS на сервер c установленным, настроенным и работающим Apache, вместо страниц веб-сайта вы получаете ошибку 500 Internal Server Error, то после проверки корректности установленных прав доступа, а также, убедившись в присутствии всех файлов GetSimple CMS в файловой системе веб-сервера, не стоит поддаваться панике и обвинять в происходящем систему управления контентом.

  149. Создание эффекта побуквенного оформления текста с использованием Twig и CSS

    Рассматриваемый пример создания эффекта побуквенного оформления текста демонстрирует возможности использования Twig и CSS при разработке шаблонов оформления для Grav CMS и других систем управления контентом, использующих в качестве шаблонизатора Twig.

  150. Восстановление профиля пользователя GetSimple CMS с использованием шаблона

    Если вы по ошибке удалили файл профиля единственного пользователя GetSimple CMS, то вы оказываетесь в ситуации, при которой доступ к панели управления становится невозможен. А это значит, что вам становятся недоступны все возможности по управлению собственным веб-сайтом через графический пользовательский веб-интерфейс, включая работу с контентом, медиафайлами, настройками и прочим. Однако это не должно быть повод для паники.

  151. Вывод сообщения в зависимости от времени просмотра веб-сайта для Grav CMS

    Идеей для написания этой заметки послужил вопрос о том, как при помощи Grav CMS реализовать вывод сообщения посетителю веб-сайта организации в зависимости от времени посещения и рабочего режима организации.

  152. Использование собственных шорткодов с плагином Shortcode Core в Grav CMS

    Не смотря на рекомендацию создавать собственные плагины, добавляющие необходимые шорткоды в Grav CMS, разработчик может упростить свою работу, воспользовавшись базовой функциональностью плагина Shortcode Core.

  153. Простой способ изменения пароля пользователя для Grav CMS

    Если вы забыли пароль пользователя, то он может быть изменён стандартным способом с использованием графического пользовательского веб-интерфейса плагина Admin. Однако для этого понадобится настроенная и работающая система отправки почты. Если на вашем тестовом веб-сервере работа почты не настроена, то есть способ проще.

  154. Использование Grav CMS со встроенным веб-сервером PHP

    Одной из полезных возможностей, добавленных в Grav CMS 1.1.10, стала поддержка работы системы управления контентом на встроенном веб-сервере PHP. Однако разработчики, использующие для запуска встроенного веб-сервера метод, описанный в заметке Удобный запуск встроенного веб-сервера PHP в Microsoft Windows, сталкиваются с проблемой.

  155. Использование PowerShell в качестве встроенного терминала в Visual Studio Code

    В текущей версии Visual Studio Code 1.8.1 в качестве встроенного терминала, при использовании его в Microsoft Windows, по умолчанию используется интерпретатор комманд cmd.exe. Пользователям, знакомым с возможностями PowerShell, скорее всего, будет удобнее использовать в качестве встроенного терминала именно PowerShell, а не cmd.exe.

  156. Приведение значения переменной к типу Boolean в PHP

    Приведение значения переменной к типу Boolean является распространённой задачей при разработке на языке PHP. Однако в ряде случаев, выполнения простого приведения типа может быть недостаточно.

  157. Единовременная обработка события для элемента на JavaScript

    Метод EventTarget.addEventListener() позволяет зарегистрировать определённый обработчик события для генератора событий EventTarget. Зарегистрированное таким образом событие, будет обрабатываться каждый раз при его возникновении. Однако в ряде случаев логика приложения требует только единовременной его обработки.

  158. Создание основных типов цветовых схем с использованием LESS

    По аналогии с музыкой, существуют такие цветовые сочетания, которые воспринимаются человеком, как особенно красивые и гармоничные. Такие цветовые сочетания называют цветовыми гармониями или цветовыми аккордами.

  159. Вывод адресов ссылок при печати веб-страницы

    Страницы веб-сайта просматриваются посетителями не только в веб-браузере на экранах различных устройств, но иногда и отправляются на печать. Причём в большинстве случаев печать выполняется напрямую из окна веб-браузера, без дополнительного редактирования.

  160. Стилизация исходящих ссылок веб-сайта

    Стилизация исходящих ссылок, позволяющая визуально отделить их от внутренних, является распространённой практикой при разработке информационных веб-сайтов. Необходимость дополнительной стилизации таких ссылок внутри текстового контента страницы, связана прежде всего с повышением удобства использования веб-сайта. Так, видя стилизованную особым образом ссылку, пользователь заранее определяет, что при переходе по ней он будет направлен на внешний ресурс.

  161. Форма для создания галереи изображений для Grav CMS

    Система управления контентом Grav CMS обладает встроенной поддержкой медиа файлов, достаточной для гибкой работы с медиа контентом веб-сайта. Использование графического пользовательского веб-интерфейса панели управления плагина Admin не только упрощает работу по администрированию веб-сайта, но и предоставляет новые возможности по работе с его контентом. Одной из таких возможностей является использование удобного пользовательского интерфейса для создания галерей изображений.

  162. Шаблон Twig для Grav CMS, формирующий RSS-канал раздела

    Использование RSS-канала позволяет публиковать в сжатом виде размещённую на веб-сайте информацию, обеспечивая удобный и своевременный доступ к ней пользователям, использующим специальное программное обеспечения для чтения RSS-лент, включая онлайн сервисы.

  163. Шаблон Twig для Grav CMS, формирующий XML-документ страницы GetSimple CMS

    Идея для рассматриваемого решения появилась благодаря возникшей необходимости в переносе содержания нескольких страниц из системы управления контентом Grav CMS в GetSimple CMS.

  164. Удобный запуск встроенного веб-сервера PHP в Microsoft Windows

    Встроенный веб-сервер - новая возможность, добавленная в PHP 5.4. Предназначение встроенного веб-сервера PHP - повышение удобства разработки веб-приложений, возможность тестового или демонстрационного запуска приложений в полностью контролируемом окружении.

  165. Функция для получение имени используемой темы оформления в GetSimple CMS

    Имя текущей темы оформления веб-сайта в GetSimple CMS хранится в глобальной переменной $TEMPLATE. Однако для получения её значения специальная функция не предусмотрена.

  166. Массовое переименование файлов в PowerShell

    Пакетное переименование большого количества файлов это одна из распространённых операций при работе с объектами файловой системы, имеющая цель упорядочивания системы хранения данных.

  167. Twig тег для перенаправления в Grav CMS

    В релизе Grav CMS 1.1.9 rc 1 добавлен новый тег Twig redirect_me, предназначение которого - выполнение перенаправления посетителя на заданную страницу.

  168. Дефисы в именах плагинов Grav CMS

    Обращение к свойствам плагина Grav CMS с именем myplugin в шаблоне Twig, может быть реализовано следующий образом:

  169. Быстрый переход к редактированию страницы в GetSimple CMS

    При активной работе с содержанием веб-сайта часто приходится выполнять большое количество рутинных операций, требующих последовательного выполнения определённого количества шагов. Одной из часто выполняемых операций является переход к редактированию контента страниц веб-сайта из фронтэнда.

  170. Функция для получения значения поля страницы в GetSimple CMS

    Возможность прямого редактирования XML-документов страниц GetSimple CMS была рассмотрена ранее. При этом важное значение имеет не только возможность добавления собственных элементов в XML-документы страниц, но и получение значений таких элементов.

  171. Прямое редактирование содержания страниц в GetSimple CMS

    Для хранения текстового контента и всех данных страниц веб-сайта в GetSimple CMS используется формат XML. При этом каждой странице соответствует свой XML-документ, содержащий в себе полный набор данных страницы.

  172. Вывод навигационной цепочки в GetSimple CMS

    Навигационая цепочка является удобным инструментом навигации на веб-сайте, обладающим большой глубиной вложенности страниц. Однако среди стандартных функций GetSimple CMS построение навигационных цепочек пока отсутствует.

  173. Вывод списка дочерних страниц в GetSimple CMS

    Работа с наборами страниц, обладающих различными взаимными связями, является основной при разработке веб-сайта, содержащего значительный объём контента.

  174. Количество дней между датами в LibreOffice Calc

    Вопрос вычисления количества дней между двумя датами с использованием PowerShell уже был рассмотрен ранее. Однако приведённое решение больше подходит пользователям, привыкшим или знакомым с работой в командной строке, для остальных оно может показаться сложным.

  175. Количество дней между датами в PowerShell

    У каждого возникали ситуации, когда требовалось посчитать количество дней между двумя датами. К примеру, чтобы узнать количество оставшихся дней до нового года, дня рождения, сдачи курсовой работы, наступления каникул, возврата книги в библиотеку и т.п.

  176. Автоматизация установки GetSimple CMS с использованием Git

    Достижение максимальной автоматизации выполнения рутинных задач является практической целью многих разработчиков. При этом набор используемых средств автоматизации во многом определяется личными предпочтениями, опытом, а также стеком используемых технологий.

  177. Изменение адреса панели управления GetSimple CMS

    Важной составляющей обеспечения безопасности веб-сайта, использующего систему управления контентом, является обеспечение приватности данных, гарантирующих ограничение доступа к функциям управления веб-сайтом.