scrapbox.Page.lines
一部分まで調べてある
ありがたいtakker.icon
nodeの種類一覧
code:ts
type NodeType = "blank" | "video" | "vimeo" | "audio" | "audioLink" | "image" | "imageLink" | "gyazo" | "gyazoLink" | "link" | "hashTag" | "icon" | "strong-icon" | "strongImage" | "strongGyazo" | "strongImageLink" | "strongGyazoLInk" | "deco" | "deco-formula" | "strong" | "url" | "urlLink" | "youtube" | "location" | "quote" | "code" | "indent";
種類別
title
code:node.ts
type Title = boolean;
code block
code:node.ts
type CodeBlock = {
lang: string;
filename?: string;
indent: number;
start: boolean;
end: boolean;
};
table block
code:node.ts
type TableBlock = {
title: string;
cells: string[];
indent: number;
start: boolean;
end: boolean;
};
cellに含まれるリンクをparseしてくれないみたい
またindentの解析がバグっている
helpfeel
code:node.ts
type Helpfeel = {
prefix: "?";
entry: string;
};
command line
code:node.ts
type Cli = {
prefix: "$" | "%";
command: string;
};
nodes
code:node.ts
type UnitBase = {
content: string;
whole: string;
};
plain text
code:node.ts
type PlainText = string;
blank
code:node.ts
type Blank = {
type: "blank";
unit: UnitBase;
children: PlainText;
};
video
code:node.ts
type Video = {
type: "video";
unit: UnitBase;
fileId: string | undefined;
children: PlainText;
};
vimeo
code:node.ts
type Vimeo = {
type: "vimeo";
unit: UnitBase & {
videoId: string;
};
children: PlainText;
};
decoration
code:node.ts
type Decoration = {
type : "deco";
unit: UnitBase & {
deco: string;
strong: number;
italic: boolean;
strike: boolean;
underline: boolean;
};
children: Node;
}
link
code:node.ts
type Link = {
type: "link";
unit: UnitBase & ({
page: string;
} | {
project: string;
page: string;
} | {
project: string;
});
children: Node;
};
quote
code:node.ts
type Quote = {
type: "quote";
unit: UnitBase & {
tag: string;
};
children: Node;
};
code
code:node.ts
type Code = {
type: "code";
unit: UnitBase;
children: PlainText;
};
indent
番号つきリストだと、行に対してnumberList: {digit: number;};が生える
code:node.ts
type Indent = {
type: "indent";
unit: UnitBase & {
tag: string;
};
children: Node;
};
audio
code:node.ts
type Audio = {
type: "audio";
unit: UnitBase;
fileId: string | undefined;
children: PlainText;
};
audio link
code:node.ts
type AudioLink = {
type: "audioLink";
unit: UnitBase & {
link: string;
title: string;
};
fileId: string | undefined;
children: PlainText;
};
image
code:node.ts
type Image = ImageBase & { type: "image"; };
type StrongImage = ImageBase & { type: "strongImage"; };
type ImageBase = {
unit: UnitBase;
fileId: string | undefined;
children: PlainText;
};
gyazo
code:node.ts
type Gyazo = GyazoBase & { type: "gyazo"; };
type StrongGyazo = GyazoBase & { type: "strongGyazo"; };
type GyazoBase = {
unit: UnitBase;
children: PlainText;
};
image link
code:node.ts
type ImageLink = ImageLinkBase & { type: "imageLink"; };
type StrongImageLink = ImageLinkBase & { type: "strongImageLink"; };
type ImageLinkBase = {
unit: UnitBase & {
image: string;
link: string;
};
children: PlainText;
};
gyazo link
code:node.ts
type GyazoLink = GyazoLinkBase & { type: "gyazoLink"; };
type StrongGyazoLink = GyazoLinkBase & { type: "strongGyazoLink"; };
type GyazoLinkBase = {
unit: UnitBase & {
gyazo: string;
link: string;
};
children: PlainText;
};
icon
code:node.ts
type Icon = IconBase & { type: "icon" };
type StrongIcon = IconBase & { type: "strong-icon" };
type IconBase = {
unit: UnitBase & {
project?: string;
page: string;
size: number;
};
children: PlainText;
};
formula
これが含まれている行はformulaLine: trueが生える
code:node.ts
type Formula = {
type: "deco-formula";
unit: UnitBase & {
formula: string;
};
children: PlainText;
}
strong
code:node.ts
type Formula = {
type: "strong";
unit: UnitBase;
children: Node;
}
url
code:node.ts
type Url = {
type: "url";
unit: UnitBase;
fileId: string | undefined;
children: PlainText;
};
type UrlLink = {
type: "urlLink";
unit: UnitBase & {
link: string;
title?: string;
};
fileId: string | undefined;
children: PlainText;
};
youtube
code:node.ts
type Youtube = {
type: "youtube";
unit: UnitBase & {
params: Record<string, string> & { t?: number; };
} & ({
videoId?: string;
} | {
listId?: string;
});
children: PlainText;
};
location
code:node.ts
type Location = {
type: "location";
unit: UnitBase & {
latitude: number;
longitude: number;
zoom: number;
title?: string;
};
children: PlainText;
};