# 🔗 External links Add custom external link buttons to the header and footer. ## Configuration Configure external links via `html_theme_options` in `conf.py`: ```python html_theme_options = { "external_links": [ "https://github.com/user/repo", "https://pypi.org/project/my-package/", { "name": "Custom Link", "url": "https://example.com", "icon": "beaker" }, ], } ``` ## Link formats External links support two formats: ### Simple URL string For recognized domains, just provide the URL: ```python html_theme_options = { "external_links": [ "https://github.com/user/repo", "https://pypi.org/project/my-package/", ], } ``` The name and icon are automatically inferred from the domain. ### Dictionary object For custom links or to override defaults, use a dictionary: ```python html_theme_options = { "external_links": [ { "url": "https://example.com", "name": "Example Site", "icon": "beaker", "html": "..." }, ], } ``` | Key | Required | Description | |-----|----------|-------------| | `url` | Yes | Link destination | | `name` | No | Link label (shown in tooltip). Auto-detected for known domains. | | `icon` | No | Icon name from [Simple Icons](https://simpleicons.org/) or [Octicons](https://primer.style/foundations/icons). Auto-detected for known domains. | | `html` | No | Custom HTML to replace the generated icon entirely | ## Recognized domains These domains automatically get appropriate names and icons: - **Code hosting**: GitHub, GitLab, Bitbucket - **Package registries**: PyPI, npm, crates.io, Packagist, RubyGems, NuGet, Maven Central, Maven Repository - **Documentation**: Read the Docs, docs.rs, GitBook, GitHub Pages - **Social media**: YouTube, Facebook, Instagram, Reddit, TikTok, Twitch, Snapchat, X (Twitter) - **Community**: Discord, Telegram, Gitter, Stack Overflow, Medium - **Funding**: Patreon, Open Collective, Ko-fi, Buy Me a Coffee ## Custom icons ### Using icon libraries Breeze supports icons from [Simple Icons](https://simpleicons.org/) and [Octicons](https://primer.style/octicons/): ```python { "name": "My Blog", "url": "https://myblog.com", "icon": "rss" } ``` ### Custom SVG Provide your own SVG via the `html` key: ```python { "name": "Custom", "url": "https://example.com", "html": """ """ } ``` ## Styling Customize appearance with CSS variables: ```css :root { --bz-external-links-color: var(--bz-link-color); --bz-external-links-color-hover: var(--bz-link-color-hover); --bz-external-links-font-size: inherit; --bz-external-links-font-family: inherit; } ```