ueberdosis/tiptap-php
PHP utilities for working with Tiptap: parse and validate ProseMirror/Tiptap JSON, render or transform documents, and build extensions-friendly pipelines on the backend. Ideal for Laravel apps needing server-side handling of rich-text editor content.
Pros:
highlight.php or Shiki (via Node.js), adding value for technical documentation or code-heavy applications.Cons:
CodeBlock). Teams relying on complex nested structures may need custom extensions or workarounds.highlight.php alternative is PHP-native but less feature-rich.Laravel Compatibility:
Tiptap::editor()), encapsulating editor configurations.Database Considerations:
content_json, plain_text) and reconstruct objects on demand.jsonb in PostgreSQL) for efficient querying.sanitize() or batch processing.Caching:
Cache::remember).highlight.php for simpler use cases.descendants() traversals could be slow. Profile and optimize with lazy loading or chunked processing.highlight.php sufficient?sanitize().sanitize() in a batch job to convert legacy content.content_json column).npm ci in CI/CD to pin versions.composer require.composer require ueberdosis/tiptap-php.publish:vendor or create a config file.$app->singleton(TiptapEditor::class, function ($app) {
return new \Tiptap\Editor(['extensions' => [new \Tiptap\Extensions\StarterKit]]);
});
$html = $request->input('content');
$json = app(TiptapEditor::class)->setContent($html)->getJSON();
CodeBlockShiki) with Node.js configured in CI/CD.highlight.php or Shiki versions in composer.json/package.json.config or environment variables for runtime configurations (e.g., Shiki theme).getJSON() to inspect parsed structures and compare with Tiptap.js outputs.How can I help you explore Laravel packages today?