The Crystal Programming Language Forum

Ideas on how to creat a page builder / blocks based editor?

What would be a good approach to creating a page builder or blocks based editor?

I am guessing that it can either be done with forms or contenteditable. What are the advantages/disadvantages to those, and are there any other options?

Assuming that there is no way of doing it without writing client-side code. Does it have to be done in JavaScript or is something like Mint/Elm far enough along to support such a use case?

I am working on a CMS using Crystal, Athena and SQLite. Currently, I am using the Trix editor, but I would like something based on blocks so that I can create my own block types.

1 Like

This is definitely not a trivial task if you want a decent editor.

You might take a look at https://tina.io/ It’s a toolkit for building such editor interfaces. It’s not a simple plug’n’play but very powerful and certainly easier than rolling your own.

I’m sure there are other similar libraries, but that’s the only one I know about (never used it myself though).

2 Likes

LOL! Tina eat the food!! :rofl:

Thanks, I have been doing a bunch of googling and found some more options.

I think I am going to try Editor.js. It looks the most like what I was imagining that I want.

The options so far are:

Block Editors

Text Editors

Commercial Editors

2 Likes

Drag-n-drop block based coding tools look so cool! I haven’t used them myself, but it does sound interesting. And it makes me imagine what that would be like if it were added to the Crystal Playground. Of course, that would be a big project. But even something smaller-scaled Crystal project thatto handles a smaller set of ‘blocks’ would be cool to see.