-
-
Notifications
You must be signed in to change notification settings - Fork 562
feat: server-side processing #451
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
@YousefED Hi! Could you please tell me when you plan to deliver this feature? It would be very useful for me :-) |
@YousefED Hello! 🌟 I'm eagerly looking forward to using this. Could you please complete it? Your work is much appreciated! 🚀 |
Hi @nikkimontoya @Jakisundays! Atm we're prioritizing some work for our sponsors and I currently don't require this feature myself - so even though I'd love to, it will be a while before we can dig into this. You can consider sponsoring or opening a bounty to encourage community members to step in |
💎 $25 bounty • odufuwasSteps to solve:
Thank you for contributing to TypeCellOS/BlockNote! |
Hi @YousefED, this is also something which is required, so that we can use BlockNote. |
Hi @m-risto! Thanks and thanks for your sponsorship. Would love to hear more about your exact requirements before we continue working on this. Mind specifying more here, or reaching out on Discord / X / email ([email protected])? |
Hi @YousefED i will write it down tomorrow, if i have a some free time. The short version is we want to create a pdf server side with puppeteer and that's why we need the html extract. But i will write you more via discord. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice, just a few things that need changing in the docs but rest looks good
Thanks team for the hardwork, I tried but cant seem to install it from npm. % npm install @blocknote/server-util npm ERR! A complete log of this run can be found in: /Users/xxx/.npm/_logs/2024-07-15T15_38_08_817Z-debug-0.log |
We accidentally left |
just tried to create editor on partykit server, but errored out immediately for not able to resolve the following packages: fs, net, http, https, url, zlib, os, child_process, perf_hooks, and tls. So, would this new package @blocknote/server-util only be able to run in environment like Node.js that have all those packages built-in? |
Opened #942 for @soranoo and @lawrencenika |
thanks @YousefED , I was told that Partykit uses javacript env by CF called Workerd. Even though it supports TypeScript, thousands of modules from the npm registry, and WebAssembly modules, it seems to not have access to the full node runtime. Only a small subset of npm packages are available on Partykit server. You can read more about it here https://edge-runtime.vercel.app/ |
This introduces a
server-util
package which can be used to interact with BlockNote without instantiating an entire editor. For example, it can be used to render HTML from BlockNote blocks in JSON format (or from a YDoc) for server-side rendering. Or, for server-side conversion to markdown for server-side search indexing.All related issues have been tagged "server": server
TODO
The current state is a PoC, there are several important todos to implement / figure out:
ServerBlockNoteEditor
blocksToHTMLLossy
on document with React custom blocks without instantiating a BlockNoteView #720)blocksToBlockNoteStyleHTML
+ loading the@blocknote/core/style.css
file suffice for this? We need to test this and document stylesissues
to see if we miss any requirementscloses #720
closes #521
closes #387
closes #311
The extraction of
elementRenderer
anduseImperativeHandle
also closes the following issues:closes #750
closes #732
closes #832