MDX Publishing Software
Technical content publishing and management platform based on the MDX format and AI.
Introduction
Multilingual content management in modern organizations faces a growing paradox: as volume and linguistic diversity increase, traditional solutions increasingly reveal their limitations. Content teams produce technical documentation, blog articles, product specifications, and web pages in multiple languages, but the tools at their disposal struggle to keep pace. The result is progressive fragmentation: content silos form between languages, versions become desynchronized, duplicated information diverges, and maintaining consistency becomes a logistical nightmare. Each update to source content must be manually replicated across all languages, a process prone to errors, omissions, and delays. The multiplication of publication channels — web, documentation, PDF, API — adds another layer of complexity: the same content must be produced, adapted, and maintained on each channel, often with different tools and formats.
Traditional CMS platforms like WordPress, Drupal, or Joomla were designed in an era when web content was mostly monolingual, static, and simple. Their relational database model stores content in tables with separate fields per language, which works for a limited number of languages but becomes unmanageable beyond three or four. Translation management is often an afterthought, integrated via extensions or plugins that add complexity without solving fundamental problems: no version traceability across languages, no differentiated validation workflow per language, no fine-grained management of shared or translated content. For technical content, these CMS are even less suitable: they do not natively support formats like Markdown, source code, or technical diagrams. Technical writing requires enriched editing environments — syntax highlighting, mathematical formula preview, diagram rendering, code block management — that classic WYSIWYG editors do not provide. Performance is another weakness: a CMS like WordPress relies on PHP execution and SQL queries on each request, resulting in poor loading times, scaling difficulties, and high hosting costs as traffic increases. Dependence on third-party extensions creates security, compatibility, and maintenance problems: a translation extension update can break the site, an outdated SEO plugin can open a vulnerability, an unmaintained theme can block migration to a new version.
The vision of this project is radically different: content is no longer stored in a database but in files — MDX files, specifically. MDX is an extension of Markdown that allows embedding JSX components directly in the text, offering the expressive power of React without leaving the writing environment. This approach has decisive advantages. Content becomes versionable: each modification is tracked by Git, each version is preserved, each author is identified. Content becomes portable: an MDX file can be opened, edited, and processed by any tool, without depending on a proprietary CMS. Content becomes programmable: React components can be imported into the text to create visualizations, forms, interactive charts, or function calls. Translations are treated as structured data, not modified copies: each content has its source version in a primary language, and translations are stored in associated files with synchronization metadata that indicate when a translation is up to date or outdated. This separation between substance (MDX content) and form (React components, styles, layout) enables maximum reuse and minimal maintenance.
The publishing software architecture relies on a build pipeline that transforms MDX files into optimized HTML pages. The starting point is a directory of source files organized by language and category: `src/content/fr/docs/`, `src/content/en/docs/`, `src/content/fr/blog/`, etc. Each MDX file contains editorial content enriched with metadata in its header (YAML frontmatter): title, description, publication date, keywords, language, validation status, author, and version. The build pipeline, orchestrated by Next.js, reads all files, generates static pages with ISR (Incremental Static Regeneration), optimizes images, produces multilingual sitemaps, injects SEO metadata, and deploys the result to a CDN. This pipeline is fully automated and runs on each commit via continuous integration. The result is a static website with CDN speed, optimal Core Web Vitals performance, perfect search engine indexing, and incremental updates without full rebuilds.
The MDX editing environment is designed to reconcile the power of text format with the comfort of a modern editor. Writing is done in an enriched code editor — CodeMirror or Monaco — with Markdown and JSX syntax highlighting, autocompletion of available components, section folding, and contextual toolbar for common actions. Real-time preview displays the final rendered content in an adjacent or overlaid panel, with React components executed and styled as they will be in production. Custom components — syntax-highlighted code snippets, Mermaid diagrams, data tables, interactive maps, function calls — are available via a component palette that writers can drag and drop into their text. The AI assistant, integrated via an API, offers writing suggestion features: sentence completion, reformulation, summary generation, spelling and stylistic correction, and tone optimization for the target audience. The writer is never disconnected from context: the editor displays content status (draft, under review, validated, published), current Git version, associated review comments, and real-time SEO quality metrics.
The editorial workflow is at the heart of the publishing software. It recognizes that quality content production is not an isolated act but a collaborative process involving several roles: writer, reviewer, validator, translator, editor. The workflow is modeled as a state machine with explicit transitions. Content begins in draft state, where only its author can modify it. The writer submits content for review, transitioning it to in-review state. Designated reviewers receive a notification and can comment on the content, suggest modifications, and request corrections. Content then moves to validation, where a validator — typically an editorial manager or business expert — checks compliance with quality standards, technical accuracy, and alignment with content strategy. Once validated, content can be scheduled for publication: a publication date is assigned, and on that date, the build pipeline automatically executes to integrate the content into the production site. Each transition is tracked in Git history: who did what, when, with what validation. The notification system alerts relevant participants at each step. Review deadlines are configurable and can be tracked via a dashboard.
The multilingual strategy of the publishing software is based on the principle that a translation is not a copy but a linked data entity. Each source content is written in a primary language — typically French or English — and stored in an MDX file with a unique identifier. Translations are separate MDX files, placed in target language directories, and linked to the source file via a `translationOf: <source-id>` metadata field. This linking allows the system to track each translation's synchronization status: if the source content is modified, all its translations are marked as outdated in the dashboard, and translators receive an alert for required updates. Each translation file's frontmatter contains enriched metadata: target language, quality level (human-reviewed, machine translation, draft), last update date, and source version at time of translation. Translators have a comparative view that displays source and translation side by side, with diff highlighting when the source has evolved. The AI assistant can propose first-pass automatic translations, which are then reviewed and corrected by a human translator. Language routing is automated: the site automatically serves the correct language version based on browser preference, with a configurable fallback mechanism for partially translated languages.
Technical SEO is fully automated and integrated into the build pipeline, eliminating the need for external plugins or extensions. Each generated page automatically receives its metadata tags: customizable SEO title, meta description, Open Graph tags for social media sharing, and Twitter Cards tags. Hreflang tags are automatically generated from the translation file structure, indicating to search engines which language version to serve each user. Canonical URLs are defined to avoid duplicate content across languages. JSON-LD structured data is injected into each page according to its type: Article for blog posts, TechArticle for technical documentation, FAQ for question-and-answer pages, BreadcrumbList for breadcrumbs, Organization for company information. The XML sitemap is automatically generated at each build, including all pages in all languages with their last modification dates and priority. The robots.txt file is dynamically configured. SEO performance is continuously audited via Lighthouse integrated into the CI/CD pipeline, with alerts if regressions are detected. Redirects and custom URLs are managed via a versioned Git configuration file.
Performance is a first-class design objective, not a secondary consideration. The publishing software architecture is designed to achieve and maintain perfect Core Web Vitals scores — LCP (Largest Contentful Paint) under 2.5 seconds, FID (First Input Delay) under 100 milliseconds, CLS (Cumulative Layout Shift) under 0.1. These performances are achieved through several combined mechanisms. Static Site Generation (SSG) produces pre-generated HTML pages at build time, served instantly from a CDN without server-side computation wait. Incremental Static Regeneration (ISR) allows updating a specific page without rebuilding the entire site: when content is modified, only the corresponding page is regenerated, in seconds. Images are automatically optimized by the build pipeline: conversion to WebP and AVIF, resizing to formats adapted to each viewport, lazy loading with placeholder, and multiple source generation for Retina displays. React component loading is optimized through automatic code splitting, lazy loading of non-visible components, and pre-resolution of critical dependencies. The CDN distributes static content across a global network of nodes, guaranteeing minimal latency regardless of the user's geographic location.
Git workflows constitute the underlying infrastructure of the entire editorial process. Git is not just a versioning tool: it is the backbone of the collaborative workflow. Each content under writing is the subject of a dedicated branch, automatically created when the writer begins a new draft. The writer works on their branch, makes regular commits with descriptive messages, and pushes modifications to the remote repository. When content is ready for review, a Pull Request (PR) is opened toward the main branch. The PR automatically triggers pre-validation hooks: spell checking, MDX linting, SEO metadata validation, internal link checking, readability analysis, and automated test execution. Reviewers can comment on each line of the file directly in the PR interface, propose modifications via suggestions, and request changes before approving. The complete revision history is preserved: each comment, each accepted or rejected suggestion, each file version is tracked. Once the PR is approved and merged, the CI/CD pipeline executes: site build, integration test execution, deployment to the staging environment for final validation, then production deployment after manual or automatic approval depending on configuration. This workflow guarantees that no content is published without having been reviewed, validated, and tested — a rigor impossible to achieve with traditional CMS.
Use cases for the publishing software cover a broad spectrum of technical content needs. Technical documentation is the primary use case: user manuals, quick start guides, API references, tutorials, installation guides. The MDX format allows embedding executable code examples, architecture diagrams, configuration tables, and interactive function calls. Each documentation page can be versioned by product, by software version, by language, with automatic navigation between versions. The technical blog benefits from the same infrastructure: in-depth articles, case studies, comparisons, feedback reports, with the ability to enrich each article with interactive components (charts, demos, live code snippets). Versioned content management allows scheduling articles, managing series, and proposing related articles by semantic similarity. The multilingual showcase site for technology companies uses the same engine to manage product pages, feature pages, pricing pages, customer case studies, and public API documentation. Each page is available in all languages, with clean URLs and perfect indexing. API documentation, finally, can be generated from MDX files and enriched with OpenAPI specifications, code examples in multiple languages, and interactive SDK clients.
The benefits of this approach compared to traditional CMS are considerable and measurable. Performance is incomparably superior: a static site served by a CDN loads in 200 to 500 milliseconds, compared to 2 to 5 seconds for a typical WordPress site. Built-in version control brings complete peace of mind: every version of content is preserved, every modification is tracked, every conflict is managed by Git, and reverting to a previous version is instantaneous. The rigorous workflow imposed by PRs and validations guarantees a consistent quality level, eliminating unreviewed publications, content errors, and cross-language inconsistencies. Maintainability is radically improved: no database to administer, no plugins to update, no migrations to perform. Security is enhanced: a static site has no server attack surface, no database to expose, no web administration to protect. Scalability is infinite for static content: the CDN absorbs any traffic spike without degradation. Infrastructure cost is reduced to static file hosting, a few euros per month, compared to dozens or hundreds of euros for a dynamic CMS. Content portability is total: MDX files can be exported, converted, or migrated to any other system without data loss or proprietary format.
Evolution prospects for the publishing software are promising. Headless CMS integration is the first major evolution planned: the software would expose its content via REST and GraphQL APIs, allowing separate front-end applications to consume content without depending on the Next.js render engine. This headless architecture would open the way to native mobile apps, interactive kiosks, dynamic displays, and voice assistants consuming the same content as the website. The Content API would standardize content access with filters by language, category, status, and version, facilitating integration with third-party systems like CRM, ERP, or e-learning platforms. Real-time collaboration is a natural evolution of the editorial workflow: writers could work simultaneously on the same MDX file, with paragraph locking, visible cursors, real-time suggestions, and shared modification history, modeled on Google Docs but applied to Git-versioned MDX. Advanced AI integration would extend assistance capabilities: automatic multilingual summary generation, tag and category suggestion through semantic analysis, proactive detection of cross-language inconsistencies, automatic SEO metadata optimization through historical performance learning, and content variant generation for A/B testing. Predictive analysis would enable recommending topics to cover based on uncovered search queries, existing documentation gaps, and market trends.
Accessibility and inclusion are natively integrated into the publishing software architecture, not added as a corrective layer. The build pipeline automatically generates a valid hierarchical heading structure (h1 to h6), alt attributes on all images from their captions, ARIA labels on interactive components, and color contrasts conforming to WCAG (Web Content Accessibility Guidelines) level AA. Custom components are subject to automated accessibility tests via axe-core integrated into the CI/CD pipeline, with zero tolerance for critical violations. Keyboard navigation is guaranteed across all pages, with visible focus indicators and logical tab order. Multilingual versions also include language declarations in HTML attributes, allowing screen readers to adapt pronunciation. Estimated reading times, automatic glossaries, and AI-generated executive summaries improve comprehension for all readers. Accessibility is not a regulatory constraint but a quality criterion integrated into every step of content production.
Impact measurement and content analysis constitute a decision-making pillar of the publishing software. Each published page is tracked via an integrated analytics dashboard that aggregates performance metrics: page views, average reading time, bounce rate, traffic sources, SEO rankings, and conversions. These metrics are cross-referenced with language data: what is the adoption rate per language? Which topics perform best in each market? Which translations generate the most engagement? Results feed a continuous improvement cycle: top-performing content is identified as models, gaps are detected through semantic analysis of unsatisfied queries, and new topic suggestions are automatically generated. A/B testing is natively supported: a content variant can be offered to a user segment, and performances are statistically compared before global deployment. This feedback loop transforms content publishing from a linear process — write, publish, forget — into an iterative improvement cycle driven by data.
Integration with the organization's existing ecosystem is ensured by standardized connectors. The publishing software exposes webhooks to notify third-party systems of content publication, modification, or deletion events. A Slack connector notifies teams of new reviews, validations, and publications. n8n workflows can orchestrate complex chains: upon publication of a new documentation version, trigger the update of corresponding support tickets, send a notification to affected customers, and update the internal knowledge base. Integration with existing headless CMS enables progressive migration: the new system can coexist with the old one via a unified API layer, with content migrated one by one without service disruption. User management and permissions are delegated to the organization's identity provider via OAuth 2.0 and OpenID Connect, allowing use of existing accounts and centralized access management.
Conclusion
This MDX publishing software represents a break from the traditional CMS approach. By placing content at the heart of the system — in versioned files, expressed in a format as powerful as it is portable — and by automating the entire pipeline from writing to publication, it offers technical content teams a platform equal to modern challenges: performance, multilingual, collaborative, secure, and scalable. The combination of MDX, Git, Next.js, and AI creates an environment where content quality is no longer compromised by the technical limitations of the publishing tool. This MDX publishing software is not just a CMS: it is a complete technical knowledge management infrastructure, designed for teams that demand the best from their content and their tools.
Objectives
- 1Create a rich MDX editor with real-time preview
- 2Integrate AI assistants for writing and reviewing
- 3Automate the multi-format publishing pipeline
- 4Provide version management and editorial workflows
- 5Ensure accessibility and performance of published content
Technical Architecture
Next.js application with real-time MDX editor (CodeMirror/Monaco), custom render engine, and publishing API. The AI assistant is interfaced via API for writing, reviewing, and optimization. Automated build pipeline for multi-format exports.
Technologies
Next.js
Application framework and rendering
MDX
Content format with embedded React components
CodeMirror
Rich text editor with syntax highlighting
Claude
LLM for writing assistance
Puppeteer
PDF generation from web rendering