For the complete documentation index, see llms.txt. This page is also available as Markdown.

Add Preloaded Fonts in Vartheme

Following the new way in the new Drupal default front end theme Olivero {% include '@olivero/includes/preload.twig' with { olivero_path: olivero_path } only %}

Having the following in Vartheme BS4 and VARTHEM_BS4_SUBTHEME. And the include.

{%- include '@vartheme_bs4/includes/preload.twig' with { vartheme_bs4_path: vartheme_bs4_path, html_dir: html_attributes['dir'] } only -%}
{%- include '@VARTHEME_BS4_SUBTHEME/includes/preload.twig' with { VARTHEME_BS4_SUBTHEME_path: VARTHEME_BS4_SUBTHEME_path, html_dir: html_attributes['dir'] } only -%}

Custom Vartheme Sub Themes are able to add their preloaded assets on demand.

Steps to Add a New Web Font

1. Add Web Font Files in the Fonts Folder

Example: The Lora font

  • Go to the Lora web font page and Download the family.

Download directly from fonts.google.com or from the source in github.com

https://github.com/cyrealtype/Lora-Cyrillic

  • Check the license before using the web font

These fonts are licensed under the Open Font License.

You can use them freely in your products & projects - print or digital, commercial or otherwise.

This isn't legal advice, please consider consulting a lawyer and see the full license for all details.

  • Copy the list of web font files to "PROJECT_PATH/themes/custom/MYTHEME/fonts/lora/webfonts"

  • Create the "PROJECT_PATH/themes/custom/MYTHEME/fonts/lora/css/lora.css" file

  • Define the @font-face for the Lora font.

Having more file formats if that was available by web font conversion tools

2. Add the @font-face CSS File to a Library

Example: The Lora font

  • List the "PROJECT_PATH/themes/custom/MYTHEME/fonts/lora/css/lora.css" file in libraries to be activated in the theme

3. Add the Font to The preload.twig File

  • Edit the "PROJECT_PATH/themes/custom/MYTHEME/templates/includes/preload.twig" file. Add the link rel preload and the patch to the font file with as="font" and type

4. Clear Cache And Test The Font

Content of the Preload.twig File

Available Variables

  • vartheme_bs4_path: Returns the path to the Vartheme BS4 theme. In the Vartheme Sub theme, the variable could be mythemename_path

  • html_dir: contains the language direction. It will either be 'ltr' or 'rtl'.

Example of logic:

  • Multilingual websites may use a language selection for preloaded assets.

  • Sections of the website may have a custom prelead assets for CSS/JS.

  • Have a look at "Preload critical assets to improve loading speed" https://web.dev/preload-critical-assets/ for more ideas on what/when/where to use preload.