Skip to content

Commit 7e681b9

Browse files
standardize styling and css (#17)
* standardize styling and css * Run prettier * format with prettier * no var rule * test lint staged * test lint staged * test lint staged * test lint staged * checkpoint * test lint staged * checkpoint * checkpoint * checkpoint * checkpoint * checkpoint * update vscode settings --------- Co-authored-by: Onur Solmaz <[email protected]>
1 parent daf7a38 commit 7e681b9

21 files changed

+874
-465
lines changed

.github/workflows/build.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,4 +76,4 @@ jobs:
7676

7777
- name: Check linting
7878
working-directory: ./typescript
79-
run: npm run lint:check
79+
run: npm run lint

typescript/README.md

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -244,20 +244,23 @@ MIT
244244

245245
- [x] setup eslint
246246
- [x] improve tsconfig
247-
- [ ] setup lint staged and husky
248-
- [ ] setup prettier
249-
- [ ] standardize styling (css)
250-
- [ ] fix styling for elements
251-
- [ ] headings
252-
- [ ] paragraph
253-
- [ ] code
254-
- [ ] table
247+
- [x] setup lint staged and husky
248+
- [x] setup prettier
249+
- [x] standardize styling (css)
250+
- [x] fix styling for elements
251+
- [x] headings
252+
- [x] paragraph
253+
- [x] code
254+
- [x] table
255255
- [ ] todo?
256-
- [ ] equation
256+
- [x] equation
257257
- [ ] image
258-
- [ ] blockquote
259-
- fix ts and eslint errors in these dirs and remove from ignore list of ts and eslint
258+
- [x] blockquote
259+
- [] fix ts and eslint errors in these dirs and remove from ignore list of ts and eslint
260260
```
261261
"**/generated/**",
262262
"src/serialization/**",
263263
```
264+
- [] setup up bumpp: https://www.npmjs.com/package/bumpp
265+
- [] migrate test runner to vitest
266+
- [] move vite app to typescript root examples dir

typescript/eslint.config.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ module.exports = [
4141
import: importPlugin,
4242
},
4343
rules: {
44+
"no-var": ["warn"],
4445
// TypeScript rules
4546
"@typescript-eslint/explicit-function-return-type": "off",
4647
"@typescript-eslint/explicit-module-boundary-types": "off",

typescript/package.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020
"check": "tsc --noEmit",
2121
"lint": "eslint src --ext .ts,.tsx",
2222
"lint:fix": "eslint src --ext .ts,.tsx --fix",
23-
"lint:check": "eslint src --ext .ts,.tsx --max-warnings 0",
2423
"prepare": "husky"
2524
},
2625
"keywords": [

typescript/src/examples/index.tsx

Lines changed: 9 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -6,32 +6,22 @@ import { HeadingBlockRenderer } from "@/renderer/components/blocks/HeadingBlockR
66

77
import { JsonDocRenderer } from "../renderer/JsonDocRenderer";
88

9-
// import testPage from "./testJsonDocs/test_document.json";
109
import testPage from "./testJsonDocs/ex1_success.json";
11-
// import testPage from "./testJsonDocs/test_document_2.json";
1210

1311
const App = () => {
14-
// async function main() {
15-
// const schema = await loadSchema("./testJsonDocs/test_document_2.json");
16-
17-
// try {
18-
// const isValid = validateAgainstSchema(testPage, schema);
19-
// console.log("isvlaid: ", isValid);
20-
// console.log("schema: ", schema);
21-
// } catch (error) {
22-
// console.log("error validating schema: ", error);
23-
// }
24-
// }
25-
26-
// useEffect(() => {
27-
// main();
28-
// }, []);
29-
3012
return (
31-
<div style={{ padding: "20px", maxWidth: "800px", margin: "0 auto" }}>
13+
<div
14+
style={{
15+
padding: "20px",
16+
maxWidth: "800px",
17+
margin: "0 auto",
18+
background: "black",
19+
}}
20+
>
3221
<h1>JSON-DOC Renderer Development</h1>
3322
<JsonDocRenderer
3423
page={testPage}
24+
theme="dark"
3525
components={{
3626
heading_1: (props) => {
3727
return <HeadingBlockRenderer {...props} />;

typescript/src/renderer/JsonDocRenderer.tsx

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,23 @@
1+
import "./styles/index.css";
12
import React from "react";
23

34
import { BlockRenderer } from "./components/BlockRenderer";
4-
import "./styles.css";
55

66
interface JsonDocRendererProps {
77
page: any;
88
className?: string;
99
components?: React.ComponentProps<typeof BlockRenderer>["components"];
10+
theme?: "light" | "dark";
1011
}
1112

1213
export const JsonDocRenderer = ({
1314
page,
1415
className = "",
1516
components,
17+
theme = "light",
1618
}: JsonDocRendererProps) => {
1719
return (
18-
<div className={`json-doc-renderer ${className}`}>
20+
<div className={`json-doc-renderer jsondoc-theme-${theme} ${className}`}>
1921
<div className="json-doc-page">
2022
{/* Page icon */}
2123
{page.icon && (

typescript/src/renderer/components/blocks/CodeBlockRenderer.tsx

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,13 +26,11 @@ export const CodeBlockRenderer: React.FC<CodeBlockRendererProps> = ({
2626
>
2727
<div>
2828
<div role="figure">
29-
<div>
30-
<div>
31-
<div>{codeData?.language || "Plain Text"}</div>
32-
</div>
29+
<div className="notion-code-block-language">
30+
{codeData?.language || "Plain Text"}
3331
</div>
3432
<div>
35-
<div className="line-numbers notion-code-block">
33+
<div className="line-numbers notion-code-block-content">
3634
<div className="notranslate">
3735
<RichTextRenderer richText={codeData?.rich_text || []} />
3836
</div>

typescript/src/renderer/components/blocks/ParagraphBlockRenderer.tsx

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,20 +17,14 @@ export const ParagraphBlockRenderer: React.FC<ParagraphBlockRendererProps> = ({
1717
components,
1818
...props
1919
}) => {
20-
console.log("block.paragraph: ", block.paragraph);
21-
console.log("block children:", block.children);
2220
return (
2321
<div
2422
{...props}
2523
className={`notion-selectable notion-text-block ${className || ""}`.trim()}
2624
data-block-id={block.id}
2725
>
28-
<div>
29-
<div>
30-
<div className="notranslate">
31-
<RichTextRenderer richText={block.paragraph?.rich_text || []} />
32-
</div>
33-
</div>
26+
<div className="notranslate">
27+
<RichTextRenderer richText={block.paragraph?.rich_text || []} />
3428
</div>
3529

3630
{/* Render children blocks recursively */}

typescript/src/renderer/index.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
1-
export { JsonDocRenderer } from "./JsonDocRenderer";
21
export { BlockRenderer } from "./components/BlockRenderer";
32

43
// Export individual block components for composition
54
export { ParagraphBlockRenderer } from "./components/blocks/ParagraphBlockRenderer";
65
export { HeadingBlockRenderer } from "./components/blocks/HeadingBlockRenderer";
76
export { ListItemBlockRenderer } from "./components/blocks/ListItemBlockRenderer";
7+
88
export { CodeBlockRenderer } from "./components/blocks/CodeBlockRenderer";
99
export { ImageBlockRenderer } from "./components/blocks/ImageBlockRenderer";
1010
export { TableBlockRenderer } from "./components/blocks/TableBlockRenderer";
11+
export { JsonDocRenderer } from "./JsonDocRenderer";
1112
export { QuoteBlockRenderer } from "./components/blocks/QuoteBlockRenderer";
1213
export { DividerBlockRenderer } from "./components/blocks/DividerBlockRenderer";
1314
export { ToDoBlockRenderer } from "./components/blocks/ToDoBlockRenderer";
@@ -20,3 +21,6 @@ export { OrderedListBlockRenderer } from "./components/blocks/OrderedListBlockRe
2021
// Export types
2122
export type { BlockComponents } from "./components/BlockRenderer";
2223
export type { JsonDocRendererProps, BlockRendererProps } from "./types";
24+
25+
// Import default styles - users can override by importing their own after this
26+
import "./styles/index.css";

0 commit comments

Comments
 (0)