Денис Милушкін

Блог став повністю статичним

Минулого року я відмовився від використання Wordpress та бази даних і написав просту CMS, яка працює на текстових файлах. Тепер я трохи переробив цю систему і вона генерує готові статичні сторінки. Блог тепер повністю складається зі статичних HTML-сторінок, розміщених на вебсервері. Додавання нових сторінок виконується на моєму комп’ютері, після чого готові сторінки завантажуються на сервер. Для простих та невеликих сайтів я прагну використовувати саме такий спосіб створення та публікації контенту.

У статичного сайту є кілька переваг:

Є у статичних сайтів і недоліки: не завжди зручно працювати із зображеннями, коментарі можна додати тільки за допомогою сторонніх сервісів, немає можливості організувати реєстрацію користувачів. Але у моєму випадку це не має значення, фотографії я додаю рідко, а від коментарів я давно відмовився.

Система, яку я використовую для генерації сторінок блогу, написана на PHP і працює на локальному сервері. Для конвертації Markdown в HTML я використовую бібліотеку php-markdown. Сторінки сайту збираються із трансформованого в HTML тексту статті та файлів шаблона.

Мову розмітки Markdown я вибрав за її простоту та зручність у використанні. Текст в такій розмітці легко редагувати, а після конвертації виходить чистий та правильний HTML-код. До використання Markdown дуже швидко звикаєш, варто попрацювати з ним деякий час, і повертатись до візуальних редакторів більше не хочеться.

Додавання нового запису в блог відбувається так:

  1. Текст пишеться з використанням розмітки Markdown в простому текстовому файлі з розширеннями .md.
  2. Коли текст готовий до публікації, я відкриваю на локальному сервері панель керування сайтом і вказую скрипту ім’я файлу, який потрібно конвертувати. Скрипт конвертує текст запису в HTML-формат і створює готову сторінку зі статтею. Одночасно додається посилання в розділ Архів, додається запис в RSS-стрічку і до списку всіх статей (для посторінкового виводу). Після цього можна завантажувати файли на сервер.

Для редагування наявної статті достатньо внести зміни в вихідний файл на комп’ютері. Після цього скрип автоматично оновлює всі потрібні файли.

Якщо в статті є ілюстрації або фото, я зберігаю їх в спеціальній теці поруч з іншими файлами сайту, а в розмітці Markdown прописую потрібний код. Коли стаття готова, ілюстрації разом із HTML-файлами завантажуються на сервер. Можливо, це не найзручніше рішення, але я не дуже часто використовую фото в блозі, тому мене такий підхід цілком влаштовує.

Якщо потрібно змінити дизайн сайту або додати нове посилання в меню, я змінюю шаблони, з яких формуються готові HTML-сторінки, після чого скрипт заново генерує усі сторінки сайту.

Для створення статичного сайту можна було використати якесь готове рішення. Існують сотні генераторів статичних сайтів, написаних на різних мовах програмування. Але жодне готове рішення мені не підійшло. Деякі з них важко змусити нормально працювати на операційній системі Windows, інші потребують багато часу на вивчення та налаштування. Мені з моїми мінімальними знаннями PHP було простіше створити щось своє, аніж розбиратися й налаштовувати систему, написану іншою мовою програмування. До того ж хотілося отримати максимальне просте рішення, яке не потребує завантаження десятків мегабайт бібліотек та залежностей.

Блогерство

← Попередня публікація
Роман Мері Гіґґінс Кларк «Немає місця краще, ніж вдома»

Наступна публікація →
Збірка «Моє улюблене вбивство. Кращий світовий детектив»