Skip to content

Commit cc61fbe

Browse files
committed
fix(Docs): add pretty rendering for tables
1 parent bfc6c3d commit cc61fbe

File tree

4 files changed

+67
-5
lines changed

4 files changed

+67
-5
lines changed

admin/app/services/docs_service.ts

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,24 @@ export class DocsService {
115115
class: { type: String }
116116
}
117117
},
118+
table: {
119+
render: 'Table',
120+
},
121+
thead: {
122+
render: 'TableHead',
123+
},
124+
tbody: {
125+
render: 'TableBody',
126+
},
127+
tr: {
128+
render: 'TableRow',
129+
},
130+
th: {
131+
render: 'TableHeader',
132+
},
133+
td: {
134+
render: 'TableCell',
135+
},
118136
},
119137
}
120138
}

admin/docs/home.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -46,11 +46,11 @@ Or explore the **[Getting Started Guide](/docs/getting-started)** for a walkthro
4646

4747
| I want to... | Go here |
4848
|--------------|---------|
49-
| Download more content | [Install Apps](/apps) |
50-
| Add Wikipedia/reference content | [ZIM Manager](/settings/zim-manager) |
51-
| Download map regions | [Maps Manager](/settings/maps-manager) |
52-
| Check for updates | [System Update](/settings/updates) |
53-
| View system status | [Settings](/settings) |
49+
| Download more content | [Install Apps](/apps) |
50+
| Add Wikipedia/reference content | [ZIM Manager](/settings/zim-manager) |
51+
| Download map regions | [Maps Manager](/settings/maps-manager) |
52+
| Check for updates | [System Update](/settings/updates) |
53+
| View system status | [Settings](/settings) |
5454

5555
---
5656

admin/inertia/components/MarkdocRenderer.tsx

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import Markdoc from '@markdoc/markdoc'
33
import { Heading } from './markdoc/Heading'
44
import { List } from './markdoc/List'
55
import { ListItem } from './markdoc/ListItem'
6+
import { Table, TableHead, TableBody, TableRow, TableHeader, TableCell } from './markdoc/Table'
67

78
// Custom components for Markdoc tags
89
const Callout = ({
@@ -36,6 +37,12 @@ const components = {
3637
Heading,
3738
List,
3839
ListItem,
40+
Table,
41+
TableHead,
42+
TableBody,
43+
TableRow,
44+
TableHeader,
45+
TableCell,
3946
}
4047

4148
interface MarkdocRendererProps {
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
export function Table({ children }: { children: React.ReactNode }) {
2+
return (
3+
<div className="overflow-x-auto my-6">
4+
<table className="min-w-full divide-y divide-gray-300 border border-gray-300">
5+
{children}
6+
</table>
7+
</div>
8+
)
9+
}
10+
11+
export function TableHead({ children }: { children: React.ReactNode }) {
12+
return <thead className="bg-gray-50">{children}</thead>
13+
}
14+
15+
export function TableBody({ children }: { children: React.ReactNode }) {
16+
return <tbody className="divide-y divide-gray-200 bg-white">{children}</tbody>
17+
}
18+
19+
export function TableRow({ children }: { children: React.ReactNode }) {
20+
return <tr>{children}</tr>
21+
}
22+
23+
export function TableHeader({ children }: { children: React.ReactNode }) {
24+
return (
25+
<th className="px-6 py-3 text-left text-sm font-semibold text-gray-900 border-r border-gray-300 last:border-r-0">
26+
{children}
27+
</th>
28+
)
29+
}
30+
31+
export function TableCell({ children }: { children: React.ReactNode }) {
32+
return (
33+
<td className="px-6 py-4 text-sm text-gray-700 border-r border-gray-200 last:border-r-0">
34+
{children}
35+
</td>
36+
)
37+
}

0 commit comments

Comments
 (0)