Commit Graph

94 Commits

Author SHA1 Message Date
Hayden Bleasel 62888665f8 Performance improvements, part 2 (#241)
* Add functional benchmarking suite

* Optimize regex performance

* Fix rendering issue with code blocks

* Fix bench commands

* Table optimizations

* Math Block Detection Caching

* Parse blocks optimizations

* More regex-to-loop optimizations

* Update layout.tsx

* Remove dependency on vfile

* Optimize string operations

* Create markdown.test.tsx

* Optimized cache key generation

* Fix display issue

* Add core Markdown parsing benchmarks

* Update section.tsx

* CSV / TSV escaping optimization

* More optimizations

* Run Ultracite

* Fix remaining lint issues
2025-11-21 17:45:53 -08:00
Hayden Bleasel 73e1b44f2f Remove urlTransform 2025-11-21 15:33:16 -08:00
Hayden Bleasel 6e94a180ed Remove benchmarks 2025-11-21 15:13:09 -08:00
Hayden Bleasel 4e12df6209 Performance optimizations (#237)
* Merge contexts

* Fix unit tests

* Enhanced memoization

* Add caching layer to markdown parser

* Fix TS / lint errors

* Fix act() warnings in tests

* Add LRU cache to Markdown processor

* Syntax HighlightManager optimizations

* Switch to single highlighting instance

* Update global.css

* Shift light/dark mode syntax highlighting to CSS

* Fix Fumadocs affecting code blocks

* Fix code block static mode

* Run Ultracite

* Fix tests

* Ultracite fixes

* Cleanup code block implementation

* Update packages/streamdown/index.tsx

Co-authored-by: vercel[bot] <35613825+vercel[bot]@users.noreply.github.com>

* Create every-cats-clean.md

---------

Co-authored-by: vercel[bot] <35613825+vercel[bot]@users.noreply.github.com>
2025-11-20 15:17:41 -08:00
Hayden Bleasel 872da1afd1 197 feature request custom error component for mermaid rendering errors (#235)
* Add MermaidErrorComponent support

* Update docs

* Merge mermaid props

* Merge mermaid contexts

* Run Ultracite

* Update index.tsx

* Create favicon.ico

* Update cjk-support.mdx

* Create plain-singers-clean.md

* Update mermaid.tsx
2025-11-19 14:52:29 -08:00
Hayden Bleasel 52db013a3b Static Mode (#231)
* Implement mode

* Add tests

* Create static test page

* Split up code block files

* Load static / streaming code block dynamically

* Extract highlighting from highlight manager

* Remove abort controller from static

* Add static fallback

* Split header

* Update docs

* Create soft-dragons-type.md

* Fix tests
2025-11-19 08:57:58 -08:00
Hayden Bleasel c7deb68364 Resolves #230 2025-11-19 08:55:15 -08:00
Hayden Bleasel 596b615c7c Update home-layout.tsx 2025-11-18 15:51:36 -08:00
Hayden Bleasel a2b2347321 Update search.tsx 2025-11-16 16:36:32 -08:00
Hayden Bleasel 63eb2f9505 Update search.tsx 2025-11-16 15:36:05 -08:00
Hayden Bleasel afde983111 Responsive fixes 2025-11-16 15:20:01 -08:00
Hayden Bleasel 9379b32b93 Update Geistdocs 2025-11-16 15:19:57 -08:00
Hayden Bleasel 31772c1dd4 Update video.tsx 2025-11-16 10:18:27 -08:00
Hayden Bleasel 40fe4c61f0 For #222 2025-11-16 09:21:05 -08:00
Tatsunori Uchino 94b08fb00e Fix documents and some test cases for CJK Friendly Emphasis (#222) 2025-11-16 09:08:54 -08:00
Hayden Bleasel 7041497ff4 Resolves #189 2025-11-15 21:58:59 -08:00
Hayden Bleasel 939ddc34e3 Add CJK support to website 2025-11-15 21:24:48 -08:00
Hayden Bleasel f941fd6f53 Resolves #185 2025-11-15 21:20:02 -08:00
Hayden Bleasel ed0154a7fd Resolves #214 2025-11-15 21:02:03 -08:00
Hayden Bleasel c492c4ce17 Update interactivity.mdx 2025-11-15 20:56:39 -08:00
Hayden Bleasel 75e9d401b9 Linting / Formatting / Documentation fixes (#220)
* Bump deps

* Update biome.jsonc

* Remove duplicate Biome config

* Run Ultracite

* Resolves #217

* For #198

* Update biome.jsonc

* For #198

* For #198

* For #198

* For #198

* Update node-attribute-removed.test.tsx

* Resolves #198

* Update README.md

* Add changeset files

* Create tidy-lemons-win.md
2025-11-15 20:23:36 -08:00
Hayden Bleasel 44ae73eaaf Documentation (#219)
* Initial migration

* Update homepage

* Delete .source

* Fix gitignores

* Draft content

* Finish drafting content, migrate FAQ

* Update code-blocks.tsx

* Update route.ts

* Update next config

* Upgrade to Next.js 16, fix commands

* Update layout.tsx
2025-11-15 19:41:00 -08:00
Alex Page 5c4ad8bedb Fullscreen mermaid (#212)
* Fullscreen for Mermaid Diagrams

* changeset

* Implement reference counting for body scroll lock in fullscreen
2025-11-12 22:49:31 -08:00
Hayden Bleasel 2ad0de1b98 Update gfm.tsx 2025-10-10 11:32:38 -07:00
Hayden Bleasel 3c780b4827 fix: footnotes are blocked by default (#179)
* Update rehype-harden

* Fix footnotes rendering

* Update footnotes.test.tsx

* Create tender-readers-shave.md
2025-10-10 11:04:50 -07:00
Hayden Bleasel 6c0672b1e9 Fix footnotes (#174)
* Fix footnotes in markdown parsing

* Create footnotes.test.tsx

* Create light-beers-peel.md

* Bump rehype-harden

* Update gfm.tsx

* Update parse-blocks.tsx

* Update pnpm-lock.yaml
2025-10-10 10:08:51 -07:00
Hayden Bleasel f5d6cd6668 Remove options props, make plugins fully customizable (#177)
* Remove options props, make plugins fully customizable

* Update docs

* Create puny-turkeys-press.md

* Remove harden options

* Make defaults easily overridable

* Simplify keys

* Update hardened.tsx

* Remove unused unit tests

* Add missing props
2025-10-10 09:39:40 -07:00
Hayden Bleasel d0444a38f2 Add isStreaming prop (#173)
* Add support for isAnimating

* Update props

* Update code-block.test.tsx

* Update useChat implementation code

* Create all-queens-follow.md
2025-10-09 18:26:51 -07:00
Hayden Bleasel 04f6f3aaba fix: hydration error while rendering image (#172)
* Extract images from paragraph tags

* Create image-hydration.test.tsx

* Create tangy-taxis-hammer.md

* Fix linting and formatting commands
2025-10-09 17:22:40 -07:00
Hayden Bleasel 7cd5048e21 Add support for remarkMathOptions and remarkGfmOptions props (#171)
* Add support for remarkMathOptions and remarkGfmOptions props

* Create remark-options.test.tsx

* Create odd-falcons-heal.md

* Add to website
2025-10-09 17:15:45 -07:00
Hayden Bleasel 6c6f507e21 Replace harden-react-markdown with rehype-harden (#170)
* replace harden-react-markdown with rehype-harden

* Improve docs

* Add hardenOptions prop to allow for full props

* Improve unit tests for hardenOptions

* Create cute-deer-cut.md

* Update hardened.tsx
2025-10-09 17:02:04 -07:00
2hu 5cdde417e4 docs: Update rehypePlugins default value in README (#163)
* docs: Update rehypePlugins default value in README

The default value for `rehypePlugins` in the README was updated to include `rehypeRaw`.

* docs: Update rehypePlugins default value in website
2025-10-09 14:07:11 -07:00
Hayden Bleasel 0ebf67db1d 1.3 changes (#145)
* Bump deps

* Run Ultracite

* Update code-block.tsx

* Update parse-blocks.tsx

* Create great-pants-trade.md
2025-09-15 20:35:31 -07:00
Machiel 73b17a4d0b showControls to show and hide copy/download buttons (#138)
* feat: add showControls prop to control copy/download button visibility.

* feat: Add documentation for `showControls`.

* feat: Add tests for `showControls`.

* feat: add showControls prop to control copy/download button visibility.

* Rename showControls to controls

* Fix conditional hooks

---------

Co-authored-by: Hayden Bleasel <hello@haydenbleasel.com>
2025-09-15 12:08:03 -07:00
Ayhan Sipahi d2edc9012d feat: add custom Mermaid configuration support (#122)
* feat: add custom Mermaid configuration support

* ci: add change set

* fix: optimize mermaid config comparison and initialization
2025-09-10 21:12:25 -07:00
Hayden Bleasel 5a50f22008 Bump deps (#89)
* Bump deps

* Transpile shiki

* Create afraid-kiwis-bathe.md

* Update biome.jsonc

* Ignore shadcn files

* Run Ultracite

* Run unsafe fixes
2025-09-03 09:56:07 -07:00
Hayden Bleasel f45ea6d7d2 fix: the unterminated long link text is not rendering anything until the full link has completed streaming (#85)
* Update terminator-parser.tsx

* Automatically close links with placeholder url

* Create yummy-lines-matter.md
2025-09-02 19:35:54 -07:00
dependabot[bot] dfb85ce9f2 Bump the npm_and_yarn group across 2 directories with 1 update (#71)
Bumps the npm_and_yarn group with 1 update in the / directory: [next](https://github.com/vercel/next.js).
Bumps the npm_and_yarn group with 1 update in the /apps/website directory: [next](https://github.com/vercel/next.js).


Updates `next` from 15.4.6 to 15.4.7
- [Release notes](https://github.com/vercel/next.js/releases)
- [Changelog](https://github.com/vercel/next.js/blob/canary/release.js)
- [Commits](https://github.com/vercel/next.js/compare/v15.4.6...v15.4.7)

Updates `next` from 15.4.6 to 15.4.7
- [Release notes](https://github.com/vercel/next.js/releases)
- [Changelog](https://github.com/vercel/next.js/blob/canary/release.js)
- [Commits](https://github.com/vercel/next.js/compare/v15.4.6...v15.4.7)

---
updated-dependencies:
- dependency-name: next
  dependency-version: 15.4.7
  dependency-type: direct:production
  dependency-group: npm_and_yarn
- dependency-name: next
  dependency-version: 15.4.7
  dependency-type: direct:production
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-02 08:19:09 -07:00
Hayden Bleasel e483a2e8b3 Resolves #17 2025-08-28 11:19:12 -07:00
Hayden Bleasel 69fb1e0db4 fix single dollar sign text rendering as math (#64)
* Disable singleDollarTextMath

* Create wet-islands-slide.md

* Update tests

* Update mathematics.tsx

* Update wet-islands-slide.md

* Revert "Update wet-islands-slide.md"

This reverts commit 3e8f80aa63.
2025-08-28 11:04:34 -07:00
Hayden Bleasel 593e49eb92 fix multiple renders of the same mermaid diagram (#59)
* Improve stable ID

* Update mermaid.tsx

* Create social-bugs-doubt.md
2025-08-28 08:50:05 -07:00
Hayden Bleasel f106ec440d add faq to website (#56)
* Scaffold FAQ

* Resolves #4

* Update faq.tsx
2025-08-27 21:17:08 -07:00
Hayden Bleasel 5ccfe24093 Resolves #5 2025-08-25 17:40:31 -07:00
Hayden Bleasel f834892754 fix: codeblock dark mode and background (#40)
* Add theme provider

* Update footer.tsx

* Update code blocks

* Create yellow-webs-follow.md

* Accept two shiki themes

* Update index.tsx

* Misc fixes
2025-08-25 17:32:34 -07:00
Hayden Bleasel ae0881caff Automatic diagrams (#34)
* Update demo copy

* Extract Code component

* Merge Code components

* Update mermaid.tsx

* Update mermaid.tsx

* Intelligently render "cached" valid Mermaid diagram

* Update components.tsx

* Fix infinite loop

* Update package.json
2025-08-25 11:41:57 -07:00
Ayhan Sipahi d528e25ac1 feat: Add Interactive Mermaid Diagram Support with Manual Rendering (#18)
* feat: add Mermaid diagram support to Streamdown

- Add Mermaid package dependency
- Create Mermaid component with error handling
- Integrate Mermaid support in markdown components
- Add Mermaid demo to website
- Update README with Mermaid examples
- Add comprehensive tests for Mermaid component

* feat(mermaıd): lazy load mermaid

* feat: add interactive Mermaid diagram support with manual render buttons

* perf: optimize Mermaid initialization to prevent config conflicts

* fix: extract pre component to resolve React Hooks Rules violation

* fix: add error handling and unique ID generation

* fix: conditionally render Mermaid button only for Mermaid code blocks
2025-08-25 10:58:33 -07:00
Hayden Bleasel b932431e6a Update props 2025-08-21 09:54:37 -07:00
Yella Yohan Reddy a4647ccd8e Add Vercel header link and include dist in build outputs (#10)
* fix: add Vercel link to header

* turbo: include dist/** in build outputs

* fix: replace Link with anchor for external Vercel link
2025-08-21 09:52:43 -07:00
Mrinaal Arora d775eff63c Update malicious link in hardened component (#3) 2025-08-19 15:55:45 -07:00
Hayden Bleasel d8ac8af409 Add missing copy buttons 2025-08-19 10:46:17 -07:00