Open rowanc1 opened 2 months ago
Some additional thoughts around simplifying/flattening the myst.yml
:
project
fields are also allowed on site
, but it's ambiguous why they would be defined in one place or the other. Almost exclusively, they are only needed on project
. I think we should move all "SiteFrontmatter" (https://github.com/executablebooks/mystmd/blob/main/packages/myst-frontmatter/src/site/types.ts#L58) to "ProjectFrontmatter" and remove them from the site
configsite
will have way fewer fields; this means we can remove the site.options
key and just define those options directly on the site
.Thanks @fwkoch -- I am a big fan of these changes and think it would make the onboarding simpler, and the code a lot simpler to reason about. This also is closer to mimic-ing how the exports options work, which is helpful.
Right now we have a few high level keys in the
myst.yml
including project/site/version/extends. It is confusing to users where to put the keys (mostly always under project). Additionally, when writing a shared configuration, for example, abbreviations, authors, etc. that requires you to write it under the project key.Instead, I suggest that we lean into the single project, and flatten all keys that are in the project. Moving from:
to
There are still potentially some site options to configure, but they will be obviously related to the theme (nav links, footer, etc.).
@jmunroe