Учебники

Grav — настройка темы

В этой главе давайте изучим тему настройки . Есть несколько способов настроить вашу тему. Grav предоставляет множество функций и несколько функций для легкой настройки вашей темы.

Пользовательские CSS

Вы можете предоставить свой собственный файл custom.css для настройки вашей темы. Тема Antimatter ссылается на файл css / custom.css с помощью Asset Manager . Если ссылка на файл CSS не найдена, Менеджер активов не добавит ссылку на HTML. Создание CSS-файла в папке css / Antimatter переопределит CSS по умолчанию. Например —

Пользовательские CSS

body a {
   color: #FFFF00;
}

Цвет ссылки по умолчанию переопределяется и устанавливается на желтый.

Custom SCSS / LESS

Другой способ предоставить пользовательский файл CSS — использовать файл custom.scss . SCSS (синтаксически удивительные таблицы стилей) — это препроцессор CSS, который позволяет эффективно создавать CSS за счет использования операторов, переменных, вложенных структур, импорта, частичных операций и дополнений. Антивещество написано с использованием SCSS.

Чтобы использовать SCSS, вам нужен компилятор SCSS. Вы можете использовать инструменты командной строки и приложения с графическим интерфейсом для установки компиляторов SCSS на любую платформу. Антиматерия использует папку scss / для размещения всех ваших файлов .scss . Скомпилированные файлы хранятся в папке css-compiled / .

Файлы SCSS следует отслеживать на наличие обновлений, которые можно выполнить с помощью следующей команды:

scss --watch scss:css-compiled

Приведенная выше команда указывает компилятору SCSS следить за каталогом с именем scss, и всякий раз, когда папка css-compiled обновляется, компилятор SCSS должен скомпилировать ее.

Вы можете сохранить свой собственный код SCSS в файле scss / template / _custom.scss . Сохранение кода в этом файле дает много преимуществ.

  • Любое обновление из файлов SCSS и других файлов CSS компилируется в файл css-compiled / template.css

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

  • Для облегчения разработки вам предоставляется доступ ко всем функциям и функциям стандартного SCSS.

Любое обновление из файлов SCSS и других файлов CSS компилируется в файл css-compiled / template.css

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

Для облегчения разработки вам предоставляется доступ ко всем функциям и функциям стандартного SCSS.

Пример файла _custom.scss показан ниже —

body {
   a {
      color: darken($core-accent, 20%);
   }
}

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

Тема Наследования

Наследование тем — это лучший способ изменить или настроить тему, и ее можно выполнить с помощью нескольких настроек. Основная идея заключается в том, что тема определяется как базовая тема, от которой вы наследуете, и только некоторые биты могут быть изменены, а остальная часть обрабатывается базовой темой. Преимущество использования наследования тем заключается в том, что настраиваемая унаследованная тема не будет подвергаться непосредственному воздействию при обновлении базовой темы. Для этого вам нужно выполнить следующие шаги.

  • Чтобы сохранить новую тему, создайте новую папку с именем mytheme / inside / user / themes / folder.

  • Затем вам нужно создать новый YAML-файл темы под названием mytheme.yaml в папке недавно созданной / user / themes / mytheme / со следующим содержимым.

Чтобы сохранить новую тему, создайте новую папку с именем mytheme / inside / user / themes / folder.

Затем вам нужно создать новый YAML-файл темы под названием mytheme.yaml в папке недавно созданной / user / themes / mytheme / со следующим содержимым.

streams:
   schemes:
      theme:
         type: ReadOnlyStream
         prefixes:
            '':
               - user/themes/mytheme
               - user/themes/antimatter
  • Создайте файл YAML с именем blueprints.yaml в папке / user / themes / mytheme / со следующим содержимым.

Создайте файл YAML с именем blueprints.yaml в папке / user / themes / mytheme / со следующим содержимым.

name: MyTheme
version: 1.0.0
description: "Extending Antimatter"
icon: crosshairs
author:
   name: Team Grav
   email: devs@getgrav.org
   url: http://getgrav.org

Теперь мы поймем, как определить тему blueprints.yaml, которая состоит из основных элементов. Более подробная информация может быть предоставлена ​​для определения формы для управления функциональностью формы. Файл blueprints.yaml можно изучить для получения более подробной информации по этому вопросу.

  • В вашем файле user / config / system.yaml отредактируйте страницы: theme: опция, чтобы изменить тему по умолчанию на новую тему, как показано ниже.

В вашем файле user / config / system.yaml отредактируйте страницы: theme: опция, чтобы изменить тему по умолчанию на новую тему, как показано ниже.

pages:
   theme: mytheme

Теперь новая тема создана, и Antimatter станет основной темой для этой новой темы mytheme . Если вы хотите изменить конкретный SCSS, нам нужно настроить компилятор SCSS так, чтобы он сначала смотрел вашу тему mytheme, а затем тему Antimatter.

Используются следующие настройки —

  • Сначала скопируйте файл template.scss, который находится в папке antimatter / scss /, и вставьте его в папку mytheme / scss / . Этот файл будет содержать все вызовы @import для различных файлов, таких как template / _custom.scss и вложенные файлы.

  • Путь загрузки указывает на папку antimatter / scss /, которая содержит большое количество файлов SCSS. Чтобы запустить компилятор SCSS, вам нужно указать путь к нему, как показано ниже.

Сначала скопируйте файл template.scss, который находится в папке antimatter / scss /, и вставьте его в папку mytheme / scss / . Этот файл будет содержать все вызовы @import для различных файлов, таких как template / _custom.scss и вложенные файлы.

Путь загрузки указывает на папку antimatter / scss /, которая содержит большое количество файлов SCSS. Чтобы запустить компилятор SCSS, вам нужно указать путь к нему, как показано ниже.

scss --load-path ../antimatter/scss --watch scss:css-compiled
  • Теперь создайте файл с именем _custom.scss в mytheme / scss / template / . Этот файл будет содержать все ваши модификации.

Теперь создайте файл с именем _custom.scss в mytheme / scss / template / . Этот файл будет содержать все ваши модификации.

Когда пользовательский файл SCSS изменяется, автоматически все файлы SCSS будут снова скомпилированы в template.css, который находится в папке mytheme / css-compiled /, и затем Grav точно ссылается на это.