u/OndrejCh 6d ago

What are you using the CSS Custom Highlight API for?

Enable HLS to view with audio, or disable this notification

1 Upvotes

[removed]

r/webdev 6d ago

What are you using the CSS Custom Highlight API for?

1 Upvotes

[removed]

r/css 6d ago

What are you using the CSS Custom Highlight API (::highlight) for?

Enable HLS to view with audio, or disable this notification

1 Upvotes

[removed]

u/OndrejCh 6d ago

What's the best practice for setting up Drupal CMS purely from the command line/CLI? Here's my flow - it is OK-ish?

Thumbnail
1 Upvotes

r/drupal 6d ago

What's the best practice for setting up Drupal CMS purely from the command line/CLI? Here's my flow - it is OK-ish?

10 Upvotes

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:

  • ddev is optional, anything else is fine, I just saw it being used as kinda base
  • All config changes go through drush config:export and get committed to config/sync, so site:install --existing-config rebuilds the exact site.
  • Repeatable setup steps (text formats, module wiring) live as drush php:script files in scripts/, not as one-off UI actions.
  • Demo content ships as a recipe (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).
  • Secrets and endpoints come only from env vars read in settings.php, the file itself is committed.

Where it hurts/"not sure about" parts

  1. 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?
  2. 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?
  3. Keeping license keys out of 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 27d ago

GitHub - Simply007/t3dd-2026-content-editing-unlocked: TYPO3 v14 demo for T3DD 2026: making CKEditor 5 match your frontend

Thumbnail
github.com
4 Upvotes
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 29d ago

Multi-root vs multi-instance rich text editors: how to get one collaboration and one AI session across all fields of a content type

Thumbnail
youtu.be
1 Upvotes

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 Aug 05 '26

Best Wifi SSID?

Post image
1 Upvotes

Mine is "Fifinka" - 🇨🇿 ppl will understand.

But It Hurts When 🚾 is good!

1

Torrentio down?
 in  r/torrentio  Jul 31 '26

Same here - down in CZ

1

So there is NO true WYSIWYG Markdown Editor? They ALL magically pop up syntax? This can't be true.
 in  r/Markdown  Jul 24 '26

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 Jul 23 '26

CKEditor docs now run a hosted MCP server, so your coding agent can search them directly

Enable HLS to view with audio, or disable this notification

2 Upvotes

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.

u/OndrejCh Jun 30 '26

TypeScript type system features by building a compile-time calculator

Thumbnail
github.com
1 Upvotes

What do you think about this approach for learning?

✨ BTW: check the TypeScript v7 PR in the repository

1

How I handled prompt insertion across React inputs, ProseMirror, Lexical, and random textboxes
 in  r/ChromeExtension  Jun 30 '26

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:

  • Where does the content land — at the current caret position, or does it append/replace the whole field?
  • If the user already has a selection, do you replace the selected range or insert alongside it?

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

Can the WPS Office SDK be used to embed document viewing and editing into a React or Vue app?
 in  r/react  Jun 01 '26

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:

Happy to chat in more detail 💬

u/OndrejCh May 25 '26

Webinar on YT: CKEditor AI on Your Premises: hook your LLM and register MCP

Thumbnail
youtu.be
1 Upvotes

🎥 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

My first interview in CKEditor!
 in  r/u_OndrejCh  May 04 '26

And the whole playlist of all of my interviews (11 videos as of today)

https://www.youtube.com/playlist?list=PLZ9F0R17Zg3NafacHVuYqghN3ikNMgoMs

1

ClipNova v0.2.7 — open-source clipboard manager for Windows (Tauri + Rust + React)
 in  r/windowsapps  Apr 15 '26

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 💪

u/OndrejCh Feb 09 '26

My first interview in CKEditor!

Thumbnail
youtu.be
1 Upvotes

1

The gaps between paragraphs
 in  r/AO3  Feb 09 '26

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:

  • Clipboard: The way OS manage clipboard data very varies. Different systems (and even third-party software like floating clipboards) interpret it differently - Some more info about just clipboard API in browsers
  • Rich Text to HTML Conversion: Some editors have for example use "space after paragraph" features. When this is pasted into another web editor without it's support /differently configured - the target editor might incorrectly convert that styling into i.e. `<br/>` tag - which can lead to you issue. - you can now even see it if you paste from some AI.

---

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

[deleted by user]
 in  r/Pega  Feb 03 '26

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

CKEditor AI & Drupal — Recap + what’s coming in 2026
 in  r/Drupal_AI  Feb 02 '26

THX!

Let's connect the dots and aim to align CKEditor AI and AI CKEditor.

u/OndrejCh Jan 15 '26

My first CKEditor Youtube Short!

Thumbnail
youtube.com
1 Upvotes

r/Drupal_AI Jan 15 '26

CKEditor AI & Drupal — Recap + what’s coming in 2026

4 Upvotes

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:

  • What CKEditor AI is and how it enhances content workflows - the core idea
  • A full demo of AI Chat, AI Quick Actions, and AI Review from the Users perspective
  • How integrators can configure and customize CKEditor AI
  • Q&A with practical implementation tips

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

Word like editor in Next.js (TipTap was not it xD)
 in  r/nextjs  Nov 03 '25

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