ionic-team / ionic-team/ionic-docs

Docusaurus customizations

Open
#2,295 5 comments 2 reactions 0 assignees View on GitHub
structural
Dominant language
MDX
Stars
621
Forks
3.2k
Avg merge
1d 2h
Merged PRs (30d)
86

Description

Hi there, I'm the Docusaurus maintainer.

Your site has interesting customizations, and I'd like to discuss those.

In particular, noticed the custom theme components implemented by @jaredcbaum here: https://github.com/ionic-team/ionic-docs/blob/main/src/theme/

Unfortunately, this requires the ejection of a bit too much internal code.

We are trying to make such customizations simpler over time, with less code to manage on your side, and would like to discuss such opportunities with you.

Note that for the next version, we refactored a few theme components. Many large components have been split into smaller ones, so that you can more easily intersperse your own components before/after the default ones.

Please take a look and let us know if any of your use-cases now become simpler to implement, and if some further refactors could help you.

---

Some random bits:

- We really want to provide a system for custom navbar item types, but your workaround seem to work fine until then (https://github.com/facebook/docusaurus/issues/7227)

- We could refactor `DocPage` to allow you to more easily add your custom doc navbar

- We could refactor `DocItem` more to allow you to more easily change the layout and plug your demo sandbox

- We could add the doc meta to a React context and provide the hook so that things like `editUrl` in TOC do not require an extra prop

Those are just examples, open to anything as long as it's not too specific to your site and reusable by others.

Also open to knowing better which custom CSS rules are fragile and for which we could provide more stable class names

Note that we have a dedicated issue to report customization use-cases: https://github.com/facebook/docusaurus/discussions/5468

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.