Every great tool has an origin story, and the tiptap-lit-editor is no exception.
It wasn’t born out of a desire to create "just another editor," but rather from a specific need to bridge two worlds: the speed of static sites and the flexibility of a modern CMS.
The Spark: Roq and the Quest for the Perfect CMS
The story starts with Quarkus Roq.
If you aren’t familiar, Roq is a "supersonic" static site generator (SSG) built for the Quarkus ecosystem.
It allows you to build blogs and websites with the same ease as Jekyll or Hugo, but with the full power of Quarkus under the hood.
However, we hit a classic dilemma.
Static sites are amazing for performance and SEO, but they often lack the "live" feel of a CMS.
You usually have to open a code editor, tweak a Markdown file, and push to GitHub just to fix a typo.
We wanted to make Quarkus Roq both static and dynamic—a system where you can enjoy the stability of a static site but have the power to edit content on the fly, just like a high-end CMS.
To do that, we needed an editor that was as flexible as the web itself.
Enter Tiptap and Lit
We chose Tiptap because it’s the gold standard for headless rich-text editing.
But we didn't want to lock ourself into a specific framework like React or Vue.
We wanted something universal.
By building the editor with Lit, we’ve turned it into a native Web Component.
This is the "secret sauce" of the project.
Because it’s a standard custom element, you don't have to worry about framework silos.
Looking back at it made us realize that this could be something that would be good for others as well, so we desided to create a reusable component from it.
Why You’ll Love Using It
The beauty of this editor is that it’s "plug and play" in the truest sense.
- Framework Agnostic: Whether you are using React, Angular, Svelte, or even just a plain HTML file with no framework at all, you can drop in the
<tiptap-editor> tag and it just works.
- Slash Commands & Blocks Bubble menu and Drag and Drop: Just like Notion, you can type
/ to pull up a menu of blocks.
It makes structured content creation feel like a breeze rather than a chore.
- Lightweight & Fast: Thanks to Lit’s tiny footprint, the editor is incredibly fast, keeping your bundle sizes small and your lighthouse scores high.
Bridging the Gap
By integrating this editor into the Roq ecosystem, we’ve effectively turned a static site generator into a dynamic content powerhouse.
You can edit your posts in a beautiful UI, and when you're done, Roq handles the "static" magic.
It’s about giving developers the best of both worlds: the reliability of a static site and the seamless user experience of a dynamic CMS.
Ready to give it a spin?
Head over to the tiptap-lit-editor GitHub repo and see how easy it is to add a world-class editing experience to your next project!
-
Announcing New Keycloak UI Component Libraries!
We're excited to announce the release of two new npm packages designed to supercharge your Keycloak customization efforts.
These React component libraries, built on top of PatternFly, provide the essential building blocks for crafting account and admin consoles.
The packages are:
@keycloak/keycloak-admin-ui
This package provides the building blocks for creating a Keycloak admin console.
@keycloak/keycloak-account-ui
This package provides the building blocks for creating a Keycloak account console.
@keycloak...
Read more
06 October 2023
-
Keycloak metrics
In the new design of the admin ui of keycloak we wanted to include a dashboard with some statitics, why, because dashboards are cool and they look nice 😊
We could add even more gauges and graphs of course, but why not use something that is already there like Prometeus and Grafana.
Aerogear has a SPI that exposes a Pormetheus /metrics endpoint and a Grafana dashboard to go with it so let's install that:
cd...
Read more
13 July 2022
-
Microservices Frontends
UPDATE 5 Apr
added link to the source of the "stitching layer" layer and it contains links to the other services
The microservices mentioned in my previous post use the vertx event bus to communicate with each other.
An event bus is of course a great way to separate services and have them coupled loosely.
I've used the same technique for the webcomponents the carousel emits an event for the current photo...
Read more
18 December 2019
-
Microservices Frontends
So this is turning into a bit of a series.
If you haven't read my other posts on this have a look at those first first second.
As I told in my previous post I set out to build webcomponents that would expose all the functionality of each service.
We have 3 microservices
Photo Service
Right now this service doesn't have any photos just photoId, name and category.
So I created a PR...
Read more
16 December 2019
-
Microservices Frontends and Quarkus
So I've been involved with Quarkus especially their code generator site code.quarkus.io.
Now I'm impressed with this project and I think it could be really big.
Java is, for a lot of companies, a language that they invested big in, but for making microservices not ideal, due to the larger memory footprint.
With quarkus, this and startup time, has been reduced dramatically.
I still see some problems with putting front-ends...
Read more
14 November 2019
-
Microservices Frontends
We've been working on what we call "the launcher".
For those of you that don't know what "the launcher" is about let me introduce it quickly.
The idea behind "the launcher" is to make it easier for developers to get started building micro services.
It does that by setting you up with a project that is fully configured to be build and deployed on Openshift.
Things like...
Read more
07 January 2019
-
New blog
I didn't blog for a long time, in order to get some enthusiasm and new intrest in blogging the logical thing to do is migrate your blog ;)
That way your blog is something more then just writing, but something that you can enjoy (at least I can).
And here you have it my new blog, I've moved away from blogger and are now blogging using github pages.
Like I said it's just...
Read more
22 August 2016
-
Windows iOS and Android Bridge
With the introduction of Windows 10, Microsoft announced that there will support running iOS and Android applications. Now why Microsoft would try and build something like that is clear, Windows Phone is not getting that much traction and the reason for that is because there aren't that much apps. And developers don't build for Windows Phone because of it's market share a catch 22. So to break this they try to make...
Read more
18 August 2015
-
Running Feedhenry AppForms on Windows 8.1
In order to use Feedhenry AppForms on Windows 8.1 we need to build them locally. Not only that, but you'll need to add a compat script in order to have support for dynamic content. I've created a script that shows all the steps
# Clone an existing Feedhenry forms app
git clone <Feedhenry forms app>
APP_NAME=forms
# Create a new cordova project using the HTML, CSS and JavaScript of the forms...
Read more
09 July 2015
-
Windows 10 for Developers
It's been a while since Windows 10 started it first preview releases and now the release date is approaching (29 July), it's time for me to find out what it's all about especially from a developers point of view. So the biggest change is going to be that there is no longer a need for 2 different binaries, the same code will run on windows desktop tablet and phone (and even xbox...
Read more
03 July 2015
-
Cordova Push plugin 1.0.2 released
We have released a new version of the cordova push plugin the new version 1.0.2 a new feature is support for external configuration. Now instead of using code you can store the variantId and secrets into a separate json file. With more platforms support coming this will not pollute your code anymore.
Check out the 1.0.x branch to give it a spin. Here are the release notes:
Bug
[AGCORDOVA-36] - Make...
Read more
27 October 2014
-
AeroGear Cordova Push Plugin release
Hi all,
After testing and finding some small issues we are happy to announce that the 1.0.0 version of the Cordova push plugin has been released. Thanks to everyone for testing and making this release happen.
We now have support for background notifications, have a look at the quickstarts for use of this feature.
Release Notes - AeroGear Cordova - Version push-1.0.0
Bug
[AGCORDOVA-26] - When app is in background notifications no...
Read more
27 August 2014
-
Pushplugin 0.6.0 released
A new version of the push plugin (0.6.0) has been released. It now uses the latest push sdks and has a better test suite. Although we have plans to make the tests even better. The full list of changes is:
Bug
[AGCORDOVA-16] - Should fail gracefully if not configured
fix a bug with the foreground/isInline flag
fix bug with android not sending cached message
Feature Request
[AGCORDOVA-4] - Use latest aerogear-android...
Read more
11 July 2014
-
Improved Cordova Android plugin API
Cordova has a nice API for creating your own plugins. When you need to do something in native code, (for improved speed or security) or need to access some hardware, you can create your own plugin. Our team is concentrating on Android and iOS at the moment and one thing that I noticed is how different the API is between those 2 platforms.
For instance creating a Echo plugin on iOS that has a method...
Read more
08 July 2014
-
iOS development without a mac
So as you all know you don't need to know any objective-c to build great looking iOS apps. You can build them using HTML5 and javascript, but you still needed a mac to build it into an app and put it into the Appstore. With the introduction of phonegap build that was over you could build it in the cloud and test it on a device.
This is all good and nice but...
Read more
13 May 2014
-
Simplifying AeroGear Cordova Push Plugin
The whole idea to create our own Push Plugin was to Simplify things. Because when we use the UnifiedPush Server we can do with a lot less platform specific configuration. But after some user feedback I've decided to change the API to make it even simpler to get started and more user friendly.
The API now looks like this:
var pushConfig = {
// senderID is only used in the Android/GCM case
senderID: "<senderID...
Read more
03 March 2014
-
Unified Push just got more Unified
You probably know that we have a Unified Push server that enables you to notify multiple clients (e.g. Apple, Android and Web) using the same notification. We have had requests in the past to add Java client. I thought how hard could it be and had a go at it.
So for the web we use Simple Push, that is based on the work that Mozilla did. Our implementation of the Simple Push server...
Read more
15 January 2014
-
AeroGear Crypto Plugin
One of our feature that is nearing completion is crypto. Even though we have Javascript support for this feature, we decided that we would create a Cordova Plugin for this as well. With a Plugin we can use the native libraries and by doing so we add a bit more security and more importantly we improve speed. I've tried to stay as close as possible to the Javascript API, but Cordova demands us to...
Read more
15 November 2013
-
AeroGear Cordova Geo (fencing) tools
A cool thing about mobile device is that it is mobile it's a computer that you take with you. That is why we developed a Cordova plugin to make geo location inside your Cordova application easier. The first thing we did is to create some Javascript to easily create some maps that are mobile optimised and have some convenient functions for typical use cases. For instance have a map that shows where the device...
Read more
01 November 2013
-
DevTools
All of my javascript colleges already knew this probably, but I just found out today that the DevTools on Chrome Canary are so great that you can use it as IDE. They have added a way to save files to disk and automatic reload. So what I used to do is load up an page and change the css styles in the inspector because it didn't look right. Then copy those changes and put...
Read more
24 October 2013
-
AeroGear Cordova
We support developers that want to use Cordova to develop mobile apps. We already have a lot of documentation on how to get started with Cordova on our site. Now we've added some specialised plugins to start using AeroGear functionality in a Cordova project.
The OTP (One Time Password) Cordova plugin with integrated barcode scanner
With this plugin you can make your logins much more secure generate a QR code on the server and...
Read more
10 October 2013
-
Good times
When I started with programming in 1998 there were still companies that invested in their own libraries. Finding help with things online was still hard. We were building state of the art software with the newly released struts. Inventing our maven based on ant with CVS, and our own OR mapping tool of course. Java guys love building frameworks.
Nowadays developers have it easy compared to back then, there is no functionality you can come...
Read more
07 October 2013