8 months ago
I've been trying to install a package called quill-delta-to-html. I tried to add variables to in my railway dashboard:
NODE_FUNCTION_ALLOW_EXTERNAL=quill-delta-to-html
but it looks like it doesn't work. The reason I need this package is that ClickUp api is giving me a RichText in quill delta format.
87 Replies
8 months ago
As answered through DMs, you'll need to install through NPM
https://www.npmjs.com/package/quill-delta-to-html
*I'm guessing that you're using nodejs
8 months ago
when opening that page there'll be a install command you can run
I tried adding the variable and chatgpt/gemini couldn't give me a working guide for that
8 months ago
but it is npm install quill-delta-to-html
8 months ago
on your terminal
8 months ago
oh you're on a n8n environment, sorry for that
8 months ago
so n8n needs that? to parse the quill format
8 months ago
chatgpt is also assuming what I was assuming, that you're on a normal nodejs project with access to the terminal (basically, writing your own code)
Ye but I told chatgpt I am on railway so it asked me to add some variables which I did but still didn't work
8 months ago
don't trust chatgpt with Railway, it always gives wrong answers
8 months ago
unfortunately I don't know how to proceed here as I'm unfamiliar with n8n but I would assume that it has someway of parsing that built-in, if not then you're unlucky here.
8 months ago
I see a way of implementing this: you could create a Railway function (Railway has a built-in AI) where n8n calls that function, the function parses it, and then you process the response in n8n.
8 months ago
The flow would look like:
- Create an n8n node to call an external API/endpoint.
- Create a function on Railway (https://docs.railway.com/reference/functions).
- Use the Railway's AI and tell it to write a code where it uses
quill-delta-to-htmlpackage to parse an external payload through an API endpoint. - Copy the public endpoint URL from that function and then use it in the first node we created.
8 months ago
that's steps you should follow, no AI at the moment can do that automatically.
8 months ago
looks right to me
8 months ago
There should be the "Apply Changes" popup. Also, make sure that you save the code by clicking the save button.

8 months ago
Yeah, feel free to do so
8 months ago
there should be an URL under the source code editor
8 months ago
and from the looks of it, it seems to just accept a JSON payload and parse it or under the property ops
{ "body": { "test": "test" }, "headers": { "accept": "application/json,text/html,application/xhtml+xml,application/xml,text/;q=0.9, image/;q=0.8, /;q=0.7" }, "method": "POST", "uri": "hidden", "gzip": true, "rejectUnauthorized": true, "followRedirect": true, "resolveWithFullResponse": true, "followAllRedirects": true, "timeout": 300000, "encoding": null, "json": false, "useStream": true }
8 months ago
sorry, it's under the /convert endpoint path
8 months ago
can you get me an example of a quill payload?
8 months ago
give me a minute to know how the library works
how do u feel solving a problem not even geminig and chatgpt could
8 months ago
also, are you able to send me your quill payload + the source code for the function?
8 months ago
here please
import { QuillDeltaToHtmlConverter } from "quill-delta-to-html";
const app = new Hono();
app.post("/convert", async (c) => {
try {
const payload = await c.req.json();
const converter = new QuillDeltaToHtmlConverter(payload.ops || [], {});
const html = converter.convert();
return c.json({
html: html,
success: true
});
} catch (error) {
return c.json({
error: error instanceof Error ? error.message : "Unknown error",
success: false
}, 400);
}
});
Bun.serve({
port: Bun.env.PORT ?? 3000,
fetch: app.fetch
});```
[1434228755139920013](https://media.discordapp.net/attachments/1434221933309722624/1434228755139920013/message.txt?ex=6907911d&is=69063f9d&hm=7d2b6d59316998d1ff763b503ef40b3b4505b9f94652da58e6c119289ca378d5&)8 months ago
Ok, I see the issue now
8 months ago
what are the options on Specify body?
8 months ago
No, the option input below it
8 months ago
Select the option Using JSON
8 months ago
Then, just pass the n8n template directly e.g. {{ $json.custom_fields <..> }}
8 months ago
try with the .toJsonString, if it still doesn't work remove it
8 months ago
but then you're passing the "quill-data" and all of that, I meant to only pass the template directly
8 months ago
by template I mean this: {{ $json.custom_fields[2].value_richtext.toJsonString() }}. Just fill that on the input and nothing else.
i take back everything I said about LLM taking human programmer jobs
8 months ago
Great to hear that 😅
Anyway, do you've any more questions?
8 months ago
Also, about your DMs, any particular reason why you would be migrating away from Railway?
8 months ago
That's not a problem, we would really like to keep you on Railway.
8 months ago
For example, you wouldn't be able to keep the support you had right now as a DigitalOcean customer.
8 months ago
Great to hear, let me know if you've any other issues! will be closing this thread
8 months ago
!s
Status changed to Solved passos • 8 months ago







