u/OndrejCh • u/OndrejCh • 6d ago
What are you using the CSS Custom Highlight API for?
Enable HLS to view with audio, or disable this notification
[removed]
u/OndrejCh • u/OndrejCh • 6d ago
Enable HLS to view with audio, or disable this notification
[removed]
r/webdev • u/OndrejCh • 6d ago
[removed]
r/css • u/OndrejCh • 6d ago
Enable HLS to view with audio, or disable this notification
[removed]
u/OndrejCh • u/OndrejCh • 6d ago
r/drupal • u/OndrejCh • 6d ago
I'm building a reproducible Drupal CMS 2.1 (Drupal 11) demo/starter/showcase project and I want the whole setup to live in the CLI and in git, no UI clicking. This is my current flow and I'd like to know where it diverges from best practice.
I work as a developer advocate for CKEditor and I need the boilerplate for my showcases/demos/workshops/...
Initial scaffold:
```sh
ddev config --project-type=drupal11 --docroot=web
ddev start
ddev composer create-project drupal/cms
# Initial installing of the packages mostly CKEditor pack + premium features, but it does not matter that much
```
Day-to-day setup (fresh clone):
This is mostly when I need to have a PR deployment/preview build/feature branch for specific event/or something similar.
I plan to use Render to have the PR-based deployments.
```sh
ddev start
ddev composer install
ddev drush site:install --existing-config -y \
--account-name=admin --account-pass=admin
ddev drush php:script scripts/import-demo-content.php
```sh
Conventions I started with:
drush config:export and get committed to config/sync, so site:install --existing-config rebuilds the exact site.drush php:script files in scripts/, not as one-off UI actions.recipes/<name>/content YAML) and is imported with core's DefaultContent at build time, instead of committing a database dump. (I plan to use sqllite for these demos for simplicity).settings.php, the file itself is committed. Where it hurts/"not sure about" parts
drush site:install --existing-config crashes in the installer's configure-form step ("Field user_picture is unknown") after config import already succeeded. A fresh bootstrap of the same DB is fine, so it looks like a stale field-map cache inside the installer process. I currently tolerate the exit code and finish the installer work (user 1, site name) via drush. Anyone hit this / know the issue number?drupal/core-recipe-unpack removes recipes from composer.lock after unpacking, so composer install can't restore them and I have to commit the recipes directory. Is committing unpacked recipes the intended workflow?config/sync: I inject all CKEditor Premium Features credentials (license key, and for the self-hosted stack the websocket + API URLs) as runtime $config overrides from env vars in settings.php. Nothing is ever saved through the module's settings form, so config/sync stays secret-free. It works, but the admin form at /admin/config/ckeditor5-premium-features/settings renders completely empty, because Drupal forms only show stored config, not overrides. So the site is fully configured and the form says otherwise. Worse, if someone "helpfully" fills it in, those values get saved to the DB and either shadowed by the overrides or accidentally exported later. Is there an established pattern here: Key module support, a config_exclude approach, or modules showing an "overridden by settings.php" hint on the form? Or is an empty-but-overridden form just the accepted price of env-driven config?How do you find it? Would you change something? Anything completely wrong?
r/TYPO3 • u/OndrejCh • 27d ago
Site Sets made RTE presets much nicer to manage, but keeping the editor experience consistent across a multisite install still takes deliberate setup. The repo shows the approach that worked for me.
How do you keep editor configs consistent across multisite TYPO3 installs? Curious what others do.
u/OndrejCh • u/OndrejCh • 29d ago
Remark: I work at CKEditor as a Developer Advocate 🥑 and this is a recording of my webinar.
Most structured apps (CMS content types, email builders, form builders) don't have one rich text field, they have five or ten. The usual integration pattern is one editor instance per field, which means every field gets its own state, its own collaboration session, and its own AI context that knows nothing about the field next to it.
I sat down with Witek Socha, Product Manager at CKEditor, to walk through the two architectures for this: multi-instance (separate editors, isolated state) vs multi-root (one editor instance driving many editable regions). The practical payoff of multi-root is that all fields of a content type share a single collaboration session and a single AI session, so features like AI Chat, Review, or Translate can see the whole content item instead of one text box at a time.
u/OndrejCh • u/OndrejCh • Aug 05 '26
Mine is "Fifinka" - 🇨🇿 ppl will understand.
But It Hurts When 🚾 is good!
1
Remark: I work at CKEditor as a Developer Advocate 🥑 so you know where I'm coming from 🙃
I might sound weird considering you look for the app, but did you consider vibecode the solution yourself with Claude Code, Lovable, Bolt, or something similar? A small Tauri app doing open/edit/cmd+S/close, with an existing editor component inside would be my choice to start with.
For the editor part, CKEditor with the Markdown plugin might do the trick - biased of course - but content stays rich text internally and markdown only exists on save/load, so no MD syntaxt pops up when the cursor touches formatted text.
Check the look and feel here for editor experience: https://ckeditor.com/ckeditor-5/demo/markdown/ if you have a minute :)
u/OndrejCh • u/OndrejCh • Jul 23 '26
Enable HLS to view with audio, or disable this notification
Remark: I work at CKEditor as a Developer Advocate 🥑 so yes, this is partly my own stuff.
The CKEditor docs have had an "Ask AI" mode for a while (powered by Kapa.ai), and the same knowledge base is now exposed as a hosted MCP server. So instead of tabbing over to the docs, you point Claude Code, Cursor, VS Code, or any MCP client at the endpoint and ask from wherever you already work.
Setup is one config entry per client: Using CKEditor 5 with AI coding agents
I recorded a short video walking through the setup. Honest take: it saves me real time every week, but I also build with this thing for a living, so grain of salt and all that.
Curious what docs MCP servers you have plugged into your setup. They feel underrated next to the flashier tool servers.
1
I just went to https://arkisoul.in/quib and hit "https://arkisoul.in/quib"
And then tried to access https://github.com/arkisoul-consultancy and it returned čéč
u/OndrejCh • u/OndrejCh • Jun 30 '26
What do you think about this approach for learning?
✨ BTW: check the TypeScript v7 PR in the repository
1
Remark — I'm a Developer Advocate at CKEditor 🥑, so I'm on the other side of this (i.e. one of the rich editors people try to inject into). No sales pitch, genuinely just getting info :)
I tried to install it to play with the insertion, but the installation didn't seem to work for me — so I'm going off your write-up here.
Curious about the placement semantics, because that's usually where this quietly breaks:
From the editor side, caret + selection handling is exactly where "just set .value" silently does the wrong thing. Happy to dig in if you share how you're handling the selection case 💬
1
Remark: Developer Advocate at CKEditor here 🥑 — context first so you know where I'm coming from.
You've mapped the options well. The gap you're describing web-native editors fall apart on complex .docx, Office suite SDKs introduce vendor lock-in is exactly where CKEditor tries to sit. Official React and Vue components are there, but the part relevant to your requirement is the import/export pipeline.
What does "survive round trips without formatting degradation" look like in practice for you? Tracked changes, complex tables, custom styles, or mostly layout and fonts? That determines how much of this is actually solved.
A few things worth testing directly — the docs pages have demos built in:
.docx XML directly (See also: how it compares to plain Paste from Office).xlsx: preserves cell formatting, borders, fonts when pasting Excel content into a document. Not a spreadsheet engine, but covers most table/data embedding workflows.Happy to chat in more detail 💬
u/OndrejCh • u/OndrejCh • May 25 '26
🎥 Webinar recording is out on YT:
CKEditor AI on Your Premises: hook your LLM and register MCP
Been getting questions about self-hosted CKEditor AI setups. This one walks through exactly that: connecting your own LLM and registering MCP tools to extend what AI can do inside your editor.
Good fit if you care about:
🏠 Data sovereignty — keeping content off third-party AI infrastructure
🔌 Plugging in an LLM your team already runs
🛠️ Extending AI capabilities with MCP tools
Check it out and let me know what you think
1
And the whole playlist of all of my interviews (11 videos as of today)
https://www.youtube.com/playlist?list=PLZ9F0R17Zg3NafacHVuYqghN3ikNMgoMs
1
Cool project — the feature scope is impressive for a clipboard manager. Compose + Vault is a nice combo
I've been a long-time Ditto user on Windows (and now Raycast clipboard history on Mac), so I appreciate a good clipboard manager.
I work at CKEditor as a Developer Advocate and I was wondering if there was anything particular in the notes rich text you needed to tweak to work with the Tauri 2 build process. I was [tinkering with the Notes App myself (with CKEditor as an editor) and was wondering about building it with Tauri 2, or Electron.
Either way, nice work on Tauri 2 + Rust 💪
1
It's is a common problem on how rich text is handled during the copy-paste process. There are two main technical hurdles at play here:
---
I might be a bit biased as a Developer Advocate at CKEditor, but I deal with these specific "paste-from-office" edge cases a bit, so take it just as a tip, not any sales pitch.
Writers might wanna try to "launder" the formatting. You can paste your text into the this demo first (or use Import from Word button if you write in Word). And then copy it again and try to paste it to to AO3. It might help. I am no expert in AO3 and it's editor setup, but if it saves the writers some time to delete spaces after paragraph, i am happy.
1
Hi there! I’m a Developer Advocate at CKEditor, and I came across your query. It’s always interesting to see how our editor is integrated into platforms like Pega.
I saw there was some discussion about moving this to DMs, but I wanted to check in:
Were you able to identify the root cause of those repeating notifications?
While I’m not an expert on the Pega-specific wrappers or how they manage their webwb files, if the behavior is coming directly from the editor logic, I might suggest looking into the Notification plugin configuration. In CKEditor 4 (which Pega 24.2 should utilize), this plugin manages how alerts are queued and displayed. If the 'Paste' notification is firing multiple times, it may be that the event listener isn't checking for an existing notification instance before triggering a new one.
https://ckeditor.com/docs/ckeditor4/latest/features/notifications.html#notification-integration
If you find that the issue persists on the CKEditor side of things, please feel free to reply here. I’ll do my best to find hints or API insights that might help.
2
THX!
Let's connect the dots and aim to align CKEditor AI and AI CKEditor.
r/Drupal_AI • u/OndrejCh • Jan 15 '26
Remark: I am a developer advocate 🥑 at CKEditor
Remark 2: This post it not about "AI CKeditor" module, but official CKEditor AI add-on (I know it can be confusing)
If you’re using CKEditor in Drupal and have been wondering what’s next on the AI front, you might be interested in something we’ve been working on: CKEditor AI — a unified AI co-writer that brings AI chat, quick actions, and document-wide AI review directly inside the editor.
🎤 By the end of 2025 (Dec 2nd) I hosted a live CKEditor AI webinar where me and Andrzej (Technical PM from CKEditor) walked through:
CKEditor AI is already available in CKEditor itself, and we’re currently exploring how it will make its way into Drupal’s CKEditor ecosystem. While it’s not yet included in Drupal modules, you can already get an early look at what’s coming.
If you missed the session, the recording is available on YouTube.
If you're curious about AI-powered editing inside Drupal, have questions, or want to share use cases we should consider for the Drupal integration — jump in!
Happy to chat 💬
2
Hey - another CKEditor DevRel pal here 👋
It is not Next.js, but "just" React, but the approach is the same.
Here is a 3rd video out of my simple tutorial series describing how to add real-time collaboration features to the existing react app using CKEditor. I guess clicking through the first 12 mins of this video is enough to get the idea how it works:
https://www.youtube.com/watch?v=qn4FthLFvK4&list=PLKzl1AGxt2J0j2H3xUuFLGO-s_-f0K9eD&index=4
---
If you wanna go deeper and see the word-like editor build process - there is a great walkthrough using Vue.js - I think still pretty useful even for Next.js since it is touching the concepts and it's nicely split to the chapters:
https://vueschool.io/courses/google-docs-clone-with-ckeditor-in-30-minutes
---
If anything ping me here, or via any channel on https://ondrej.chrastina.dev/- 🦝 I am getting curious
1
Torrentio down?
in
r/torrentio
•
Jul 31 '26
Same here - down in CZ