Skip to content

Conversation

@dannon
Copy link
Member

@dannon dannon commented Oct 13, 2025

This pull request introduces a new documentation layout system and supporting components for the "Learn" section, adds a reusable Vega visualization embed component, and enhances MDX support for code blocks and documentation structure. The changes focus on improving the developer and user experience for documentation and tutorials, including new sidebar navigation, code block rendering, and Vega-Lite chart embedding.

Documentation Layout and Navigation:

  • Introduced a new DocLayout component with a responsive sidebar (DocSidebar) for documentation pages, including styled layouts and navigation based on categories and items defined in constants (DocLayout.tsx, docSidebar.tsx, docSidebar.styles.ts, constants.ts). [1] [2] [3] [4]
  • Added constants for documentation breadcrumbs and sidebar categories to enable structured navigation.

Code Block and MDX Enhancements:

  • Added a CodeBlock component with syntax highlighting, language tags, and XSS protection, and integrated it into MDX rendering for improved code block support in documentation (codeBlock.tsx, codeBlock.styles.ts, index.ts, mdx-components.tsx). [1] [2] [3] [4] [5] [6]
  • Updated MDX configuration to use remark-gfm for GitHub-flavored markdown support. [1] [2]
  • Upgraded remark-gfm to version 4 in dependencies.

Vega Visualization Embedding:

  • Added a reusable VegaEmbed component for embedding Vega-Lite charts, with error handling and optional captions, and exposed it for MDX usage (vegaEmbed.tsx, vegaEmbed.styles.ts, index.ts, mdx-components.tsx). [1] [2] [3] [4] [5]
  • Added vega, vega-lite, and vega-embed as dependencies for chart rendering.

General Layout Improvements:

  • Modified the main layout selection logic to use a specialized styled main container for documentation routes, improving consistency in the "Learn" section. [1] [2]

These changes collectively provide a more robust, visually consistent, and interactive documentation experience for users and contributors.


  • Add DocLayout component for documentation pages with hero section and sidebar
  • Create MDX-based documentation pages (introduction, setup, tutorials, reference)
  • Add documentation sidebar with categorized navigation
  • Configure routing to use column layout for /learn pages
  • Add Learn link to site navigation

Description

Brief description of the changes made in this PR.

Related Issue

If this addresses an existing GitHub issue, link it here (e.g., "Closes #123"). If no existing issue exists, consider creating one first to discuss the changes.

image image image image image image

- Add DocLayout component for documentation pages with hero section and sidebar
- Create MDX-based documentation pages (introduction, setup, tutorials, reference)
- Add documentation sidebar with categorized navigation
- Configure routing to use column layout for /learn pages
- Add Learn link to site navigation
@dannon
Copy link
Member Author

dannon commented Oct 13, 2025

@NoopDog I rebased/squashed it; this was mainly focused on sketching out 'learn' content, but it does have a DocLayout w/ header and sidebar, etc.

- Add comprehensive measles virus analysis case study from issue galaxyproject#911
- Create new Case Studies section in Learn documentation
- Include white paper content covering data-to-publication workflow
- Add navigation entry in documentation sidebar
Resolves compatibility issue with @mdx-js/mdx v3 and unified v11.
GFM markdown tables now render correctly in MDX files.
- Add 8 figures from GitHub issue using Figure component
- Add Alert component for interactive visualization link
- Expand content with full white paper details
- All images load from GitHub user-attachments URLs
- Install vega, vega-lite, vega-embed packages
- Create VegaEmbed React component with support for both URL and inline specs
- Register VegaEmbed in MDX components for use in Learn pages
- Replace static Figure 6 with interactive VegaEmbed visualization in measles case study
- VegaEmbed supports captions, error handling, and customizable Vega-Embed options

The interactive visualization allows users to hover, zoom, and pan through the data
for better exploration of nucleotide changes within P/C and P/V overlaps.
@dannon
Copy link
Member Author

dannon commented Oct 20, 2025

To be clear, I don't care about any of the content here -- it's all old placeholder stuff except for Anton's .mdx, which is actual content we want. I just plunked that in and added the vega-embed to demonstrate the component since we had discussed that last week and I was asked for an example.

The vegalite embed looks something like this, in the page:

image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

Change NCBI wording on "Roadmap" page

2 participants