facebook / facebook/docusaurus

Do not use React svg components for regularly used icons

Open
#5,865 9 comments 3 reactions 0 assignees View on GitHub
domain: performance proposal
Dominant language
TypeScript
Stars
66.2k
Forks
10k
Avg merge
1d 3h
Merged PRs (30d)
52

Description

### Have you read the Contributing Guidelines on issues?

- [X] I have read the [Contributing Guidelines on issues](https://github.com/facebook/docusaurus/blob/main/CONTRIBUTING.md#reporting-new-issues).

### Motivation

This issue about updating the number of visible archived versions in the version dropdown lead to a weird build size diff on HTML files:

https://github.com/facebook/docusaurus/pull/5862#issuecomment-958881323

The diff in size is due to using an inlined SVG component for external links 😅 the SVG markup is duplicated in the HTML file for each item

![image](https://user-images.githubusercontent.com/749374/140104236-11e4344c-2f3c-49a6-a118-ff6f7ddb480c.png)

For reusable icons of our theme, we should rather require an `svg` file instead of using a React SVG component, to reduce HTML output size.

It can have a significant impact on pages with a lot of icons (due to navbar, footer, doc sidebar...)

### Self-service

- [ ] I'd be willing to do some initial work on this proposal myself.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.