Context
Operator clarification after the initial filing: the observed table-styling gap was in the Portal news section timelines. The first ticket draft assumed the relevant surface was only generic Neo.component.Markdown; this section records the Verify-Before-Assert correction so the implementation does not lose the original intent.
VBA source trace:
src/app/content/Component.mjs:1-9 imports Neo.component.Markdown and extends it, so Portal content views are Markdown-derived.
apps/portal/view/content/Component.mjs:22 extends Neo.app.content.Component and retargets it for timeline-mode content.
apps/portal/view/news/tickets/Component.mjs:176-218, apps/portal/view/news/pulls/Component.mjs:158-180, and apps/portal/view/news/discussions/Component.mjs:164-186 call super.modifyMarkdown(content) for the primary description/body.
- Timeline comments/reviews/replies are not generic direct-child Markdown tables: they are hand-rendered with
marked.parse(...) into .neo-timeline-body / .neo-discussion-reply-body at tickets/Component.mjs:346-357, pulls/Component.mjs:221-225, and discussions/Component.mjs:363-399.
Duplicate/content sweep:
- Knowledge Base ticket search found closed predecessor #8383 (first-pass Markdown table borders/header/padding).
- Local
resources/content sweep found closed #8384 (rounded corners) and #8770 (dark header background), plus #11719, which is a narrow broken-docs-table-content issue and not equivalent.
- No open equivalent was found for Portal news timeline table styling + horizontal overflow.
The Problem
The current Markdown table styling does not fully cover the Portal news timeline surfaces:
resources/scss/src/component/Markdown.scss:145-175 styles .neo-frontmatter-table and direct child > table. That is useful for top-level Markdown tables, but it is not enough for comment/review/reply tables nested under timeline-specific containers.
resources/scss/src/apps/portal/news/tickets/Component.scss:238-250 only gives .neo-timeline-body basic font, wrapping, padding, and pre { overflow-x: auto; }. There is no scoped table styling or horizontal-scroll rule for tables inside timeline bubbles.
resources/scss/src/apps/portal/news/discussions/Component.scss:39-40 only trims the last child inside discussion replies; reply tables get no scoped styling either.
- The shared Portal news timeline color scheme lives in
resources/scss/theme-neo-light/apps/portal/content/Component.scss and resources/scss/theme-neo-dark/apps/portal/content/Component.scss as --gh-* tokens, not in ticket-specific theme files.
The Architectural Reality
The fix belongs primarily in the Portal news timeline styling substrate:
- Shared structural timeline styles:
resources/scss/src/apps/portal/news/tickets/Component.scss.
- Pull and Discussion views already load that shared layout via
@use "../tickets/Component" in their component SCSS.
- Discussion-specific nested reply styling lives in
resources/scss/src/apps/portal/news/discussions/Component.scss.
- Shared light/dark timeline palette:
resources/scss/theme-neo-light/apps/portal/content/Component.scss and resources/scss/theme-neo-dark/apps/portal/content/Component.scss.
- Generic Markdown table styling in
resources/scss/src/component/Markdown.scss remains relevant for top-level Markdown content and frontmatter tables, but a generic-only fix would miss the Portal news timeline bubble use case.
The Fix
Style tables emitted inside Portal news timeline bodies so they visually align with the existing GitHub-style timeline palette and behave well in narrow viewports:
- Add scoped table rules for
.neo-timeline-body table and any needed discussion reply body selector.
- Use the shared
--gh-* timeline palette for borders, header backgrounds, and text color so light/dark themes stay aligned with the Portal news surface.
- Provide a horizontal-scroll surface for wide tables inside the timeline bubble/reply body; the table should not force the entire page or timeline column wider.
- Preserve
.neo-frontmatter-table compact metadata behavior unless an implementation proves it should share part of the new styling.
Decision Record Impact
none
Acceptance Criteria
Out of Scope
- Reworking the Grid component itself.
- Rewriting the Portal news Markdown parsers unless a parser wrapper is empirically required for robust horizontal overflow.
- Broad typography redesign for Markdown content outside tables.
- Closing or superseding the older closed table-styling tickets (#8383, #8384, #8770).
Related
Retrieval Hint: Portal news timeline Markdown tables grid theme horizontal scroll
Context
Operator clarification after the initial filing: the observed table-styling gap was in the Portal news section timelines. The first ticket draft assumed the relevant surface was only generic
Neo.component.Markdown; this section records the Verify-Before-Assert correction so the implementation does not lose the original intent.VBA source trace:
src/app/content/Component.mjs:1-9importsNeo.component.Markdownand extends it, so Portal content views are Markdown-derived.apps/portal/view/content/Component.mjs:22extendsNeo.app.content.Componentand retargets it for timeline-mode content.apps/portal/view/news/tickets/Component.mjs:176-218,apps/portal/view/news/pulls/Component.mjs:158-180, andapps/portal/view/news/discussions/Component.mjs:164-186callsuper.modifyMarkdown(content)for the primary description/body.marked.parse(...)into.neo-timeline-body/.neo-discussion-reply-bodyattickets/Component.mjs:346-357,pulls/Component.mjs:221-225, anddiscussions/Component.mjs:363-399.Duplicate/content sweep:
resources/contentsweep found closed #8384 (rounded corners) and #8770 (dark header background), plus #11719, which is a narrow broken-docs-table-content issue and not equivalent.The Problem
The current Markdown table styling does not fully cover the Portal news timeline surfaces:
resources/scss/src/component/Markdown.scss:145-175styles.neo-frontmatter-tableand direct child> table. That is useful for top-level Markdown tables, but it is not enough for comment/review/reply tables nested under timeline-specific containers.resources/scss/src/apps/portal/news/tickets/Component.scss:238-250only gives.neo-timeline-bodybasic font, wrapping, padding, andpre { overflow-x: auto; }. There is no scoped table styling or horizontal-scroll rule for tables inside timeline bubbles.resources/scss/src/apps/portal/news/discussions/Component.scss:39-40only trims the last child inside discussion replies; reply tables get no scoped styling either.resources/scss/theme-neo-light/apps/portal/content/Component.scssandresources/scss/theme-neo-dark/apps/portal/content/Component.scssas--gh-*tokens, not in ticket-specific theme files.The Architectural Reality
The fix belongs primarily in the Portal news timeline styling substrate:
resources/scss/src/apps/portal/news/tickets/Component.scss.@use "../tickets/Component"in their component SCSS.resources/scss/src/apps/portal/news/discussions/Component.scss.resources/scss/theme-neo-light/apps/portal/content/Component.scssandresources/scss/theme-neo-dark/apps/portal/content/Component.scss.resources/scss/src/component/Markdown.scssremains relevant for top-level Markdown content and frontmatter tables, but a generic-only fix would miss the Portal news timeline bubble use case.The Fix
Style tables emitted inside Portal news timeline bodies so they visually align with the existing GitHub-style timeline palette and behave well in narrow viewports:
.neo-timeline-body tableand any needed discussion reply body selector.--gh-*timeline palette for borders, header backgrounds, and text color so light/dark themes stay aligned with the Portal news surface..neo-frontmatter-tablecompact metadata behavior unless an implementation proves it should share part of the new styling.Decision Record Impact
none
Acceptance Criteria
--gh-*) rather than unrelated one-off Markdown table colors.Out of Scope
Related
Retrieval Hint:
Portal news timeline Markdown tables grid theme horizontal scroll