Commit Graph

267 Commits

Author SHA1 Message Date
streamdown-github-app[bot] 945bd5033e Version Packages (#245)
Co-authored-by: streamdown-bot[bot] <streamdown-bot[bot]@users.noreply.github.com>
streamdown@1.6.2
2025-11-22 19:04:28 -08:00
Hayden Bleasel e6bf09a1ae Update lucide-icon-optimization.md 2025-11-22 19:00:34 -08:00
Hayden Bleasel 476167eab7 Bundle size optimization (#244)
* Direct icon imports

* Lazy load mermaid and shiki until used

* Only load KaTeX when maths is present

* Add changesets

* Improve test app output

* Create lucide-react.d.ts

* Update packages/streamdown/lib/code-block/skeleton.tsx

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

---------

Co-authored-by: vercel[bot] <35613825+vercel[bot]@users.noreply.github.com>
2025-11-22 18:50:11 -08:00
Hayden Bleasel a288c2d632 Create syntax highlighting benchmarks 2025-11-22 17:00:24 -08:00
streamdown-github-app[bot] 66550f6e3f Version Packages (#243)
Co-authored-by: streamdown-bot[bot] <streamdown-bot[bot]@users.noreply.github.com>
streamdown@1.6.1
2025-11-21 20:16:53 -08:00
Hayden Bleasel bdca13b7d6 Create crisp-cloths-dig.md 2025-11-21 20:11:38 -08:00
Hayden Bleasel 384af9dc5a Update parse-incomplete-markdown.ts streamdown@1.6.0 2025-11-21 20:11:02 -08:00
streamdown-github-app[bot] b7f4b0cb0b Version Packages (#232)
Co-authored-by: streamdown-bot[bot] <streamdown-bot[bot]@users.noreply.github.com>
2025-11-21 20:04:56 -08:00
Hayden Bleasel e0a24f658a Performance updates, part 3 (#242)
* Revert bad optimizations

* Revert more bad optimizations
2025-11-21 20:04:02 -08:00
Hayden Bleasel 1af9f9cec0 Bump to 1000 iterations 2025-11-21 19:29:26 -08:00
Hayden Bleasel e7f62e4589 Update markdown.ts 2025-11-21 18:17:39 -08:00
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 331f64243e Resolves #193 2025-11-21 15:51:51 -08:00
Hayden Bleasel 093cd5cb76 Create lemon-parents-peel.md 2025-11-21 15:44:57 -08:00
Hayden Bleasel c025bc5a31 Run Ultracite 2025-11-21 15:36:01 -08:00
Hayden Bleasel 73e1b44f2f Remove urlTransform 2025-11-21 15:33:16 -08:00
Hayden Bleasel 83bca4ff13 Persist test model to localstorage 2025-11-21 15:30:51 -08:00
Hayden Bleasel e2ba4ff94f Fix tests 2025-11-21 15:27:22 -08:00
Hayden Bleasel 090c82e39a Create quick-pans-juggle.md 2025-11-21 15:17:50 -08:00
Hayden Bleasel e23da998a9 Resolves #239 2025-11-21 15:17:22 -08:00
Hayden Bleasel 6e94a180ed Remove benchmarks 2025-11-21 15:13:09 -08:00
Hayden Bleasel 606209d10c Fix Code Blocks (#240)
* Display fallback html

* Rebuild code blocks on codeToTokens

* Remove unused code

* Fix flashing during re-rendering

* Remove useRef

* Switch back to JS Regex engine

* Create single highlighter

* Create container

* Restore singleton cache for highlighters

* Update static.tsx

* Fix tests

* Reapply memoization, consolidate effects, etc.

* Remove Static Code Block

* Run Ultracite

* Fix rendering flashes

* Add token highlight cache

* Update settings.json

* Create flat-gifts-fix.md
2025-11-21 14:55:50 -08:00
Hayden Bleasel 89d37d3d62 Update chat.tsx 2025-11-20 15:45:55 -08:00
Hayden Bleasel 0bf3d8594c Update README.md 2025-11-20 15:18:26 -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 aea3b44c03 Fix benchmark warnings 2025-11-20 01:23:09 -08:00
Hayden Bleasel 726e482608 Fix duplicate highlighters being created 2025-11-20 01:10:45 -08:00
Hayden Bleasel 98e867f84c Fix benchmarks 2025-11-20 01:06:23 -08:00
Hayden Bleasel 750e5e5b7b Fix benchmarks 2025-11-19 19:53:18 -08:00
Hayden Bleasel 5f53b3a6c1 Run Ultracite 2025-11-19 18:34:53 -08:00
Hayden Bleasel 2d13c0d312 Misc cleanup 2025-11-19 18:34:42 -08:00
Hayden Bleasel 6f19ee03e7 Remove dependency on react-markdown 2025-11-19 18:31:53 -08:00
Hayden Bleasel 819ce60e37 Create performance benchmarks 2025-11-19 17:29:45 -08:00
Hayden Bleasel 5d2c6f1b61 Remove duplicate tests 2025-11-19 16:41:15 -08:00
Hayden Bleasel 7c15b4a39f Improve test coverage to 93.51% 2025-11-19 16:39:54 -08:00
Hayden Bleasel 90ebfe660b Improve test coverage from 80.98% to 91.19% 2025-11-19 16:25:53 -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 c85a42b1d5 Remove excess client directives 2025-11-19 14:25:01 -08:00
Hayden Bleasel 0dd3eecb50 Split table to component file 2025-11-19 14:23:30 -08:00
Hayden Bleasel db330ab929 Misc fixes 2025-11-19 14:19:54 -08:00
Hayden Bleasel 2852fa9d50 Cleanup files (#234)
* Split up Mermaid files

* Update components.tsx

* Split apart Table components

* Move pan-zoom

* Merge pan-zoom tests into mermaid tests
2025-11-19 14:18:34 -08:00
Hayden Bleasel b55cbdc954 Fix security issues, improve performance (#233)
* Resolves https://github.com/vercel/streamdown/security/code-scanning/9

* Resolves https://github.com/vercel/streamdown/security/code-scanning/7

* Resolves https://github.com/vercel/streamdown/security/code-scanning/6

* Resolves https://github.com/vercel/streamdown/security/code-scanning/3

* Resolves https://github.com/vercel/streamdown/security/code-scanning/1

* Bump deps, resolves https://github.com/vercel/streamdown/security/dependabot/10

* Run Ultracite

* Create major-spoons-do.md

* Update parse-incomplete-markdown.ts

* Update packages/streamdown/lib/parse-incomplete-markdown.ts

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

* Update parse-incomplete-markdown.test.ts

---------

Co-authored-by: vercel[bot] <35613825+vercel[bot]@users.noreply.github.com>
2025-11-19 13:57:04 -08:00
Hayden Bleasel 936af5b40e Create sharp-ads-give.md 2025-11-19 09:30:06 -08:00
swiftugandan 81561615a0 Add PanZoom component and tests for zoom and pan functionality (#228)
- Introduced a new PanZoom component to handle zooming and panning of child elements.
- Implemented zoom controls, including zoom in, zoom out, and reset functionality.
- Added support for mouse wheel zooming and pointer events for panning.
- Created comprehensive tests for the PanZoom component, covering rendering, zoom controls, and pan functionality.
- Updated Mermaid component to utilize PanZoom for fullscreen rendering of charts.

Co-authored-by: Hayden Bleasel <hello@haydenbleasel.com>
2025-11-19 09:29:37 -08:00
Hazem Abdennadher 22cbaeb055 feat: add support for exporting mermaid diagram to svg and png (#229)
* feat: add support for exporting mermaid diagram to svg and png

Implemented the ability to export Mermaid diagrams in SVG, PNG, and MMD formats. Updated the Mermaid component to include a download dropdown for selecting the desired format. Enhanced tests to cover the new download features.

* fix: trigger download callback after exporting diagram in PNG format
2025-11-19 09:28:36 -08:00
Hayden Bleasel 28ab339d18 Create lucky-cobras-fold.md 2025-11-19 09:27:21 -08:00
Hayden Bleasel 53be16fde1 Resolves #227 2025-11-19 09:26:24 -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