You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CLAUDE.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,7 +6,7 @@ An interactive reference for ECMA-376 (Office Open XML) built by the [SuperDoc](
6
6
7
7
## Why This Exists
8
8
9
-
The official ECMA-376 spec is 5,000+ pages. Most of it you'll never need, and the parts you do need often omit critical rendering details that only surface when you compare against Word's actual behavior. This site fills that gap with implementation notes from building SuperDoc — a document editor that renders OOXML natively in the browser.
9
+
The official ECMA-376 spec is 5,000+ pages. Most of it you'll never need, and the parts you do need often omit critical rendering details that only surface when you compare against Word's actual behavior. This site fills that gap with implementation notes from building SuperDoc — a document engine that renders OOXML natively in the browser.
10
10
11
11
This is also how people discover SuperDoc. By sharing what we've learned, we position ourselves as the OOXML experts. Every page should reflect that authority: practical, specific, from-experience.
12
12
@@ -97,7 +97,7 @@ The XML you provide is wrapped in a minimal `w:document > w:body` structure auto
97
97
98
98
## MCP Server
99
99
100
-
Cloudflare Worker exposing three MCP tools for AI-powered spec search:
100
+
Cloudflare Worker exposing three MCP tools for semantic spec search:
101
101
102
102
-`search_ecma_spec` — semantic vector search across 18,000+ spec chunks
103
103
-`get_section` — fetch a specific section by ID (e.g., "17.3.1.24")
Copy file name to clipboardExpand all lines: apps/web/public/llms.txt
+2-2Lines changed: 2 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,7 @@
2
2
3
3
> The OOXML spec, explained by people who actually implemented it.
4
4
5
-
ooxml.dev is an interactive reference for ECMA-376 (Office Open XML), the standard behind .docx, .xlsx, and .pptx files. It features live previews, real-world implementation gotchas, and AI-powered spec search. Built by the SuperDoc team (https://www.superdoc.dev).
5
+
ooxml.dev is an interactive reference for ECMA-376 (Office Open XML), the standard behind .docx, .xlsx, and .pptx files. It features live previews, real-world implementation gotchas, and semantic spec search. Built by the SuperDoc team (https://www.superdoc.dev).
6
6
7
7
## Main Pages
8
8
@@ -36,4 +36,4 @@ The ooxml.dev MCP server provides AI assistants with access to the ECMA-376 spec
36
36
37
37
## About
38
38
39
-
ooxml.dev is built and maintained by the SuperDoc team (https://www.superdoc.dev). SuperDoc is a document engine that implements the OOXML specification. The content on ooxml.dev comes from real-world experience building a full OOXML renderer and editor.
39
+
ooxml.dev is built and maintained by the SuperDoc team (https://www.superdoc.dev). SuperDoc is a document engine that implements the OOXML specification. The content on ooxml.dev comes from real-world experience building a full OOXML document engine.
text: "This reference is actively being expanded. We're adding new sections, examples, and implementation notes regularly. Check our [GitHub](https://github.com/superdoc-dev/ooxml-dev) for updates and how to contribute.",
31
+
text: "This reference is actively being expanded. New sections, examples, and implementation notes land regularly. Check the [GitHub](https://github.com/superdoc-dev/ooxml-dev) for updates and how to contribute.",
32
32
},
33
33
{type: "heading",level: 2,text: "What's Different Here"},
34
34
{
@@ -502,7 +502,7 @@ w:rPr (run properties)
502
502
{type: "heading",level: 2,text: "Alignment with Bidi"},
503
503
{
504
504
type: "paragraph",
505
-
text: 'The `w:jc` element uses logical values `start` and `end` that flip based on paragraph direction. `start` means the leading edge: left for LTR, right for RTL. `end` means the trailing edge. The values `left`, `right`, and `center` are always physical and don\'t flip. Arabic justify variants (`lowKashida`, `mediumKashida`, `highKashida`) extend joiners between characters instead of adding word spacing.',
505
+
text: "The `w:jc` element uses logical values `start` and `end` that flip based on paragraph direction. `start` means the leading edge: left for LTR, right for RTL. `end` means the trailing edge. The values `left`, `right`, and `center` are always physical and don't flip. Arabic justify variants (`lowKashida`, `mediumKashida`, `highKashida`) extend joiners between characters instead of adding word spacing.",
506
506
},
507
507
{
508
508
type: "preview",
@@ -655,7 +655,7 @@ w:rPr (run properties)
655
655
type: "note",
656
656
noteType: "warning",
657
657
title: "start/end are logical, left/right are physical",
658
-
text: "`jc=\"start\"` flips with direction; `jc=\"left\"` does not. Don't resolve `start` → `left` during import — you'll lose the logical intent. Same applies to `w:ind start`/`end` attributes.",
658
+
text: '`jc="start"` flips with direction; `jc="left"` does not. Don\'t resolve `start` → `left` during import — you\'ll lose the logical intent. Same applies to `w:ind start`/`end` attributes.',
659
659
app: "Word",
660
660
},
661
661
{
@@ -669,22 +669,38 @@ w:rPr (run properties)
669
669
type: "table",
670
670
headers: ["Element","Parent","Description"],
671
671
rows: [
672
-
["`w:bidi`","`w:pPr`","Paragraph base direction — sets RTL layout for indentation, alignment, tabs"],
672
+
[
673
+
"`w:bidi`",
674
+
"`w:pPr`",
675
+
"Paragraph base direction — sets RTL layout for indentation, alignment, tabs",
676
+
],
673
677
["`w:rtl`","`w:rPr`","Run reading order — right-to-left character ordering"],
674
678
["`w:cs`","`w:rPr`","Complex script flag — forces complex script font/size"],
675
-
["`w:bidi`","`w:sectPr`","Section layout direction — page-level RTL (separate from paragraph bidi)"],
679
+
[
680
+
"`w:bidi`",
681
+
"`w:sectPr`",
682
+
"Section layout direction — page-level RTL (separate from paragraph bidi)",
0 commit comments