Помидоры
Обновлённый и ещё раз переписанный вариант моего старого блога, новые версии старых программ: объёмный тетрис, простая капча и другие — упрощённая сборка сайта без обфускации, облегчённое оформление страниц без JavaScript и открытая лицензия РФ вместо MIT — изменений много и везде, но суть осталась прежней — ничего не изменилось. Серия статических вёб-сайтов «Помидоры» — чтобы не скучать и чтобы не забыть, как программы писать, когда работы нет.
- gitea.com — последняя версия.
- git.org.ru — история изменений.
- hub.mos.ru — история изменений.
Содержание
Решения задач по программированию с ошибками и описания решений. Исправление ошибок — дополнительная задача для троечников и любителей списывать. Весь код проверен и работает — выглядит красиво, но на продуктовом сервере такой код использовать нельзя. Вопрос на четвёрку: найти хотя бы одну ошибку. Вопрос на пятёрку: найти больше ошибок и написать своё решение.
Конструктивную критику и описания ошибок можно отправлять по электронной почте — как минимум мне это интересно и полезно для профессионального роста. Потому что, во-первых, не все ошибки допущены намеренно и, во-вторых, не все они — есть ошибки.
- Трёхмерная графика на JavaScript.
- Декартово произведение, комбинаторика.
- Умножение матриц и повороты.
- Практическая философия, поэзия и юмор.
- Рисуем картинки текстом.
Оформление
Две темы оформления для Jekyll на языке шаблонов Liquid: «Цветной помидор» был написан раньше с использованием AngularJS и Material, таким было оформление предыдущей версии моего блога, затем был написан «Старый помидор» — облегчённый одноцветный вариант с использованием только HTML и CSS, внешний вид напоминает тему оформления по умолчанию на GitHub Pages. Оба помидора дополняют друг друга и похожи друг на друга, поэтому их можно использовать вместе на одном сайте.
- Цветной помидор — выбор цвета во время сборки.
- Старый помидор — легковесная тема оформления.
Процесс
Творческий процесс начался в 2016 году, но и раньше какие-то вещи я писал для себя. Активизация творчества наступает, когда работы нет. Созревшие мысли становятся отдельными проектами, а несозревшие идут как части этого проекта. Со временем частей становится больше, поэтому автоматизация пригождается и здесь тоже.
- Управление процессами — скрипты Bash.
- Аватарки для репозиториев — картинки.
- Незавершённые публикации — архив.
Сборка
Раньше сборку сайта из шаблонов выполняла кастомная программа на Java. После сборки выполнялась обфускация шифром замены по словарю для всех классов, переменных и функций HTML, CSS и JS. Блоки кода оставлялись без обфускации, а подсветка синтаксиса выполнялась на клиенте. Обусификатор — уникальное решение, больше не используется.
Теперь сборку сайта выполняет Jekyll, язык шаблонов Liquid, подсветка синтаксиса во время сборки, а содержание страниц в формате Markdown. Управление процессами выполняют скрипты Bash. Меня не покидает мысль, что я поменял шило на мыло — в целом ничего не изменилось.
Лицензия
Раньше к своим проектам в интернете прикладывал лицензию MIT, но когда появилась открытая лицензия РФ — перешёл на неё, сразу внёс небольшие изменения в текст и дополнил от себя, хотя я не юрист. Основной смысл лицензии остался прежним — программа предоставляется бесплатно, но без каких-либо гарантий, и автор программы — это я.
- OPEN_LICENSE.txt — основной текст лицензии и пояснение к нему без изменений, можно найти в интернете. Из него удалил лишние пробелы и пробельные символы, чтобы текст был больше похож на текст.
- LICENSE.md — дополнение от себя с указанием ссылки на основной текст лицензии.
- CONTRIBUTING.md — описание способа, как можно содействовать проекту.
© Головин Г.Г., Код с комментариями, 2021-2024