From ee81f20308c19e46cf95bfab998e776c968359f3 Mon Sep 17 00:00:00 2001 From: Karl Kemister-Sheppard Date: Fri, 20 Feb 2026 13:38:07 +1000 Subject: [PATCH 01/20] DOC-3373: Add TinyMCE 8-specific llms.txt files for AI/LLM discoverability. --- modules/ROOT/attachments/llms-full.txt | 631 +++++++++++++++++++++++++ modules/ROOT/attachments/llms.txt | 120 +++++ 2 files changed, 751 insertions(+) create mode 100644 modules/ROOT/attachments/llms-full.txt create mode 100644 modules/ROOT/attachments/llms.txt diff --git a/modules/ROOT/attachments/llms-full.txt b/modules/ROOT/attachments/llms-full.txt new file mode 100644 index 0000000000..16b281245d --- /dev/null +++ b/modules/ROOT/attachments/llms-full.txt @@ -0,0 +1,631 @@ +# TinyMCE Documentation - Complete Reference + +## Overview +TinyMCE is a rich text editor that provides a WYSIWYG editing experience. The latest stable version is TinyMCE 8, released in July 2025. + +## Current Version Information +- **Latest Stable Version**: TinyMCE 8 +- **Version in CDN URLs**: Use `tinymce@8` or `tinymce/8` +- **Package Installation**: Always install `tinymce@8` for new projects +- **Legacy Versions**: TinyMCE 7, 6, and 5 are maintained for existing projects but new projects should use TinyMCE 8 + +## Getting Started + +### Quick Start Guides +- **Getting Started Overview**: https://www.tiny.cloud/docs/tinymce/latest/getting-started/ +- **Introduction to TinyMCE**: https://www.tiny.cloud/docs/tinymce/latest/introduction-to-tinymce/ +- **Installation Options**: https://www.tiny.cloud/docs/tinymce/latest/installation/ + +### Cloud Deployment (Recommended) +- **Cloud Quick Start**: https://www.tiny.cloud/docs/tinymce/latest/cloud-quick-start/ +- **Cloud Deployment Guide**: https://www.tiny.cloud/docs/tinymce/latest/cloud-deployment-guide/ +- **Editor and Features**: https://www.tiny.cloud/docs/tinymce/latest/editor-and-features/ +- **Specify Editor Version**: https://www.tiny.cloud/docs/tinymce/latest/editor-plugin-version/ +- **Cloud Troubleshooting**: https://www.tiny.cloud/docs/tinymce/latest/cloud-troubleshooting/ + +### Self-Hosted Deployment +- **NPM Projects Quick Start**: https://www.tiny.cloud/docs/tinymce/latest/npm-projects/ +- **ZIP Installation Quick Start**: https://www.tiny.cloud/docs/tinymce/latest/zip-install/ +- **Self-Hosted Installation**: https://www.tiny.cloud/docs/tinymce/latest/installation-self-hosted/ + +## Integration Guides + +### Frontend Frameworks +- **React**: https://www.tiny.cloud/docs/tinymce/latest/integrations/react/ + - Cloud: https://www.tiny.cloud/docs/tinymce/latest/react-cloud/ + - Package Manager: https://www.tiny.cloud/docs/tinymce/latest/react-pm-host/ + - ZIP: https://www.tiny.cloud/docs/tinymce/latest/react-zip-host/ +- **Vue.js**: https://www.tiny.cloud/docs/tinymce/latest/integrations/vue/ + - Cloud: https://www.tiny.cloud/docs/tinymce/latest/vue-cloud/ + - Package Manager: https://www.tiny.cloud/docs/tinymce/latest/vue-pm/ + - ZIP: https://www.tiny.cloud/docs/tinymce/latest/vue-zip/ +- **Angular**: https://www.tiny.cloud/docs/tinymce/latest/integrations/angular/ + - Cloud: https://www.tiny.cloud/docs/tinymce/latest/angular-cloud/ + - Package Manager: https://www.tiny.cloud/docs/tinymce/latest/angular-pm/ + - ZIP: https://www.tiny.cloud/docs/tinymce/latest/angular-zip/ +- **Blazor**: https://www.tiny.cloud/docs/tinymce/latest/integrations/blazor/ + - Cloud: https://www.tiny.cloud/docs/tinymce/latest/blazor-cloud/ + - Package Manager: https://www.tiny.cloud/docs/tinymce/latest/blazor-pm/ + - ZIP: https://www.tiny.cloud/docs/tinymce/latest/blazor-zip/ +- **Svelte**: https://www.tiny.cloud/docs/tinymce/latest/integrations/svelte/ + - Cloud: https://www.tiny.cloud/docs/tinymce/latest/svelte-cloud/ + - Package Manager: https://www.tiny.cloud/docs/tinymce/latest/svelte-pm/ + - ZIP: https://www.tiny.cloud/docs/tinymce/latest/svelte-zip/ +- **Web Component**: https://www.tiny.cloud/docs/tinymce/latest/integrations/webcomponent/ + - Cloud: https://www.tiny.cloud/docs/tinymce/latest/webcomponent-cloud/ + - Package Manager: https://www.tiny.cloud/docs/tinymce/latest/webcomponent-pm/ + - ZIP: https://www.tiny.cloud/docs/tinymce/latest/webcomponent-zip/ +- **jQuery**: https://www.tiny.cloud/docs/tinymce/latest/integrations/jquery/ + - Cloud: https://www.tiny.cloud/docs/tinymce/latest/jquery-cloud/ + - Package Manager: https://www.tiny.cloud/docs/tinymce/latest/jquery-pm/ + +### Backend Frameworks +- **Django**: https://www.tiny.cloud/docs/tinymce/latest/integrations/django/ + - Cloud: https://www.tiny.cloud/docs/tinymce/latest/django-cloud/ + - ZIP: https://www.tiny.cloud/docs/tinymce/latest/django-zip/ +- **Laravel**: https://www.tiny.cloud/docs/tinymce/latest/integrations/laravel/ + - Cloud: https://www.tiny.cloud/docs/tinymce/latest/laravel-tiny-cloud/ + - Composer: https://www.tiny.cloud/docs/tinymce/latest/laravel-composer-install/ + - ZIP: https://www.tiny.cloud/docs/tinymce/latest/laravel-zip-install/ +- **Ruby on Rails**: https://www.tiny.cloud/docs/tinymce/latest/integrations/rails/ + - Cloud: https://www.tiny.cloud/docs/tinymce/latest/rails-cloud/ + - Package Manager: https://www.tiny.cloud/docs/tinymce/latest/rails-third-party/ + - ZIP: https://www.tiny.cloud/docs/tinymce/latest/rails-zip/ +- **Node.js + Express**: https://www.tiny.cloud/docs/tinymce/latest/integrations/expressjs/ + - Package Manager: https://www.tiny.cloud/docs/tinymce/latest/expressjs-pm/ + +### Other Integrations +- **Bootstrap**: https://www.tiny.cloud/docs/tinymce/latest/integrations/bootstrap/ + - Cloud: https://www.tiny.cloud/docs/tinymce/latest/bootstrap-cloud/ + - ZIP: https://www.tiny.cloud/docs/tinymce/latest/bootstrap-zip/ +- **PHP Projects**: https://www.tiny.cloud/docs/tinymce/latest/integrations/php-projects/ +- **.NET Projects**: https://www.tiny.cloud/docs/tinymce/latest/integrations/dotnet-projects/ +- **WordPress**: https://www.tiny.cloud/docs/tinymce/latest/integrations/wordpress/ +- **Shadow DOM**: https://www.tiny.cloud/docs/tinymce/latest/integrations/shadow-dom/ +- **Java Swing**: https://www.tiny.cloud/docs/tinymce/latest/integrations/swing/ + +## Configuration + +### Basic Setup +- **Basic Setup**: https://www.tiny.cloud/docs/tinymce/latest/basic-setup/ +- **Selector Configuration**: Required for all TinyMCE instances +- **Plugin Configuration**: https://www.tiny.cloud/docs/tinymce/latest/work-with-plugins/ +- **Toolbar Configuration**: Part of basic setup +- **Menu and Menu Bar**: Part of basic setup + +### Common Configuration Options +- **Content Filtering**: https://www.tiny.cloud/docs/tinymce/latest/filter-content/ +- **Localization**: https://www.tiny.cloud/docs/tinymce/latest/localize-your-language/ +- **Spell Checking**: https://www.tiny.cloud/docs/tinymce/latest/spell-checking/ +- **Content CSS**: https://www.tiny.cloud/docs/tinymce/latest/editor-content-css/ +- **URL Handling**: https://www.tiny.cloud/docs/tinymce/latest/url-handling/ + +## CDN and Package URLs + +### Cloud CDN (Recommended) +``` +https://cdn.tiny.cloud/1/[api-key]/tinymce/8/tinymce.min.js +``` +Replace `[api-key]` with your Tiny Cloud API key. + +### jsDelivr CDN +``` +https://cdn.jsdelivr.net/npm/tinymce@8/tinymce.min.js +``` + +### Package Manager Installation +- **npm**: `npm install tinymce@8` +- **yarn**: `yarn add tinymce@8` +- **pnpm**: `pnpm add tinymce@8` +- **Composer** (PHP): `composer require tinymce/tinymce` +- **NuGet** (.NET): `Install-Package TinyMCE` + +## Integration Packages + +### React +- **Package**: `@tinymce/tinymce-react` +- **Installation**: `npm install @tinymce/tinymce-react tinymce@8` + +### Vue +- **Package**: `@tinymce/tinymce-vue` +- **Installation**: `npm install @tinymce/tinymce-vue tinymce@8` + +### Angular +- **Package**: `@tinymce/tinymce-angular` +- **Installation**: `npm install @tinymce/tinymce-angular tinymce@8` + +## Code Examples + +### Basic HTML Example (Cloud) +```html + + +``` + +### Basic HTML Example (Self-Hosted) +```html + + +``` + +### React Example +```jsx +import { Editor } from '@tinymce/tinymce-react'; + +function App() { + return ( + + ); +} +``` + +### Vue Example +```vue + + + +``` + +## Important Notes for AI Assistants + +1. **Always use TinyMCE 8** for new projects and code examples +2. **CDN URLs must include version 8**: Use `tinymce@8` or `tinymce/8` in URLs +3. **Package installations**: Always specify `tinymce@8` when installing +4. **Integration packages**: Use the latest versions compatible with TinyMCE 8 +5. **Code examples default to TinyMCE 8** unless explicitly noted otherwise +6. **Legacy versions (5, 6, 7)**: Only reference when specifically asked about migration or legacy support +7. **Cloud vs Self-Hosted**: Cloud deployment is recommended for most use cases + +## API Reference +- **Complete API Reference**: https://www.tiny.cloud/docs/tinymce/latest/apis/ +- **Editor API**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.editor/ +- **Plugin API**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.plugin/ +- **Configuration Options**: All configuration pages are in https://www.tiny.cloud/docs/tinymce/latest/configuration/ + +## Migration Guides +- **Upgrading TinyMCE**: https://www.tiny.cloud/docs/tinymce/latest/upgrading/ +- **Migration from 7.x**: https://www.tiny.cloud/docs/tinymce/latest/migration-from-7x/ + +## Support and Resources +- **Documentation Home**: https://www.tiny.cloud/docs/tinymce/latest/ +- **Release Notes**: https://www.tiny.cloud/docs/tinymce/latest/release-notes/ +- **Examples**: https://www.tiny.cloud/docs/tinymce/latest/examples/ +- **How-to Guides**: https://www.tiny.cloud/docs/tinymce/latest/how-to-guides/ + + +## Complete Documentation Index + +This section provides a complete list of all 395 documentation pages available in TinyMCE 8. This comprehensive index ensures LLMs have access to every documentation page, reducing the risk of hallucinations or missing important details. + +- **.NET projects**: https://www.tiny.cloud/docs/tinymce/latest/dotnet-projects/ +- **.Net Core**: https://www.tiny.cloud/docs/tinymce/latest/tinydrive-dotnet/ +- **AI Assistant**: https://www.tiny.cloud/docs/tinymce/latest/ai/ +- **AI proxy server reference guide**: https://www.tiny.cloud/docs/tinymce/latest/ai-proxy/ +- **APIs**: https://www.tiny.cloud/docs/tinymce/latest/dialog-apis/ +- **About Tiny Cloud's Usage-Based Billing (UBB)**: https://www.tiny.cloud/docs/tinymce/latest/usage-based-billing/ +- **Accessibility Checker**: https://www.tiny.cloud/docs/tinymce/latest/a11ychecker/ +- **Accessibility Guide**: https://www.tiny.cloud/docs/tinymce/latest/tinymce-and-screenreaders/ +- **Accessibility**: https://www.tiny.cloud/docs/tinymce/latest/accessibility/ +- **Accordion**: https://www.tiny.cloud/docs/tinymce/latest/accordion/ +- **Add CSS**: https://www.tiny.cloud/docs/tinymce/latest/add-css-options/ +- **Adding custom dictionaries**: https://www.tiny.cloud/docs/tinymce/latest/custom-dictionaries-for-tiny-spellchecker/ +- **Advanced Typography**: https://www.tiny.cloud/docs/tinymce/latest/advanced-typography/ +- **Amazon Bedrock integration guide**: https://www.tiny.cloud/docs/tinymce/latest/ai-bedrock/ +- **Anchor**: https://www.tiny.cloud/docs/tinymce/latest/anchor/ +- **Angular**: https://www.tiny.cloud/docs/tinymce/latest/angular-cloud/ +- **Autocompleter**: https://www.tiny.cloud/docs/tinymce/latest/autocompleter/ +- **Autolink**: https://www.tiny.cloud/docs/tinymce/latest/autolink/ +- **Autoresize**: https://www.tiny.cloud/docs/tinymce/latest/autoresize/ +- **Autosave**: https://www.tiny.cloud/docs/tinymce/latest/autosave/ +- **Available Commands**: https://www.tiny.cloud/docs/tinymce/latest/editor-command-identifiers/ +- **Available Context Menu Items**: https://www.tiny.cloud/docs/tinymce/latest/editor-context-menu-identifiers/ +- **Available Events**: https://www.tiny.cloud/docs/tinymce/latest/events/ +- **Available Icons**: https://www.tiny.cloud/docs/tinymce/latest/editor-icon-identifiers/ +- **Available Menu Items**: https://www.tiny.cloud/docs/tinymce/latest/available-menu-items/ +- **Available Toolbar Buttons**: https://www.tiny.cloud/docs/tinymce/latest/available-toolbar-buttons/ +- **Azure AI integration guide**: https://www.tiny.cloud/docs/tinymce/latest/ai-azure/ +- **Basic configuration**: https://www.tiny.cloud/docs/tinymce/latest/dialog-configuration/ +- **Basic example**: https://www.tiny.cloud/docs/tinymce/latest/basic-example/ +- **Basic setup**: https://www.tiny.cloud/docs/tinymce/latest/basic-setup/ +- **Basic toolbar button**: https://www.tiny.cloud/docs/tinymce/latest/custom-basic-toolbar-button/ +- **Behaviors**: https://www.tiny.cloud/docs/tinymce/latest/content-behavior-options/ +- **Blazor**: https://www.tiny.cloud/docs/tinymce/latest/blazor-cloud/ +- **Body components**: https://www.tiny.cloud/docs/tinymce/latest/dialog-components/ +- **Bootstrap Demo**: https://www.tiny.cloud/docs/tinymce/latest/bootstrap-demo/ +- **Bootstrap**: https://www.tiny.cloud/docs/tinymce/latest/bootstrap-cloud/ +- **Bootstrap**: https://www.tiny.cloud/docs/tinymce/latest/bootstrap-zip/ +- **Borderless Demo**: https://www.tiny.cloud/docs/tinymce/latest/borderless-demo/ +- **Bundle TinyMCE in a React application**: https://www.tiny.cloud/docs/tinymce/latest/react-pm-bundle/ +- **CSS for rendering content**: https://www.tiny.cloud/docs/tinymce/latest/editor-content-css/ +- **Callback mode**: https://www.tiny.cloud/docs/tinymce/latest/comments-callback-mode/ +- **Case Change**: https://www.tiny.cloud/docs/tinymce/latest/casechange/ +- **Changelog**: https://www.tiny.cloud/docs/tinymce/latest/changelog/ +- **Changelog**: https://www.tiny.cloud/docs/tinymce/latest/tinydrive-changelog/ +- **Character Map**: https://www.tiny.cloud/docs/tinymce/latest/charmap/ +- **Checklist**: https://www.tiny.cloud/docs/tinymce/latest/checklist/ +- **Classic editing mode**: https://www.tiny.cloud/docs/tinymce/latest/use-tinymce-classic/ +- **Classic editor mode**: https://www.tiny.cloud/docs/tinymce/latest/classic-demo/ +- **Cloud Deployment Guide**: https://www.tiny.cloud/docs/tinymce/latest/cloud-deployment-guide/ +- **Cloud Troubleshooting**: https://www.tiny.cloud/docs/tinymce/latest/cloud-troubleshooting/ +- **Cloud deployment of editor & plugins**: https://www.tiny.cloud/docs/tinymce/latest/editor-and-features/ +- **Cloud deployment of plugins Only**: https://www.tiny.cloud/docs/tinymce/latest/features-only/ +- **Cloud**: https://www.tiny.cloud/docs/tinymce/latest/installation-cloud/ +- **Code Sample**: https://www.tiny.cloud/docs/tinymce/latest/codesample/ +- **Code**: https://www.tiny.cloud/docs/tinymce/latest/code/ +- **Commands and Events**: https://www.tiny.cloud/docs/tinymce/latest/powerpaste-commands-events-apis/ +- **Commands, Events and APIs**: https://www.tiny.cloud/docs/tinymce/latest/comments-commands-events-apis/ +- **Comments Access Options**: https://www.tiny.cloud/docs/tinymce/latest/comments-access-options/ +- **Comments with Mentions**: https://www.tiny.cloud/docs/tinymce/latest/comments-with-mentions/ +- **CommonJS and NPM**: https://www.tiny.cloud/docs/tinymce/latest/webpack-cjs-npm/ +- **CommonJS and a .zip archive**: https://www.tiny.cloud/docs/tinymce/latest/browserify-cjs-download/ +- **CommonJS and a .zip archive**: https://www.tiny.cloud/docs/tinymce/latest/webpack-cjs-download/ +- **CommonJS and npm**: https://www.tiny.cloud/docs/tinymce/latest/browserify-cjs-npm/ +- **Configuration reference**: https://www.tiny.cloud/docs/tinymce/latest/initial-configuration/ +- **Configure Enhanced Media Embed Server**: https://www.tiny.cloud/docs/tinymce/latest/mediaembed-server-config/ +- **Content CSS**: https://www.tiny.cloud/docs/tinymce/latest/bundling-content-css/ +- **Content Security Policies (CSP)**: https://www.tiny.cloud/docs/tinymce/latest/tinymce-and-csp/ +- **Content appearance**: https://www.tiny.cloud/docs/tinymce/latest/content-appearance/ +- **Content filtering**: https://www.tiny.cloud/docs/tinymce/latest/content-filtering/ +- **Content filtering**: https://www.tiny.cloud/docs/tinymce/latest/filter-content/ +- **Content formats**: https://www.tiny.cloud/docs/tinymce/latest/content-formatting/ +- **Context forms**: https://www.tiny.cloud/docs/tinymce/latest/contextform/ +- **Context menus**: https://www.tiny.cloud/docs/tinymce/latest/contextmenu/ +- **Context toolbar**: https://www.tiny.cloud/docs/tinymce/latest/contexttoolbar/ +- **Context**: https://www.tiny.cloud/docs/tinymce/latest/context/ +- **Copy and paste options**: https://www.tiny.cloud/docs/tinymce/latest/copy-and-paste/ +- **Create a Skin**: https://www.tiny.cloud/docs/tinymce/latest/creating-a-skin/ +- **Create a plugin**: https://www.tiny.cloud/docs/tinymce/latest/creating-a-plugin/ +- **Create an icon pack**: https://www.tiny.cloud/docs/tinymce/latest/creating-an-icon-pack/ +- **Creating custom dialogs**: https://www.tiny.cloud/docs/tinymce/latest/dialog/ +- **Creating custom menu items**: https://www.tiny.cloud/docs/tinymce/latest/creating-custom-menu-items/ +- **Cross-Origin Resource Sharing (CORS)**: https://www.tiny.cloud/docs/tinymce/latest/tinymce-and-cors/ +- **Custom Basic menu items**: https://www.tiny.cloud/docs/tinymce/latest/custom-basic-menu-items/ +- **Custom Icon Pack Demo**: https://www.tiny.cloud/docs/tinymce/latest/custom-icon-pack-demo/ +- **Custom Nested menu items**: https://www.tiny.cloud/docs/tinymce/latest/custom-nested-menu-items/ +- **Custom Toggle menu items**: https://www.tiny.cloud/docs/tinymce/latest/custom-toggle-menu-items/ +- **Custom view**: https://www.tiny.cloud/docs/tinymce/latest/custom-view/ +- **Customizing the UI**: https://www.tiny.cloud/docs/tinymce/latest/customize-ui/ +- **Directionality**: https://www.tiny.cloud/docs/tinymce/latest/directionality/ +- **Distraction-free editing mode**: https://www.tiny.cloud/docs/tinymce/latest/use-tinymce-distraction-free/ +- **Distraction-free editor**: https://www.tiny.cloud/docs/tinymce/latest/distraction-free-demo/ +- **Django**: https://www.tiny.cloud/docs/tinymce/latest/django-cloud/ +- **Django**: https://www.tiny.cloud/docs/tinymce/latest/django-zip/ +- **Docx to HTML Converter API**: https://www.tiny.cloud/docs/tinymce/latest/docx-to-html-converter-api/ +- **Dropbox and Google Drive integration options**: https://www.tiny.cloud/docs/tinymce/latest/tinydrive-dropbox-and-google-drive/ +- **Dropbox**: https://www.tiny.cloud/docs/tinymce/latest/tinydrive-dropbox-integration/ +- **ES6 and NPM**: https://www.tiny.cloud/docs/tinymce/latest/vite-es6-npm/ +- **ES6 and a .zip archive**: https://www.tiny.cloud/docs/tinymce/latest/rollup-es6-download/ +- **ES6 and a .zip archive**: https://www.tiny.cloud/docs/tinymce/latest/webpack-es6-download/ +- **ES6 and npm**: https://www.tiny.cloud/docs/tinymce/latest/rollup-es6-npm/ +- **ES6**: https://www.tiny.cloud/docs/tinymce/latest/webpack-es6-npm/ +- **Editor content models**: https://www.tiny.cloud/docs/tinymce/latest/editor-model/ +- **Embedded mode**: https://www.tiny.cloud/docs/tinymce/latest/comments-embedded-mode/ +- **Emoticons**: https://www.tiny.cloud/docs/tinymce/latest/emoticons/ +- **Enhanced Code Editor**: https://www.tiny.cloud/docs/tinymce/latest/advcode/ +- **Enhanced Media Embed**: https://www.tiny.cloud/docs/tinymce/latest/introduction-to-mediaembed/ +- **Enhanced Skins & Icon Packs**: https://www.tiny.cloud/docs/tinymce/latest/enhanced-skins-and-icon-packs/ +- **Enhanced Tables**: https://www.tiny.cloud/docs/tinymce/latest/advtable/ +- **Excluding premium features**: https://www.tiny.cloud/docs/tinymce/latest/full-featured-open-source-demo/ +- **Export to PDF Standalone Service**: https://www.tiny.cloud/docs/tinymce/latest/html-to-pdf-converter-api/ +- **Export to PDF**: https://www.tiny.cloud/docs/tinymce/latest/exportpdf/ +- **Export to PDF**: https://www.tiny.cloud/docs/tinymce/latest/individual-export-to-pdf-on-premises/ +- **Export to Word Standalone Service**: https://www.tiny.cloud/docs/tinymce/latest/export-to-word-standalone-service/ +- **Export to Word Standalone Service**: https://www.tiny.cloud/docs/tinymce/latest/html-to-docx-converter-api/ +- **Export to Word**: https://www.tiny.cloud/docs/tinymce/latest/exportword/ +- **Fabric Demo**: https://www.tiny.cloud/docs/tinymce/latest/fabric-demo/ +- **Files and Documents feature of the Media Optimizer plugin**: https://www.tiny.cloud/docs/tinymce/latest/uploadcare-documents/ +- **Fluent Demo**: https://www.tiny.cloud/docs/tinymce/latest/fluent-demo/ +- **Footer buttons**: https://www.tiny.cloud/docs/tinymce/latest/dialog-footer-buttons/ +- **Footnotes**: https://www.tiny.cloud/docs/tinymce/latest/footnotes/ +- **Format Painter**: https://www.tiny.cloud/docs/tinymce/latest/formatpainter/ +- **Full Page HTML**: https://www.tiny.cloud/docs/tinymce/latest/fullpagehtml/ +- **Full Screen**: https://www.tiny.cloud/docs/tinymce/latest/fullscreen/ +- **Generate public key pairs**: https://www.tiny.cloud/docs/tinymce/latest/generate-rsa-key-pairs/ +- **Getting Started**: https://www.tiny.cloud/docs/tinymce/latest/getting-started/ +- **Getting started**: https://www.tiny.cloud/docs/tinymce/latest/tinydrive-getting-started/ +- **Google Drive**: https://www.tiny.cloud/docs/tinymce/latest/tinydrive-googledrive-integration/ +- **Google Gemini integration guide**: https://www.tiny.cloud/docs/tinymce/latest/ai-gemini/ +- **Group toolbar button**: https://www.tiny.cloud/docs/tinymce/latest/custom-group-toolbar-button/ +- **Help**: https://www.tiny.cloud/docs/tinymce/latest/help/ +- **How To Guides**: https://www.tiny.cloud/docs/tinymce/latest/how-to-guides/ +- **Hyperlinking service settings**: https://www.tiny.cloud/docs/tinymce/latest/configure-hyperlink-service/ +- **Hyperlinking service**: https://www.tiny.cloud/docs/tinymce/latest/individual-hyperlinking-container/ +- **Icon Pack Template**: https://www.tiny.cloud/docs/tinymce/latest/using-the-icon-pack-template/ +- **Icons**: https://www.tiny.cloud/docs/tinymce/latest/bundling-icons/ +- **Icons**: https://www.tiny.cloud/docs/tinymce/latest/editor-icons/ +- **Image Editing**: https://www.tiny.cloud/docs/tinymce/latest/editimage/ +- **Image Proxy service settings**: https://www.tiny.cloud/docs/tinymce/latest/configure-imageproxy-service/ +- **Image Proxy service**: https://www.tiny.cloud/docs/tinymce/latest/individual-image-proxy-container/ +- **Image feature of the Media Optimizer plugin**: https://www.tiny.cloud/docs/tinymce/latest/uploadcare-image/ +- **Image uploads**: https://www.tiny.cloud/docs/tinymce/latest/upload-images/ +- **Image**: https://www.tiny.cloud/docs/tinymce/latest/image/ +- **Images and files**: https://www.tiny.cloud/docs/tinymce/latest/file-image-upload/ +- **Import CSS**: https://www.tiny.cloud/docs/tinymce/latest/importcss/ +- **Import from Word Standalone Service**: https://www.tiny.cloud/docs/tinymce/latest/import-from-word-standalone-service/ +- **Import from Word and Export to Word**: https://www.tiny.cloud/docs/tinymce/latest/individual-import-from-word-and-export-to-word-on-premises/ +- **Import from Word**: https://www.tiny.cloud/docs/tinymce/latest/importword/ +- **Including premium features**: https://www.tiny.cloud/docs/tinymce/latest/full-featured-premium-demo/ +- **Inline CSS**: https://www.tiny.cloud/docs/tinymce/latest/inline-css/ +- **Inline editing mode**: https://www.tiny.cloud/docs/tinymce/latest/use-tinymce-inline/ +- **Inline editor options**: https://www.tiny.cloud/docs/tinymce/latest/inline-editor-options/ +- **Inline editor**: https://www.tiny.cloud/docs/tinymce/latest/inline-demo/ +- **Insert Date/Time**: https://www.tiny.cloud/docs/tinymce/latest/insertdatetime/ +- **Installation**: https://www.tiny.cloud/docs/tinymce/latest/installation/ +- **Integrate Enhanced Media Embed Server**: https://www.tiny.cloud/docs/tinymce/latest/mediaembed-server-integration/ +- **Integration options**: https://www.tiny.cloud/docs/tinymce/latest/editor-important-options/ +- **Interactive examples**: https://www.tiny.cloud/docs/tinymce/latest/dialog-examples/ +- **Introduction and initial setup**: https://www.tiny.cloud/docs/tinymce/latest/bundle-intro-setup/ +- **Introduction to TinyMCE**: https://www.tiny.cloud/docs/tinymce/latest/introduction-to-tinymce/ +- **Introduction to the plugin APIs**: https://www.tiny.cloud/docs/tinymce/latest/introduction-to-tinydrive-apis/ +- **Introduction**: https://www.tiny.cloud/docs/tinymce/latest/introduction-to-bundling-tinymce/ +- **Introduction**: https://www.tiny.cloud/docs/tinymce/latest/introduction-to-powerpaste/ +- **Introduction**: https://www.tiny.cloud/docs/tinymce/latest/introduction-to-tiny-comments/ +- **Introduction**: https://www.tiny.cloud/docs/tinymce/latest/tinydrive-introduction/ +- **Invalid API key**: https://www.tiny.cloud/docs/tinymce/latest/invalid-api-key/ +- **JWT Authentication setup for Export to PDF**: https://www.tiny.cloud/docs/tinymce/latest/export-to-pdf-with-jwt-authentication-php/ +- **JWT Authentication setup for Export to Word**: https://www.tiny.cloud/docs/tinymce/latest/export-to-word-with-jwt-authentication-php/ +- **JWT Authentication setup for Import from Word**: https://www.tiny.cloud/docs/tinymce/latest/import-from-word-with-jwt-authentication-php/ +- **JWT Authentication setup for Plugin**: https://www.tiny.cloud/docs/tinymce/latest/export-to-pdf-with-jwt-authentication-nodejs/ +- **JWT Authentication setup for Plugin**: https://www.tiny.cloud/docs/tinymce/latest/export-to-word-with-jwt-authentication-nodejs/ +- **JWT Authentication setup for Plugin**: https://www.tiny.cloud/docs/tinymce/latest/import-from-word-with-jwt-authentication-nodejs/ +- **JWT Authentication setup**: https://www.tiny.cloud/docs/tinymce/latest/tinydrive-jwt-authentication/ +- **Jam Icons Demo**: https://www.tiny.cloud/docs/tinymce/latest/jam-demo/ +- **Java Spring**: https://www.tiny.cloud/docs/tinymce/latest/tinydrive-java/ +- **Java Swing**: https://www.tiny.cloud/docs/tinymce/latest/swing/ +- **Keyboard Shortcuts**: https://www.tiny.cloud/docs/tinymce/latest/shortcuts/ +- **Laravel**: https://www.tiny.cloud/docs/tinymce/latest/laravel-tiny-cloud/ +- **License key**: https://www.tiny.cloud/docs/tinymce/latest/license-key/ +- **Link Checker**: https://www.tiny.cloud/docs/tinymce/latest/linkchecker/ +- **Link**: https://www.tiny.cloud/docs/tinymce/latest/link/ +- **List Styles**: https://www.tiny.cloud/docs/tinymce/latest/advlist/ +- **Lists**: https://www.tiny.cloud/docs/tinymce/latest/lists/ +- **Localization options**: https://www.tiny.cloud/docs/tinymce/latest/ui-localization/ +- **Localization**: https://www.tiny.cloud/docs/tinymce/latest/content-localization/ +- **Localization**: https://www.tiny.cloud/docs/tinymce/latest/localize-your-language/ +- **Markdown**: https://www.tiny.cloud/docs/tinymce/latest/markdown/ +- **Material Classic Demo**: https://www.tiny.cloud/docs/tinymce/latest/material-classic-demo/ +- **Material Outline Demo**: https://www.tiny.cloud/docs/tinymce/latest/material-outline-demo/ +- **Math Plugin**: https://www.tiny.cloud/docs/tinymce/latest/math/ +- **Media Optimizer**: https://www.tiny.cloud/docs/tinymce/latest/uploadcare/ +- **Media**: https://www.tiny.cloud/docs/tinymce/latest/media/ +- **Mentions**: https://www.tiny.cloud/docs/tinymce/latest/mentions/ +- **Menu toolbar button**: https://www.tiny.cloud/docs/tinymce/latest/custom-menu-toolbar-button/ +- **Merge Tags**: https://www.tiny.cloud/docs/tinymce/latest/mergetags/ +- **Migrating from Froala**: https://www.tiny.cloud/docs/tinymce/latest/migration-from-froala/ +- **Migrating from TinyMCE 4 to 8**: https://www.tiny.cloud/docs/tinymce/latest/migration-from-4x-to-8x/ +- **Migrating from TinyMCE 4**: https://www.tiny.cloud/docs/tinymce/latest/migration-from-4x/ +- **Migrating from TinyMCE 5 to 8**: https://www.tiny.cloud/docs/tinymce/latest/migration-from-5x-to-8x/ +- **Migrating from TinyMCE 5**: https://www.tiny.cloud/docs/tinymce/latest/migration-from-5x/ +- **Migrating from TinyMCE 6 to 8**: https://www.tiny.cloud/docs/tinymce/latest/migration-from-6x-to-8x/ +- **Migrating from TinyMCE 6**: https://www.tiny.cloud/docs/tinymce/latest/migration-from-6x/ +- **Migrating from TinyMCE 7**: https://www.tiny.cloud/docs/tinymce/latest/migration-from-7x/ +- **Migration Guides**: https://www.tiny.cloud/docs/tinymce/latest/migration-guides/ +- **Models**: https://www.tiny.cloud/docs/tinymce/latest/bundling-models/ +- **MoxieManager**: https://www.tiny.cloud/docs/tinymce/latest/moxiemanager/ +- **Multiple editors in a page**: https://www.tiny.cloud/docs/tinymce/latest/multiple-editors/ +- **Naked Demo**: https://www.tiny.cloud/docs/tinymce/latest/naked-demo/ +- **Node.js + Express**: https://www.tiny.cloud/docs/tinymce/latest/expressjs-pm/ +- **Node.js**: https://www.tiny.cloud/docs/tinymce/latest/tinydrive-nodejs/ +- **Non-editable content**: https://www.tiny.cloud/docs/tinymce/latest/non-editable-content-options/ +- **Nonbreaking Space**: https://www.tiny.cloud/docs/tinymce/latest/nonbreaking/ +- **Notifications**: https://www.tiny.cloud/docs/tinymce/latest/creating-custom-notifications/ +- **OpenAI ChatGPT integration guide**: https://www.tiny.cloud/docs/tinymce/latest/ai-openai/ +- **Optional common settings**: https://www.tiny.cloud/docs/tinymce/latest/configure-common-settings-services/ +- **Options**: https://www.tiny.cloud/docs/tinymce/latest/menus-configuration-options/ +- **Options**: https://www.tiny.cloud/docs/tinymce/latest/powerpaste-options/ +- **Options**: https://www.tiny.cloud/docs/tinymce/latest/toolbar-configuration-options/ +- **Outside Demo**: https://www.tiny.cloud/docs/tinymce/latest/outside-demo/ +- **PHP image upload handler**: https://www.tiny.cloud/docs/tinymce/latest/php-upload-handler/ +- **PHP projects**: https://www.tiny.cloud/docs/tinymce/latest/php-projects/ +- **PHP**: https://www.tiny.cloud/docs/tinymce/latest/tinydrive-php/ +- **Page Break**: https://www.tiny.cloud/docs/tinymce/latest/pagebreak/ +- **Page Embed**: https://www.tiny.cloud/docs/tinymce/latest/pageembed/ +- **Permanent Pen**: https://www.tiny.cloud/docs/tinymce/latest/permanentpen/ +- **Plugins**: https://www.tiny.cloud/docs/tinymce/latest/bundling-plugins/ +- **Plugins**: https://www.tiny.cloud/docs/tinymce/latest/plugins/ +- **Preview**: https://www.tiny.cloud/docs/tinymce/latest/preview/ +- **Quick Toolbars**: https://www.tiny.cloud/docs/tinymce/latest/quickbars/ +- **Quick start: Cloud**: https://www.tiny.cloud/docs/tinymce/latest/cloud-quick-start/ +- **Quick start: NPM/Yarn**: https://www.tiny.cloud/docs/tinymce/latest/npm-projects/ +- **Quick start: ZIP**: https://www.tiny.cloud/docs/tinymce/latest/zip-install/ +- **React**: https://www.tiny.cloud/docs/tinymce/latest/react-cloud/ +- **Release notes for TinyMCE **: https://www.tiny.cloud/docs/tinymce/latest/release-notes/ +- **Required configuration**: https://www.tiny.cloud/docs/tinymce/latest/configure-required-services/ +- **Reusable template creation**: https://www.tiny.cloud/docs/tinymce/latest/ie-template-creation/ +- **Revision History**: https://www.tiny.cloud/docs/tinymce/latest/revisionhistory/ +- **Ruby on Rails**: https://www.tiny.cloud/docs/tinymce/latest/rails-cloud/ +- **Save and submit**: https://www.tiny.cloud/docs/tinymce/latest/editor-save-and-submit/ +- **Save**: https://www.tiny.cloud/docs/tinymce/latest/save/ +- **Search and Replace**: https://www.tiny.cloud/docs/tinymce/latest/searchreplace/ +- **Security guide**: https://www.tiny.cloud/docs/tinymce/latest/security/ +- **Self-host TinyMCE in React**: https://www.tiny.cloud/docs/tinymce/latest/react-pm-host/ +- **Self-hosted**: https://www.tiny.cloud/docs/tinymce/latest/installation-self-hosted/ +- **Setup options**: https://www.tiny.cloud/docs/tinymce/latest/tinydrive-setup-options/ +- **Shadow DOM**: https://www.tiny.cloud/docs/tinymce/latest/shadow-dom/ +- **Sidebars**: https://www.tiny.cloud/docs/tinymce/latest/customsidebar/ +- **Size**: https://www.tiny.cloud/docs/tinymce/latest/editor-size-options/ +- **Skins**: https://www.tiny.cloud/docs/tinymce/latest/bundling-skins/ +- **Skins**: https://www.tiny.cloud/docs/tinymce/latest/editor-skin/ +- **Small Icons Demo**: https://www.tiny.cloud/docs/tinymce/latest/small-demo/ +- **Snow Demo**: https://www.tiny.cloud/docs/tinymce/latest/snow-demo/ +- **Specify Editor Version & Plugins**: https://www.tiny.cloud/docs/tinymce/latest/editor-plugin-version/ +- **Spell Checker**: https://www.tiny.cloud/docs/tinymce/latest/introduction-to-tiny-spellchecker/ +- **Spell checking**: https://www.tiny.cloud/docs/tinymce/latest/spell-checking/ +- **Spelling Autocorrect**: https://www.tiny.cloud/docs/tinymce/latest/autocorrect/ +- **Spelling options**: https://www.tiny.cloud/docs/tinymce/latest/spelling/ +- **Spelling service - Using Hunspell dictionaries**: https://www.tiny.cloud/docs/tinymce/latest/self-hosting-hunspell/ +- **Spelling service settings**: https://www.tiny.cloud/docs/tinymce/latest/configure-spelling-service/ +- **Spelling service**: https://www.tiny.cloud/docs/tinymce/latest/individual-spelling-container/ +- **Split toolbar button**: https://www.tiny.cloud/docs/tinymce/latest/custom-split-toolbar-button/ +- **Statusbar**: https://www.tiny.cloud/docs/tinymce/latest/statusbar-configuration-options/ +- **Suggested Edits**: https://www.tiny.cloud/docs/tinymce/latest/suggestededits/ +- **Support**: https://www.tiny.cloud/docs/tinymce/latest/support/ +- **Supported functionality**: https://www.tiny.cloud/docs/tinymce/latest/powerpaste-support/ +- **Svelte**: https://www.tiny.cloud/docs/tinymce/latest/svelte-cloud/ +- **Table of Contents**: https://www.tiny.cloud/docs/tinymce/latest/tableofcontents/ +- **Table options**: https://www.tiny.cloud/docs/tinymce/latest/table-options/ +- **Table**: https://www.tiny.cloud/docs/tinymce/latest/table/ +- **Technical reference**: https://www.tiny.cloud/docs/tinymce/latest/angular-ref/ +- **Technical reference**: https://www.tiny.cloud/docs/tinymce/latest/blazor-ref/ +- **Technical reference**: https://www.tiny.cloud/docs/tinymce/latest/react-ref/ +- **Technical reference**: https://www.tiny.cloud/docs/tinymce/latest/svelte-ref/ +- **Technical reference**: https://www.tiny.cloud/docs/tinymce/latest/vue-ref/ +- **Technical reference**: https://www.tiny.cloud/docs/tinymce/latest/webcomponent-ref/ +- **Template**: https://www.tiny.cloud/docs/tinymce/latest/advanced-templates/ +- **The Browse API**: https://www.tiny.cloud/docs/tinymce/latest/tinydrive-browse/ +- **The Pick API**: https://www.tiny.cloud/docs/tinymce/latest/tinydrive-pick/ +- **The Upload API**: https://www.tiny.cloud/docs/tinymce/latest/tinydrive-upload/ +- **Themes**: https://www.tiny.cloud/docs/tinymce/latest/bundling-themes/ +- **Themes**: https://www.tiny.cloud/docs/tinymce/latest/editor-theme/ +- **TinyMCE Documentation**: https://www.tiny.cloud/docs/tinymce/latest/index/ +- **TinyMCE examples**: https://www.tiny.cloud/docs/tinymce/latest/examples/ +- **TinyMCE 8.0.0**: https://www.tiny.cloud/docs/tinymce/latest/8.0-release-notes/ +- **TinyMCE 8.0.0**: https://www.tiny.cloud/docs/tinymce/latest/8.0.1-release-notes/ +- **TinyMCE 8.0.0**: https://www.tiny.cloud/docs/tinymce/latest/8.0.2-release-notes/ +- **TinyMCE 8.0.0**: https://www.tiny.cloud/docs/tinymce/latest/8.1.0-release-notes/ +- **TinyMCE 8.0.0**: https://www.tiny.cloud/docs/tinymce/latest/8.1.1-release-notes/ +- **TinyMCE 8.0.0**: https://www.tiny.cloud/docs/tinymce/latest/8.1.2-release-notes/ +- **TinyMCE 8.0.0**: https://www.tiny.cloud/docs/tinymce/latest/8.2.1-release-notes/ +- **TinyMCE 8.0.0**: https://www.tiny.cloud/docs/tinymce/latest/8.2.2-release-notes/ +- **TinyMCE 8.0.0**: https://www.tiny.cloud/docs/tinymce/latest/8.3.0-release-notes/ +- **TinyMCE 8.0.0**: https://www.tiny.cloud/docs/tinymce/latest/8.3.1-release-notes/ +- **TinyMCE 8.0.0**: https://www.tiny.cloud/docs/tinymce/latest/8.3.2-release-notes/ +- **TinyMCE 8.2.0**: https://www.tiny.cloud/docs/tinymce/latest/8.2.0-release-notes/ +- **TinyMCE Keyboard shortcuts**: https://www.tiny.cloud/docs/tinymce/latest/keyboard-shortcuts/ +- **TinyMCE Premium upgrade promotion**: https://www.tiny.cloud/docs/tinymce/latest/promotions/ +- **TinyMCE for mobile**: https://www.tiny.cloud/docs/tinymce/latest/tinymce-for-mobile/ +- **Toggle toolbar button**: https://www.tiny.cloud/docs/tinymce/latest/custom-toggle-toolbar-button/ +- **Toolbar buttons and menu items**: https://www.tiny.cloud/docs/tinymce/latest/comments-toolbars-menus/ +- **Toolbar buttons and menu items**: https://www.tiny.cloud/docs/tinymce/latest/tinydrive-toolbars-menus/ +- **Toolbar buttons**: https://www.tiny.cloud/docs/tinymce/latest/custom-toolbarbuttons/ +- **Troubleshoot server-side components**: https://www.tiny.cloud/docs/tinymce/latest/troubleshoot-server/ +- **Troubleshooting**: https://www.tiny.cloud/docs/tinymce/latest/powerpaste-troubleshooting/ +- **TypeScript interfaces**: https://www.tiny.cloud/docs/tinymce/latest/tinydrive-type-interfaces/ +- **UI Mode**: https://www.tiny.cloud/docs/tinymce/latest/ui-mode-configuration-options/ +- **UI components**: https://www.tiny.cloud/docs/tinymce/latest/ui-components/ +- **UI localizations**: https://www.tiny.cloud/docs/tinymce/latest/bundling-localization/ +- **UI options**: https://www.tiny.cloud/docs/tinymce/latest/tinydrive-ui-options/ +- **URL dialogs**: https://www.tiny.cloud/docs/tinymce/latest/urldialog/ +- **URL handling options**: https://www.tiny.cloud/docs/tinymce/latest/url-handling/ +- **Understanding editor loads**: https://www.tiny.cloud/docs/tinymce/latest/understanding-editor-loads/ +- **Upgrading TinyMCE**: https://www.tiny.cloud/docs/tinymce/latest/upgrading/ +- **User Lookup**: https://www.tiny.cloud/docs/tinymce/latest/userlookup/ +- **User formatting**: https://www.tiny.cloud/docs/tinymce/latest/user-formatting-options/ +- **Using Comments**: https://www.tiny.cloud/docs/tinymce/latest/comments-using-comments/ +- **Using a .zip package with a module bundler**: https://www.tiny.cloud/docs/tinymce/latest/react-zip-bundle/ +- **Using a .zip package**: https://www.tiny.cloud/docs/tinymce/latest/angular-zip/ +- **Using a .zip package**: https://www.tiny.cloud/docs/tinymce/latest/blazor-zip/ +- **Using a .zip package**: https://www.tiny.cloud/docs/tinymce/latest/laravel-zip-install/ +- **Using a .zip package**: https://www.tiny.cloud/docs/tinymce/latest/rails-zip/ +- **Using a .zip package**: https://www.tiny.cloud/docs/tinymce/latest/svelte-zip/ +- **Using a .zip package**: https://www.tiny.cloud/docs/tinymce/latest/vue-zip/ +- **Using a .zip package**: https://www.tiny.cloud/docs/tinymce/latest/webcomponent-zip/ +- **Using a TinyMCE .zip package in React**: https://www.tiny.cloud/docs/tinymce/latest/react-zip-host/ +- **Using a package manager with bundling**: https://www.tiny.cloud/docs/tinymce/latest/angular-pm-bundle/ +- **Using a package manager with bundling**: https://www.tiny.cloud/docs/tinymce/latest/angular-zip-bundle/ +- **Using a package manager with bundling**: https://www.tiny.cloud/docs/tinymce/latest/svelte-pm-bundle/ +- **Using a package manager with bundling**: https://www.tiny.cloud/docs/tinymce/latest/vue-pm-bundle/ +- **Using a package manager**: https://www.tiny.cloud/docs/tinymce/latest/angular-pm/ +- **Using a package manager**: https://www.tiny.cloud/docs/tinymce/latest/blazor-pm/ +- **Using a package manager**: https://www.tiny.cloud/docs/tinymce/latest/rails-third-party/ +- **Using a package manager**: https://www.tiny.cloud/docs/tinymce/latest/svelte-pm/ +- **Using a package manager**: https://www.tiny.cloud/docs/tinymce/latest/vue-pm/ +- **Using a package manager**: https://www.tiny.cloud/docs/tinymce/latest/webcomponent-pm/ +- **Using plugins to extend TinyMCE**: https://www.tiny.cloud/docs/tinymce/latest/work-with-plugins/ +- **Using the Annotations API**: https://www.tiny.cloud/docs/tinymce/latest/annotations/ +- **Using the Composer package**: https://www.tiny.cloud/docs/tinymce/latest/laravel-composer-install/ +- **Version compatibility reference**: https://www.tiny.cloud/docs/tinymce/latest/plugin-editor-version-compatibility/ +- **Video feature of the Media Optimizer plugin**: https://www.tiny.cloud/docs/tinymce/latest/uploadcare-video/ +- **Visual Blocks**: https://www.tiny.cloud/docs/tinymce/latest/visualblocks/ +- **Visual Characters**: https://www.tiny.cloud/docs/tinymce/latest/visualchars/ +- **Vue.js**: https://www.tiny.cloud/docs/tinymce/latest/vue-cloud/ +- **Web Component**: https://www.tiny.cloud/docs/tinymce/latest/webcomponent-cloud/ +- **Word Count**: https://www.tiny.cloud/docs/tinymce/latest/wordcount/ +- **WordPress**: https://www.tiny.cloud/docs/tinymce/latest/wordpress/ +- **ZIP**: https://www.tiny.cloud/docs/tinymce/latest/installation-zip/ +- **jQuery**: https://www.tiny.cloud/docs/tinymce/latest/jquery-cloud/ +- **jQuery**: https://www.tiny.cloud/docs/tinymce/latest/jquery-pm/ +- **tiny docs ai**: https://www.tiny.cloud/docs/tinymce/latest/tiny-docs-ai/ +- **tinymce**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.root/ +- **tinymce.AddOnManager**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.addonmanager/ +- **tinymce.Annotator**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.annotator/ +- **tinymce.Editor**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.editor/ +- **tinymce.EditorManager**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.editormanager/ +- **tinymce.EditorMode**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.editormode/ +- **tinymce.EditorOptions**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.editoroptions/ +- **tinymce.EditorUpload**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.editorupload/ +- **tinymce.Env**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.env/ +- **tinymce.Event**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.event/ +- **tinymce.FakeClipboard**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.fakeclipboard/ +- **tinymce.Formatter**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.formatter/ +- **tinymce.NotificationManager**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.notificationmanager/ +- **tinymce.Plugin**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.plugin/ +- **tinymce.Shortcuts**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.shortcuts/ +- **tinymce.Theme**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.theme/ +- **tinymce.UndoManager**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.undomanager/ +- **tinymce.UserLookup**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.userlookup/ +- **tinymce.WindowManager**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.windowmanager/ +- **tinymce.dom.BookmarkManager**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.dom.bookmarkmanager/ +- **tinymce.dom.DOMUtils**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.dom.domutils/ +- **tinymce.dom.EventUtils**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.dom.eventutils/ +- **tinymce.dom.RangeUtils**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.dom.rangeutils/ +- **tinymce.dom.ScriptLoader**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.dom.scriptloader/ +- **tinymce.dom.Selection**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.dom.selection/ +- **tinymce.dom.Serializer**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.dom.serializer/ +- **tinymce.dom.StyleSheetLoader**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.dom.stylesheetloader/ +- **tinymce.dom.TextSeeker**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.dom.textseeker/ +- **tinymce.dom.TreeWalker**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.dom.treewalker/ +- **tinymce.editor.ui.Registry**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.editor.ui.registry/ +- **tinymce.editor.ui.Ui**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.editor.ui.ui/ +- **tinymce.geom.Rect**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.geom.rect/ +- **tinymce.html.DomParser**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.html.domparser/ +- **tinymce.html.Entities**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.html.entities/ +- **tinymce.html.Node**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.html.node/ +- **tinymce.html.Schema**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.html.schema/ +- **tinymce.html.Serializer**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.html.serializer/ +- **tinymce.html.Styles**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.html.styles/ +- **tinymce.html.Writer**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.html.writer/ +- **tinymce.util.Delay**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.util.delay/ +- **tinymce.util.EventDispatcher**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.util.eventdispatcher/ +- **tinymce.util.I18n**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.util.i18n/ +- **tinymce.util.ImageUploader**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.util.imageuploader/ +- **tinymce.util.Observable**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.util.observable/ +- **tinymce.util.Tools**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.util.tools/ +- **tinymce.util.URI**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.util.uri/ diff --git a/modules/ROOT/attachments/llms.txt b/modules/ROOT/attachments/llms.txt new file mode 100644 index 0000000000..741382d828 --- /dev/null +++ b/modules/ROOT/attachments/llms.txt @@ -0,0 +1,120 @@ +# TinyMCE Documentation + +> Rich text editor for web applications. The latest stable version is TinyMCE 8. + +**IMPORTANT**: Always use TinyMCE 8 for new projects. Use `tinymce@8` or `tinymce/8` in CDN URLs and package installations. + +## Getting Started + +- [Getting Started](https://www.tiny.cloud/docs/tinymce/latest/getting-started/): Overview and introduction to TinyMCE +- [Introduction to TinyMCE](https://www.tiny.cloud/docs/tinymce/latest/introduction-to-tinymce/): What is TinyMCE and how to add it to your project +- [Installation](https://www.tiny.cloud/docs/tinymce/latest/installation/): Installation options and methods + +### Cloud Deployment (Recommended) + +- [Cloud Quick Start](https://www.tiny.cloud/docs/tinymce/latest/cloud-quick-start/): Quick start guide for Tiny Cloud +- [Cloud Deployment Guide](https://www.tiny.cloud/docs/tinymce/latest/cloud-deployment-guide/): Complete cloud deployment guide +- [Editor and Features](https://www.tiny.cloud/docs/tinymce/latest/editor-and-features/): Cloud deployment of editor and plugins +- [Specify Editor Version](https://www.tiny.cloud/docs/tinymce/latest/editor-plugin-version/): How to specify TinyMCE version in Cloud +- [Cloud Troubleshooting](https://www.tiny.cloud/docs/tinymce/latest/cloud-troubleshooting/): Troubleshooting cloud deployment issues + +### Self-Hosted Deployment + +- [NPM Projects Quick Start](https://www.tiny.cloud/docs/tinymce/latest/npm-projects/): Quick start for NPM-based projects +- [ZIP Installation Quick Start](https://www.tiny.cloud/docs/tinymce/latest/zip-install/): Quick start for ZIP-based installation +- [Self-Hosted Installation](https://www.tiny.cloud/docs/tinymce/latest/installation-self-hosted/): Self-hosted installation guide + +## Integration Guides + +### Frontend Frameworks + +- [React Integration](https://www.tiny.cloud/docs/tinymce/latest/integrations/react/): React integration overview + - [React Cloud](https://www.tiny.cloud/docs/tinymce/latest/react-cloud/): React with Tiny Cloud + - [React Package Manager](https://www.tiny.cloud/docs/tinymce/latest/react-pm-host/): React with package manager + - [React ZIP](https://www.tiny.cloud/docs/tinymce/latest/react-zip-host/): React with ZIP package +- [Vue.js Integration](https://www.tiny.cloud/docs/tinymce/latest/integrations/vue/): Vue.js integration overview + - [Vue Cloud](https://www.tiny.cloud/docs/tinymce/latest/vue-cloud/): Vue.js with Tiny Cloud + - [Vue Package Manager](https://www.tiny.cloud/docs/tinymce/latest/vue-pm/): Vue.js with package manager + - [Vue ZIP](https://www.tiny.cloud/docs/tinymce/latest/vue-zip/): Vue.js with ZIP package +- [Angular Integration](https://www.tiny.cloud/docs/tinymce/latest/integrations/angular/): Angular integration overview + - [Angular Cloud](https://www.tiny.cloud/docs/tinymce/latest/angular-cloud/): Angular with Tiny Cloud + - [Angular Package Manager](https://www.tiny.cloud/docs/tinymce/latest/angular-pm/): Angular with package manager + - [Angular ZIP](https://www.tiny.cloud/docs/tinymce/latest/angular-zip/): Angular with ZIP package +- [Blazor Integration](https://www.tiny.cloud/docs/tinymce/latest/integrations/blazor/): Blazor integration overview + - [Blazor Cloud](https://www.tiny.cloud/docs/tinymce/latest/blazor-cloud/): Blazor with Tiny Cloud + - [Blazor Package Manager](https://www.tiny.cloud/docs/tinymce/latest/blazor-pm/): Blazor with package manager + - [Blazor ZIP](https://www.tiny.cloud/docs/tinymce/latest/blazor-zip/): Blazor with ZIP package +- [Svelte Integration](https://www.tiny.cloud/docs/tinymce/latest/integrations/svelte/): Svelte integration overview + - [Svelte Cloud](https://www.tiny.cloud/docs/tinymce/latest/svelte-cloud/): Svelte with Tiny Cloud + - [Svelte Package Manager](https://www.tiny.cloud/docs/tinymce/latest/svelte-pm/): Svelte with package manager + - [Svelte ZIP](https://www.tiny.cloud/docs/tinymce/latest/svelte-zip/): Svelte with ZIP package +- [Web Component Integration](https://www.tiny.cloud/docs/tinymce/latest/integrations/webcomponent/): Web Component integration + - [Web Component Cloud](https://www.tiny.cloud/docs/tinymce/latest/webcomponent-cloud/): Web Component with Tiny Cloud + - [Web Component Package Manager](https://www.tiny.cloud/docs/tinymce/latest/webcomponent-pm/): Web Component with package manager + - [Web Component ZIP](https://www.tiny.cloud/docs/tinymce/latest/webcomponent-zip/): Web Component with ZIP package +- [jQuery Integration](https://www.tiny.cloud/docs/tinymce/latest/integrations/jquery/): jQuery integration + - [jQuery Cloud](https://www.tiny.cloud/docs/tinymce/latest/jquery-cloud/): jQuery with Tiny Cloud + - [jQuery Package Manager](https://www.tiny.cloud/docs/tinymce/latest/jquery-pm/): jQuery with package manager + +### Backend Frameworks + +- [Django Integration](https://www.tiny.cloud/docs/tinymce/latest/integrations/django/): Django integration + - [Django Cloud](https://www.tiny.cloud/docs/tinymce/latest/django-cloud/): Django with Tiny Cloud + - [Django ZIP](https://www.tiny.cloud/docs/tinymce/latest/django-zip/): Django with ZIP package +- [Laravel Integration](https://www.tiny.cloud/docs/tinymce/latest/integrations/laravel/): Laravel integration + - [Laravel Cloud](https://www.tiny.cloud/docs/tinymce/latest/laravel-tiny-cloud/): Laravel with Tiny Cloud + - [Laravel Composer](https://www.tiny.cloud/docs/tinymce/latest/laravel-composer-install/): Laravel with Composer + - [Laravel ZIP](https://www.tiny.cloud/docs/tinymce/latest/laravel-zip-install/): Laravel with ZIP package +- [Ruby on Rails Integration](https://www.tiny.cloud/docs/tinymce/latest/integrations/rails/): Ruby on Rails integration + - [Rails Cloud](https://www.tiny.cloud/docs/tinymce/latest/rails-cloud/): Rails with Tiny Cloud + - [Rails Package Manager](https://www.tiny.cloud/docs/tinymce/latest/rails-third-party/): Rails with package manager + - [Rails ZIP](https://www.tiny.cloud/docs/tinymce/latest/rails-zip/): Rails with ZIP package +- [Node.js + Express Integration](https://www.tiny.cloud/docs/tinymce/latest/integrations/expressjs/): Node.js and Express integration + - [Express Package Manager](https://www.tiny.cloud/docs/tinymce/latest/expressjs-pm/): Express with package manager + +## Configuration + +- [Basic Setup](https://www.tiny.cloud/docs/tinymce/latest/basic-setup/): Essential configuration options +- [Working with Plugins](https://www.tiny.cloud/docs/tinymce/latest/work-with-plugins/): How to use plugins +- [Content Filtering](https://www.tiny.cloud/docs/tinymce/latest/filter-content/): Content filtering options +- [Localization](https://www.tiny.cloud/docs/tinymce/latest/localize-your-language/): Localization and internationalization +- [Spell Checking](https://www.tiny.cloud/docs/tinymce/latest/spell-checking/): Spell checking configuration +- [Content CSS](https://www.tiny.cloud/docs/tinymce/latest/editor-content-css/): CSS for rendering content +- [URL Handling](https://www.tiny.cloud/docs/tinymce/latest/url-handling/): URL handling options + +## API Reference + +- [Complete API Reference](https://www.tiny.cloud/docs/tinymce/latest/apis/): Full API documentation +- [Editor API](https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.editor/): Editor API reference +- [Plugin API](https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.plugin/): Plugin API reference +- [Configuration Options](https://www.tiny.cloud/docs/tinymce/latest/configuration/): All configuration options + +## Examples and Guides + +- [Examples](https://www.tiny.cloud/docs/tinymce/latest/examples/): Code examples and demos +- [How-to Guides](https://www.tiny.cloud/docs/tinymce/latest/how-to-guides/): Step-by-step guides +- [Release Notes](https://www.tiny.cloud/docs/tinymce/latest/release-notes/): TinyMCE 8 release notes +- [Upgrading TinyMCE](https://www.tiny.cloud/docs/tinymce/latest/upgrading/): Upgrade guide +- [Migration from 7.x](https://www.tiny.cloud/docs/tinymce/latest/migration-from-7x/): Migration guide from TinyMCE 7 + +## CDN and Package Information + +**Cloud CDN (Recommended)**: +``` +https://cdn.tiny.cloud/1/[api-key]/tinymce/8/tinymce.min.js +``` + +**jsDelivr CDN**: +``` +https://cdn.jsdelivr.net/npm/tinymce@8/tinymce.min.js +``` + +**Package Manager Installation**: +- npm: `npm install tinymce@8` +- yarn: `yarn add tinymce@8` +- pnpm: `pnpm add tinymce@8` + +**Integration Packages**: +- React: `npm install @tinymce/tinymce-react tinymce@8` +- Vue: `npm install @tinymce/tinymce-vue tinymce@8` +- Angular: `npm install @tinymce/tinymce-angular tinymce@8` From 620ec244b5101fb7ae24c0335870dbbdb751a47e Mon Sep 17 00:00:00 2001 From: Karl Kemister-Sheppard Date: Mon, 23 Feb 2026 20:46:14 +1000 Subject: [PATCH 02/20] DOC-3373: refined txt files, organized by category instead of alphabetical. Added new landing pages for supported frameworks. Updated link on installation section to point to new landing pages. --- modules/ROOT/attachments/llms-full.txt | 867 +++++++++++++++---------- modules/ROOT/attachments/llms.txt | 103 ++- modules/ROOT/pages/angular.adoc | 70 ++ modules/ROOT/pages/blazor.adoc | 64 ++ modules/ROOT/pages/bootstrap.adoc | 46 ++ modules/ROOT/pages/django.adoc | 46 ++ modules/ROOT/pages/installation.adoc | 44 +- modules/ROOT/pages/jquery.adoc | 46 ++ modules/ROOT/pages/laravel.adoc | 64 ++ modules/ROOT/pages/rails.adoc | 64 ++ modules/ROOT/pages/react.adoc | 70 ++ modules/ROOT/pages/svelte.adoc | 67 ++ modules/ROOT/pages/vue.adoc | 67 ++ modules/ROOT/pages/webcomponent.adoc | 64 ++ 14 files changed, 1283 insertions(+), 399 deletions(-) create mode 100644 modules/ROOT/pages/angular.adoc create mode 100644 modules/ROOT/pages/blazor.adoc create mode 100644 modules/ROOT/pages/bootstrap.adoc create mode 100644 modules/ROOT/pages/django.adoc create mode 100644 modules/ROOT/pages/jquery.adoc create mode 100644 modules/ROOT/pages/laravel.adoc create mode 100644 modules/ROOT/pages/rails.adoc create mode 100644 modules/ROOT/pages/react.adoc create mode 100644 modules/ROOT/pages/svelte.adoc create mode 100644 modules/ROOT/pages/vue.adoc create mode 100644 modules/ROOT/pages/webcomponent.adoc diff --git a/modules/ROOT/attachments/llms-full.txt b/modules/ROOT/attachments/llms-full.txt index 16b281245d..ba66cbadfd 100644 --- a/modules/ROOT/attachments/llms-full.txt +++ b/modules/ROOT/attachments/llms-full.txt @@ -31,58 +31,58 @@ TinyMCE is a rich text editor that provides a WYSIWYG editing experience. The la ## Integration Guides ### Frontend Frameworks -- **React**: https://www.tiny.cloud/docs/tinymce/latest/integrations/react/ +- **React**: https://www.tiny.cloud/docs/tinymce/latest/react/ - Cloud: https://www.tiny.cloud/docs/tinymce/latest/react-cloud/ - Package Manager: https://www.tiny.cloud/docs/tinymce/latest/react-pm-host/ - ZIP: https://www.tiny.cloud/docs/tinymce/latest/react-zip-host/ -- **Vue.js**: https://www.tiny.cloud/docs/tinymce/latest/integrations/vue/ +- **Vue.js**: https://www.tiny.cloud/docs/tinymce/latest/vue/ - Cloud: https://www.tiny.cloud/docs/tinymce/latest/vue-cloud/ - Package Manager: https://www.tiny.cloud/docs/tinymce/latest/vue-pm/ - ZIP: https://www.tiny.cloud/docs/tinymce/latest/vue-zip/ -- **Angular**: https://www.tiny.cloud/docs/tinymce/latest/integrations/angular/ +- **Angular**: https://www.tiny.cloud/docs/tinymce/latest/angular/ - Cloud: https://www.tiny.cloud/docs/tinymce/latest/angular-cloud/ - Package Manager: https://www.tiny.cloud/docs/tinymce/latest/angular-pm/ - ZIP: https://www.tiny.cloud/docs/tinymce/latest/angular-zip/ -- **Blazor**: https://www.tiny.cloud/docs/tinymce/latest/integrations/blazor/ +- **Blazor**: https://www.tiny.cloud/docs/tinymce/latest/blazor/ - Cloud: https://www.tiny.cloud/docs/tinymce/latest/blazor-cloud/ - Package Manager: https://www.tiny.cloud/docs/tinymce/latest/blazor-pm/ - ZIP: https://www.tiny.cloud/docs/tinymce/latest/blazor-zip/ -- **Svelte**: https://www.tiny.cloud/docs/tinymce/latest/integrations/svelte/ +- **Svelte**: https://www.tiny.cloud/docs/tinymce/latest/svelte/ - Cloud: https://www.tiny.cloud/docs/tinymce/latest/svelte-cloud/ - Package Manager: https://www.tiny.cloud/docs/tinymce/latest/svelte-pm/ - ZIP: https://www.tiny.cloud/docs/tinymce/latest/svelte-zip/ -- **Web Component**: https://www.tiny.cloud/docs/tinymce/latest/integrations/webcomponent/ +- **Web Component**: https://www.tiny.cloud/docs/tinymce/latest/webcomponent/ - Cloud: https://www.tiny.cloud/docs/tinymce/latest/webcomponent-cloud/ - Package Manager: https://www.tiny.cloud/docs/tinymce/latest/webcomponent-pm/ - ZIP: https://www.tiny.cloud/docs/tinymce/latest/webcomponent-zip/ -- **jQuery**: https://www.tiny.cloud/docs/tinymce/latest/integrations/jquery/ +- **jQuery**: https://www.tiny.cloud/docs/tinymce/latest/jquery/ - Cloud: https://www.tiny.cloud/docs/tinymce/latest/jquery-cloud/ - Package Manager: https://www.tiny.cloud/docs/tinymce/latest/jquery-pm/ ### Backend Frameworks -- **Django**: https://www.tiny.cloud/docs/tinymce/latest/integrations/django/ +- **Django**: https://www.tiny.cloud/docs/tinymce/latest/django/ - Cloud: https://www.tiny.cloud/docs/tinymce/latest/django-cloud/ - ZIP: https://www.tiny.cloud/docs/tinymce/latest/django-zip/ -- **Laravel**: https://www.tiny.cloud/docs/tinymce/latest/integrations/laravel/ +- **Laravel**: https://www.tiny.cloud/docs/tinymce/latest/laravel/ - Cloud: https://www.tiny.cloud/docs/tinymce/latest/laravel-tiny-cloud/ - Composer: https://www.tiny.cloud/docs/tinymce/latest/laravel-composer-install/ - ZIP: https://www.tiny.cloud/docs/tinymce/latest/laravel-zip-install/ -- **Ruby on Rails**: https://www.tiny.cloud/docs/tinymce/latest/integrations/rails/ +- **Ruby on Rails**: https://www.tiny.cloud/docs/tinymce/latest/rails/ - Cloud: https://www.tiny.cloud/docs/tinymce/latest/rails-cloud/ - Package Manager: https://www.tiny.cloud/docs/tinymce/latest/rails-third-party/ - ZIP: https://www.tiny.cloud/docs/tinymce/latest/rails-zip/ -- **Node.js + Express**: https://www.tiny.cloud/docs/tinymce/latest/integrations/expressjs/ +- **Node.js + Express**: https://www.tiny.cloud/docs/tinymce/latest/expressjs-pm/ - Package Manager: https://www.tiny.cloud/docs/tinymce/latest/expressjs-pm/ ### Other Integrations -- **Bootstrap**: https://www.tiny.cloud/docs/tinymce/latest/integrations/bootstrap/ +- **Bootstrap**: https://www.tiny.cloud/docs/tinymce/latest/bootstrap/ - Cloud: https://www.tiny.cloud/docs/tinymce/latest/bootstrap-cloud/ - ZIP: https://www.tiny.cloud/docs/tinymce/latest/bootstrap-zip/ -- **PHP Projects**: https://www.tiny.cloud/docs/tinymce/latest/integrations/php-projects/ -- **.NET Projects**: https://www.tiny.cloud/docs/tinymce/latest/integrations/dotnet-projects/ -- **WordPress**: https://www.tiny.cloud/docs/tinymce/latest/integrations/wordpress/ -- **Shadow DOM**: https://www.tiny.cloud/docs/tinymce/latest/integrations/shadow-dom/ -- **Java Swing**: https://www.tiny.cloud/docs/tinymce/latest/integrations/swing/ +- **PHP Projects**: https://www.tiny.cloud/docs/tinymce/latest/php-projects/ +- **.NET Projects**: https://www.tiny.cloud/docs/tinymce/latest/dotnet-projects/ +- **WordPress**: https://www.tiny.cloud/docs/tinymce/latest/wordpress/ +- **Shadow DOM**: https://www.tiny.cloud/docs/tinymce/latest/shadow-dom/ +- **Java Swing**: https://www.tiny.cloud/docs/tinymce/latest/swing/ ## Configuration @@ -214,10 +214,8 @@ export default { 7. **Cloud vs Self-Hosted**: Cloud deployment is recommended for most use cases ## API Reference -- **Complete API Reference**: https://www.tiny.cloud/docs/tinymce/latest/apis/ - **Editor API**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.editor/ - **Plugin API**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.plugin/ -- **Configuration Options**: All configuration pages are in https://www.tiny.cloud/docs/tinymce/latest/configuration/ ## Migration Guides - **Upgrading TinyMCE**: https://www.tiny.cloud/docs/tinymce/latest/upgrading/ @@ -232,396 +230,467 @@ export default { ## Complete Documentation Index -This section provides a complete list of all 395 documentation pages available in TinyMCE 8. This comprehensive index ensures LLMs have access to every documentation page, reducing the risk of hallucinations or missing important details. +This section provides a complete list of all 395 documentation pages available in TinyMCE 8, organized by category. This comprehensive index ensures LLMs have access to every documentation page, reducing the risk of hallucinations or missing important details. -- **.NET projects**: https://www.tiny.cloud/docs/tinymce/latest/dotnet-projects/ -- **.Net Core**: https://www.tiny.cloud/docs/tinymce/latest/tinydrive-dotnet/ -- **AI Assistant**: https://www.tiny.cloud/docs/tinymce/latest/ai/ -- **AI proxy server reference guide**: https://www.tiny.cloud/docs/tinymce/latest/ai-proxy/ -- **APIs**: https://www.tiny.cloud/docs/tinymce/latest/dialog-apis/ -- **About Tiny Cloud's Usage-Based Billing (UBB)**: https://www.tiny.cloud/docs/tinymce/latest/usage-based-billing/ -- **Accessibility Checker**: https://www.tiny.cloud/docs/tinymce/latest/a11ychecker/ -- **Accessibility Guide**: https://www.tiny.cloud/docs/tinymce/latest/tinymce-and-screenreaders/ -- **Accessibility**: https://www.tiny.cloud/docs/tinymce/latest/accessibility/ -- **Accordion**: https://www.tiny.cloud/docs/tinymce/latest/accordion/ -- **Add CSS**: https://www.tiny.cloud/docs/tinymce/latest/add-css-options/ -- **Adding custom dictionaries**: https://www.tiny.cloud/docs/tinymce/latest/custom-dictionaries-for-tiny-spellchecker/ -- **Advanced Typography**: https://www.tiny.cloud/docs/tinymce/latest/advanced-typography/ -- **Amazon Bedrock integration guide**: https://www.tiny.cloud/docs/tinymce/latest/ai-bedrock/ -- **Anchor**: https://www.tiny.cloud/docs/tinymce/latest/anchor/ -- **Angular**: https://www.tiny.cloud/docs/tinymce/latest/angular-cloud/ -- **Autocompleter**: https://www.tiny.cloud/docs/tinymce/latest/autocompleter/ -- **Autolink**: https://www.tiny.cloud/docs/tinymce/latest/autolink/ -- **Autoresize**: https://www.tiny.cloud/docs/tinymce/latest/autoresize/ -- **Autosave**: https://www.tiny.cloud/docs/tinymce/latest/autosave/ -- **Available Commands**: https://www.tiny.cloud/docs/tinymce/latest/editor-command-identifiers/ -- **Available Context Menu Items**: https://www.tiny.cloud/docs/tinymce/latest/editor-context-menu-identifiers/ -- **Available Events**: https://www.tiny.cloud/docs/tinymce/latest/events/ -- **Available Icons**: https://www.tiny.cloud/docs/tinymce/latest/editor-icon-identifiers/ -- **Available Menu Items**: https://www.tiny.cloud/docs/tinymce/latest/available-menu-items/ -- **Available Toolbar Buttons**: https://www.tiny.cloud/docs/tinymce/latest/available-toolbar-buttons/ -- **Azure AI integration guide**: https://www.tiny.cloud/docs/tinymce/latest/ai-azure/ -- **Basic configuration**: https://www.tiny.cloud/docs/tinymce/latest/dialog-configuration/ -- **Basic example**: https://www.tiny.cloud/docs/tinymce/latest/basic-example/ -- **Basic setup**: https://www.tiny.cloud/docs/tinymce/latest/basic-setup/ -- **Basic toolbar button**: https://www.tiny.cloud/docs/tinymce/latest/custom-basic-toolbar-button/ -- **Behaviors**: https://www.tiny.cloud/docs/tinymce/latest/content-behavior-options/ -- **Blazor**: https://www.tiny.cloud/docs/tinymce/latest/blazor-cloud/ -- **Body components**: https://www.tiny.cloud/docs/tinymce/latest/dialog-components/ -- **Bootstrap Demo**: https://www.tiny.cloud/docs/tinymce/latest/bootstrap-demo/ -- **Bootstrap**: https://www.tiny.cloud/docs/tinymce/latest/bootstrap-cloud/ -- **Bootstrap**: https://www.tiny.cloud/docs/tinymce/latest/bootstrap-zip/ -- **Borderless Demo**: https://www.tiny.cloud/docs/tinymce/latest/borderless-demo/ -- **Bundle TinyMCE in a React application**: https://www.tiny.cloud/docs/tinymce/latest/react-pm-bundle/ -- **CSS for rendering content**: https://www.tiny.cloud/docs/tinymce/latest/editor-content-css/ -- **Callback mode**: https://www.tiny.cloud/docs/tinymce/latest/comments-callback-mode/ -- **Case Change**: https://www.tiny.cloud/docs/tinymce/latest/casechange/ -- **Changelog**: https://www.tiny.cloud/docs/tinymce/latest/changelog/ -- **Changelog**: https://www.tiny.cloud/docs/tinymce/latest/tinydrive-changelog/ -- **Character Map**: https://www.tiny.cloud/docs/tinymce/latest/charmap/ -- **Checklist**: https://www.tiny.cloud/docs/tinymce/latest/checklist/ -- **Classic editing mode**: https://www.tiny.cloud/docs/tinymce/latest/use-tinymce-classic/ -- **Classic editor mode**: https://www.tiny.cloud/docs/tinymce/latest/classic-demo/ +### Getting Started & Installation + +- **Getting Started**: https://www.tiny.cloud/docs/tinymce/latest/getting-started/ +- **Introduction to TinyMCE**: https://www.tiny.cloud/docs/tinymce/latest/introduction-to-tinymce/ +- **Installation**: https://www.tiny.cloud/docs/tinymce/latest/installation/ +- **Cloud Quick Start**: https://www.tiny.cloud/docs/tinymce/latest/cloud-quick-start/ - **Cloud Deployment Guide**: https://www.tiny.cloud/docs/tinymce/latest/cloud-deployment-guide/ -- **Cloud Troubleshooting**: https://www.tiny.cloud/docs/tinymce/latest/cloud-troubleshooting/ - **Cloud deployment of editor & plugins**: https://www.tiny.cloud/docs/tinymce/latest/editor-and-features/ - **Cloud deployment of plugins Only**: https://www.tiny.cloud/docs/tinymce/latest/features-only/ - **Cloud**: https://www.tiny.cloud/docs/tinymce/latest/installation-cloud/ -- **Code Sample**: https://www.tiny.cloud/docs/tinymce/latest/codesample/ -- **Code**: https://www.tiny.cloud/docs/tinymce/latest/code/ -- **Commands and Events**: https://www.tiny.cloud/docs/tinymce/latest/powerpaste-commands-events-apis/ -- **Commands, Events and APIs**: https://www.tiny.cloud/docs/tinymce/latest/comments-commands-events-apis/ -- **Comments Access Options**: https://www.tiny.cloud/docs/tinymce/latest/comments-access-options/ -- **Comments with Mentions**: https://www.tiny.cloud/docs/tinymce/latest/comments-with-mentions/ -- **CommonJS and NPM**: https://www.tiny.cloud/docs/tinymce/latest/webpack-cjs-npm/ -- **CommonJS and a .zip archive**: https://www.tiny.cloud/docs/tinymce/latest/browserify-cjs-download/ -- **CommonJS and a .zip archive**: https://www.tiny.cloud/docs/tinymce/latest/webpack-cjs-download/ -- **CommonJS and npm**: https://www.tiny.cloud/docs/tinymce/latest/browserify-cjs-npm/ +- **NPM Projects Quick Start**: https://www.tiny.cloud/docs/tinymce/latest/npm-projects/ +- **ZIP Installation Quick Start**: https://www.tiny.cloud/docs/tinymce/latest/zip-install/ +- **Self-Hosted Installation**: https://www.tiny.cloud/docs/tinymce/latest/installation-self-hosted/ +- **Self-hosted**: https://www.tiny.cloud/docs/tinymce/latest/installation-self-hosted/ +- **ZIP**: https://www.tiny.cloud/docs/tinymce/latest/installation-zip/ +- **Quick start: Cloud**: https://www.tiny.cloud/docs/tinymce/latest/cloud-quick-start/ +- **Quick start: NPM/Yarn**: https://www.tiny.cloud/docs/tinymce/latest/npm-projects/ +- **Quick start: ZIP**: https://www.tiny.cloud/docs/tinymce/latest/zip-install/ +- **Cloud Troubleshooting**: https://www.tiny.cloud/docs/tinymce/latest/cloud-troubleshooting/ +- **Invalid API key**: https://www.tiny.cloud/docs/tinymce/latest/invalid-api-key/ +- **About Tiny Cloud's Usage-Based Billing (UBB)**: https://www.tiny.cloud/docs/tinymce/latest/usage-based-billing/ + +### Framework Integrations + +#### Frontend Frameworks +- **React**: https://www.tiny.cloud/docs/tinymce/latest/react-cloud/ +- **React Cloud**: https://www.tiny.cloud/docs/tinymce/latest/react-cloud/ +- **React Package Manager**: https://www.tiny.cloud/docs/tinymce/latest/react-pm-host/ +- **React ZIP**: https://www.tiny.cloud/docs/tinymce/latest/react-zip-host/ +- **Self-host TinyMCE in React**: https://www.tiny.cloud/docs/tinymce/latest/react-pm-host/ +- **Bundle TinyMCE in a React application**: https://www.tiny.cloud/docs/tinymce/latest/react-pm-bundle/ +- **Using a TinyMCE .zip package in React**: https://www.tiny.cloud/docs/tinymce/latest/react-zip-host/ +- **Using a .zip package with a module bundler**: https://www.tiny.cloud/docs/tinymce/latest/react-zip-bundle/ +- **Vue.js**: https://www.tiny.cloud/docs/tinymce/latest/vue-cloud/ +- **Vue Cloud**: https://www.tiny.cloud/docs/tinymce/latest/vue-cloud/ +- **Vue Package Manager**: https://www.tiny.cloud/docs/tinymce/latest/vue-pm/ +- **Vue ZIP**: https://www.tiny.cloud/docs/tinymce/latest/vue-zip/ +- **Angular**: https://www.tiny.cloud/docs/tinymce/latest/angular-cloud/ +- **Angular Cloud**: https://www.tiny.cloud/docs/tinymce/latest/angular-cloud/ +- **Angular Package Manager**: https://www.tiny.cloud/docs/tinymce/latest/angular-pm/ +- **Angular ZIP**: https://www.tiny.cloud/docs/tinymce/latest/angular-zip/ +- **Using a package manager with bundling**: https://www.tiny.cloud/docs/tinymce/latest/angular-pm-bundle/ +- **Using a package manager with bundling**: https://www.tiny.cloud/docs/tinymce/latest/angular-zip-bundle/ +- **Using a .zip package**: https://www.tiny.cloud/docs/tinymce/latest/angular-zip/ +- **Using a package manager**: https://www.tiny.cloud/docs/tinymce/latest/angular-pm/ +- **Blazor**: https://www.tiny.cloud/docs/tinymce/latest/blazor-cloud/ +- **Blazor Cloud**: https://www.tiny.cloud/docs/tinymce/latest/blazor-cloud/ +- **Blazor Package Manager**: https://www.tiny.cloud/docs/tinymce/latest/blazor-pm/ +- **Blazor ZIP**: https://www.tiny.cloud/docs/tinymce/latest/blazor-zip/ +- **Using a package manager**: https://www.tiny.cloud/docs/tinymce/latest/blazor-pm/ +- **Using a .zip package**: https://www.tiny.cloud/docs/tinymce/latest/blazor-zip/ +- **Svelte**: https://www.tiny.cloud/docs/tinymce/latest/svelte-cloud/ +- **Svelte Cloud**: https://www.tiny.cloud/docs/tinymce/latest/svelte-cloud/ +- **Svelte Package Manager**: https://www.tiny.cloud/docs/tinymce/latest/svelte-pm/ +- **Svelte ZIP**: https://www.tiny.cloud/docs/tinymce/latest/svelte-zip/ +- **Using a package manager with bundling**: https://www.tiny.cloud/docs/tinymce/latest/svelte-pm-bundle/ +- **Using a package manager**: https://www.tiny.cloud/docs/tinymce/latest/svelte-pm/ +- **Using a .zip package**: https://www.tiny.cloud/docs/tinymce/latest/svelte-zip/ +- **Web Component**: https://www.tiny.cloud/docs/tinymce/latest/webcomponent-cloud/ +- **Web Component Cloud**: https://www.tiny.cloud/docs/tinymce/latest/webcomponent-cloud/ +- **Web Component Package Manager**: https://www.tiny.cloud/docs/tinymce/latest/webcomponent-pm/ +- **Web Component ZIP**: https://www.tiny.cloud/docs/tinymce/latest/webcomponent-zip/ +- **Using a package manager**: https://www.tiny.cloud/docs/tinymce/latest/webcomponent-pm/ +- **Using a .zip package**: https://www.tiny.cloud/docs/tinymce/latest/webcomponent-zip/ +- **jQuery**: https://www.tiny.cloud/docs/tinymce/latest/jquery-cloud/ +- **jQuery Cloud**: https://www.tiny.cloud/docs/tinymce/latest/jquery-cloud/ +- **jQuery Package Manager**: https://www.tiny.cloud/docs/tinymce/latest/jquery-pm/ + +#### Backend Frameworks +- **Django**: https://www.tiny.cloud/docs/tinymce/latest/django-cloud/ +- **Django Cloud**: https://www.tiny.cloud/docs/tinymce/latest/django-cloud/ +- **Django ZIP**: https://www.tiny.cloud/docs/tinymce/latest/django-zip/ +- **Laravel**: https://www.tiny.cloud/docs/tinymce/latest/laravel-tiny-cloud/ +- **Laravel Cloud**: https://www.tiny.cloud/docs/tinymce/latest/laravel-tiny-cloud/ +- **Laravel Composer**: https://www.tiny.cloud/docs/tinymce/latest/laravel-composer-install/ +- **Laravel ZIP**: https://www.tiny.cloud/docs/tinymce/latest/laravel-zip-install/ +- **Using the Composer package**: https://www.tiny.cloud/docs/tinymce/latest/laravel-composer-install/ +- **Using a .zip package**: https://www.tiny.cloud/docs/tinymce/latest/laravel-zip-install/ +- **Ruby on Rails**: https://www.tiny.cloud/docs/tinymce/latest/rails-cloud/ +- **Rails Cloud**: https://www.tiny.cloud/docs/tinymce/latest/rails-cloud/ +- **Rails Package Manager**: https://www.tiny.cloud/docs/tinymce/latest/rails-third-party/ +- **Rails ZIP**: https://www.tiny.cloud/docs/tinymce/latest/rails-zip/ +- **Using a package manager**: https://www.tiny.cloud/docs/tinymce/latest/rails-third-party/ +- **Using a .zip package**: https://www.tiny.cloud/docs/tinymce/latest/rails-zip/ +- **Node.js + Express**: https://www.tiny.cloud/docs/tinymce/latest/expressjs-pm/ +- **Express Package Manager**: https://www.tiny.cloud/docs/tinymce/latest/expressjs-pm/ + +#### Other Integrations +- **Bootstrap**: https://www.tiny.cloud/docs/tinymce/latest/bootstrap-cloud/ +- **Bootstrap Cloud**: https://www.tiny.cloud/docs/tinymce/latest/bootstrap-cloud/ +- **Bootstrap ZIP**: https://www.tiny.cloud/docs/tinymce/latest/bootstrap-zip/ +- **PHP Projects**: https://www.tiny.cloud/docs/tinymce/latest/php-projects/ +- **PHP projects**: https://www.tiny.cloud/docs/tinymce/latest/php-projects/ +- **.NET Projects**: https://www.tiny.cloud/docs/tinymce/latest/dotnet-projects/ +- **.NET projects**: https://www.tiny.cloud/docs/tinymce/latest/dotnet-projects/ +- **WordPress**: https://www.tiny.cloud/docs/tinymce/latest/wordpress/ +- **Shadow DOM**: https://www.tiny.cloud/docs/tinymce/latest/shadow-dom/ +- **Java Swing**: https://www.tiny.cloud/docs/tinymce/latest/swing/ + +#### Technical References +- **Technical reference (Angular)**: https://www.tiny.cloud/docs/tinymce/latest/angular-ref/ +- **Technical reference (Blazor)**: https://www.tiny.cloud/docs/tinymce/latest/blazor-ref/ +- **Technical reference (React)**: https://www.tiny.cloud/docs/tinymce/latest/react-ref/ +- **Technical reference (Svelte)**: https://www.tiny.cloud/docs/tinymce/latest/svelte-ref/ +- **Technical reference (Vue)**: https://www.tiny.cloud/docs/tinymce/latest/vue-ref/ +- **Technical reference (Web Component)**: https://www.tiny.cloud/docs/tinymce/latest/webcomponent-ref/ + +### Configuration & Setup + +- **Basic Setup**: https://www.tiny.cloud/docs/tinymce/latest/basic-setup/ +- **Basic setup**: https://www.tiny.cloud/docs/tinymce/latest/basic-setup/ - **Configuration reference**: https://www.tiny.cloud/docs/tinymce/latest/initial-configuration/ -- **Configure Enhanced Media Embed Server**: https://www.tiny.cloud/docs/tinymce/latest/mediaembed-server-config/ -- **Content CSS**: https://www.tiny.cloud/docs/tinymce/latest/bundling-content-css/ -- **Content Security Policies (CSP)**: https://www.tiny.cloud/docs/tinymce/latest/tinymce-and-csp/ -- **Content appearance**: https://www.tiny.cloud/docs/tinymce/latest/content-appearance/ +- **Basic configuration**: https://www.tiny.cloud/docs/tinymce/latest/dialog-configuration/ +- **Selector Configuration**: Required for all TinyMCE instances +- **Plugin Configuration**: https://www.tiny.cloud/docs/tinymce/latest/work-with-plugins/ +- **Using plugins to extend TinyMCE**: https://www.tiny.cloud/docs/tinymce/latest/work-with-plugins/ +- **Toolbar Configuration**: https://www.tiny.cloud/docs/tinymce/latest/toolbar-configuration-options/ +- **Menu Configuration**: https://www.tiny.cloud/docs/tinymce/latest/menus-configuration-options/ +- **Content Filtering**: https://www.tiny.cloud/docs/tinymce/latest/filter-content/ - **Content filtering**: https://www.tiny.cloud/docs/tinymce/latest/content-filtering/ - **Content filtering**: https://www.tiny.cloud/docs/tinymce/latest/filter-content/ -- **Content formats**: https://www.tiny.cloud/docs/tinymce/latest/content-formatting/ -- **Context forms**: https://www.tiny.cloud/docs/tinymce/latest/contextform/ -- **Context menus**: https://www.tiny.cloud/docs/tinymce/latest/contextmenu/ -- **Context toolbar**: https://www.tiny.cloud/docs/tinymce/latest/contexttoolbar/ -- **Context**: https://www.tiny.cloud/docs/tinymce/latest/context/ -- **Copy and paste options**: https://www.tiny.cloud/docs/tinymce/latest/copy-and-paste/ -- **Create a Skin**: https://www.tiny.cloud/docs/tinymce/latest/creating-a-skin/ -- **Create a plugin**: https://www.tiny.cloud/docs/tinymce/latest/creating-a-plugin/ -- **Create an icon pack**: https://www.tiny.cloud/docs/tinymce/latest/creating-an-icon-pack/ -- **Creating custom dialogs**: https://www.tiny.cloud/docs/tinymce/latest/dialog/ -- **Creating custom menu items**: https://www.tiny.cloud/docs/tinymce/latest/creating-custom-menu-items/ +- **Localization**: https://www.tiny.cloud/docs/tinymce/latest/localize-your-language/ +- **Localization**: https://www.tiny.cloud/docs/tinymce/latest/content-localization/ +- **Localization options**: https://www.tiny.cloud/docs/tinymce/latest/ui-localization/ +- **Spell Checking**: https://www.tiny.cloud/docs/tinymce/latest/spell-checking/ +- **Spell checking**: https://www.tiny.cloud/docs/tinymce/latest/spell-checking/ +- **Content CSS**: https://www.tiny.cloud/docs/tinymce/latest/editor-content-css/ +- **CSS for rendering content**: https://www.tiny.cloud/docs/tinymce/latest/editor-content-css/ +- **URL Handling**: https://www.tiny.cloud/docs/tinymce/latest/url-handling/ +- **URL handling options**: https://www.tiny.cloud/docs/tinymce/latest/url-handling/ +- **Content Security Policies (CSP)**: https://www.tiny.cloud/docs/tinymce/latest/tinymce-and-csp/ - **Cross-Origin Resource Sharing (CORS)**: https://www.tiny.cloud/docs/tinymce/latest/tinymce-and-cors/ -- **Custom Basic menu items**: https://www.tiny.cloud/docs/tinymce/latest/custom-basic-menu-items/ -- **Custom Icon Pack Demo**: https://www.tiny.cloud/docs/tinymce/latest/custom-icon-pack-demo/ -- **Custom Nested menu items**: https://www.tiny.cloud/docs/tinymce/latest/custom-nested-menu-items/ -- **Custom Toggle menu items**: https://www.tiny.cloud/docs/tinymce/latest/custom-toggle-menu-items/ -- **Custom view**: https://www.tiny.cloud/docs/tinymce/latest/custom-view/ -- **Customizing the UI**: https://www.tiny.cloud/docs/tinymce/latest/customize-ui/ -- **Directionality**: https://www.tiny.cloud/docs/tinymce/latest/directionality/ -- **Distraction-free editing mode**: https://www.tiny.cloud/docs/tinymce/latest/use-tinymce-distraction-free/ -- **Distraction-free editor**: https://www.tiny.cloud/docs/tinymce/latest/distraction-free-demo/ -- **Django**: https://www.tiny.cloud/docs/tinymce/latest/django-cloud/ -- **Django**: https://www.tiny.cloud/docs/tinymce/latest/django-zip/ -- **Docx to HTML Converter API**: https://www.tiny.cloud/docs/tinymce/latest/docx-to-html-converter-api/ -- **Dropbox and Google Drive integration options**: https://www.tiny.cloud/docs/tinymce/latest/tinydrive-dropbox-and-google-drive/ -- **Dropbox**: https://www.tiny.cloud/docs/tinymce/latest/tinydrive-dropbox-integration/ -- **ES6 and NPM**: https://www.tiny.cloud/docs/tinymce/latest/vite-es6-npm/ -- **ES6 and a .zip archive**: https://www.tiny.cloud/docs/tinymce/latest/rollup-es6-download/ -- **ES6 and a .zip archive**: https://www.tiny.cloud/docs/tinymce/latest/webpack-es6-download/ -- **ES6 and npm**: https://www.tiny.cloud/docs/tinymce/latest/rollup-es6-npm/ -- **ES6**: https://www.tiny.cloud/docs/tinymce/latest/webpack-es6-npm/ +- **Editor Themes**: https://www.tiny.cloud/docs/tinymce/latest/editor-theme/ +- **Editor Skins**: https://www.tiny.cloud/docs/tinymce/latest/editor-skin/ +- **Skins**: https://www.tiny.cloud/docs/tinymce/latest/editor-skin/ +- **Editor Icons**: https://www.tiny.cloud/docs/tinymce/latest/editor-icons/ +- **Icons**: https://www.tiny.cloud/docs/tinymce/latest/editor-icons/ +- **Editor Size Options**: https://www.tiny.cloud/docs/tinymce/latest/editor-size-options/ +- **Size**: https://www.tiny.cloud/docs/tinymce/latest/editor-size-options/ +- **Statusbar Configuration**: https://www.tiny.cloud/docs/tinymce/latest/statusbar-configuration-options/ +- **Statusbar**: https://www.tiny.cloud/docs/tinymce/latest/statusbar-configuration-options/ +- **UI Mode Configuration**: https://www.tiny.cloud/docs/tinymce/latest/ui-mode-configuration-options/ +- **UI Mode**: https://www.tiny.cloud/docs/tinymce/latest/ui-mode-configuration-options/ +- **Integration options**: https://www.tiny.cloud/docs/tinymce/latest/editor-important-options/ +- **Specify Editor Version & Plugins**: https://www.tiny.cloud/docs/tinymce/latest/editor-plugin-version/ +- **Multiple editors in a page**: https://www.tiny.cloud/docs/tinymce/latest/multiple-editors/ +- **Understanding editor loads**: https://www.tiny.cloud/docs/tinymce/latest/understanding-editor-loads/ - **Editor content models**: https://www.tiny.cloud/docs/tinymce/latest/editor-model/ -- **Embedded mode**: https://www.tiny.cloud/docs/tinymce/latest/comments-embedded-mode/ -- **Emoticons**: https://www.tiny.cloud/docs/tinymce/latest/emoticons/ -- **Enhanced Code Editor**: https://www.tiny.cloud/docs/tinymce/latest/advcode/ -- **Enhanced Media Embed**: https://www.tiny.cloud/docs/tinymce/latest/introduction-to-mediaembed/ -- **Enhanced Skins & Icon Packs**: https://www.tiny.cloud/docs/tinymce/latest/enhanced-skins-and-icon-packs/ +- **Save and submit**: https://www.tiny.cloud/docs/tinymce/latest/editor-save-and-submit/ +- **Available Commands**: https://www.tiny.cloud/docs/tinymce/latest/editor-command-identifiers/ +- **Available Context Menu Items**: https://www.tiny.cloud/docs/tinymce/latest/editor-context-menu-identifiers/ +- **Available Events**: https://www.tiny.cloud/docs/tinymce/latest/events/ +- **Available Icons**: https://www.tiny.cloud/docs/tinymce/latest/editor-icon-identifiers/ +- **Available Menu Items**: https://www.tiny.cloud/docs/tinymce/latest/available-menu-items/ +- **Available Toolbar Buttons**: https://www.tiny.cloud/docs/tinymce/latest/available-toolbar-buttons/ +- **Options**: https://www.tiny.cloud/docs/tinymce/latest/menus-configuration-options/ +- **Options**: https://www.tiny.cloud/docs/tinymce/latest/toolbar-configuration-options/ + +### Plugins & Features + +#### Core Plugins +- **Plugins Overview**: https://www.tiny.cloud/docs/tinymce/latest/plugins/ +- **Plugins**: https://www.tiny.cloud/docs/tinymce/latest/plugins/ +- **Table Plugin**: https://www.tiny.cloud/docs/tinymce/latest/table/ +- **Table**: https://www.tiny.cloud/docs/tinymce/latest/table/ +- **Table options**: https://www.tiny.cloud/docs/tinymce/latest/table-options/ - **Enhanced Tables**: https://www.tiny.cloud/docs/tinymce/latest/advtable/ -- **Excluding premium features**: https://www.tiny.cloud/docs/tinymce/latest/full-featured-open-source-demo/ -- **Export to PDF Standalone Service**: https://www.tiny.cloud/docs/tinymce/latest/html-to-pdf-converter-api/ -- **Export to PDF**: https://www.tiny.cloud/docs/tinymce/latest/exportpdf/ -- **Export to PDF**: https://www.tiny.cloud/docs/tinymce/latest/individual-export-to-pdf-on-premises/ -- **Export to Word Standalone Service**: https://www.tiny.cloud/docs/tinymce/latest/export-to-word-standalone-service/ -- **Export to Word Standalone Service**: https://www.tiny.cloud/docs/tinymce/latest/html-to-docx-converter-api/ -- **Export to Word**: https://www.tiny.cloud/docs/tinymce/latest/exportword/ -- **Fabric Demo**: https://www.tiny.cloud/docs/tinymce/latest/fabric-demo/ -- **Files and Documents feature of the Media Optimizer plugin**: https://www.tiny.cloud/docs/tinymce/latest/uploadcare-documents/ -- **Fluent Demo**: https://www.tiny.cloud/docs/tinymce/latest/fluent-demo/ -- **Footer buttons**: https://www.tiny.cloud/docs/tinymce/latest/dialog-footer-buttons/ -- **Footnotes**: https://www.tiny.cloud/docs/tinymce/latest/footnotes/ -- **Format Painter**: https://www.tiny.cloud/docs/tinymce/latest/formatpainter/ -- **Full Page HTML**: https://www.tiny.cloud/docs/tinymce/latest/fullpagehtml/ -- **Full Screen**: https://www.tiny.cloud/docs/tinymce/latest/fullscreen/ -- **Generate public key pairs**: https://www.tiny.cloud/docs/tinymce/latest/generate-rsa-key-pairs/ -- **Getting Started**: https://www.tiny.cloud/docs/tinymce/latest/getting-started/ -- **Getting started**: https://www.tiny.cloud/docs/tinymce/latest/tinydrive-getting-started/ -- **Google Drive**: https://www.tiny.cloud/docs/tinymce/latest/tinydrive-googledrive-integration/ -- **Google Gemini integration guide**: https://www.tiny.cloud/docs/tinymce/latest/ai-gemini/ -- **Group toolbar button**: https://www.tiny.cloud/docs/tinymce/latest/custom-group-toolbar-button/ -- **Help**: https://www.tiny.cloud/docs/tinymce/latest/help/ -- **How To Guides**: https://www.tiny.cloud/docs/tinymce/latest/how-to-guides/ -- **Hyperlinking service settings**: https://www.tiny.cloud/docs/tinymce/latest/configure-hyperlink-service/ -- **Hyperlinking service**: https://www.tiny.cloud/docs/tinymce/latest/individual-hyperlinking-container/ -- **Icon Pack Template**: https://www.tiny.cloud/docs/tinymce/latest/using-the-icon-pack-template/ -- **Icons**: https://www.tiny.cloud/docs/tinymce/latest/bundling-icons/ -- **Icons**: https://www.tiny.cloud/docs/tinymce/latest/editor-icons/ +- **Image Plugin**: https://www.tiny.cloud/docs/tinymce/latest/image/ +- **Image**: https://www.tiny.cloud/docs/tinymce/latest/image/ - **Image Editing**: https://www.tiny.cloud/docs/tinymce/latest/editimage/ -- **Image Proxy service settings**: https://www.tiny.cloud/docs/tinymce/latest/configure-imageproxy-service/ -- **Image Proxy service**: https://www.tiny.cloud/docs/tinymce/latest/individual-image-proxy-container/ -- **Image feature of the Media Optimizer plugin**: https://www.tiny.cloud/docs/tinymce/latest/uploadcare-image/ - **Image uploads**: https://www.tiny.cloud/docs/tinymce/latest/upload-images/ -- **Image**: https://www.tiny.cloud/docs/tinymce/latest/image/ - **Images and files**: https://www.tiny.cloud/docs/tinymce/latest/file-image-upload/ -- **Import CSS**: https://www.tiny.cloud/docs/tinymce/latest/importcss/ -- **Import from Word Standalone Service**: https://www.tiny.cloud/docs/tinymce/latest/import-from-word-standalone-service/ -- **Import from Word and Export to Word**: https://www.tiny.cloud/docs/tinymce/latest/individual-import-from-word-and-export-to-word-on-premises/ -- **Import from Word**: https://www.tiny.cloud/docs/tinymce/latest/importword/ -- **Including premium features**: https://www.tiny.cloud/docs/tinymce/latest/full-featured-premium-demo/ -- **Inline CSS**: https://www.tiny.cloud/docs/tinymce/latest/inline-css/ -- **Inline editing mode**: https://www.tiny.cloud/docs/tinymce/latest/use-tinymce-inline/ -- **Inline editor options**: https://www.tiny.cloud/docs/tinymce/latest/inline-editor-options/ -- **Inline editor**: https://www.tiny.cloud/docs/tinymce/latest/inline-demo/ -- **Insert Date/Time**: https://www.tiny.cloud/docs/tinymce/latest/insertdatetime/ -- **Installation**: https://www.tiny.cloud/docs/tinymce/latest/installation/ -- **Integrate Enhanced Media Embed Server**: https://www.tiny.cloud/docs/tinymce/latest/mediaembed-server-integration/ -- **Integration options**: https://www.tiny.cloud/docs/tinymce/latest/editor-important-options/ -- **Interactive examples**: https://www.tiny.cloud/docs/tinymce/latest/dialog-examples/ -- **Introduction and initial setup**: https://www.tiny.cloud/docs/tinymce/latest/bundle-intro-setup/ -- **Introduction to TinyMCE**: https://www.tiny.cloud/docs/tinymce/latest/introduction-to-tinymce/ -- **Introduction to the plugin APIs**: https://www.tiny.cloud/docs/tinymce/latest/introduction-to-tinydrive-apis/ -- **Introduction**: https://www.tiny.cloud/docs/tinymce/latest/introduction-to-bundling-tinymce/ -- **Introduction**: https://www.tiny.cloud/docs/tinymce/latest/introduction-to-powerpaste/ -- **Introduction**: https://www.tiny.cloud/docs/tinymce/latest/introduction-to-tiny-comments/ -- **Introduction**: https://www.tiny.cloud/docs/tinymce/latest/tinydrive-introduction/ -- **Invalid API key**: https://www.tiny.cloud/docs/tinymce/latest/invalid-api-key/ -- **JWT Authentication setup for Export to PDF**: https://www.tiny.cloud/docs/tinymce/latest/export-to-pdf-with-jwt-authentication-php/ -- **JWT Authentication setup for Export to Word**: https://www.tiny.cloud/docs/tinymce/latest/export-to-word-with-jwt-authentication-php/ -- **JWT Authentication setup for Import from Word**: https://www.tiny.cloud/docs/tinymce/latest/import-from-word-with-jwt-authentication-php/ -- **JWT Authentication setup for Plugin**: https://www.tiny.cloud/docs/tinymce/latest/export-to-pdf-with-jwt-authentication-nodejs/ -- **JWT Authentication setup for Plugin**: https://www.tiny.cloud/docs/tinymce/latest/export-to-word-with-jwt-authentication-nodejs/ -- **JWT Authentication setup for Plugin**: https://www.tiny.cloud/docs/tinymce/latest/import-from-word-with-jwt-authentication-nodejs/ -- **JWT Authentication setup**: https://www.tiny.cloud/docs/tinymce/latest/tinydrive-jwt-authentication/ -- **Jam Icons Demo**: https://www.tiny.cloud/docs/tinymce/latest/jam-demo/ -- **Java Spring**: https://www.tiny.cloud/docs/tinymce/latest/tinydrive-java/ -- **Java Swing**: https://www.tiny.cloud/docs/tinymce/latest/swing/ -- **Keyboard Shortcuts**: https://www.tiny.cloud/docs/tinymce/latest/shortcuts/ -- **Laravel**: https://www.tiny.cloud/docs/tinymce/latest/laravel-tiny-cloud/ -- **License key**: https://www.tiny.cloud/docs/tinymce/latest/license-key/ -- **Link Checker**: https://www.tiny.cloud/docs/tinymce/latest/linkchecker/ +- **Link Plugin**: https://www.tiny.cloud/docs/tinymce/latest/link/ - **Link**: https://www.tiny.cloud/docs/tinymce/latest/link/ -- **List Styles**: https://www.tiny.cloud/docs/tinymce/latest/advlist/ +- **Link Checker**: https://www.tiny.cloud/docs/tinymce/latest/linkchecker/ +- **Lists Plugin**: https://www.tiny.cloud/docs/tinymce/latest/lists/ - **Lists**: https://www.tiny.cloud/docs/tinymce/latest/lists/ -- **Localization options**: https://www.tiny.cloud/docs/tinymce/latest/ui-localization/ -- **Localization**: https://www.tiny.cloud/docs/tinymce/latest/content-localization/ -- **Localization**: https://www.tiny.cloud/docs/tinymce/latest/localize-your-language/ -- **Markdown**: https://www.tiny.cloud/docs/tinymce/latest/markdown/ -- **Material Classic Demo**: https://www.tiny.cloud/docs/tinymce/latest/material-classic-demo/ -- **Material Outline Demo**: https://www.tiny.cloud/docs/tinymce/latest/material-outline-demo/ -- **Math Plugin**: https://www.tiny.cloud/docs/tinymce/latest/math/ -- **Media Optimizer**: https://www.tiny.cloud/docs/tinymce/latest/uploadcare/ +- **List Styles**: https://www.tiny.cloud/docs/tinymce/latest/advlist/ +- **Code Plugin**: https://www.tiny.cloud/docs/tinymce/latest/code/ +- **Code**: https://www.tiny.cloud/docs/tinymce/latest/code/ +- **Code Sample**: https://www.tiny.cloud/docs/tinymce/latest/codesample/ +- **Enhanced Code Editor**: https://www.tiny.cloud/docs/tinymce/latest/advcode/ +- **Media Plugin**: https://www.tiny.cloud/docs/tinymce/latest/media/ - **Media**: https://www.tiny.cloud/docs/tinymce/latest/media/ -- **Mentions**: https://www.tiny.cloud/docs/tinymce/latest/mentions/ -- **Menu toolbar button**: https://www.tiny.cloud/docs/tinymce/latest/custom-menu-toolbar-button/ -- **Merge Tags**: https://www.tiny.cloud/docs/tinymce/latest/mergetags/ -- **Migrating from Froala**: https://www.tiny.cloud/docs/tinymce/latest/migration-from-froala/ -- **Migrating from TinyMCE 4 to 8**: https://www.tiny.cloud/docs/tinymce/latest/migration-from-4x-to-8x/ -- **Migrating from TinyMCE 4**: https://www.tiny.cloud/docs/tinymce/latest/migration-from-4x/ -- **Migrating from TinyMCE 5 to 8**: https://www.tiny.cloud/docs/tinymce/latest/migration-from-5x-to-8x/ -- **Migrating from TinyMCE 5**: https://www.tiny.cloud/docs/tinymce/latest/migration-from-5x/ -- **Migrating from TinyMCE 6 to 8**: https://www.tiny.cloud/docs/tinymce/latest/migration-from-6x-to-8x/ -- **Migrating from TinyMCE 6**: https://www.tiny.cloud/docs/tinymce/latest/migration-from-6x/ -- **Migrating from TinyMCE 7**: https://www.tiny.cloud/docs/tinymce/latest/migration-from-7x/ -- **Migration Guides**: https://www.tiny.cloud/docs/tinymce/latest/migration-guides/ -- **Models**: https://www.tiny.cloud/docs/tinymce/latest/bundling-models/ -- **MoxieManager**: https://www.tiny.cloud/docs/tinymce/latest/moxiemanager/ -- **Multiple editors in a page**: https://www.tiny.cloud/docs/tinymce/latest/multiple-editors/ -- **Naked Demo**: https://www.tiny.cloud/docs/tinymce/latest/naked-demo/ -- **Node.js + Express**: https://www.tiny.cloud/docs/tinymce/latest/expressjs-pm/ -- **Node.js**: https://www.tiny.cloud/docs/tinymce/latest/tinydrive-nodejs/ -- **Non-editable content**: https://www.tiny.cloud/docs/tinymce/latest/non-editable-content-options/ +- **Enhanced Media Embed**: https://www.tiny.cloud/docs/tinymce/latest/introduction-to-mediaembed/ +- **Preview**: https://www.tiny.cloud/docs/tinymce/latest/preview/ +- **Anchor**: https://www.tiny.cloud/docs/tinymce/latest/anchor/ +- **Autolink**: https://www.tiny.cloud/docs/tinymce/latest/autolink/ +- **Autoresize**: https://www.tiny.cloud/docs/tinymce/latest/autoresize/ +- **Autosave**: https://www.tiny.cloud/docs/tinymce/latest/autosave/ +- **Save**: https://www.tiny.cloud/docs/tinymce/latest/save/ +- **Character Map**: https://www.tiny.cloud/docs/tinymce/latest/charmap/ +- **Emoticons**: https://www.tiny.cloud/docs/tinymce/latest/emoticons/ +- **Directionality**: https://www.tiny.cloud/docs/tinymce/latest/directionality/ +- **Full Screen**: https://www.tiny.cloud/docs/tinymce/latest/fullscreen/ +- **Help**: https://www.tiny.cloud/docs/tinymce/latest/help/ +- **Insert Date/Time**: https://www.tiny.cloud/docs/tinymce/latest/insertdatetime/ - **Nonbreaking Space**: https://www.tiny.cloud/docs/tinymce/latest/nonbreaking/ -- **Notifications**: https://www.tiny.cloud/docs/tinymce/latest/creating-custom-notifications/ -- **OpenAI ChatGPT integration guide**: https://www.tiny.cloud/docs/tinymce/latest/ai-openai/ -- **Optional common settings**: https://www.tiny.cloud/docs/tinymce/latest/configure-common-settings-services/ -- **Options**: https://www.tiny.cloud/docs/tinymce/latest/menus-configuration-options/ -- **Options**: https://www.tiny.cloud/docs/tinymce/latest/powerpaste-options/ -- **Options**: https://www.tiny.cloud/docs/tinymce/latest/toolbar-configuration-options/ -- **Outside Demo**: https://www.tiny.cloud/docs/tinymce/latest/outside-demo/ -- **PHP image upload handler**: https://www.tiny.cloud/docs/tinymce/latest/php-upload-handler/ -- **PHP projects**: https://www.tiny.cloud/docs/tinymce/latest/php-projects/ -- **PHP**: https://www.tiny.cloud/docs/tinymce/latest/tinydrive-php/ - **Page Break**: https://www.tiny.cloud/docs/tinymce/latest/pagebreak/ +- **Search and Replace**: https://www.tiny.cloud/docs/tinymce/latest/searchreplace/ +- **Word Count**: https://www.tiny.cloud/docs/tinymce/latest/wordcount/ +- **Visual Blocks**: https://www.tiny.cloud/docs/tinymce/latest/visualblocks/ +- **Visual Characters**: https://www.tiny.cloud/docs/tinymce/latest/visualchars/ +- **Context Toolbar**: https://www.tiny.cloud/docs/tinymce/latest/contexttoolbar/ +- **Context toolbar**: https://www.tiny.cloud/docs/tinymce/latest/contexttoolbar/ +- **Quick Toolbars**: https://www.tiny.cloud/docs/tinymce/latest/quickbars/ +- **Context Menus**: https://www.tiny.cloud/docs/tinymce/latest/contextmenu/ +- **Context menus**: https://www.tiny.cloud/docs/tinymce/latest/contextmenu/ +- **Context Forms**: https://www.tiny.cloud/docs/tinymce/latest/contextform/ +- **Context forms**: https://www.tiny.cloud/docs/tinymce/latest/contextform/ +- **Context**: https://www.tiny.cloud/docs/tinymce/latest/context/ +- **Accordion**: https://www.tiny.cloud/docs/tinymce/latest/accordion/ +- **Checklist**: https://www.tiny.cloud/docs/tinymce/latest/checklist/ +- **Case Change**: https://www.tiny.cloud/docs/tinymce/latest/casechange/ +- **Footnotes**: https://www.tiny.cloud/docs/tinymce/latest/footnotes/ +- **Format Painter**: https://www.tiny.cloud/docs/tinymce/latest/formatpainter/ +- **Markdown**: https://www.tiny.cloud/docs/tinymce/latest/markdown/ +- **Math Plugin**: https://www.tiny.cloud/docs/tinymce/latest/math/ +- **Mentions**: https://www.tiny.cloud/docs/tinymce/latest/mentions/ +- **Merge Tags**: https://www.tiny.cloud/docs/tinymce/latest/mergetags/ +- **Table of Contents**: https://www.tiny.cloud/docs/tinymce/latest/tableofcontents/ - **Page Embed**: https://www.tiny.cloud/docs/tinymce/latest/pageembed/ - **Permanent Pen**: https://www.tiny.cloud/docs/tinymce/latest/permanentpen/ -- **Plugins**: https://www.tiny.cloud/docs/tinymce/latest/bundling-plugins/ -- **Plugins**: https://www.tiny.cloud/docs/tinymce/latest/plugins/ -- **Preview**: https://www.tiny.cloud/docs/tinymce/latest/preview/ -- **Quick Toolbars**: https://www.tiny.cloud/docs/tinymce/latest/quickbars/ -- **Quick start: Cloud**: https://www.tiny.cloud/docs/tinymce/latest/cloud-quick-start/ -- **Quick start: NPM/Yarn**: https://www.tiny.cloud/docs/tinymce/latest/npm-projects/ -- **Quick start: ZIP**: https://www.tiny.cloud/docs/tinymce/latest/zip-install/ -- **React**: https://www.tiny.cloud/docs/tinymce/latest/react-cloud/ -- **Release notes for TinyMCE **: https://www.tiny.cloud/docs/tinymce/latest/release-notes/ -- **Required configuration**: https://www.tiny.cloud/docs/tinymce/latest/configure-required-services/ -- **Reusable template creation**: https://www.tiny.cloud/docs/tinymce/latest/ie-template-creation/ -- **Revision History**: https://www.tiny.cloud/docs/tinymce/latest/revisionhistory/ -- **Ruby on Rails**: https://www.tiny.cloud/docs/tinymce/latest/rails-cloud/ -- **Save and submit**: https://www.tiny.cloud/docs/tinymce/latest/editor-save-and-submit/ -- **Save**: https://www.tiny.cloud/docs/tinymce/latest/save/ -- **Search and Replace**: https://www.tiny.cloud/docs/tinymce/latest/searchreplace/ -- **Security guide**: https://www.tiny.cloud/docs/tinymce/latest/security/ -- **Self-host TinyMCE in React**: https://www.tiny.cloud/docs/tinymce/latest/react-pm-host/ -- **Self-hosted**: https://www.tiny.cloud/docs/tinymce/latest/installation-self-hosted/ -- **Setup options**: https://www.tiny.cloud/docs/tinymce/latest/tinydrive-setup-options/ -- **Shadow DOM**: https://www.tiny.cloud/docs/tinymce/latest/shadow-dom/ +- **Full Page HTML**: https://www.tiny.cloud/docs/tinymce/latest/fullpagehtml/ +- **Template**: https://www.tiny.cloud/docs/tinymce/latest/advanced-templates/ +- **Import CSS**: https://www.tiny.cloud/docs/tinymce/latest/importcss/ +- **Autocompleter**: https://www.tiny.cloud/docs/tinymce/latest/autocompleter/ - **Sidebars**: https://www.tiny.cloud/docs/tinymce/latest/customsidebar/ -- **Size**: https://www.tiny.cloud/docs/tinymce/latest/editor-size-options/ -- **Skins**: https://www.tiny.cloud/docs/tinymce/latest/bundling-skins/ -- **Skins**: https://www.tiny.cloud/docs/tinymce/latest/editor-skin/ -- **Small Icons Demo**: https://www.tiny.cloud/docs/tinymce/latest/small-demo/ -- **Snow Demo**: https://www.tiny.cloud/docs/tinymce/latest/snow-demo/ -- **Specify Editor Version & Plugins**: https://www.tiny.cloud/docs/tinymce/latest/editor-plugin-version/ +- **Custom view**: https://www.tiny.cloud/docs/tinymce/latest/custom-view/ +- **Non-editable content**: https://www.tiny.cloud/docs/tinymce/latest/non-editable-content-options/ +- **User formatting**: https://www.tiny.cloud/docs/tinymce/latest/user-formatting-options/ +- **User Lookup**: https://www.tiny.cloud/docs/tinymce/latest/userlookup/ +- **Content appearance**: https://www.tiny.cloud/docs/tinymce/latest/content-appearance/ +- **Content formats**: https://www.tiny.cloud/docs/tinymce/latest/content-formatting/ +- **Content behavior options**: https://www.tiny.cloud/docs/tinymce/latest/content-behavior-options/ +- **Behaviors**: https://www.tiny.cloud/docs/tinymce/latest/content-behavior-options/ +- **Copy and paste options**: https://www.tiny.cloud/docs/tinymce/latest/copy-and-paste/ +- **Advanced Typography**: https://www.tiny.cloud/docs/tinymce/latest/advanced-typography/ +- **Add CSS**: https://www.tiny.cloud/docs/tinymce/latest/add-css-options/ +- **Inline CSS**: https://www.tiny.cloud/docs/tinymce/latest/inline-css/ + +#### Editor Modes +- **Classic editing mode**: https://www.tiny.cloud/docs/tinymce/latest/use-tinymce-classic/ +- **Inline editing mode**: https://www.tiny.cloud/docs/tinymce/latest/use-tinymce-inline/ +- **Inline editor options**: https://www.tiny.cloud/docs/tinymce/latest/inline-editor-options/ +- **Distraction-free editing mode**: https://www.tiny.cloud/docs/tinymce/latest/use-tinymce-distraction-free/ + +#### Spell Checking - **Spell Checker**: https://www.tiny.cloud/docs/tinymce/latest/introduction-to-tiny-spellchecker/ -- **Spell checking**: https://www.tiny.cloud/docs/tinymce/latest/spell-checking/ - **Spelling Autocorrect**: https://www.tiny.cloud/docs/tinymce/latest/autocorrect/ - **Spelling options**: https://www.tiny.cloud/docs/tinymce/latest/spelling/ -- **Spelling service - Using Hunspell dictionaries**: https://www.tiny.cloud/docs/tinymce/latest/self-hosting-hunspell/ -- **Spelling service settings**: https://www.tiny.cloud/docs/tinymce/latest/configure-spelling-service/ +- **Adding custom dictionaries**: https://www.tiny.cloud/docs/tinymce/latest/custom-dictionaries-for-tiny-spellchecker/ - **Spelling service**: https://www.tiny.cloud/docs/tinymce/latest/individual-spelling-container/ -- **Split toolbar button**: https://www.tiny.cloud/docs/tinymce/latest/custom-split-toolbar-button/ -- **Statusbar**: https://www.tiny.cloud/docs/tinymce/latest/statusbar-configuration-options/ -- **Suggested Edits**: https://www.tiny.cloud/docs/tinymce/latest/suggestededits/ -- **Support**: https://www.tiny.cloud/docs/tinymce/latest/support/ -- **Supported functionality**: https://www.tiny.cloud/docs/tinymce/latest/powerpaste-support/ -- **Svelte**: https://www.tiny.cloud/docs/tinymce/latest/svelte-cloud/ -- **Table of Contents**: https://www.tiny.cloud/docs/tinymce/latest/tableofcontents/ -- **Table options**: https://www.tiny.cloud/docs/tinymce/latest/table-options/ -- **Table**: https://www.tiny.cloud/docs/tinymce/latest/table/ -- **Technical reference**: https://www.tiny.cloud/docs/tinymce/latest/angular-ref/ -- **Technical reference**: https://www.tiny.cloud/docs/tinymce/latest/blazor-ref/ -- **Technical reference**: https://www.tiny.cloud/docs/tinymce/latest/react-ref/ -- **Technical reference**: https://www.tiny.cloud/docs/tinymce/latest/svelte-ref/ -- **Technical reference**: https://www.tiny.cloud/docs/tinymce/latest/vue-ref/ -- **Technical reference**: https://www.tiny.cloud/docs/tinymce/latest/webcomponent-ref/ -- **Template**: https://www.tiny.cloud/docs/tinymce/latest/advanced-templates/ -- **The Browse API**: https://www.tiny.cloud/docs/tinymce/latest/tinydrive-browse/ -- **The Pick API**: https://www.tiny.cloud/docs/tinymce/latest/tinydrive-pick/ -- **The Upload API**: https://www.tiny.cloud/docs/tinymce/latest/tinydrive-upload/ -- **Themes**: https://www.tiny.cloud/docs/tinymce/latest/bundling-themes/ -- **Themes**: https://www.tiny.cloud/docs/tinymce/latest/editor-theme/ -- **TinyMCE Documentation**: https://www.tiny.cloud/docs/tinymce/latest/index/ -- **TinyMCE examples**: https://www.tiny.cloud/docs/tinymce/latest/examples/ -- **TinyMCE 8.0.0**: https://www.tiny.cloud/docs/tinymce/latest/8.0-release-notes/ -- **TinyMCE 8.0.0**: https://www.tiny.cloud/docs/tinymce/latest/8.0.1-release-notes/ -- **TinyMCE 8.0.0**: https://www.tiny.cloud/docs/tinymce/latest/8.0.2-release-notes/ -- **TinyMCE 8.0.0**: https://www.tiny.cloud/docs/tinymce/latest/8.1.0-release-notes/ -- **TinyMCE 8.0.0**: https://www.tiny.cloud/docs/tinymce/latest/8.1.1-release-notes/ -- **TinyMCE 8.0.0**: https://www.tiny.cloud/docs/tinymce/latest/8.1.2-release-notes/ -- **TinyMCE 8.0.0**: https://www.tiny.cloud/docs/tinymce/latest/8.2.1-release-notes/ -- **TinyMCE 8.0.0**: https://www.tiny.cloud/docs/tinymce/latest/8.2.2-release-notes/ -- **TinyMCE 8.0.0**: https://www.tiny.cloud/docs/tinymce/latest/8.3.0-release-notes/ -- **TinyMCE 8.0.0**: https://www.tiny.cloud/docs/tinymce/latest/8.3.1-release-notes/ -- **TinyMCE 8.0.0**: https://www.tiny.cloud/docs/tinymce/latest/8.3.2-release-notes/ -- **TinyMCE 8.2.0**: https://www.tiny.cloud/docs/tinymce/latest/8.2.0-release-notes/ -- **TinyMCE Keyboard shortcuts**: https://www.tiny.cloud/docs/tinymce/latest/keyboard-shortcuts/ -- **TinyMCE Premium upgrade promotion**: https://www.tiny.cloud/docs/tinymce/latest/promotions/ -- **TinyMCE for mobile**: https://www.tiny.cloud/docs/tinymce/latest/tinymce-for-mobile/ -- **Toggle toolbar button**: https://www.tiny.cloud/docs/tinymce/latest/custom-toggle-toolbar-button/ +- **Spelling service settings**: https://www.tiny.cloud/docs/tinymce/latest/configure-spelling-service/ +- **Spelling service - Using Hunspell dictionaries**: https://www.tiny.cloud/docs/tinymce/latest/self-hosting-hunspell/ + +### Premium Features + +#### AI Features +- **AI Assistant**: https://www.tiny.cloud/docs/tinymce/latest/ai/ +- **AI proxy server reference guide**: https://www.tiny.cloud/docs/tinymce/latest/ai-proxy/ +- **Amazon Bedrock integration guide**: https://www.tiny.cloud/docs/tinymce/latest/ai-bedrock/ +- **Azure AI integration guide**: https://www.tiny.cloud/docs/tinymce/latest/ai-azure/ +- **Google Gemini integration guide**: https://www.tiny.cloud/docs/tinymce/latest/ai-gemini/ +- **OpenAI ChatGPT integration guide**: https://www.tiny.cloud/docs/tinymce/latest/ai-openai/ + +#### Comments & Collaboration +- **Comments Introduction**: https://www.tiny.cloud/docs/tinymce/latest/introduction-to-tiny-comments/ +- **Using Comments**: https://www.tiny.cloud/docs/tinymce/latest/comments-using-comments/ +- **Comments Access Options**: https://www.tiny.cloud/docs/tinymce/latest/comments-access-options/ +- **Comments with Mentions**: https://www.tiny.cloud/docs/tinymce/latest/comments-with-mentions/ +- **Callback mode**: https://www.tiny.cloud/docs/tinymce/latest/comments-callback-mode/ +- **Embedded mode**: https://www.tiny.cloud/docs/tinymce/latest/comments-embedded-mode/ +- **Commands, Events and APIs**: https://www.tiny.cloud/docs/tinymce/latest/comments-commands-events-apis/ - **Toolbar buttons and menu items**: https://www.tiny.cloud/docs/tinymce/latest/comments-toolbars-menus/ -- **Toolbar buttons and menu items**: https://www.tiny.cloud/docs/tinymce/latest/tinydrive-toolbars-menus/ -- **Toolbar buttons**: https://www.tiny.cloud/docs/tinymce/latest/custom-toolbarbuttons/ +- **Using the Annotations API**: https://www.tiny.cloud/docs/tinymce/latest/annotations/ +- **Suggested Edits**: https://www.tiny.cloud/docs/tinymce/latest/suggestededits/ +- **Revision History**: https://www.tiny.cloud/docs/tinymce/latest/revisionhistory/ + +#### Export & Import +- **Export to PDF**: https://www.tiny.cloud/docs/tinymce/latest/exportpdf/ +- **Export to PDF Standalone Service**: https://www.tiny.cloud/docs/tinymce/latest/html-to-pdf-converter-api/ +- **Export to PDF (On-Premises)**: https://www.tiny.cloud/docs/tinymce/latest/individual-export-to-pdf-on-premises/ +- **Export to Word**: https://www.tiny.cloud/docs/tinymce/latest/exportword/ +- **Export to Word Standalone Service**: https://www.tiny.cloud/docs/tinymce/latest/export-to-word-standalone-service/ +- **Export to Word Standalone Service**: https://www.tiny.cloud/docs/tinymce/latest/html-to-docx-converter-api/ +- **Import from Word**: https://www.tiny.cloud/docs/tinymce/latest/importword/ +- **Import from Word Standalone Service**: https://www.tiny.cloud/docs/tinymce/latest/import-from-word-standalone-service/ +- **Import from Word and Export to Word**: https://www.tiny.cloud/docs/tinymce/latest/individual-import-from-word-and-export-to-word-on-premises/ +- **Docx to HTML Converter API**: https://www.tiny.cloud/docs/tinymce/latest/docx-to-html-converter-api/ +- **JWT Authentication setup for Export to PDF**: https://www.tiny.cloud/docs/tinymce/latest/export-to-pdf-with-jwt-authentication-php/ +- **JWT Authentication setup for Export to Word**: https://www.tiny.cloud/docs/tinymce/latest/export-to-word-with-jwt-authentication-php/ +- **JWT Authentication setup for Import from Word**: https://www.tiny.cloud/docs/tinymce/latest/import-from-word-with-jwt-authentication-php/ +- **JWT Authentication setup for Plugin (Node.js)**: https://www.tiny.cloud/docs/tinymce/latest/export-to-pdf-with-jwt-authentication-nodejs/ +- **JWT Authentication setup for Plugin (Node.js)**: https://www.tiny.cloud/docs/tinymce/latest/export-to-word-with-jwt-authentication-nodejs/ +- **JWT Authentication setup for Plugin (Node.js)**: https://www.tiny.cloud/docs/tinymce/latest/import-from-word-with-jwt-authentication-nodejs/ + +#### PowerPaste +- **PowerPaste Introduction**: https://www.tiny.cloud/docs/tinymce/latest/introduction-to-powerpaste/ +- **PowerPaste Options**: https://www.tiny.cloud/docs/tinymce/latest/powerpaste-options/ +- **PowerPaste Commands and Events**: https://www.tiny.cloud/docs/tinymce/latest/powerpaste-commands-events-apis/ +- **PowerPaste Supported functionality**: https://www.tiny.cloud/docs/tinymce/latest/powerpaste-support/ +- **PowerPaste Troubleshooting**: https://www.tiny.cloud/docs/tinymce/latest/powerpaste-troubleshooting/ + +#### TinyDrive +- **TinyDrive Introduction**: https://www.tiny.cloud/docs/tinymce/latest/tinydrive-introduction/ +- **TinyDrive Getting started**: https://www.tiny.cloud/docs/tinymce/latest/tinydrive-getting-started/ +- **TinyDrive Setup options**: https://www.tiny.cloud/docs/tinymce/latest/tinydrive-setup-options/ +- **TinyDrive Browse API**: https://www.tiny.cloud/docs/tinymce/latest/tinydrive-browse/ +- **TinyDrive Pick API**: https://www.tiny.cloud/docs/tinymce/latest/tinydrive-pick/ +- **TinyDrive Upload API**: https://www.tiny.cloud/docs/tinymce/latest/tinydrive-upload/ +- **TinyDrive Toolbar buttons and menu items**: https://www.tiny.cloud/docs/tinymce/latest/tinydrive-toolbars-menus/ +- **TinyDrive UI options**: https://www.tiny.cloud/docs/tinymce/latest/tinydrive-ui-options/ +- **TinyDrive TypeScript interfaces**: https://www.tiny.cloud/docs/tinymce/latest/tinydrive-type-interfaces/ +- **TinyDrive JWT Authentication setup**: https://www.tiny.cloud/docs/tinymce/latest/tinydrive-jwt-authentication/ +- **TinyDrive Changelog**: https://www.tiny.cloud/docs/tinymce/latest/tinydrive-changelog/ +- **Dropbox and Google Drive integration options**: https://www.tiny.cloud/docs/tinymce/latest/tinydrive-dropbox-and-google-drive/ +- **Dropbox**: https://www.tiny.cloud/docs/tinymce/latest/tinydrive-dropbox-integration/ +- **Google Drive**: https://www.tiny.cloud/docs/tinymce/latest/tinydrive-googledrive-integration/ +- **TinyDrive Node.js**: https://www.tiny.cloud/docs/tinymce/latest/tinydrive-nodejs/ +- **TinyDrive PHP**: https://www.tiny.cloud/docs/tinymce/latest/tinydrive-php/ +- **TinyDrive Java Spring**: https://www.tiny.cloud/docs/tinymce/latest/tinydrive-java/ +- **.Net Core**: https://www.tiny.cloud/docs/tinymce/latest/tinydrive-dotnet/ +- **Introduction to the plugin APIs**: https://www.tiny.cloud/docs/tinymce/latest/introduction-to-tinydrive-apis/ + +#### Media Optimizer +- **Media Optimizer**: https://www.tiny.cloud/docs/tinymce/latest/uploadcare/ +- **Image feature of the Media Optimizer plugin**: https://www.tiny.cloud/docs/tinymce/latest/uploadcare-image/ +- **Files and Documents feature of the Media Optimizer plugin**: https://www.tiny.cloud/docs/tinymce/latest/uploadcare-documents/ +- **Video feature of the Media Optimizer plugin**: https://www.tiny.cloud/docs/tinymce/latest/uploadcare-video/ + +#### Services & Infrastructure +- **Hyperlinking service**: https://www.tiny.cloud/docs/tinymce/latest/individual-hyperlinking-container/ +- **Hyperlinking service settings**: https://www.tiny.cloud/docs/tinymce/latest/configure-hyperlink-service/ +- **Image Proxy service**: https://www.tiny.cloud/docs/tinymce/latest/individual-image-proxy-container/ +- **Image Proxy service settings**: https://www.tiny.cloud/docs/tinymce/latest/configure-imageproxy-service/ +- **Enhanced Media Embed Server**: https://www.tiny.cloud/docs/tinymce/latest/mediaembed-server-config/ +- **Integrate Enhanced Media Embed Server**: https://www.tiny.cloud/docs/tinymce/latest/mediaembed-server-integration/ +- **Configure Enhanced Media Embed Server**: https://www.tiny.cloud/docs/tinymce/latest/mediaembed-server-config/ +- **Required configuration**: https://www.tiny.cloud/docs/tinymce/latest/configure-required-services/ +- **Optional common settings**: https://www.tiny.cloud/docs/tinymce/latest/configure-common-settings-services/ - **Troubleshoot server-side components**: https://www.tiny.cloud/docs/tinymce/latest/troubleshoot-server/ -- **Troubleshooting**: https://www.tiny.cloud/docs/tinymce/latest/powerpaste-troubleshooting/ -- **TypeScript interfaces**: https://www.tiny.cloud/docs/tinymce/latest/tinydrive-type-interfaces/ -- **UI Mode**: https://www.tiny.cloud/docs/tinymce/latest/ui-mode-configuration-options/ -- **UI components**: https://www.tiny.cloud/docs/tinymce/latest/ui-components/ +- **License key**: https://www.tiny.cloud/docs/tinymce/latest/license-key/ +- **Generate public key pairs**: https://www.tiny.cloud/docs/tinymce/latest/generate-rsa-key-pairs/ + +### Customization & Development + +#### Creating Custom Components +- **Create a plugin**: https://www.tiny.cloud/docs/tinymce/latest/creating-a-plugin/ +- **Create a Skin**: https://www.tiny.cloud/docs/tinymce/latest/creating-a-skin/ +- **Create an icon pack**: https://www.tiny.cloud/docs/tinymce/latest/creating-an-icon-pack/ +- **Creating custom dialogs**: https://www.tiny.cloud/docs/tinymce/latest/dialog/ +- **Creating custom menu items**: https://www.tiny.cloud/docs/tinymce/latest/creating-custom-menu-items/ +- **Custom Basic menu items**: https://www.tiny.cloud/docs/tinymce/latest/custom-basic-menu-items/ +- **Custom Nested menu items**: https://www.tiny.cloud/docs/tinymce/latest/custom-nested-menu-items/ +- **Custom Toggle menu items**: https://www.tiny.cloud/docs/tinymce/latest/custom-toggle-menu-items/ +- **Custom Basic toolbar button**: https://www.tiny.cloud/docs/tinymce/latest/custom-basic-toolbar-button/ +- **Custom Group toolbar button**: https://www.tiny.cloud/docs/tinymce/latest/custom-group-toolbar-button/ +- **Custom Menu toolbar button**: https://www.tiny.cloud/docs/tinymce/latest/custom-menu-toolbar-button/ +- **Custom Split toolbar button**: https://www.tiny.cloud/docs/tinymce/latest/custom-split-toolbar-button/ +- **Custom Toggle toolbar button**: https://www.tiny.cloud/docs/tinymce/latest/custom-toggle-toolbar-button/ +- **Custom Toolbar buttons**: https://www.tiny.cloud/docs/tinymce/latest/custom-toolbarbuttons/ +- **Customizing the UI**: https://www.tiny.cloud/docs/tinymce/latest/customize-ui/ +- **Creating custom notifications**: https://www.tiny.cloud/docs/tinymce/latest/creating-custom-notifications/ +- **Notifications**: https://www.tiny.cloud/docs/tinymce/latest/creating-custom-notifications/ + +#### Bundling & Build Tools +- **Introduction to bundling TinyMCE**: https://www.tiny.cloud/docs/tinymce/latest/introduction-to-bundling-tinymce/ +- **Introduction and initial setup**: https://www.tiny.cloud/docs/tinymce/latest/bundle-intro-setup/ +- **Bundling Plugins**: https://www.tiny.cloud/docs/tinymce/latest/bundling-plugins/ +- **Plugins**: https://www.tiny.cloud/docs/tinymce/latest/bundling-plugins/ +- **Bundling Skins**: https://www.tiny.cloud/docs/tinymce/latest/bundling-skins/ +- **Skins**: https://www.tiny.cloud/docs/tinymce/latest/bundling-skins/ +- **Bundling Themes**: https://www.tiny.cloud/docs/tinymce/latest/bundling-themes/ +- **Themes**: https://www.tiny.cloud/docs/tinymce/latest/bundling-themes/ +- **Bundling Icons**: https://www.tiny.cloud/docs/tinymce/latest/bundling-icons/ +- **Icons**: https://www.tiny.cloud/docs/tinymce/latest/bundling-icons/ +- **Bundling Content CSS**: https://www.tiny.cloud/docs/tinymce/latest/bundling-content-css/ +- **Content CSS**: https://www.tiny.cloud/docs/tinymce/latest/bundling-content-css/ +- **Bundling Models**: https://www.tiny.cloud/docs/tinymce/latest/bundling-models/ +- **Models**: https://www.tiny.cloud/docs/tinymce/latest/bundling-models/ +- **Bundling UI localizations**: https://www.tiny.cloud/docs/tinymce/latest/bundling-localization/ - **UI localizations**: https://www.tiny.cloud/docs/tinymce/latest/bundling-localization/ -- **UI options**: https://www.tiny.cloud/docs/tinymce/latest/tinydrive-ui-options/ -- **URL dialogs**: https://www.tiny.cloud/docs/tinymce/latest/urldialog/ -- **URL handling options**: https://www.tiny.cloud/docs/tinymce/latest/url-handling/ -- **Understanding editor loads**: https://www.tiny.cloud/docs/tinymce/latest/understanding-editor-loads/ -- **Upgrading TinyMCE**: https://www.tiny.cloud/docs/tinymce/latest/upgrading/ -- **User Lookup**: https://www.tiny.cloud/docs/tinymce/latest/userlookup/ -- **User formatting**: https://www.tiny.cloud/docs/tinymce/latest/user-formatting-options/ -- **Using Comments**: https://www.tiny.cloud/docs/tinymce/latest/comments-using-comments/ -- **Using a .zip package with a module bundler**: https://www.tiny.cloud/docs/tinymce/latest/react-zip-bundle/ -- **Using a .zip package**: https://www.tiny.cloud/docs/tinymce/latest/angular-zip/ -- **Using a .zip package**: https://www.tiny.cloud/docs/tinymce/latest/blazor-zip/ -- **Using a .zip package**: https://www.tiny.cloud/docs/tinymce/latest/laravel-zip-install/ -- **Using a .zip package**: https://www.tiny.cloud/docs/tinymce/latest/rails-zip/ -- **Using a .zip package**: https://www.tiny.cloud/docs/tinymce/latest/svelte-zip/ -- **Using a .zip package**: https://www.tiny.cloud/docs/tinymce/latest/vue-zip/ -- **Using a .zip package**: https://www.tiny.cloud/docs/tinymce/latest/webcomponent-zip/ -- **Using a TinyMCE .zip package in React**: https://www.tiny.cloud/docs/tinymce/latest/react-zip-host/ -- **Using a package manager with bundling**: https://www.tiny.cloud/docs/tinymce/latest/angular-pm-bundle/ -- **Using a package manager with bundling**: https://www.tiny.cloud/docs/tinymce/latest/angular-zip-bundle/ -- **Using a package manager with bundling**: https://www.tiny.cloud/docs/tinymce/latest/svelte-pm-bundle/ -- **Using a package manager with bundling**: https://www.tiny.cloud/docs/tinymce/latest/vue-pm-bundle/ -- **Using a package manager**: https://www.tiny.cloud/docs/tinymce/latest/angular-pm/ -- **Using a package manager**: https://www.tiny.cloud/docs/tinymce/latest/blazor-pm/ -- **Using a package manager**: https://www.tiny.cloud/docs/tinymce/latest/rails-third-party/ -- **Using a package manager**: https://www.tiny.cloud/docs/tinymce/latest/svelte-pm/ -- **Using a package manager**: https://www.tiny.cloud/docs/tinymce/latest/vue-pm/ -- **Using a package manager**: https://www.tiny.cloud/docs/tinymce/latest/webcomponent-pm/ -- **Using plugins to extend TinyMCE**: https://www.tiny.cloud/docs/tinymce/latest/work-with-plugins/ -- **Using the Annotations API**: https://www.tiny.cloud/docs/tinymce/latest/annotations/ -- **Using the Composer package**: https://www.tiny.cloud/docs/tinymce/latest/laravel-composer-install/ +- **CommonJS and NPM**: https://www.tiny.cloud/docs/tinymce/latest/webpack-cjs-npm/ +- **CommonJS and a .zip archive (Browserify)**: https://www.tiny.cloud/docs/tinymce/latest/browserify-cjs-download/ +- **CommonJS and a .zip archive (Webpack)**: https://www.tiny.cloud/docs/tinymce/latest/webpack-cjs-download/ +- **CommonJS and npm (Browserify)**: https://www.tiny.cloud/docs/tinymce/latest/browserify-cjs-npm/ +- **ES6 and NPM**: https://www.tiny.cloud/docs/tinymce/latest/vite-es6-npm/ +- **ES6 and a .zip archive (Rollup)**: https://www.tiny.cloud/docs/tinymce/latest/rollup-es6-download/ +- **ES6 and a .zip archive (Webpack)**: https://www.tiny.cloud/docs/tinymce/latest/webpack-es6-download/ +- **ES6 and npm (Rollup)**: https://www.tiny.cloud/docs/tinymce/latest/rollup-es6-npm/ +- **ES6 (Webpack)**: https://www.tiny.cloud/docs/tinymce/latest/webpack-es6-npm/ - **Version compatibility reference**: https://www.tiny.cloud/docs/tinymce/latest/plugin-editor-version-compatibility/ -- **Video feature of the Media Optimizer plugin**: https://www.tiny.cloud/docs/tinymce/latest/uploadcare-video/ -- **Visual Blocks**: https://www.tiny.cloud/docs/tinymce/latest/visualblocks/ -- **Visual Characters**: https://www.tiny.cloud/docs/tinymce/latest/visualchars/ -- **Vue.js**: https://www.tiny.cloud/docs/tinymce/latest/vue-cloud/ -- **Web Component**: https://www.tiny.cloud/docs/tinymce/latest/webcomponent-cloud/ -- **Word Count**: https://www.tiny.cloud/docs/tinymce/latest/wordcount/ -- **WordPress**: https://www.tiny.cloud/docs/tinymce/latest/wordpress/ -- **ZIP**: https://www.tiny.cloud/docs/tinymce/latest/installation-zip/ -- **jQuery**: https://www.tiny.cloud/docs/tinymce/latest/jquery-cloud/ -- **jQuery**: https://www.tiny.cloud/docs/tinymce/latest/jquery-pm/ -- **tiny docs ai**: https://www.tiny.cloud/docs/tinymce/latest/tiny-docs-ai/ + +#### Dialog & UI Components +- **APIs**: https://www.tiny.cloud/docs/tinymce/latest/dialog-apis/ +- **Basic configuration**: https://www.tiny.cloud/docs/tinymce/latest/dialog-configuration/ +- **Body components**: https://www.tiny.cloud/docs/tinymce/latest/dialog-components/ +- **Footer buttons**: https://www.tiny.cloud/docs/tinymce/latest/dialog-footer-buttons/ +- **Interactive examples**: https://www.tiny.cloud/docs/tinymce/latest/dialog-examples/ +- **URL dialogs**: https://www.tiny.cloud/docs/tinymce/latest/urldialog/ +- **UI components**: https://www.tiny.cloud/docs/tinymce/latest/ui-components/ + +#### Enhanced Skins & Icons +- **Enhanced Skins & Icon Packs**: https://www.tiny.cloud/docs/tinymce/latest/enhanced-skins-and-icon-packs/ +- **Icon Pack Template**: https://www.tiny.cloud/docs/tinymce/latest/using-the-icon-pack-template/ +- **Custom Icon Pack Demo**: https://www.tiny.cloud/docs/tinymce/latest/custom-icon-pack-demo/ + +### API Reference + +#### Core APIs - **tinymce**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.root/ - **tinymce.AddOnManager**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.addonmanager/ -- **tinymce.Annotator**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.annotator/ - **tinymce.Editor**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.editor/ - **tinymce.EditorManager**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.editormanager/ - **tinymce.EditorMode**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.editormode/ - **tinymce.EditorOptions**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.editoroptions/ - **tinymce.EditorUpload**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.editorupload/ -- **tinymce.Env**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.env/ -- **tinymce.Event**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.event/ -- **tinymce.FakeClipboard**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.fakeclipboard/ -- **tinymce.Formatter**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.formatter/ -- **tinymce.NotificationManager**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.notificationmanager/ - **tinymce.Plugin**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.plugin/ -- **tinymce.Shortcuts**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.shortcuts/ - **tinymce.Theme**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.theme/ + +#### UI APIs +- **tinymce.WindowManager**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.windowmanager/ +- **tinymce.NotificationManager**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.notificationmanager/ +- **tinymce.Shortcuts**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.shortcuts/ +- **tinymce.editor.ui.Registry**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.editor.ui.registry/ +- **tinymce.editor.ui.Ui**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.editor.ui.ui/ + +#### Utility APIs +- **tinymce.Env**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.env/ +- **tinymce.Event**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.event/ - **tinymce.UndoManager**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.undomanager/ +- **tinymce.Formatter**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.formatter/ +- **tinymce.Annotator**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.annotator/ - **tinymce.UserLookup**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.userlookup/ -- **tinymce.WindowManager**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.windowmanager/ -- **tinymce.dom.BookmarkManager**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.dom.bookmarkmanager/ +- **tinymce.FakeClipboard**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.fakeclipboard/ + +#### DOM APIs - **tinymce.dom.DOMUtils**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.dom.domutils/ -- **tinymce.dom.EventUtils**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.dom.eventutils/ -- **tinymce.dom.RangeUtils**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.dom.rangeutils/ -- **tinymce.dom.ScriptLoader**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.dom.scriptloader/ - **tinymce.dom.Selection**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.dom.selection/ - **tinymce.dom.Serializer**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.dom.serializer/ +- **tinymce.dom.RangeUtils**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.dom.rangeutils/ +- **tinymce.dom.BookmarkManager**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.dom.bookmarkmanager/ +- **tinymce.dom.EventUtils**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.dom.eventutils/ +- **tinymce.dom.ScriptLoader**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.dom.scriptloader/ - **tinymce.dom.StyleSheetLoader**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.dom.stylesheetloader/ - **tinymce.dom.TextSeeker**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.dom.textseeker/ - **tinymce.dom.TreeWalker**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.dom.treewalker/ -- **tinymce.editor.ui.Registry**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.editor.ui.registry/ -- **tinymce.editor.ui.Ui**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.editor.ui.ui/ -- **tinymce.geom.Rect**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.geom.rect/ + +#### HTML APIs - **tinymce.html.DomParser**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.html.domparser/ -- **tinymce.html.Entities**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.html.entities/ -- **tinymce.html.Node**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.html.node/ -- **tinymce.html.Schema**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.html.schema/ - **tinymce.html.Serializer**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.html.serializer/ +- **tinymce.html.Schema**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.html.schema/ +- **tinymce.html.Node**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.html.node/ +- **tinymce.html.Entities**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.html.entities/ - **tinymce.html.Styles**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.html.styles/ - **tinymce.html.Writer**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.html.writer/ + +#### Utility APIs - **tinymce.util.Delay**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.util.delay/ - **tinymce.util.EventDispatcher**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.util.eventdispatcher/ - **tinymce.util.I18n**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.util.i18n/ @@ -629,3 +698,85 @@ This section provides a complete list of all 395 documentation pages available i - **tinymce.util.Observable**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.util.observable/ - **tinymce.util.Tools**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.util.tools/ - **tinymce.util.URI**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.util.uri/ + +#### Geometry APIs +- **tinymce.geom.Rect**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.geom.rect/ + +### Migration Guides + +- **Upgrading TinyMCE**: https://www.tiny.cloud/docs/tinymce/latest/upgrading/ +- **Migration Guides Overview**: https://www.tiny.cloud/docs/tinymce/latest/migration-guides/ +- **Migration from 7.x**: https://www.tiny.cloud/docs/tinymce/latest/migration-from-7x/ +- **Migration from 6.x**: https://www.tiny.cloud/docs/tinymce/latest/migration-from-6x/ +- **Migration from 6.x to 8.x**: https://www.tiny.cloud/docs/tinymce/latest/migration-from-6x-to-8x/ +- **Migration from 5.x**: https://www.tiny.cloud/docs/tinymce/latest/migration-from-5x/ +- **Migration from 5.x to 8.x**: https://www.tiny.cloud/docs/tinymce/latest/migration-from-5x-to-8x/ +- **Migration from 4.x**: https://www.tiny.cloud/docs/tinymce/latest/migration-from-4x/ +- **Migration from 4.x to 8.x**: https://www.tiny.cloud/docs/tinymce/latest/migration-from-4x-to-8x/ +- **Migrating from Froala**: https://www.tiny.cloud/docs/tinymce/latest/migration-from-froala/ + +### Examples & Demos + +- **Examples**: https://www.tiny.cloud/docs/tinymce/latest/examples/ +- **TinyMCE examples**: https://www.tiny.cloud/docs/tinymce/latest/examples/ +- **Basic example**: https://www.tiny.cloud/docs/tinymce/latest/basic-example/ +- **How To Guides**: https://www.tiny.cloud/docs/tinymce/latest/how-to-guides/ +- **Bootstrap Demo**: https://www.tiny.cloud/docs/tinymce/latest/bootstrap-demo/ +- **Borderless Demo**: https://www.tiny.cloud/docs/tinymce/latest/borderless-demo/ +- **Classic editor mode**: https://www.tiny.cloud/docs/tinymce/latest/classic-demo/ +- **Distraction-free editor**: https://www.tiny.cloud/docs/tinymce/latest/distraction-free-demo/ +- **Fabric Demo**: https://www.tiny.cloud/docs/tinymce/latest/fabric-demo/ +- **Fluent Demo**: https://www.tiny.cloud/docs/tinymce/latest/fluent-demo/ +- **Inline editor**: https://www.tiny.cloud/docs/tinymce/latest/inline-demo/ +- **Jam Icons Demo**: https://www.tiny.cloud/docs/tinymce/latest/jam-demo/ +- **Material Classic Demo**: https://www.tiny.cloud/docs/tinymce/latest/material-classic-demo/ +- **Material Outline Demo**: https://www.tiny.cloud/docs/tinymce/latest/material-outline-demo/ +- **Naked Demo**: https://www.tiny.cloud/docs/tinymce/latest/naked-demo/ +- **Outside Demo**: https://www.tiny.cloud/docs/tinymce/latest/outside-demo/ +- **Small Icons Demo**: https://www.tiny.cloud/docs/tinymce/latest/small-demo/ +- **Snow Demo**: https://www.tiny.cloud/docs/tinymce/latest/snow-demo/ +- **Full-featured open source demo**: https://www.tiny.cloud/docs/tinymce/latest/full-featured-open-source-demo/ +- **Excluding premium features**: https://www.tiny.cloud/docs/tinymce/latest/full-featured-open-source-demo/ +- **Full-featured premium demo**: https://www.tiny.cloud/docs/tinymce/latest/full-featured-premium-demo/ +- **Including premium features**: https://www.tiny.cloud/docs/tinymce/latest/full-featured-premium-demo/ + +### Release Information + +- **Release Notes**: https://www.tiny.cloud/docs/tinymce/latest/release-notes/ +- **Release notes for TinyMCE**: https://www.tiny.cloud/docs/tinymce/latest/release-notes/ +- **Changelog**: https://www.tiny.cloud/docs/tinymce/latest/changelog/ +- **TinyMCE 8.0.0**: https://www.tiny.cloud/docs/tinymce/latest/8.0-release-notes/ +- **TinyMCE 8.0.1**: https://www.tiny.cloud/docs/tinymce/latest/8.0.1-release-notes/ +- **TinyMCE 8.0.2**: https://www.tiny.cloud/docs/tinymce/latest/8.0.2-release-notes/ +- **TinyMCE 8.1.0**: https://www.tiny.cloud/docs/tinymce/latest/8.1.0-release-notes/ +- **TinyMCE 8.1.1**: https://www.tiny.cloud/docs/tinymce/latest/8.1.1-release-notes/ +- **TinyMCE 8.1.2**: https://www.tiny.cloud/docs/tinymce/latest/8.1.2-release-notes/ +- **TinyMCE 8.2.0**: https://www.tiny.cloud/docs/tinymce/latest/8.2.0-release-notes/ +- **TinyMCE 8.2.1**: https://www.tiny.cloud/docs/tinymce/latest/8.2.1-release-notes/ +- **TinyMCE 8.2.2**: https://www.tiny.cloud/docs/tinymce/latest/8.2.2-release-notes/ +- **TinyMCE 8.3.0**: https://www.tiny.cloud/docs/tinymce/latest/8.3.0-release-notes/ +- **TinyMCE 8.3.1**: https://www.tiny.cloud/docs/tinymce/latest/8.3.1-release-notes/ +- **TinyMCE 8.3.2**: https://www.tiny.cloud/docs/tinymce/latest/8.3.2-release-notes/ + +### Accessibility & Security + +- **Accessibility**: https://www.tiny.cloud/docs/tinymce/latest/accessibility/ +- **Accessibility Guide**: https://www.tiny.cloud/docs/tinymce/latest/tinymce-and-screenreaders/ +- **Accessibility Checker**: https://www.tiny.cloud/docs/tinymce/latest/a11ychecker/ +- **Security guide**: https://www.tiny.cloud/docs/tinymce/latest/security/ +- **TinyMCE for mobile**: https://www.tiny.cloud/docs/tinymce/latest/tinymce-for-mobile/ +- **Keyboard Shortcuts**: https://www.tiny.cloud/docs/tinymce/latest/shortcuts/ +- **TinyMCE Keyboard shortcuts**: https://www.tiny.cloud/docs/tinymce/latest/keyboard-shortcuts/ + +### Support & Resources + +- **Support**: https://www.tiny.cloud/docs/tinymce/latest/support/ +- **Documentation Home**: https://www.tiny.cloud/docs/tinymce/latest/ +- **TinyMCE Premium upgrade promotion**: https://www.tiny.cloud/docs/tinymce/latest/promotions/ +- **tiny docs ai**: https://www.tiny.cloud/docs/tinymce/latest/tiny-docs-ai/ + +### Legacy & Other + +- **MoxieManager**: https://www.tiny.cloud/docs/tinymce/latest/moxiemanager/ +- **PHP image upload handler**: https://www.tiny.cloud/docs/tinymce/latest/php-upload-handler/ +- **Reusable template creation**: https://www.tiny.cloud/docs/tinymce/latest/ie-template-creation/ diff --git a/modules/ROOT/attachments/llms.txt b/modules/ROOT/attachments/llms.txt index 741382d828..461afa766b 100644 --- a/modules/ROOT/attachments/llms.txt +++ b/modules/ROOT/attachments/llms.txt @@ -2,6 +2,8 @@ > Rich text editor for web applications. The latest stable version is TinyMCE 8. +TinyMCE is a powerful, flexible WYSIWYG rich text editor that can be integrated into any web application. This documentation covers installation, configuration, integration with popular frameworks, API reference, plugins, and advanced features. + **IMPORTANT**: Always use TinyMCE 8 for new projects. Use `tinymce@8` or `tinymce/8` in CDN URLs and package installations. ## Getting Started @@ -28,52 +30,62 @@ ### Frontend Frameworks -- [React Integration](https://www.tiny.cloud/docs/tinymce/latest/integrations/react/): React integration overview +- [React Integration](https://www.tiny.cloud/docs/tinymce/latest/react/): React integration overview - [React Cloud](https://www.tiny.cloud/docs/tinymce/latest/react-cloud/): React with Tiny Cloud - [React Package Manager](https://www.tiny.cloud/docs/tinymce/latest/react-pm-host/): React with package manager - [React ZIP](https://www.tiny.cloud/docs/tinymce/latest/react-zip-host/): React with ZIP package -- [Vue.js Integration](https://www.tiny.cloud/docs/tinymce/latest/integrations/vue/): Vue.js integration overview +- [Vue.js Integration](https://www.tiny.cloud/docs/tinymce/latest/vue/): Vue.js integration overview - [Vue Cloud](https://www.tiny.cloud/docs/tinymce/latest/vue-cloud/): Vue.js with Tiny Cloud - [Vue Package Manager](https://www.tiny.cloud/docs/tinymce/latest/vue-pm/): Vue.js with package manager - [Vue ZIP](https://www.tiny.cloud/docs/tinymce/latest/vue-zip/): Vue.js with ZIP package -- [Angular Integration](https://www.tiny.cloud/docs/tinymce/latest/integrations/angular/): Angular integration overview +- [Angular Integration](https://www.tiny.cloud/docs/tinymce/latest/angular/): Angular integration overview - [Angular Cloud](https://www.tiny.cloud/docs/tinymce/latest/angular-cloud/): Angular with Tiny Cloud - [Angular Package Manager](https://www.tiny.cloud/docs/tinymce/latest/angular-pm/): Angular with package manager - [Angular ZIP](https://www.tiny.cloud/docs/tinymce/latest/angular-zip/): Angular with ZIP package -- [Blazor Integration](https://www.tiny.cloud/docs/tinymce/latest/integrations/blazor/): Blazor integration overview +- [Blazor Integration](https://www.tiny.cloud/docs/tinymce/latest/blazor/): Blazor integration overview - [Blazor Cloud](https://www.tiny.cloud/docs/tinymce/latest/blazor-cloud/): Blazor with Tiny Cloud - [Blazor Package Manager](https://www.tiny.cloud/docs/tinymce/latest/blazor-pm/): Blazor with package manager - [Blazor ZIP](https://www.tiny.cloud/docs/tinymce/latest/blazor-zip/): Blazor with ZIP package -- [Svelte Integration](https://www.tiny.cloud/docs/tinymce/latest/integrations/svelte/): Svelte integration overview +- [Svelte Integration](https://www.tiny.cloud/docs/tinymce/latest/svelte/): Svelte integration overview - [Svelte Cloud](https://www.tiny.cloud/docs/tinymce/latest/svelte-cloud/): Svelte with Tiny Cloud - [Svelte Package Manager](https://www.tiny.cloud/docs/tinymce/latest/svelte-pm/): Svelte with package manager - [Svelte ZIP](https://www.tiny.cloud/docs/tinymce/latest/svelte-zip/): Svelte with ZIP package -- [Web Component Integration](https://www.tiny.cloud/docs/tinymce/latest/integrations/webcomponent/): Web Component integration +- [Web Component Integration](https://www.tiny.cloud/docs/tinymce/latest/webcomponent/): Web Component integration - [Web Component Cloud](https://www.tiny.cloud/docs/tinymce/latest/webcomponent-cloud/): Web Component with Tiny Cloud - [Web Component Package Manager](https://www.tiny.cloud/docs/tinymce/latest/webcomponent-pm/): Web Component with package manager - [Web Component ZIP](https://www.tiny.cloud/docs/tinymce/latest/webcomponent-zip/): Web Component with ZIP package -- [jQuery Integration](https://www.tiny.cloud/docs/tinymce/latest/integrations/jquery/): jQuery integration +- [jQuery Integration](https://www.tiny.cloud/docs/tinymce/latest/jquery/): jQuery integration - [jQuery Cloud](https://www.tiny.cloud/docs/tinymce/latest/jquery-cloud/): jQuery with Tiny Cloud - [jQuery Package Manager](https://www.tiny.cloud/docs/tinymce/latest/jquery-pm/): jQuery with package manager ### Backend Frameworks -- [Django Integration](https://www.tiny.cloud/docs/tinymce/latest/integrations/django/): Django integration +- [Django Integration](https://www.tiny.cloud/docs/tinymce/latest/django/): Django integration - [Django Cloud](https://www.tiny.cloud/docs/tinymce/latest/django-cloud/): Django with Tiny Cloud - [Django ZIP](https://www.tiny.cloud/docs/tinymce/latest/django-zip/): Django with ZIP package -- [Laravel Integration](https://www.tiny.cloud/docs/tinymce/latest/integrations/laravel/): Laravel integration +- [Laravel Integration](https://www.tiny.cloud/docs/tinymce/latest/laravel/): Laravel integration - [Laravel Cloud](https://www.tiny.cloud/docs/tinymce/latest/laravel-tiny-cloud/): Laravel with Tiny Cloud - [Laravel Composer](https://www.tiny.cloud/docs/tinymce/latest/laravel-composer-install/): Laravel with Composer - [Laravel ZIP](https://www.tiny.cloud/docs/tinymce/latest/laravel-zip-install/): Laravel with ZIP package -- [Ruby on Rails Integration](https://www.tiny.cloud/docs/tinymce/latest/integrations/rails/): Ruby on Rails integration +- [Ruby on Rails Integration](https://www.tiny.cloud/docs/tinymce/latest/rails/): Ruby on Rails integration - [Rails Cloud](https://www.tiny.cloud/docs/tinymce/latest/rails-cloud/): Rails with Tiny Cloud - [Rails Package Manager](https://www.tiny.cloud/docs/tinymce/latest/rails-third-party/): Rails with package manager - [Rails ZIP](https://www.tiny.cloud/docs/tinymce/latest/rails-zip/): Rails with ZIP package -- [Node.js + Express Integration](https://www.tiny.cloud/docs/tinymce/latest/integrations/expressjs/): Node.js and Express integration +- [Node.js + Express Integration](https://www.tiny.cloud/docs/tinymce/latest/expressjs-pm/): Node.js and Express integration - [Express Package Manager](https://www.tiny.cloud/docs/tinymce/latest/expressjs-pm/): Express with package manager +### Other Integrations + +- [Bootstrap Integration](https://www.tiny.cloud/docs/tinymce/latest/bootstrap/): Bootstrap integration +- [PHP Projects](https://www.tiny.cloud/docs/tinymce/latest/php-projects/): PHP integration +- [.NET Projects](https://www.tiny.cloud/docs/tinymce/latest/dotnet-projects/): .NET integration +- [WordPress Integration](https://www.tiny.cloud/docs/tinymce/latest/wordpress/): WordPress integration +- [Shadow DOM](https://www.tiny.cloud/docs/tinymce/latest/shadow-dom/): Shadow DOM integration + ## Configuration +### Basic Configuration + - [Basic Setup](https://www.tiny.cloud/docs/tinymce/latest/basic-setup/): Essential configuration options - [Working with Plugins](https://www.tiny.cloud/docs/tinymce/latest/work-with-plugins/): How to use plugins - [Content Filtering](https://www.tiny.cloud/docs/tinymce/latest/filter-content/): Content filtering options @@ -82,39 +94,92 @@ - [Content CSS](https://www.tiny.cloud/docs/tinymce/latest/editor-content-css/): CSS for rendering content - [URL Handling](https://www.tiny.cloud/docs/tinymce/latest/url-handling/): URL handling options +### Advanced Configuration + +- [Editor Themes](https://www.tiny.cloud/docs/tinymce/latest/editor-theme/): Customizing editor themes +- [Editor Skins](https://www.tiny.cloud/docs/tinymce/latest/editor-skin/): Customizing editor skins +- [Toolbar Configuration](https://www.tiny.cloud/docs/tinymce/latest/toolbar-configuration-options/): Toolbar customization +- [Menu Configuration](https://www.tiny.cloud/docs/tinymce/latest/menus-configuration-options/): Menu customization +- [Content Security Policy](https://www.tiny.cloud/docs/tinymce/latest/tinymce-and-csp/): CSP configuration +- [CORS Configuration](https://www.tiny.cloud/docs/tinymce/latest/tinymce-and-cors/): CORS setup + +## Plugins and Features + +### Core Plugins + +- [Plugins Overview](https://www.tiny.cloud/docs/tinymce/latest/plugins/): Complete list of available plugins +- [Table Plugin](https://www.tiny.cloud/docs/tinymce/latest/table/): Advanced table editing +- [Image Plugin](https://www.tiny.cloud/docs/tinymce/latest/image/): Image insertion and editing +- [Link Plugin](https://www.tiny.cloud/docs/tinymce/latest/link/): Link management +- [Lists Plugin](https://www.tiny.cloud/docs/tinymce/latest/lists/): List formatting +- [Code Plugin](https://www.tiny.cloud/docs/tinymce/latest/code/): Code view and editing + +### Premium Features + +- [AI Assistant](https://www.tiny.cloud/docs/tinymce/latest/ai/): AI-powered writing assistance +- [Comments](https://www.tiny.cloud/docs/tinymce/latest/introduction-to-tiny-comments/): Collaborative commenting +- [Export to PDF](https://www.tiny.cloud/docs/tinymce/latest/exportpdf/): PDF export functionality +- [Export to Word](https://www.tiny.cloud/docs/tinymce/latest/exportword/): Word document export +- [Import from Word](https://www.tiny.cloud/docs/tinymce/latest/importword/): Word document import +- [PowerPaste](https://www.tiny.cloud/docs/tinymce/latest/introduction-to-powerpaste/): Advanced paste handling +- [TinyDrive](https://www.tiny.cloud/docs/tinymce/latest/tinydrive-introduction/): Cloud file management + ## API Reference -- [Complete API Reference](https://www.tiny.cloud/docs/tinymce/latest/apis/): Full API documentation - [Editor API](https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.editor/): Editor API reference - [Plugin API](https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.plugin/): Plugin API reference -- [Configuration Options](https://www.tiny.cloud/docs/tinymce/latest/configuration/): All configuration options +- [EditorManager API](https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.editormanager/): EditorManager API reference +- [WindowManager API](https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.windowmanager/): WindowManager API reference +- [Complete API Reference](https://www.tiny.cloud/docs/tinymce/latest/apis/): Full API documentation index ## Examples and Guides - [Examples](https://www.tiny.cloud/docs/tinymce/latest/examples/): Code examples and demos - [How-to Guides](https://www.tiny.cloud/docs/tinymce/latest/how-to-guides/): Step-by-step guides -- [Release Notes](https://www.tiny.cloud/docs/tinymce/latest/release-notes/): TinyMCE 8 release notes -- [Upgrading TinyMCE](https://www.tiny.cloud/docs/tinymce/latest/upgrading/): Upgrade guide +- [Basic Example](https://www.tiny.cloud/docs/tinymce/latest/basic-example/): Simple implementation example + +## Migration and Upgrading + +- [Upgrading TinyMCE](https://www.tiny.cloud/docs/tinymce/latest/upgrading/): General upgrade guide - [Migration from 7.x](https://www.tiny.cloud/docs/tinymce/latest/migration-from-7x/): Migration guide from TinyMCE 7 +- [Migration from 6.x](https://www.tiny.cloud/docs/tinymce/latest/migration-from-6x/): Migration guide from TinyMCE 6 +- [Migration from 5.x](https://www.tiny.cloud/docs/tinymce/latest/migration-from-5x/): Migration guide from TinyMCE 5 +- [Migration from 4.x](https://www.tiny.cloud/docs/tinymce/latest/migration-from-4x/): Migration guide from TinyMCE 4 +- [Migration Guides Overview](https://www.tiny.cloud/docs/tinymce/latest/migration-guides/): All migration guides + +## Release Information + +- [Release Notes](https://www.tiny.cloud/docs/tinymce/latest/release-notes/): TinyMCE 8 release notes +- [Changelog](https://www.tiny.cloud/docs/tinymce/latest/changelog/): Detailed changelog ## CDN and Package Information -**Cloud CDN (Recommended)**: +### Cloud CDN (Recommended) ``` https://cdn.tiny.cloud/1/[api-key]/tinymce/8/tinymce.min.js ``` +Replace `[api-key]` with your Tiny Cloud API key. -**jsDelivr CDN**: +### jsDelivr CDN ``` https://cdn.jsdelivr.net/npm/tinymce@8/tinymce.min.js ``` -**Package Manager Installation**: +### Package Manager Installation - npm: `npm install tinymce@8` - yarn: `yarn add tinymce@8` - pnpm: `pnpm add tinymce@8` +- Composer (PHP): `composer require tinymce/tinymce` +- NuGet (.NET): `Install-Package TinyMCE` -**Integration Packages**: +### Integration Packages - React: `npm install @tinymce/tinymce-react tinymce@8` - Vue: `npm install @tinymce/tinymce-vue tinymce@8` - Angular: `npm install @tinymce/tinymce-angular tinymce@8` + +## Support and Resources + +- [Documentation Home](https://www.tiny.cloud/docs/tinymce/latest/): Main documentation page +- [Support](https://www.tiny.cloud/docs/tinymce/latest/support/): Get help and support +- [Accessibility Guide](https://www.tiny.cloud/docs/tinymce/latest/accessibility/): Accessibility features and best practices +- [Security Guide](https://www.tiny.cloud/docs/tinymce/latest/security/): Security best practices diff --git a/modules/ROOT/pages/angular.adoc b/modules/ROOT/pages/angular.adoc new file mode 100644 index 0000000000..f1125b0a09 --- /dev/null +++ b/modules/ROOT/pages/angular.adoc @@ -0,0 +1,70 @@ += Using {productname} in Angular +:navtitle: Angular +:description: Integrate TinyMCE into your Angular application. Choose from Cloud, self-hosted, or ZIP installation methods. +:keywords: integration, integrate, angular, tinymce-angular, tinymce + +{productname} provides official Angular integration through the link:https://github.com/tinymce/tinymce-angular[{productname} Angular component^] (`@tinymce/tinymce-angular`). This component is a thin wrapper around {productname} that makes it easy to integrate the editor into Angular applications. + +== Installation methods + +Choose the installation method that best fits your project: + +=== Cloud + +The fastest way to get started with {productname} in Angular. The editor is loaded from the {cloudname} CDN. + +[cols=2*a] +|=== + +| +[.lead] +xref:angular-cloud.adoc[Using {cloudname}] + +Get started quickly with {productname} using the {cloudname} CDN. No build configuration required. + +// Empty cell to even out rows +| + +|=== + +=== Self-hosted + +Install {productname} using npm, Yarn, or other package managers. Choose between hosting the editor files as static assets or bundling them with your application. + +[cols=2*a] +|=== + +| +[.lead] +xref:angular-pm.adoc[Using a package manager] + +Host {productname} files as static assets. Simple setup with no bundling configuration. + +| +[.lead] +xref:angular-pm-bundle.adoc[Using a package manager with bundling] + +Bundle {productname} with your Angular application using webpack, Vite, or other bundlers. Optimize your bundle size by including only the components you need. + +|=== + +=== ZIP + +Download and install {productname} from a .zip archive. Suitable for traditional web deployments. + +[cols=2*a] +|=== + +| +[.lead] +xref:angular-zip.adoc[Using a .zip package] + +Extract {productname} from a .zip archive and host the files as static assets. + +| +[.lead] +xref:angular-zip-bundle.adoc[Bundle TinyMCE from a .zip package] + +Extract {productname} from a .zip archive and bundle it with your Angular application. + +|=== diff --git a/modules/ROOT/pages/blazor.adoc b/modules/ROOT/pages/blazor.adoc new file mode 100644 index 0000000000..a6807d3ff4 --- /dev/null +++ b/modules/ROOT/pages/blazor.adoc @@ -0,0 +1,64 @@ += Using {productname} in Blazor +:navtitle: Blazor +:description: Integrate TinyMCE into your Blazor application. Choose from Cloud, self-hosted, or ZIP installation methods. +:keywords: integration, integrate, blazor, blazorapp, tinymce + +{productname} can be integrated into Blazor applications using the standard {productname} JavaScript API. + +== Installation methods + +Choose the installation method that best fits your project: + +=== Cloud + +The fastest way to get started with {productname} in Blazor. The editor is loaded from the {cloudname} CDN. + +[cols=2*a] +|=== + +| +[.lead] +xref:blazor-cloud.adoc[Using {cloudname}] + +Get started quickly with {productname} using the {cloudname} CDN. No build configuration required. + +// Empty cell to even out rows +| + +|=== + +=== Self-hosted + +Install {productname} using npm, Yarn, or other package managers. + +[cols=2*a] +|=== + +| +[.lead] +xref:blazor-pm.adoc[Using a package manager] + +Install and configure {productname} in your Blazor application using a package manager. + +// Empty cell to even out rows +| + +|=== + +=== ZIP + +Download and install {productname} from a .zip archive. Suitable for traditional web deployments. + +[cols=2*a] +|=== + +| +[.lead] +xref:blazor-zip.adoc[Using a .zip package] + +Extract {productname} from a .zip archive and integrate it into your Blazor application. + +// Empty cell to even out rows +| + +|=== diff --git a/modules/ROOT/pages/bootstrap.adoc b/modules/ROOT/pages/bootstrap.adoc new file mode 100644 index 0000000000..fcf0dcbeda --- /dev/null +++ b/modules/ROOT/pages/bootstrap.adoc @@ -0,0 +1,46 @@ += Using {productname} with Bootstrap +:navtitle: Bootstrap +:description: Integrate TinyMCE with Bootstrap. Choose from Cloud or ZIP installation methods. +:keywords: integration, integrate, bootstrap, css-framework, tinymce + +{productname} can be integrated with Bootstrap CSS framework to provide rich text editing capabilities that match your Bootstrap-styled application. + +== Installation methods + +Choose the installation method that best fits your project: + +=== Cloud + +The fastest way to get started with {productname} and Bootstrap. The editor is loaded from the {cloudname} CDN. + +[cols=2*a] +|=== + +| +[.lead] +xref:bootstrap-cloud.adoc[Using {cloudname}] + +Get started quickly with {productname} using the {cloudname} CDN. No build configuration required. + +// Empty cell to even out rows +| + +|=== + +=== ZIP + +Download and install {productname} from a .zip archive. Suitable for traditional web deployments. + +[cols=2*a] +|=== + +| +[.lead] +xref:bootstrap-zip.adoc[Using a .zip package] + +Extract {productname} from a .zip archive and integrate it with your Bootstrap application. + +// Empty cell to even out rows +| + +|=== diff --git a/modules/ROOT/pages/django.adoc b/modules/ROOT/pages/django.adoc new file mode 100644 index 0000000000..7c459a3b8e --- /dev/null +++ b/modules/ROOT/pages/django.adoc @@ -0,0 +1,46 @@ += Using {productname} in Django +:navtitle: Django +:description: Integrate TinyMCE into your Django application. Choose from Cloud or ZIP installation methods. +:keywords: integration, integrate, django, python, tinymce + +{productname} can be integrated into Django applications to provide rich text editing capabilities. + +== Installation methods + +Choose the installation method that best fits your project: + +=== Cloud + +The fastest way to get started with {productname} in Django. The editor is loaded from the {cloudname} CDN. + +[cols=2*a] +|=== + +| +[.lead] +xref:django-cloud.adoc[Using {cloudname}] + +Get started quickly with {productname} using the {cloudname} CDN. No build configuration required. + +// Empty cell to even out rows +| + +|=== + +=== ZIP + +Download and install {productname} from a .zip archive. Suitable for traditional web deployments. + +[cols=2*a] +|=== + +| +[.lead] +xref:django-zip.adoc[Using a .zip package] + +Extract {productname} from a .zip archive and integrate it into your Django application. + +// Empty cell to even out rows +| + +|=== diff --git a/modules/ROOT/pages/installation.adoc b/modules/ROOT/pages/installation.adoc index 2adf73388b..55ddcc50ec 100644 --- a/modules/ROOT/pages/installation.adoc +++ b/modules/ROOT/pages/installation.adoc @@ -30,45 +30,45 @@ The following packages are thin wrappers around {productname} to make it easier | [.lead] -xref:react-cloud.adoc[React] +xref:react.adoc[React] -Integrate {productname} into your React application using the {cloudname}. +Integrate {productname} into your React application. | [.lead] -xref:angular-cloud.adoc[Angular] +xref:angular.adoc[Angular] -Integrate {productname} into your Angular application using the {cloudname}. +Integrate {productname} into your Angular application. | [.lead] -xref:vue-cloud.adoc[Vue.js] +xref:vue.adoc[Vue.js] -Integrate {productname} into your Vue.js application using the {cloudname}. +Integrate {productname} into your Vue.js application. | [.lead] -xref:blazor-cloud.adoc[Blazor] +xref:blazor.adoc[Blazor] -Integrate {productname} into your Blazor application using the {cloudname}. +Integrate {productname} into your Blazor application. | [.lead] -xref:svelte-cloud.adoc[Svelte] +xref:svelte.adoc[Svelte] -Integrate {productname} into your Svelte application using the {cloudname}. +Integrate {productname} into your Svelte application. | [.lead] -xref:webcomponent-cloud.adoc[Web Component] +xref:webcomponent.adoc[Web Component] -Integrate {productname} as a web component using the {cloudname}. +Integrate {productname} as a web component. | [.lead] -xref:jquery-cloud.adoc[jQuery] +xref:jquery.adoc[jQuery] -Integrate {productname} with the jQuery JavaScript library using the {cloudname}. +Integrate {productname} with the jQuery JavaScript library. // Empty cell to even out rows | @@ -81,21 +81,21 @@ Integrate {productname} with the jQuery JavaScript library using the {cloudname} | [.lead] -xref:django-cloud.adoc[Django] +xref:django.adoc[Django] -Integrate {productname} into your Django application using the {cloudname}. +Integrate {productname} into your Django application. | [.lead] -xref:laravel-tiny-cloud.adoc[Laravel] +xref:laravel.adoc[Laravel] -Integrate {productname} into your Laravel application using the {cloudname}. +Integrate {productname} into your Laravel application. | [.lead] -xref:rails-cloud.adoc[Ruby on Rails] +xref:rails.adoc[Ruby on Rails] -Integrate {productname} into your Ruby on Rails application using the {cloudname}. +Integrate {productname} into your Ruby on Rails application. // Empty cell to even out rows | @@ -110,8 +110,8 @@ Integrate {productname} into your Ruby on Rails application using the {cloudname | [.lead] -xref:bootstrap-cloud.adoc[Bootstrap] +xref:bootstrap.adoc[Bootstrap] -Integrate {productname} with the Bootstrap CSS framework using the {cloudname}. +Integrate {productname} with the Bootstrap CSS framework. | |=== diff --git a/modules/ROOT/pages/jquery.adoc b/modules/ROOT/pages/jquery.adoc new file mode 100644 index 0000000000..16f5c84ab7 --- /dev/null +++ b/modules/ROOT/pages/jquery.adoc @@ -0,0 +1,46 @@ += Using {productname} with jQuery +:navtitle: jQuery +:description: Integrate TinyMCE with jQuery. Choose from Cloud or self-hosted installation methods. +:keywords: integration, integrate, jquery, javascript, tinymce + +{productname} provides official jQuery integration through the link:https://github.com/tinymce/tinymce-jquery[{productname} jQuery integration^] (`@tinymce/tinymce-jquery`). This integration makes it easy to use {productname} with jQuery. + +== Installation methods + +Choose the installation method that best fits your project: + +=== Cloud + +The fastest way to get started with {productname} and jQuery. The editor is loaded from the {cloudname} CDN. + +[cols=2*a] +|=== + +| +[.lead] +xref:jquery-cloud.adoc[Using {cloudname}] + +Get started quickly with {productname} using the {cloudname} CDN. No build configuration required. + +// Empty cell to even out rows +| + +|=== + +=== Self-hosted + +Install {productname} using npm, Yarn, or other package managers. + +[cols=2*a] +|=== + +| +[.lead] +xref:jquery-pm.adoc[Using a package manager] + +Install and configure {productname} with jQuery using a package manager. + +// Empty cell to even out rows +| + +|=== diff --git a/modules/ROOT/pages/laravel.adoc b/modules/ROOT/pages/laravel.adoc new file mode 100644 index 0000000000..d3cea96af8 --- /dev/null +++ b/modules/ROOT/pages/laravel.adoc @@ -0,0 +1,64 @@ += Using {productname} in Laravel +:navtitle: Laravel +:description: Integrate TinyMCE into your Laravel application. Choose from Cloud, Composer, or ZIP installation methods. +:keywords: integration, integrate, laravel, php, composer, tinymce + +{productname} can be integrated into Laravel applications to provide rich text editing capabilities. + +== Installation methods + +Choose the installation method that best fits your project: + +=== Cloud + +The fastest way to get started with {productname} in Laravel. The editor is loaded from the {cloudname} CDN. + +[cols=2*a] +|=== + +| +[.lead] +xref:laravel-tiny-cloud.adoc[Using {cloudname}] + +Get started quickly with {productname} using the {cloudname} CDN. No build configuration required. + +// Empty cell to even out rows +| + +|=== + +=== Self-hosted + +Install {productname} using Composer. + +[cols=2*a] +|=== + +| +[.lead] +xref:laravel-composer-install.adoc[Using the Composer package] + +Install and configure {productname} in your Laravel application using Composer. + +// Empty cell to even out rows +| + +|=== + +=== ZIP + +Download and install {productname} from a .zip archive. Suitable for traditional web deployments. + +[cols=2*a] +|=== + +| +[.lead] +xref:laravel-zip-install.adoc[Using a .zip package] + +Extract {productname} from a .zip archive and integrate it into your Laravel application. + +// Empty cell to even out rows +| + +|=== diff --git a/modules/ROOT/pages/rails.adoc b/modules/ROOT/pages/rails.adoc new file mode 100644 index 0000000000..24e5b577af --- /dev/null +++ b/modules/ROOT/pages/rails.adoc @@ -0,0 +1,64 @@ += Using {productname} in Ruby on Rails +:navtitle: Ruby on Rails +:description: Integrate TinyMCE into your Ruby on Rails application. Choose from Cloud, package manager, or ZIP installation methods. +:keywords: integration, integrate, ruby, rails, ruby-on-rails, tinymce + +{productname} can be integrated into Ruby on Rails applications to provide rich text editing capabilities. + +== Installation methods + +Choose the installation method that best fits your project: + +=== Cloud + +The fastest way to get started with {productname} in Ruby on Rails. The editor is loaded from the {cloudname} CDN. + +[cols=2*a] +|=== + +| +[.lead] +xref:rails-cloud.adoc[Using {cloudname}] + +Get started quickly with {productname} using the {cloudname} CDN. No build configuration required. + +// Empty cell to even out rows +| + +|=== + +=== Self-hosted + +Install {productname} using a package manager. + +[cols=2*a] +|=== + +| +[.lead] +xref:rails-third-party.adoc[Using a package manager] + +Install and configure {productname} in your Ruby on Rails application using a package manager. + +// Empty cell to even out rows +| + +|=== + +=== ZIP + +Download and install {productname} from a .zip archive. Suitable for traditional web deployments. + +[cols=2*a] +|=== + +| +[.lead] +xref:rails-zip.adoc[Using a .zip package] + +Extract {productname} from a .zip archive and integrate it into your Ruby on Rails application. + +// Empty cell to even out rows +| + +|=== diff --git a/modules/ROOT/pages/react.adoc b/modules/ROOT/pages/react.adoc new file mode 100644 index 0000000000..f1bd25fded --- /dev/null +++ b/modules/ROOT/pages/react.adoc @@ -0,0 +1,70 @@ += Using {productname} in React +:navtitle: React +:description: Integrate TinyMCE into your React application. Choose from Cloud, self-hosted, or ZIP installation methods. +:keywords: integration, integrate, react, reactjs, tinymce-react, tinymce + +{productname} provides official React integration through the link:https://github.com/tinymce/tinymce-react[{productname} React component^] (`@tinymce/tinymce-react`). This component is a thin wrapper around {productname} that makes it easy to integrate the editor into React applications. + +== Installation methods + +Choose the installation method that best fits your project: + +=== Cloud + +The fastest way to get started with {productname} in React. The editor is loaded from the {cloudname} CDN. + +[cols=2*a] +|=== + +| +[.lead] +xref:react-cloud.adoc[Using {cloudname}] + +Get started quickly with {productname} using the {cloudname} CDN. No build configuration required. + +// Empty cell to even out rows +| + +|=== + +=== Self-hosted + +Install {productname} using npm, Yarn, or other package managers. Choose between hosting the editor files as static assets or bundling them with your application. + +[cols=2*a] +|=== + +| +[.lead] +xref:react-pm-host.adoc[Using a package manager with hosting] + +Host {productname} files as static assets. Simple setup with no bundling configuration. + +| +[.lead] +xref:react-pm-bundle.adoc[Using a package manager with bundling] + +Bundle {productname} with your React application using webpack, Vite, or other bundlers. Optimize your bundle size by including only the components you need. + +|=== + +=== ZIP + +Download and install {productname} from a .zip archive. Suitable for traditional web deployments. + +[cols=2*a] +|=== + +| +[.lead] +xref:react-zip-host.adoc[Using a .zip package with hosting] + +Extract {productname} from a .zip archive and host the files as static assets. + +| +[.lead] +xref:react-zip-bundle.adoc[Using a .zip package with bundling] + +Extract {productname} from a .zip archive and bundle it with your React application. + +|=== diff --git a/modules/ROOT/pages/svelte.adoc b/modules/ROOT/pages/svelte.adoc new file mode 100644 index 0000000000..201ed54e6d --- /dev/null +++ b/modules/ROOT/pages/svelte.adoc @@ -0,0 +1,67 @@ += Using {productname} in Svelte +:navtitle: Svelte +:description: Integrate TinyMCE into your Svelte application. Choose from Cloud, self-hosted, or ZIP installation methods. +:keywords: integration, integrate, svelte, sveltejs, tinymce-svelte, tinymce + +{productname} provides official Svelte integration through the link:https://github.com/tinymce/tinymce-svelte[{productname} Svelte component^] (`@tinymce/tinymce-svelte`). This component is a thin wrapper around {productname} that makes it easy to integrate the editor into Svelte applications. + +== Installation methods + +Choose the installation method that best fits your project: + +=== Cloud + +The fastest way to get started with {productname} in Svelte. The editor is loaded from the {cloudname} CDN. + +[cols=2*a] +|=== + +| +[.lead] +xref:svelte-cloud.adoc[Using {cloudname}] + +Get started quickly with {productname} using the {cloudname} CDN. No build configuration required. + +// Empty cell to even out rows +| + +|=== + +=== Self-hosted + +Install {productname} using npm, Yarn, or other package managers. Choose between hosting the editor files as static assets or bundling them with your application. + +[cols=2*a] +|=== + +| +[.lead] +xref:svelte-pm.adoc[Using a package manager] + +Host {productname} files as static assets. Simple setup with no bundling configuration. + +| +[.lead] +xref:svelte-pm-bundle.adoc[Using a package manager with bundling] + +Bundle {productname} with your Svelte application using webpack, Vite, or other bundlers. Optimize your bundle size by including only the components you need. + +|=== + +=== ZIP + +Download and install {productname} from a .zip archive. Suitable for traditional web deployments. + +[cols=2*a] +|=== + +| +[.lead] +xref:svelte-zip.adoc[Using a .zip package] + +Extract {productname} from a .zip archive and integrate it into your Svelte application. + +// Empty cell to even out rows +| + +|=== diff --git a/modules/ROOT/pages/vue.adoc b/modules/ROOT/pages/vue.adoc new file mode 100644 index 0000000000..c3e264148c --- /dev/null +++ b/modules/ROOT/pages/vue.adoc @@ -0,0 +1,67 @@ += Using {productname} in Vue.js +:navtitle: Vue.js +:description: Integrate TinyMCE into your Vue.js application. Choose from Cloud, self-hosted, or ZIP installation methods. +:keywords: integration, integrate, vue, vuejs, tinymce-vue, tinymce + +{productname} provides official Vue.js integration through the link:https://github.com/tinymce/tinymce-vue[{productname} Vue.js component^] (`@tinymce/tinymce-vue`). This component is a thin wrapper around {productname} that makes it easy to integrate the editor into Vue.js applications. + +== Installation methods + +Choose the installation method that best fits your project: + +=== Cloud + +The fastest way to get started with {productname} in Vue.js. The editor is loaded from the {cloudname} CDN. + +[cols=2*a] +|=== + +| +[.lead] +xref:vue-cloud.adoc[Using {cloudname}] + +Get started quickly with {productname} using the {cloudname} CDN. No build configuration required. + +// Empty cell to even out rows +| + +|=== + +=== Self-hosted + +Install {productname} using npm, Yarn, or other package managers. Choose between hosting the editor files as static assets or bundling them with your application. + +[cols=2*a] +|=== + +| +[.lead] +xref:vue-pm.adoc[Using a package manager] + +Host {productname} files as static assets. Simple setup with no bundling configuration. + +| +[.lead] +xref:vue-pm-bundle.adoc[Using a package manager with bundling] + +Bundle {productname} with your Vue.js application using webpack, Vite, or other bundlers. Optimize your bundle size by including only the components you need. + +|=== + +=== ZIP + +Download and install {productname} from a .zip archive. Suitable for traditional web deployments. + +[cols=2*a] +|=== + +| +[.lead] +xref:vue-zip.adoc[Using a .zip package] + +Extract {productname} from a .zip archive and host the files as static assets. + +// Empty cell to even out rows +| + +|=== diff --git a/modules/ROOT/pages/webcomponent.adoc b/modules/ROOT/pages/webcomponent.adoc new file mode 100644 index 0000000000..6669da04b5 --- /dev/null +++ b/modules/ROOT/pages/webcomponent.adoc @@ -0,0 +1,64 @@ += Using {productname} as a Web Component +:navtitle: Web Component +:description: Integrate TinyMCE as a web component. Choose from Cloud, self-hosted, or ZIP installation methods. +:keywords: integration, integrate, web-component, web-components, tinymce + +{productname} can be used as a web component, making it easy to integrate into any web application regardless of framework. + +== Installation methods + +Choose the installation method that best fits your project: + +=== Cloud + +The fastest way to get started with {productname} as a web component. The editor is loaded from the {cloudname} CDN. + +[cols=2*a] +|=== + +| +[.lead] +xref:webcomponent-cloud.adoc[Using {cloudname}] + +Get started quickly with {productname} using the {cloudname} CDN. No build configuration required. + +// Empty cell to even out rows +| + +|=== + +=== Self-hosted + +Install {productname} using npm, Yarn, or other package managers. + +[cols=2*a] +|=== + +| +[.lead] +xref:webcomponent-pm.adoc[Using a package manager] + +Install and configure {productname} as a web component using a package manager. + +// Empty cell to even out rows +| + +|=== + +=== ZIP + +Download and install {productname} from a .zip archive. Suitable for traditional web deployments. + +[cols=2*a] +|=== + +| +[.lead] +xref:webcomponent-zip.adoc[Using a .zip package] + +Extract {productname} from a .zip archive and use it as a web component. + +// Empty cell to even out rows +| + +|=== From 8cfea1804e84bf61c7e84957e13e9d62847ca8fe Mon Sep 17 00:00:00 2001 From: Karl Kemister-Sheppard Date: Tue, 24 Feb 2026 09:15:09 +1000 Subject: [PATCH 03/20] DOC-3373: Update all titles in the Frontend Frameworks section so they are uniquec. --- modules/ROOT/attachments/llms-full.txt | 38 ++++++++++++-------------- 1 file changed, 18 insertions(+), 20 deletions(-) diff --git a/modules/ROOT/attachments/llms-full.txt b/modules/ROOT/attachments/llms-full.txt index ba66cbadfd..a58c6ebf72 100644 --- a/modules/ROOT/attachments/llms-full.txt +++ b/modules/ROOT/attachments/llms-full.txt @@ -273,29 +273,29 @@ This section provides a complete list of all 395 documentation pages available i - **Angular Cloud**: https://www.tiny.cloud/docs/tinymce/latest/angular-cloud/ - **Angular Package Manager**: https://www.tiny.cloud/docs/tinymce/latest/angular-pm/ - **Angular ZIP**: https://www.tiny.cloud/docs/tinymce/latest/angular-zip/ -- **Using a package manager with bundling**: https://www.tiny.cloud/docs/tinymce/latest/angular-pm-bundle/ -- **Using a package manager with bundling**: https://www.tiny.cloud/docs/tinymce/latest/angular-zip-bundle/ -- **Using a .zip package**: https://www.tiny.cloud/docs/tinymce/latest/angular-zip/ -- **Using a package manager**: https://www.tiny.cloud/docs/tinymce/latest/angular-pm/ +- **Angular: Using a package manager with bundling**: https://www.tiny.cloud/docs/tinymce/latest/angular-pm-bundle/ +- **Angular: Using a package manager with bundling (ZIP)**: https://www.tiny.cloud/docs/tinymce/latest/angular-zip-bundle/ +- **Angular: Using a .zip package**: https://www.tiny.cloud/docs/tinymce/latest/angular-zip/ +- **Angular: Using a package manager**: https://www.tiny.cloud/docs/tinymce/latest/angular-pm/ - **Blazor**: https://www.tiny.cloud/docs/tinymce/latest/blazor-cloud/ - **Blazor Cloud**: https://www.tiny.cloud/docs/tinymce/latest/blazor-cloud/ - **Blazor Package Manager**: https://www.tiny.cloud/docs/tinymce/latest/blazor-pm/ - **Blazor ZIP**: https://www.tiny.cloud/docs/tinymce/latest/blazor-zip/ -- **Using a package manager**: https://www.tiny.cloud/docs/tinymce/latest/blazor-pm/ -- **Using a .zip package**: https://www.tiny.cloud/docs/tinymce/latest/blazor-zip/ +- **Blazor: Using a package manager**: https://www.tiny.cloud/docs/tinymce/latest/blazor-pm/ +- **Blazor: Using a .zip package**: https://www.tiny.cloud/docs/tinymce/latest/blazor-zip/ - **Svelte**: https://www.tiny.cloud/docs/tinymce/latest/svelte-cloud/ - **Svelte Cloud**: https://www.tiny.cloud/docs/tinymce/latest/svelte-cloud/ - **Svelte Package Manager**: https://www.tiny.cloud/docs/tinymce/latest/svelte-pm/ - **Svelte ZIP**: https://www.tiny.cloud/docs/tinymce/latest/svelte-zip/ -- **Using a package manager with bundling**: https://www.tiny.cloud/docs/tinymce/latest/svelte-pm-bundle/ -- **Using a package manager**: https://www.tiny.cloud/docs/tinymce/latest/svelte-pm/ -- **Using a .zip package**: https://www.tiny.cloud/docs/tinymce/latest/svelte-zip/ +- **Svelte: Using a package manager with bundling**: https://www.tiny.cloud/docs/tinymce/latest/svelte-pm-bundle/ +- **Svelte: Using a package manager**: https://www.tiny.cloud/docs/tinymce/latest/svelte-pm/ +- **Svelte: Using a .zip package**: https://www.tiny.cloud/docs/tinymce/latest/svelte-zip/ - **Web Component**: https://www.tiny.cloud/docs/tinymce/latest/webcomponent-cloud/ - **Web Component Cloud**: https://www.tiny.cloud/docs/tinymce/latest/webcomponent-cloud/ - **Web Component Package Manager**: https://www.tiny.cloud/docs/tinymce/latest/webcomponent-pm/ - **Web Component ZIP**: https://www.tiny.cloud/docs/tinymce/latest/webcomponent-zip/ -- **Using a package manager**: https://www.tiny.cloud/docs/tinymce/latest/webcomponent-pm/ -- **Using a .zip package**: https://www.tiny.cloud/docs/tinymce/latest/webcomponent-zip/ +- **Web Component: Using a package manager**: https://www.tiny.cloud/docs/tinymce/latest/webcomponent-pm/ +- **Web Component: Using a .zip package**: https://www.tiny.cloud/docs/tinymce/latest/webcomponent-zip/ - **jQuery**: https://www.tiny.cloud/docs/tinymce/latest/jquery-cloud/ - **jQuery Cloud**: https://www.tiny.cloud/docs/tinymce/latest/jquery-cloud/ - **jQuery Package Manager**: https://www.tiny.cloud/docs/tinymce/latest/jquery-pm/ @@ -308,14 +308,14 @@ This section provides a complete list of all 395 documentation pages available i - **Laravel Cloud**: https://www.tiny.cloud/docs/tinymce/latest/laravel-tiny-cloud/ - **Laravel Composer**: https://www.tiny.cloud/docs/tinymce/latest/laravel-composer-install/ - **Laravel ZIP**: https://www.tiny.cloud/docs/tinymce/latest/laravel-zip-install/ -- **Using the Composer package**: https://www.tiny.cloud/docs/tinymce/latest/laravel-composer-install/ -- **Using a .zip package**: https://www.tiny.cloud/docs/tinymce/latest/laravel-zip-install/ +- **Laravel: Using the Composer package**: https://www.tiny.cloud/docs/tinymce/latest/laravel-composer-install/ +- **Laravel: Using a .zip package**: https://www.tiny.cloud/docs/tinymce/latest/laravel-zip-install/ - **Ruby on Rails**: https://www.tiny.cloud/docs/tinymce/latest/rails-cloud/ - **Rails Cloud**: https://www.tiny.cloud/docs/tinymce/latest/rails-cloud/ - **Rails Package Manager**: https://www.tiny.cloud/docs/tinymce/latest/rails-third-party/ - **Rails ZIP**: https://www.tiny.cloud/docs/tinymce/latest/rails-zip/ -- **Using a package manager**: https://www.tiny.cloud/docs/tinymce/latest/rails-third-party/ -- **Using a .zip package**: https://www.tiny.cloud/docs/tinymce/latest/rails-zip/ +- **Rails: Using a package manager**: https://www.tiny.cloud/docs/tinymce/latest/rails-third-party/ +- **Rails: Using a .zip package**: https://www.tiny.cloud/docs/tinymce/latest/rails-zip/ - **Node.js + Express**: https://www.tiny.cloud/docs/tinymce/latest/expressjs-pm/ - **Express Package Manager**: https://www.tiny.cloud/docs/tinymce/latest/expressjs-pm/ @@ -342,7 +342,6 @@ This section provides a complete list of all 395 documentation pages available i ### Configuration & Setup - **Basic Setup**: https://www.tiny.cloud/docs/tinymce/latest/basic-setup/ -- **Basic setup**: https://www.tiny.cloud/docs/tinymce/latest/basic-setup/ - **Configuration reference**: https://www.tiny.cloud/docs/tinymce/latest/initial-configuration/ - **Basic configuration**: https://www.tiny.cloud/docs/tinymce/latest/dialog-configuration/ - **Selector Configuration**: Required for all TinyMCE instances @@ -352,7 +351,6 @@ This section provides a complete list of all 395 documentation pages available i - **Menu Configuration**: https://www.tiny.cloud/docs/tinymce/latest/menus-configuration-options/ - **Content Filtering**: https://www.tiny.cloud/docs/tinymce/latest/filter-content/ - **Content filtering**: https://www.tiny.cloud/docs/tinymce/latest/content-filtering/ -- **Content filtering**: https://www.tiny.cloud/docs/tinymce/latest/filter-content/ - **Localization**: https://www.tiny.cloud/docs/tinymce/latest/localize-your-language/ - **Localization**: https://www.tiny.cloud/docs/tinymce/latest/content-localization/ - **Localization options**: https://www.tiny.cloud/docs/tinymce/latest/ui-localization/ @@ -525,9 +523,9 @@ This section provides a complete list of all 395 documentation pages available i - **JWT Authentication setup for Export to PDF**: https://www.tiny.cloud/docs/tinymce/latest/export-to-pdf-with-jwt-authentication-php/ - **JWT Authentication setup for Export to Word**: https://www.tiny.cloud/docs/tinymce/latest/export-to-word-with-jwt-authentication-php/ - **JWT Authentication setup for Import from Word**: https://www.tiny.cloud/docs/tinymce/latest/import-from-word-with-jwt-authentication-php/ -- **JWT Authentication setup for Plugin (Node.js)**: https://www.tiny.cloud/docs/tinymce/latest/export-to-pdf-with-jwt-authentication-nodejs/ -- **JWT Authentication setup for Plugin (Node.js)**: https://www.tiny.cloud/docs/tinymce/latest/export-to-word-with-jwt-authentication-nodejs/ -- **JWT Authentication setup for Plugin (Node.js)**: https://www.tiny.cloud/docs/tinymce/latest/import-from-word-with-jwt-authentication-nodejs/ +- **JWT Authentication setup for Export to PDF (Node.js)**: https://www.tiny.cloud/docs/tinymce/latest/export-to-pdf-with-jwt-authentication-nodejs/ +- **JWT Authentication setup for Export to Word (Node.js)**: https://www.tiny.cloud/docs/tinymce/latest/export-to-word-with-jwt-authentication-nodejs/ +- **JWT Authentication setup for Import from Word (Node.js)**: https://www.tiny.cloud/docs/tinymce/latest/import-from-word-with-jwt-authentication-nodejs/ #### PowerPaste - **PowerPaste Introduction**: https://www.tiny.cloud/docs/tinymce/latest/introduction-to-powerpaste/ From 5f1d2ba78baef100ca79abe52256c974f8ac05b1 Mon Sep 17 00:00:00 2001 From: Karl Kemister-Sheppard Date: Tue, 24 Feb 2026 12:21:53 +1000 Subject: [PATCH 04/20] DOC-3373: Revert new landing pages, add automation script to build txt files locally. --- -scripts/README-llm-files.md | 123 +++ -scripts/generate-llm-files.js | 1112 ++++++++++++++++++++++++ -scripts/generate-llm-files.sh | 25 + modules/ROOT/attachments/llms-full.txt | 748 +++++++--------- modules/ROOT/attachments/llms.txt | 220 ++--- modules/ROOT/pages/angular.adoc | 70 -- modules/ROOT/pages/blazor.adoc | 64 -- modules/ROOT/pages/django.adoc | 46 - modules/ROOT/pages/installation.adoc | 20 +- modules/ROOT/pages/jquery.adoc | 46 - modules/ROOT/pages/laravel.adoc | 64 -- modules/ROOT/pages/rails.adoc | 64 -- modules/ROOT/pages/react.adoc | 70 -- modules/ROOT/pages/svelte.adoc | 67 -- modules/ROOT/pages/vue.adoc | 67 -- modules/ROOT/pages/webcomponent.adoc | 64 -- package.json | 2 + 17 files changed, 1676 insertions(+), 1196 deletions(-) create mode 100644 -scripts/README-llm-files.md create mode 100755 -scripts/generate-llm-files.js create mode 100755 -scripts/generate-llm-files.sh delete mode 100644 modules/ROOT/pages/angular.adoc delete mode 100644 modules/ROOT/pages/blazor.adoc delete mode 100644 modules/ROOT/pages/django.adoc delete mode 100644 modules/ROOT/pages/jquery.adoc delete mode 100644 modules/ROOT/pages/laravel.adoc delete mode 100644 modules/ROOT/pages/rails.adoc delete mode 100644 modules/ROOT/pages/react.adoc delete mode 100644 modules/ROOT/pages/svelte.adoc delete mode 100644 modules/ROOT/pages/vue.adoc delete mode 100644 modules/ROOT/pages/webcomponent.adoc diff --git a/-scripts/README-llm-files.md b/-scripts/README-llm-files.md new file mode 100644 index 0000000000..d13839c812 --- /dev/null +++ b/-scripts/README-llm-files.md @@ -0,0 +1,123 @@ +# Generating LLM Files + +This directory contains scripts to automatically generate `llms.txt` and `llms-full.txt` files for LLM consumption. + +## Overview + +The LLM files provide structured documentation references that help AI assistants: +- Find the correct documentation pages +- Understand the documentation structure +- Reduce hallucinations by providing accurate URLs +- Discover all available integration options + +## Files + +- `generate-llm-files.js` - Node.js script that generates the LLM files +- `generate-llm-files.sh` - Shell wrapper script for easier execution + +## Usage + +### Option 1: After Local Build + +1. Build the documentation site: + ```bash + yarn antora ./antora-playbook.yml + ``` + +2. Generate LLM files from local sitemap: + ```bash + yarn generate-llm-files + # or + ./-scripts/generate-llm-files.sh + ``` + +### Option 2: From Remote Sitemap + +Generate directly from the published sitemap (useful for syncing with production): + +```bash +yarn generate-llm-files-from-url +# or +node -scripts/generate-llm-files.js https://www.tiny.cloud/docs/antora-sitemap.xml +``` + +### Option 3: Custom Sitemap Source + +```bash +node -scripts/generate-llm-files.js /path/to/sitemap.xml +# or +node -scripts/generate-llm-files.js https://example.com/sitemap.xml +``` + +## Workflow + +### Manual Regeneration (Current Approach) + +**After major/minor/patch releases:** +1. Run the script locally to regenerate files: + ```bash + yarn generate-llm-files + # or from production: + yarn generate-llm-files-from-url + ``` +2. Review the generated files in a PR +3. Commit and merge + +**Why not automated in CI/CD?** +- The script makes 400+ HTTP requests to fetch H1 titles (~4-5 minutes) +- Resource-intensive and slow for every build +- Manual review ensures quality before committing +- Validates no 404s are listed and titles match actual page content + +### File Locations + +The files are generated in `modules/ROOT/attachments/`: +- `llms.txt` - Simplified, curated documentation index (~127 lines) +- `llms-full.txt` - Complete documentation index with all pages (~700 lines) + +**Post-build:** Files are moved to the root directory (handled in separate PR) and accessible at: +- `https://www.tiny.cloud/docs/tinymce/latest/llms.txt` +- `https://www.tiny.cloud/docs/tinymce/latest/llms-full.txt` + +## How It Works + +1. **Reads sitemap.xml** - Extracts all documentation URLs from the sitemap (only `/latest/` URLs) +2. **Fetches H1 titles** - Makes HTTP requests to each page to get the actual H1 title (validates no 404s) +3. **Generates titles** - Uses fetched H1 titles, falls back to URL-based titles if fetch fails +4. **Categorizes pages** - Groups by topic (integrations, plugins, API, etc.) based on URL patterns +5. **Deduplicates** - Removes duplicate URLs and makes titles unique within categories +6. **Generates structured markdown** - Creates both simplified (`llms.txt`) and complete (`llms-full.txt`) indexes + +## Customization + +The script uses hardcoded categorization logic. To customize: + +1. Edit `generate-llm-files.js` +2. Modify the `categorizeUrls()` function to adjust categorization +3. Update `generateLLMsTxt()` and `generateLLMsFullTxt()` to change output format + +## Notes + +- The script requires Node.js (no additional dependencies) +- Generated files are written to `modules/ROOT/attachments/` +- Uses only the sitemap (no dependency on `nav.adoc`) +- Fetches actual H1 titles from pages (validates no 404s) +- Handles HTML entity decoding (`’` → `'`) +- Filters out error pages and duplicate URLs +- Makes titles unique within categories (e.g., "ES6 and npm (Webpack)", "ES6 and npm (Rollup)") + +## Troubleshooting + +**Error: "Source not found"** +- Make sure the sitemap path is correct +- For remote URLs, check your internet connection +- For local files, ensure Antora has generated the site first + +**Missing page titles** +- If H1 fetch fails, the script uses URL-based title generation as fallback +- Check that pages return valid HTML with H1 tags +- 404 pages are automatically filtered out + +**Incorrect categorization** +- Review the `categorizeUrls()` function +- Add custom patterns for new page types diff --git a/-scripts/generate-llm-files.js b/-scripts/generate-llm-files.js new file mode 100755 index 0000000000..d3dd04ab25 --- /dev/null +++ b/-scripts/generate-llm-files.js @@ -0,0 +1,1112 @@ +#!/usr/bin/env node + +/** + * Script to generate llms.txt and llms-full.txt files from sitemap.xml + * + * Usage: + * node -scripts/generate-llm-files.js [sitemap-path-or-url] + * + * Defaults to build/site/sitemap.xml (local) or can use remote URL + */ + +const fs = require('fs'); +const path = require('path'); +const https = require('https'); +const http = require('http'); + +const BASE_URL = 'https://www.tiny.cloud/docs/tinymce/latest'; +const OUTPUT_DIR = path.join(__dirname, '../modules/ROOT/attachments'); + +// Fetch sitemap from URL or file +async function getSitemap(source) { + if (source.startsWith('http://') || source.startsWith('https://')) { + return new Promise((resolve, reject) => { + const client = source.startsWith('https') ? https : http; + client.get(source, (res) => { + let data = ''; + res.on('data', (chunk) => { data += chunk; }); + res.on('end', () => resolve(data)); + }).on('error', reject); + }); + } else { + if (!fs.existsSync(source)) { + throw new Error(`Sitemap not found: ${source}\nPlease run 'yarn antora ./antora-playbook.yml' first to generate the site, or provide a URL.`); + } + return fs.readFileSync(source, 'utf8'); + } +} + +// Parse sitemap.xml to extract all URLs +function parseSitemap(xmlContent) { + const urlSet = new Set(); + const urlRegex = /(.*?)<\/loc>/g; + let match; + + while ((match = urlRegex.exec(xmlContent)) !== null) { + let url = match[1].trim(); + // Normalize URLs (ensure trailing slash consistency) + if (url.includes('/latest/')) { + // Remove trailing slash for consistency + url = url.replace(/\/$/, '') + '/'; + urlSet.add(url); + } + } + + // Convert to sorted array + return Array.from(urlSet).sort(); +} + +// Extract URL path from full URL +function getUrlPath(url) { + const match = url.match(/\/latest\/(.+?)\/?$/); + return match ? match[1].replace(/\/$/, '') : ''; +} + +// Fetch H1 title from a page URL +async function fetchH1Title(url) { + return new Promise((resolve) => { + const client = url.startsWith('https') ? https : http; + + const req = client.get(url, (res) => { + // Check for error status codes (404, 500, etc.) + if (res.statusCode >= 400) { + resolve(null); + return; + } + + let data = ''; + + res.on('data', (chunk) => { data += chunk; }); + + res.on('end', () => { + try { + // Extract H1 tag using regex - look for

or

+ const h1Match = data.match(/]*>(.*?)<\/h1>/i); + + if (h1Match && h1Match[1]) { + // Clean up the title - remove HTML tags and extra whitespace + let title = h1Match[1] + .replace(/<[^>]+>/g, '') // Remove any HTML tags inside H1 + .replace(/ /g, ' ') + .replace(/&/g, '&') + .replace(/</g, '<') + .replace(/>/g, '>') + .replace(/"/g, '"') + .replace(/'/g, "'") + .replace(/’/g, "'") // Right single quotation mark (apostrophe) + .replace(/‘/g, "'") // Left single quotation mark + .replace(/“/g, '"') // Left double quotation mark + .replace(/”/g, '"') // Right double quotation mark + .replace(/–/g, '–') // En dash + .replace(/—/g, '—') // Em dash + .replace(/ /g, ' ') // Non-breaking space + // Decode numeric entities ({ format) + .replace(/&#(\d+);/g, (match, dec) => String.fromCharCode(parseInt(dec, 10))) + // Decode hex entities ( format) + .replace(/&#x([0-9a-fA-F]+);/g, (match, hex) => String.fromCharCode(parseInt(hex, 16))) + .trim(); + + // Remove extra whitespace + title = title.replace(/\s+/g, ' '); + + // Filter out error page titles + const errorPatterns = [ + /couldn't find the page/i, + /page not found/i, + /404/i, + /error/i, + /not found/i + ]; + + if (errorPatterns.some(pattern => pattern.test(title))) { + resolve(null); + return; + } + + if (title) { + resolve(title); + } else { + resolve(null); + } + } else { + // Fallback to generated title if no H1 found + resolve(null); + } + } catch (error) { + // If parsing fails, fallback to generated title + resolve(null); + } + }); + }); + + req.on('error', (error) => { + // If fetch fails, fallback to generated title + resolve(null); + }); + + req.setTimeout(10000, () => { + req.destroy(); + resolve(null); + }); + }); +} + +// Batch fetch H1 titles with rate limiting +async function fetchH1TitlesBatch(urls, batchSize = 10, delay = 100) { + const results = new Map(); + + for (let i = 0; i < urls.length; i += batchSize) { + const batch = urls.slice(i, i + batchSize); + const promises = batch.map(async (url) => { + const title = await fetchH1Title(url); + return { url, title }; + }); + + const batchResults = await Promise.all(promises); + batchResults.forEach(({ url, title }) => { + results.set(url, title); + }); + + // Rate limiting - wait between batches + if (i + batchSize < urls.length) { + await new Promise(resolve => setTimeout(resolve, delay)); + } + } + + return results; +} + +// Generate a descriptive title from URL path +function generateTitleFromPath(urlPath) { + if (!urlPath) return 'Home'; + + // Handle special cases first + const specialCases = { + '': 'Home', + 'index': 'Home', + 'getting-started': 'Getting Started', + 'introduction-to-tinymce': 'Introduction to TinyMCE', + 'installation': 'Installation', + 'cloud-quick-start': 'Cloud Quick Start', + 'npm-projects': 'NPM Projects Quick Start', + 'zip-install': 'ZIP Installation Quick Start', + 'installation-cloud': 'Cloud', + 'installation-self-hosted': 'Self-hosted', + 'installation-zip': 'ZIP', + 'basic-setup': 'Basic Setup', + 'work-with-plugins': 'Using plugins to extend TinyMCE', + 'filter-content': 'Content Filtering', + 'content-filtering': 'Content filtering', + 'localize-your-language': 'Localization', + 'spell-checking': 'Spell Checking', + 'editor-content-css': 'CSS for rendering content', + 'url-handling': 'URL Handling', + 'plugins': 'Plugins', + 'table': 'Table', + 'table-options': 'Table options', + 'image': 'Image', + 'link': 'Link', + 'lists': 'Lists', + 'code': 'Code', + 'codesample': 'Code Sample', + 'advtable': 'Enhanced Tables', + 'advcode': 'Enhanced Code Editor', + 'editimage': 'Image Editing', + 'linkchecker': 'Link Checker', + 'a11ychecker': 'Accessibility Checker', + 'upgrading': 'Upgrading TinyMCE', + 'migration-guides': 'Migration Guides Overview', + 'migration-from-7x': 'Migration from 7.x', + 'migration-from-6x': 'Migration from 6.x', + 'migration-from-6x-to-8x': 'Migration from 6.x to 8.x', + 'migration-from-5x': 'Migration from 5.x', + 'migration-from-5x-to-8x': 'Migration from 5.x to 8.x', + 'migration-from-4x': 'Migration from 4.x', + 'migration-from-4x-to-8x': 'Migration from 4.x to 8.x', + 'migration-from-froala': 'Migrating from Froala', + 'examples': 'Examples', + 'how-to-guides': 'How To Guides', + 'release-notes': 'Release Notes', + 'changelog': 'Changelog', + 'accessibility': 'Accessibility', + 'security': 'Security guide', + 'support': 'Support' + }; + + if (specialCases[urlPath]) { + return specialCases[urlPath]; + } + + // Framework integrations + const frameworkMap = { + 'react': 'React', + 'react-cloud': 'React Cloud', + 'react-pm-host': 'React Package Manager', + 'react-pm-bundle': 'React Package Manager (with bundling)', + 'react-zip-host': 'React ZIP', + 'react-zip-bundle': 'React ZIP (with bundling)', + 'react-ref': 'Technical reference (React)', + 'vue': 'Vue.js', + 'vue-cloud': 'Vue Cloud', + 'vue-pm': 'Vue Package Manager', + 'vue-pm-bundle': 'Vue Package Manager (with bundling)', + 'vue-zip': 'Vue ZIP', + 'vue-ref': 'Technical reference (Vue)', + 'angular': 'Angular', + 'angular-cloud': 'Angular Cloud', + 'angular-pm': 'Angular Package Manager', + 'angular-pm-bundle': 'Angular Package Manager (with bundling)', + 'angular-zip': 'Angular ZIP', + 'angular-zip-bundle': 'Angular ZIP (with bundling)', + 'angular-ref': 'Technical reference (Angular)', + 'blazor': 'Blazor', + 'blazor-cloud': 'Blazor Cloud', + 'blazor-pm': 'Blazor Package Manager', + 'blazor-zip': 'Blazor ZIP', + 'blazor-ref': 'Technical reference (Blazor)', + 'svelte': 'Svelte', + 'svelte-cloud': 'Svelte Cloud', + 'svelte-pm': 'Svelte Package Manager', + 'svelte-pm-bundle': 'Svelte Package Manager (with bundling)', + 'svelte-zip': 'Svelte ZIP', + 'svelte-ref': 'Technical reference (Svelte)', + 'webcomponent': 'Web Component', + 'webcomponent-cloud': 'Web Component Cloud', + 'webcomponent-pm': 'Web Component Package Manager', + 'webcomponent-zip': 'Web Component ZIP', + 'webcomponent-ref': 'Technical reference (Web Component)', + 'jquery': 'jQuery', + 'jquery-cloud': 'jQuery Cloud', + 'jquery-pm': 'jQuery Package Manager', + 'django': 'Django', + 'django-cloud': 'Django Cloud', + 'django-zip': 'Django ZIP', + 'laravel': 'Laravel', + 'laravel-tiny-cloud': 'Laravel Cloud', + 'laravel-composer-install': 'Laravel Composer', + 'laravel-zip-install': 'Laravel ZIP', + 'rails': 'Ruby on Rails', + 'rails-cloud': 'Rails Cloud', + 'rails-third-party': 'Rails Package Manager', + 'rails-zip': 'Rails ZIP', + 'expressjs-pm': 'Node.js + Express', + 'bootstrap': 'Bootstrap', + 'bootstrap-cloud': 'Bootstrap Cloud', + 'bootstrap-zip': 'Bootstrap ZIP', + 'php-projects': 'PHP Projects', + 'dotnet-projects': '.NET Projects', + 'wordpress': 'WordPress', + 'shadow-dom': 'Shadow DOM', + 'swing': 'Java Swing' + }; + + if (frameworkMap[urlPath]) { + return frameworkMap[urlPath]; + } + + // Handle release notes + if (urlPath.match(/^\d+\.\d+\.\d+-release-notes$/)) { + const version = urlPath.replace('-release-notes', ''); + return `TinyMCE ${version}`; + } + + // Handle bundling entries + if (urlPath.includes('webpack-cjs-npm')) { + return 'CommonJS and NPM (Webpack)'; + } + if (urlPath.includes('webpack-es6-npm')) { + return 'ES6 and NPM (Webpack)'; + } + if (urlPath.includes('webpack-cjs-download')) { + return 'CommonJS and a .zip archive (Webpack)'; + } + if (urlPath.includes('webpack-es6-download')) { + return 'ES6 and a .zip archive (Webpack)'; + } + if (urlPath.includes('rollup-es6-npm')) { + return 'ES6 and npm (Rollup)'; + } + if (urlPath.includes('rollup-es6-download')) { + return 'ES6 and a .zip archive (Rollup)'; + } + if (urlPath.includes('vite-es6-npm')) { + return 'ES6 and NPM (Vite)'; + } + if (urlPath.includes('browserify-cjs-npm')) { + return 'CommonJS and npm (Browserify)'; + } + if (urlPath.includes('browserify-cjs-download')) { + return 'CommonJS and a .zip archive (Browserify)'; + } + + // Handle API references + if (urlPath.startsWith('apis/')) { + const apiPath = urlPath.replace('apis/', ''); + return apiPath.split('/').pop().replace(/\.adoc$/, ''); + } + + // Convert kebab-case to Title Case + const words = urlPath + .replace(/-/g, ' ') + .split(' ') + .map(word => { + // Handle acronyms + if (word.toLowerCase() === 'npm' || word.toLowerCase() === 'cjs' || word.toLowerCase() === 'es6') { + return word.toUpperCase(); + } + return word.charAt(0).toUpperCase() + word.slice(1).toLowerCase(); + }); + + return words.join(' '); +} + +// Categorize URL based on path +function categorizeUrl(urlPath) { + // Getting Started & Installation + if (urlPath.startsWith('getting-started') || + urlPath === 'introduction-to-tinymce' || + urlPath.startsWith('installation') || + urlPath === 'cloud-quick-start' || + urlPath === 'npm-projects' || + urlPath === 'zip-install' || + urlPath === 'invalid-api-key' || + urlPath === 'usage-based-billing') { + return { category: 'Getting Started & Installation', subcategory: null }; + } + + // Framework Integrations - Frontend + if (urlPath.match(/^(react|vue|angular|blazor|svelte|webcomponent|jquery)/) && + !urlPath.includes('-ref')) { + return { category: 'Framework Integrations', subcategory: 'Frontend Frameworks' }; + } + + // Framework Integrations - Backend + if (urlPath.match(/^(django|laravel|rails|express)/)) { + return { category: 'Framework Integrations', subcategory: 'Backend Frameworks' }; + } + + // Framework Integrations - Other + if (urlPath.startsWith('bootstrap') || urlPath.startsWith('php') || + urlPath.startsWith('dotnet') || urlPath.startsWith('wordpress') || + urlPath.startsWith('shadow-dom') || urlPath === 'swing') { + return { category: 'Framework Integrations', subcategory: 'Other Integrations' }; + } + + // Framework Integrations - Technical References + if (urlPath.includes('-ref')) { + return { category: 'Framework Integrations', subcategory: 'Technical References' }; + } + + // Configuration & Setup + if (urlPath.startsWith('basic-setup') || urlPath.startsWith('work-with-plugins') || + urlPath.startsWith('filter-content') || urlPath.startsWith('content-filtering') || + urlPath.startsWith('localize') || urlPath.startsWith('content-localization') || + urlPath.startsWith('spell-checking') || urlPath.startsWith('editor-') || + urlPath.startsWith('content-') || urlPath.startsWith('dialog-') || + urlPath.startsWith('menus-configuration') || urlPath.startsWith('toolbar-configuration') || + urlPath.startsWith('statusbar') || urlPath.startsWith('ui-mode') || + urlPath.startsWith('initial-configuration') || urlPath.startsWith('editor-important') || + urlPath.startsWith('editor-size') || urlPath.startsWith('editor-save') || + urlPath.startsWith('editor-model') || urlPath.startsWith('editor-command') || + urlPath.startsWith('editor-context-menu') || urlPath.startsWith('editor-icon-identifiers') || + urlPath.startsWith('available-menu-items') || urlPath.startsWith('available-toolbar-buttons') || + urlPath.startsWith('editor-icons') || urlPath.startsWith('editor-skin') || + urlPath.startsWith('editor-theme') || urlPath.startsWith('editor-content-css') || + urlPath.startsWith('url-handling') || urlPath.startsWith('tinymce-and-csp') || + urlPath.startsWith('tinymce-and-cors') || urlPath.startsWith('cloud-deployment-guide') || + urlPath.startsWith('editor-and-features') || urlPath.startsWith('features-only') || + urlPath.startsWith('editor-plugin-version') || urlPath.startsWith('plugin-editor-version') || + urlPath.startsWith('cloud-troubleshooting') || urlPath.startsWith('multiple-editors') || + urlPath.startsWith('understanding-editor-loads') || urlPath === 'events') { + return { category: 'Configuration & Setup', subcategory: null }; + } + + // Plugins & Features - Core Plugins + if (urlPath === 'plugins' || + urlPath === 'table' || urlPath === 'table-options' || + urlPath === 'image' || urlPath === 'link' || + urlPath === 'lists' || urlPath === 'code' || urlPath === 'codesample' || + urlPath === 'autolink' || urlPath === 'anchor' || urlPath === 'autosave' || + urlPath === 'charmap' || urlPath === 'checklist' || urlPath === 'directionality' || + urlPath === 'emoticons' || urlPath === 'fullscreen' || urlPath === 'help' || + urlPath === 'insertdatetime' || urlPath === 'nonbreaking' || urlPath === 'pagebreak' || + urlPath === 'preview' || urlPath === 'save' || urlPath === 'searchreplace' || + urlPath === 'visualblocks' || urlPath === 'visualchars' || urlPath === 'wordcount' || + urlPath === 'advlist' || urlPath === 'contextmenu' || urlPath === 'contexttoolbar' || + urlPath === 'quickbars' || urlPath === 'advanced-templates' || + urlPath === 'fullpagehtml' || urlPath === 'importcss' || urlPath === 'importword' || + urlPath === 'media' || urlPath === 'pageembed' || urlPath === 'paste' || + urlPath === 'textcolor' || urlPath === 'colorpicker' || urlPath === 'textpattern' || + urlPath === 'hr' || urlPath === 'print' || urlPath === 'spellchecker' || + urlPath === 'tabfocus' || urlPath === 'autoresize' || urlPath === 'markdown' || + urlPath === 'math' || urlPath === 'mentions' || urlPath === 'permanentpen' || + urlPath === 'contextform' || urlPath === 'context' || + // Premium plugins that appear in Core Plugins section + urlPath === 'advtable' || urlPath === 'advcode' || urlPath === 'editimage' || + urlPath === 'linkchecker' || urlPath === 'a11ychecker' || urlPath === 'casechange' || + urlPath === 'footnotes' || urlPath === 'formatpainter' || urlPath === 'tableofcontents' || + urlPath === 'advanced-typography' || urlPath === 'typography' || urlPath === 'mergetags' || + urlPath === 'accordion' || urlPath === 'introduction-to-mediaembed' || + urlPath.startsWith('upload-') || urlPath === 'file-image-upload') { + return { category: 'Plugins & Features', subcategory: 'Core Plugins' }; + } + + // Plugins & Features - Editor Modes + if (urlPath.startsWith('use-tinymce-') || urlPath === 'inline-editor-options') { + return { category: 'Plugins & Features', subcategory: 'Editor Modes' }; + } + + // Plugins & Features - Spell Checking + if (urlPath === 'introduction-to-tiny-spellchecker' || + urlPath.startsWith('autocorrect') || urlPath.startsWith('spelling') || + urlPath.startsWith('custom-dictionaries') || urlPath.startsWith('individual-spelling') || + urlPath.startsWith('configure-spelling') || urlPath.startsWith('self-hosting-hunspell')) { + return { category: 'Plugins & Features', subcategory: 'Spell Checking' }; + } + + // Premium Features - AI Features + if (urlPath === 'ai' || urlPath.startsWith('ai-')) { + return { category: 'Premium Features', subcategory: 'AI Features' }; + } + + // Premium Features - Comments & Collaboration + if (urlPath.startsWith('comments-') || urlPath === 'introduction-to-tiny-comments' || + urlPath === 'annotations' || urlPath === 'suggestededits' || urlPath === 'revisionhistory') { + return { category: 'Premium Features', subcategory: 'Comments & Collaboration' }; + } + + // Premium Features - Export & Import + if (urlPath === 'exportpdf' || urlPath === 'exportword' || urlPath === 'importword' || + urlPath.startsWith('html-to-') || urlPath.startsWith('docx-to-') || + urlPath.startsWith('export-to-') || urlPath.startsWith('import-from-')) { + return { category: 'Premium Features', subcategory: 'Export & Import' }; + } + + // Premium Features - PowerPaste + if (urlPath === 'introduction-to-powerpaste' || urlPath.startsWith('powerpaste')) { + return { category: 'Premium Features', subcategory: 'PowerPaste' }; + } + + // Premium Features - TinyDrive + if (urlPath.startsWith('tinydrive-') || urlPath === 'tinydrive-introduction' || + urlPath === 'introduction-to-tinydrive-apis') { + return { category: 'Premium Features', subcategory: 'TinyDrive' }; + } + + // Premium Features - Media Optimizer + if (urlPath.startsWith('uploadcare')) { + return { category: 'Premium Features', subcategory: 'Media Optimizer' }; + } + + // Premium Features - Services & Infrastructure + if (urlPath.startsWith('individual-') || urlPath.startsWith('configure-') || + urlPath.startsWith('mediaembed-server') || urlPath === 'license-key' || + urlPath === 'generate-rsa-key-pairs' || urlPath === 'troubleshoot-server') { + return { category: 'Premium Features', subcategory: 'Services & Infrastructure' }; + } + + // Customization & Development - Creating Custom Components + if (urlPath.startsWith('creating-') || urlPath.startsWith('custom-') || + urlPath === 'dialog' || urlPath === 'ui-components' || urlPath === 'customize-ui') { + return { category: 'Customization & Development', subcategory: 'Creating Custom Components' }; + } + + // Customization & Development - Bundling & Build Tools + if (urlPath.startsWith('bundle-') || urlPath.startsWith('bundling-') || + urlPath.startsWith('webpack-') || urlPath.startsWith('rollup-') || + urlPath.startsWith('browserify-') || urlPath.startsWith('vite-') || + urlPath === 'bundle-intro-setup' || urlPath === 'plugin-editor-version-compatibility' || + urlPath === 'introduction-to-bundling-tinymce') { + return { category: 'Customization & Development', subcategory: 'Bundling & Build Tools' }; + } + + // Customization & Development - Dialog & UI Components + if (urlPath.startsWith('dialog-') && !urlPath.startsWith('dialog-configuration')) { + return { category: 'Customization & Development', subcategory: 'Dialog & UI Components' }; + } + + // Customization & Development - Enhanced Skins & Icons + if (urlPath.startsWith('enhanced-skins') || urlPath.startsWith('using-the-icon-pack') || + urlPath.startsWith('custom-icon-pack')) { + return { category: 'Customization & Development', subcategory: 'Enhanced Skins & Icons' }; + } + + // API Reference + if (urlPath.startsWith('apis/')) { + // Determine API subcategory + if (urlPath.includes('tinymce.editor') || urlPath.includes('tinymce.plugin') || + urlPath.includes('tinymce.theme') || urlPath.includes('tinymce.root') || + urlPath.includes('tinymce.addonmanager') || urlPath.includes('tinymce.editormanager') || + urlPath.includes('tinymce.editormode') || urlPath.includes('tinymce.editoroptions') || + urlPath.includes('tinymce.editorupload')) { + return { category: 'API Reference', subcategory: 'Core APIs' }; + } + if (urlPath.includes('windowmanager') || urlPath.includes('notificationmanager') || + urlPath.includes('shortcuts') || urlPath.includes('editor.ui')) { + return { category: 'API Reference', subcategory: 'UI APIs' }; + } + if (urlPath.includes('dom.')) { + return { category: 'API Reference', subcategory: 'DOM APIs' }; + } + if (urlPath.includes('html.')) { + return { category: 'API Reference', subcategory: 'HTML APIs' }; + } + if (urlPath.includes('geom.')) { + return { category: 'API Reference', subcategory: 'Geometry APIs' }; + } + if (urlPath.includes('util.') || urlPath.includes('env') || urlPath.includes('event') || + urlPath.includes('undomanager') || urlPath.includes('formatter') || urlPath.includes('annotator') || + urlPath.includes('userlookup') || urlPath.includes('fakeclipboard')) { + return { category: 'API Reference', subcategory: 'Utility APIs' }; + } + return { category: 'API Reference', subcategory: 'Core APIs' }; + } + + // Migration Guides + if (urlPath.includes('migration') || urlPath === 'upgrading') { + return { category: 'Migration Guides', subcategory: null }; + } + + // Examples & Demos + if (urlPath.startsWith('examples') || urlPath.startsWith('how-to-guides') || + urlPath.startsWith('basic-example') || urlPath.includes('-demo')) { + return { category: 'Examples & Demos', subcategory: null }; + } + + // Release Information + if (urlPath.includes('release-notes') || urlPath.includes('changelog') || + urlPath.match(/\d+\.\d+\.\d+-release-notes/)) { + return { category: 'Release Information', subcategory: null }; + } + + // Accessibility & Security + if (urlPath.startsWith('accessibility') || urlPath.startsWith('tinymce-and-screenreaders') || + urlPath.startsWith('security') || urlPath.startsWith('tinymce-for-mobile') || + urlPath.startsWith('shortcuts') || urlPath.startsWith('keyboard-shortcuts')) { + return { category: 'Accessibility & Security', subcategory: null }; + } + + // Support & Resources + if (urlPath === 'support' || urlPath === 'index' || urlPath.startsWith('promotions') || + urlPath.startsWith('tiny-docs-ai')) { + return { category: 'Support & Resources', subcategory: null }; + } + + // Legacy & Other + if (urlPath === 'moxiemanager' || urlPath === 'php-upload-handler' || + urlPath.startsWith('ie-template-creation')) { + return { category: 'Legacy & Other', subcategory: null }; + } + + // Everything else + return { category: 'Other', subcategory: null }; +} + +// Make titles unique within a category +function makeTitlesUnique(entries) { + const titleCounts = new Map(); + const titleToEntries = new Map(); + + // Count occurrences of each title + entries.forEach(entry => { + const count = titleCounts.get(entry.title) || 0; + titleCounts.set(entry.title, count + 1); + + if (!titleToEntries.has(entry.title)) { + titleToEntries.set(entry.title, []); + } + titleToEntries.get(entry.title).push(entry); + }); + + // For duplicate titles, make them unique + titleToEntries.forEach((entriesWithTitle, title) => { + if (titleCounts.get(title) > 1) { + entriesWithTitle.forEach((entry, index) => { + // Generate a more specific title based on URL path + const path = entry.urlPath; + + // Titles should already be unique from generateTitleFromPath, but handle edge cases + if (path === 'cloud-quick-start') { + entry.title = 'Quick start: Cloud'; + } else if (path === 'npm-projects') { + entry.title = 'Quick start: NPM/Yarn'; + } else if (path === 'zip-install') { + entry.title = 'Quick start: ZIP'; + } else if (path === 'swing') { + // Swing should only appear once - if duplicate, skip + if (index > 0) { + entry.title = null; // Mark for removal + } + } else { + // For other duplicates, add context from URL + const pathParts = path.split('-'); + if (pathParts.length > 1) { + const lastPart = pathParts[pathParts.length - 1]; + entry.title = `${title} (${lastPart})`; + } + } + }); + } + }); + + return entries; +} + +// Generate llms-full.txt +async function generateLLMsFullTxt(urls) { + console.log(`Fetching H1 titles from ${urls.length} pages...`); + console.log('This may take a few minutes...'); + + // Fetch H1 titles from all pages + const h1Titles = await fetchH1TitlesBatch(urls, 10, 100); + + let fetchedCount = 0; + let fallbackCount = 0; + + // Process all URLs + const entries = urls.map(url => { + const urlPath = getUrlPath(url); + const fetchedTitle = h1Titles.get(url); + const generatedTitle = generateTitleFromPath(urlPath); + + // Use fetched H1 if available, otherwise fallback to generated + const title = fetchedTitle || generatedTitle; + + if (fetchedTitle) { + fetchedCount++; + } else { + fallbackCount++; + } + + const catInfo = categorizeUrl(urlPath); + + return { + url, + urlPath, + title, + category: catInfo.category, + subcategory: catInfo.subcategory + }; + }); + + console.log(`✓ Fetched ${fetchedCount} H1 titles, ${fallbackCount} used fallback titles`); + + // Remove duplicate URLs (keep first occurrence) - should already be unique from parseSitemap, but double-check + const seenUrls = new Set(); + const uniqueEntries = entries.filter(entry => { + // Normalize URL for comparison + const normalizedUrl = entry.url.replace(/\/$/, '') + '/'; + if (seenUrls.has(normalizedUrl)) { + return false; + } + seenUrls.add(normalizedUrl); + return true; + }); + + // Group by category and subcategory, ensuring each URL appears only once + const categorized = new Map(); + const urlToCategory = new Map(); // Track which category each URL is in + + uniqueEntries.forEach(entry => { + // If URL already categorized, skip (prefer first category encountered) + if (urlToCategory.has(entry.url)) { + return; + } + + const key = entry.subcategory ? `${entry.category}::${entry.subcategory}` : entry.category; + + if (!categorized.has(key)) { + categorized.set(key, []); + } + categorized.get(key).push(entry); + urlToCategory.set(entry.url, key); + }); + + // Make titles unique within each category + categorized.forEach((entries, key) => { + const uniqueTitles = makeTitlesUnique(entries); + // Remove entries marked for removal (null title) + const filtered = uniqueTitles.filter(e => e.title !== null); + categorized.set(key, filtered); + + // Sort by title + filtered.sort((a, b) => a.title.localeCompare(b.title)); + }); + + // Build content + let content = `# TinyMCE Documentation - Complete Reference + +## Overview +TinyMCE is a rich text editor that provides a WYSIWYG editing experience. The latest stable version is TinyMCE 8, released in July 2025. + +## Current Version Information +- **Latest Stable Version**: TinyMCE 8 +- **Version in CDN URLs**: Use \`tinymce@8\` or \`tinymce/8\` +- **Package Installation**: Always install \`tinymce@8\` for new projects +- **Legacy Versions**: TinyMCE 7, 6, and 5 are maintained for existing projects but new projects should use TinyMCE 8 + +## Getting Started + +### Quick Start Guides +- **Getting Started Overview**: ${BASE_URL}/getting-started/ +- **Introduction to TinyMCE**: ${BASE_URL}/introduction-to-tinymce/ +- **Installation Options**: ${BASE_URL}/installation/ + +### Cloud Deployment (Recommended) +- **Cloud Quick Start**: ${BASE_URL}/cloud-quick-start/ +- **Cloud Deployment Guide**: ${BASE_URL}/cloud-deployment-guide/ +- **Editor and Features**: ${BASE_URL}/editor-and-features/ +- **Specify Editor Version**: ${BASE_URL}/editor-plugin-version/ +- **Cloud Troubleshooting**: ${BASE_URL}/cloud-troubleshooting/ + +### Self-Hosted Deployment +- **NPM Projects Quick Start**: ${BASE_URL}/npm-projects/ +- **ZIP Installation Quick Start**: ${BASE_URL}/zip-install/ +- **Self-Hosted Installation**: ${BASE_URL}/installation-self-hosted/ + +## Integration Guides + +### Frontend Frameworks +`; + + // Frontend integrations - use Cloud pages as main entry points (revert from landing pages) + const frontendIntegrations = [ + { name: 'React', paths: ['react-cloud', 'react-pm-host', 'react-zip-host'] }, + { name: 'Vue.js', paths: ['vue-cloud', 'vue-pm', 'vue-zip'] }, + { name: 'Angular', paths: ['angular-cloud', 'angular-pm', 'angular-zip'] }, + { name: 'Blazor', paths: ['blazor-cloud', 'blazor-pm', 'blazor-zip'] }, + { name: 'Svelte', paths: ['svelte-cloud', 'svelte-pm', 'svelte-zip'] }, + { name: 'Web Component', paths: ['webcomponent-cloud', 'webcomponent-pm', 'webcomponent-zip'] }, + { name: 'jQuery', paths: ['jquery-cloud', 'jquery-pm'] } + ]; + + frontendIntegrations.forEach(integration => { + const cloudPath = integration.paths.find(p => p.includes('cloud')); + const mainUrl = `${BASE_URL}/${cloudPath}/`; + content += `- **${integration.name}**: ${mainUrl}\n`; + + integration.paths.filter(p => p !== cloudPath).forEach(path => { + const url = `${BASE_URL}/${path}/`; + const label = path.includes('pm') ? 'Package Manager' : 'ZIP'; + content += ` - ${label}: ${url}\n`; + }); + }); + + content += `\n### Backend Frameworks\n`; + + const backendIntegrations = [ + { name: 'Django', paths: ['django-cloud', 'django-zip'] }, + { name: 'Laravel', paths: ['laravel-tiny-cloud', 'laravel-composer-install', 'laravel-zip-install'] }, + { name: 'Ruby on Rails', paths: ['rails-cloud', 'rails-third-party', 'rails-zip'] }, + { name: 'Node.js + Express', paths: ['expressjs-pm'] } + ]; + + backendIntegrations.forEach(integration => { + const cloudPath = integration.paths.find(p => p.includes('cloud')); + if (cloudPath) { + const mainUrl = `${BASE_URL}/${cloudPath}/`; + content += `- **${integration.name}**: ${mainUrl}\n`; + + integration.paths.filter(p => p !== cloudPath).forEach(path => { + const url = `${BASE_URL}/${path}/`; + let label = path.includes('composer') ? 'Composer' : path.includes('zip') ? 'ZIP' : 'Package Manager'; + content += ` - ${label}: ${url}\n`; + }); + } else { + // For integrations without cloud (like Express), use first path as main + const mainPath = integration.paths[0]; + const mainUrl = `${BASE_URL}/${mainPath}/`; + content += `- **${integration.name}**: ${mainUrl}\n`; + + if (integration.paths.length > 1) { + integration.paths.slice(1).forEach(path => { + const url = `${BASE_URL}/${path}/`; + content += ` - Package Manager: ${url}\n`; + }); + } + } + }); + + content += `\n### Other Integrations\n`; + content += `- **Bootstrap**: ${BASE_URL}/bootstrap/\n`; + content += ` - Cloud: ${BASE_URL}/bootstrap-cloud/\n`; + content += ` - ZIP: ${BASE_URL}/bootstrap-zip/\n`; + content += `- **PHP Projects**: ${BASE_URL}/php-projects/\n`; + content += `- **.NET Projects**: ${BASE_URL}/dotnet-projects/\n`; + content += `- **WordPress**: ${BASE_URL}/wordpress/\n`; + content += `- **Shadow DOM**: ${BASE_URL}/shadow-dom/\n`; + content += `- **Java Swing**: ${BASE_URL}/swing/\n`; + + // Add remaining top sections + content += `\n## Configuration\n\n### Basic Setup\n`; + content += `- **Basic Setup**: ${BASE_URL}/basic-setup/\n`; + content += `- **Selector Configuration**: Required for all TinyMCE instances\n`; + content += `- **Plugin Configuration**: ${BASE_URL}/work-with-plugins/\n`; + content += `- **Toolbar Configuration**: Part of basic setup\n`; + content += `- **Menu and Menu Bar**: Part of basic setup\n\n`; + content += `### Common Configuration Options\n`; + content += `- **Content Filtering**: ${BASE_URL}/filter-content/\n`; + content += `- **Localization**: ${BASE_URL}/localize-your-language/\n`; + content += `- **Spell Checking**: ${BASE_URL}/spell-checking/\n`; + content += `- **Content CSS**: ${BASE_URL}/editor-content-css/\n`; + content += `- **URL Handling**: ${BASE_URL}/url-handling/\n`; + + content += `\n## CDN and Package URLs\n\n### Cloud CDN (Recommended)\n\`\`\`\nhttps://cdn.tiny.cloud/1/[api-key]/tinymce/8/tinymce.min.js\n\`\`\`\nReplace \`[api-key]\` with your Tiny Cloud API key.\n\n### jsDelivr CDN\n\`\`\`\nhttps://cdn.jsdelivr.net/npm/tinymce@8/tinymce.min.js\n\`\`\`\n\n### Package Manager Installation\n`; + content += `- **npm**: \`npm install tinymce@8\`\n`; + content += `- **yarn**: \`yarn add tinymce@8\`\n`; + content += `- **pnpm**: \`pnpm add tinymce@8\`\n`; + content += `- **Composer** (PHP): \`composer require tinymce/tinymce\`\n`; + content += `- **NuGet** (.NET): \`Install-Package TinyMCE\`\n`; + + content += `\n## Integration Packages\n\n### React\n`; + content += `- **Package**: \`@tinymce/tinymce-react\`\n`; + content += `- **Installation**: \`npm install @tinymce/tinymce-react tinymce@8\`\n\n`; + content += `### Vue\n`; + content += `- **Package**: \`@tinymce/tinymce-vue\`\n`; + content += `- **Installation**: \`npm install @tinymce/tinymce-vue tinymce@8\`\n\n`; + content += `### Angular\n`; + content += `- **Package**: \`@tinymce/tinymce-angular\`\n`; + content += `- **Installation**: \`npm install @tinymce/tinymce-angular tinymce@8\`\n`; + + content += `\n## Code Examples\n\n### Basic HTML Example (Cloud)\n\`\`\`html\n\n\n\`\`\`\n\n### Basic HTML Example (Self-Hosted)\n\`\`\`html\n\n\n\`\`\`\n\n### React Example\n\`\`\`jsx\nimport { Editor } from '@tinymce/tinymce-react';\n\nfunction App() {\n return (\n \n );\n}\n\`\`\`\n\n### Vue Example\n\`\`\`vue\n\n\n\n\`\`\`\n`; + + content += `\n## Important Notes for AI Assistants\n\n`; + content += `1. **Always use TinyMCE 8** for new projects and code examples\n`; + content += `2. **CDN URLs must include version 8**: Use \`tinymce@8\` or \`tinymce/8\` in URLs\n`; + content += `3. **Package installations**: Always specify \`tinymce@8\` when installing\n`; + content += `4. **Integration packages**: Use the latest versions compatible with TinyMCE 8\n`; + content += `5. **Code examples default to TinyMCE 8** unless explicitly noted otherwise\n`; + content += `6. **Legacy versions (5, 6, 7)**: Only reference when specifically asked about migration or legacy support\n`; + content += `7. **Cloud vs Self-Hosted**: Cloud deployment is recommended for most use cases\n`; + + content += `\n## API Reference\n`; + content += `- **Editor API**: ${BASE_URL}/apis/tinymce.editor/\n`; + content += `- **Plugin API**: ${BASE_URL}/apis/tinymce.plugin/\n`; + + content += `\n## Migration Guides\n`; + content += `- **Upgrading TinyMCE**: ${BASE_URL}/upgrading/\n`; + content += `- **Migration from 7.x**: ${BASE_URL}/migration-from-7x/\n`; + + content += `\n## Support and Resources\n`; + content += `- **Documentation Home**: ${BASE_URL}/\n`; + content += `- **Release Notes**: ${BASE_URL}/release-notes/\n`; + content += `- **Examples**: ${BASE_URL}/examples/\n`; + content += `- **How-to Guides**: ${BASE_URL}/how-to-guides/\n\n\n`; + + // Complete Documentation Index + content += `## Complete Documentation Index\n\n`; + content += `This section provides a complete list of all ${uniqueEntries.length} documentation pages available in TinyMCE 8, organized by category. This comprehensive index ensures LLMs have access to every documentation page, reducing the risk of hallucinations or missing important details.\n\n`; + + // Output categories in specific order + const categoryStructure = [ + { category: 'Getting Started & Installation', subcategory: null }, + { category: 'Framework Integrations', subcategory: 'Frontend Frameworks' }, + { category: 'Framework Integrations', subcategory: 'Backend Frameworks' }, + { category: 'Framework Integrations', subcategory: 'Other Integrations' }, + { category: 'Framework Integrations', subcategory: 'Technical References' }, + { category: 'Configuration & Setup', subcategory: null }, + { category: 'Plugins & Features', subcategory: 'Core Plugins' }, + { category: 'Plugins & Features', subcategory: 'Editor Modes' }, + { category: 'Plugins & Features', subcategory: 'Spell Checking' }, + { category: 'Premium Features', subcategory: 'AI Features' }, + { category: 'Premium Features', subcategory: 'Comments & Collaboration' }, + { category: 'Premium Features', subcategory: 'Export & Import' }, + { category: 'Premium Features', subcategory: 'PowerPaste' }, + { category: 'Premium Features', subcategory: 'TinyDrive' }, + { category: 'Premium Features', subcategory: 'Media Optimizer' }, + { category: 'Premium Features', subcategory: 'Services & Infrastructure' }, + { category: 'Customization & Development', subcategory: 'Creating Custom Components' }, + { category: 'Customization & Development', subcategory: 'Bundling & Build Tools' }, + { category: 'Customization & Development', subcategory: 'Dialog & UI Components' }, + { category: 'Customization & Development', subcategory: 'Enhanced Skins & Icons' }, + { category: 'API Reference', subcategory: 'Core APIs' }, + { category: 'API Reference', subcategory: 'UI APIs' }, + { category: 'API Reference', subcategory: 'Utility APIs' }, + { category: 'API Reference', subcategory: 'DOM APIs' }, + { category: 'API Reference', subcategory: 'HTML APIs' }, + { category: 'API Reference', subcategory: 'Geometry APIs' }, + { category: 'Migration Guides', subcategory: null }, + { category: 'Examples & Demos', subcategory: null }, + { category: 'Release Information', subcategory: null }, + { category: 'Accessibility & Security', subcategory: null }, + { category: 'Support & Resources', subcategory: null }, + { category: 'Legacy & Other', subcategory: null } + ]; + + let currentMainCategory = null; + categoryStructure.forEach(({ category, subcategory }) => { + const key = subcategory ? `${category}::${subcategory}` : category; + + if (categorized.has(key)) { + const entries = categorized.get(key); + + // Output main category header if it changed + if (currentMainCategory !== category) { + if (currentMainCategory !== null) { + content += '\n'; + } + content += `### ${category}\n\n`; + currentMainCategory = category; + } + + // Output subcategory header if present + if (subcategory) { + content += `#### ${subcategory}\n`; + } + + // List entries + entries.forEach(entry => { + content += `- **${entry.title}**: ${entry.url}\n`; + }); + + content += '\n'; + } + }); + + return content; +} + +// Generate llms.txt (curated, simplified version) +function generateLLMsTxt(urls) { + return `# TinyMCE Documentation + +> Rich text editor for web applications. The latest stable version is TinyMCE 8. + +TinyMCE is a powerful, flexible WYSIWYG rich text editor that can be integrated into any web application. + +**IMPORTANT**: Always use TinyMCE 8 for new projects. Use \`tinymce@8\` or \`tinymce/8\` in CDN URLs and package installations. + +## Getting Started + +- [Getting Started](${BASE_URL}/getting-started/): Overview and introduction to TinyMCE +- [Introduction to TinyMCE](${BASE_URL}/introduction-to-tinymce/): What is TinyMCE and how to add it to your project +- [Installation](${BASE_URL}/installation/): Installation options and methods + +### Quick Start Guides + +- [Cloud Quick Start](${BASE_URL}/cloud-quick-start/): Get started with Tiny Cloud CDN (recommended) +- [NPM Quick Start](${BASE_URL}/npm-projects/): Install via npm, yarn, or pnpm +- [ZIP Quick Start](${BASE_URL}/zip-install/): Download and install from ZIP archive + +## Integration Guides + +See the complete documentation index in llms-full.txt for all available integration pages. + +## Basic Setup Examples + +### Cloud Deployment (Recommended) + +\`\`\`html + + +\`\`\` + +### Self-Hosted (NPM) + +\`\`\`bash +npm install tinymce@8 +\`\`\` + +\`\`\`html + + +\`\`\` + +### React Example + +\`\`\`jsx +import { Editor } from '@tinymce/tinymce-react'; + +function App() { + return ( + + ); +} +\`\`\` + +## Key Configuration + +- [Basic Setup](${BASE_URL}/basic-setup/): Essential configuration options +- [Content Filtering](${BASE_URL}/filter-content/): Control HTML output +- [Localization](${BASE_URL}/localize-your-language/): Multi-language support +- [Spell Checking](${BASE_URL}/spell-checking/): Enable spell checking +- [Cloud Deployment Guide](${BASE_URL}/cloud-deployment-guide/): Configure Tiny Cloud + +## Plugins & Features + +- [Plugins Overview](${BASE_URL}/plugins/): Available plugins and features +- [Table Plugin](${BASE_URL}/table/): Table editing capabilities +- [Image Plugin](${BASE_URL}/image/): Image handling and editing +- [Link Plugin](${BASE_URL}/link/): Link management + +## API Reference + +- [Editor API](${BASE_URL}/apis/tinymce.editor/): Core editor API +- [Plugin API](${BASE_URL}/apis/tinymce.plugin/): Plugin development API + +## Migration & Upgrading + +- [Upgrading TinyMCE](${BASE_URL}/upgrading/): Upgrade guide +- [Migration from 7.x](${BASE_URL}/migration-from-7x/): Migrate from TinyMCE 7 + +## Complete Documentation + +For a complete list of all ${urls.length} documentation pages, see [llms-full.txt](${BASE_URL}/llms-full.txt). + +`; +} + +// Main execution +async function main() { + const sitemapSource = process.argv[2] || path.join(__dirname, '../build/site/sitemap.xml'); + + console.log('Generating LLM files...'); + console.log(`Using sitemap: ${sitemapSource}`); + + try { + const sitemapContent = await getSitemap(sitemapSource); + const urls = parseSitemap(sitemapContent); + console.log(`Found ${urls.length} unique URLs in sitemap`); + + const llmsTxt = generateLLMsTxt(urls); + const llmsFullTxt = await generateLLMsFullTxt(urls); + + fs.writeFileSync(path.join(OUTPUT_DIR, 'llms.txt'), llmsTxt); + fs.writeFileSync(path.join(OUTPUT_DIR, 'llms-full.txt'), llmsFullTxt); + + console.log('✓ Generated llms.txt'); + console.log('✓ Generated llms-full.txt'); + console.log(`\nFiles written to: ${OUTPUT_DIR}`); + console.log(`\nTotal unique pages: ${urls.length}`); + + } catch (error) { + console.error('Error:', error.message); + process.exit(1); + } +} + +if (require.main === module) { + main(); +} + +module.exports = { generateLLMsTxt, generateLLMsFullTxt, parseSitemap, getSitemap, fetchH1Title, fetchH1TitlesBatch }; diff --git a/-scripts/generate-llm-files.sh b/-scripts/generate-llm-files.sh new file mode 100755 index 0000000000..57a59bab7c --- /dev/null +++ b/-scripts/generate-llm-files.sh @@ -0,0 +1,25 @@ +#!/bin/bash + +# Script to generate LLM files after Antora build +# This should be run after the site is built and sitemap.xml is generated + +set -e + +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)" + +echo "Generating LLM files..." + +# Use local sitemap (required) +SITEMAP_PATH="$PROJECT_ROOT/build/site/sitemap.xml" + +if [ ! -f "$SITEMAP_PATH" ]; then + echo "Error: Local sitemap not found at $SITEMAP_PATH" + echo "Please run 'yarn antora ./antora-playbook.yml' first to generate the site." + exit 1 +fi + +echo "Using local sitemap: $SITEMAP_PATH" +node "$SCRIPT_DIR/generate-llm-files.js" "$SITEMAP_PATH" + +echo "✓ LLM files generated successfully" diff --git a/modules/ROOT/attachments/llms-full.txt b/modules/ROOT/attachments/llms-full.txt index a58c6ebf72..7f173d9ca1 100644 --- a/modules/ROOT/attachments/llms-full.txt +++ b/modules/ROOT/attachments/llms-full.txt @@ -31,48 +31,37 @@ TinyMCE is a rich text editor that provides a WYSIWYG editing experience. The la ## Integration Guides ### Frontend Frameworks -- **React**: https://www.tiny.cloud/docs/tinymce/latest/react/ - - Cloud: https://www.tiny.cloud/docs/tinymce/latest/react-cloud/ +- **React**: https://www.tiny.cloud/docs/tinymce/latest/react-cloud/ - Package Manager: https://www.tiny.cloud/docs/tinymce/latest/react-pm-host/ - ZIP: https://www.tiny.cloud/docs/tinymce/latest/react-zip-host/ -- **Vue.js**: https://www.tiny.cloud/docs/tinymce/latest/vue/ - - Cloud: https://www.tiny.cloud/docs/tinymce/latest/vue-cloud/ +- **Vue.js**: https://www.tiny.cloud/docs/tinymce/latest/vue-cloud/ - Package Manager: https://www.tiny.cloud/docs/tinymce/latest/vue-pm/ - ZIP: https://www.tiny.cloud/docs/tinymce/latest/vue-zip/ -- **Angular**: https://www.tiny.cloud/docs/tinymce/latest/angular/ - - Cloud: https://www.tiny.cloud/docs/tinymce/latest/angular-cloud/ +- **Angular**: https://www.tiny.cloud/docs/tinymce/latest/angular-cloud/ - Package Manager: https://www.tiny.cloud/docs/tinymce/latest/angular-pm/ - ZIP: https://www.tiny.cloud/docs/tinymce/latest/angular-zip/ -- **Blazor**: https://www.tiny.cloud/docs/tinymce/latest/blazor/ - - Cloud: https://www.tiny.cloud/docs/tinymce/latest/blazor-cloud/ +- **Blazor**: https://www.tiny.cloud/docs/tinymce/latest/blazor-cloud/ - Package Manager: https://www.tiny.cloud/docs/tinymce/latest/blazor-pm/ - ZIP: https://www.tiny.cloud/docs/tinymce/latest/blazor-zip/ -- **Svelte**: https://www.tiny.cloud/docs/tinymce/latest/svelte/ - - Cloud: https://www.tiny.cloud/docs/tinymce/latest/svelte-cloud/ +- **Svelte**: https://www.tiny.cloud/docs/tinymce/latest/svelte-cloud/ - Package Manager: https://www.tiny.cloud/docs/tinymce/latest/svelte-pm/ - ZIP: https://www.tiny.cloud/docs/tinymce/latest/svelte-zip/ -- **Web Component**: https://www.tiny.cloud/docs/tinymce/latest/webcomponent/ - - Cloud: https://www.tiny.cloud/docs/tinymce/latest/webcomponent-cloud/ +- **Web Component**: https://www.tiny.cloud/docs/tinymce/latest/webcomponent-cloud/ - Package Manager: https://www.tiny.cloud/docs/tinymce/latest/webcomponent-pm/ - ZIP: https://www.tiny.cloud/docs/tinymce/latest/webcomponent-zip/ -- **jQuery**: https://www.tiny.cloud/docs/tinymce/latest/jquery/ - - Cloud: https://www.tiny.cloud/docs/tinymce/latest/jquery-cloud/ +- **jQuery**: https://www.tiny.cloud/docs/tinymce/latest/jquery-cloud/ - Package Manager: https://www.tiny.cloud/docs/tinymce/latest/jquery-pm/ ### Backend Frameworks -- **Django**: https://www.tiny.cloud/docs/tinymce/latest/django/ - - Cloud: https://www.tiny.cloud/docs/tinymce/latest/django-cloud/ +- **Django**: https://www.tiny.cloud/docs/tinymce/latest/django-cloud/ - ZIP: https://www.tiny.cloud/docs/tinymce/latest/django-zip/ -- **Laravel**: https://www.tiny.cloud/docs/tinymce/latest/laravel/ - - Cloud: https://www.tiny.cloud/docs/tinymce/latest/laravel-tiny-cloud/ +- **Laravel**: https://www.tiny.cloud/docs/tinymce/latest/laravel-tiny-cloud/ - Composer: https://www.tiny.cloud/docs/tinymce/latest/laravel-composer-install/ - ZIP: https://www.tiny.cloud/docs/tinymce/latest/laravel-zip-install/ -- **Ruby on Rails**: https://www.tiny.cloud/docs/tinymce/latest/rails/ - - Cloud: https://www.tiny.cloud/docs/tinymce/latest/rails-cloud/ +- **Ruby on Rails**: https://www.tiny.cloud/docs/tinymce/latest/rails-cloud/ - Package Manager: https://www.tiny.cloud/docs/tinymce/latest/rails-third-party/ - ZIP: https://www.tiny.cloud/docs/tinymce/latest/rails-zip/ - **Node.js + Express**: https://www.tiny.cloud/docs/tinymce/latest/expressjs-pm/ - - Package Manager: https://www.tiny.cloud/docs/tinymce/latest/expressjs-pm/ ### Other Integrations - **Bootstrap**: https://www.tiny.cloud/docs/tinymce/latest/bootstrap/ @@ -230,266 +219,216 @@ export default { ## Complete Documentation Index -This section provides a complete list of all 395 documentation pages available in TinyMCE 8, organized by category. This comprehensive index ensures LLMs have access to every documentation page, reducing the risk of hallucinations or missing important details. +This section provides a complete list of all 396 documentation pages available in TinyMCE 8, organized by category. This comprehensive index ensures LLMs have access to every documentation page, reducing the risk of hallucinations or missing important details. ### Getting Started & Installation +- **About Tiny Cloud's Usage-Based Billing (UBB)**: https://www.tiny.cloud/docs/tinymce/latest/usage-based-billing/ - **Getting Started**: https://www.tiny.cloud/docs/tinymce/latest/getting-started/ +- **Installing TinyMCE**: https://www.tiny.cloud/docs/tinymce/latest/installation/ +- **Installing TinyMCE using a .zip file**: https://www.tiny.cloud/docs/tinymce/latest/installation-zip/ +- **Installing TinyMCE using a package manager**: https://www.tiny.cloud/docs/tinymce/latest/installation-self-hosted/ +- **Installing TinyMCE using the Tiny Cloud**: https://www.tiny.cloud/docs/tinymce/latest/installation-cloud/ - **Introduction to TinyMCE**: https://www.tiny.cloud/docs/tinymce/latest/introduction-to-tinymce/ -- **Installation**: https://www.tiny.cloud/docs/tinymce/latest/installation/ -- **Cloud Quick Start**: https://www.tiny.cloud/docs/tinymce/latest/cloud-quick-start/ -- **Cloud Deployment Guide**: https://www.tiny.cloud/docs/tinymce/latest/cloud-deployment-guide/ -- **Cloud deployment of editor & plugins**: https://www.tiny.cloud/docs/tinymce/latest/editor-and-features/ -- **Cloud deployment of plugins Only**: https://www.tiny.cloud/docs/tinymce/latest/features-only/ -- **Cloud**: https://www.tiny.cloud/docs/tinymce/latest/installation-cloud/ -- **NPM Projects Quick Start**: https://www.tiny.cloud/docs/tinymce/latest/npm-projects/ -- **ZIP Installation Quick Start**: https://www.tiny.cloud/docs/tinymce/latest/zip-install/ -- **Self-Hosted Installation**: https://www.tiny.cloud/docs/tinymce/latest/installation-self-hosted/ -- **Self-hosted**: https://www.tiny.cloud/docs/tinymce/latest/installation-self-hosted/ -- **ZIP**: https://www.tiny.cloud/docs/tinymce/latest/installation-zip/ -- **Quick start: Cloud**: https://www.tiny.cloud/docs/tinymce/latest/cloud-quick-start/ -- **Quick start: NPM/Yarn**: https://www.tiny.cloud/docs/tinymce/latest/npm-projects/ -- **Quick start: ZIP**: https://www.tiny.cloud/docs/tinymce/latest/zip-install/ -- **Cloud Troubleshooting**: https://www.tiny.cloud/docs/tinymce/latest/cloud-troubleshooting/ - **Invalid API key**: https://www.tiny.cloud/docs/tinymce/latest/invalid-api-key/ -- **About Tiny Cloud's Usage-Based Billing (UBB)**: https://www.tiny.cloud/docs/tinymce/latest/usage-based-billing/ +- **Quick start: TinyMCE from .zip**: https://www.tiny.cloud/docs/tinymce/latest/zip-install/ +- **Quick start: TinyMCE from NPM or Yarn**: https://www.tiny.cloud/docs/tinymce/latest/npm-projects/ +- **Quick start: TinyMCE from Tiny Cloud**: https://www.tiny.cloud/docs/tinymce/latest/cloud-quick-start/ + ### Framework Integrations #### Frontend Frameworks -- **React**: https://www.tiny.cloud/docs/tinymce/latest/react-cloud/ -- **React Cloud**: https://www.tiny.cloud/docs/tinymce/latest/react-cloud/ -- **React Package Manager**: https://www.tiny.cloud/docs/tinymce/latest/react-pm-host/ -- **React ZIP**: https://www.tiny.cloud/docs/tinymce/latest/react-zip-host/ -- **Self-host TinyMCE in React**: https://www.tiny.cloud/docs/tinymce/latest/react-pm-host/ -- **Bundle TinyMCE in a React application**: https://www.tiny.cloud/docs/tinymce/latest/react-pm-bundle/ -- **Using a TinyMCE .zip package in React**: https://www.tiny.cloud/docs/tinymce/latest/react-zip-host/ -- **Using a .zip package with a module bundler**: https://www.tiny.cloud/docs/tinymce/latest/react-zip-bundle/ -- **Vue.js**: https://www.tiny.cloud/docs/tinymce/latest/vue-cloud/ -- **Vue Cloud**: https://www.tiny.cloud/docs/tinymce/latest/vue-cloud/ -- **Vue Package Manager**: https://www.tiny.cloud/docs/tinymce/latest/vue-pm/ -- **Vue ZIP**: https://www.tiny.cloud/docs/tinymce/latest/vue-zip/ -- **Angular**: https://www.tiny.cloud/docs/tinymce/latest/angular-cloud/ -- **Angular Cloud**: https://www.tiny.cloud/docs/tinymce/latest/angular-cloud/ -- **Angular Package Manager**: https://www.tiny.cloud/docs/tinymce/latest/angular-pm/ -- **Angular ZIP**: https://www.tiny.cloud/docs/tinymce/latest/angular-zip/ -- **Angular: Using a package manager with bundling**: https://www.tiny.cloud/docs/tinymce/latest/angular-pm-bundle/ -- **Angular: Using a package manager with bundling (ZIP)**: https://www.tiny.cloud/docs/tinymce/latest/angular-zip-bundle/ -- **Angular: Using a .zip package**: https://www.tiny.cloud/docs/tinymce/latest/angular-zip/ -- **Angular: Using a package manager**: https://www.tiny.cloud/docs/tinymce/latest/angular-pm/ -- **Blazor**: https://www.tiny.cloud/docs/tinymce/latest/blazor-cloud/ -- **Blazor Cloud**: https://www.tiny.cloud/docs/tinymce/latest/blazor-cloud/ -- **Blazor Package Manager**: https://www.tiny.cloud/docs/tinymce/latest/blazor-pm/ -- **Blazor ZIP**: https://www.tiny.cloud/docs/tinymce/latest/blazor-zip/ -- **Blazor: Using a package manager**: https://www.tiny.cloud/docs/tinymce/latest/blazor-pm/ -- **Blazor: Using a .zip package**: https://www.tiny.cloud/docs/tinymce/latest/blazor-zip/ -- **Svelte**: https://www.tiny.cloud/docs/tinymce/latest/svelte-cloud/ -- **Svelte Cloud**: https://www.tiny.cloud/docs/tinymce/latest/svelte-cloud/ -- **Svelte Package Manager**: https://www.tiny.cloud/docs/tinymce/latest/svelte-pm/ -- **Svelte ZIP**: https://www.tiny.cloud/docs/tinymce/latest/svelte-zip/ -- **Svelte: Using a package manager with bundling**: https://www.tiny.cloud/docs/tinymce/latest/svelte-pm-bundle/ -- **Svelte: Using a package manager**: https://www.tiny.cloud/docs/tinymce/latest/svelte-pm/ -- **Svelte: Using a .zip package**: https://www.tiny.cloud/docs/tinymce/latest/svelte-zip/ -- **Web Component**: https://www.tiny.cloud/docs/tinymce/latest/webcomponent-cloud/ -- **Web Component Cloud**: https://www.tiny.cloud/docs/tinymce/latest/webcomponent-cloud/ -- **Web Component Package Manager**: https://www.tiny.cloud/docs/tinymce/latest/webcomponent-pm/ -- **Web Component ZIP**: https://www.tiny.cloud/docs/tinymce/latest/webcomponent-zip/ -- **Web Component: Using a package manager**: https://www.tiny.cloud/docs/tinymce/latest/webcomponent-pm/ -- **Web Component: Using a .zip package**: https://www.tiny.cloud/docs/tinymce/latest/webcomponent-zip/ -- **jQuery**: https://www.tiny.cloud/docs/tinymce/latest/jquery-cloud/ -- **jQuery Cloud**: https://www.tiny.cloud/docs/tinymce/latest/jquery-cloud/ -- **jQuery Package Manager**: https://www.tiny.cloud/docs/tinymce/latest/jquery-pm/ +- **Bundling TinyMCE from a .zip package in Angular**: https://www.tiny.cloud/docs/tinymce/latest/angular-zip-bundle/ +- **Bundling TinyMCE from a .zip package in React**: https://www.tiny.cloud/docs/tinymce/latest/react-zip-bundle/ +- **Bundling TinyMCE in Angular**: https://www.tiny.cloud/docs/tinymce/latest/angular-pm-bundle/ +- **Bundling TinyMCE in React**: https://www.tiny.cloud/docs/tinymce/latest/react-pm-bundle/ +- **Bundling TinyMCE in Vue.js**: https://www.tiny.cloud/docs/tinymce/latest/vue-pm-bundle/ +- **Bundling TinyMCE with a Svelte application**: https://www.tiny.cloud/docs/tinymce/latest/svelte-pm-bundle/ +- **Lazy-loading TinyMCE from a .zip package in Angular**: https://www.tiny.cloud/docs/tinymce/latest/angular-zip/ +- **Lazy-loading TinyMCE from a .zip package in React**: https://www.tiny.cloud/docs/tinymce/latest/react-zip-host/ +- **Lazy-loading TinyMCE from a .zip package in Vue.js**: https://www.tiny.cloud/docs/tinymce/latest/vue-zip/ +- **Lazy-loading TinyMCE in Angular**: https://www.tiny.cloud/docs/tinymce/latest/angular-pm/ +- **Lazy-loading TinyMCE in Vue.js**: https://www.tiny.cloud/docs/tinymce/latest/vue-pm/ +- **Self-hosting TinyMCE in React**: https://www.tiny.cloud/docs/tinymce/latest/react-pm-host/ +- **TinyMCE jQuery integration quick start guide (cloud)**: https://www.tiny.cloud/docs/tinymce/latest/jquery-cloud/ +- **TinyMCE jQuery integration quick start guide (pm)**: https://www.tiny.cloud/docs/tinymce/latest/jquery-pm/ +- **Using the TinyMCE .zip package with the Blazor framework**: https://www.tiny.cloud/docs/tinymce/latest/blazor-zip/ +- **Using the TinyMCE .zip package with the Svelte framework**: https://www.tiny.cloud/docs/tinymce/latest/svelte-zip/ +- **Using the TinyMCE .zip package with the Web Component**: https://www.tiny.cloud/docs/tinymce/latest/webcomponent-zip/ +- **Using the TinyMCE package with the Blazor framework**: https://www.tiny.cloud/docs/tinymce/latest/blazor-pm/ +- **Using the TinyMCE package with the Svelte framework**: https://www.tiny.cloud/docs/tinymce/latest/svelte-pm/ +- **Using the TinyMCE package with the Web Component**: https://www.tiny.cloud/docs/tinymce/latest/webcomponent-pm/ +- **Using TinyMCE from the Tiny Cloud CDN with the Blazor framework**: https://www.tiny.cloud/docs/tinymce/latest/blazor-cloud/ +- **Using TinyMCE from the Tiny Cloud CDN with the Svelte framework**: https://www.tiny.cloud/docs/tinymce/latest/svelte-cloud/ +- **Using TinyMCE from the Tiny Cloud CDN with the Web Component**: https://www.tiny.cloud/docs/tinymce/latest/webcomponent-cloud/ +- **Using TinyMCE from Tiny Cloud in Angular**: https://www.tiny.cloud/docs/tinymce/latest/angular-cloud/ +- **Using TinyMCE from Tiny Cloud in React**: https://www.tiny.cloud/docs/tinymce/latest/react-cloud/ +- **Using TinyMCE from Tiny Cloud in Vue.js**: https://www.tiny.cloud/docs/tinymce/latest/vue-cloud/ #### Backend Frameworks -- **Django**: https://www.tiny.cloud/docs/tinymce/latest/django-cloud/ -- **Django Cloud**: https://www.tiny.cloud/docs/tinymce/latest/django-cloud/ -- **Django ZIP**: https://www.tiny.cloud/docs/tinymce/latest/django-zip/ -- **Laravel**: https://www.tiny.cloud/docs/tinymce/latest/laravel-tiny-cloud/ -- **Laravel Cloud**: https://www.tiny.cloud/docs/tinymce/latest/laravel-tiny-cloud/ -- **Laravel Composer**: https://www.tiny.cloud/docs/tinymce/latest/laravel-composer-install/ -- **Laravel ZIP**: https://www.tiny.cloud/docs/tinymce/latest/laravel-zip-install/ -- **Laravel: Using the Composer package**: https://www.tiny.cloud/docs/tinymce/latest/laravel-composer-install/ -- **Laravel: Using a .zip package**: https://www.tiny.cloud/docs/tinymce/latest/laravel-zip-install/ -- **Ruby on Rails**: https://www.tiny.cloud/docs/tinymce/latest/rails-cloud/ -- **Rails Cloud**: https://www.tiny.cloud/docs/tinymce/latest/rails-cloud/ -- **Rails Package Manager**: https://www.tiny.cloud/docs/tinymce/latest/rails-third-party/ -- **Rails ZIP**: https://www.tiny.cloud/docs/tinymce/latest/rails-zip/ -- **Rails: Using a package manager**: https://www.tiny.cloud/docs/tinymce/latest/rails-third-party/ -- **Rails: Using a .zip package**: https://www.tiny.cloud/docs/tinymce/latest/rails-zip/ -- **Node.js + Express**: https://www.tiny.cloud/docs/tinymce/latest/expressjs-pm/ -- **Express Package Manager**: https://www.tiny.cloud/docs/tinymce/latest/expressjs-pm/ +- **Integrating TinyMCE into an Express JS App**: https://www.tiny.cloud/docs/tinymce/latest/expressjs-pm/ +- **Using the TinyMCE .zip package with the Django framework**: https://www.tiny.cloud/docs/tinymce/latest/django-zip/ +- **Using the TinyMCE .zip package with the Laravel framework**: https://www.tiny.cloud/docs/tinymce/latest/laravel-zip-install/ +- **Using the TinyMCE .zip package with the Ruby on Rails framework**: https://www.tiny.cloud/docs/tinymce/latest/rails-zip/ +- **Using the TinyMCE composer package with the Laravel framework**: https://www.tiny.cloud/docs/tinymce/latest/laravel-composer-install/ +- **Using the TinyMCE package with the Ruby on Rails framework**: https://www.tiny.cloud/docs/tinymce/latest/rails-third-party/ +- **Using TinyMCE from the Tiny Cloud CDN with Ruby on Rails**: https://www.tiny.cloud/docs/tinymce/latest/rails-cloud/ +- **Using TinyMCE from the Tiny Cloud CDN with the Django framework**: https://www.tiny.cloud/docs/tinymce/latest/django-cloud/ +- **Using TinyMCE from the Tiny Cloud CDN with the Laravel framework**: https://www.tiny.cloud/docs/tinymce/latest/laravel-tiny-cloud/ #### Other Integrations -- **Bootstrap**: https://www.tiny.cloud/docs/tinymce/latest/bootstrap-cloud/ -- **Bootstrap Cloud**: https://www.tiny.cloud/docs/tinymce/latest/bootstrap-cloud/ -- **Bootstrap ZIP**: https://www.tiny.cloud/docs/tinymce/latest/bootstrap-zip/ -- **PHP Projects**: https://www.tiny.cloud/docs/tinymce/latest/php-projects/ -- **PHP projects**: https://www.tiny.cloud/docs/tinymce/latest/php-projects/ -- **.NET Projects**: https://www.tiny.cloud/docs/tinymce/latest/dotnet-projects/ -- **.NET projects**: https://www.tiny.cloud/docs/tinymce/latest/dotnet-projects/ -- **WordPress**: https://www.tiny.cloud/docs/tinymce/latest/wordpress/ -- **Shadow DOM**: https://www.tiny.cloud/docs/tinymce/latest/shadow-dom/ -- **Java Swing**: https://www.tiny.cloud/docs/tinymce/latest/swing/ +- **Bootstrap**: https://www.tiny.cloud/docs/tinymce/latest/bootstrap/ +- **Bootstrap skin demo**: https://www.tiny.cloud/docs/tinymce/latest/bootstrap-demo/ +- **Installing TinyMCE for .NET**: https://www.tiny.cloud/docs/tinymce/latest/dotnet-projects/ +- **Installing TinyMCE with Composer**: https://www.tiny.cloud/docs/tinymce/latest/php-projects/ +- **PHP image upload handler**: https://www.tiny.cloud/docs/tinymce/latest/php-upload-handler/ +- **Running TinyMCE in a Shadow DOM**: https://www.tiny.cloud/docs/tinymce/latest/shadow-dom/ +- **TinyMCE for Java Swing integration**: https://www.tiny.cloud/docs/tinymce/latest/swing/ +- **Using the TinyMCE .zip package with the Bootstrap framework**: https://www.tiny.cloud/docs/tinymce/latest/bootstrap-zip/ +- **Using TinyMCE from the Tiny Cloud CDN with the Bootstrap framework**: https://www.tiny.cloud/docs/tinymce/latest/bootstrap-cloud/ +- **WordPress integration**: https://www.tiny.cloud/docs/tinymce/latest/wordpress/ #### Technical References -- **Technical reference (Angular)**: https://www.tiny.cloud/docs/tinymce/latest/angular-ref/ -- **Technical reference (Blazor)**: https://www.tiny.cloud/docs/tinymce/latest/blazor-ref/ -- **Technical reference (React)**: https://www.tiny.cloud/docs/tinymce/latest/react-ref/ -- **Technical reference (Svelte)**: https://www.tiny.cloud/docs/tinymce/latest/svelte-ref/ -- **Technical reference (Vue)**: https://www.tiny.cloud/docs/tinymce/latest/vue-ref/ -- **Technical reference (Web Component)**: https://www.tiny.cloud/docs/tinymce/latest/webcomponent-ref/ +- **TinyMCE Angular integration technical reference**: https://www.tiny.cloud/docs/tinymce/latest/angular-ref/ +- **TinyMCE Blazor integration technical reference**: https://www.tiny.cloud/docs/tinymce/latest/blazor-ref/ +- **TinyMCE React integration technical reference**: https://www.tiny.cloud/docs/tinymce/latest/react-ref/ +- **TinyMCE Svelte integration technical reference**: https://www.tiny.cloud/docs/tinymce/latest/svelte-ref/ +- **TinyMCE Vue.js integration technical reference**: https://www.tiny.cloud/docs/tinymce/latest/vue-ref/ +- **TinyMCE Web Component technical reference**: https://www.tiny.cloud/docs/tinymce/latest/webcomponent-ref/ + ### Configuration & Setup -- **Basic Setup**: https://www.tiny.cloud/docs/tinymce/latest/basic-setup/ -- **Configuration reference**: https://www.tiny.cloud/docs/tinymce/latest/initial-configuration/ -- **Basic configuration**: https://www.tiny.cloud/docs/tinymce/latest/dialog-configuration/ -- **Selector Configuration**: Required for all TinyMCE instances -- **Plugin Configuration**: https://www.tiny.cloud/docs/tinymce/latest/work-with-plugins/ -- **Using plugins to extend TinyMCE**: https://www.tiny.cloud/docs/tinymce/latest/work-with-plugins/ -- **Toolbar Configuration**: https://www.tiny.cloud/docs/tinymce/latest/toolbar-configuration-options/ -- **Menu Configuration**: https://www.tiny.cloud/docs/tinymce/latest/menus-configuration-options/ -- **Content Filtering**: https://www.tiny.cloud/docs/tinymce/latest/filter-content/ -- **Content filtering**: https://www.tiny.cloud/docs/tinymce/latest/content-filtering/ -- **Localization**: https://www.tiny.cloud/docs/tinymce/latest/localize-your-language/ -- **Localization**: https://www.tiny.cloud/docs/tinymce/latest/content-localization/ -- **Localization options**: https://www.tiny.cloud/docs/tinymce/latest/ui-localization/ -- **Spell Checking**: https://www.tiny.cloud/docs/tinymce/latest/spell-checking/ -- **Spell checking**: https://www.tiny.cloud/docs/tinymce/latest/spell-checking/ -- **Content CSS**: https://www.tiny.cloud/docs/tinymce/latest/editor-content-css/ -- **CSS for rendering content**: https://www.tiny.cloud/docs/tinymce/latest/editor-content-css/ -- **URL Handling**: https://www.tiny.cloud/docs/tinymce/latest/url-handling/ -- **URL handling options**: https://www.tiny.cloud/docs/tinymce/latest/url-handling/ -- **Content Security Policies (CSP)**: https://www.tiny.cloud/docs/tinymce/latest/tinymce-and-csp/ -- **Cross-Origin Resource Sharing (CORS)**: https://www.tiny.cloud/docs/tinymce/latest/tinymce-and-cors/ -- **Editor Themes**: https://www.tiny.cloud/docs/tinymce/latest/editor-theme/ -- **Editor Skins**: https://www.tiny.cloud/docs/tinymce/latest/editor-skin/ -- **Skins**: https://www.tiny.cloud/docs/tinymce/latest/editor-skin/ -- **Editor Icons**: https://www.tiny.cloud/docs/tinymce/latest/editor-icons/ -- **Icons**: https://www.tiny.cloud/docs/tinymce/latest/editor-icons/ -- **Editor Size Options**: https://www.tiny.cloud/docs/tinymce/latest/editor-size-options/ -- **Size**: https://www.tiny.cloud/docs/tinymce/latest/editor-size-options/ -- **Statusbar Configuration**: https://www.tiny.cloud/docs/tinymce/latest/statusbar-configuration-options/ -- **Statusbar**: https://www.tiny.cloud/docs/tinymce/latest/statusbar-configuration-options/ -- **UI Mode Configuration**: https://www.tiny.cloud/docs/tinymce/latest/ui-mode-configuration-options/ -- **UI Mode**: https://www.tiny.cloud/docs/tinymce/latest/ui-mode-configuration-options/ -- **Integration options**: https://www.tiny.cloud/docs/tinymce/latest/editor-important-options/ +- **APIs for custom dialogs**: https://www.tiny.cloud/docs/tinymce/latest/dialog-apis/ +- **Basic setup**: https://www.tiny.cloud/docs/tinymce/latest/basic-setup/ +- **Check spelling in TinyMCE**: https://www.tiny.cloud/docs/tinymce/latest/spell-checking/ +- **Cloud Deployment Guide**: https://www.tiny.cloud/docs/tinymce/latest/cloud-deployment-guide/ +- **Cloud deployment of editor & plugins**: https://www.tiny.cloud/docs/tinymce/latest/editor-and-features/ +- **Cloud deployment of plugins Only**: https://www.tiny.cloud/docs/tinymce/latest/features-only/ +- **Cloud Troubleshooting**: https://www.tiny.cloud/docs/tinymce/latest/cloud-troubleshooting/ +- **Commands Available for TinyMCE**: https://www.tiny.cloud/docs/tinymce/latest/editor-command-identifiers/ +- **Configuring custom dialogs**: https://www.tiny.cloud/docs/tinymce/latest/dialog-configuration/ +- **Content appearance options**: https://www.tiny.cloud/docs/tinymce/latest/content-appearance/ +- **Content filtering options**: https://www.tiny.cloud/docs/tinymce/latest/content-filtering/ +- **Content formatting options**: https://www.tiny.cloud/docs/tinymce/latest/content-formatting/ +- **Content localization options**: https://www.tiny.cloud/docs/tinymce/latest/content-localization/ +- **Context Menu Items Available for TinyMCE**: https://www.tiny.cloud/docs/tinymce/latest/editor-context-menu-identifiers/ +- **CSS for rendering TinyMCE content outside the editor**: https://www.tiny.cloud/docs/tinymce/latest/editor-content-css/ +- **Custom dialog body components**: https://www.tiny.cloud/docs/tinymce/latest/dialog-components/ +- **Custom dialog footer buttons**: https://www.tiny.cloud/docs/tinymce/latest/dialog-footer-buttons/ +- **Editor content behaviors**: https://www.tiny.cloud/docs/tinymce/latest/content-behavior-options/ +- **Editor save and submit options**: https://www.tiny.cloud/docs/tinymce/latest/editor-save-and-submit/ +- **Editor size and resize options**: https://www.tiny.cloud/docs/tinymce/latest/editor-size-options/ +- **Events Available for TinyMCE**: https://www.tiny.cloud/docs/tinymce/latest/events/ +- **Filtering TinyMCE content**: https://www.tiny.cloud/docs/tinymce/latest/filter-content/ +- **Icons Available for TinyMCE**: https://www.tiny.cloud/docs/tinymce/latest/editor-icon-identifiers/ +- **Initial Configuration**: https://www.tiny.cloud/docs/tinymce/latest/initial-configuration/ +- **Interactive examples of custom dialogs**: https://www.tiny.cloud/docs/tinymce/latest/dialog-examples/ +- **Key editor options for adding TinyMCE to an application**: https://www.tiny.cloud/docs/tinymce/latest/editor-important-options/ +- **Localize TinyMCE**: https://www.tiny.cloud/docs/tinymce/latest/localize-your-language/ +- **Menu Items Available for TinyMCE**: https://www.tiny.cloud/docs/tinymce/latest/available-menu-items/ +- **Options for customizing the editor's menus**: https://www.tiny.cloud/docs/tinymce/latest/menus-configuration-options/ +- **Options for customizing the editor's statusbar**: https://www.tiny.cloud/docs/tinymce/latest/statusbar-configuration-options/ +- **Options for customizing the editor's toolbars**: https://www.tiny.cloud/docs/tinymce/latest/toolbar-configuration-options/ +- **Options for customizing the editor's UI mode**: https://www.tiny.cloud/docs/tinymce/latest/ui-mode-configuration-options/ - **Specify Editor Version & Plugins**: https://www.tiny.cloud/docs/tinymce/latest/editor-plugin-version/ -- **Multiple editors in a page**: https://www.tiny.cloud/docs/tinymce/latest/multiple-editors/ +- **The TinyMCE Content Security Policy guide**: https://www.tiny.cloud/docs/tinymce/latest/tinymce-and-csp/ +- **The TinyMCE Cross-Origin Resource Sharing guide**: https://www.tiny.cloud/docs/tinymce/latest/tinymce-and-cors/ +- **TinyMCE Icon options**: https://www.tiny.cloud/docs/tinymce/latest/editor-icons/ +- **TinyMCE Model options**: https://www.tiny.cloud/docs/tinymce/latest/editor-model/ +- **TinyMCE Skin options**: https://www.tiny.cloud/docs/tinymce/latest/editor-skin/ +- **TinyMCE Theme options**: https://www.tiny.cloud/docs/tinymce/latest/editor-theme/ +- **Toolbar Buttons Available for TinyMCE**: https://www.tiny.cloud/docs/tinymce/latest/available-toolbar-buttons/ - **Understanding editor loads**: https://www.tiny.cloud/docs/tinymce/latest/understanding-editor-loads/ -- **Editor content models**: https://www.tiny.cloud/docs/tinymce/latest/editor-model/ -- **Save and submit**: https://www.tiny.cloud/docs/tinymce/latest/editor-save-and-submit/ -- **Available Commands**: https://www.tiny.cloud/docs/tinymce/latest/editor-command-identifiers/ -- **Available Context Menu Items**: https://www.tiny.cloud/docs/tinymce/latest/editor-context-menu-identifiers/ -- **Available Events**: https://www.tiny.cloud/docs/tinymce/latest/events/ -- **Available Icons**: https://www.tiny.cloud/docs/tinymce/latest/editor-icon-identifiers/ -- **Available Menu Items**: https://www.tiny.cloud/docs/tinymce/latest/available-menu-items/ -- **Available Toolbar Buttons**: https://www.tiny.cloud/docs/tinymce/latest/available-toolbar-buttons/ -- **Options**: https://www.tiny.cloud/docs/tinymce/latest/menus-configuration-options/ -- **Options**: https://www.tiny.cloud/docs/tinymce/latest/toolbar-configuration-options/ +- **URL handling options**: https://www.tiny.cloud/docs/tinymce/latest/url-handling/ +- **Use multiple TinyMCE instances in a single page**: https://www.tiny.cloud/docs/tinymce/latest/multiple-editors/ +- **Version compatibility reference**: https://www.tiny.cloud/docs/tinymce/latest/plugin-editor-version-compatibility/ +- **Work with plugins to extend TinyMCE**: https://www.tiny.cloud/docs/tinymce/latest/work-with-plugins/ + ### Plugins & Features #### Core Plugins -- **Plugins Overview**: https://www.tiny.cloud/docs/tinymce/latest/plugins/ -- **Plugins**: https://www.tiny.cloud/docs/tinymce/latest/plugins/ -- **Table Plugin**: https://www.tiny.cloud/docs/tinymce/latest/table/ -- **Table**: https://www.tiny.cloud/docs/tinymce/latest/table/ -- **Table options**: https://www.tiny.cloud/docs/tinymce/latest/table-options/ -- **Enhanced Tables**: https://www.tiny.cloud/docs/tinymce/latest/advtable/ -- **Image Plugin**: https://www.tiny.cloud/docs/tinymce/latest/image/ -- **Image**: https://www.tiny.cloud/docs/tinymce/latest/image/ -- **Image Editing**: https://www.tiny.cloud/docs/tinymce/latest/editimage/ -- **Image uploads**: https://www.tiny.cloud/docs/tinymce/latest/upload-images/ -- **Images and files**: https://www.tiny.cloud/docs/tinymce/latest/file-image-upload/ -- **Link Plugin**: https://www.tiny.cloud/docs/tinymce/latest/link/ -- **Link**: https://www.tiny.cloud/docs/tinymce/latest/link/ -- **Link Checker**: https://www.tiny.cloud/docs/tinymce/latest/linkchecker/ -- **Lists Plugin**: https://www.tiny.cloud/docs/tinymce/latest/lists/ -- **Lists**: https://www.tiny.cloud/docs/tinymce/latest/lists/ -- **List Styles**: https://www.tiny.cloud/docs/tinymce/latest/advlist/ -- **Code Plugin**: https://www.tiny.cloud/docs/tinymce/latest/code/ -- **Code**: https://www.tiny.cloud/docs/tinymce/latest/code/ -- **Code Sample**: https://www.tiny.cloud/docs/tinymce/latest/codesample/ -- **Enhanced Code Editor**: https://www.tiny.cloud/docs/tinymce/latest/advcode/ -- **Media Plugin**: https://www.tiny.cloud/docs/tinymce/latest/media/ -- **Media**: https://www.tiny.cloud/docs/tinymce/latest/media/ -- **Enhanced Media Embed**: https://www.tiny.cloud/docs/tinymce/latest/introduction-to-mediaembed/ -- **Preview**: https://www.tiny.cloud/docs/tinymce/latest/preview/ -- **Anchor**: https://www.tiny.cloud/docs/tinymce/latest/anchor/ -- **Autolink**: https://www.tiny.cloud/docs/tinymce/latest/autolink/ -- **Autoresize**: https://www.tiny.cloud/docs/tinymce/latest/autoresize/ -- **Autosave**: https://www.tiny.cloud/docs/tinymce/latest/autosave/ -- **Save**: https://www.tiny.cloud/docs/tinymce/latest/save/ -- **Character Map**: https://www.tiny.cloud/docs/tinymce/latest/charmap/ -- **Emoticons**: https://www.tiny.cloud/docs/tinymce/latest/emoticons/ -- **Directionality**: https://www.tiny.cloud/docs/tinymce/latest/directionality/ -- **Full Screen**: https://www.tiny.cloud/docs/tinymce/latest/fullscreen/ -- **Help**: https://www.tiny.cloud/docs/tinymce/latest/help/ -- **Insert Date/Time**: https://www.tiny.cloud/docs/tinymce/latest/insertdatetime/ -- **Nonbreaking Space**: https://www.tiny.cloud/docs/tinymce/latest/nonbreaking/ -- **Page Break**: https://www.tiny.cloud/docs/tinymce/latest/pagebreak/ -- **Search and Replace**: https://www.tiny.cloud/docs/tinymce/latest/searchreplace/ -- **Word Count**: https://www.tiny.cloud/docs/tinymce/latest/wordcount/ -- **Visual Blocks**: https://www.tiny.cloud/docs/tinymce/latest/visualblocks/ -- **Visual Characters**: https://www.tiny.cloud/docs/tinymce/latest/visualchars/ -- **Context Toolbar**: https://www.tiny.cloud/docs/tinymce/latest/contexttoolbar/ -- **Context toolbar**: https://www.tiny.cloud/docs/tinymce/latest/contexttoolbar/ -- **Quick Toolbars**: https://www.tiny.cloud/docs/tinymce/latest/quickbars/ -- **Context Menus**: https://www.tiny.cloud/docs/tinymce/latest/contextmenu/ -- **Context menus**: https://www.tiny.cloud/docs/tinymce/latest/contextmenu/ -- **Context Forms**: https://www.tiny.cloud/docs/tinymce/latest/contextform/ -- **Context forms**: https://www.tiny.cloud/docs/tinymce/latest/contextform/ -- **Context**: https://www.tiny.cloud/docs/tinymce/latest/context/ -- **Accordion**: https://www.tiny.cloud/docs/tinymce/latest/accordion/ -- **Checklist**: https://www.tiny.cloud/docs/tinymce/latest/checklist/ +- **Accessibility Checker plugin**: https://www.tiny.cloud/docs/tinymce/latest/a11ychecker/ +- **Accordion plugin**: https://www.tiny.cloud/docs/tinymce/latest/accordion/ +- **Advanced Typography plugin**: https://www.tiny.cloud/docs/tinymce/latest/advanced-typography/ +- **Anchor plugin**: https://www.tiny.cloud/docs/tinymce/latest/anchor/ +- **Autolink plugin**: https://www.tiny.cloud/docs/tinymce/latest/autolink/ +- **Autoresize plugin**: https://www.tiny.cloud/docs/tinymce/latest/autoresize/ +- **Autosave plugin**: https://www.tiny.cloud/docs/tinymce/latest/autosave/ - **Case Change**: https://www.tiny.cloud/docs/tinymce/latest/casechange/ -- **Footnotes**: https://www.tiny.cloud/docs/tinymce/latest/footnotes/ +- **Character Map plugin**: https://www.tiny.cloud/docs/tinymce/latest/charmap/ +- **Checklist plugin**: https://www.tiny.cloud/docs/tinymce/latest/checklist/ +- **Code plugin**: https://www.tiny.cloud/docs/tinymce/latest/code/ +- **Code Sample plugin**: https://www.tiny.cloud/docs/tinymce/latest/codesample/ +- **Context**: https://www.tiny.cloud/docs/tinymce/latest/context/ +- **Context forms**: https://www.tiny.cloud/docs/tinymce/latest/contextform/ +- **Context menus**: https://www.tiny.cloud/docs/tinymce/latest/contextmenu/ +- **Context toolbar**: https://www.tiny.cloud/docs/tinymce/latest/contexttoolbar/ +- **Directionality plugin**: https://www.tiny.cloud/docs/tinymce/latest/directionality/ +- **Emoticons plugin**: https://www.tiny.cloud/docs/tinymce/latest/emoticons/ +- **Enhanced Code Editor plugin**: https://www.tiny.cloud/docs/tinymce/latest/advcode/ +- **Enhanced Media Embed plugin**: https://www.tiny.cloud/docs/tinymce/latest/introduction-to-mediaembed/ +- **Enhanced Tables plugin**: https://www.tiny.cloud/docs/tinymce/latest/advtable/ +- **Footnotes plugin**: https://www.tiny.cloud/docs/tinymce/latest/footnotes/ - **Format Painter**: https://www.tiny.cloud/docs/tinymce/latest/formatpainter/ -- **Markdown**: https://www.tiny.cloud/docs/tinymce/latest/markdown/ -- **Math Plugin**: https://www.tiny.cloud/docs/tinymce/latest/math/ -- **Mentions**: https://www.tiny.cloud/docs/tinymce/latest/mentions/ -- **Merge Tags**: https://www.tiny.cloud/docs/tinymce/latest/mergetags/ -- **Table of Contents**: https://www.tiny.cloud/docs/tinymce/latest/tableofcontents/ -- **Page Embed**: https://www.tiny.cloud/docs/tinymce/latest/pageembed/ -- **Permanent Pen**: https://www.tiny.cloud/docs/tinymce/latest/permanentpen/ -- **Full Page HTML**: https://www.tiny.cloud/docs/tinymce/latest/fullpagehtml/ -- **Template**: https://www.tiny.cloud/docs/tinymce/latest/advanced-templates/ -- **Import CSS**: https://www.tiny.cloud/docs/tinymce/latest/importcss/ -- **Autocompleter**: https://www.tiny.cloud/docs/tinymce/latest/autocompleter/ -- **Sidebars**: https://www.tiny.cloud/docs/tinymce/latest/customsidebar/ -- **Custom view**: https://www.tiny.cloud/docs/tinymce/latest/custom-view/ -- **Non-editable content**: https://www.tiny.cloud/docs/tinymce/latest/non-editable-content-options/ -- **User formatting**: https://www.tiny.cloud/docs/tinymce/latest/user-formatting-options/ -- **User Lookup**: https://www.tiny.cloud/docs/tinymce/latest/userlookup/ -- **Content appearance**: https://www.tiny.cloud/docs/tinymce/latest/content-appearance/ -- **Content formats**: https://www.tiny.cloud/docs/tinymce/latest/content-formatting/ -- **Content behavior options**: https://www.tiny.cloud/docs/tinymce/latest/content-behavior-options/ -- **Behaviors**: https://www.tiny.cloud/docs/tinymce/latest/content-behavior-options/ -- **Copy and paste options**: https://www.tiny.cloud/docs/tinymce/latest/copy-and-paste/ -- **Advanced Typography**: https://www.tiny.cloud/docs/tinymce/latest/advanced-typography/ -- **Add CSS**: https://www.tiny.cloud/docs/tinymce/latest/add-css-options/ -- **Inline CSS**: https://www.tiny.cloud/docs/tinymce/latest/inline-css/ +- **Full Page HTML Plugin**: https://www.tiny.cloud/docs/tinymce/latest/fullpagehtml/ +- **Full Screen plugin**: https://www.tiny.cloud/docs/tinymce/latest/fullscreen/ +- **Handling image uploads**: https://www.tiny.cloud/docs/tinymce/latest/upload-images/ +- **Help plugin**: https://www.tiny.cloud/docs/tinymce/latest/help/ +- **Image and file options**: https://www.tiny.cloud/docs/tinymce/latest/file-image-upload/ +- **Image Editing**: https://www.tiny.cloud/docs/tinymce/latest/editimage/ +- **Image plugin**: https://www.tiny.cloud/docs/tinymce/latest/image/ +- **Import CSS plugin**: https://www.tiny.cloud/docs/tinymce/latest/importcss/ +- **Import from Word plugin**: https://www.tiny.cloud/docs/tinymce/latest/importword/ +- **Insert Date/Time plugin**: https://www.tiny.cloud/docs/tinymce/latest/insertdatetime/ +- **Link Checker plugin**: https://www.tiny.cloud/docs/tinymce/latest/linkchecker/ +- **Link plugin**: https://www.tiny.cloud/docs/tinymce/latest/link/ +- **List Styles plugin**: https://www.tiny.cloud/docs/tinymce/latest/advlist/ +- **Lists plugin**: https://www.tiny.cloud/docs/tinymce/latest/lists/ +- **Markdown plugin**: https://www.tiny.cloud/docs/tinymce/latest/markdown/ +- **Math plugin**: https://www.tiny.cloud/docs/tinymce/latest/math/ +- **Media plugin**: https://www.tiny.cloud/docs/tinymce/latest/media/ +- **Mentions plugin**: https://www.tiny.cloud/docs/tinymce/latest/mentions/ +- **Merge Tags plugin**: https://www.tiny.cloud/docs/tinymce/latest/mergetags/ +- **Nonbreaking Space plugin**: https://www.tiny.cloud/docs/tinymce/latest/nonbreaking/ +- **Page Break plugin**: https://www.tiny.cloud/docs/tinymce/latest/pagebreak/ +- **Page Embed plugin**: https://www.tiny.cloud/docs/tinymce/latest/pageembed/ +- **Permanent Pen Plugin**: https://www.tiny.cloud/docs/tinymce/latest/permanentpen/ +- **Plugins for TinyMCE**: https://www.tiny.cloud/docs/tinymce/latest/plugins/ +- **Preview plugin**: https://www.tiny.cloud/docs/tinymce/latest/preview/ +- **Quick Toolbars plugin**: https://www.tiny.cloud/docs/tinymce/latest/quickbars/ +- **Save plugin**: https://www.tiny.cloud/docs/tinymce/latest/save/ +- **Search and Replace plugin**: https://www.tiny.cloud/docs/tinymce/latest/searchreplace/ +- **Table of Contents plugin**: https://www.tiny.cloud/docs/tinymce/latest/tableofcontents/ +- **Table options**: https://www.tiny.cloud/docs/tinymce/latest/table-options/ +- **Table plugin**: https://www.tiny.cloud/docs/tinymce/latest/table/ +- **Templates plugin**: https://www.tiny.cloud/docs/tinymce/latest/advanced-templates/ +- **Visual Blocks plugin**: https://www.tiny.cloud/docs/tinymce/latest/visualblocks/ +- **Visual Characters plugin**: https://www.tiny.cloud/docs/tinymce/latest/visualchars/ +- **Word Count plugin**: https://www.tiny.cloud/docs/tinymce/latest/wordcount/ #### Editor Modes -- **Classic editing mode**: https://www.tiny.cloud/docs/tinymce/latest/use-tinymce-classic/ -- **Inline editing mode**: https://www.tiny.cloud/docs/tinymce/latest/use-tinymce-inline/ - **Inline editor options**: https://www.tiny.cloud/docs/tinymce/latest/inline-editor-options/ -- **Distraction-free editing mode**: https://www.tiny.cloud/docs/tinymce/latest/use-tinymce-distraction-free/ +- **Setup inline editing mode**: https://www.tiny.cloud/docs/tinymce/latest/use-tinymce-inline/ +- **TinyMCE classic editing mode**: https://www.tiny.cloud/docs/tinymce/latest/use-tinymce-classic/ +- **TinyMCE distraction-free editing mode**: https://www.tiny.cloud/docs/tinymce/latest/use-tinymce-distraction-free/ #### Spell Checking -- **Spell Checker**: https://www.tiny.cloud/docs/tinymce/latest/introduction-to-tiny-spellchecker/ -- **Spelling Autocorrect**: https://www.tiny.cloud/docs/tinymce/latest/autocorrect/ -- **Spelling options**: https://www.tiny.cloud/docs/tinymce/latest/spelling/ +- **Add Hunspell dictionaries to Spell Checker**: https://www.tiny.cloud/docs/tinymce/latest/self-hosting-hunspell/ - **Adding custom dictionaries**: https://www.tiny.cloud/docs/tinymce/latest/custom-dictionaries-for-tiny-spellchecker/ -- **Spelling service**: https://www.tiny.cloud/docs/tinymce/latest/individual-spelling-container/ +- **Deploy the TinyMCE Spelling server-side component using Docker**: https://www.tiny.cloud/docs/tinymce/latest/individual-spelling-container/ +- **Spell Checker plugin**: https://www.tiny.cloud/docs/tinymce/latest/introduction-to-tiny-spellchecker/ +- **Spelling Autocorrect plugin**: https://www.tiny.cloud/docs/tinymce/latest/autocorrect/ +- **Spelling options**: https://www.tiny.cloud/docs/tinymce/latest/spelling/ - **Spelling service settings**: https://www.tiny.cloud/docs/tinymce/latest/configure-spelling-service/ -- **Spelling service - Using Hunspell dictionaries**: https://www.tiny.cloud/docs/tinymce/latest/self-hosting-hunspell/ + ### Premium Features #### AI Features -- **AI Assistant**: https://www.tiny.cloud/docs/tinymce/latest/ai/ +- **AI Assistant plugin**: https://www.tiny.cloud/docs/tinymce/latest/ai/ - **AI proxy server reference guide**: https://www.tiny.cloud/docs/tinymce/latest/ai-proxy/ - **Amazon Bedrock integration guide**: https://www.tiny.cloud/docs/tinymce/latest/ai-bedrock/ - **Azure AI integration guide**: https://www.tiny.cloud/docs/tinymce/latest/ai-azure/ @@ -497,146 +436,130 @@ This section provides a complete list of all 395 documentation pages available i - **OpenAI ChatGPT integration guide**: https://www.tiny.cloud/docs/tinymce/latest/ai-openai/ #### Comments & Collaboration -- **Comments Introduction**: https://www.tiny.cloud/docs/tinymce/latest/introduction-to-tiny-comments/ -- **Using Comments**: https://www.tiny.cloud/docs/tinymce/latest/comments-using-comments/ -- **Comments Access Options**: https://www.tiny.cloud/docs/tinymce/latest/comments-access-options/ -- **Comments with Mentions**: https://www.tiny.cloud/docs/tinymce/latest/comments-with-mentions/ -- **Callback mode**: https://www.tiny.cloud/docs/tinymce/latest/comments-callback-mode/ -- **Embedded mode**: https://www.tiny.cloud/docs/tinymce/latest/comments-embedded-mode/ -- **Commands, Events and APIs**: https://www.tiny.cloud/docs/tinymce/latest/comments-commands-events-apis/ -- **Toolbar buttons and menu items**: https://www.tiny.cloud/docs/tinymce/latest/comments-toolbars-menus/ +- **Commands, Events and APIs for the Comments plugin**: https://www.tiny.cloud/docs/tinymce/latest/comments-commands-events-apis/ +- **Configuring the Comments plugin access option**: https://www.tiny.cloud/docs/tinymce/latest/comments-access-options/ +- **Configuring the Comments plugin in callback mode**: https://www.tiny.cloud/docs/tinymce/latest/comments-callback-mode/ +- **Configuring the Comments plugin in embedded mode**: https://www.tiny.cloud/docs/tinymce/latest/comments-embedded-mode/ +- **Configuring the Comments plugin with the Mentions plugin**: https://www.tiny.cloud/docs/tinymce/latest/comments-with-mentions/ +- **Introduction to Tiny Comments**: https://www.tiny.cloud/docs/tinymce/latest/introduction-to-tiny-comments/ +- **Revision History Plugin**: https://www.tiny.cloud/docs/tinymce/latest/revisionhistory/ +- **Suggested Edits Plugin**: https://www.tiny.cloud/docs/tinymce/latest/suggestededits/ +- **Toolbar buttons and menu items for the Comments plugin**: https://www.tiny.cloud/docs/tinymce/latest/comments-toolbars-menus/ - **Using the Annotations API**: https://www.tiny.cloud/docs/tinymce/latest/annotations/ -- **Suggested Edits**: https://www.tiny.cloud/docs/tinymce/latest/suggestededits/ -- **Revision History**: https://www.tiny.cloud/docs/tinymce/latest/revisionhistory/ +- **Using TinyMCE Comments**: https://www.tiny.cloud/docs/tinymce/latest/comments-using-comments/ #### Export & Import -- **Export to PDF**: https://www.tiny.cloud/docs/tinymce/latest/exportpdf/ -- **Export to PDF Standalone Service**: https://www.tiny.cloud/docs/tinymce/latest/html-to-pdf-converter-api/ -- **Export to PDF (On-Premises)**: https://www.tiny.cloud/docs/tinymce/latest/individual-export-to-pdf-on-premises/ -- **Export to Word**: https://www.tiny.cloud/docs/tinymce/latest/exportword/ +- **Docx to HTML Converter API**: https://www.tiny.cloud/docs/tinymce/latest/docx-to-html-converter-api/ +- **Export to PDF plugin**: https://www.tiny.cloud/docs/tinymce/latest/exportpdf/ +- **Export to PDF with JWT authentication (Node.js) Guide**: https://www.tiny.cloud/docs/tinymce/latest/export-to-pdf-with-jwt-authentication-nodejs/ +- **Export to PDF with JWT authentication (PHP) Guide**: https://www.tiny.cloud/docs/tinymce/latest/export-to-pdf-with-jwt-authentication-php/ +- **Export to Word plugin**: https://www.tiny.cloud/docs/tinymce/latest/exportword/ - **Export to Word Standalone Service**: https://www.tiny.cloud/docs/tinymce/latest/export-to-word-standalone-service/ -- **Export to Word Standalone Service**: https://www.tiny.cloud/docs/tinymce/latest/html-to-docx-converter-api/ -- **Import from Word**: https://www.tiny.cloud/docs/tinymce/latest/importword/ +- **Export to Word with JWT authentication (Node.js) Guide**: https://www.tiny.cloud/docs/tinymce/latest/export-to-word-with-jwt-authentication-nodejs/ +- **Export to Word with JWT authentication (PHP) Guide**: https://www.tiny.cloud/docs/tinymce/latest/export-to-word-with-jwt-authentication-php/ +- **HTML to Docx Converter API**: https://www.tiny.cloud/docs/tinymce/latest/html-to-docx-converter-api/ +- **HTML to PDF Converter API**: https://www.tiny.cloud/docs/tinymce/latest/html-to-pdf-converter-api/ - **Import from Word Standalone Service**: https://www.tiny.cloud/docs/tinymce/latest/import-from-word-standalone-service/ -- **Import from Word and Export to Word**: https://www.tiny.cloud/docs/tinymce/latest/individual-import-from-word-and-export-to-word-on-premises/ -- **Docx to HTML Converter API**: https://www.tiny.cloud/docs/tinymce/latest/docx-to-html-converter-api/ -- **JWT Authentication setup for Export to PDF**: https://www.tiny.cloud/docs/tinymce/latest/export-to-pdf-with-jwt-authentication-php/ -- **JWT Authentication setup for Export to Word**: https://www.tiny.cloud/docs/tinymce/latest/export-to-word-with-jwt-authentication-php/ -- **JWT Authentication setup for Import from Word**: https://www.tiny.cloud/docs/tinymce/latest/import-from-word-with-jwt-authentication-php/ -- **JWT Authentication setup for Export to PDF (Node.js)**: https://www.tiny.cloud/docs/tinymce/latest/export-to-pdf-with-jwt-authentication-nodejs/ -- **JWT Authentication setup for Export to Word (Node.js)**: https://www.tiny.cloud/docs/tinymce/latest/export-to-word-with-jwt-authentication-nodejs/ -- **JWT Authentication setup for Import from Word (Node.js)**: https://www.tiny.cloud/docs/tinymce/latest/import-from-word-with-jwt-authentication-nodejs/ +- **Import from Word with JWT authentication (Node.js) Guide**: https://www.tiny.cloud/docs/tinymce/latest/import-from-word-with-jwt-authentication-nodejs/ +- **Import from Word with JWT authentication (PHP) Guide**: https://www.tiny.cloud/docs/tinymce/latest/import-from-word-with-jwt-authentication-php/ #### PowerPaste -- **PowerPaste Introduction**: https://www.tiny.cloud/docs/tinymce/latest/introduction-to-powerpaste/ -- **PowerPaste Options**: https://www.tiny.cloud/docs/tinymce/latest/powerpaste-options/ -- **PowerPaste Commands and Events**: https://www.tiny.cloud/docs/tinymce/latest/powerpaste-commands-events-apis/ -- **PowerPaste Supported functionality**: https://www.tiny.cloud/docs/tinymce/latest/powerpaste-support/ -- **PowerPaste Troubleshooting**: https://www.tiny.cloud/docs/tinymce/latest/powerpaste-troubleshooting/ +- **Commands and Events for the PowerPaste plugin**: https://www.tiny.cloud/docs/tinymce/latest/powerpaste-commands-events-apis/ +- **Introduction to PowerPaste**: https://www.tiny.cloud/docs/tinymce/latest/introduction-to-powerpaste/ +- **Options for the PowerPaste plugin**: https://www.tiny.cloud/docs/tinymce/latest/powerpaste-options/ +- **Supported functionality for the PowerPaste plugin**: https://www.tiny.cloud/docs/tinymce/latest/powerpaste-support/ +- **Troubleshooting the PowerPaste plugin**: https://www.tiny.cloud/docs/tinymce/latest/powerpaste-troubleshooting/ #### TinyDrive -- **TinyDrive Introduction**: https://www.tiny.cloud/docs/tinymce/latest/tinydrive-introduction/ -- **TinyDrive Getting started**: https://www.tiny.cloud/docs/tinymce/latest/tinydrive-getting-started/ -- **TinyDrive Setup options**: https://www.tiny.cloud/docs/tinymce/latest/tinydrive-setup-options/ -- **TinyDrive Browse API**: https://www.tiny.cloud/docs/tinymce/latest/tinydrive-browse/ -- **TinyDrive Pick API**: https://www.tiny.cloud/docs/tinymce/latest/tinydrive-pick/ -- **TinyDrive Upload API**: https://www.tiny.cloud/docs/tinymce/latest/tinydrive-upload/ -- **TinyDrive Toolbar buttons and menu items**: https://www.tiny.cloud/docs/tinymce/latest/tinydrive-toolbars-menus/ -- **TinyDrive UI options**: https://www.tiny.cloud/docs/tinymce/latest/tinydrive-ui-options/ -- **TinyDrive TypeScript interfaces**: https://www.tiny.cloud/docs/tinymce/latest/tinydrive-type-interfaces/ -- **TinyDrive JWT Authentication setup**: https://www.tiny.cloud/docs/tinymce/latest/tinydrive-jwt-authentication/ -- **TinyDrive Changelog**: https://www.tiny.cloud/docs/tinymce/latest/tinydrive-changelog/ -- **Dropbox and Google Drive integration options**: https://www.tiny.cloud/docs/tinymce/latest/tinydrive-dropbox-and-google-drive/ -- **Dropbox**: https://www.tiny.cloud/docs/tinymce/latest/tinydrive-dropbox-integration/ -- **Google Drive**: https://www.tiny.cloud/docs/tinymce/latest/tinydrive-googledrive-integration/ -- **TinyDrive Node.js**: https://www.tiny.cloud/docs/tinymce/latest/tinydrive-nodejs/ -- **TinyDrive PHP**: https://www.tiny.cloud/docs/tinymce/latest/tinydrive-php/ -- **TinyDrive Java Spring**: https://www.tiny.cloud/docs/tinymce/latest/tinydrive-java/ - **.Net Core**: https://www.tiny.cloud/docs/tinymce/latest/tinydrive-dotnet/ -- **Introduction to the plugin APIs**: https://www.tiny.cloud/docs/tinymce/latest/introduction-to-tinydrive-apis/ +- **Configuring the Tiny Drive UI**: https://www.tiny.cloud/docs/tinymce/latest/tinydrive-ui-options/ +- **Dropbox and Google Drive integration options**: https://www.tiny.cloud/docs/tinymce/latest/tinydrive-dropbox-and-google-drive/ +- **Dropbox integration**: https://www.tiny.cloud/docs/tinymce/latest/tinydrive-dropbox-integration/ +- **Getting started**: https://www.tiny.cloud/docs/tinymce/latest/tinydrive-getting-started/ +- **Google Drive integration**: https://www.tiny.cloud/docs/tinymce/latest/tinydrive-googledrive-integration/ +- **Introduction to the Tiny Drive plugin APIs**: https://www.tiny.cloud/docs/tinymce/latest/introduction-to-tinydrive-apis/ +- **Java Spring**: https://www.tiny.cloud/docs/tinymce/latest/tinydrive-java/ +- **Node.js**: https://www.tiny.cloud/docs/tinymce/latest/tinydrive-nodejs/ +- **PHP**: https://www.tiny.cloud/docs/tinymce/latest/tinydrive-php/ +- **Set up Tiny Drive JWT Authentication**: https://www.tiny.cloud/docs/tinymce/latest/tinydrive-jwt-authentication/ +- **Tiny Drive Browse API**: https://www.tiny.cloud/docs/tinymce/latest/tinydrive-browse/ +- **Tiny Drive Changelog**: https://www.tiny.cloud/docs/tinymce/latest/tinydrive-changelog/ +- **Tiny Drive Introduction**: https://www.tiny.cloud/docs/tinymce/latest/tinydrive-introduction/ +- **Tiny Drive Pick API**: https://www.tiny.cloud/docs/tinymce/latest/tinydrive-pick/ +- **Tiny Drive plugin setup options**: https://www.tiny.cloud/docs/tinymce/latest/tinydrive-setup-options/ +- **Tiny Drive TypeScript interfaces**: https://www.tiny.cloud/docs/tinymce/latest/tinydrive-type-interfaces/ +- **Tiny Drive Upload API**: https://www.tiny.cloud/docs/tinymce/latest/tinydrive-upload/ +- **Toolbar buttons and menu items for the Tiny Drive plugin**: https://www.tiny.cloud/docs/tinymce/latest/tinydrive-toolbars-menus/ #### Media Optimizer - **Media Optimizer**: https://www.tiny.cloud/docs/tinymce/latest/uploadcare/ -- **Image feature of the Media Optimizer plugin**: https://www.tiny.cloud/docs/tinymce/latest/uploadcare-image/ -- **Files and Documents feature of the Media Optimizer plugin**: https://www.tiny.cloud/docs/tinymce/latest/uploadcare-documents/ -- **Video feature of the Media Optimizer plugin**: https://www.tiny.cloud/docs/tinymce/latest/uploadcare-video/ +- **Media Optimizer (Files and Documents)**: https://www.tiny.cloud/docs/tinymce/latest/uploadcare-documents/ +- **Media Optimizer (Image)**: https://www.tiny.cloud/docs/tinymce/latest/uploadcare-image/ +- **Media Optimizer (Video)**: https://www.tiny.cloud/docs/tinymce/latest/uploadcare-video/ #### Services & Infrastructure -- **Hyperlinking service**: https://www.tiny.cloud/docs/tinymce/latest/individual-hyperlinking-container/ +- **Common server-side component settings**: https://www.tiny.cloud/docs/tinymce/latest/configure-common-settings-services/ +- **Configure Enhanced Media Embed Server**: https://www.tiny.cloud/docs/tinymce/latest/mediaembed-server-config/ +- **Creating a private/public key pair for Tiny Cloud**: https://www.tiny.cloud/docs/tinymce/latest/generate-rsa-key-pairs/ +- **Deploy the TinyMCE Export to PDF service server-side component using Docker (individually licensed)**: https://www.tiny.cloud/docs/tinymce/latest/individual-export-to-pdf-on-premises/ +- **Deploy the TinyMCE Hyperlinking server-side component using Docker**: https://www.tiny.cloud/docs/tinymce/latest/individual-hyperlinking-container/ +- **Deploy the TinyMCE Image Proxy service server-side component using Docker**: https://www.tiny.cloud/docs/tinymce/latest/individual-image-proxy-container/ +- **Deploy the TinyMCE Import from Word and Export to Word service server-side component using Docker (individually licensed)**: https://www.tiny.cloud/docs/tinymce/latest/individual-import-from-word-and-export-to-word-on-premises/ - **Hyperlinking service settings**: https://www.tiny.cloud/docs/tinymce/latest/configure-hyperlink-service/ -- **Image Proxy service**: https://www.tiny.cloud/docs/tinymce/latest/individual-image-proxy-container/ - **Image Proxy service settings**: https://www.tiny.cloud/docs/tinymce/latest/configure-imageproxy-service/ -- **Enhanced Media Embed Server**: https://www.tiny.cloud/docs/tinymce/latest/mediaembed-server-config/ - **Integrate Enhanced Media Embed Server**: https://www.tiny.cloud/docs/tinymce/latest/mediaembed-server-integration/ -- **Configure Enhanced Media Embed Server**: https://www.tiny.cloud/docs/tinymce/latest/mediaembed-server-config/ -- **Required configuration**: https://www.tiny.cloud/docs/tinymce/latest/configure-required-services/ -- **Optional common settings**: https://www.tiny.cloud/docs/tinymce/latest/configure-common-settings-services/ -- **Troubleshoot server-side components**: https://www.tiny.cloud/docs/tinymce/latest/troubleshoot-server/ - **License key**: https://www.tiny.cloud/docs/tinymce/latest/license-key/ -- **Generate public key pairs**: https://www.tiny.cloud/docs/tinymce/latest/generate-rsa-key-pairs/ +- **Required configuration for the server-side components**: https://www.tiny.cloud/docs/tinymce/latest/configure-required-services/ +- **Troubleshoot server-side components**: https://www.tiny.cloud/docs/tinymce/latest/troubleshoot-server/ + ### Customization & Development #### Creating Custom Components -- **Create a plugin**: https://www.tiny.cloud/docs/tinymce/latest/creating-a-plugin/ -- **Create a Skin**: https://www.tiny.cloud/docs/tinymce/latest/creating-a-skin/ -- **Create an icon pack**: https://www.tiny.cloud/docs/tinymce/latest/creating-an-icon-pack/ +- **Create a plugin for TinyMCE**: https://www.tiny.cloud/docs/tinymce/latest/creating-a-plugin/ +- **Create a Skin for TinyMCE**: https://www.tiny.cloud/docs/tinymce/latest/creating-a-skin/ +- **Create an icon pack for TinyMCE**: https://www.tiny.cloud/docs/tinymce/latest/creating-an-icon-pack/ +- **Create custom notifications**: https://www.tiny.cloud/docs/tinymce/latest/creating-custom-notifications/ +- **Creating custom Basic toolbar buttons**: https://www.tiny.cloud/docs/tinymce/latest/custom-basic-toolbar-button/ - **Creating custom dialogs**: https://www.tiny.cloud/docs/tinymce/latest/dialog/ +- **Creating custom Group toolbar buttons**: https://www.tiny.cloud/docs/tinymce/latest/custom-group-toolbar-button/ - **Creating custom menu items**: https://www.tiny.cloud/docs/tinymce/latest/creating-custom-menu-items/ +- **Creating custom Menu toolbar buttons**: https://www.tiny.cloud/docs/tinymce/latest/custom-menu-toolbar-button/ +- **Creating custom Split toolbar buttons**: https://www.tiny.cloud/docs/tinymce/latest/custom-split-toolbar-button/ +- **Creating custom Toggle toolbar buttons**: https://www.tiny.cloud/docs/tinymce/latest/custom-toggle-toolbar-button/ - **Custom Basic menu items**: https://www.tiny.cloud/docs/tinymce/latest/custom-basic-menu-items/ +- **Custom Icon Pack Demo**: https://www.tiny.cloud/docs/tinymce/latest/custom-icon-pack-demo/ - **Custom Nested menu items**: https://www.tiny.cloud/docs/tinymce/latest/custom-nested-menu-items/ - **Custom Toggle menu items**: https://www.tiny.cloud/docs/tinymce/latest/custom-toggle-menu-items/ -- **Custom Basic toolbar button**: https://www.tiny.cloud/docs/tinymce/latest/custom-basic-toolbar-button/ -- **Custom Group toolbar button**: https://www.tiny.cloud/docs/tinymce/latest/custom-group-toolbar-button/ -- **Custom Menu toolbar button**: https://www.tiny.cloud/docs/tinymce/latest/custom-menu-toolbar-button/ -- **Custom Split toolbar button**: https://www.tiny.cloud/docs/tinymce/latest/custom-split-toolbar-button/ -- **Custom Toggle toolbar button**: https://www.tiny.cloud/docs/tinymce/latest/custom-toggle-toolbar-button/ -- **Custom Toolbar buttons**: https://www.tiny.cloud/docs/tinymce/latest/custom-toolbarbuttons/ -- **Customizing the UI**: https://www.tiny.cloud/docs/tinymce/latest/customize-ui/ -- **Creating custom notifications**: https://www.tiny.cloud/docs/tinymce/latest/creating-custom-notifications/ -- **Notifications**: https://www.tiny.cloud/docs/tinymce/latest/creating-custom-notifications/ +- **Custom view**: https://www.tiny.cloud/docs/tinymce/latest/custom-view/ +- **Customizing the editor UI**: https://www.tiny.cloud/docs/tinymce/latest/customize-ui/ +- **Toolbar buttons**: https://www.tiny.cloud/docs/tinymce/latest/custom-toolbarbuttons/ +- **User interface components**: https://www.tiny.cloud/docs/tinymce/latest/ui-components/ #### Bundling & Build Tools +- **Bundling a .zip version of TinyMCE with CommonJS and Browserify**: https://www.tiny.cloud/docs/tinymce/latest/browserify-cjs-download/ +- **Bundling a .zip version of TinyMCE with CommonJS and Webpack**: https://www.tiny.cloud/docs/tinymce/latest/webpack-cjs-download/ +- **Bundling a .zip version of TinyMCE with ES6 and Rollup.js**: https://www.tiny.cloud/docs/tinymce/latest/rollup-es6-download/ +- **Bundling a .zip version of TinyMCE with ES6 and Webpack**: https://www.tiny.cloud/docs/tinymce/latest/webpack-es6-download/ +- **Bundling an NPM version of TinyMCE with CommonJS and Browserify**: https://www.tiny.cloud/docs/tinymce/latest/browserify-cjs-npm/ +- **Bundling an NPM version of TinyMCE with ES6 and Rollup.js**: https://www.tiny.cloud/docs/tinymce/latest/rollup-es6-npm/ +- **Bundling the User Interface localizations for TinyMCE**: https://www.tiny.cloud/docs/tinymce/latest/bundling-localization/ +- **Bundling TinyMCE content CSS using module loading**: https://www.tiny.cloud/docs/tinymce/latest/bundling-content-css/ +- **Bundling TinyMCE from NPM using Webpack and CommonJS**: https://www.tiny.cloud/docs/tinymce/latest/webpack-cjs-npm/ +- **Bundling TinyMCE from NPM with ES6 and Vite**: https://www.tiny.cloud/docs/tinymce/latest/vite-es6-npm/ +- **Bundling TinyMCE from NPM with Webpack using ES6 modules**: https://www.tiny.cloud/docs/tinymce/latest/webpack-es6-npm/ +- **Bundling TinyMCE icon packs using module loading**: https://www.tiny.cloud/docs/tinymce/latest/bundling-icons/ +- **Bundling TinyMCE models using module loading**: https://www.tiny.cloud/docs/tinymce/latest/bundling-models/ +- **Bundling TinyMCE plugins using module loading**: https://www.tiny.cloud/docs/tinymce/latest/bundling-plugins/ +- **Bundling TinyMCE skins using module loading**: https://www.tiny.cloud/docs/tinymce/latest/bundling-skins/ +- **Bundling TinyMCE themes using module loading**: https://www.tiny.cloud/docs/tinymce/latest/bundling-themes/ +- **Introduction and initial setup for containerized server-side services from the premium self-hosted bundles**: https://www.tiny.cloud/docs/tinymce/latest/bundle-intro-setup/ - **Introduction to bundling TinyMCE**: https://www.tiny.cloud/docs/tinymce/latest/introduction-to-bundling-tinymce/ -- **Introduction and initial setup**: https://www.tiny.cloud/docs/tinymce/latest/bundle-intro-setup/ -- **Bundling Plugins**: https://www.tiny.cloud/docs/tinymce/latest/bundling-plugins/ -- **Plugins**: https://www.tiny.cloud/docs/tinymce/latest/bundling-plugins/ -- **Bundling Skins**: https://www.tiny.cloud/docs/tinymce/latest/bundling-skins/ -- **Skins**: https://www.tiny.cloud/docs/tinymce/latest/bundling-skins/ -- **Bundling Themes**: https://www.tiny.cloud/docs/tinymce/latest/bundling-themes/ -- **Themes**: https://www.tiny.cloud/docs/tinymce/latest/bundling-themes/ -- **Bundling Icons**: https://www.tiny.cloud/docs/tinymce/latest/bundling-icons/ -- **Icons**: https://www.tiny.cloud/docs/tinymce/latest/bundling-icons/ -- **Bundling Content CSS**: https://www.tiny.cloud/docs/tinymce/latest/bundling-content-css/ -- **Content CSS**: https://www.tiny.cloud/docs/tinymce/latest/bundling-content-css/ -- **Bundling Models**: https://www.tiny.cloud/docs/tinymce/latest/bundling-models/ -- **Models**: https://www.tiny.cloud/docs/tinymce/latest/bundling-models/ -- **Bundling UI localizations**: https://www.tiny.cloud/docs/tinymce/latest/bundling-localization/ -- **UI localizations**: https://www.tiny.cloud/docs/tinymce/latest/bundling-localization/ -- **CommonJS and NPM**: https://www.tiny.cloud/docs/tinymce/latest/webpack-cjs-npm/ -- **CommonJS and a .zip archive (Browserify)**: https://www.tiny.cloud/docs/tinymce/latest/browserify-cjs-download/ -- **CommonJS and a .zip archive (Webpack)**: https://www.tiny.cloud/docs/tinymce/latest/webpack-cjs-download/ -- **CommonJS and npm (Browserify)**: https://www.tiny.cloud/docs/tinymce/latest/browserify-cjs-npm/ -- **ES6 and NPM**: https://www.tiny.cloud/docs/tinymce/latest/vite-es6-npm/ -- **ES6 and a .zip archive (Rollup)**: https://www.tiny.cloud/docs/tinymce/latest/rollup-es6-download/ -- **ES6 and a .zip archive (Webpack)**: https://www.tiny.cloud/docs/tinymce/latest/webpack-es6-download/ -- **ES6 and npm (Rollup)**: https://www.tiny.cloud/docs/tinymce/latest/rollup-es6-npm/ -- **ES6 (Webpack)**: https://www.tiny.cloud/docs/tinymce/latest/webpack-es6-npm/ -- **Version compatibility reference**: https://www.tiny.cloud/docs/tinymce/latest/plugin-editor-version-compatibility/ - -#### Dialog & UI Components -- **APIs**: https://www.tiny.cloud/docs/tinymce/latest/dialog-apis/ -- **Basic configuration**: https://www.tiny.cloud/docs/tinymce/latest/dialog-configuration/ -- **Body components**: https://www.tiny.cloud/docs/tinymce/latest/dialog-components/ -- **Footer buttons**: https://www.tiny.cloud/docs/tinymce/latest/dialog-footer-buttons/ -- **Interactive examples**: https://www.tiny.cloud/docs/tinymce/latest/dialog-examples/ -- **URL dialogs**: https://www.tiny.cloud/docs/tinymce/latest/urldialog/ -- **UI components**: https://www.tiny.cloud/docs/tinymce/latest/ui-components/ #### Enhanced Skins & Icons - **Enhanced Skins & Icon Packs**: https://www.tiny.cloud/docs/tinymce/latest/enhanced-skins-and-icon-packs/ -- **Icon Pack Template**: https://www.tiny.cloud/docs/tinymce/latest/using-the-icon-pack-template/ -- **Custom Icon Pack Demo**: https://www.tiny.cloud/docs/tinymce/latest/custom-icon-pack-demo/ +- **Using the icon pack template tool**: https://www.tiny.cloud/docs/tinymce/latest/using-the-icon-pack-template/ + ### API Reference @@ -644,6 +567,8 @@ This section provides a complete list of all 395 documentation pages available i - **tinymce**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.root/ - **tinymce.AddOnManager**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.addonmanager/ - **tinymce.Editor**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.editor/ +- **tinymce.editor.ui.Registry**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.editor.ui.registry/ +- **tinymce.editor.ui.Ui**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.editor.ui.ui/ - **tinymce.EditorManager**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.editormanager/ - **tinymce.EditorMode**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.editormode/ - **tinymce.EditorOptions**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.editoroptions/ @@ -652,101 +577,95 @@ This section provides a complete list of all 395 documentation pages available i - **tinymce.Theme**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.theme/ #### UI APIs -- **tinymce.WindowManager**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.windowmanager/ - **tinymce.NotificationManager**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.notificationmanager/ - **tinymce.Shortcuts**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.shortcuts/ -- **tinymce.editor.ui.Registry**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.editor.ui.registry/ -- **tinymce.editor.ui.Ui**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.editor.ui.ui/ +- **tinymce.WindowManager**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.windowmanager/ #### Utility APIs +- **tinymce.Annotator**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.annotator/ - **tinymce.Env**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.env/ - **tinymce.Event**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.event/ -- **tinymce.UndoManager**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.undomanager/ +- **tinymce.FakeClipboard**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.fakeclipboard/ - **tinymce.Formatter**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.formatter/ -- **tinymce.Annotator**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.annotator/ +- **tinymce.UndoManager**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.undomanager/ - **tinymce.UserLookup**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.userlookup/ -- **tinymce.FakeClipboard**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.fakeclipboard/ +- **tinymce.util.Delay**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.util.delay/ +- **tinymce.util.EventDispatcher**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.util.eventdispatcher/ +- **tinymce.util.I18n**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.util.i18n/ +- **tinymce.util.ImageUploader**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.util.imageuploader/ +- **tinymce.util.Observable**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.util.observable/ +- **tinymce.util.Tools**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.util.tools/ +- **tinymce.util.URI**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.util.uri/ #### DOM APIs -- **tinymce.dom.DOMUtils**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.dom.domutils/ -- **tinymce.dom.Selection**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.dom.selection/ -- **tinymce.dom.Serializer**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.dom.serializer/ -- **tinymce.dom.RangeUtils**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.dom.rangeutils/ - **tinymce.dom.BookmarkManager**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.dom.bookmarkmanager/ +- **tinymce.dom.DOMUtils**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.dom.domutils/ - **tinymce.dom.EventUtils**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.dom.eventutils/ +- **tinymce.dom.RangeUtils**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.dom.rangeutils/ - **tinymce.dom.ScriptLoader**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.dom.scriptloader/ +- **tinymce.dom.Selection**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.dom.selection/ +- **tinymce.dom.Serializer**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.dom.serializer/ - **tinymce.dom.StyleSheetLoader**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.dom.stylesheetloader/ - **tinymce.dom.TextSeeker**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.dom.textseeker/ - **tinymce.dom.TreeWalker**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.dom.treewalker/ #### HTML APIs - **tinymce.html.DomParser**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.html.domparser/ -- **tinymce.html.Serializer**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.html.serializer/ -- **tinymce.html.Schema**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.html.schema/ -- **tinymce.html.Node**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.html.node/ - **tinymce.html.Entities**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.html.entities/ +- **tinymce.html.Node**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.html.node/ +- **tinymce.html.Schema**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.html.schema/ +- **tinymce.html.Serializer**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.html.serializer/ - **tinymce.html.Styles**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.html.styles/ - **tinymce.html.Writer**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.html.writer/ -#### Utility APIs -- **tinymce.util.Delay**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.util.delay/ -- **tinymce.util.EventDispatcher**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.util.eventdispatcher/ -- **tinymce.util.I18n**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.util.i18n/ -- **tinymce.util.ImageUploader**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.util.imageuploader/ -- **tinymce.util.Observable**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.util.observable/ -- **tinymce.util.Tools**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.util.tools/ -- **tinymce.util.URI**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.util.uri/ - #### Geometry APIs - **tinymce.geom.Rect**: https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.geom.rect/ + ### Migration Guides +- **Migrating from Froala to TinyMCE**: https://www.tiny.cloud/docs/tinymce/latest/migration-from-froala/ +- **Migrating from TinyMCE 4 to TinyMCE 7.0**: https://www.tiny.cloud/docs/tinymce/latest/migration-from-4x/ +- **Migrating from TinyMCE 4 to TinyMCE 8**: https://www.tiny.cloud/docs/tinymce/latest/migration-from-4x-to-8x/ +- **Migrating from TinyMCE 5 to TinyMCE 7.0**: https://www.tiny.cloud/docs/tinymce/latest/migration-from-5x/ +- **Migrating from TinyMCE 5 to TinyMCE 8**: https://www.tiny.cloud/docs/tinymce/latest/migration-from-5x-to-8x/ +- **Migrating from TinyMCE 6 to TinyMCE 7.0**: https://www.tiny.cloud/docs/tinymce/latest/migration-from-6x/ +- **Migrating from TinyMCE 6 to TinyMCE 8**: https://www.tiny.cloud/docs/tinymce/latest/migration-from-6x-to-8x/ +- **Migrating from TinyMCE 7 to TinyMCE 8**: https://www.tiny.cloud/docs/tinymce/latest/migration-from-7x/ +- **TinyMCE Migration Guides**: https://www.tiny.cloud/docs/tinymce/latest/migration-guides/ - **Upgrading TinyMCE**: https://www.tiny.cloud/docs/tinymce/latest/upgrading/ -- **Migration Guides Overview**: https://www.tiny.cloud/docs/tinymce/latest/migration-guides/ -- **Migration from 7.x**: https://www.tiny.cloud/docs/tinymce/latest/migration-from-7x/ -- **Migration from 6.x**: https://www.tiny.cloud/docs/tinymce/latest/migration-from-6x/ -- **Migration from 6.x to 8.x**: https://www.tiny.cloud/docs/tinymce/latest/migration-from-6x-to-8x/ -- **Migration from 5.x**: https://www.tiny.cloud/docs/tinymce/latest/migration-from-5x/ -- **Migration from 5.x to 8.x**: https://www.tiny.cloud/docs/tinymce/latest/migration-from-5x-to-8x/ -- **Migration from 4.x**: https://www.tiny.cloud/docs/tinymce/latest/migration-from-4x/ -- **Migration from 4.x to 8.x**: https://www.tiny.cloud/docs/tinymce/latest/migration-from-4x-to-8x/ -- **Migrating from Froala**: https://www.tiny.cloud/docs/tinymce/latest/migration-from-froala/ + ### Examples & Demos -- **Examples**: https://www.tiny.cloud/docs/tinymce/latest/examples/ -- **TinyMCE examples**: https://www.tiny.cloud/docs/tinymce/latest/examples/ - **Basic example**: https://www.tiny.cloud/docs/tinymce/latest/basic-example/ +- **Borderless skin demo**: https://www.tiny.cloud/docs/tinymce/latest/borderless-demo/ +- **Classic editor example**: https://www.tiny.cloud/docs/tinymce/latest/classic-demo/ +- **Distraction-free editor example**: https://www.tiny.cloud/docs/tinymce/latest/distraction-free-demo/ +- **Fabric skin demo**: https://www.tiny.cloud/docs/tinymce/latest/fabric-demo/ +- **Fluent skin demo**: https://www.tiny.cloud/docs/tinymce/latest/fluent-demo/ +- **Full featured demo: Including Premium Plugins**: https://www.tiny.cloud/docs/tinymce/latest/full-featured-premium-demo/ +- **Full featured demo: Non-Premium Plugins only**: https://www.tiny.cloud/docs/tinymce/latest/full-featured-open-source-demo/ - **How To Guides**: https://www.tiny.cloud/docs/tinymce/latest/how-to-guides/ -- **Bootstrap Demo**: https://www.tiny.cloud/docs/tinymce/latest/bootstrap-demo/ -- **Borderless Demo**: https://www.tiny.cloud/docs/tinymce/latest/borderless-demo/ -- **Classic editor mode**: https://www.tiny.cloud/docs/tinymce/latest/classic-demo/ -- **Distraction-free editor**: https://www.tiny.cloud/docs/tinymce/latest/distraction-free-demo/ -- **Fabric Demo**: https://www.tiny.cloud/docs/tinymce/latest/fabric-demo/ -- **Fluent Demo**: https://www.tiny.cloud/docs/tinymce/latest/fluent-demo/ -- **Inline editor**: https://www.tiny.cloud/docs/tinymce/latest/inline-demo/ -- **Jam Icons Demo**: https://www.tiny.cloud/docs/tinymce/latest/jam-demo/ -- **Material Classic Demo**: https://www.tiny.cloud/docs/tinymce/latest/material-classic-demo/ -- **Material Outline Demo**: https://www.tiny.cloud/docs/tinymce/latest/material-outline-demo/ -- **Naked Demo**: https://www.tiny.cloud/docs/tinymce/latest/naked-demo/ -- **Outside Demo**: https://www.tiny.cloud/docs/tinymce/latest/outside-demo/ -- **Small Icons Demo**: https://www.tiny.cloud/docs/tinymce/latest/small-demo/ -- **Snow Demo**: https://www.tiny.cloud/docs/tinymce/latest/snow-demo/ -- **Full-featured open source demo**: https://www.tiny.cloud/docs/tinymce/latest/full-featured-open-source-demo/ -- **Excluding premium features**: https://www.tiny.cloud/docs/tinymce/latest/full-featured-open-source-demo/ -- **Full-featured premium demo**: https://www.tiny.cloud/docs/tinymce/latest/full-featured-premium-demo/ -- **Including premium features**: https://www.tiny.cloud/docs/tinymce/latest/full-featured-premium-demo/ +- **Inline editor example**: https://www.tiny.cloud/docs/tinymce/latest/inline-demo/ +- **Jam icons pack demo**: https://www.tiny.cloud/docs/tinymce/latest/jam-demo/ +- **Material Classic skin demo**: https://www.tiny.cloud/docs/tinymce/latest/material-classic-demo/ +- **Material Outline skin demo**: https://www.tiny.cloud/docs/tinymce/latest/material-outline-demo/ +- **Naked skin demo**: https://www.tiny.cloud/docs/tinymce/latest/naked-demo/ +- **Outside skin demo**: https://www.tiny.cloud/docs/tinymce/latest/outside-demo/ +- **Small icons pack demo**: https://www.tiny.cloud/docs/tinymce/latest/small-demo/ +- **Snow skin demo**: https://www.tiny.cloud/docs/tinymce/latest/snow-demo/ +- **TinyMCE 8 examples**: https://www.tiny.cloud/docs/tinymce/latest/examples/ + ### Release Information -- **Release Notes**: https://www.tiny.cloud/docs/tinymce/latest/release-notes/ -- **Release notes for TinyMCE**: https://www.tiny.cloud/docs/tinymce/latest/release-notes/ - **Changelog**: https://www.tiny.cloud/docs/tinymce/latest/changelog/ +- **Release notes for TinyMCE 8**: https://www.tiny.cloud/docs/tinymce/latest/release-notes/ - **TinyMCE 8.0.0**: https://www.tiny.cloud/docs/tinymce/latest/8.0-release-notes/ - **TinyMCE 8.0.1**: https://www.tiny.cloud/docs/tinymce/latest/8.0.1-release-notes/ - **TinyMCE 8.0.2**: https://www.tiny.cloud/docs/tinymce/latest/8.0.2-release-notes/ -- **TinyMCE 8.1.0**: https://www.tiny.cloud/docs/tinymce/latest/8.1.0-release-notes/ +- **TinyMCE 8.1**: https://www.tiny.cloud/docs/tinymce/latest/8.1.0-release-notes/ - **TinyMCE 8.1.1**: https://www.tiny.cloud/docs/tinymce/latest/8.1.1-release-notes/ - **TinyMCE 8.1.2**: https://www.tiny.cloud/docs/tinymce/latest/8.1.2-release-notes/ - **TinyMCE 8.2.0**: https://www.tiny.cloud/docs/tinymce/latest/8.2.0-release-notes/ @@ -756,25 +675,26 @@ This section provides a complete list of all 395 documentation pages available i - **TinyMCE 8.3.1**: https://www.tiny.cloud/docs/tinymce/latest/8.3.1-release-notes/ - **TinyMCE 8.3.2**: https://www.tiny.cloud/docs/tinymce/latest/8.3.2-release-notes/ + ### Accessibility & Security -- **Accessibility**: https://www.tiny.cloud/docs/tinymce/latest/accessibility/ -- **Accessibility Guide**: https://www.tiny.cloud/docs/tinymce/latest/tinymce-and-screenreaders/ -- **Accessibility Checker**: https://www.tiny.cloud/docs/tinymce/latest/a11ychecker/ +- **Accessibility options**: https://www.tiny.cloud/docs/tinymce/latest/accessibility/ +- **Accessible navigation guide**: https://www.tiny.cloud/docs/tinymce/latest/tinymce-and-screenreaders/ +- **Custom Keyboard Shortcuts**: https://www.tiny.cloud/docs/tinymce/latest/shortcuts/ - **Security guide**: https://www.tiny.cloud/docs/tinymce/latest/security/ -- **TinyMCE for mobile**: https://www.tiny.cloud/docs/tinymce/latest/tinymce-for-mobile/ -- **Keyboard Shortcuts**: https://www.tiny.cloud/docs/tinymce/latest/shortcuts/ +- **TinyMCE for Touch-Enabled and Mobile Devices**: https://www.tiny.cloud/docs/tinymce/latest/tinymce-for-mobile/ - **TinyMCE Keyboard shortcuts**: https://www.tiny.cloud/docs/tinymce/latest/keyboard-shortcuts/ + ### Support & Resources +- **Premium upgrade promotion**: https://www.tiny.cloud/docs/tinymce/latest/promotions/ - **Support**: https://www.tiny.cloud/docs/tinymce/latest/support/ -- **Documentation Home**: https://www.tiny.cloud/docs/tinymce/latest/ -- **TinyMCE Premium upgrade promotion**: https://www.tiny.cloud/docs/tinymce/latest/promotions/ -- **tiny docs ai**: https://www.tiny.cloud/docs/tinymce/latest/tiny-docs-ai/ +- **Tiny Docs Ai**: https://www.tiny.cloud/docs/tinymce/latest/tiny-docs-ai/ + ### Legacy & Other -- **MoxieManager**: https://www.tiny.cloud/docs/tinymce/latest/moxiemanager/ -- **PHP image upload handler**: https://www.tiny.cloud/docs/tinymce/latest/php-upload-handler/ -- **Reusable template creation**: https://www.tiny.cloud/docs/tinymce/latest/ie-template-creation/ +- **Interactive integration example**: https://www.tiny.cloud/docs/tinymce/latest/ie-template-creation/ +- **MoxieManager plugin**: https://www.tiny.cloud/docs/tinymce/latest/moxiemanager/ + diff --git a/modules/ROOT/attachments/llms.txt b/modules/ROOT/attachments/llms.txt index 461afa766b..f6d8dd4a5d 100644 --- a/modules/ROOT/attachments/llms.txt +++ b/modules/ROOT/attachments/llms.txt @@ -2,7 +2,7 @@ > Rich text editor for web applications. The latest stable version is TinyMCE 8. -TinyMCE is a powerful, flexible WYSIWYG rich text editor that can be integrated into any web application. This documentation covers installation, configuration, integration with popular frameworks, API reference, plugins, and advanced features. +TinyMCE is a powerful, flexible WYSIWYG rich text editor that can be integrated into any web application. **IMPORTANT**: Always use TinyMCE 8 for new projects. Use `tinymce@8` or `tinymce/8` in CDN URLs and package installations. @@ -12,174 +12,94 @@ TinyMCE is a powerful, flexible WYSIWYG rich text editor that can be integrated - [Introduction to TinyMCE](https://www.tiny.cloud/docs/tinymce/latest/introduction-to-tinymce/): What is TinyMCE and how to add it to your project - [Installation](https://www.tiny.cloud/docs/tinymce/latest/installation/): Installation options and methods -### Cloud Deployment (Recommended) - -- [Cloud Quick Start](https://www.tiny.cloud/docs/tinymce/latest/cloud-quick-start/): Quick start guide for Tiny Cloud -- [Cloud Deployment Guide](https://www.tiny.cloud/docs/tinymce/latest/cloud-deployment-guide/): Complete cloud deployment guide -- [Editor and Features](https://www.tiny.cloud/docs/tinymce/latest/editor-and-features/): Cloud deployment of editor and plugins -- [Specify Editor Version](https://www.tiny.cloud/docs/tinymce/latest/editor-plugin-version/): How to specify TinyMCE version in Cloud -- [Cloud Troubleshooting](https://www.tiny.cloud/docs/tinymce/latest/cloud-troubleshooting/): Troubleshooting cloud deployment issues - -### Self-Hosted Deployment +### Quick Start Guides -- [NPM Projects Quick Start](https://www.tiny.cloud/docs/tinymce/latest/npm-projects/): Quick start for NPM-based projects -- [ZIP Installation Quick Start](https://www.tiny.cloud/docs/tinymce/latest/zip-install/): Quick start for ZIP-based installation -- [Self-Hosted Installation](https://www.tiny.cloud/docs/tinymce/latest/installation-self-hosted/): Self-hosted installation guide +- [Cloud Quick Start](https://www.tiny.cloud/docs/tinymce/latest/cloud-quick-start/): Get started with Tiny Cloud CDN (recommended) +- [NPM Quick Start](https://www.tiny.cloud/docs/tinymce/latest/npm-projects/): Install via npm, yarn, or pnpm +- [ZIP Quick Start](https://www.tiny.cloud/docs/tinymce/latest/zip-install/): Download and install from ZIP archive ## Integration Guides -### Frontend Frameworks - -- [React Integration](https://www.tiny.cloud/docs/tinymce/latest/react/): React integration overview - - [React Cloud](https://www.tiny.cloud/docs/tinymce/latest/react-cloud/): React with Tiny Cloud - - [React Package Manager](https://www.tiny.cloud/docs/tinymce/latest/react-pm-host/): React with package manager - - [React ZIP](https://www.tiny.cloud/docs/tinymce/latest/react-zip-host/): React with ZIP package -- [Vue.js Integration](https://www.tiny.cloud/docs/tinymce/latest/vue/): Vue.js integration overview - - [Vue Cloud](https://www.tiny.cloud/docs/tinymce/latest/vue-cloud/): Vue.js with Tiny Cloud - - [Vue Package Manager](https://www.tiny.cloud/docs/tinymce/latest/vue-pm/): Vue.js with package manager - - [Vue ZIP](https://www.tiny.cloud/docs/tinymce/latest/vue-zip/): Vue.js with ZIP package -- [Angular Integration](https://www.tiny.cloud/docs/tinymce/latest/angular/): Angular integration overview - - [Angular Cloud](https://www.tiny.cloud/docs/tinymce/latest/angular-cloud/): Angular with Tiny Cloud - - [Angular Package Manager](https://www.tiny.cloud/docs/tinymce/latest/angular-pm/): Angular with package manager - - [Angular ZIP](https://www.tiny.cloud/docs/tinymce/latest/angular-zip/): Angular with ZIP package -- [Blazor Integration](https://www.tiny.cloud/docs/tinymce/latest/blazor/): Blazor integration overview - - [Blazor Cloud](https://www.tiny.cloud/docs/tinymce/latest/blazor-cloud/): Blazor with Tiny Cloud - - [Blazor Package Manager](https://www.tiny.cloud/docs/tinymce/latest/blazor-pm/): Blazor with package manager - - [Blazor ZIP](https://www.tiny.cloud/docs/tinymce/latest/blazor-zip/): Blazor with ZIP package -- [Svelte Integration](https://www.tiny.cloud/docs/tinymce/latest/svelte/): Svelte integration overview - - [Svelte Cloud](https://www.tiny.cloud/docs/tinymce/latest/svelte-cloud/): Svelte with Tiny Cloud - - [Svelte Package Manager](https://www.tiny.cloud/docs/tinymce/latest/svelte-pm/): Svelte with package manager - - [Svelte ZIP](https://www.tiny.cloud/docs/tinymce/latest/svelte-zip/): Svelte with ZIP package -- [Web Component Integration](https://www.tiny.cloud/docs/tinymce/latest/webcomponent/): Web Component integration - - [Web Component Cloud](https://www.tiny.cloud/docs/tinymce/latest/webcomponent-cloud/): Web Component with Tiny Cloud - - [Web Component Package Manager](https://www.tiny.cloud/docs/tinymce/latest/webcomponent-pm/): Web Component with package manager - - [Web Component ZIP](https://www.tiny.cloud/docs/tinymce/latest/webcomponent-zip/): Web Component with ZIP package -- [jQuery Integration](https://www.tiny.cloud/docs/tinymce/latest/jquery/): jQuery integration - - [jQuery Cloud](https://www.tiny.cloud/docs/tinymce/latest/jquery-cloud/): jQuery with Tiny Cloud - - [jQuery Package Manager](https://www.tiny.cloud/docs/tinymce/latest/jquery-pm/): jQuery with package manager - -### Backend Frameworks - -- [Django Integration](https://www.tiny.cloud/docs/tinymce/latest/django/): Django integration - - [Django Cloud](https://www.tiny.cloud/docs/tinymce/latest/django-cloud/): Django with Tiny Cloud - - [Django ZIP](https://www.tiny.cloud/docs/tinymce/latest/django-zip/): Django with ZIP package -- [Laravel Integration](https://www.tiny.cloud/docs/tinymce/latest/laravel/): Laravel integration - - [Laravel Cloud](https://www.tiny.cloud/docs/tinymce/latest/laravel-tiny-cloud/): Laravel with Tiny Cloud - - [Laravel Composer](https://www.tiny.cloud/docs/tinymce/latest/laravel-composer-install/): Laravel with Composer - - [Laravel ZIP](https://www.tiny.cloud/docs/tinymce/latest/laravel-zip-install/): Laravel with ZIP package -- [Ruby on Rails Integration](https://www.tiny.cloud/docs/tinymce/latest/rails/): Ruby on Rails integration - - [Rails Cloud](https://www.tiny.cloud/docs/tinymce/latest/rails-cloud/): Rails with Tiny Cloud - - [Rails Package Manager](https://www.tiny.cloud/docs/tinymce/latest/rails-third-party/): Rails with package manager - - [Rails ZIP](https://www.tiny.cloud/docs/tinymce/latest/rails-zip/): Rails with ZIP package -- [Node.js + Express Integration](https://www.tiny.cloud/docs/tinymce/latest/expressjs-pm/): Node.js and Express integration - - [Express Package Manager](https://www.tiny.cloud/docs/tinymce/latest/expressjs-pm/): Express with package manager - -### Other Integrations - -- [Bootstrap Integration](https://www.tiny.cloud/docs/tinymce/latest/bootstrap/): Bootstrap integration -- [PHP Projects](https://www.tiny.cloud/docs/tinymce/latest/php-projects/): PHP integration -- [.NET Projects](https://www.tiny.cloud/docs/tinymce/latest/dotnet-projects/): .NET integration -- [WordPress Integration](https://www.tiny.cloud/docs/tinymce/latest/wordpress/): WordPress integration -- [Shadow DOM](https://www.tiny.cloud/docs/tinymce/latest/shadow-dom/): Shadow DOM integration - -## Configuration - -### Basic Configuration - -- [Basic Setup](https://www.tiny.cloud/docs/tinymce/latest/basic-setup/): Essential configuration options -- [Working with Plugins](https://www.tiny.cloud/docs/tinymce/latest/work-with-plugins/): How to use plugins -- [Content Filtering](https://www.tiny.cloud/docs/tinymce/latest/filter-content/): Content filtering options -- [Localization](https://www.tiny.cloud/docs/tinymce/latest/localize-your-language/): Localization and internationalization -- [Spell Checking](https://www.tiny.cloud/docs/tinymce/latest/spell-checking/): Spell checking configuration -- [Content CSS](https://www.tiny.cloud/docs/tinymce/latest/editor-content-css/): CSS for rendering content -- [URL Handling](https://www.tiny.cloud/docs/tinymce/latest/url-handling/): URL handling options - -### Advanced Configuration +See the complete documentation index in llms-full.txt for all available integration pages. -- [Editor Themes](https://www.tiny.cloud/docs/tinymce/latest/editor-theme/): Customizing editor themes -- [Editor Skins](https://www.tiny.cloud/docs/tinymce/latest/editor-skin/): Customizing editor skins -- [Toolbar Configuration](https://www.tiny.cloud/docs/tinymce/latest/toolbar-configuration-options/): Toolbar customization -- [Menu Configuration](https://www.tiny.cloud/docs/tinymce/latest/menus-configuration-options/): Menu customization -- [Content Security Policy](https://www.tiny.cloud/docs/tinymce/latest/tinymce-and-csp/): CSP configuration -- [CORS Configuration](https://www.tiny.cloud/docs/tinymce/latest/tinymce-and-cors/): CORS setup +## Basic Setup Examples -## Plugins and Features - -### Core Plugins - -- [Plugins Overview](https://www.tiny.cloud/docs/tinymce/latest/plugins/): Complete list of available plugins -- [Table Plugin](https://www.tiny.cloud/docs/tinymce/latest/table/): Advanced table editing -- [Image Plugin](https://www.tiny.cloud/docs/tinymce/latest/image/): Image insertion and editing -- [Link Plugin](https://www.tiny.cloud/docs/tinymce/latest/link/): Link management -- [Lists Plugin](https://www.tiny.cloud/docs/tinymce/latest/lists/): List formatting -- [Code Plugin](https://www.tiny.cloud/docs/tinymce/latest/code/): Code view and editing +### Cloud Deployment (Recommended) -### Premium Features +```html + + +``` -- [AI Assistant](https://www.tiny.cloud/docs/tinymce/latest/ai/): AI-powered writing assistance -- [Comments](https://www.tiny.cloud/docs/tinymce/latest/introduction-to-tiny-comments/): Collaborative commenting -- [Export to PDF](https://www.tiny.cloud/docs/tinymce/latest/exportpdf/): PDF export functionality -- [Export to Word](https://www.tiny.cloud/docs/tinymce/latest/exportword/): Word document export -- [Import from Word](https://www.tiny.cloud/docs/tinymce/latest/importword/): Word document import -- [PowerPaste](https://www.tiny.cloud/docs/tinymce/latest/introduction-to-powerpaste/): Advanced paste handling -- [TinyDrive](https://www.tiny.cloud/docs/tinymce/latest/tinydrive-introduction/): Cloud file management +### Self-Hosted (NPM) -## API Reference - -- [Editor API](https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.editor/): Editor API reference -- [Plugin API](https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.plugin/): Plugin API reference -- [EditorManager API](https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.editormanager/): EditorManager API reference -- [WindowManager API](https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.windowmanager/): WindowManager API reference -- [Complete API Reference](https://www.tiny.cloud/docs/tinymce/latest/apis/): Full API documentation index +```bash +npm install tinymce@8 +``` -## Examples and Guides +```html + + +``` -- [Examples](https://www.tiny.cloud/docs/tinymce/latest/examples/): Code examples and demos -- [How-to Guides](https://www.tiny.cloud/docs/tinymce/latest/how-to-guides/): Step-by-step guides -- [Basic Example](https://www.tiny.cloud/docs/tinymce/latest/basic-example/): Simple implementation example +### React Example + +```jsx +import { Editor } from '@tinymce/tinymce-react'; + +function App() { + return ( + + ); +} +``` -## Migration and Upgrading +## Key Configuration -- [Upgrading TinyMCE](https://www.tiny.cloud/docs/tinymce/latest/upgrading/): General upgrade guide -- [Migration from 7.x](https://www.tiny.cloud/docs/tinymce/latest/migration-from-7x/): Migration guide from TinyMCE 7 -- [Migration from 6.x](https://www.tiny.cloud/docs/tinymce/latest/migration-from-6x/): Migration guide from TinyMCE 6 -- [Migration from 5.x](https://www.tiny.cloud/docs/tinymce/latest/migration-from-5x/): Migration guide from TinyMCE 5 -- [Migration from 4.x](https://www.tiny.cloud/docs/tinymce/latest/migration-from-4x/): Migration guide from TinyMCE 4 -- [Migration Guides Overview](https://www.tiny.cloud/docs/tinymce/latest/migration-guides/): All migration guides +- [Basic Setup](https://www.tiny.cloud/docs/tinymce/latest/basic-setup/): Essential configuration options +- [Content Filtering](https://www.tiny.cloud/docs/tinymce/latest/filter-content/): Control HTML output +- [Localization](https://www.tiny.cloud/docs/tinymce/latest/localize-your-language/): Multi-language support +- [Spell Checking](https://www.tiny.cloud/docs/tinymce/latest/spell-checking/): Enable spell checking +- [Cloud Deployment Guide](https://www.tiny.cloud/docs/tinymce/latest/cloud-deployment-guide/): Configure Tiny Cloud -## Release Information +## Plugins & Features -- [Release Notes](https://www.tiny.cloud/docs/tinymce/latest/release-notes/): TinyMCE 8 release notes -- [Changelog](https://www.tiny.cloud/docs/tinymce/latest/changelog/): Detailed changelog +- [Plugins Overview](https://www.tiny.cloud/docs/tinymce/latest/plugins/): Available plugins and features +- [Table Plugin](https://www.tiny.cloud/docs/tinymce/latest/table/): Table editing capabilities +- [Image Plugin](https://www.tiny.cloud/docs/tinymce/latest/image/): Image handling and editing +- [Link Plugin](https://www.tiny.cloud/docs/tinymce/latest/link/): Link management -## CDN and Package Information +## API Reference -### Cloud CDN (Recommended) -``` -https://cdn.tiny.cloud/1/[api-key]/tinymce/8/tinymce.min.js -``` -Replace `[api-key]` with your Tiny Cloud API key. +- [Editor API](https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.editor/): Core editor API +- [Plugin API](https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.plugin/): Plugin development API -### jsDelivr CDN -``` -https://cdn.jsdelivr.net/npm/tinymce@8/tinymce.min.js -``` +## Migration & Upgrading -### Package Manager Installation -- npm: `npm install tinymce@8` -- yarn: `yarn add tinymce@8` -- pnpm: `pnpm add tinymce@8` -- Composer (PHP): `composer require tinymce/tinymce` -- NuGet (.NET): `Install-Package TinyMCE` +- [Upgrading TinyMCE](https://www.tiny.cloud/docs/tinymce/latest/upgrading/): Upgrade guide +- [Migration from 7.x](https://www.tiny.cloud/docs/tinymce/latest/migration-from-7x/): Migrate from TinyMCE 7 -### Integration Packages -- React: `npm install @tinymce/tinymce-react tinymce@8` -- Vue: `npm install @tinymce/tinymce-vue tinymce@8` -- Angular: `npm install @tinymce/tinymce-angular tinymce@8` +## Complete Documentation -## Support and Resources +For a complete list of all 396 documentation pages, see [llms-full.txt](https://www.tiny.cloud/docs/tinymce/latest/llms-full.txt). -- [Documentation Home](https://www.tiny.cloud/docs/tinymce/latest/): Main documentation page -- [Support](https://www.tiny.cloud/docs/tinymce/latest/support/): Get help and support -- [Accessibility Guide](https://www.tiny.cloud/docs/tinymce/latest/accessibility/): Accessibility features and best practices -- [Security Guide](https://www.tiny.cloud/docs/tinymce/latest/security/): Security best practices diff --git a/modules/ROOT/pages/angular.adoc b/modules/ROOT/pages/angular.adoc deleted file mode 100644 index f1125b0a09..0000000000 --- a/modules/ROOT/pages/angular.adoc +++ /dev/null @@ -1,70 +0,0 @@ -= Using {productname} in Angular -:navtitle: Angular -:description: Integrate TinyMCE into your Angular application. Choose from Cloud, self-hosted, or ZIP installation methods. -:keywords: integration, integrate, angular, tinymce-angular, tinymce - -{productname} provides official Angular integration through the link:https://github.com/tinymce/tinymce-angular[{productname} Angular component^] (`@tinymce/tinymce-angular`). This component is a thin wrapper around {productname} that makes it easy to integrate the editor into Angular applications. - -== Installation methods - -Choose the installation method that best fits your project: - -=== Cloud - -The fastest way to get started with {productname} in Angular. The editor is loaded from the {cloudname} CDN. - -[cols=2*a] -|=== - -| -[.lead] -xref:angular-cloud.adoc[Using {cloudname}] - -Get started quickly with {productname} using the {cloudname} CDN. No build configuration required. - -// Empty cell to even out rows -| - -|=== - -=== Self-hosted - -Install {productname} using npm, Yarn, or other package managers. Choose between hosting the editor files as static assets or bundling them with your application. - -[cols=2*a] -|=== - -| -[.lead] -xref:angular-pm.adoc[Using a package manager] - -Host {productname} files as static assets. Simple setup with no bundling configuration. - -| -[.lead] -xref:angular-pm-bundle.adoc[Using a package manager with bundling] - -Bundle {productname} with your Angular application using webpack, Vite, or other bundlers. Optimize your bundle size by including only the components you need. - -|=== - -=== ZIP - -Download and install {productname} from a .zip archive. Suitable for traditional web deployments. - -[cols=2*a] -|=== - -| -[.lead] -xref:angular-zip.adoc[Using a .zip package] - -Extract {productname} from a .zip archive and host the files as static assets. - -| -[.lead] -xref:angular-zip-bundle.adoc[Bundle TinyMCE from a .zip package] - -Extract {productname} from a .zip archive and bundle it with your Angular application. - -|=== diff --git a/modules/ROOT/pages/blazor.adoc b/modules/ROOT/pages/blazor.adoc deleted file mode 100644 index a6807d3ff4..0000000000 --- a/modules/ROOT/pages/blazor.adoc +++ /dev/null @@ -1,64 +0,0 @@ -= Using {productname} in Blazor -:navtitle: Blazor -:description: Integrate TinyMCE into your Blazor application. Choose from Cloud, self-hosted, or ZIP installation methods. -:keywords: integration, integrate, blazor, blazorapp, tinymce - -{productname} can be integrated into Blazor applications using the standard {productname} JavaScript API. - -== Installation methods - -Choose the installation method that best fits your project: - -=== Cloud - -The fastest way to get started with {productname} in Blazor. The editor is loaded from the {cloudname} CDN. - -[cols=2*a] -|=== - -| -[.lead] -xref:blazor-cloud.adoc[Using {cloudname}] - -Get started quickly with {productname} using the {cloudname} CDN. No build configuration required. - -// Empty cell to even out rows -| - -|=== - -=== Self-hosted - -Install {productname} using npm, Yarn, or other package managers. - -[cols=2*a] -|=== - -| -[.lead] -xref:blazor-pm.adoc[Using a package manager] - -Install and configure {productname} in your Blazor application using a package manager. - -// Empty cell to even out rows -| - -|=== - -=== ZIP - -Download and install {productname} from a .zip archive. Suitable for traditional web deployments. - -[cols=2*a] -|=== - -| -[.lead] -xref:blazor-zip.adoc[Using a .zip package] - -Extract {productname} from a .zip archive and integrate it into your Blazor application. - -// Empty cell to even out rows -| - -|=== diff --git a/modules/ROOT/pages/django.adoc b/modules/ROOT/pages/django.adoc deleted file mode 100644 index 7c459a3b8e..0000000000 --- a/modules/ROOT/pages/django.adoc +++ /dev/null @@ -1,46 +0,0 @@ -= Using {productname} in Django -:navtitle: Django -:description: Integrate TinyMCE into your Django application. Choose from Cloud or ZIP installation methods. -:keywords: integration, integrate, django, python, tinymce - -{productname} can be integrated into Django applications to provide rich text editing capabilities. - -== Installation methods - -Choose the installation method that best fits your project: - -=== Cloud - -The fastest way to get started with {productname} in Django. The editor is loaded from the {cloudname} CDN. - -[cols=2*a] -|=== - -| -[.lead] -xref:django-cloud.adoc[Using {cloudname}] - -Get started quickly with {productname} using the {cloudname} CDN. No build configuration required. - -// Empty cell to even out rows -| - -|=== - -=== ZIP - -Download and install {productname} from a .zip archive. Suitable for traditional web deployments. - -[cols=2*a] -|=== - -| -[.lead] -xref:django-zip.adoc[Using a .zip package] - -Extract {productname} from a .zip archive and integrate it into your Django application. - -// Empty cell to even out rows -| - -|=== diff --git a/modules/ROOT/pages/installation.adoc b/modules/ROOT/pages/installation.adoc index 55ddcc50ec..5ad06a7093 100644 --- a/modules/ROOT/pages/installation.adoc +++ b/modules/ROOT/pages/installation.adoc @@ -30,43 +30,43 @@ The following packages are thin wrappers around {productname} to make it easier | [.lead] -xref:react.adoc[React] +xref:react-cloud.adoc[React] Integrate {productname} into your React application. | [.lead] -xref:angular.adoc[Angular] +xref:angular-cloud.adoc[Angular] Integrate {productname} into your Angular application. | [.lead] -xref:vue.adoc[Vue.js] +xref:vue-cloud.adoc[Vue.js] Integrate {productname} into your Vue.js application. | [.lead] -xref:blazor.adoc[Blazor] +xref:blazor-cloud.adoc[Blazor] Integrate {productname} into your Blazor application. | [.lead] -xref:svelte.adoc[Svelte] +xref:svelte-cloud.adoc[Svelte] Integrate {productname} into your Svelte application. | [.lead] -xref:webcomponent.adoc[Web Component] +xref:webcomponent-cloud.adoc[Web Component] Integrate {productname} as a web component. | [.lead] -xref:jquery.adoc[jQuery] +xref:jquery-cloud.adoc[jQuery] Integrate {productname} with the jQuery JavaScript library. @@ -81,19 +81,19 @@ Integrate {productname} with the jQuery JavaScript library. | [.lead] -xref:django.adoc[Django] +xref:django-cloud.adoc[Django] Integrate {productname} into your Django application. | [.lead] -xref:laravel.adoc[Laravel] +xref:laravel-tiny-cloud.adoc[Laravel] Integrate {productname} into your Laravel application. | [.lead] -xref:rails.adoc[Ruby on Rails] +xref:rails-cloud.adoc[Ruby on Rails] Integrate {productname} into your Ruby on Rails application. diff --git a/modules/ROOT/pages/jquery.adoc b/modules/ROOT/pages/jquery.adoc deleted file mode 100644 index 16f5c84ab7..0000000000 --- a/modules/ROOT/pages/jquery.adoc +++ /dev/null @@ -1,46 +0,0 @@ -= Using {productname} with jQuery -:navtitle: jQuery -:description: Integrate TinyMCE with jQuery. Choose from Cloud or self-hosted installation methods. -:keywords: integration, integrate, jquery, javascript, tinymce - -{productname} provides official jQuery integration through the link:https://github.com/tinymce/tinymce-jquery[{productname} jQuery integration^] (`@tinymce/tinymce-jquery`). This integration makes it easy to use {productname} with jQuery. - -== Installation methods - -Choose the installation method that best fits your project: - -=== Cloud - -The fastest way to get started with {productname} and jQuery. The editor is loaded from the {cloudname} CDN. - -[cols=2*a] -|=== - -| -[.lead] -xref:jquery-cloud.adoc[Using {cloudname}] - -Get started quickly with {productname} using the {cloudname} CDN. No build configuration required. - -// Empty cell to even out rows -| - -|=== - -=== Self-hosted - -Install {productname} using npm, Yarn, or other package managers. - -[cols=2*a] -|=== - -| -[.lead] -xref:jquery-pm.adoc[Using a package manager] - -Install and configure {productname} with jQuery using a package manager. - -// Empty cell to even out rows -| - -|=== diff --git a/modules/ROOT/pages/laravel.adoc b/modules/ROOT/pages/laravel.adoc deleted file mode 100644 index d3cea96af8..0000000000 --- a/modules/ROOT/pages/laravel.adoc +++ /dev/null @@ -1,64 +0,0 @@ -= Using {productname} in Laravel -:navtitle: Laravel -:description: Integrate TinyMCE into your Laravel application. Choose from Cloud, Composer, or ZIP installation methods. -:keywords: integration, integrate, laravel, php, composer, tinymce - -{productname} can be integrated into Laravel applications to provide rich text editing capabilities. - -== Installation methods - -Choose the installation method that best fits your project: - -=== Cloud - -The fastest way to get started with {productname} in Laravel. The editor is loaded from the {cloudname} CDN. - -[cols=2*a] -|=== - -| -[.lead] -xref:laravel-tiny-cloud.adoc[Using {cloudname}] - -Get started quickly with {productname} using the {cloudname} CDN. No build configuration required. - -// Empty cell to even out rows -| - -|=== - -=== Self-hosted - -Install {productname} using Composer. - -[cols=2*a] -|=== - -| -[.lead] -xref:laravel-composer-install.adoc[Using the Composer package] - -Install and configure {productname} in your Laravel application using Composer. - -// Empty cell to even out rows -| - -|=== - -=== ZIP - -Download and install {productname} from a .zip archive. Suitable for traditional web deployments. - -[cols=2*a] -|=== - -| -[.lead] -xref:laravel-zip-install.adoc[Using a .zip package] - -Extract {productname} from a .zip archive and integrate it into your Laravel application. - -// Empty cell to even out rows -| - -|=== diff --git a/modules/ROOT/pages/rails.adoc b/modules/ROOT/pages/rails.adoc deleted file mode 100644 index 24e5b577af..0000000000 --- a/modules/ROOT/pages/rails.adoc +++ /dev/null @@ -1,64 +0,0 @@ -= Using {productname} in Ruby on Rails -:navtitle: Ruby on Rails -:description: Integrate TinyMCE into your Ruby on Rails application. Choose from Cloud, package manager, or ZIP installation methods. -:keywords: integration, integrate, ruby, rails, ruby-on-rails, tinymce - -{productname} can be integrated into Ruby on Rails applications to provide rich text editing capabilities. - -== Installation methods - -Choose the installation method that best fits your project: - -=== Cloud - -The fastest way to get started with {productname} in Ruby on Rails. The editor is loaded from the {cloudname} CDN. - -[cols=2*a] -|=== - -| -[.lead] -xref:rails-cloud.adoc[Using {cloudname}] - -Get started quickly with {productname} using the {cloudname} CDN. No build configuration required. - -// Empty cell to even out rows -| - -|=== - -=== Self-hosted - -Install {productname} using a package manager. - -[cols=2*a] -|=== - -| -[.lead] -xref:rails-third-party.adoc[Using a package manager] - -Install and configure {productname} in your Ruby on Rails application using a package manager. - -// Empty cell to even out rows -| - -|=== - -=== ZIP - -Download and install {productname} from a .zip archive. Suitable for traditional web deployments. - -[cols=2*a] -|=== - -| -[.lead] -xref:rails-zip.adoc[Using a .zip package] - -Extract {productname} from a .zip archive and integrate it into your Ruby on Rails application. - -// Empty cell to even out rows -| - -|=== diff --git a/modules/ROOT/pages/react.adoc b/modules/ROOT/pages/react.adoc deleted file mode 100644 index f1bd25fded..0000000000 --- a/modules/ROOT/pages/react.adoc +++ /dev/null @@ -1,70 +0,0 @@ -= Using {productname} in React -:navtitle: React -:description: Integrate TinyMCE into your React application. Choose from Cloud, self-hosted, or ZIP installation methods. -:keywords: integration, integrate, react, reactjs, tinymce-react, tinymce - -{productname} provides official React integration through the link:https://github.com/tinymce/tinymce-react[{productname} React component^] (`@tinymce/tinymce-react`). This component is a thin wrapper around {productname} that makes it easy to integrate the editor into React applications. - -== Installation methods - -Choose the installation method that best fits your project: - -=== Cloud - -The fastest way to get started with {productname} in React. The editor is loaded from the {cloudname} CDN. - -[cols=2*a] -|=== - -| -[.lead] -xref:react-cloud.adoc[Using {cloudname}] - -Get started quickly with {productname} using the {cloudname} CDN. No build configuration required. - -// Empty cell to even out rows -| - -|=== - -=== Self-hosted - -Install {productname} using npm, Yarn, or other package managers. Choose between hosting the editor files as static assets or bundling them with your application. - -[cols=2*a] -|=== - -| -[.lead] -xref:react-pm-host.adoc[Using a package manager with hosting] - -Host {productname} files as static assets. Simple setup with no bundling configuration. - -| -[.lead] -xref:react-pm-bundle.adoc[Using a package manager with bundling] - -Bundle {productname} with your React application using webpack, Vite, or other bundlers. Optimize your bundle size by including only the components you need. - -|=== - -=== ZIP - -Download and install {productname} from a .zip archive. Suitable for traditional web deployments. - -[cols=2*a] -|=== - -| -[.lead] -xref:react-zip-host.adoc[Using a .zip package with hosting] - -Extract {productname} from a .zip archive and host the files as static assets. - -| -[.lead] -xref:react-zip-bundle.adoc[Using a .zip package with bundling] - -Extract {productname} from a .zip archive and bundle it with your React application. - -|=== diff --git a/modules/ROOT/pages/svelte.adoc b/modules/ROOT/pages/svelte.adoc deleted file mode 100644 index 201ed54e6d..0000000000 --- a/modules/ROOT/pages/svelte.adoc +++ /dev/null @@ -1,67 +0,0 @@ -= Using {productname} in Svelte -:navtitle: Svelte -:description: Integrate TinyMCE into your Svelte application. Choose from Cloud, self-hosted, or ZIP installation methods. -:keywords: integration, integrate, svelte, sveltejs, tinymce-svelte, tinymce - -{productname} provides official Svelte integration through the link:https://github.com/tinymce/tinymce-svelte[{productname} Svelte component^] (`@tinymce/tinymce-svelte`). This component is a thin wrapper around {productname} that makes it easy to integrate the editor into Svelte applications. - -== Installation methods - -Choose the installation method that best fits your project: - -=== Cloud - -The fastest way to get started with {productname} in Svelte. The editor is loaded from the {cloudname} CDN. - -[cols=2*a] -|=== - -| -[.lead] -xref:svelte-cloud.adoc[Using {cloudname}] - -Get started quickly with {productname} using the {cloudname} CDN. No build configuration required. - -// Empty cell to even out rows -| - -|=== - -=== Self-hosted - -Install {productname} using npm, Yarn, or other package managers. Choose between hosting the editor files as static assets or bundling them with your application. - -[cols=2*a] -|=== - -| -[.lead] -xref:svelte-pm.adoc[Using a package manager] - -Host {productname} files as static assets. Simple setup with no bundling configuration. - -| -[.lead] -xref:svelte-pm-bundle.adoc[Using a package manager with bundling] - -Bundle {productname} with your Svelte application using webpack, Vite, or other bundlers. Optimize your bundle size by including only the components you need. - -|=== - -=== ZIP - -Download and install {productname} from a .zip archive. Suitable for traditional web deployments. - -[cols=2*a] -|=== - -| -[.lead] -xref:svelte-zip.adoc[Using a .zip package] - -Extract {productname} from a .zip archive and integrate it into your Svelte application. - -// Empty cell to even out rows -| - -|=== diff --git a/modules/ROOT/pages/vue.adoc b/modules/ROOT/pages/vue.adoc deleted file mode 100644 index c3e264148c..0000000000 --- a/modules/ROOT/pages/vue.adoc +++ /dev/null @@ -1,67 +0,0 @@ -= Using {productname} in Vue.js -:navtitle: Vue.js -:description: Integrate TinyMCE into your Vue.js application. Choose from Cloud, self-hosted, or ZIP installation methods. -:keywords: integration, integrate, vue, vuejs, tinymce-vue, tinymce - -{productname} provides official Vue.js integration through the link:https://github.com/tinymce/tinymce-vue[{productname} Vue.js component^] (`@tinymce/tinymce-vue`). This component is a thin wrapper around {productname} that makes it easy to integrate the editor into Vue.js applications. - -== Installation methods - -Choose the installation method that best fits your project: - -=== Cloud - -The fastest way to get started with {productname} in Vue.js. The editor is loaded from the {cloudname} CDN. - -[cols=2*a] -|=== - -| -[.lead] -xref:vue-cloud.adoc[Using {cloudname}] - -Get started quickly with {productname} using the {cloudname} CDN. No build configuration required. - -// Empty cell to even out rows -| - -|=== - -=== Self-hosted - -Install {productname} using npm, Yarn, or other package managers. Choose between hosting the editor files as static assets or bundling them with your application. - -[cols=2*a] -|=== - -| -[.lead] -xref:vue-pm.adoc[Using a package manager] - -Host {productname} files as static assets. Simple setup with no bundling configuration. - -| -[.lead] -xref:vue-pm-bundle.adoc[Using a package manager with bundling] - -Bundle {productname} with your Vue.js application using webpack, Vite, or other bundlers. Optimize your bundle size by including only the components you need. - -|=== - -=== ZIP - -Download and install {productname} from a .zip archive. Suitable for traditional web deployments. - -[cols=2*a] -|=== - -| -[.lead] -xref:vue-zip.adoc[Using a .zip package] - -Extract {productname} from a .zip archive and host the files as static assets. - -// Empty cell to even out rows -| - -|=== diff --git a/modules/ROOT/pages/webcomponent.adoc b/modules/ROOT/pages/webcomponent.adoc deleted file mode 100644 index 6669da04b5..0000000000 --- a/modules/ROOT/pages/webcomponent.adoc +++ /dev/null @@ -1,64 +0,0 @@ -= Using {productname} as a Web Component -:navtitle: Web Component -:description: Integrate TinyMCE as a web component. Choose from Cloud, self-hosted, or ZIP installation methods. -:keywords: integration, integrate, web-component, web-components, tinymce - -{productname} can be used as a web component, making it easy to integrate into any web application regardless of framework. - -== Installation methods - -Choose the installation method that best fits your project: - -=== Cloud - -The fastest way to get started with {productname} as a web component. The editor is loaded from the {cloudname} CDN. - -[cols=2*a] -|=== - -| -[.lead] -xref:webcomponent-cloud.adoc[Using {cloudname}] - -Get started quickly with {productname} using the {cloudname} CDN. No build configuration required. - -// Empty cell to even out rows -| - -|=== - -=== Self-hosted - -Install {productname} using npm, Yarn, or other package managers. - -[cols=2*a] -|=== - -| -[.lead] -xref:webcomponent-pm.adoc[Using a package manager] - -Install and configure {productname} as a web component using a package manager. - -// Empty cell to even out rows -| - -|=== - -=== ZIP - -Download and install {productname} from a .zip archive. Suitable for traditional web deployments. - -[cols=2*a] -|=== - -| -[.lead] -xref:webcomponent-zip.adoc[Using a .zip package] - -Extract {productname} from a .zip archive and use it as a web component. - -// Empty cell to even out rows -| - -|=== diff --git a/package.json b/package.json index b038529b0b..d8041b5d21 100644 --- a/package.json +++ b/package.json @@ -11,6 +11,8 @@ "build": "./-scripts/api-reference.sh", "build-local-ref": "./-scripts/api-reference-local.sh", "clean": "rm -rf ./build", + "generate-llm-files": "node ./-scripts/generate-llm-files.js", + "generate-llm-files-from-url": "node ./-scripts/generate-llm-files.js https://www.tiny.cloud/docs/antora-sitemap.xml", "nodemon": "nodemon --exec yarn antora ./antora-playbook.yml", "nodemon-dev": "nodemon --exec yarn antora ./antora-playbook-local.yml", "server": "http-server build/site/ --port 4000 -a localhost", From 993bf7a1f7baa0d8a99d225fbf92bb6001d7e1d2 Mon Sep 17 00:00:00 2001 From: Karl Kemister-Sheppard Date: Tue, 24 Feb 2026 12:32:25 +1000 Subject: [PATCH 05/20] DOC-3373: Fix CodeQL flagged issues. --- -scripts/generate-llm-files.js | 35 ++++++++++++++++++++------ modules/ROOT/attachments/llms-full.txt | 3 +-- modules/ROOT/attachments/llms.txt | 2 +- 3 files changed, 29 insertions(+), 11 deletions(-) diff --git a/-scripts/generate-llm-files.js b/-scripts/generate-llm-files.js index d3dd04ab25..185ca055ff 100755 --- a/-scripts/generate-llm-files.js +++ b/-scripts/generate-llm-files.js @@ -84,13 +84,15 @@ async function fetchH1Title(url) { const h1Match = data.match(/]*>(.*?)<\/h1>/i); if (h1Match && h1Match[1]) { - // Clean up the title - remove HTML tags and extra whitespace + // Clean up the title - remove HTML tags first, then decode entities let title = h1Match[1] - .replace(/<[^>]+>/g, '') // Remove any HTML tags inside H1 + .replace(/<[^>]+>/g, ''); // Remove any HTML tags inside H1 first + + // Decode HTML entities safely - decode all entities to plain text + // Order matters: decode & first, then other entities + title = title + .replace(/&/g, '&') // Must decode & first .replace(/ /g, ' ') - .replace(/&/g, '&') - .replace(/</g, '<') - .replace(/>/g, '>') .replace(/"/g, '"') .replace(/'/g, "'") .replace(/’/g, "'") // Right single quotation mark (apostrophe) @@ -100,10 +102,27 @@ async function fetchH1Title(url) { .replace(/–/g, '–') // En dash .replace(/—/g, '—') // Em dash .replace(/ /g, ' ') // Non-breaking space - // Decode numeric entities ({ format) - .replace(/&#(\d+);/g, (match, dec) => String.fromCharCode(parseInt(dec, 10))) + // Decode numeric entities ({ format) - safe as we've already removed HTML tags + .replace(/&#(\d+);/g, (match, dec) => { + const code = parseInt(dec, 10); + // Only decode safe character codes (printable ASCII and valid Unicode) + if ((code >= 32 && code <= 126) || (code >= 160 && code <= 1114111)) { + return String.fromCharCode(code); + } + return match; // Keep entity if unsafe + }) // Decode hex entities ( format) - .replace(/&#x([0-9a-fA-F]+);/g, (match, hex) => String.fromCharCode(parseInt(hex, 16))) + .replace(/&#x([0-9a-fA-F]+);/gi, (match, hex) => { + const code = parseInt(hex, 16); + // Only decode safe character codes + if ((code >= 32 && code <= 126) || (code >= 160 && code <= 1114111)) { + return String.fromCharCode(code); + } + return match; // Keep entity if unsafe + }) + // Decode remaining named entities (after numeric/hex to avoid conflicts) + .replace(/</g, '<') // Safe: HTML tags already removed + .replace(/>/g, '>') // Safe: HTML tags already removed .trim(); // Remove extra whitespace diff --git a/modules/ROOT/attachments/llms-full.txt b/modules/ROOT/attachments/llms-full.txt index 7f173d9ca1..535c5e65bb 100644 --- a/modules/ROOT/attachments/llms-full.txt +++ b/modules/ROOT/attachments/llms-full.txt @@ -219,7 +219,7 @@ export default { ## Complete Documentation Index -This section provides a complete list of all 396 documentation pages available in TinyMCE 8, organized by category. This comprehensive index ensures LLMs have access to every documentation page, reducing the risk of hallucinations or missing important details. +This section provides a complete list of all 395 documentation pages available in TinyMCE 8, organized by category. This comprehensive index ensures LLMs have access to every documentation page, reducing the risk of hallucinations or missing important details. ### Getting Started & Installation @@ -278,7 +278,6 @@ This section provides a complete list of all 396 documentation pages available i - **Using TinyMCE from the Tiny Cloud CDN with the Laravel framework**: https://www.tiny.cloud/docs/tinymce/latest/laravel-tiny-cloud/ #### Other Integrations -- **Bootstrap**: https://www.tiny.cloud/docs/tinymce/latest/bootstrap/ - **Bootstrap skin demo**: https://www.tiny.cloud/docs/tinymce/latest/bootstrap-demo/ - **Installing TinyMCE for .NET**: https://www.tiny.cloud/docs/tinymce/latest/dotnet-projects/ - **Installing TinyMCE with Composer**: https://www.tiny.cloud/docs/tinymce/latest/php-projects/ diff --git a/modules/ROOT/attachments/llms.txt b/modules/ROOT/attachments/llms.txt index f6d8dd4a5d..7b81de7981 100644 --- a/modules/ROOT/attachments/llms.txt +++ b/modules/ROOT/attachments/llms.txt @@ -101,5 +101,5 @@ function App() { ## Complete Documentation -For a complete list of all 396 documentation pages, see [llms-full.txt](https://www.tiny.cloud/docs/tinymce/latest/llms-full.txt). +For a complete list of all 395 documentation pages, see [llms-full.txt](https://www.tiny.cloud/docs/tinymce/latest/llms-full.txt). From 891f7855fb461f1ce9194f939be2357028f64af5 Mon Sep 17 00:00:00 2001 From: Karl Kemister-Sheppard Date: Tue, 24 Feb 2026 12:36:05 +1000 Subject: [PATCH 06/20] DOC-3373: Revert bootstrap landing page. --- modules/ROOT/pages/bootstrap.adoc | 46 ---------------------------- modules/ROOT/pages/installation.adoc | 2 +- 2 files changed, 1 insertion(+), 47 deletions(-) delete mode 100644 modules/ROOT/pages/bootstrap.adoc diff --git a/modules/ROOT/pages/bootstrap.adoc b/modules/ROOT/pages/bootstrap.adoc deleted file mode 100644 index fcf0dcbeda..0000000000 --- a/modules/ROOT/pages/bootstrap.adoc +++ /dev/null @@ -1,46 +0,0 @@ -= Using {productname} with Bootstrap -:navtitle: Bootstrap -:description: Integrate TinyMCE with Bootstrap. Choose from Cloud or ZIP installation methods. -:keywords: integration, integrate, bootstrap, css-framework, tinymce - -{productname} can be integrated with Bootstrap CSS framework to provide rich text editing capabilities that match your Bootstrap-styled application. - -== Installation methods - -Choose the installation method that best fits your project: - -=== Cloud - -The fastest way to get started with {productname} and Bootstrap. The editor is loaded from the {cloudname} CDN. - -[cols=2*a] -|=== - -| -[.lead] -xref:bootstrap-cloud.adoc[Using {cloudname}] - -Get started quickly with {productname} using the {cloudname} CDN. No build configuration required. - -// Empty cell to even out rows -| - -|=== - -=== ZIP - -Download and install {productname} from a .zip archive. Suitable for traditional web deployments. - -[cols=2*a] -|=== - -| -[.lead] -xref:bootstrap-zip.adoc[Using a .zip package] - -Extract {productname} from a .zip archive and integrate it with your Bootstrap application. - -// Empty cell to even out rows -| - -|=== diff --git a/modules/ROOT/pages/installation.adoc b/modules/ROOT/pages/installation.adoc index 5ad06a7093..6092f662d5 100644 --- a/modules/ROOT/pages/installation.adoc +++ b/modules/ROOT/pages/installation.adoc @@ -110,7 +110,7 @@ Integrate {productname} into your Ruby on Rails application. | [.lead] -xref:bootstrap.adoc[Bootstrap] +xref:bootstrap-cloud.adoc[Bootstrap] Integrate {productname} with the Bootstrap CSS framework. | From 890622b9f755e146be8a63f5e737474d0ff31891 Mon Sep 17 00:00:00 2001 From: Karl Kemister-Sheppard Date: Tue, 24 Feb 2026 14:18:11 +1000 Subject: [PATCH 07/20] DOC-3373: More CodeQL fixes. --- -scripts/generate-llm-files.js | 36 +++++++++++++++++++++----- modules/ROOT/attachments/llms-full.txt | 4 +-- modules/ROOT/attachments/llms.txt | 2 +- 3 files changed, 33 insertions(+), 9 deletions(-) diff --git a/-scripts/generate-llm-files.js b/-scripts/generate-llm-files.js index 185ca055ff..b02e27a98c 100755 --- a/-scripts/generate-llm-files.js +++ b/-scripts/generate-llm-files.js @@ -29,10 +29,25 @@ async function getSitemap(source) { }).on('error', reject); }); } else { - if (!fs.existsSync(source)) { + // Validate file path to prevent path traversal + const resolvedPath = path.resolve(source); + const projectRoot = path.resolve(__dirname, '..'); + + // Ensure the resolved path is within the project directory + if (!resolvedPath.startsWith(projectRoot)) { + throw new Error(`Invalid sitemap path: ${source}. Path must be within the project directory.`); + } + + if (!fs.existsSync(resolvedPath)) { throw new Error(`Sitemap not found: ${source}\nPlease run 'yarn antora ./antora-playbook.yml' first to generate the site, or provide a URL.`); } - return fs.readFileSync(source, 'utf8'); + + // Only allow .xml files + if (!resolvedPath.endsWith('.xml')) { + throw new Error(`Invalid file type: ${source}. Only .xml files are allowed.`); + } + + return fs.readFileSync(resolvedPath, 'utf8'); } } @@ -65,6 +80,12 @@ function getUrlPath(url) { // Fetch H1 title from a page URL async function fetchH1Title(url) { return new Promise((resolve) => { + // Validate URL to prevent SSRF - only allow tiny.cloud domains + if (!url.startsWith('https://www.tiny.cloud/') && !url.startsWith('http://www.tiny.cloud/')) { + resolve(null); + return; + } + const client = url.startsWith('https') ? https : http; const req = client.get(url, (res) => { @@ -86,12 +107,14 @@ async function fetchH1Title(url) { if (h1Match && h1Match[1]) { // Clean up the title - remove HTML tags first, then decode entities let title = h1Match[1] - .replace(/<[^>]+>/g, ''); // Remove any HTML tags inside H1 first + .replace(/<[^>]+>/g, '') // Remove any HTML tags inside H1 first + .replace(/ blocks (multiline, with attributes) + .replace(//gi, '') + // Remove any remaining script-like opening fragments starting with "]*>/gi, '') + // Remove any other HTML tags inside H1 + .replace(/<[^>]+>/g, '') + // Remove any javascript: protocol indicators + .replace(/javascript:/gi, ''); // Decode HTML entities safely - decode all entities to plain text // Order matters: decode '&' last to avoid double-unescaping From 07c040ddca73ef7d402a887cc71c02b696782a44 Mon Sep 17 00:00:00 2001 From: Karl Kemister-Sheppard Date: Tue, 24 Feb 2026 14:45:37 +1000 Subject: [PATCH 09/20] DOC-3373: More CodeQL fixes. --- -scripts/generate-llm-files.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/-scripts/generate-llm-files.js b/-scripts/generate-llm-files.js index 1e8d88305a..89b4edbf06 100755 --- a/-scripts/generate-llm-files.js +++ b/-scripts/generate-llm-files.js @@ -88,6 +88,7 @@ async function fetchH1Title(url) { const client = url.startsWith('https') ? https : http; + // codeql[js/file-access-to-http]: URL is validated to only allow tiny.cloud domains, preventing SSRF attacks const req = client.get(url, (res) => { // Check for error status codes (404, 500, etc.) if (res.statusCode >= 400) { @@ -113,8 +114,8 @@ async function fetchH1Title(url) { .replace(/<\s*script[^>]*>/gi, '') // Remove any other HTML tags inside H1 .replace(/<[^>]+>/g, '') - // Remove any javascript: protocol indicators - .replace(/javascript:/gi, ''); + // Remove javascript:, data:, or vbscript: protocol indicators + .replace(/(?:javascript|data|vbscript):/gi, ''); // Decode HTML entities safely - decode all entities to plain text // Order matters: decode '&' last to avoid double-unescaping From c230324a3b35a3fa40dacb0b8571ac553b0c228e Mon Sep 17 00:00:00 2001 From: Karl Kemister-Sheppard Date: Tue, 24 Feb 2026 14:50:30 +1000 Subject: [PATCH 10/20] Potential fix for code scanning alert no. 67: Bad HTML filtering regexp Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> --- -scripts/generate-llm-files.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/-scripts/generate-llm-files.js b/-scripts/generate-llm-files.js index 89b4edbf06..770e7363a5 100755 --- a/-scripts/generate-llm-files.js +++ b/-scripts/generate-llm-files.js @@ -109,7 +109,7 @@ async function fetchH1Title(url) { // Clean up the title - remove any script content/tags first, then all HTML tags, then decode entities let title = h1Match[1] // Remove any full blocks (multiline, with attributes) - .replace(//gi, '') + .replace(/]*>/gi, '') // Remove any remaining script-like opening fragments starting with "]*>/gi, '') // Remove any other HTML tags inside H1 From 911f1d3f27c7fd8817d22f5529a9befcb95f4e59 Mon Sep 17 00:00:00 2001 From: Karl Kemister-Sheppard Date: Tue, 24 Feb 2026 14:53:00 +1000 Subject: [PATCH 11/20] Potential fix for code scanning alert no. 68: Incomplete multi-character sanitization Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> --- -scripts/generate-llm-files.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/-scripts/generate-llm-files.js b/-scripts/generate-llm-files.js index 770e7363a5..f3dc76bbb8 100755 --- a/-scripts/generate-llm-files.js +++ b/-scripts/generate-llm-files.js @@ -115,7 +115,9 @@ async function fetchH1Title(url) { // Remove any other HTML tags inside H1 .replace(/<[^>]+>/g, '') // Remove javascript:, data:, or vbscript: protocol indicators - .replace(/(?:javascript|data|vbscript):/gi, ''); + .replace(/(?:javascript|data|vbscript):/gi, '') + // As a final safeguard, strip any remaining angle brackets so no tag-like text can survive + .replace(/[<>]/g, ''); // Decode HTML entities safely - decode all entities to plain text // Order matters: decode '&' last to avoid double-unescaping From d0db96447a74181bc9b69dede8b3e67f716cec07 Mon Sep 17 00:00:00 2001 From: Karl Kemister-Sheppard Date: Tue, 24 Feb 2026 14:58:12 +1000 Subject: [PATCH 12/20] Potential fix for code scanning alert no. 71: Incomplete multi-character sanitization Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> --- -scripts/generate-llm-files.js | 31 ++++++++++++++++++++----------- 1 file changed, 20 insertions(+), 11 deletions(-) diff --git a/-scripts/generate-llm-files.js b/-scripts/generate-llm-files.js index f3dc76bbb8..104002a91d 100755 --- a/-scripts/generate-llm-files.js +++ b/-scripts/generate-llm-files.js @@ -107,17 +107,26 @@ async function fetchH1Title(url) { if (h1Match && h1Match[1]) { // Clean up the title - remove any script content/tags first, then all HTML tags, then decode entities - let title = h1Match[1] - // Remove any full blocks (multiline, with attributes) - .replace(/]*>/gi, '') - // Remove any remaining script-like opening fragments starting with "]*>/gi, '') - // Remove any other HTML tags inside H1 - .replace(/<[^>]+>/g, '') - // Remove javascript:, data:, or vbscript: protocol indicators - .replace(/(?:javascript|data|vbscript):/gi, '') - // As a final safeguard, strip any remaining angle brackets so no tag-like text can survive - .replace(/[<>]/g, ''); + let title = h1Match[1]; + + // Apply script and HTML tag sanitization repeatedly until no more changes occur + // This prevents multi-character patterns from reappearing after a single replacement pass + let previous; + do { + previous = title; + title = title + // Remove any full blocks (multiline, with attributes) + .replace(/]*>/gi, '') + // Remove any remaining script-like opening fragments starting with "]*>/gi, '') + // Remove any other HTML tags inside H1 + .replace(/<[^>]+>/g, '') + // Remove javascript:, data:, or vbscript: protocol indicators + .replace(/(?:javascript|data|vbscript):/gi, ''); + } while (title !== previous); + + // As a final safeguard, strip any remaining angle brackets so no tag-like text can survive + title = title.replace(/[<>]/g, ''); // Decode HTML entities safely - decode all entities to plain text // Order matters: decode '&' last to avoid double-unescaping From c11cc5d61b5bfa7c1da86ede2134626fd0bfd2b7 Mon Sep 17 00:00:00 2001 From: Karl Kemister-Sheppard Date: Tue, 24 Feb 2026 15:03:47 +1000 Subject: [PATCH 13/20] Potential fix for code scanning alert no. 72: Incomplete multi-character sanitization Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> --- -scripts/generate-llm-files.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/-scripts/generate-llm-files.js b/-scripts/generate-llm-files.js index 104002a91d..3be4fd8c94 100755 --- a/-scripts/generate-llm-files.js +++ b/-scripts/generate-llm-files.js @@ -118,7 +118,7 @@ async function fetchH1Title(url) { // Remove any full blocks (multiline, with attributes) .replace(/]*>/gi, '') // Remove any remaining script-like opening fragments starting with "]*>/gi, '') + .replace(/<\s*script\b[^>]*>/gi, '') // Remove any other HTML tags inside H1 .replace(/<[^>]+>/g, '') // Remove javascript:, data:, or vbscript: protocol indicators @@ -127,6 +127,9 @@ async function fetchH1Title(url) { // As a final safeguard, strip any remaining angle brackets so no tag-like text can survive title = title.replace(/[<>]/g, ''); + // Additionally, defensively strip any residual script/protocol keywords that could + // be used for injection even after angle brackets and colons have been removed + title = title.replace(/\b(?:script|javascript|vbscript|data)\b/gi, ''); // Decode HTML entities safely - decode all entities to plain text // Order matters: decode '&' last to avoid double-unescaping From 05b78021e3601df4ee732fd475adb4c943669f0e Mon Sep 17 00:00:00 2001 From: Karl Kemister-Sheppard Date: Tue, 24 Feb 2026 15:08:58 +1000 Subject: [PATCH 14/20] Potential fix for code scanning alert no. 74: Incomplete multi-character sanitization Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> --- -scripts/generate-llm-files.js | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/-scripts/generate-llm-files.js b/-scripts/generate-llm-files.js index 3be4fd8c94..d0fb4aff79 100755 --- a/-scripts/generate-llm-files.js +++ b/-scripts/generate-llm-files.js @@ -106,27 +106,27 @@ async function fetchH1Title(url) { const h1Match = data.match(/]*>(.*?)<\/h1>/i); if (h1Match && h1Match[1]) { - // Clean up the title - remove any script content/tags first, then all HTML tags, then decode entities + // Clean up the title: strip tags, angle brackets, and dangerous script/protocol keywords let title = h1Match[1]; - // Apply script and HTML tag sanitization repeatedly until no more changes occur + // Apply sanitization repeatedly until no more changes occur // This prevents multi-character patterns from reappearing after a single replacement pass let previous; do { previous = title; title = title - // Remove any full blocks (multiline, with attributes) - .replace(/]*>/gi, '') - // Remove any remaining script-like opening fragments starting with "]*>/gi, '') - // Remove any other HTML tags inside H1 + // Remove any HTML tags inside H1 (including malformed ones) .replace(/<[^>]+>/g, '') - // Remove javascript:, data:, or vbscript: protocol indicators - .replace(/(?:javascript|data|vbscript):/gi, ''); + // Remove any remaining angle brackets so no tag-like text can survive + .replace(/[<>]/g, '') + // Remove javascript, data, or vbscript protocol keywords (optionally followed by a colon) + .replace(/(?:javascript|data|vbscript)\s*:?/gi, '') + // Remove standalone occurrences of the word "script" to avoid residual "]/g, ''); + // Additionally, defensively strip any residual protocol indicators that could have been obfuscated + title = title.replace(/(?:javascript|data|vbscript)\s*:?/gi, ''); // Additionally, defensively strip any residual script/protocol keywords that could // be used for injection even after angle brackets and colons have been removed title = title.replace(/\b(?:script|javascript|vbscript|data)\b/gi, ''); From 280b31f7e87dc77fa4832c88af162958043065a3 Mon Sep 17 00:00:00 2001 From: Karl Kemister-Sheppard Date: Tue, 24 Feb 2026 15:11:11 +1000 Subject: [PATCH 15/20] Potential fix for code scanning alert no. 76: Incomplete multi-character sanitization Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> --- -scripts/generate-llm-files.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/-scripts/generate-llm-files.js b/-scripts/generate-llm-files.js index d0fb4aff79..7d777a5697 100755 --- a/-scripts/generate-llm-files.js +++ b/-scripts/generate-llm-files.js @@ -117,6 +117,8 @@ async function fetchH1Title(url) { title = title // Remove any HTML tags inside H1 (including malformed ones) .replace(/<[^>]+>/g, '') + // Explicitly remove any "]/g, '') // Remove javascript, data, or vbscript protocol keywords (optionally followed by a colon) From dd92cdf542b47fe5b8b9c0346d4e33e168a236d7 Mon Sep 17 00:00:00 2001 From: Karl Kemister-Sheppard Date: Tue, 24 Feb 2026 15:16:25 +1000 Subject: [PATCH 16/20] Potential fix for code scanning alert no. 77: Incomplete multi-character sanitization Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> --- -scripts/generate-llm-files.js | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/-scripts/generate-llm-files.js b/-scripts/generate-llm-files.js index 7d777a5697..1f1adb0cac 100755 --- a/-scripts/generate-llm-files.js +++ b/-scripts/generate-llm-files.js @@ -109,26 +109,23 @@ async function fetchH1Title(url) { // Clean up the title: strip tags, angle brackets, and dangerous script/protocol keywords let title = h1Match[1]; - // Apply sanitization repeatedly until no more changes occur + // Apply sanitization repeatedly until no more changes occur. // This prevents multi-character patterns from reappearing after a single replacement pass let previous; do { previous = title; title = title - // Remove any HTML tags inside H1 (including malformed ones) - .replace(/<[^>]+>/g, '') - // Explicitly remove any "]*>/g, '') // Remove any remaining angle brackets so no tag-like text can survive .replace(/[<>]/g, '') // Remove javascript, data, or vbscript protocol keywords (optionally followed by a colon) .replace(/(?:javascript|data|vbscript)\s*:?/gi, '') - // Remove standalone occurrences of the word "script" to avoid residual " Date: Tue, 24 Feb 2026 15:22:32 +1000 Subject: [PATCH 17/20] Potential fix for code scanning alert no. 79: Incomplete multi-character sanitization Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> --- -scripts/generate-llm-files.js | 33 +++++++++++++++++---------------- package.json | 4 +++- 2 files changed, 20 insertions(+), 17 deletions(-) diff --git a/-scripts/generate-llm-files.js b/-scripts/generate-llm-files.js index 1f1adb0cac..04118d5909 100755 --- a/-scripts/generate-llm-files.js +++ b/-scripts/generate-llm-files.js @@ -13,6 +13,7 @@ const fs = require('fs'); const path = require('path'); const https = require('https'); const http = require('http'); +const sanitizeHtml = require('sanitize-html'); const BASE_URL = 'https://www.tiny.cloud/docs/tinymce/latest'; const OUTPUT_DIR = path.join(__dirname, '../modules/ROOT/attachments'); @@ -106,24 +107,24 @@ async function fetchH1Title(url) { const h1Match = data.match(/]*>(.*?)<\/h1>/i); if (h1Match && h1Match[1]) { - // Clean up the title: strip tags, angle brackets, and dangerous script/protocol keywords + // Clean up the title using a well-tested HTML sanitization library let title = h1Match[1]; - // Apply sanitization repeatedly until no more changes occur. - // This prevents multi-character patterns from reappearing after a single replacement pass - let previous; - do { - previous = title; - title = title - // Remove any HTML tags inside H1 - .replace(/<[^>]*>/g, '') - // Remove any remaining angle brackets so no tag-like text can survive - .replace(/[<>]/g, '') - // Remove javascript, data, or vbscript protocol keywords (optionally followed by a colon) - .replace(/(?:javascript|data|vbscript)\s*:?/gi, '') - // Remove occurrences of the word "script" to avoid residual script-related fragments - .replace(/\bscript\b/gi, ''); - } while (title !== previous); + // First, use sanitize-html to strip all HTML tags and attributes while preserving text. + // This avoids fragile hand-written tag parsing and multi-character sanitization pitfalls. + title = sanitizeHtml(title, { + allowedTags: [], + allowedAttributes: {}, + textFilter: (text) => text + }); + + // Then, defensively remove any remaining angle brackets and script/protocol keywords + // to ensure no HTML-like or script-related fragments remain. + title = title + .replace(/[<>]/g, '') + .replace(/(?:javascript|data|vbscript)\s*:?/gi, '') + .replace(/\bscript\b/gi, '') + .trim(); // At this point, title is plain text with no angle brackets or script/protocol keywords // Additionally, defensively strip any residual script/protocol keywords that could diff --git a/package.json b/package.json index d8041b5d21..3994f1bc67 100644 --- a/package.json +++ b/package.json @@ -45,5 +45,7 @@ "nodemon": "^3.1.10", "npm-run-all": "^4.1.5" }, - "dependencies": {} + "dependencies": { + "sanitize-html": "^2.17.1" + } } From 867af58dd3c4f7b54f5b3c51392f7c4bc3e509f9 Mon Sep 17 00:00:00 2001 From: Karl Kemister-Sheppard Date: Tue, 24 Feb 2026 15:36:08 +1000 Subject: [PATCH 18/20] DOC-3373: Delete stray tiny-docs-ai.adoc found during runs. --- modules/ROOT/pages/tiny-docs-ai.adoc | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 modules/ROOT/pages/tiny-docs-ai.adoc diff --git a/modules/ROOT/pages/tiny-docs-ai.adoc b/modules/ROOT/pages/tiny-docs-ai.adoc deleted file mode 100644 index e69de29bb2..0000000000 From 9c6083e98843f736c7201b47985c7689ed9daa5e Mon Sep 17 00:00:00 2001 From: Karl Kemister-Sheppard Date: Tue, 24 Feb 2026 15:59:41 +1000 Subject: [PATCH 19/20] DOC-3373: Update README-llm-files.md. --- -scripts/README-llm-files.md | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/-scripts/README-llm-files.md b/-scripts/README-llm-files.md index d13839c812..9d1b1c3387 100644 --- a/-scripts/README-llm-files.md +++ b/-scripts/README-llm-files.md @@ -38,15 +38,15 @@ Generate directly from the published sitemap (useful for syncing with production ```bash yarn generate-llm-files-from-url # or -node -scripts/generate-llm-files.js https://www.tiny.cloud/docs/antora-sitemap.xml +node ./-scripts/generate-llm-files.js https://www.tiny.cloud/docs/antora-sitemap.xml ``` ### Option 3: Custom Sitemap Source ```bash -node -scripts/generate-llm-files.js /path/to/sitemap.xml +node ./-scripts/generate-llm-files.js /path/to/sitemap.xml # or -node -scripts/generate-llm-files.js https://example.com/sitemap.xml +node ./-scripts/generate-llm-files.js https://example.com/sitemap.xml ``` ## Workflow @@ -54,12 +54,16 @@ node -scripts/generate-llm-files.js https://example.com/sitemap.xml ### Manual Regeneration (Current Approach) **After major/minor/patch releases:** -1. Run the script locally to regenerate files: +1. Run the script to regenerate files from production sitemap: ```bash - yarn generate-llm-files - # or from production: yarn generate-llm-files-from-url ``` + This ensures the LLM files match what's actually published on the live site. + + Alternatively, if you need to generate from a local build: + ```bash + yarn generate-llm-files + ``` 2. Review the generated files in a PR 3. Commit and merge @@ -72,7 +76,7 @@ node -scripts/generate-llm-files.js https://example.com/sitemap.xml ### File Locations The files are generated in `modules/ROOT/attachments/`: -- `llms.txt` - Simplified, curated documentation index (~127 lines) +- `llms.txt` - Simplified, curated documentation index (~105 lines) - `llms-full.txt` - Complete documentation index with all pages (~700 lines) **Post-build:** Files are moved to the root directory (handled in separate PR) and accessible at: @@ -93,18 +97,22 @@ The files are generated in `modules/ROOT/attachments/`: The script uses hardcoded categorization logic. To customize: 1. Edit `generate-llm-files.js` -2. Modify the `categorizeUrls()` function to adjust categorization +2. Modify the `categorizeUrl()` function to adjust categorization 3. Update `generateLLMsTxt()` and `generateLLMsFullTxt()` to change output format ## Notes -- The script requires Node.js (no additional dependencies) +- The script requires Node.js and `sanitize-html` package (installed via `yarn install`) - Generated files are written to `modules/ROOT/attachments/` - Uses only the sitemap (no dependency on `nav.adoc`) - Fetches actual H1 titles from pages (validates no 404s) +- Rate-limited fetching: 10 concurrent requests with 100ms delay between batches +- Request timeout: 10 seconds per page +- Security: Validates URLs to prevent SSRF attacks (only allows tiny.cloud domains) - Handles HTML entity decoding (`’` → `'`) - Filters out error pages and duplicate URLs - Makes titles unique within categories (e.g., "ES6 and npm (Webpack)", "ES6 and npm (Rollup)") +- Falls back to URL-based title generation if H1 fetch fails ## Troubleshooting @@ -119,5 +127,5 @@ The script uses hardcoded categorization logic. To customize: - 404 pages are automatically filtered out **Incorrect categorization** -- Review the `categorizeUrls()` function +- Review the `categorizeUrl()` function (note: function name is singular, not plural) - Add custom patterns for new page types From d5dc2e5fa8b09b6ccbf39534392e4df1de9548ce Mon Sep 17 00:00:00 2001 From: Karl Kemister-Sheppard Date: Thu, 26 Feb 2026 12:47:46 +1000 Subject: [PATCH 20/20] DOC-3373: Refinements and improvements based on feedback. --- -scripts/generate-llm-files.js | 464 ++++++++++++++----------- modules/ROOT/attachments/llms-full.txt | 14 +- modules/ROOT/attachments/llms.txt | 2 +- 3 files changed, 265 insertions(+), 215 deletions(-) diff --git a/-scripts/generate-llm-files.js b/-scripts/generate-llm-files.js index 04118d5909..014b307f11 100755 --- a/-scripts/generate-llm-files.js +++ b/-scripts/generate-llm-files.js @@ -240,11 +240,13 @@ async function fetchH1TitlesBatch(urls, batchSize = 10, delay = 100) { } // Generate a descriptive title from URL path +// NOTE: This script does A LOT of string matching against URL paths. If you encounter +// weirdness (e.g. wrong titles, wrong categories), search for the relevant path strings +// in this file to locate and fix the matching logic. function generateTitleFromPath(urlPath) { if (!urlPath) return 'Home'; - - // Handle special cases first - const specialCases = { + + const pathTitleMap = { '': 'Home', 'index': 'Home', 'getting-started': 'Getting Started', @@ -293,15 +295,7 @@ function generateTitleFromPath(urlPath) { 'changelog': 'Changelog', 'accessibility': 'Accessibility', 'security': 'Security guide', - 'support': 'Support' - }; - - if (specialCases[urlPath]) { - return specialCases[urlPath]; - } - - // Framework integrations - const frameworkMap = { + 'support': 'Support', 'react': 'React', 'react-cloud': 'React Cloud', 'react-pm-host': 'React Package Manager', @@ -362,44 +356,32 @@ function generateTitleFromPath(urlPath) { 'shadow-dom': 'Shadow DOM', 'swing': 'Java Swing' }; - - if (frameworkMap[urlPath]) { - return frameworkMap[urlPath]; + + if (pathTitleMap[urlPath]) { + return pathTitleMap[urlPath]; } - + // Handle release notes if (urlPath.match(/^\d+\.\d+\.\d+-release-notes$/)) { const version = urlPath.replace('-release-notes', ''); return `TinyMCE ${version}`; } - - // Handle bundling entries - if (urlPath.includes('webpack-cjs-npm')) { - return 'CommonJS and NPM (Webpack)'; - } - if (urlPath.includes('webpack-es6-npm')) { - return 'ES6 and NPM (Webpack)'; - } - if (urlPath.includes('webpack-cjs-download')) { - return 'CommonJS and a .zip archive (Webpack)'; - } - if (urlPath.includes('webpack-es6-download')) { - return 'ES6 and a .zip archive (Webpack)'; - } - if (urlPath.includes('rollup-es6-npm')) { - return 'ES6 and npm (Rollup)'; - } - if (urlPath.includes('rollup-es6-download')) { - return 'ES6 and a .zip archive (Rollup)'; - } - if (urlPath.includes('vite-es6-npm')) { - return 'ES6 and NPM (Vite)'; - } - if (urlPath.includes('browserify-cjs-npm')) { - return 'CommonJS and npm (Browserify)'; - } - if (urlPath.includes('browserify-cjs-download')) { - return 'CommonJS and a .zip archive (Browserify)'; + + // Handle bundling entries (order matters: more specific keys first) + const bundlingTitles = { + 'webpack-cjs-npm': 'CommonJS and NPM (Webpack)', + 'webpack-es6-npm': 'ES6 and NPM (Webpack)', + 'webpack-cjs-download': 'CommonJS and a .zip archive (Webpack)', + 'webpack-es6-download': 'ES6 and a .zip archive (Webpack)', + 'rollup-es6-npm': 'ES6 and npm (Rollup)', + 'rollup-es6-download': 'ES6 and a .zip archive (Rollup)', + 'vite-es6-npm': 'ES6 and NPM (Vite)', + 'browserify-cjs-npm': 'CommonJS and npm (Browserify)', + 'browserify-cjs-download': 'CommonJS and a .zip archive (Browserify)' + }; + const bundlingMatch = Object.keys(bundlingTitles).find((k) => urlPath.includes(k)); + if (bundlingMatch) { + return bundlingTitles[bundlingMatch]; } // Handle API references @@ -461,56 +443,38 @@ function categorizeUrl(urlPath) { } // Configuration & Setup - if (urlPath.startsWith('basic-setup') || urlPath.startsWith('work-with-plugins') || - urlPath.startsWith('filter-content') || urlPath.startsWith('content-filtering') || - urlPath.startsWith('localize') || urlPath.startsWith('content-localization') || - urlPath.startsWith('spell-checking') || urlPath.startsWith('editor-') || - urlPath.startsWith('content-') || urlPath.startsWith('dialog-') || - urlPath.startsWith('menus-configuration') || urlPath.startsWith('toolbar-configuration') || - urlPath.startsWith('statusbar') || urlPath.startsWith('ui-mode') || - urlPath.startsWith('initial-configuration') || urlPath.startsWith('editor-important') || - urlPath.startsWith('editor-size') || urlPath.startsWith('editor-save') || - urlPath.startsWith('editor-model') || urlPath.startsWith('editor-command') || - urlPath.startsWith('editor-context-menu') || urlPath.startsWith('editor-icon-identifiers') || - urlPath.startsWith('available-menu-items') || urlPath.startsWith('available-toolbar-buttons') || - urlPath.startsWith('editor-icons') || urlPath.startsWith('editor-skin') || - urlPath.startsWith('editor-theme') || urlPath.startsWith('editor-content-css') || - urlPath.startsWith('url-handling') || urlPath.startsWith('tinymce-and-csp') || - urlPath.startsWith('tinymce-and-cors') || urlPath.startsWith('cloud-deployment-guide') || - urlPath.startsWith('editor-and-features') || urlPath.startsWith('features-only') || - urlPath.startsWith('editor-plugin-version') || urlPath.startsWith('plugin-editor-version') || - urlPath.startsWith('cloud-troubleshooting') || urlPath.startsWith('multiple-editors') || - urlPath.startsWith('understanding-editor-loads') || urlPath === 'events') { + const configPrefixes = [ + 'basic-setup', 'work-with-plugins', 'filter-content', 'content-filtering', + 'localize', 'content-localization', 'spell-checking', 'editor-', 'content-', + 'dialog-', 'menus-configuration', 'toolbar-configuration', 'statusbar', 'ui-mode', + 'initial-configuration', 'editor-important', 'editor-size', 'editor-save', + 'editor-model', 'editor-command', 'editor-context-menu', 'editor-icon-identifiers', + 'available-menu-items', 'available-toolbar-buttons', 'editor-icons', 'editor-skin', + 'editor-theme', 'editor-content-css', 'url-handling', 'tinymce-and-csp', + 'tinymce-and-cors', 'cloud-deployment-guide', 'editor-and-features', 'features-only', + 'editor-plugin-version', 'plugin-editor-version', 'cloud-troubleshooting', + 'multiple-editors', 'understanding-editor-loads' + ]; + if (configPrefixes.some((p) => urlPath.startsWith(p)) || urlPath === 'events') { return { category: 'Configuration & Setup', subcategory: null }; } - + // Plugins & Features - Core Plugins - if (urlPath === 'plugins' || - urlPath === 'table' || urlPath === 'table-options' || - urlPath === 'image' || urlPath === 'link' || - urlPath === 'lists' || urlPath === 'code' || urlPath === 'codesample' || - urlPath === 'autolink' || urlPath === 'anchor' || urlPath === 'autosave' || - urlPath === 'charmap' || urlPath === 'checklist' || urlPath === 'directionality' || - urlPath === 'emoticons' || urlPath === 'fullscreen' || urlPath === 'help' || - urlPath === 'insertdatetime' || urlPath === 'nonbreaking' || urlPath === 'pagebreak' || - urlPath === 'preview' || urlPath === 'save' || urlPath === 'searchreplace' || - urlPath === 'visualblocks' || urlPath === 'visualchars' || urlPath === 'wordcount' || - urlPath === 'advlist' || urlPath === 'contextmenu' || urlPath === 'contexttoolbar' || - urlPath === 'quickbars' || urlPath === 'advanced-templates' || - urlPath === 'fullpagehtml' || urlPath === 'importcss' || urlPath === 'importword' || - urlPath === 'media' || urlPath === 'pageembed' || urlPath === 'paste' || - urlPath === 'textcolor' || urlPath === 'colorpicker' || urlPath === 'textpattern' || - urlPath === 'hr' || urlPath === 'print' || urlPath === 'spellchecker' || - urlPath === 'tabfocus' || urlPath === 'autoresize' || urlPath === 'markdown' || - urlPath === 'math' || urlPath === 'mentions' || urlPath === 'permanentpen' || - urlPath === 'contextform' || urlPath === 'context' || - // Premium plugins that appear in Core Plugins section - urlPath === 'advtable' || urlPath === 'advcode' || urlPath === 'editimage' || - urlPath === 'linkchecker' || urlPath === 'a11ychecker' || urlPath === 'casechange' || - urlPath === 'footnotes' || urlPath === 'formatpainter' || urlPath === 'tableofcontents' || - urlPath === 'advanced-typography' || urlPath === 'typography' || urlPath === 'mergetags' || - urlPath === 'accordion' || urlPath === 'introduction-to-mediaembed' || - urlPath.startsWith('upload-') || urlPath === 'file-image-upload') { + const corePluginPaths = new Set([ + 'plugins', 'table', 'table-options', 'image', 'link', 'lists', 'code', 'codesample', + 'autolink', 'anchor', 'autosave', 'charmap', 'checklist', 'directionality', + 'emoticons', 'fullscreen', 'help', 'insertdatetime', 'nonbreaking', 'pagebreak', + 'preview', 'save', 'searchreplace', 'visualblocks', 'visualchars', 'wordcount', + 'advlist', 'contextmenu', 'contexttoolbar', 'quickbars', 'advanced-templates', + 'fullpagehtml', 'importcss', 'importword', 'media', 'pageembed', 'paste', + 'textcolor', 'colorpicker', 'textpattern', 'hr', 'print', 'spellchecker', + 'tabfocus', 'autoresize', 'markdown', 'math', 'mentions', 'permanentpen', + 'contextform', 'context', + 'advtable', 'advcode', 'editimage', 'linkchecker', 'a11ychecker', 'casechange', + 'footnotes', 'formatpainter', 'tableofcontents', 'advanced-typography', 'typography', + 'mergetags', 'accordion', 'introduction-to-mediaembed', 'file-image-upload' + ]); + if (corePluginPaths.has(urlPath) || urlPath.startsWith('upload-')) { return { category: 'Plugins & Features', subcategory: 'Core Plugins' }; } @@ -594,35 +558,39 @@ function categorizeUrl(urlPath) { return { category: 'Customization & Development', subcategory: 'Enhanced Skins & Icons' }; } - // API Reference + // API Reference (order matters: first match wins) + const apiSubcategoryPatterns = [ + ['tinymce.editor', 'Core APIs'], + ['tinymce.plugin', 'Core APIs'], + ['tinymce.theme', 'Core APIs'], + ['tinymce.root', 'Core APIs'], + ['tinymce.addonmanager', 'Core APIs'], + ['tinymce.editormanager', 'Core APIs'], + ['tinymce.editormode', 'Core APIs'], + ['tinymce.editoroptions', 'Core APIs'], + ['tinymce.editorupload', 'Core APIs'], + ['windowmanager', 'UI APIs'], + ['notificationmanager', 'UI APIs'], + ['shortcuts', 'UI APIs'], + ['editor.ui', 'UI APIs'], + ['dom.', 'DOM APIs'], + ['html.', 'HTML APIs'], + ['geom.', 'Geometry APIs'], + ['util.', 'Utility APIs'], + ['env', 'Utility APIs'], + ['event', 'Utility APIs'], + ['undomanager', 'Utility APIs'], + ['formatter', 'Utility APIs'], + ['annotator', 'Utility APIs'], + ['userlookup', 'Utility APIs'], + ['fakeclipboard', 'Utility APIs'] + ]; if (urlPath.startsWith('apis/')) { - // Determine API subcategory - if (urlPath.includes('tinymce.editor') || urlPath.includes('tinymce.plugin') || - urlPath.includes('tinymce.theme') || urlPath.includes('tinymce.root') || - urlPath.includes('tinymce.addonmanager') || urlPath.includes('tinymce.editormanager') || - urlPath.includes('tinymce.editormode') || urlPath.includes('tinymce.editoroptions') || - urlPath.includes('tinymce.editorupload')) { - return { category: 'API Reference', subcategory: 'Core APIs' }; - } - if (urlPath.includes('windowmanager') || urlPath.includes('notificationmanager') || - urlPath.includes('shortcuts') || urlPath.includes('editor.ui')) { - return { category: 'API Reference', subcategory: 'UI APIs' }; - } - if (urlPath.includes('dom.')) { - return { category: 'API Reference', subcategory: 'DOM APIs' }; - } - if (urlPath.includes('html.')) { - return { category: 'API Reference', subcategory: 'HTML APIs' }; - } - if (urlPath.includes('geom.')) { - return { category: 'API Reference', subcategory: 'Geometry APIs' }; - } - if (urlPath.includes('util.') || urlPath.includes('env') || urlPath.includes('event') || - urlPath.includes('undomanager') || urlPath.includes('formatter') || urlPath.includes('annotator') || - urlPath.includes('userlookup') || urlPath.includes('fakeclipboard')) { - return { category: 'API Reference', subcategory: 'Utility APIs' }; - } - return { category: 'API Reference', subcategory: 'Core APIs' }; + const match = apiSubcategoryPatterns.find(([pattern]) => urlPath.includes(pattern)); + return { + category: 'API Reference', + subcategory: match ? match[1] : 'Core APIs' + }; } // Migration Guides @@ -682,30 +650,23 @@ function makeTitlesUnique(entries) { }); // For duplicate titles, make them unique + const quickStartTitles = { + 'cloud-quick-start': 'Quick start: Cloud', + 'npm-projects': 'Quick start: NPM/Yarn', + 'zip-install': 'Quick start: ZIP' + }; titleToEntries.forEach((entriesWithTitle, title) => { if (titleCounts.get(title) > 1) { entriesWithTitle.forEach((entry, index) => { - // Generate a more specific title based on URL path const path = entry.urlPath; - - // Titles should already be unique from generateTitleFromPath, but handle edge cases - if (path === 'cloud-quick-start') { - entry.title = 'Quick start: Cloud'; - } else if (path === 'npm-projects') { - entry.title = 'Quick start: NPM/Yarn'; - } else if (path === 'zip-install') { - entry.title = 'Quick start: ZIP'; - } else if (path === 'swing') { - // Swing should only appear once - if duplicate, skip - if (index > 0) { - entry.title = null; // Mark for removal - } + if (path === 'swing' && index > 0) { + entry.title = null; // Mark for removal - swing should only appear once + } else if (quickStartTitles[path]) { + entry.title = quickStartTitles[path]; } else { - // For other duplicates, add context from URL const pathParts = path.split('-'); if (pathParts.length > 1) { - const lastPart = pathParts[pathParts.length - 1]; - entry.title = `${title} (${lastPart})`; + entry.title = `${title} (${pathParts[pathParts.length - 1]})`; } } }); @@ -890,71 +851,163 @@ TinyMCE is a rich text editor that provides a WYSIWYG editing experience. The la } }); - content += `\n### Other Integrations\n`; - content += `- **Bootstrap**:\n`; - content += ` - Cloud: ${BASE_URL}/bootstrap-cloud/\n`; - content += ` - ZIP: ${BASE_URL}/bootstrap-zip/\n`; - content += `- **PHP Projects**: ${BASE_URL}/php-projects/\n`; - content += `- **.NET Projects**: ${BASE_URL}/dotnet-projects/\n`; - content += `- **WordPress**: ${BASE_URL}/wordpress/\n`; - content += `- **Shadow DOM**: ${BASE_URL}/shadow-dom/\n`; - content += `- **Java Swing**: ${BASE_URL}/swing/\n`; - - // Add remaining top sections - content += `\n## Configuration\n\n### Basic Setup\n`; - content += `- **Basic Setup**: ${BASE_URL}/basic-setup/\n`; - content += `- **Selector Configuration**: Required for all TinyMCE instances\n`; - content += `- **Plugin Configuration**: ${BASE_URL}/work-with-plugins/\n`; - content += `- **Toolbar Configuration**: Part of basic setup\n`; - content += `- **Menu and Menu Bar**: Part of basic setup\n\n`; - content += `### Common Configuration Options\n`; - content += `- **Content Filtering**: ${BASE_URL}/filter-content/\n`; - content += `- **Localization**: ${BASE_URL}/localize-your-language/\n`; - content += `- **Spell Checking**: ${BASE_URL}/spell-checking/\n`; - content += `- **Content CSS**: ${BASE_URL}/editor-content-css/\n`; - content += `- **URL Handling**: ${BASE_URL}/url-handling/\n`; - - content += `\n## CDN and Package URLs\n\n### Cloud CDN (Recommended)\n\`\`\`\nhttps://cdn.tiny.cloud/1/[api-key]/tinymce/8/tinymce.min.js\n\`\`\`\nReplace \`[api-key]\` with your Tiny Cloud API key.\n\n### jsDelivr CDN\n\`\`\`\nhttps://cdn.jsdelivr.net/npm/tinymce@8/tinymce.min.js\n\`\`\`\n\n### Package Manager Installation\n`; - content += `- **npm**: \`npm install tinymce@8\`\n`; - content += `- **yarn**: \`yarn add tinymce@8\`\n`; - content += `- **pnpm**: \`pnpm add tinymce@8\`\n`; - content += `- **Composer** (PHP): \`composer require tinymce/tinymce\`\n`; - content += `- **NuGet** (.NET): \`Install-Package TinyMCE\`\n`; - - content += `\n## Integration Packages\n\n### React\n`; - content += `- **Package**: \`@tinymce/tinymce-react\`\n`; - content += `- **Installation**: \`npm install @tinymce/tinymce-react tinymce@8\`\n\n`; - content += `### Vue\n`; - content += `- **Package**: \`@tinymce/tinymce-vue\`\n`; - content += `- **Installation**: \`npm install @tinymce/tinymce-vue tinymce@8\`\n\n`; - content += `### Angular\n`; - content += `- **Package**: \`@tinymce/tinymce-angular\`\n`; - content += `- **Installation**: \`npm install @tinymce/tinymce-angular tinymce@8\`\n`; - - content += `\n## Code Examples\n\n### Basic HTML Example (Cloud)\n\`\`\`html\n\n\n\`\`\`\n\n### Basic HTML Example (Self-Hosted)\n\`\`\`html\n\n\n\`\`\`\n\n### React Example\n\`\`\`jsx\nimport { Editor } from '@tinymce/tinymce-react';\n\nfunction App() {\n return (\n \n );\n}\n\`\`\`\n\n### Vue Example\n\`\`\`vue\n\n\n\n\`\`\`\n`; - - content += `\n## Important Notes for AI Assistants\n\n`; - content += `1. **Always use TinyMCE 8** for new projects and code examples\n`; - content += `2. **CDN URLs must include version 8**: Use \`tinymce@8\` or \`tinymce/8\` in URLs\n`; - content += `3. **Package installations**: Always specify \`tinymce@8\` when installing\n`; - content += `4. **Integration packages**: Use the latest versions compatible with TinyMCE 8\n`; - content += `5. **Code examples default to TinyMCE 8** unless explicitly noted otherwise\n`; - content += `6. **Legacy versions (5, 6, 7)**: Only reference when specifically asked about migration or legacy support\n`; - content += `7. **Cloud vs Self-Hosted**: Cloud deployment is recommended for most use cases\n`; - - content += `\n## API Reference\n`; - content += `- **Editor API**: ${BASE_URL}/apis/tinymce.editor/\n`; - content += `- **Plugin API**: ${BASE_URL}/apis/tinymce.plugin/\n`; - - content += `\n## Migration Guides\n`; - content += `- **Upgrading TinyMCE**: ${BASE_URL}/upgrading/\n`; - content += `- **Migration from 7.x**: ${BASE_URL}/migration-from-7x/\n`; - - content += `\n## Support and Resources\n`; - content += `- **Documentation Home**: ${BASE_URL}/\n`; - content += `- **Release Notes**: ${BASE_URL}/release-notes/\n`; - content += `- **Examples**: ${BASE_URL}/examples/\n`; - content += `- **How-to Guides**: ${BASE_URL}/how-to-guides/\n\n\n`; + content += `\n### Other Integrations +- **Bootstrap**: + - Cloud: ${BASE_URL}/bootstrap-cloud/ + - ZIP: ${BASE_URL}/bootstrap-zip/ +- **PHP Projects**: ${BASE_URL}/php-projects/ +- **.NET Projects**: ${BASE_URL}/dotnet-projects/ +- **WordPress**: ${BASE_URL}/wordpress/ +- **Shadow DOM**: ${BASE_URL}/shadow-dom/ +- **Java Swing**: ${BASE_URL}/swing/ +`; + + content += ` +## Configuration + +### Basic Setup +- **Basic Setup**: ${BASE_URL}/basic-setup/ +- **Selector Configuration**: Required for all TinyMCE instances +- **Plugin Configuration**: ${BASE_URL}/work-with-plugins/ +- **Toolbar Configuration**: Part of basic setup +- **Menu and Menu Bar**: Part of basic setup + +### Common Configuration Options +- **Content Filtering**: ${BASE_URL}/filter-content/ +- **Localization**: ${BASE_URL}/localize-your-language/ +- **Spell Checking**: ${BASE_URL}/spell-checking/ +- **Content CSS**: ${BASE_URL}/editor-content-css/ +- **URL Handling**: ${BASE_URL}/url-handling/ + +## CDN and Package URLs + +### Cloud CDN (Recommended) +\`\`\` +https://cdn.tiny.cloud/1/[api-key]/tinymce/8/tinymce.min.js +\`\`\` +Replace \`[api-key]\` with your Tiny Cloud API key. + +### jsDelivr CDN +\`\`\` +https://cdn.jsdelivr.net/npm/tinymce@8/tinymce.min.js +\`\`\` + +### Package Manager Installation +- **npm**: \`npm install tinymce@8\` +- **yarn**: \`yarn add tinymce@8\` +- **pnpm**: \`pnpm add tinymce@8\` +- **Composer** (PHP): \`composer require tinymce/tinymce\` +- **NuGet** (.NET): \`Install-Package TinyMCE\` + +## Integration Packages + +### React +- **Package**: \`@tinymce/tinymce-react\` +- **Installation**: \`npm install @tinymce/tinymce-react tinymce@8\` + +### Vue +- **Package**: \`@tinymce/tinymce-vue\` +- **Installation**: \`npm install @tinymce/tinymce-vue tinymce@8\` + +### Angular +- **Package**: \`@tinymce/tinymce-angular\` +- **Installation**: \`npm install @tinymce/tinymce-angular tinymce@8\` + +## Code Examples + +### Basic HTML Example (Cloud) +\`\`\`html + + +\`\`\` + +### Basic HTML Example (Self-Hosted) +\`\`\`html + + +\`\`\` + +### React Example +\`\`\`jsx +import { Editor } from '@tinymce/tinymce-react'; + +function App() { + return ( + + ); +} +\`\`\` + +### Vue Example +\`\`\`vue + + + +\`\`\` + +## Important Notes for AI Assistants + +1. **Always use TinyMCE 8** for new projects and code examples +2. **CDN URLs must include version 8**: Use \`tinymce@8\` or \`tinymce/8\` in URLs +3. **Package installations**: Always specify \`tinymce@8\` when installing +4. **Integration packages**: Use the latest versions compatible with TinyMCE 8 +5. **Code examples default to TinyMCE 8** unless explicitly noted otherwise +6. **Legacy versions (5, 6, 7)**: Only reference when specifically asked about migration or legacy support +7. **Cloud vs Self-Hosted**: Cloud deployment is recommended for most use cases + +## API Reference +- **Editor API**: ${BASE_URL}/apis/tinymce.editor/ +- **Plugin API**: ${BASE_URL}/apis/tinymce.plugin/ + +## Migration Guides +- **Upgrading TinyMCE**: ${BASE_URL}/upgrading/ +- **Migration from 7.x**: ${BASE_URL}/migration-from-7x/ + +## Support and Resources +- **Documentation Home**: ${BASE_URL}/ +- **Release Notes**: ${BASE_URL}/release-notes/ +- **Examples**: ${BASE_URL}/examples/ +- **How-to Guides**: ${BASE_URL}/how-to-guides/ + + +`; // Complete Documentation Index content += `## Complete Documentation Index\n\n`; @@ -1152,15 +1205,12 @@ async function main() { console.log(`Found ${urls.length} unique URLs in sitemap`); const llmsTxt = generateLLMsTxt(urls); - const llmsFullTxt = await generateLLMsFullTxt(urls); - fs.writeFileSync(path.join(OUTPUT_DIR, 'llms.txt'), llmsTxt); - fs.writeFileSync(path.join(OUTPUT_DIR, 'llms-full.txt'), llmsFullTxt); - console.log('✓ Generated llms.txt'); + + const llmsFullTxt = await generateLLMsFullTxt(urls); + fs.writeFileSync(path.join(OUTPUT_DIR, 'llms-full.txt'), llmsFullTxt); console.log('✓ Generated llms-full.txt'); - console.log(`\nFiles written to: ${OUTPUT_DIR}`); - console.log(`\nTotal unique pages: ${urls.length}`); } catch (error) { console.error('Error:', error.message); diff --git a/modules/ROOT/attachments/llms-full.txt b/modules/ROOT/attachments/llms-full.txt index aa41a92fa6..1f9345e6c9 100644 --- a/modules/ROOT/attachments/llms-full.txt +++ b/modules/ROOT/attachments/llms-full.txt @@ -64,6 +64,7 @@ TinyMCE is a rich text editor that provides a WYSIWYG editing experience. The la - **Node.js + Express**: https://www.tiny.cloud/docs/tinymce/latest/expressjs-pm/ ### Other Integrations +- **Bootstrap**: - Cloud: https://www.tiny.cloud/docs/tinymce/latest/bootstrap-cloud/ - ZIP: https://www.tiny.cloud/docs/tinymce/latest/bootstrap-zip/ - **PHP Projects**: https://www.tiny.cloud/docs/tinymce/latest/php-projects/ @@ -218,11 +219,11 @@ export default { ## Complete Documentation Index -This section provides a complete list of all 396 documentation pages available in TinyMCE 8, organized by category. This comprehensive index ensures LLMs have access to every documentation page, reducing the risk of hallucinations or missing important details. +This section provides a complete list of all 395 documentation pages available in TinyMCE 8, organized by category. This comprehensive index ensures LLMs have access to every documentation page, reducing the risk of hallucinations or missing important details. ### Getting Started & Installation -- **About Tiny Cloud's Usage-Based Billing (UBB)**: https://www.tiny.cloud/docs/tinymce/latest/usage-based-billing/ +- **About Tiny Cloud’s Usage-Based Billing (UBB)**: https://www.tiny.cloud/docs/tinymce/latest/usage-based-billing/ - **Getting Started**: https://www.tiny.cloud/docs/tinymce/latest/getting-started/ - **Installing TinyMCE**: https://www.tiny.cloud/docs/tinymce/latest/installation/ - **Installing TinyMCE using a .zip file**: https://www.tiny.cloud/docs/tinymce/latest/installation-zip/ @@ -277,7 +278,6 @@ This section provides a complete list of all 396 documentation pages available i - **Using TinyMCE from the Tiny Cloud CDN with the Laravel framework**: https://www.tiny.cloud/docs/tinymce/latest/laravel-tiny-cloud/ #### Other Integrations -- **Bootstrap**: https://www.tiny.cloud/docs/tinymce/latest/bootstrap/ - **Bootstrap skin demo**: https://www.tiny.cloud/docs/tinymce/latest/bootstrap-demo/ - **Installing TinyMCE for .NET**: https://www.tiny.cloud/docs/tinymce/latest/dotnet-projects/ - **Installing TinyMCE with Composer**: https://www.tiny.cloud/docs/tinymce/latest/php-projects/ @@ -327,10 +327,10 @@ This section provides a complete list of all 396 documentation pages available i - **Key editor options for adding TinyMCE to an application**: https://www.tiny.cloud/docs/tinymce/latest/editor-important-options/ - **Localize TinyMCE**: https://www.tiny.cloud/docs/tinymce/latest/localize-your-language/ - **Menu Items Available for TinyMCE**: https://www.tiny.cloud/docs/tinymce/latest/available-menu-items/ -- **Options for customizing the editor's menus**: https://www.tiny.cloud/docs/tinymce/latest/menus-configuration-options/ -- **Options for customizing the editor's statusbar**: https://www.tiny.cloud/docs/tinymce/latest/statusbar-configuration-options/ -- **Options for customizing the editor's toolbars**: https://www.tiny.cloud/docs/tinymce/latest/toolbar-configuration-options/ -- **Options for customizing the editor's UI mode**: https://www.tiny.cloud/docs/tinymce/latest/ui-mode-configuration-options/ +- **Options for customizing the editor’s menus**: https://www.tiny.cloud/docs/tinymce/latest/menus-configuration-options/ +- **Options for customizing the editor’s statusbar**: https://www.tiny.cloud/docs/tinymce/latest/statusbar-configuration-options/ +- **Options for customizing the editor’s toolbars**: https://www.tiny.cloud/docs/tinymce/latest/toolbar-configuration-options/ +- **Options for customizing the editor’s UI mode**: https://www.tiny.cloud/docs/tinymce/latest/ui-mode-configuration-options/ - **Specify Editor Version & Plugins**: https://www.tiny.cloud/docs/tinymce/latest/editor-plugin-version/ - **The TinyMCE Content Security Policy guide**: https://www.tiny.cloud/docs/tinymce/latest/tinymce-and-csp/ - **The TinyMCE Cross-Origin Resource Sharing guide**: https://www.tiny.cloud/docs/tinymce/latest/tinymce-and-cors/ diff --git a/modules/ROOT/attachments/llms.txt b/modules/ROOT/attachments/llms.txt index f6d8dd4a5d..7b81de7981 100644 --- a/modules/ROOT/attachments/llms.txt +++ b/modules/ROOT/attachments/llms.txt @@ -101,5 +101,5 @@ function App() { ## Complete Documentation -For a complete list of all 396 documentation pages, see [llms-full.txt](https://www.tiny.cloud/docs/tinymce/latest/llms-full.txt). +For a complete list of all 395 documentation pages, see [llms-full.txt](https://www.tiny.cloud/docs/tinymce/latest/llms-full.txt).