--- title: Customizing Hextra linkTitle: Customization --- Hextra offers some default customization options in the `hugo.yaml` config file to configure the theme. This page describes the available options and how to customize the theme further. ## Custom CSS To add custom CSS, we need to create a file `assets/css/custom.css` in our site. Hextra will automatically load this file. ### Font Family The font family of the content can be customized using: ```css {filename="assets/css/custom.css"} .content { font-family: "Times New Roman", Times, serif; } ``` ### Inline Code Element The color of text mixed with `other text` can customized with: ```css {filename="assets/css/custom.css"} .content code:not(.code-block code) { color: #c97c2e; } ``` ### Primary Color The primary color of the theme can be customized by setting the `--primary-hue` and `--primary-saturation` variables: ```css {filename="assets/css/custom.css"} :root { --primary-hue: 100deg; --primary-saturation: 90%; } ``` ### Syntax Highlighting List of available syntax highlighting themes are available at [Chroma Styles Gallery](https://xyproto.github.io/splash/docs/all.html). The stylesheet can be generated using the command: ```shell hugo gen chromastyles --style=github ``` To override the default syntax highlighting theme, we can add the generated styles to the custom CSS file. ## Custom Scripts You may add custom scripts to the end of the head for every page by adding the following file: ``` layouts/partials/custom/head-end.html ``` ## Custom Layouts The layouts of the theme can be overridden by creating a file with the same name in the `layouts` directory of your site. For example, to override the `single.html` layout for docs, create a file `layouts/docs/single.html` in your site. For further information, refer to the [Hugo Templates](https://gohugo.io/templates/). ## Further Customization Didn't find what you were looking for? Feel free to [open a discussion](https://github.com/imfing/hextra/discussions) or make a contribution to the theme!