Изучение содержимого по умолчанию Jekyll

Вступление

Jekyll - это генератор статических сайтов, который предоставляет некоторые преимущества системы управления контентом (CMS), избегая при этом проблем с производительностью и безопасностью, создаваемых такими сайтами на основе баз данных. Он «осведомлен о блогах» со специальными функциями для обработки контента, организованного по дате. Jekyll хорошо подходит для людей, которым необходимо работать в автономном режиме, которые предпочитают использовать облегченный редактор вместо веб-форм для обслуживания контента и которые хотят использовать контроль версий для отслеживания изменений на своем веб-сайте.

В first part этой серии мы установили Jekyll и его зависимости от сервера Ubuntu 16.04, создали сайт разработки в нашем домашнем каталоге и гарантировали, что трафик на сайт будет разрешен брандмауэром.

В этом руководстве мы будем использовать автоматически сгенерированный контент из предыдущего руководства, чтобы изучить, как Jekyll превращает исходные файлы в статический контент, упрощая создание и поддержку контента.

Предпосылки

Чтобы следовать этому руководству, вам нужно будет завершить предыдущее руководство, * https: //www.digitalocean.com/community/tutorials/how-to-set-up-a-jekyll-development-site-on-ubuntu-16 -04 [Как настроить сайт разработки Jekyll в Ubuntu 16.04]. * Мы опираемся на работу, проделанную в этом руководстве, и без ее завершения примеры не будут совпадать.

Когда вы закончите часть 1, вы готовы начать.

Домашняя страница

Давайте начнем наше исследование на домашней странице, которая собрана из четырех разных исходных файлов. Мы рассмотрим каждый из этих файлов по отдельности и посмотрим, как они работают вместе для создания статической домашней страницы.

Если вы вышли из веб-сервера разработки после завершения первого урока, перезапустите его снова:

cd ~/www
jekyll serve --host=

Затем посетите ваш сайт в веб-браузере. Снимок экрана домашней страницы ниже был изменен, чтобы выделить конфигурацию и источники информации.

изображение: http: //assets.digitalocean.com/articles/jekyll-1604/homepage-labeled.png [Снимок экрана домашней страницы Jekyll с содержимым, помеченным исходным файлом]

Настройки конфигурации: _config.yml

Большая часть возможностей Jekyll заключается в возможности настроить информацию, которая будет повторяться во многих местах статического веб-сайта в одном исходном файле, + _config.yml +

По умолчанию + _config.yml +, созданный с помощью + jekyll new +, содержит пять настроек, которые видны на домашней странице:

  • title: * Ваш потрясающий заголовок + * email: * [email protected] + * description: * Напишите потрясающее описание для вашего нового сайта здесь …​ + * twitter_username: * jekyll + * github_username: * jekyllrb

изображение: http: //assets.digitalocean.com/articles/jekyll-1604/config.png [Снимок экрана с выделенным содержимым из файла _confg.yml]

Эта информация автоматически включается во все другие страницы и сообщения, которые мы создаем. Когда нам нужно обновить один из этих параметров, мы можем внести изменения в этот файл, и он будет обновляться везде. Чтобы увидеть это в действии, мы изменим эти значения.

Откройте файл в новом терминале:

nano ~/www/_config.yml

Мы изменим настройки на значения ниже:

title:
email:
description: >

github_username:
twitter_username:

Мы оставим + url и` + baseurl` в процессе разработки и внесем любые изменения, когда пришло время развернуть наш сайт.

Чтобы увидеть изменения, внесенные в файл конфигурации, нам нужно остановить веб-сервер с помощью + CTRL-C +, а затем перезапустить его:

jekyll serve --host=

Когда вы закончите, сохраните и выйдите из редактора. Затем перезагрузите страницу в веб-браузере. В зависимости от настроек локального кэша вашего веб-браузера, вам может потребоваться Shift + Обновить, чтобы увидеть изменения, которые должны появиться в двух областях, выделенных ниже:

изображение: http: //assets.digitalocean.com/articles/jekyll-1604/config-changes.png [Снимок экрана с выделенными изменениями в файле _confg.yml]

В файле + _config.yml + можно сделать гораздо больше настроек, но сейчас мы перейдем к следующему исходному файлу и заметим, как сделанные нами изменения видны на остальной части сайта.

Страницы: about.md

Перейдите по ссылке + About + в правом верхнем углу. Изменения, которые мы внесли в файл конфигурации, видны здесь, над и под основным содержанием страницы About.

изображение: http: //assets.digitalocean.com/articles/jekyll-1604/about.png [Снимок экрана с выделенным контентом about.md]

Этот центральный контент и текст ссылки в заголовке хранятся в файле + about.md +, который содержит четыре вида контента:

*1. Jekyll Front Matter * + Блок в верхней части файла + about.md +, начинающийся и заканчивающийся тремя черточками, является Front Matter Jekyll. Он должен быть первым в файле, и когда он присутствует, он сообщает Jekyll, что файл должен быть проанализирован. Обычно он включает в себя действительный YAML между строками, чтобы воспользоваться преимуществами предопределенных переменных, но он также может быть пустым. Пустой блок Front Matter иногда полезен для файла CSS или другого места, где вам не нужно устанавливать какие-либо значения, но вам нужен доступ к переменным.

Страница «О программе» устанавливает три значения в своем Front Matter:

  ---
  layout: page
  title: About
  permalink: /about/
  ---
  • _Layout: _ * + Макеты исключают повторяющийся контент, такой как верхние и нижние колонтитулы и меню, чтобы облегчить обслуживание сайтов. Jekyll поставляется с тремя макетами: + default,` + page` и + post. У каждого есть свои особенности. В этом случае в меню навигации заголовка появляется ссылка на меню со значением заголовка «О программе», поскольку для макета установлено значение «Страница».

  • _Title: _ * + Помимо использования в качестве текста ссылки в навигации по заголовку, заголовок также используется как видимый заголовок страницы, отформатированный с помощью тегов заголовка 1, и как + <title> + страницы, который текст, который появляется на панели браузера и когда страница добавлена ​​в закладки.

  • _Permalink: _ * + Jekyll автоматически создает каталоги и HTML-файлы из этих исходных файлов, которые определяют URL-адрес страницы. Постоянная ссылка позволяет вам переопределить поведение по умолчанию. Здесь это приводит к тому, что URL страницы будет + http: //: 4000 / about / +, а не + http: //: 4000 / about.html +.

*2. Видимый текст * + Содержание страницы начинается после Front Matter. Текст здесь появляется на странице, например, «Это базовый Jekyll 3. тема «.

*3. Markdown * + Markdown является частью содержимого главной страницы и управляет форматом содержимого. Он будет проанализирован в HTML для статического сайта. Авторы контента часто предпочитают разметку, а не HTML, потому что она разработана для того, чтобы ее было легче читать и писать.

*4. Директивы шаблонов Liquid * + Jekyll использует Liquid в качестве механизма шаблонов для включения динамических элементов. Директивы Liquid появляются между фигурными скобками, такими как + {% include icon-github.html username =" jekyll "%} +.

Давайте внесем некоторые изменения в эту страницу, чтобы увидеть, как это влияет на сайт.

Изменить заголовок

Мы внесем небольшое изменение и назовем страницу «Обо мне», а не просто «О себе»:

nano ~/www/about.md

~ / WWW / about.md

---
. . .
title: "About "
. . .
---

Когда вы закончите, сохраните и выйдите из файла.

Изменение появится в трех местах, и ссылка на меню будет обновлена ​​на всех страницах сайта: + изображение: http: //assets.digitalocean.com/articles/jekyll-1604/about-me.png [Снимок экрана с информацией о .md с выделенными изменениями заголовка]

Добавить новую страницу

Затем мы добавим страницу «Контакт» на сайт и используем небольшую уценку, чтобы добавить изображение.

Мы начнем с создания каталога + assets + для хранения нашего изображения:

mkdir ~/www/assets

Затем мы передадим изображение на ваш компьютер с помощью + wget. Флаг + -O + направит его в каталог, который мы создали. Флаг требует, чтобы мы также указали имя файла, поэтому мы будем:

wget -O ~/www/assets/postcard.jpg http://assets.digitalocean.com/articles/jekyll-1604/postcard.jpg

Как только изображение будет размещено локально, мы создадим новую страницу:

nano ~/www/contact.md

~ / WWW / contact.md

---
layout: page
title: "Send me a postcard!"
---

DigitalOcean\\
Attn: Sammy Shark\\
101 Avenue of the Americas\\
New York, NY 10013

![A postcard](/assets/postcard.jpg)

Давайте внимательнее посмотрим на уценку. Во-первых, двойная косая черта + \\ + в конце каждой строки приводит к возврату без добавления дополнительного пробела. Во-вторых, изображение отображается с такой уценкой +! [] () +. Восклицательный знак сигнализирует о том, что следующая ссылка является изображением. Скобки содержат альтернативный текст, который будет использоваться, если изображения не загружаются или посетитель использует программу чтения с экрана. Скобки содержат ссылку на файл изображения. Вы можете узнать больше о стиле уценки Jekyll по умолчанию на веб-сайте kramdown.

Сохраните и выйдите из файла, затем перезагрузите страницу. Появится новая ссылка, упорядоченная в алфавитном порядке в зависимости от имени файла.

С новыми файлами вершина нашей файловой структуры теперь выглядит так:

├── about.md


├── _config.yml

Фактическая страница веб-страницы выглядит так:

изображение: http: //assets.digitalocean.com/articles/jekyll-1604/contact.png [Скриншот новой страницы контактов]

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

Сообщения: _posts / -welcome-to-jekyll.markdown

Перейдите по ссылке «Добро пожаловать в Джекилл», чтобы посмотреть образец блога.

image: http: //assets.digitalocean.com/articles/jekyll-1604/post1.png [Снимок экрана сообщения «Добро пожаловать в Джекилл» с выделенной областью основного содержимого]

Каталог + posts + содержит специально названные файлы в формате + YYYY-MM-DD-Words-in-Title +. Если ваше сообщение не названо в этом формате, оно не будет проанализировано. Если в имени файла будет установлена ​​дата в будущем, страница не будет проанализирована для статического сайта. Присвоение имени файлу с будущей датой _does

Related