Запуск этого сайта

И пара слов о его устройстве

читать 2 минуты

Наконец этот сайт способен на нечто большее чем просто показывать контакты и домашнюю страницу.

Прошло уже много времени с первой версии этого сайта. Я сделал её ещё в школе, в девятом классе, используя Python и Django. Потом я пробовал самые разные подходы, даже написал magi — библиотеку CGI, так как мне хотелось создать сайт, который бы в полной мере чувствовался моим. В итоге я остановился на Hugo, генераторе статических файлов, написанном на Go.

Мне он показался достаточно удобным, быстрым и в приятной степени настраиваемым. Также весьма удобно изменять этот сайт — я использую git-репозиторий для управления как исходниками, так и сгенерированным сайтом. Ключевой момент был в том, что бы настроить веб-сервер хостить директорию репозитория, а затем настроить репозиторий так, что бы при очередном коммите он обновлял содержимое своей директории. Сделать это просто:

git config receive.denyCurrentBranch updateInstead

Что бы поддерживать доступ веб-сервера к публичным файлам сайта вам может быть надо создать .git/hooks/post-receive с примерно таким содержанием:

#!/bin/sh
chgrp -R webserver_group /path/to/your/repository

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

Наконец, опишу как тут сделан поиск. Мне кажется этот способ весьма удобным — можно используя только лишь HTML сформировать запрос DuckDuckGo по поиску только по определённому сайту:

<form action="https://duckduckgo.com/" method="get">
  <input type="search" name="q" placeholder="Search...">
  <input type="hidden" name="sites" value="example.com">
</form>

Внешний вид этого сайта вдохновлён elementary OS. Я использовал её пару лет, и её эстетику я нахожу весьма приятной.