Skip to content

Conversation

@agnieszka-m
Copy link
Contributor

Related Issues

  • fixes #issue-number

Proposed Changes:

  • added a copy button that copies the page to markdown, exports to markdown, or exports to pdf

How did you test it?

Notes for the reviewer

Checklist

  • I have read the contributors guidelines and the code of conduct.
  • I have updated the related issue with new insights and changes.
  • I have added unit tests and updated the docstrings.
  • I've used one of the conventional commit types for my PR title: fix:, feat:, build:, chore:, ci:, docs:, style:, refactor:, perf:, test: and added ! in case the PR includes breaking changes.
  • I have documented my code.
  • I have added a release note file, following the contributors guidelines.
  • I have run pre-commit hooks and fixed any issue.

@agnieszka-m agnieszka-m requested a review from a team as a code owner January 12, 2026 15:25
@agnieszka-m agnieszka-m requested review from sjrl and removed request for a team January 12, 2026 15:25
@vercel
Copy link

vercel bot commented Jan 12, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Review Updated (UTC)
haystack-docs Ready Ready Preview, Comment Jan 21, 2026 10:22am

Request Review

@agnieszka-m agnieszka-m added the ignore-for-release-notes PRs with this flag won't be included in the release notes. label Jan 12, 2026
@sjrl
Copy link
Contributor

sjrl commented Jan 13, 2026

@agnieszka-m the nature of the copy button seems to mess with the visibility of the navigation menu on the right for some pages
Screenshot 2026-01-13 at 09 29 54

Copy link
Contributor

@YassineGabsi YassineGabsi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

image I see that it's a bit breaking the view here, maybe we move it up or at the left?

Comment on lines 9 to 40
const CopyIcon = () => (
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
<rect x="9" y="9" width="13" height="13" rx="2" ry="2" />
<path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1" />
</svg>
);

const ChevronDownIcon = () => (
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
<polyline points="6 9 12 15 18 9" />
</svg>
);

const MarkdownIcon = () => (
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
<path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z" />
<polyline points="14 2 14 8 20 8" />
<line x1="16" y1="13" x2="8" y2="13" />
<line x1="16" y1="17" x2="8" y2="17" />
<polyline points="10 9 9 9 8 9" />
</svg>
);

const PDFIcon = () => (
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
<path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z" />
<polyline points="14 2 14 8 20 8" />
<path d="M9 15v-2h2c.6 0 1 .4 1 1s-.4 1-1 1H9z" />
<path d="M9 11h2" />
</svg>
);

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

usually we have these as seperate files, for reusability, and we maybe even have them already

Comment on lines 165 to 184
:global([data-theme='dark']) .menuItem svg {
color: #999;
}

:global([data-theme='dark']) .menuItem:hover svg {
color: #6e90ff;
}

:global([data-theme='dark']) .menuItemTitle {
color: #e0e0e0;
}

:global([data-theme='dark']) .menuItemDescription {
color: #999;
}

:global([data-theme='dark']) .menuItem:hover .menuItemTitle {
color: #6e90ff;
}

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we already have our tokens in the main css file, using it hardcoded here would be really hard to manage the themes & rebranding for the future

}, []);

// Get the page content as markdown
const getPageMarkdown = () => {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this can be easily done with a package like this
https://www.npmjs.com/package/react-markdown

@YassineGabsi YassineGabsi merged commit e63eaa3 into main Jan 21, 2026
10 checks passed
@YassineGabsi YassineGabsi deleted the llm-features-for-docs branch January 21, 2026 11:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ignore-for-release-notes PRs with this flag won't be included in the release notes.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants