HTML Diff
19 added 18 removed
Original 2026-01-01
Modified 2026-02-26
1 <p><strong>Jekyll - генератор статичных сайтов. Грубо говоря, он просто помогает собрать из шаблонов и текстов набор HTML-файлов, которые можно разместить на любом веб-сервере. Этот сайт - Hexlet Guides - работает на Jekyll.</strong></p>
1 <p><strong>Jekyll - генератор статичных сайтов. Грубо говоря, он просто помогает собрать из шаблонов и текстов набор HTML-файлов, которые можно разместить на любом веб-сервере. Этот сайт - Hexlet Guides - работает на Jekyll.</strong></p>
2 <p>В отличие от движков для блогов или CMS вроде Wordpress или Ghost, конечный результат работы Jekyll - это не исполняемые программы на языке программирования, а статичные HTML-файлы. Поэтому для размещения сайта не нужен PHP, Node, базы данных и мощный хостинг. Раздача статических файлов создает минимальную нагрузку на сервер, поэтому чаще всего достаточно самого дешевого хостинга.</p>
2 <p>В отличие от движков для блогов или CMS вроде Wordpress или Ghost, конечный результат работы Jekyll - это не исполняемые программы на языке программирования, а статичные HTML-файлы. Поэтому для размещения сайта не нужен PHP, Node, базы данных и мощный хостинг. Раздача статических файлов создает минимальную нагрузку на сервер, поэтому чаще всего достаточно самого дешевого хостинга.</p>
3 <p>Jekyll-сайт можно разместить бесплатно на Github Pages, чем мы и займемся в этом руководстве.</p>
3 <p>Jekyll-сайт можно разместить бесплатно на Github Pages, чем мы и займемся в этом руководстве.</p>
4 <h2>Содержание</h2>
4 <h2>Содержание</h2>
5 <ul><li><a>Обзор</a></li>
5 <ul><li><a>Обзор</a></li>
6 <li><a>Установка Jekyll на локальную машину</a></li>
6 <li><a>Установка Jekyll на локальную машину</a></li>
7 <li><a>Файловая структура</a></li>
7 <li><a>Файловая структура</a></li>
8 <li><a>Конфигурация</a></li>
8 <li><a>Конфигурация</a></li>
9 <li><a>Создание постов</a></li>
9 <li><a>Создание постов</a></li>
10 <li><a>Создание страниц</a></li>
10 <li><a>Создание страниц</a></li>
11 <li><a>Публикация в интернете</a></li>
11 <li><a>Публикация в интернете</a></li>
12 <li><a>Дополнительные возможности</a></li>
12 <li><a>Дополнительные возможности</a></li>
13 </ul><h2>Обзор</h2>
13 </ul><h2>Обзор</h2>
14 <p>Рассмотрим схему работы Jekyll и схему публикации сайта вкратце:</p>
14 <p>Рассмотрим схему работы Jekyll и схему публикации сайта вкратце:</p>
15 <ol><li>Вы создаёте шаблоны для вашего сайта: как выглядит главная страница, как выглядят страницы постов, категорий, шапки, подвалы и другие блоки сайта.</li>
15 <ol><li>Вы создаёте шаблоны для вашего сайта: как выглядит главная страница, как выглядят страницы постов, категорий, шапки, подвалы и другие блоки сайта.</li>
16 <li>Вы пишете посты в формате<a>Markdown</a>(доступны и другие форматы).</li>
16 <li>Вы пишете посты в формате<a>Markdown</a>(доступны и другие форматы).</li>
17 <li>Jekyll генерирует конечные HTML-страницы на основе шаблонов и Markdown-файлов.</li>
17 <li>Jekyll генерирует конечные HTML-страницы на основе шаблонов и Markdown-файлов.</li>
18 <li>Вы публикуете HTML на веб-сервере и сайт становится доступным в интернете.</li>
18 <li>Вы публикуете HTML на веб-сервере и сайт становится доступным в интернете.</li>
19 </ol><p>GitHub Pages позволяет размещать любые HTML-страницы, но он также поддерживает Jekyll на своей стороне. Это означает, что вы можете не отправлять сгенерированный HTML в Github, а отправлять только папку с вашим Jekyll-проектом и Markdown-файлами, а Github сам запустит генерацию HTML и разместит их у себя.</p>
19 </ol><p>GitHub Pages позволяет размещать любые HTML-страницы, но он также поддерживает Jekyll на своей стороне. Это означает, что вы можете не отправлять сгенерированный HTML в Github, а отправлять только папку с вашим Jekyll-проектом и Markdown-файлами, а Github сам запустит генерацию HTML и разместит их у себя.</p>
20 <h2>Установка Jekyll на локальную машину</h2>
20 <h2>Установка Jekyll на локальную машину</h2>
21 <p>Есть два способа работы с Jekyll на локальной машине: напрямую или через Docker. Второй способ намного проще и быстрее, но может быть непривычен, если вы никогда раньше не работали с Докером.</p>
21 <p>Есть два способа работы с Jekyll на локальной машине: напрямую или через Docker. Второй способ намного проще и быстрее, но может быть непривычен, если вы никогда раньше не работали с Докером.</p>
22 <h3>Прямая установка и запуск Jekyll</h3>
22 <h3>Прямая установка и запуск Jekyll</h3>
23 <p>Jekyll - программа для командной строки, написанная на языке Ruby. Вам не нужно знать этот язык, чтобы работать с Jekyll, но нужно иметь интерпретатор этого языка в системе.</p>
23 <p>Jekyll - программа для командной строки, написанная на языке Ruby. Вам не нужно знать этот язык, чтобы работать с Jekyll, но нужно иметь интерпретатор этого языка в системе.</p>
24 <p>В зависимости от операционной системы, у вас может быть уже установлен Ruby.</p>
24 <p>В зависимости от операционной системы, у вас может быть уже установлен Ruby.</p>
25 <p>В Windows можно использовать<a>RubyInstaller</a>. Работать с Jekyll нужно через командную строку. Для подготовки необходимого окружения в Windows используйте наш гайд<a>Как начать разрабатывать в Windows</a>.</p>
25 <p>В Windows можно использовать<a>RubyInstaller</a>. Работать с Jekyll нужно через командную строку. Для подготовки необходимого окружения в Windows используйте наш гайд<a>Как начать разрабатывать в Windows</a>.</p>
26 <p>В официальной документации Jekyll есть раздел,<a>посвященный разным способам установки Ruby и Jekyll на Windows</a>.</p>
26 <p>В официальной документации Jekyll есть раздел,<a>посвященный разным способам установки Ruby и Jekyll на Windows</a>.</p>
27 <p>В macOS Ruby есть в комплекте. Проверьте его версию:</p>
27 <p>В macOS Ruby есть в комплекте. Проверьте его версию:</p>
28 - ruby -v ruby 2.3.3p222 (2016-11-21 revision 56859) [x86_64-darwin16]<p>Нужна версия 2.0 и выше. Если у вас по какой-то причине более ранняя версия, то обновите Ruby командой sudo gem install ruby.</p>
28 + <p>Нужна версия 2.0 и выше. Если у вас по какой-то причине более ранняя версия, то обновите Ruby командой sudo gem install ruby.</p>
29 <p>Теперь установите Bundler. Это менеджер пакетов, именно через него мы в итоге установим Jekyll и другие необходимые для него пакеты:</p>
29 <p>Теперь установите Bundler. Это менеджер пакетов, именно через него мы в итоге установим Jekyll и другие необходимые для него пакеты:</p>
30 - gem install bundler<p>Теперь установите Jekyll:</p>
30 + <p>Теперь установите Jekyll:</p>
31 - gem install jekyll<p>Теперь создайте блог:</p>
31 + <p>Теперь создайте блог:</p>
32 - jekyll new myblog cd myblog bundle exec jekyll serve<p>Откройте в браузере<a>http://localhost</a></p>
32 + <p>Откройте в браузере<a>http://localhost</a></p>
33 - .<h3>Установка и запуск Jekyll через Docker</h3>
33 + <p>.</p>
 
34 + <h3>Установка и запуск Jekyll через Docker</h3>
34 <p>Если вы не знакомы с Докером, то посмотрите наш<a>вебинар</a>. Для более глубокого ознакомления можно прочитать<a>большой гайд</a>в нашем блоге на Хабре или почитать официальную документацию и поискать другие статьи в интернете.</p>
35 <p>Если вы не знакомы с Докером, то посмотрите наш<a>вебинар</a>. Для более глубокого ознакомления можно прочитать<a>большой гайд</a>в нашем блоге на Хабре или почитать официальную документацию и поискать другие статьи в интернете.</p>
35 <p>Официальный Докер-образ Jekyll -<a>jekyll/jekyll</a>.</p>
36 <p>Официальный Докер-образ Jekyll -<a>jekyll/jekyll</a>.</p>
36 <p>Самый простой способ начать - использовать<a>наш пакет</a>с готовой темой, основанной на<a>Bootstrap 4</a>.</p>
37 <p>Самый простой способ начать - использовать<a>наш пакет</a>с готовой темой, основанной на<a>Bootstrap 4</a>.</p>
37 - git clone git@github.com:hexlet-boilerplates/jekyll-bootstrap4-docker.git cd make serve<p>Откройте в браузере<a>http://localhost</a></p>
38 + <p>Откройте в браузере<a>http://localhost:4000</a>.</p>
38 - .<h2>Файловая структура</h2>
39 + <h2>Файловая структура</h2>
39 <p>Базовая структура директории с сайтом выглядит так:</p>
40 <p>Базовая структура директории с сайтом выглядит так:</p>
40 - . _config.yml _drafts | begin-with-the-crazy-ideas.md | on-simplicity-in-technology.md _includes | footer.html | header.html _layouts | default.html | post.html _posts | 2007-10-29-hello.md | 2009-04-26-good-stuff.md _sass | _base.scss | _layout.scss _site index.html<p>Вкратце:</p>
41 + <p>Вкратце:</p>
41 <ul><li>ваши посты (например, в формате<a>Markdown</a>находятся в папке _posts.</li>
42 <ul><li>ваши посты (например, в формате<a>Markdown</a>находятся в папке _posts.</li>
42 <li>шаблоны страниц - в папке _layouts</li>
43 <li>шаблоны страниц - в папке _layouts</li>
43 <li>используемые в шаблонах повторяющиеся блоки - в папке _includes</li>
44 <li>используемые в шаблонах повторяющиеся блоки - в папке _includes</li>
44 <li>главная страница сайта - в index.html</li>
45 <li>главная страница сайта - в index.html</li>
45 </ul><p>Jekyll берет за основу шаблон, генерирует для каждого поста соответствующие страницы и собирает весь сайт в папке _site.</p>
46 </ul><p>Jekyll берет за основу шаблон, генерирует для каждого поста соответствующие страницы и собирает весь сайт в папке _site.</p>
46 <h2>Конфигурация</h2>
47 <h2>Конфигурация</h2>
47 <h3>_config.yml</h3>
48 <h3>_config.yml</h3>
48 <p>В файле _config.yml описана конфигурация сайта.</p>
49 <p>В файле _config.yml описана конфигурация сайта.</p>
49 - title: "Page title" header_title: "Header Title" email: your@ema.il author: Your Name description: "My blog description" baseurl: "" url: "https://myblog.com" date_format: "%-d.%m.%Y"<p>Важная деталь: url - адрес вашего корневого сайта, а baseurl - путь к Jekyll-сайту.</p>
50 + <p>Важная деталь: url - адрес вашего корневого сайта, а baseurl - путь к Jekyll-сайту.</p>
50 - https://hello.goo.com/myblog/ |--------------------|======| | | url baseurl<p>Если ваш сайт находится в корне, то baseurl будет пустым.</p>
51 + <p>Если ваш сайт находится в корне, то baseurl будет пустым.</p>
51 <p>Кроме базовых параметров, вы можете добавлять в этот файл собственные параметры. Они будут доступны в шаблонах. Например, в нашем базовом пакете есть такая строка в конфигурации:</p>
52 <p>Кроме базовых параметров, вы можете добавлять в этот файл собственные параметры. Они будут доступны в шаблонах. Например, в нашем базовом пакете есть такая строка в конфигурации:</p>
52 - twitter_username: hexlet<p>Параметр используется в файле _includes/header.html:</p>
53 + <p>Параметр используется в файле _includes/header.html:</p>
53 - {% raw %}{% if site.twitter_username %} &lt;li class="nav-item"&gt; &lt;a class="nav-link" href="https://twitter.com/{{ site.twitter_username }}"&gt; &lt;span class="mr-1 fa fa-twitter"&gt;&lt;/span&gt; &lt;/a&gt; &lt;/li&gt; {% endif %}{% endraw %}<p>Здесь сказано "если в конфигурации есть параметр twitter_username с непустым значением, то вывести ссылку на Твиттер".</p>
54 + <p>Здесь сказано "если в конфигурации есть параметр twitter_username с непустым значением, то вывести ссылку на Твиттер".</p>
54 <h3>Настройка темы</h3>
55 <h3>Настройка темы</h3>
55 <p>Jekyll идет в комплекте с базовой темой оформления. Наш<a>пакет</a>основан на популярном фреймворке<a>Bootstrap 4</a>.</p>
56 <p>Jekyll идет в комплекте с базовой темой оформления. Наш<a>пакет</a>основан на популярном фреймворке<a>Bootstrap 4</a>.</p>
56 <p>Рассмотрим наш пример поближе:</p>
57 <p>Рассмотрим наш пример поближе:</p>
57 <ul><li>_includes - блоки, используемые в нескольких местах<ul><li>head.html - элемент &lt;head&gt;, где подключаются стили, указываются мета-теги и так далее</li>
58 <ul><li>_includes - блоки, используемые в нескольких местах<ul><li>head.html - элемент &lt;head&gt;, где подключаются стили, указываются мета-теги и так далее</li>
58 <li>header.html - шапка сайта</li>
59 <li>header.html - шапка сайта</li>
59 <li>footer.html - подвал сайта</li>
60 <li>footer.html - подвал сайта</li>
60 <li>post_footer.html - показывается под постом на странице поста (включается в конфигурации)</li>
61 <li>post_footer.html - показывается под постом на странице поста (включается в конфигурации)</li>
61 <li>share_buttons.html - кнопки шеринга в соц. сетях под постом на странице поста (включаются и настраивается в конфигурации)</li>
62 <li>share_buttons.html - кнопки шеринга в соц. сетях под постом на странице поста (включаются и настраивается в конфигурации)</li>
62 <li>social_links.html - ссылки на соц. сети, показываются в шапке сайта (включается и настраиваются в конфигурации)</li>
63 <li>social_links.html - ссылки на соц. сети, показываются в шапке сайта (включается и настраиваются в конфигурации)</li>
63 </ul></li>
64 </ul></li>
64 <li>_layouts - основные шаблоны сайта<ul><li>default.html - главный шаблон, используется на главной странице</li>
65 <li>_layouts - основные шаблоны сайта<ul><li>default.html - главный шаблон, используется на главной странице</li>
65 <li>post.html - шаблон поста, используется на странице поста</li>
66 <li>post.html - шаблон поста, используется на странице поста</li>
66 </ul></li>
67 </ul></li>
67 <li>css - стили<ul><li>style.css - основной файл стилей сайта</li>
68 <li>css - стили<ul><li>style.css - основной файл стилей сайта</li>
68 <li>likely.css - стили для<a>кнопок</a>шеринга в соц. сетях</li>
69 <li>likely.css - стили для<a>кнопок</a>шеринга в соц. сетях</li>
69 </ul></li>
70 </ul></li>
70 <li>js - скрипты<ul><li>likely.js - скрипт для<a>кнопок</a>шеринга в соц. сетях</li>
71 <li>js - скрипты<ul><li>likely.js - скрипт для<a>кнопок</a>шеринга в соц. сетях</li>
71 </ul></li>
72 </ul></li>
72 <li>images - изображения</li>
73 <li>images - изображения</li>
73 </ul><h3>Front Matter</h3>
74 </ul><h3>Front Matter</h3>
74 <p>Любой файл, содержащий блок Front Matter в формате<a>YAML</a>будет обработан Jekyll'ом как особый файл. Блок Front Matter должен идти в самом начале файла.</p>
75 <p>Любой файл, содержащий блок Front Matter в формате<a>YAML</a>будет обработан Jekyll'ом как особый файл. Блок Front Matter должен идти в самом начале файла.</p>
75 <p>Например, страница index.html - главная страница сайта - содержит такие строчки в начале:</p>
76 <p>Например, страница index.html - главная страница сайта - содержит такие строчки в начале:</p>
76 - --- layout: default ---<p>А так выглядит сам default layout (файл _layouts/default.html):</p>
77 + <p>А так выглядит сам default layout (файл _layouts/default.html):</p>
77 - {% raw %}&lt;!DOCTYPE html&gt; &lt;html&gt; {% include head.html %} &lt;body&gt; {% include header.html %} &lt;div class="container"&gt; &lt;div class="row"&gt; &lt;div class="col"&gt;{{ content }}&lt;/div&gt; &lt;/div&gt; {% include footer.html %} &lt;/div&gt; &lt;/body&gt; &lt;/html&gt;{% endraw %}<p>Таким образом Jekyll при сборке берет содержание файла index.html, вставляет в {% raw %}{{ content }}{% endraw %} шаблона и создает конечный index.html.</p>
78 + <p>Таким образом Jekyll при сборке берет содержание файла index.html, вставляет в {% raw %}{{ content }}{% endraw %} шаблона и создает конечный index.html.</p>
78 <h2>Создание постов</h2>
79 <h2>Создание постов</h2>
79 <p>Посты находятся в папке _posts. Мы используем формат по умолчанию - Markdown. Пример названия файла: 2017-12-18-features.md. Как видно, дата публикации указана в названии файла. После даты идёт название, используемое для URL. Этот пост будет доступен по адресу mysite.com/features.</p>
80 <p>Посты находятся в папке _posts. Мы используем формат по умолчанию - Markdown. Пример названия файла: 2017-12-18-features.md. Как видно, дата публикации указана в названии файла. После даты идёт название, используемое для URL. Этот пост будет доступен по адресу mysite.com/features.</p>
80 <p>Пост также начинается с блока front matter:</p>
81 <p>Пост также начинается с блока front matter:</p>
81 - --- layout: post title: Features cover_url: "/images/tree.jpg" ---<p>Здесь могут содержаться как переменные Jekyll'а, так и наши собственные переменные. Здесь мы указали две собственных переменных: title и cover_url. Они используются в шаблонах:</p>
82 + <p>Здесь могут содержаться как переменные Jekyll'а, так и наши собственные переменные. Здесь мы указали две собственных переменных: title и cover_url. Они используются в шаблонах:</p>
82 <p>В файле _layouts/post.html:</p>
83 <p>В файле _layouts/post.html:</p>
83 - &lt;h1&gt;{% raw %}{{ page.title }}{% endraw %}&lt;/h1&gt;<p>В файле _includes/head.html:</p>
84 + <p>В файле _includes/head.html:</p>
84 - &lt;meta property="og:image" content="{{ page.cover_url | prepend: site.baseurl | prepend: site.url }}"&gt;<p>Здесь задаётся полный адрес обложки для социальных сетей. Подробнее об og-тегах можно узнать из урока "<a>Интеграция с соц. сетями и семантический веб</a>" бесплатного курса<a>Основы HTML, CSS и веб-дизайна</a>на Хекслете.</p>
85 + <p>Здесь задаётся полный адрес обложки для социальных сетей. Подробнее об og-тегах можно узнать из урока "<a>Интеграция с соц. сетями и семантический веб</a>" бесплатного курса<a>Основы HTML, CSS и веб-дизайна</a>на Хекслете.</p>
85 <p>Вы можете помещать картинки в любую директорию и включать их в посты и в front matter по относительному пути.</p>
86 <p>Вы можете помещать картинки в любую директорию и включать их в посты и в front matter по относительному пути.</p>
86 <h2>Создание страниц</h2>
87 <h2>Создание страниц</h2>
87 <p>Вы можете создавать любые директории и HTML-файлы самостоятельно, по аналогии с файлом index.html.</p>
88 <p>Вы можете создавать любые директории и HTML-файлы самостоятельно, по аналогии с файлом index.html.</p>
88 <p>Например, если создать директорию works и положить внутрь новый файл index.html (который может даже не содержать front matter, а быть полностью независимым статическим файлом), то страница будет доступна по адресу вроде mysite.com/works (в зависимости от значений url и baseurl в конфигурации)</p>
89 <p>Например, если создать директорию works и положить внутрь новый файл index.html (который может даже не содержать front matter, а быть полностью независимым статическим файлом), то страница будет доступна по адресу вроде mysite.com/works (в зависимости от значений url и baseurl в конфигурации)</p>
89 <h2>Публикация в интернете</h2>
90 <h2>Публикация в интернете</h2>
90 <h3>Публикация HTML-файлов на веб-сервере</h3>
91 <h3>Публикация HTML-файлов на веб-сервере</h3>
91 <p>Файлы из папки _site достаточно разместить на веб-сервере. Для этого подойдет практически любой хостинг. Подробнее о хостингах можно узнать из бесплатного курса<a>Введение в веб-разработку</a>на Хекслете.</p>
92 <p>Файлы из папки _site достаточно разместить на веб-сервере. Для этого подойдет практически любой хостинг. Подробнее о хостингах можно узнать из бесплатного курса<a>Введение в веб-разработку</a>на Хекслете.</p>
92 <h3>Публикация на Github Pages с поддержкой Jekyll</h3>
93 <h3>Публикация на Github Pages с поддержкой Jekyll</h3>
93 <p>Github - популярный хостинг git-репозиториев - поддерживает Jekyll. Это значит, что вы можете разместить всю папку со своим Jekyll-проектом в репозитории, и Github сам будет генерировать HTML-страницы. При этом вам не нужно включать папку _site в репозиторий. Конечные HTML-файлы не будут видны в репозитории ни в каком виде. Этот сервис называется<a>Github Pages</a>.</p>
94 <p>Github - популярный хостинг git-репозиториев - поддерживает Jekyll. Это значит, что вы можете разместить всю папку со своим Jekyll-проектом в репозитории, и Github сам будет генерировать HTML-страницы. При этом вам не нужно включать папку _site в репозиторий. Конечные HTML-файлы не будут видны в репозитории ни в каком виде. Этот сервис называется<a>Github Pages</a>.</p>
94 <p>Подробнее о Git и работе с Github можно узнать из бесплатного курса<a>Системы контроля версий (GIT)</a>на Хекслете.</p>
95 <p>Подробнее о Git и работе с Github можно узнать из бесплатного курса<a>Системы контроля версий (GIT)</a>на Хекслете.</p>
95 <ol><li><p>Зарегистрируйтесь на<a>https://github.com/</a>если еще не сделали этого.</p>
96 <ol><li><p>Зарегистрируйтесь на<a>https://github.com/</a>если еще не сделали этого.</p>
96 </li>
97 </li>
97 <li><p><a>Создайте новый репозиторий</a>с именем<em>username.github.io</em>, где<em>username</em>- ваш ник на Github.</p>
98 <li><p><a>Создайте новый репозиторий</a>с именем<em>username.github.io</em>, где<em>username</em>- ваш ник на Github.</p>
98 </li>
99 </li>
99 <li><p>Инициализируйте репозиторий в директории с Jekyll: git init</p>
100 <li><p>Инициализируйте репозиторий в директории с Jekyll: git init</p>
100 </li>
101 </li>
101 <li><p>Добавьте remote: git remote add origin git@github.com:YOUR_USERNAME/YOUR_REPO.git</p>
102 <li><p>Добавьте remote: git remote add origin git@github.com:YOUR_USERNAME/YOUR_REPO.git</p>
102 </li>
103 </li>
103 <li><p>Сделайте коммит и отправьте его в github:</p>
104 <li><p>Сделайте коммит и отправьте его в github:</p>
104 - git add --all git commit -m "Initial commit" git push -u origin master</li>
105 + </li>
105 <li><p>Через несколько мгновений страница станет доступна по вашему адресу<a>https://YOUR_USERNAME.github.io</a></p>
106 <li><p>Через несколько мгновений страница станет доступна по вашему адресу<a>https://YOUR_USERNAME.github.io</a></p>
106 </li>
107 </li>
107 </ol><p>Это удобный способ работы, но так как сборка происходит на стороне Github, вы не можете управлять этим процессом. К примеру, вы не можете устанавливать любые плагины, Github поддерживает лишь небольшой набор<a>базовых</a>плагинов.</p>
108 </ol><p>Это удобный способ работы, но так как сборка происходит на стороне Github, вы не можете управлять этим процессом. К примеру, вы не можете устанавливать любые плагины, Github поддерживает лишь небольшой набор<a>базовых</a>плагинов.</p>
108 <h3>Публикация на Github Pages без поддержки Jekyll</h3>
109 <h3>Публикация на Github Pages без поддержки Jekyll</h3>
109 <p>Github Pages позволяет размещать любые HTML-файлы и не работать с Jekyll на стороне Github. Это означает, что вы можете просто размещать на Github свою папку _site. Такой способ позволяет вам использовать любые плагины, потому что генерация конечных файлов происходит на вашем компьютере, а Github выступает в роли простого веб-сервера.</p>
110 <p>Github Pages позволяет размещать любые HTML-файлы и не работать с Jekyll на стороне Github. Это означает, что вы можете просто размещать на Github свою папку _site. Такой способ позволяет вам использовать любые плагины, потому что генерация конечных файлов происходит на вашем компьютере, а Github выступает в роли простого веб-сервера.</p>
110 <p>Схема работы идентичная, просто храните в репозитории конечные HTML-файлы вместо Jekyll-проекта.</p>
111 <p>Схема работы идентичная, просто храните в репозитории конечные HTML-файлы вместо Jekyll-проекта.</p>
111 <p>Подробнее о всех вариантах создания размещения сайтов можно узнать на странице<a>pages.github.com</a>.</p>
112 <p>Подробнее о всех вариантах создания размещения сайтов можно узнать на странице<a>pages.github.com</a>.</p>
112 <h3>Подключение своего домена</h3>
113 <h3>Подключение своего домена</h3>
113 <p>Github Pages позволяет подключить сторонний домен. При этом будет работать автоматический редирект 301 с адреса<a>https://YOUR_USERNAME.github.io</a>на ваш домен.</p>
114 <p>Github Pages позволяет подключить сторонний домен. При этом будет работать автоматический редирект 301 с адреса<a>https://YOUR_USERNAME.github.io</a>на ваш домен.</p>
114 <ol><li>Добавьте в репозиторий файл CNAME (без расширения), и внесите в него домен без указания протокола. Например, myblog.com.</li>
115 <ol><li>Добавьте в репозиторий файл CNAME (без расширения), и внесите в него домен без указания протокола. Например, myblog.com.</li>
115 <li>Если используете домен второго уровня, то на стороне своего DNS-провайдера выставьте ему запись типа ALIAS или ANAME со значением YOUR_USERNAME.github.io; или две записи типа A со значениями 192.30.252.153 и 192.30.252.154. Если используете домен третьего уровня, то добавьте ему запись типа CNAME со значением YOUR_USERNAME.github.io. Подробнее о своих доменах в<a>официальной документации</a>.</li>
116 <li>Если используете домен второго уровня, то на стороне своего DNS-провайдера выставьте ему запись типа ALIAS или ANAME со значением YOUR_USERNAME.github.io; или две записи типа A со значениями 192.30.252.153 и 192.30.252.154. Если используете домен третьего уровня, то добавьте ему запись типа CNAME со значением YOUR_USERNAME.github.io. Подробнее о своих доменах в<a>официальной документации</a>.</li>
116 </ol><h2>Дополнительные возможности</h2>
117 </ol><h2>Дополнительные возможности</h2>
117 <p>Всё описанное в этом руководстве касается базовых возможностей и настроек по умолчанию.<a>Официальная документация</a>описывает множество дополнительных возможностей, таких как:</p>
118 <p>Всё описанное в этом руководстве касается базовых возможностей и настроек по умолчанию.<a>Официальная документация</a>описывает множество дополнительных возможностей, таких как:</p>
118 <ul><li>создание "коллекций" постов и страниц</li>
119 <ul><li>создание "коллекций" постов и страниц</li>
119 <li>пагинация</li>
120 <li>пагинация</li>
120 <li>миграция из других блог-платформ</li>
121 <li>миграция из других блог-платформ</li>
121 <li>подсветка кода и поддержка математических формул в постах</li>
122 <li>подсветка кода и поддержка математических формул в постах</li>
122 <li>плагины</li>
123 <li>плагины</li>
123 <li>темы</li>
124 <li>темы</li>
124 <li>теги</li>
125 <li>теги</li>
125 <li>парсинг файлов с данными (YAML, JSON, CSV)</li>
126 <li>парсинг файлов с данными (YAML, JSON, CSV)</li>
126 <li>continuous integration</li>
127 <li>continuous integration</li>
127 </ul><p>А<a>плагины</a>позволяют еще сильнее расширить возможности системы.</p>
128 </ul><p>А<a>плагины</a>позволяют еще сильнее расширить возможности системы.</p>