Overture docs update - #448
Conversation
…diagram Lyric has graduated from under-development to core software, so the two Overview cross-links now point at …/build/core-software/Lyric/overview instead of the old …/docs/under-development/lyric/ path. Also commits the in-flight submission-system.svg diagram update (light/dark styling).
Bring the Lectern Viewer (@overture-stack/lectern-ui) into the Lectern component docs as 04-lecternViewer.md, moved out of the docs site's under-development section. Content pulled from packages/ui (README + docs): the DictionaryTableView and DictionaryEntityRelationshipView components, Storybook quick start, and theming, with the full contributor walkthrough cross-linked to packages/ui/docs rather than duplicated. Screenshots added under docs/assets/.
Lectern has no `develop` branch any more — only `main` — so every `blob/develop/...` link 404s. Retarget them at `main`; LICENSE, apps/server/README.md and generated/DictionaryMetaSchema.json all still exist at those paths. `docs/important-concepts.md` also no longer exists: #299 moved it to pendingDocs/glossary.md, which still carries the four anchors the validation README deep-links to (#dictionary, #schema, #testresult, Also repoints the README's site links, which had gone stale the same way as every other component README.
484c097 to
66a2331
Compare
The block opened with four backticks and was never closed, so the ## Field Restrictions heading and all its prose rendered inside a code block, and the #field-restrictions anchor stopped existing. Docusaurus reported it as two broken anchors: the field-properties table on this page links to #field-restrictions, and the site's /use/administration/building-dictionaries page links to /develop/Lectern/dictionaryReference#field-restrictions. Arrived on main with the displayName work; fixed here because this branch already owns this file and the docs site build is failing on it.
|
|
||
| - **React 19.** The package declares `react` and `react-dom` `^19.1.0`. | ||
| - **A dictionary source.** Either a running [Lectern server](../02-Setup.md), a dictionary JSON file served over HTTP, or dictionary objects already in your application. | ||
| - **Emotion.** Components style themselves with `@emotion/react`, which ships as a dependency. Applications using a different CSS-in-JS library can still mount the components, but theming goes through Emotion. |
There was a problem hiding this comment.
This is not a prerequisite, its just a dependency that the developer is going to have to work with. Not sure it should be here or in a later section on "theming"
There was a problem hiding this comment.
Moved into the theming section.
| ## Run Storybook | ||
|
|
||
| The library is developed with [Storybook](https://storybook.js.org/), which renders each component in isolation. It is the fastest way to explore the components before wiring them into an application — every component has stories covering its states, including loading, error, and empty-dictionary cases. | ||
|
|
||
| 1. Clone the [Lectern repository](https://github.com/overture-stack/lectern) and install dependencies from the repository root: | ||
|
|
||
| ```sh | ||
| pnpm install | ||
| ``` | ||
|
|
||
| 2. Start Storybook: | ||
|
|
||
| ```sh | ||
| pnpm --filter @overture-stack/lectern-ui storybook | ||
| ``` | ||
|
|
||
| Storybook runs on port `6006` by default: [http://localhost:6006/](http://localhost:6006/). | ||
|
|
||
| Stories render under a `themeDecorator`, and a theme selector in the Storybook toolbar applies an alternate theme to every story that uses it — useful for checking that a component reads the theme rather than hard-coding values. | ||
|
|
||
|  | ||
|
|
||
| For the full walkthrough — adding themes to the selector, wiring the decorator, and editing stories — see the [Lectern UI developer docs](https://github.com/overture-stack/lectern/blob/main/packages/ui/docs/README.md) in the repository. |
There was a problem hiding this comment.
Place the storybook section after the intro or install sections since it is the reference documentation?
We should consider running the storybook on a publicly hosted URL so that devs can see whats available before going through the install.
There was a problem hiding this comment.
Moved to just after the intro. Hosted Storybook will likely be needed, its relevant and can be linked into the dictionary viewer paper i am currently writing too
There was a problem hiding this comment.
Impressive documentation. IMO its the storybook that is responsible for documenting the components available but its nice having this reference as well. As per usual, my concern is that it will be a challenge to maintain both to same standard and that leads to reduced trust in the library.
There was a problem hiding this comment.
agreed maybe once we have the storybook hosted and linked then we can revisit these docs and how much of it we want to keep/maintain
|
|
||
| ## Hooks | ||
|
|
||
| Both hooks throw when called outside their provider. |
There was a problem hiding this comment.
This should be like an Important! callout. It should probably live, in duplicate, in each of the hook sections and not here.
There was a problem hiding this comment.
Done. One callout per hook section, each naming its own provider.
| ## Theming | ||
|
|
||
| | Export | Type | Description | | ||
| | --- | --- | --- | | ||
| | `ThemeProvider` | Component | Supplies a theme. Takes an optional `theme` prop, deep-merged into the active theme, so partial overrides are valid. | | ||
| | `defaultTheme` | `Theme` | The theme used when no provider is present. | | ||
| | `useThemeContext` | `(overrides?: PartialTheme) => Theme` | Reads the active theme, optionally merging per-call overrides. | | ||
| | `Theme` | Type | The full theme: `colors`, `typography`, `dimensions`, `shadow`, and `icons`. | | ||
| | `PartialTheme` | Type | A recursively partial `Theme`, for passing to `ThemeProvider`. | |
There was a problem hiding this comment.
Do we document what are the properties available in the theme and what htey control? don't NEED to add that to this PR, its a very lofty goal, but would be sweet.
There was a problem hiding this comment.
Added a table with the five theme groups, what each controls, w/ link to source
Co-authored-by: Jon Eubank <joneubank@gmail.com>
Co-authored-by: Jon Eubank <joneubank@gmail.com>
Documentation for the Overture docs site. No source code changes; the only non-
docs/change is adding.DS_Storeto.gitignore.docs/04-lecternViewer.mdbecomes a three-page section,docs/04-viewer/, written againstpackages/uias it stands onmain.docs/04-viewer/index.md/develop/Lectern/viewer/docs/04-viewer/01-setup.md/develop/Lectern/viewer/setupdocs/04-viewer/02-reference.md/develop/Lectern/viewer/referenceOther changes
docs/01-overview.md: Lyric links repointed; repository tree corrected (commonremoved,uiadded); components table de-indented so it renders, and the Dictionary/Validation npm badges and paths fixed, both having pointed at the client package.docs/02-Setup.md: documents the optionalMONGO_URL, which takes precedence overMONGO_HOST/MONGO_PORT/MONGO_DB.developbranch repointed atmain, anddocs/important-concepts.md#testresultrepointed atpendingDocs/glossary.md#testresult./community/support;docs/assets/submission-system.svgupdated.Rebased onto
mainCurrent with
main, no conflicts. 43 commits absorbed, with one conflict inREADME.mdwhere both sides had repointed the same stale link; this branch's/develop/Lectern/overviewwas kept overmain's olderdocs/core-software/scheme.main's reformat ofdocs/03-dictionaryReference.mdand itsdisplayNameadditions are untouched. The viewer pages were re-checked against the rebasedpackages/ui: entry points,DictionaryTableProps,CustomColumnConfigandMetaValueRendererall match.Known issues, not fixed here
#416: Table View Styling Updates. Recapturable from Storybook, but not needed for this pass.packages/ui/src/index.tsaliasesSchemaTableandToolbarto the samedefaultexport asDictionaryTable, so all three resolve toDictionaryViewerPage. Also in the published1.0.0types. The Reference page routes readers to the/dictionary-tablesubpath instead, and notes the caveat.Columns/DataType.tsxrendersArrayin place of the value type, so array-of-string and array-of-integer look identical.packages/ui/README.mdandpackages/ui/docs/README.mdstill advertise the removedLecternThemeProvider/LecternThemenames.Broken code fence fixed
docs/03-dictionaryReference.mdhad an unclosed four-backtick fence in the "Display Name Example" block, which arrived with thedisplayNamework onmain. It swallowed the## Field Restrictionsheading and everything after it into a code block, so the#field-restrictionsanchor stopped existing and the Docusaurus build failed on two broken anchors: the field-properties table on this page, and the docs site's/use/administration/building-dictionariespage.Originally flagged here as out of scope, then fixed once it broke the site build, since this branch already owns the file.
CI
The Jenkins failure is unrelated to this branch, which changes no build inputs. The shared pipeline runs
npx --yes pnpm install, which resolves to pnpm 11, requiring Node >= 22.13; the agent runs Node 18.16.1.mainfails identically.