/orsha-lug-hugo

Сайт оршанской группы пользователей Linux.

Primary LanguageHTML

Orsha LUG website v3

Сайт оршанской группы пользователей Linux. Адрес сайта: https://orsha.linux.by

Сайт управляется системой Hugo, которая обеспечивает сборку статичных html-страниц из исходных markdown-страниц. Основной контент сайта размещён в приватном репозитории, чтобы избежать SEO-проблем с поисковиками.

Ниже приведена инструкция.

Установка программного обеспечения

Для работы над сайтом понадобится Git и Hugo.

Установка Git

Желательна версия 2.7.4 или выше.

Пример установки для debian-based дистрибутивов (Ubuntu, Debian, и т.д.):

sudo apt-get install git

Установка Hugo

Версия: проверена работоспособность с версиями 0.30.2 и 0.40.1.

Пример установки для debian-based дистрибутивов (Ubuntu, Debian, и т.д.):

sudo apt-get install hugo

Подготовка локальной копии

Склонируйте данный репозиторий:

git clone https://github.com/shurph/orsha-lug-hugo.git

Перейдите в каталог со склонированным репозиторием и инициализируйте сабмодули:

cd orsha-lug-hugo/

git submodule init

Теперь здесь же обновите содержимое сабмодулей (данные будут загружены из других репозиториев).

Внимание: некоторые из репозиториев — приватны. Это сделано для того, чтобы избежать SEO-проблем с поисковиками [1], [2], [3], [4].

Запросите права на чтение этих репозиториев у @shurph, если вы таковыми не обладаете.

И так, обновление содержимого сабмодулей:

git submodule update

После успещного выполнения всех вышеперечисленных команд у вас всё будет готово для работы над сайтом.

Запуск локального Hugo-сервера

Локальный Hugo-сервер понадобится для тестирования вносимых изменений.

Из каталога репозитория выполните:

hugo server -D --disableFastRender

Сборка «production»-версии

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

Из каталога репозитория выполните:

hugo

Заливка файлов на сайт

Это можно делать с помощью любого ftp-клиента.

Обратите внимание, что при заливке новой версии сайта по умолчанию новые файлы копируются поверх существующих. Это значит, что файлы, которые были удалены в новой версии, останутся нетронутыми на сайте. Их придётся удалять отдельно.

Структура каталогов

Все исходники контента сайта хранятся в двух основных каталогах: content и static.

Каталог content

В каталоге content размещены ещё два каталога, post и article, в которых уже непосредственно размещаются markdown-файлы, преобразуемые Hugo.

Каталог static

В этом каталоге могут размещаться любые файлы и каталоги в режиме «как есть». Все файлы из этого каталога будут скопированы в исходном виде в корень каталога public/ при генерации сайта. Т.е. после заливки содержимого каталога public/ на «живой» сайт файлы каталога static будут помещены в корень сайта.

Это позволяет использовать каталог static для создания и хранения таких файлов как robotx.txt, favicon.ico, sitemap_index.xml и т.д. Важно: файл sitemap.xml помещать сюда не следует, т.к. он будет автоматически сгенерирован Hugo.

Формат markdown-файла для Hugo

---
title: "Начало положено"
date: 2007-03-03T14:37:14+03:00
---
*Именно* в этот _день_, 3 марта 2007...

Вверху расположена секция с мета-информацией, начинающаяся и заканчивающаяся строками с тремя тире ---. После второй, «закрывающей», строки с тремя тире --- начинается контент в формате Markdown. Подробнее о Markdown: https://ru.wikipedia.org/wiki/Markdown

Вспомогательные инструменты

Как генерировать sitemap для форума

Устанавливаем генератор:

npm install -g sitemap-generator-cli

Запускаем генерацию:

sitemap-generator -q -v https://orsha.linux.by/forum/ -f static/sitemap_forum.xml