6.8 KiB
Помидоры
Обновлённый и ещё раз переписанный вариант моего старого блога, новые версии старых программ: объёмный тетрис, простая капча и другие — упрощённая сборка сайта без обфускации, облегчённое оформление страниц без JavaScript и открытая лицензия РФ вместо MIT — изменений много и везде, но суть осталась прежней — ничего не изменилось. Серия статических вёб-сайтов «Помидоры» — чтобы не скучать и чтобы не забыть, как программы писать, когда работы нет.
Содержание
Решения задач по программированию с ошибками и описания решений. Исправление ошибок — дополнительная задача для троечников и любителей списывать. Весь код проверен и работает — выглядит красиво, но на продуктовом сервере такой код использовать нельзя. Вопрос на четвёрку: найти хотя бы одну ошибку. Вопрос на пятёрку: найти больше ошибок и написать своё решение.
Конструктивную критику и описания ошибок можно отправлять по электронной почте — как минимум мне это интересно и полезно для профессионального роста. Потому что, во-первых, не все ошибки допущены намеренно и, во-вторых, не все они — есть ошибки.
- pomodoro1 — Трёхмерная графика на JavaScript.
- pomodoro2 — Декартово произведение, комбинаторика.
- pomodoro3 — Умножение матриц, повороты.
- pomodoro4 — Поэзия. Юмор.
- pomodoro5 — Рисуем картинки текстом.
Сборка
Раньше сборку сайта из шаблонов выполняла кастомная программа на Java. После сборки выполнялась обфускация для всех классов, переменных и функций HTML, CSS и JS шифром замены по словарю. Блоки кода оставлялись без обфускации, а подсветка синтаксиса выполнялась на клиенте. Обусификатор — уникальное решение, больше не используется.
Теперь сборку сайта выполняет Jekyll, язык шаблонов Liquid, подсветка синтаксиса во время сборки, а содержание страниц в формате Markdown. Обслуживание выполняется скриптами Bash. Меня не покидает мысль, что я поменял шило на мыло — в целом ничего не изменилось.
Оформление
Две темы оформления для Jekyll на языке шаблонов Liquid: «Цветной помидор» был написан раньше с использованием AngularJS и Material, таким было оформление предыдущей версии моего блога, затем был написан «Старый помидор» — облегчённый одноцветный вариант с использованием только HTML и CSS, внешний вид напоминает тему оформления по умолчанию на GitHub Pages. Оба помидора дополняют друг друга и похожи друг на друга, общие черты и различия между ними отмечены в списке ниже.
- Адаптивная вёрстка или Responsive layout.
- Файлы пользователя JS и CSS в блоке head страниц HTML.
- SEO-разметка с использованием JSON-LD и Open Graph.
- Переключение между двумя языками и помидорными темами.
- Карта страниц сайта с их переводами в формате XML.
- Простая страница 404 для несуществующих URL-адресов.
- Шрифты: Roboto для текста и JBMono для блоков кода.
- Помидоры: PNG, JPG 120x120, SVG 64x64, ICO 32x32.
- Выбор цвета во время сборки, зелёный цвет по умолчанию.
- Кнопка прокрутки вверх в стиле Material.
Лицензия
Раньше к своим проектам в интернете прикладывал лицензию MIT, но когда появилась открытая лицензия РФ — перешёл на неё, сразу внёс небольшие изменения в текст и дополнил от себя, хотя я не юрист. Основной смысл лицензии остался прежним — программа предоставляется бесплатно, но без каких-либо гарантий, и автор программы — это я.
- OPEN_LICENSE.txt — основной текст лицензии и пояснение к нему без изменений, можно найти в интернете. Из него удалил лишние пробелы и пробельные символы, чтобы текст был больше похож на текст.
- LICENSE.md — дополнение от себя с указанием ссылки на основной текст лицензии.
- CONTRIBUTING.md — описание способа, как можно содействовать проекту.
© Головин Г.Г., Код с комментариями, 2021-2023