@ui-doc/html-renderer 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +9 -0
- package/README.md +251 -0
- package/dist/HtmlCurlyBraceLexer.d.ts +25 -0
- package/dist/HtmlRenderer.d.ts +21 -0
- package/dist/InlineReader.d.ts +18 -0
- package/dist/NodeParser.d.ts +12 -0
- package/dist/TemplateLoader.d.ts +9 -0
- package/dist/assets/app.d.ts +1 -0
- package/dist/assets/src/base.d.ts +1 -0
- package/dist/assets/src/example.d.ts +1 -0
- package/dist/assets/src/sidebar.d.ts +1 -0
- package/dist/assets/ui-doc.cjs +81 -0
- package/dist/assets/ui-doc.cjs.map +1 -0
- package/dist/assets/ui-doc.css +359 -0
- package/dist/assets/ui-doc.css.map +1 -0
- package/dist/assets/ui-doc.js.map +1 -0
- package/dist/assets/ui-doc.min.css +1 -0
- package/dist/assets/ui-doc.min.js +1 -0
- package/dist/assets/ui-doc.mjs +79 -0
- package/dist/assets/ui-doc.mjs.map +1 -0
- package/dist/errors/HtmlRendererError.d.ts +3 -0
- package/dist/errors/HtmlRendererSyntaxError.d.ts +13 -0
- package/dist/errors/ParserError.d.ts +3 -0
- package/dist/errors/TagNodeError.d.ts +3 -0
- package/dist/errors/index.d.ts +4 -0
- package/dist/index.cjs +981 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.mjs +958 -0
- package/dist/index.mjs.map +1 -0
- package/dist/nodes/CommentNode.d.ts +6 -0
- package/dist/nodes/Node.d.ts +14 -0
- package/dist/nodes/TagNode.d.ts +4 -0
- package/dist/nodes/TemplateNode.d.ts +6 -0
- package/dist/nodes/index.d.ts +10 -0
- package/dist/nodes/tags/debug.d.ts +11 -0
- package/dist/nodes/tags/for.d.ts +13 -0
- package/dist/nodes/tags/if.d.ts +18 -0
- package/dist/nodes/tags/index.d.ts +3 -0
- package/dist/nodes/tags/page.d.ts +13 -0
- package/dist/nodes/tags/partial.d.ts +13 -0
- package/dist/nodes/tags/var.d.ts +13 -0
- package/dist/types/base.d.ts +1 -0
- package/dist/types/index.d.ts +6 -0
- package/dist/types/lexer.d.ts +23 -0
- package/dist/types/parser.d.ts +25 -0
- package/dist/types/reader.d.ts +35 -0
- package/dist/types/renderer.d.ts +14 -0
- package/dist/types/token.d.ts +40 -0
- package/dist/utils/index.d.ts +2 -0
- package/package.json +71 -0
- package/scripts/app.ts +8 -0
- package/scripts/src/base.ts +7 -0
- package/scripts/src/example.ts +31 -0
- package/scripts/src/sidebar.ts +46 -0
- package/styles/01_resets/initial.css +18 -0
- package/styles/01_resets/root.css +36 -0
- package/styles/01_resets/typography.css +67 -0
- package/styles/02_objects/background.css +7 -0
- package/styles/02_objects/control.css +25 -0
- package/styles/02_objects/margin.css +44 -0
- package/styles/02_objects/padding.css +44 -0
- package/styles/02_objects/text.css +3 -0
- package/styles/02_objects/width.css +16 -0
- package/styles/03_components/example-markup.css +31 -0
- package/styles/03_components/nav/list.css +42 -0
- package/styles/03_components/nav/main.css +39 -0
- package/styles/03_components/text-flow.css +5 -0
- package/styles/04_layouts/page.css +68 -0
- package/styles/index.css +17 -0
- package/templates/layouts/default.html +24 -0
- package/templates/layouts/example.html +29 -0
- package/templates/pages/default.html +14 -0
- package/templates/pages/index.html +3 -0
- package/templates/partials/code.html +5 -0
- package/templates/partials/content.html +7 -0
- package/templates/partials/example.html +5 -0
- package/templates/partials/nav-main.html +9 -0
- package/templates/partials/nav-sidebar.html +18 -0
- package/templates/partials/section-inner.html +5 -0
- package/templates/partials/section.html +1 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../src/errors/HtmlRendererError.ts","../src/errors/HtmlRendererSyntaxError.ts","../src/errors/ParserError.ts","../src/errors/TagNodeError.ts","../src/HtmlCurlyBraceLexer.ts","../src/InlineReader.ts","../src/HtmlRenderer.ts","../src/nodes/Node.ts","../src/nodes/CommentNode.ts","../src/utils/index.ts","../src/nodes/TagNode.ts","../src/nodes/tags/debug.ts","../src/nodes/tags/for.ts","../src/nodes/tags/if.ts","../src/nodes/tags/page.ts","../src/nodes/tags/partial.ts","../src/nodes/tags/var.ts","../src/nodes/tags/index.ts","../src/nodes/TemplateNode.ts","../src/NodeParser.ts","../src/TemplateLoader.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["tagParsers"],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { RenderContext, Renderer } from '../types';
|
|
2
|
+
import type { TagNodeType } from './TagNode';
|
|
3
|
+
export declare const nodeOperators: readonly ["==", "!=", "===", "!==", "<", "<=", ">", ">="];
|
|
4
|
+
export type NodeOperator = (typeof nodeOperators)[number];
|
|
5
|
+
export type NodeType = 'root' | 'template' | 'comment' | TagNodeType;
|
|
6
|
+
export declare class Node<T extends NodeType = NodeType> {
|
|
7
|
+
readonly type: T;
|
|
8
|
+
protected childNodes: Node[];
|
|
9
|
+
constructor(type: T);
|
|
10
|
+
append(node: Node): void;
|
|
11
|
+
get children(): Node[];
|
|
12
|
+
render(context: RenderContext, renderer: Renderer): string;
|
|
13
|
+
protected renderChildNodes(context: RenderContext, renderer: Renderer): string;
|
|
14
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export { CommentNode } from './CommentNode';
|
|
2
|
+
export { Node, NodeOperator, nodeOperators, NodeType } from './Node';
|
|
3
|
+
export { TagNode, TagNodeType } from './TagNode';
|
|
4
|
+
export { TagDebugNode } from './tags/debug';
|
|
5
|
+
export { TagForNode } from './tags/for';
|
|
6
|
+
export { TagIfNode } from './tags/if';
|
|
7
|
+
export { TagPageNode } from './tags/page';
|
|
8
|
+
export { TagPartialNode } from './tags/partial';
|
|
9
|
+
export { TagVarNode } from './tags/var';
|
|
10
|
+
export { TemplateNode } from './TemplateNode';
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { RenderContext, TagNodeParse } from '../../types';
|
|
2
|
+
import { TagNode } from '../TagNode';
|
|
3
|
+
export interface TagDebugNodeOptions {
|
|
4
|
+
contextKey?: 'this' | string;
|
|
5
|
+
}
|
|
6
|
+
export declare class TagDebugNode extends TagNode {
|
|
7
|
+
readonly contextKey: string;
|
|
8
|
+
constructor({ contextKey }: TagDebugNodeOptions);
|
|
9
|
+
render(context: RenderContext): string;
|
|
10
|
+
}
|
|
11
|
+
export declare const parseTagDebugNode: TagNodeParse;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { RenderContext, Renderer, TagNodeParse } from '../../types';
|
|
2
|
+
import { TagNode } from '../TagNode';
|
|
3
|
+
export interface TagForNodeOptions {
|
|
4
|
+
contextKey?: 'this' | string;
|
|
5
|
+
}
|
|
6
|
+
export declare class TagForNode extends TagNode {
|
|
7
|
+
readonly contextKey: string;
|
|
8
|
+
constructor({ contextKey }: TagForNodeOptions);
|
|
9
|
+
render(context: RenderContext, renderer: Renderer): string;
|
|
10
|
+
protected renderArray(context: any[], parentContext: RenderContext, renderer: Renderer): string;
|
|
11
|
+
protected renderObject(context: Record<string, any>, parentContext: RenderContext, renderer: Renderer): string;
|
|
12
|
+
}
|
|
13
|
+
export declare const parseTagForNode: TagNodeParse;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { RenderContext, Renderer, TagNodeParse } from '../../types';
|
|
2
|
+
import { type NodeOperator } from '../Node';
|
|
3
|
+
import { TagNode } from '../TagNode';
|
|
4
|
+
export interface TagIfNodeOptions {
|
|
5
|
+
operator?: NodeOperator;
|
|
6
|
+
firstValue?: string | number | boolean;
|
|
7
|
+
firstContextKey?: string;
|
|
8
|
+
secondValue?: string | number | boolean;
|
|
9
|
+
secondContextKey?: string;
|
|
10
|
+
}
|
|
11
|
+
export declare class TagIfNode extends TagNode {
|
|
12
|
+
readonly options: TagIfNodeOptions;
|
|
13
|
+
constructor(options: TagIfNodeOptions);
|
|
14
|
+
render(context: RenderContext, renderer: Renderer): string;
|
|
15
|
+
protected getValue(context: RenderContext, valueKey: 'firstValue' | 'secondValue', contextKey: 'firstContextKey' | 'secondContextKey'): any;
|
|
16
|
+
protected compare(value: any, compareValue: any, operator: NodeOperator): boolean;
|
|
17
|
+
}
|
|
18
|
+
export declare const parseTagIfNode: TagNodeParse;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { RenderContext, Renderer, TagNodeParse } from '../../types';
|
|
2
|
+
import { TagNode } from '../TagNode';
|
|
3
|
+
export interface TagPageNodeOptions {
|
|
4
|
+
name?: 'default' | string;
|
|
5
|
+
contextKey?: 'this' | string;
|
|
6
|
+
}
|
|
7
|
+
export declare class TagPageNode extends TagNode {
|
|
8
|
+
readonly name: string;
|
|
9
|
+
readonly contextKey: string;
|
|
10
|
+
constructor({ name, contextKey }: TagPageNodeOptions);
|
|
11
|
+
render(context: RenderContext, renderer: Renderer): string;
|
|
12
|
+
}
|
|
13
|
+
export declare const parseTagPageNode: TagNodeParse;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { RenderContext, Renderer, TagNodeParse } from '../../types';
|
|
2
|
+
import { TagNode } from '../TagNode';
|
|
3
|
+
export interface TagPartialNodeOptions {
|
|
4
|
+
name: string;
|
|
5
|
+
contextKey?: 'this' | string;
|
|
6
|
+
}
|
|
7
|
+
export declare class TagPartialNode extends TagNode {
|
|
8
|
+
readonly name: string;
|
|
9
|
+
readonly contextKey: string;
|
|
10
|
+
constructor({ name, contextKey }: TagPartialNodeOptions);
|
|
11
|
+
render(context: RenderContext, renderer: Renderer): string;
|
|
12
|
+
}
|
|
13
|
+
export declare const parseTagPartialNode: TagNodeParse;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { RenderContext, TagNodeParse } from '../../types';
|
|
2
|
+
import { TagNode } from '../TagNode';
|
|
3
|
+
export interface TagVarNodeOptions {
|
|
4
|
+
contextKey: 'this' | string;
|
|
5
|
+
escape?: boolean;
|
|
6
|
+
}
|
|
7
|
+
export declare class TagVarNode extends TagNode {
|
|
8
|
+
readonly contextKey: string;
|
|
9
|
+
readonly escape: boolean;
|
|
10
|
+
constructor({ contextKey, escape }: TagVarNodeOptions);
|
|
11
|
+
render(context: RenderContext): string;
|
|
12
|
+
}
|
|
13
|
+
export declare const parseTagVarNode: TagNodeParse;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type PositiveInteger<T extends number = number> = `${T}` extends '0' | `-${any}` | `${any}.${any}` ? never : T;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { PositiveInteger, Reader, TokenReturn } from './index';
|
|
2
|
+
export interface Lexer {
|
|
3
|
+
/**
|
|
4
|
+
* Get the next token /next k-th token.
|
|
5
|
+
* This is used to look ahead the tokens without consuming/removing them from the input stream.
|
|
6
|
+
* Calling the peek() method more than once will return the same token.
|
|
7
|
+
* @param {PositiveInteger} k
|
|
8
|
+
* @returns {Token | undefined} next token or undefined if there are no more tokens.
|
|
9
|
+
*/
|
|
10
|
+
peek<T extends PositiveInteger = 1>(k?: T): TokenReturn<T>;
|
|
11
|
+
/**
|
|
12
|
+
* Get the next token /next k-th token, and remove it from the token stream.
|
|
13
|
+
* This means, calling the consume() method multiple times will return a new token at each invocation.
|
|
14
|
+
* @param {PositiveInteger} k
|
|
15
|
+
* @returns {Token | undefined} next token or undefined if there are no more tokens.
|
|
16
|
+
*/
|
|
17
|
+
consume<T extends PositiveInteger = 1>(k?: T): TokenReturn<T>;
|
|
18
|
+
/**
|
|
19
|
+
* Get the debug information about the current state of the lexer.
|
|
20
|
+
* @returns {object} debug information
|
|
21
|
+
*/
|
|
22
|
+
debug(): ReturnType<Reader['debug']>;
|
|
23
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { Node, TagNode } from '../nodes';
|
|
2
|
+
import type { Reader } from './reader';
|
|
3
|
+
import type { Token } from './token';
|
|
4
|
+
export interface TagNodeParse {
|
|
5
|
+
identifier: string;
|
|
6
|
+
example: string;
|
|
7
|
+
hasContent: boolean;
|
|
8
|
+
parse(): {
|
|
9
|
+
addToken(token: Token): void;
|
|
10
|
+
create(): TagNode;
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
export interface Parser {
|
|
14
|
+
/**
|
|
15
|
+
* Parse the input stream and return the AST.
|
|
16
|
+
* @param {Reader} reader
|
|
17
|
+
* @returns {Node} AST
|
|
18
|
+
*/
|
|
19
|
+
parse(reader: Reader): Node;
|
|
20
|
+
/**
|
|
21
|
+
* Register a tag parser.
|
|
22
|
+
* @param {TagNodeParse} tag
|
|
23
|
+
*/
|
|
24
|
+
registerTagParser(tag: TagNodeParse): this;
|
|
25
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { PositiveInteger } from './base';
|
|
2
|
+
export interface Reader {
|
|
3
|
+
/**
|
|
4
|
+
* Get the next character / next k-th character from the input.
|
|
5
|
+
* This is used to look ahead the characters without consuming/removing them from the input stream.
|
|
6
|
+
* Calling the peek() method more than once will return the same character.
|
|
7
|
+
*
|
|
8
|
+
* @param {PositiveInteger} k number
|
|
9
|
+
* @returns {string} next character
|
|
10
|
+
*/
|
|
11
|
+
peak(k?: PositiveInteger): string;
|
|
12
|
+
/**
|
|
13
|
+
* Get the next character /next k-th token from the input, and remove it from the input.
|
|
14
|
+
* This means, calling the consume() method multiple times will return a new character at each invocation.
|
|
15
|
+
*
|
|
16
|
+
* @param {PositiveInteger} k
|
|
17
|
+
* @returns {string} next character
|
|
18
|
+
*/
|
|
19
|
+
consume(k?: PositiveInteger): string;
|
|
20
|
+
/**
|
|
21
|
+
* Check if the input stream is empty.
|
|
22
|
+
* @returns {boolean} true if the input stream is empty, false otherwise.
|
|
23
|
+
*/
|
|
24
|
+
isEof(): boolean;
|
|
25
|
+
/**
|
|
26
|
+
* Get the debug information about the current state of the reader.
|
|
27
|
+
* @returns {object} debug information
|
|
28
|
+
*/
|
|
29
|
+
debug(): {
|
|
30
|
+
source: string;
|
|
31
|
+
line: PositiveInteger;
|
|
32
|
+
pos: PositiveInteger;
|
|
33
|
+
content: string;
|
|
34
|
+
};
|
|
35
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Renderer as CoreRenderer } from '@ui-doc/core';
|
|
2
|
+
import type { Reader } from './reader';
|
|
3
|
+
export type RenderContext = Record<string, any>;
|
|
4
|
+
export type SourceInput = {
|
|
5
|
+
source: string;
|
|
6
|
+
content: string;
|
|
7
|
+
} | Reader;
|
|
8
|
+
export interface Renderer extends CoreRenderer {
|
|
9
|
+
addLayout(name: string, layout: SourceInput): this;
|
|
10
|
+
addPartial(name: string, partial: SourceInput): this;
|
|
11
|
+
addPage(name: string, page: SourceInput): this;
|
|
12
|
+
page(name: string, context: RenderContext): string;
|
|
13
|
+
partial(name: string, context?: RenderContext): string;
|
|
14
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { PositiveInteger } from './base';
|
|
2
|
+
export type TokenTypeIdentifier = 'tag-identifier' | 'identifier';
|
|
3
|
+
export type TokenTagType = 'tag-open' | 'tag-close' | 'tag-end' | 'tag-separator';
|
|
4
|
+
export type TokenType = 'comment' | 'template' | 'operator' | 'number' | 'string' | 'boolean' | TokenTypeIdentifier | TokenTagType;
|
|
5
|
+
export interface Token {
|
|
6
|
+
type: TokenType;
|
|
7
|
+
}
|
|
8
|
+
export interface TokenComment extends Token {
|
|
9
|
+
type: 'comment';
|
|
10
|
+
content: string;
|
|
11
|
+
}
|
|
12
|
+
export interface TokenTemplate extends Token {
|
|
13
|
+
type: 'template';
|
|
14
|
+
content: string;
|
|
15
|
+
}
|
|
16
|
+
export interface TokenString extends Token {
|
|
17
|
+
type: 'string';
|
|
18
|
+
value: string;
|
|
19
|
+
}
|
|
20
|
+
export interface TokenNumber extends Token {
|
|
21
|
+
type: 'number';
|
|
22
|
+
value: number;
|
|
23
|
+
}
|
|
24
|
+
export interface TokenBoolean extends Token {
|
|
25
|
+
type: 'boolean';
|
|
26
|
+
value: boolean;
|
|
27
|
+
}
|
|
28
|
+
export interface TokenIdentifier extends Token {
|
|
29
|
+
type: TokenTypeIdentifier;
|
|
30
|
+
name: string;
|
|
31
|
+
}
|
|
32
|
+
export interface TokenOperator extends Token {
|
|
33
|
+
type: 'operator';
|
|
34
|
+
operator: string;
|
|
35
|
+
}
|
|
36
|
+
export interface TokenTag extends Token {
|
|
37
|
+
type: TokenTagType;
|
|
38
|
+
}
|
|
39
|
+
export type TokenValue<T extends TokenType = TokenType> = T extends 'comment' ? TokenComment : T extends 'template' ? TokenTemplate : T extends 'string' ? TokenString : T extends 'number' ? TokenNumber : T extends 'boolean' ? TokenBoolean : T extends TokenTypeIdentifier ? TokenIdentifier : T extends 'operator' ? TokenOperator : T extends TokenTagType ? TokenTag : never;
|
|
40
|
+
export type TokenReturn<T = PositiveInteger> = T extends 1 ? TokenValue | undefined : (TokenValue | undefined)[];
|
package/package.json
ADDED
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@ui-doc/html-renderer",
|
|
3
|
+
"description": "HTML renderer for UI-Doc.",
|
|
4
|
+
"version": "0.1.1",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"keywords": [
|
|
7
|
+
"ui-doc",
|
|
8
|
+
"styleguide",
|
|
9
|
+
"ui-kit",
|
|
10
|
+
"documentation",
|
|
11
|
+
"generation",
|
|
12
|
+
"renderer",
|
|
13
|
+
"html"
|
|
14
|
+
],
|
|
15
|
+
"repository": {
|
|
16
|
+
"type": "git",
|
|
17
|
+
"url": "https://github.com/gherrink/ui-doc",
|
|
18
|
+
"directory": "packages/html-renderer"
|
|
19
|
+
},
|
|
20
|
+
"author": "Maurice Busch",
|
|
21
|
+
"homepage": "https://github.com/gherrink/ui-doc/tree/master/packages/html-renderer#readme",
|
|
22
|
+
"bugs": "https://github.com/gherrink/ui-doc/issues",
|
|
23
|
+
"main": "./dist/index.cjs",
|
|
24
|
+
"module": "./dist/index.mjs",
|
|
25
|
+
"types": "./dist/index.d.ts",
|
|
26
|
+
"exports": {
|
|
27
|
+
".": {
|
|
28
|
+
"types": "./dist/index.d.ts",
|
|
29
|
+
"import": "./dist/index.mjs",
|
|
30
|
+
"default": "./dist/index.cjs"
|
|
31
|
+
},
|
|
32
|
+
"./ui-doc.css": "./dist/assets/ui-doc.css",
|
|
33
|
+
"./ui-doc.min.css": "./dist/assets/ui-doc.min.css",
|
|
34
|
+
"./ui-doc.js": {
|
|
35
|
+
"types": "./dist/assets/ui-doc.d.ts",
|
|
36
|
+
"import": "./dist/assets/ui-doc.mjs",
|
|
37
|
+
"script": "./dist/assets/ui-doc.min.js",
|
|
38
|
+
"default": "./dist/assets/ui-doc.cjs"
|
|
39
|
+
},
|
|
40
|
+
"./ui-doc.min.js": "./dist/assets/ui-doc.min.js"
|
|
41
|
+
},
|
|
42
|
+
"engines": {
|
|
43
|
+
"node": ">=16.0.0"
|
|
44
|
+
},
|
|
45
|
+
"files": [
|
|
46
|
+
"dist",
|
|
47
|
+
"LICENSE.md",
|
|
48
|
+
"scripts",
|
|
49
|
+
"styles",
|
|
50
|
+
"templates",
|
|
51
|
+
"README.md"
|
|
52
|
+
],
|
|
53
|
+
"publishConfig": {
|
|
54
|
+
"access": "public"
|
|
55
|
+
},
|
|
56
|
+
"sideEffects": false,
|
|
57
|
+
"peerDependencies": {
|
|
58
|
+
"@ui-doc/core": "^0.1.0"
|
|
59
|
+
},
|
|
60
|
+
"optionalDependencies": {
|
|
61
|
+
"@highlightjs/cdn-assets": "^11.9.0"
|
|
62
|
+
},
|
|
63
|
+
"scripts": {
|
|
64
|
+
"build": "rollup -c",
|
|
65
|
+
"prebuild": "rm -rf dist dist",
|
|
66
|
+
"prerelease": "pnpm build",
|
|
67
|
+
"release": "pnpm --workspace-root package:release $(pwd)",
|
|
68
|
+
"release:dry": "pnpm --workspace-root package:release-dry $(pwd)",
|
|
69
|
+
"test": "jest"
|
|
70
|
+
}
|
|
71
|
+
}
|
package/scripts/app.ts
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export function initExample() {
|
|
2
|
+
document.querySelectorAll<HTMLIFrameElement>('[data-example] > iframe').forEach(iframe => {
|
|
3
|
+
const document = iframe.contentDocument ?? iframe.contentWindow?.document
|
|
4
|
+
|
|
5
|
+
if (!document) {
|
|
6
|
+
return
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
const action = () => {
|
|
10
|
+
const changeHeight = () => {
|
|
11
|
+
iframe.style.height = `${document.body.scrollHeight}px`
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
changeHeight()
|
|
15
|
+
|
|
16
|
+
const observer = new MutationObserver(changeHeight)
|
|
17
|
+
|
|
18
|
+
observer.observe(document.body, {
|
|
19
|
+
attributes: true,
|
|
20
|
+
childList: true,
|
|
21
|
+
subtree: true,
|
|
22
|
+
})
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
if (document.readyState === 'complete') {
|
|
26
|
+
action()
|
|
27
|
+
} else {
|
|
28
|
+
iframe.addEventListener('load', action)
|
|
29
|
+
}
|
|
30
|
+
})
|
|
31
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
function createSidebar(sidebar: HTMLElement) {
|
|
2
|
+
const links: Record<string, HTMLLinkElement> = {}
|
|
3
|
+
const observer = new IntersectionObserver(
|
|
4
|
+
entries => {
|
|
5
|
+
const activeEntries = entries.filter(entry => entry.isIntersecting)
|
|
6
|
+
|
|
7
|
+
if (activeEntries.length <= 0) {
|
|
8
|
+
return
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
Object.keys(links).forEach(id => {
|
|
12
|
+
links[id].classList.remove('active')
|
|
13
|
+
})
|
|
14
|
+
|
|
15
|
+
const activeLink = links[activeEntries[0].target.id]
|
|
16
|
+
|
|
17
|
+
activeLink.classList.add('active')
|
|
18
|
+
if (activeLink?.parentElement?.parentElement?.parentElement instanceof HTMLLIElement) {
|
|
19
|
+
activeLink.parentElement.parentElement.parentElement
|
|
20
|
+
.querySelector('a')
|
|
21
|
+
?.classList.add('active')
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
root: null,
|
|
26
|
+
rootMargin: '0px 0px -90% 0px',
|
|
27
|
+
threshold: 0.5,
|
|
28
|
+
},
|
|
29
|
+
)
|
|
30
|
+
|
|
31
|
+
sidebar.querySelectorAll<HTMLLinkElement>('a[href^="#"]').forEach(link => {
|
|
32
|
+
const id = link.href.split('#')[1]
|
|
33
|
+
const target = document.getElementById(id)
|
|
34
|
+
|
|
35
|
+
if (target) {
|
|
36
|
+
observer.observe(target)
|
|
37
|
+
links[id] = link
|
|
38
|
+
}
|
|
39
|
+
})
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
export function initSidebar() {
|
|
43
|
+
document.querySelectorAll('[data-sidebar]').forEach(sidebar => {
|
|
44
|
+
createSidebar(sidebar as HTMLElement)
|
|
45
|
+
})
|
|
46
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
* {
|
|
2
|
+
box-sizing: border-box;
|
|
3
|
+
margin: 0;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
*::after,
|
|
7
|
+
*::before {
|
|
8
|
+
box-sizing: inherit;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
::selection {
|
|
12
|
+
color: rgb(var(--selection-color));
|
|
13
|
+
background-color: rgb(var(--selection-bg-color));
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
body {
|
|
17
|
+
background-color: rgb(var(--bg-color));
|
|
18
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
:root {
|
|
2
|
+
--font-weight-normal: 400;
|
|
3
|
+
--font-weight-bold: 700;
|
|
4
|
+
--font-size-sm: 0.85em;
|
|
5
|
+
--font-size-normal: 1em;
|
|
6
|
+
--font-size-md: 1.2em;
|
|
7
|
+
--font-size-lg: 1.7em;
|
|
8
|
+
--font-size-base: 16px;
|
|
9
|
+
--font-color: 3 3 3;
|
|
10
|
+
--font-family: system-ui, "Segoe UI", roboto, helvetica, arial, sans-serif, "Apple Color Emoji",
|
|
11
|
+
"Segoe UI Emoji", "Segoe UI Symbol";
|
|
12
|
+
--font-weight: var(--font-weight-normal);
|
|
13
|
+
--font-size: var(--font-size-normal);
|
|
14
|
+
--font-line-height: 1.4;
|
|
15
|
+
--headline-weight: var(--font-weight-bold);
|
|
16
|
+
--bg-color: 255 255 255;
|
|
17
|
+
--accent-color: 3 3 200;
|
|
18
|
+
--border-color: 5 5 5;
|
|
19
|
+
--selection-color: var(--bg-color);
|
|
20
|
+
--selection-bg-color: var(--font-color);
|
|
21
|
+
--size-base-unit: 1rem;
|
|
22
|
+
--size-xs: calc(0.5 * var(--size-base-unit));
|
|
23
|
+
--size-sm: calc(0.8 * var(--size-base-unit));
|
|
24
|
+
--size-normal: var(--size-base-unit);
|
|
25
|
+
--size-md: calc(1.2 * var(--size-base-unit));
|
|
26
|
+
--size-lg: calc(1.6 * var(--size-base-unit));
|
|
27
|
+
--size-xl: calc(2.4 * var(--size-base-unit));
|
|
28
|
+
--nav-main-menu-item-px: var(--size-sm);
|
|
29
|
+
--nav-main-menu-item-py: var(--size-xs);
|
|
30
|
+
--nav-main-menu-item-font-size: var(--font-size-md);
|
|
31
|
+
--nav-main-height: calc(
|
|
32
|
+
var(--nav-main-menu-item-py) * 2 + var(--nav-main-menu-item-font-size) * var(--font-line-height)
|
|
33
|
+
);
|
|
34
|
+
|
|
35
|
+
color-scheme: light;
|
|
36
|
+
}
|