robindoc 0.0.0-experimental-ca4f5ef → 0.0.0-experimental-ed3adfc
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/lib/core/types/initialize.d.ts +7 -0
- package/lib/core/types/initialize.d.ts.map +1 -0
- package/lib/core/utils/initialize-robindoc.d.ts +5 -5
- package/lib/core/utils/initialize-robindoc.d.ts.map +1 -1
- package/lib/core/utils/initialize-robindoc.js +1 -1
- package/lib/core/utils/initialize-robindoc.js.map +1 -1
- package/lib/styles.css +256 -256
- package/package.json +1 -1
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type Structure } from "./structure";
|
|
2
|
+
export type StructureTemplate = Structure | (() => Structure | Promise<Structure>);
|
|
3
|
+
export type Options = {
|
|
4
|
+
processError?: (status: number, statusText: string) => void | null | never;
|
|
5
|
+
matcher?: string[];
|
|
6
|
+
};
|
|
7
|
+
//# sourceMappingURL=initialize.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"initialize.d.ts","sourceRoot":"","sources":["../../../src/core/types/initialize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,CAAC,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;AAEnF,MAAM,MAAM,OAAO,GAAG;IAClB,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,GAAG,KAAK,CAAC;IAC3E,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB,CAAC"}
|
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { type ArticleProps as ArticlePropsBase } from "../../components/elements/article";
|
|
3
3
|
import { type SidebarProps as SidebarPropsBase } from "../../components/elements/sidebar";
|
|
4
|
-
import { type
|
|
4
|
+
import { type StructureTemplate, type Options } from "../types/initialize";
|
|
5
5
|
type PageProps = Omit<Partial<ArticlePropsBase>, "uri" | "content" | "provider" | "pathname" | "pages"> & {
|
|
6
6
|
pathname: string;
|
|
7
7
|
};
|
|
8
8
|
type SidebarProps = Omit<SidebarPropsBase, "tree">;
|
|
9
|
-
export declare const initializeRobindoc: (structureTemplate:
|
|
9
|
+
export declare const initializeRobindoc: (structureTemplate: StructureTemplate, options?: Options) => {
|
|
10
10
|
Page: React.FC<PageProps>;
|
|
11
11
|
Sidebar: React.FC<SidebarProps>;
|
|
12
12
|
getStaticParams: <T extends string = "segments">(prefix?: string, segmentsParamKey?: T) => Promise<Record<T, string[]>[]>;
|
|
13
|
-
getMetadata: (pathname: string) => Promise<Record<string, string
|
|
13
|
+
getMetadata: (pathname: string) => Promise<Record<string, string> | null>;
|
|
14
14
|
getPageData: (pathname: string) => Promise<{
|
|
15
15
|
title: string;
|
|
16
16
|
raw: string;
|
|
17
|
-
}>;
|
|
18
|
-
getPageInstruction: (pathname: string) => Promise<import("../types/content").Page>;
|
|
17
|
+
} | null>;
|
|
18
|
+
getPageInstruction: (pathname: string) => Promise<import("../types/content").Page | null>;
|
|
19
19
|
};
|
|
20
20
|
export {};
|
|
21
21
|
//# sourceMappingURL=initialize-robindoc.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initialize-robindoc.d.ts","sourceRoot":"","sources":["../../../src/core/utils/initialize-robindoc.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAA0B,KAAK,YAAY,IAAI,gBAAgB,EAAE,0CAAyC;AACjH,OAAO,EAA0B,KAAK,YAAY,IAAI,gBAAgB,EAAE,0CAAyC;AAEjH,OAAO,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"initialize-robindoc.d.ts","sourceRoot":"","sources":["../../../src/core/utils/initialize-robindoc.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAA0B,KAAK,YAAY,IAAI,gBAAgB,EAAE,0CAAyC;AACjH,OAAO,EAA0B,KAAK,YAAY,IAAI,gBAAgB,EAAE,0CAAyC;AAEjH,OAAO,EAAE,KAAK,iBAAiB,EAAE,KAAK,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAO3E,KAAK,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,KAAK,GAAG,SAAS,GAAG,UAAU,GAAG,UAAU,GAAG,OAAO,CAAC,GAAG;IACtG,QAAQ,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,KAAK,YAAY,GAAG,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;AAenD,eAAO,MAAM,kBAAkB,GAAI,mBAAmB,iBAAiB,EAAE,UAAS,OAAY;;;sBA0D3D,CAAC,SAAS,MAAM,wBACnC,MAAM,qBACI,CAAC;4BAiBc,MAAM;4BAwBN,MAAM;;;;mCAuBC,MAAM;CAqBrD,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import
|
|
1
|
+
import r from"react";import{Article as t}from"../../components/elements/article/index.js";import{Sidebar as e}from"../../components/elements/sidebar/index.js";import{parseStructure as o}from"./parse-structure.js";import{getConfiguration as s}from"./get-configuration.js";import{getMetadata as n}from"./get-metadata.js";import{normalizePathname as a,removeTrailingSlash as c}from"./path-tools.js";import{loadContent as i}from"./load-content.js";const p=(p,u={})=>{const l=(async r=>{let t;t="function"==typeof r?await r():r;const e=s(t.configuration||{});return o(t.items||[],e)})(p),m=u.matcher?.map(r=>new RegExp(`^${r.replace(/^\^|\$$/g,"")}$`));return{Page:async({pathname:e,...o})=>{const s=a(e);if(m&&!m.every(r=>r.test(e))){const r=`Pathname "${s}" doesn't pass matcher rules check`;if(u.processError)return u.processError(404,r)||null;throw new Error(r)}const{pages:n}=await l,c=n[s];if(!c){const r=`Can not find data for "${s}". Please check structure`;if(u.processError)return u.processError(404,r)||null;throw new Error(r)}const i=Object.keys(n),p=i.indexOf(s),f=i[p-1],h=p<i.length-1&&i[p+1],d=f&&{pathname:f,title:n[f].title},g=h&&{pathname:h,title:n[h].title},w=c.crumbs.map(r=>({title:n[r].title,pathname:r})),E=Object.entries(n).reduce((r,[t,{origPath:e}])=>(e&&r.push({clientPath:t,origPath:e}),r),[]);return r.createElement(t,{pathname:s,provider:c.configuration.provider,uri:c.uri,title:c.title,breadcrumbs:w,prev:d||void 0,next:g||void 0,pages:E,...o})},Sidebar:async t=>{const{tree:o}=await l;return r.createElement(e,{tree:o,...t})},getStaticParams:async(r="",t="segments")=>{const{pages:e}=await l,o=Object.keys(e),s=c(r);return o.reduce((r,e)=>e.startsWith(s)?(r.push({[t]:e.substring(s.length+1).split("/")}),r):r,[])},getMetadata:async r=>{const t=a(r);if(m&&!m.every(t=>t.test(r))){const r=`Pathname "${t}" doesn't pass matcher rules check`;if(u.processError)return u.processError(404,r)||null;throw new Error(r)}const{pages:e}=await l,o=e[t];if(!o){const r=`Can not find data for "${t}". Please check structure`;if(u.processError)return u.processError(404,r)||null;throw new Error(r)}return await n({uri:o.uri,provider:o.configuration.provider})},getPageData:async r=>{const t=a(r);if(m&&!m.every(t=>t.test(r))){const r=`Pathname "${t}" doesn't pass matcher rules check`;if(u.processError)return u.processError(404,r)||null;throw new Error(r)}const{pages:e}=await l,o=e[t];if(!o){const r=`Can not find data for "${t}". Please check structure`;if(u.processError)return u.processError(404,r)||null;throw new Error(r)}const s=o.title,{data:n}=await i(o.uri,o.configuration.provider);return{title:s,raw:n}},getPageInstruction:async r=>{const t=a(r);if(m&&!m.every(t=>t.test(r))){const r=`Pathname "${t}" doesn't pass matcher rules check`;if(u.processError)return u.processError(404,r)||null;throw new Error(r)}const{pages:e}=await l,o=e[t];if(!o){const r=`Can not find data for "${t}". Please check structure`;if(u.processError)return u.processError(404,r)||null;throw new Error(r)}return o}}};export{p as initializeRobindoc};
|
|
2
2
|
//# sourceMappingURL=initialize-robindoc.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initialize-robindoc.js","sources":["../../../src/core/utils/initialize-robindoc.tsx"],"sourcesContent":["import React from \"react\";\n\nimport { Article as ArticleBase, type ArticleProps as ArticlePropsBase } from \"@src/components/elements/article\";\nimport { Sidebar as SidebarBase, type SidebarProps as SidebarPropsBase } from \"@src/components/elements/sidebar\";\n\nimport { type Structure } from \"../types/structure\";\nimport { parseStructure } from \"./parse-structure\";\nimport { getConfiguration } from \"./get-configuration\";\nimport { getMetadata as getMetadataBase } from \"./get-metadata\";\nimport { normalizePathname, removeTrailingSlash } from \"./path-tools\";\nimport { loadContent } from \"./load-content\";\n\ntype PageProps = Omit<Partial<ArticlePropsBase>, \"uri\" | \"content\" | \"provider\" | \"pathname\" | \"pages\"> & {\n pathname: string;\n};\n\ntype SidebarProps = Omit<SidebarPropsBase, \"tree\">;\n\nconst loadStructure = async (structureTemplate: Structure | (() => Structure | Promise<Structure>)) => {\n if (typeof structureTemplate === \"function\") {\n return structureTemplate();\n } else {\n return structureTemplate;\n }\n};\n\nexport const initializeRobindoc = (structureTemplate: Structure | (() => Structure | Promise<Structure>)) => {\n const structureParsedPromise = loadStructure(structureTemplate).then((structure) =>\n parseStructure(structure.items || [], getConfiguration(structure.configuration || {})),\n );\n\n const Page: React.FC<PageProps> = async ({ pathname, ...props }) => {\n const { pages } = await structureParsedPromise;\n const pathnameNormalized = normalizePathname(pathname);\n const pageInstruction = pages[pathnameNormalized];\n\n if (!pageInstruction) {\n throw new Error(`Can not find data for \"${pathnameNormalized}\". Please check structure`);\n }\n\n const paths = Object.keys(pages);\n const targetPageIndex = paths.indexOf(pathnameNormalized);\n const prevPagePathname = paths[targetPageIndex - 1];\n const nextPagePathname = targetPageIndex < paths.length - 1 && paths[targetPageIndex + 1];\n const prev = prevPagePathname && { pathname: prevPagePathname, title: pages[prevPagePathname].title };\n const next = nextPagePathname && { pathname: nextPagePathname, title: pages[nextPagePathname].title };\n\n const breadcrumbs = pageInstruction.crumbs.map((crumb) => ({ title: pages[crumb].title, pathname: crumb }));\n const clientPages = Object.entries(pages).reduce<{ clientPath: string; origPath: string }[]>(\n (acc, [clientPath, { origPath }]) => {\n if (origPath) acc.push({ clientPath, origPath });\n return acc;\n },\n [],\n );\n\n return (\n <ArticleBase\n pathname={pathnameNormalized}\n provider={pageInstruction.configuration.provider}\n uri={pageInstruction.uri}\n title={pageInstruction.title}\n breadcrumbs={breadcrumbs}\n prev={prev || undefined}\n next={next || undefined}\n pages={clientPages}\n {...props}\n />\n );\n };\n\n const Sidebar: React.FC<SidebarProps> = async (props) => {\n const { tree } = await structureParsedPromise;\n\n return <SidebarBase tree={tree} {...props} />;\n };\n\n const getStaticParams = async <T extends string = \"segments\">(\n prefix: string = \"\",\n segmentsParamKey: T = \"segments\" as T,\n ) => {\n const { pages } = await structureParsedPromise;\n const pagesArr = Object.keys(pages);\n const prefixWithoutTrailingSlash = removeTrailingSlash(prefix);\n\n return pagesArr.reduce<Record<T, string[]>[]>((acc, cur) => {\n if (!cur.startsWith(prefixWithoutTrailingSlash)) return acc;\n\n acc.push({\n [segmentsParamKey]: cur.substring(prefixWithoutTrailingSlash.length + 1).split(\"/\"),\n } as Record<T, string[]>);\n\n return acc;\n }, []);\n };\n\n const getMetadata = async (pathname: string) => {\n const { pages } = await structureParsedPromise;\n const pathnameNormalized = normalizePathname(pathname);\n const pageInstruction = pages[pathnameNormalized];\n\n if (!pageInstruction) {\n throw new Error(`Can not find data for \"${pathnameNormalized}\". Please check structure`);\n }\n\n const metadata = await getMetadataBase({\n uri: pageInstruction.uri,\n provider: pageInstruction.configuration.provider,\n });\n return metadata;\n };\n\n const getPageData = async (pathname: string) => {\n const { pages } = await structureParsedPromise;\n const pathnameNormalized = normalizePathname(pathname);\n const pageInstruction = pages[pathnameNormalized];\n\n if (!pageInstruction) {\n throw new Error(`Can not find data for \"${pathnameNormalized}\". Please check structure`);\n }\n\n const title = pageInstruction.title;\n const { data } = await loadContent(pageInstruction.uri, pageInstruction.configuration.provider);\n\n return { title, raw: data };\n };\n\n const getPageInstruction = async (pathname: string) => {\n const { pages } = await structureParsedPromise;\n const pathnameNormalized = normalizePathname(pathname);\n const pageInstruction = pages[pathnameNormalized];\n\n if (!pageInstruction) {\n throw new Error(`Can not find data for \"${pathnameNormalized}\". Please check structure`);\n }\n\n return pageInstruction;\n };\n\n return { Page, Sidebar, getStaticParams, getMetadata, getPageData, getPageInstruction };\n};\n"],"names":["initializeRobindoc","structureTemplate","structureParsedPromise","async","loadStructure","then","structure","parseStructure","items","getConfiguration","configuration","Page","pathname","props","pages","pathnameNormalized","normalizePathname","pageInstruction","Error","paths","Object","keys","targetPageIndex","indexOf","prevPagePathname","nextPagePathname","length","prev","title","next","breadcrumbs","crumbs","map","crumb","clientPages","entries","reduce","acc","clientPath","origPath","push","React","ArticleBase","provider","uri","undefined","Sidebar","tree","createElement","SidebarBase","getStaticParams","prefix","segmentsParamKey","pagesArr","prefixWithoutTrailingSlash","removeTrailingSlash","cur","startsWith","substring","split","getMetadata","getMetadataBase","getPageData","data","loadContent","raw","getPageInstruction"],"mappings":"4bAkBA,MAQaA,EAAsBC,IAC/B,MAAMC,EATYC,OAAOF,GACQ,mBAAtBA,EACAA,IAEAA,EAKoBG,CAAcH,GAAmBI,KAAMC,GAClEC,EAAeD,EAAUE,OAAS,GAAIC,EAAiBH,EAAUI,eAAiB,CAAA,KA+GtF,MAAO,CAAEC,KA5GyBR,OAASS,cAAaC,MACpD,MAAMC,MAAEA,SAAgBZ,EAClBa,EAAqBC,EAAkBJ,GACvCK,EAAkBH,EAAMC,GAE9B,IAAKE,EACD,MAAM,IAAIC,MAAM,0BAA0BH,8BAG9C,MAAMI,EAAQC,OAAOC,KAAKP,GACpBQ,EAAkBH,EAAMI,QAAQR,GAChCS,EAAmBL,EAAMG,EAAkB,GAC3CG,EAAmBH,EAAkBH,EAAMO,OAAS,GAAKP,EAAMG,EAAkB,GACjFK,EAAOH,GAAoB,CAAEZ,SAAUY,EAAkBI,MAAOd,EAAMU,GAAkBI,OACxFC,EAAOJ,GAAoB,CAAEb,SAAUa,EAAkBG,MAAOd,EAAMW,GAAkBG,OAExFE,EAAcb,EAAgBc,OAAOC,IAAKC,IAAK,CAAQL,MAAOd,EAAMmB,GAAOL,MAAOhB,SAAUqB,KAC5FC,EAAcd,OAAOe,QAAQrB,GAAOsB,OACtC,CAACC,GAAMC,GAAcC,gBACbA,GAAUF,EAAIG,KAAK,CAAEF,aAAYC,aAC9BF,GAEX,IAGJ,OACII,gBAACC,EAAW,CACR9B,SAAUG,EACV4B,SAAU1B,EAAgBP,cAAciC,SACxCC,IAAK3B,EAAgB2B,IACrBhB,MAAOX,EAAgBW,MACvBE,YAAaA,EACbH,KAAMA,QAAQkB,EACdhB,KAAMA,QAAQgB,EACd/B,MAAOoB,KACHrB,KAyEHiC,QApE2B3C,MAAOU,IAC3C,MAAMkC,KAAEA,SAAe7C,EAEvB,OAAOuC,EAAAO,cAACC,EAAW,CAACF,KAAMA,KAAUlC,KAiEhBqC,gBA9DA/C,MACpBgD,EAAiB,GACjBC,EAAsB,cAEtB,MAAMtC,MAAEA,SAAgBZ,EAClBmD,EAAWjC,OAAOC,KAAKP,GACvBwC,EAA6BC,EAAoBJ,GAEvD,OAAOE,EAASjB,OAA8B,CAACC,EAAKmB,IAC3CA,EAAIC,WAAWH,IAEpBjB,EAAIG,KAAK,CACLY,CAACA,GAAmBI,EAAIE,UAAUJ,EAA2B5B,OAAS,GAAGiC,MAAM,OAG5EtB,GANiDA,EAOzD,KA8CgCuB,YA3CnBzD,MAAOS,IACvB,MAAME,MAAEA,SAAgBZ,EAClBa,EAAqBC,EAAkBJ,GACvCK,EAAkBH,EAAMC,GAE9B,IAAKE,EACD,MAAM,IAAIC,MAAM,0BAA0BH,8BAO9C,aAJuB8C,EAAgB,CACnCjB,IAAK3B,EAAgB2B,IACrBD,SAAU1B,EAAgBP,cAAciC,YAgCMmB,YA3BlC3D,MAAOS,IACvB,MAAME,MAAEA,SAAgBZ,EAClBa,EAAqBC,EAAkBJ,GACvCK,EAAkBH,EAAMC,GAE9B,IAAKE,EACD,MAAM,IAAIC,MAAM,0BAA0BH,8BAG9C,MAAMa,EAAQX,EAAgBW,OACxBmC,KAAEA,SAAeC,EAAY/C,EAAgB2B,IAAK3B,EAAgBP,cAAciC,UAEtF,MAAO,CAAEf,QAAOqC,IAAKF,IAe0CG,mBAZxC/D,MAAOS,IAC9B,MAAME,MAAEA,SAAgBZ,EAClBa,EAAqBC,EAAkBJ,GACvCK,EAAkBH,EAAMC,GAE9B,IAAKE,EACD,MAAM,IAAIC,MAAM,0BAA0BH,8BAG9C,OAAOE"}
|
|
1
|
+
{"version":3,"file":"initialize-robindoc.js","sources":["../../../src/core/utils/initialize-robindoc.tsx"],"sourcesContent":["import React from \"react\";\n\nimport { Article as ArticleBase, type ArticleProps as ArticlePropsBase } from \"@src/components/elements/article\";\nimport { Sidebar as SidebarBase, type SidebarProps as SidebarPropsBase } from \"@src/components/elements/sidebar\";\n\nimport { type StructureTemplate, type Options } from \"../types/initialize\";\nimport { parseStructure } from \"./parse-structure\";\nimport { getConfiguration } from \"./get-configuration\";\nimport { getMetadata as getMetadataBase } from \"./get-metadata\";\nimport { normalizePathname, removeTrailingSlash } from \"./path-tools\";\nimport { loadContent } from \"./load-content\";\n\ntype PageProps = Omit<Partial<ArticlePropsBase>, \"uri\" | \"content\" | \"provider\" | \"pathname\" | \"pages\"> & {\n pathname: string;\n};\n\ntype SidebarProps = Omit<SidebarPropsBase, \"tree\">;\n\nconst loadStructure = async (structureTemplate: StructureTemplate) => {\n let structure;\n if (typeof structureTemplate === \"function\") {\n structure = await structureTemplate();\n } else {\n structure = structureTemplate;\n }\n\n const configuration = getConfiguration(structure.configuration || {});\n\n return parseStructure(structure.items || [], configuration);\n};\n\nexport const initializeRobindoc = (structureTemplate: StructureTemplate, options: Options = {}) => {\n const structureParsedPromise = loadStructure(structureTemplate);\n const matchingRules = options.matcher?.map((rule) => new RegExp(`^${rule.replace(/^\\^|\\$$/g, \"\")}$`));\n\n const Page: React.FC<PageProps> = async ({ pathname, ...props }) => {\n const pathnameNormalized = normalizePathname(pathname);\n if (matchingRules && !matchingRules.every((rule) => rule.test(pathname))) {\n const errorMessage = `Pathname \"${pathnameNormalized}\" doesn't pass matcher rules check`;\n if (options.processError) return options.processError(404, errorMessage) || null;\n throw new Error(errorMessage);\n }\n\n const { pages } = await structureParsedPromise;\n const pageInstruction = pages[pathnameNormalized];\n\n if (!pageInstruction) {\n const errorMessage = `Can not find data for \"${pathnameNormalized}\". Please check structure`;\n if (options.processError) return options.processError(404, errorMessage) || null;\n throw new Error(errorMessage);\n }\n\n const paths = Object.keys(pages);\n const targetPageIndex = paths.indexOf(pathnameNormalized);\n const prevPagePathname = paths[targetPageIndex - 1];\n const nextPagePathname = targetPageIndex < paths.length - 1 && paths[targetPageIndex + 1];\n const prev = prevPagePathname && { pathname: prevPagePathname, title: pages[prevPagePathname].title };\n const next = nextPagePathname && { pathname: nextPagePathname, title: pages[nextPagePathname].title };\n\n const breadcrumbs = pageInstruction.crumbs.map((crumb) => ({ title: pages[crumb].title, pathname: crumb }));\n const clientPages = Object.entries(pages).reduce<{ clientPath: string; origPath: string }[]>(\n (acc, [clientPath, { origPath }]) => {\n if (origPath) acc.push({ clientPath, origPath });\n return acc;\n },\n [],\n );\n\n return (\n <ArticleBase\n pathname={pathnameNormalized}\n provider={pageInstruction.configuration.provider}\n uri={pageInstruction.uri}\n title={pageInstruction.title}\n breadcrumbs={breadcrumbs}\n prev={prev || undefined}\n next={next || undefined}\n pages={clientPages}\n {...props}\n />\n );\n };\n\n const Sidebar: React.FC<SidebarProps> = async (props) => {\n const { tree } = await structureParsedPromise;\n\n return <SidebarBase tree={tree} {...props} />;\n };\n\n const getStaticParams = async <T extends string = \"segments\">(\n prefix: string = \"\",\n segmentsParamKey: T = \"segments\" as T,\n ) => {\n const { pages } = await structureParsedPromise;\n const pagesArr = Object.keys(pages);\n const prefixWithoutTrailingSlash = removeTrailingSlash(prefix);\n\n return pagesArr.reduce<Record<T, string[]>[]>((acc, cur) => {\n if (!cur.startsWith(prefixWithoutTrailingSlash)) return acc;\n\n acc.push({\n [segmentsParamKey]: cur.substring(prefixWithoutTrailingSlash.length + 1).split(\"/\"),\n } as Record<T, string[]>);\n\n return acc;\n }, []);\n };\n\n const getMetadata = async (pathname: string) => {\n const pathnameNormalized = normalizePathname(pathname);\n if (matchingRules && !matchingRules.every((rule) => rule.test(pathname))) {\n const errorMessage = `Pathname \"${pathnameNormalized}\" doesn't pass matcher rules check`;\n if (options.processError) return options.processError(404, errorMessage) || null;\n throw new Error(errorMessage);\n }\n\n const { pages } = await structureParsedPromise;\n const pageInstruction = pages[pathnameNormalized];\n\n if (!pageInstruction) {\n const errorMessage = `Can not find data for \"${pathnameNormalized}\". Please check structure`;\n if (options.processError) return options.processError(404, errorMessage) || null;\n throw new Error(errorMessage);\n }\n\n const metadata = await getMetadataBase({\n uri: pageInstruction.uri,\n provider: pageInstruction.configuration.provider,\n });\n return metadata;\n };\n\n const getPageData = async (pathname: string) => {\n const pathnameNormalized = normalizePathname(pathname);\n if (matchingRules && !matchingRules.every((rule) => rule.test(pathname))) {\n const errorMessage = `Pathname \"${pathnameNormalized}\" doesn't pass matcher rules check`;\n if (options.processError) return options.processError(404, errorMessage) || null;\n throw new Error(errorMessage);\n }\n\n const { pages } = await structureParsedPromise;\n const pageInstruction = pages[pathnameNormalized];\n\n if (!pageInstruction) {\n const errorMessage = `Can not find data for \"${pathnameNormalized}\". Please check structure`;\n if (options.processError) return options.processError(404, errorMessage) || null;\n throw new Error(errorMessage);\n }\n\n const title = pageInstruction.title;\n const { data } = await loadContent(pageInstruction.uri, pageInstruction.configuration.provider);\n\n return { title, raw: data };\n };\n\n const getPageInstruction = async (pathname: string) => {\n const pathnameNormalized = normalizePathname(pathname);\n if (matchingRules && !matchingRules.every((rule) => rule.test(pathname))) {\n const errorMessage = `Pathname \"${pathnameNormalized}\" doesn't pass matcher rules check`;\n if (options.processError) return options.processError(404, errorMessage) || null;\n throw new Error(errorMessage);\n }\n\n const { pages } = await structureParsedPromise;\n const pageInstruction = pages[pathnameNormalized];\n\n if (!pageInstruction) {\n const errorMessage = `Can not find data for \"${pathnameNormalized}\". Please check structure`;\n if (options.processError) return options.processError(404, errorMessage) || null;\n throw new Error(errorMessage);\n }\n\n return pageInstruction;\n };\n\n return { Page, Sidebar, getStaticParams, getMetadata, getPageData, getPageInstruction };\n};\n"],"names":["initializeRobindoc","structureTemplate","options","structureParsedPromise","async","structure","configuration","getConfiguration","parseStructure","items","loadStructure","matchingRules","matcher","map","rule","RegExp","replace","Page","pathname","props","pathnameNormalized","normalizePathname","every","test","errorMessage","processError","Error","pages","pageInstruction","paths","Object","keys","targetPageIndex","indexOf","prevPagePathname","nextPagePathname","length","prev","title","next","breadcrumbs","crumbs","crumb","clientPages","entries","reduce","acc","clientPath","origPath","push","React","ArticleBase","provider","uri","undefined","Sidebar","tree","createElement","SidebarBase","getStaticParams","prefix","segmentsParamKey","pagesArr","prefixWithoutTrailingSlash","removeTrailingSlash","cur","startsWith","substring","split","getMetadata","getMetadataBase","getPageData","data","loadContent","raw","getPageInstruction"],"mappings":"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"}
|
package/lib/styles.css
CHANGED
|
@@ -1,93 +1,4 @@
|
|
|
1
|
-
.r-
|
|
2
|
-
position: sticky;
|
|
3
|
-
background-color: var(--r-main-50);
|
|
4
|
-
top: 0;
|
|
5
|
-
border-bottom: 1px solid var(--r-main-300);
|
|
6
|
-
height: 60px;
|
|
7
|
-
z-index: 1000;
|
|
8
|
-
box-sizing: border-box;
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
.r-header-body {
|
|
12
|
-
height: 100%;
|
|
13
|
-
display: flex;
|
|
14
|
-
justify-content: space-between;
|
|
15
|
-
align-items: center;
|
|
16
|
-
gap: 24px;
|
|
17
|
-
box-sizing: border-box;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
.r-header-logo {
|
|
21
|
-
display: block;
|
|
22
|
-
margin-right: 24px;
|
|
23
|
-
color: var(--r-main-700);
|
|
24
|
-
transition: color 0.2s;
|
|
25
|
-
box-sizing: border-box;
|
|
26
|
-
}
|
|
27
|
-
.r-header-logo:hover, .r-header-logo:focus {
|
|
28
|
-
color: var(--r-main-950);
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
.r-header-nav {
|
|
32
|
-
display: flex;
|
|
33
|
-
flex-direction: column;
|
|
34
|
-
gap: 12px 16px;
|
|
35
|
-
}
|
|
36
|
-
@media screen and (width >= 1024px) {
|
|
37
|
-
.r-header-nav {
|
|
38
|
-
flex-direction: row;
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
.r-header-link {
|
|
43
|
-
color: var(--r-main-600);
|
|
44
|
-
text-decoration: none;
|
|
45
|
-
padding: 4px 0;
|
|
46
|
-
transition: color 0.2s;
|
|
47
|
-
box-sizing: border-box;
|
|
48
|
-
}
|
|
49
|
-
.r-header-link:hover, .r-header-link:focus-visible {
|
|
50
|
-
color: var(--r-main-950);
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
.r-header-link._target {
|
|
54
|
-
color: var(--r-primary-800);
|
|
55
|
-
}
|
|
56
|
-
.r-header-link._target:hover, .r-header-link._target:focus-visible {
|
|
57
|
-
color: var(--r-primary-700);
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
.r-header-actions {
|
|
61
|
-
display: flex;
|
|
62
|
-
flex-direction: column-reverse;
|
|
63
|
-
gap: 16px;
|
|
64
|
-
align-items: stretch;
|
|
65
|
-
}
|
|
66
|
-
@media screen and (width >= 1024px) {
|
|
67
|
-
.r-header-actions {
|
|
68
|
-
flex-direction: row;
|
|
69
|
-
align-items: center;
|
|
70
|
-
gap: 28px;
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
.r-header-sections {
|
|
75
|
-
display: flex;
|
|
76
|
-
align-items: center;
|
|
77
|
-
gap: 12px;
|
|
78
|
-
}
|
|
79
|
-
@media screen and (width < 768px) {
|
|
80
|
-
.r-header-sections .r-dropdown {
|
|
81
|
-
flex: 1;
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
@media screen and (width < 768px) {
|
|
85
|
-
.r-header-sections .r-dropdown-drop {
|
|
86
|
-
max-width: none;
|
|
87
|
-
width: 100%;
|
|
88
|
-
left: 0;
|
|
89
|
-
}
|
|
90
|
-
}.r-footer {
|
|
1
|
+
.r-footer {
|
|
91
2
|
border-top: 1px solid var(--r-main-300);
|
|
92
3
|
padding-top: 16px;
|
|
93
4
|
padding-bottom: 16px;
|
|
@@ -122,42 +33,6 @@
|
|
|
122
33
|
}
|
|
123
34
|
.r-powered-link:hover {
|
|
124
35
|
color: var(--r-primary-900);
|
|
125
|
-
}.r-docs-container {
|
|
126
|
-
min-height: calc(100dvh - var(--r-header-height));
|
|
127
|
-
overflow-wrap: break-word;
|
|
128
|
-
box-sizing: border-box;
|
|
129
|
-
}
|
|
130
|
-
@media screen and (width >= 768px) {
|
|
131
|
-
.r-docs-container {
|
|
132
|
-
display: grid;
|
|
133
|
-
justify-content: center;
|
|
134
|
-
column-gap: 32px;
|
|
135
|
-
grid-template-areas: "sidebar breadcrumbs" "sidebar contents" "sidebar content" "sidebar pagination";
|
|
136
|
-
grid-template-columns: 1fr calc(100% - 248px);
|
|
137
|
-
grid-template-rows: auto auto 1fr auto;
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
@media screen and (width >= 1180px) {
|
|
141
|
-
.r-docs-container {
|
|
142
|
-
column-gap: 40px;
|
|
143
|
-
grid-template-areas: "sidebar breadcrumbs contents" "sidebar content contents" "sidebar pagination contents";
|
|
144
|
-
grid-template-columns: 1fr 640px 1fr;
|
|
145
|
-
grid-template-rows: auto 1fr auto;
|
|
146
|
-
}
|
|
147
|
-
}.r-blog-container {
|
|
148
|
-
min-height: calc(100dvh - var(--r-header-height));
|
|
149
|
-
overflow-wrap: break-word;
|
|
150
|
-
box-sizing: border-box;
|
|
151
|
-
}
|
|
152
|
-
@media screen and (width >= 1180px) {
|
|
153
|
-
.r-blog-container {
|
|
154
|
-
display: grid;
|
|
155
|
-
justify-content: space-between;
|
|
156
|
-
column-gap: 40px;
|
|
157
|
-
grid-template-areas: "breadcrumbs contents" "content contents" "pagination contents";
|
|
158
|
-
grid-template-columns: 760px 220px;
|
|
159
|
-
grid-template-rows: auto 1fr auto;
|
|
160
|
-
}
|
|
161
36
|
}.r-root {
|
|
162
37
|
--r-header-height: 60px;
|
|
163
38
|
position: relative;
|
|
@@ -390,10 +265,135 @@
|
|
|
390
265
|
--r-cl-60: #86181d;
|
|
391
266
|
--r-cl-61: #144620;
|
|
392
267
|
--r-cl-62: #c24e00;
|
|
268
|
+
}.r-docs-container {
|
|
269
|
+
min-height: calc(100dvh - var(--r-header-height));
|
|
270
|
+
overflow-wrap: break-word;
|
|
271
|
+
box-sizing: border-box;
|
|
272
|
+
}
|
|
273
|
+
@media screen and (width >= 768px) {
|
|
274
|
+
.r-docs-container {
|
|
275
|
+
display: grid;
|
|
276
|
+
justify-content: center;
|
|
277
|
+
column-gap: 32px;
|
|
278
|
+
grid-template-areas: "sidebar breadcrumbs" "sidebar contents" "sidebar content" "sidebar pagination";
|
|
279
|
+
grid-template-columns: 1fr calc(100% - 248px);
|
|
280
|
+
grid-template-rows: auto auto 1fr auto;
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
@media screen and (width >= 1180px) {
|
|
284
|
+
.r-docs-container {
|
|
285
|
+
column-gap: 40px;
|
|
286
|
+
grid-template-areas: "sidebar breadcrumbs contents" "sidebar content contents" "sidebar pagination contents";
|
|
287
|
+
grid-template-columns: 1fr 640px 1fr;
|
|
288
|
+
grid-template-rows: auto 1fr auto;
|
|
289
|
+
}
|
|
393
290
|
}.r-page-container {
|
|
394
291
|
min-height: calc(100dvh - var(--r-header-height));
|
|
395
292
|
overflow-wrap: break-word;
|
|
396
293
|
box-sizing: border-box;
|
|
294
|
+
}.r-blog-container {
|
|
295
|
+
min-height: calc(100dvh - var(--r-header-height));
|
|
296
|
+
overflow-wrap: break-word;
|
|
297
|
+
box-sizing: border-box;
|
|
298
|
+
}
|
|
299
|
+
@media screen and (width >= 1180px) {
|
|
300
|
+
.r-blog-container {
|
|
301
|
+
display: grid;
|
|
302
|
+
justify-content: space-between;
|
|
303
|
+
column-gap: 40px;
|
|
304
|
+
grid-template-areas: "breadcrumbs contents" "content contents" "pagination contents";
|
|
305
|
+
grid-template-columns: 760px 220px;
|
|
306
|
+
grid-template-rows: auto 1fr auto;
|
|
307
|
+
}
|
|
308
|
+
}.r-header {
|
|
309
|
+
position: sticky;
|
|
310
|
+
background-color: var(--r-main-50);
|
|
311
|
+
top: 0;
|
|
312
|
+
border-bottom: 1px solid var(--r-main-300);
|
|
313
|
+
height: 60px;
|
|
314
|
+
z-index: 1000;
|
|
315
|
+
box-sizing: border-box;
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
.r-header-body {
|
|
319
|
+
height: 100%;
|
|
320
|
+
display: flex;
|
|
321
|
+
justify-content: space-between;
|
|
322
|
+
align-items: center;
|
|
323
|
+
gap: 24px;
|
|
324
|
+
box-sizing: border-box;
|
|
325
|
+
}
|
|
326
|
+
|
|
327
|
+
.r-header-logo {
|
|
328
|
+
display: block;
|
|
329
|
+
margin-right: 24px;
|
|
330
|
+
color: var(--r-main-700);
|
|
331
|
+
transition: color 0.2s;
|
|
332
|
+
box-sizing: border-box;
|
|
333
|
+
}
|
|
334
|
+
.r-header-logo:hover, .r-header-logo:focus {
|
|
335
|
+
color: var(--r-main-950);
|
|
336
|
+
}
|
|
337
|
+
|
|
338
|
+
.r-header-nav {
|
|
339
|
+
display: flex;
|
|
340
|
+
flex-direction: column;
|
|
341
|
+
gap: 12px 16px;
|
|
342
|
+
}
|
|
343
|
+
@media screen and (width >= 1024px) {
|
|
344
|
+
.r-header-nav {
|
|
345
|
+
flex-direction: row;
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
|
|
349
|
+
.r-header-link {
|
|
350
|
+
color: var(--r-main-600);
|
|
351
|
+
text-decoration: none;
|
|
352
|
+
padding: 4px 0;
|
|
353
|
+
transition: color 0.2s;
|
|
354
|
+
box-sizing: border-box;
|
|
355
|
+
}
|
|
356
|
+
.r-header-link:hover, .r-header-link:focus-visible {
|
|
357
|
+
color: var(--r-main-950);
|
|
358
|
+
}
|
|
359
|
+
|
|
360
|
+
.r-header-link._target {
|
|
361
|
+
color: var(--r-primary-800);
|
|
362
|
+
}
|
|
363
|
+
.r-header-link._target:hover, .r-header-link._target:focus-visible {
|
|
364
|
+
color: var(--r-primary-700);
|
|
365
|
+
}
|
|
366
|
+
|
|
367
|
+
.r-header-actions {
|
|
368
|
+
display: flex;
|
|
369
|
+
flex-direction: column-reverse;
|
|
370
|
+
gap: 16px;
|
|
371
|
+
align-items: stretch;
|
|
372
|
+
}
|
|
373
|
+
@media screen and (width >= 1024px) {
|
|
374
|
+
.r-header-actions {
|
|
375
|
+
flex-direction: row;
|
|
376
|
+
align-items: center;
|
|
377
|
+
gap: 28px;
|
|
378
|
+
}
|
|
379
|
+
}
|
|
380
|
+
|
|
381
|
+
.r-header-sections {
|
|
382
|
+
display: flex;
|
|
383
|
+
align-items: center;
|
|
384
|
+
gap: 12px;
|
|
385
|
+
}
|
|
386
|
+
@media screen and (width < 768px) {
|
|
387
|
+
.r-header-sections .r-dropdown {
|
|
388
|
+
flex: 1;
|
|
389
|
+
}
|
|
390
|
+
}
|
|
391
|
+
@media screen and (width < 768px) {
|
|
392
|
+
.r-header-sections .r-dropdown-drop {
|
|
393
|
+
max-width: none;
|
|
394
|
+
width: 100%;
|
|
395
|
+
left: 0;
|
|
396
|
+
}
|
|
397
397
|
}.keylink-to-content {
|
|
398
398
|
position: absolute !important;
|
|
399
399
|
top: 8px;
|
|
@@ -725,6 +725,84 @@
|
|
|
725
725
|
|
|
726
726
|
.r-sidebar-drop[open] > .r-sidebar-drop-btn > .r-sidebar-drop-icon {
|
|
727
727
|
transform: rotate(90deg);
|
|
728
|
+
}.r-container {
|
|
729
|
+
max-width: 1180px;
|
|
730
|
+
padding-right: 12px;
|
|
731
|
+
padding-left: 12px;
|
|
732
|
+
margin-right: auto;
|
|
733
|
+
margin-left: auto;
|
|
734
|
+
box-sizing: border-box;
|
|
735
|
+
}.r-theme-switcher {
|
|
736
|
+
position: relative;
|
|
737
|
+
display: flex;
|
|
738
|
+
gap: 4px;
|
|
739
|
+
width: 108px;
|
|
740
|
+
height: 36px;
|
|
741
|
+
padding: 2px;
|
|
742
|
+
background-color: var(--r-main-950);
|
|
743
|
+
border-radius: 14px;
|
|
744
|
+
box-sizing: border-box;
|
|
745
|
+
}
|
|
746
|
+
.r-theme-switcher::before {
|
|
747
|
+
content: "";
|
|
748
|
+
position: absolute;
|
|
749
|
+
display: block;
|
|
750
|
+
height: 32px;
|
|
751
|
+
width: 32px;
|
|
752
|
+
top: 2px;
|
|
753
|
+
left: 2px;
|
|
754
|
+
background-color: var(--r-main-50);
|
|
755
|
+
border-radius: 12px;
|
|
756
|
+
transition: left 0.2s;
|
|
757
|
+
box-sizing: border-box;
|
|
758
|
+
}
|
|
759
|
+
|
|
760
|
+
.r-theme-switcher-btn {
|
|
761
|
+
padding: 8px;
|
|
762
|
+
background: none;
|
|
763
|
+
border: 0;
|
|
764
|
+
border-radius: 12px;
|
|
765
|
+
cursor: pointer;
|
|
766
|
+
color: var(--r-main-50);
|
|
767
|
+
fill: var(--r-main-950);
|
|
768
|
+
z-index: 1;
|
|
769
|
+
transition: color 0.2s 0.1s, fill 0.2s;
|
|
770
|
+
}
|
|
771
|
+
.r-theme-switcher-btn:hover {
|
|
772
|
+
color: var(--r-main-50);
|
|
773
|
+
fill: var(--r-main-50);
|
|
774
|
+
}
|
|
775
|
+
|
|
776
|
+
.r-theme-dark:not(.r-theme-system) .r-theme-switcher::before {
|
|
777
|
+
left: 2px;
|
|
778
|
+
}
|
|
779
|
+
|
|
780
|
+
.r-theme-dark:not(.r-theme-system) .r-theme-switcher-btn__dark {
|
|
781
|
+
color: var(--r-main-950);
|
|
782
|
+
pointer-events: none;
|
|
783
|
+
}
|
|
784
|
+
|
|
785
|
+
.r-theme-switcher::before,
|
|
786
|
+
.r-theme-system .r-theme-switcher::before {
|
|
787
|
+
left: 38px;
|
|
788
|
+
}
|
|
789
|
+
|
|
790
|
+
.r-theme-system .r-theme-switcher-btn__system {
|
|
791
|
+
color: var(--r-main-950);
|
|
792
|
+
pointer-events: none;
|
|
793
|
+
}
|
|
794
|
+
|
|
795
|
+
.r-theme-light:not(.r-theme-system) .r-theme-switcher::before {
|
|
796
|
+
left: 74px;
|
|
797
|
+
}
|
|
798
|
+
|
|
799
|
+
.r-theme-light:not(.r-theme-system) .r-theme-switcher-btn__light {
|
|
800
|
+
color: var(--r-main-950);
|
|
801
|
+
pointer-events: none;
|
|
802
|
+
}
|
|
803
|
+
|
|
804
|
+
.r-theme-switcher-svg {
|
|
805
|
+
display: block;
|
|
728
806
|
}.r-header-menu {
|
|
729
807
|
display: flex;
|
|
730
808
|
justify-content: flex-end;
|
|
@@ -1026,84 +1104,6 @@
|
|
|
1026
1104
|
}
|
|
1027
1105
|
.r-header-social-git:hover, .r-header-social-git:focus {
|
|
1028
1106
|
color: var(--r-main-950);
|
|
1029
|
-
}.r-container {
|
|
1030
|
-
max-width: 1180px;
|
|
1031
|
-
padding-right: 12px;
|
|
1032
|
-
padding-left: 12px;
|
|
1033
|
-
margin-right: auto;
|
|
1034
|
-
margin-left: auto;
|
|
1035
|
-
box-sizing: border-box;
|
|
1036
|
-
}.r-theme-switcher {
|
|
1037
|
-
position: relative;
|
|
1038
|
-
display: flex;
|
|
1039
|
-
gap: 4px;
|
|
1040
|
-
width: 108px;
|
|
1041
|
-
height: 36px;
|
|
1042
|
-
padding: 2px;
|
|
1043
|
-
background-color: var(--r-main-950);
|
|
1044
|
-
border-radius: 14px;
|
|
1045
|
-
box-sizing: border-box;
|
|
1046
|
-
}
|
|
1047
|
-
.r-theme-switcher::before {
|
|
1048
|
-
content: "";
|
|
1049
|
-
position: absolute;
|
|
1050
|
-
display: block;
|
|
1051
|
-
height: 32px;
|
|
1052
|
-
width: 32px;
|
|
1053
|
-
top: 2px;
|
|
1054
|
-
left: 2px;
|
|
1055
|
-
background-color: var(--r-main-50);
|
|
1056
|
-
border-radius: 12px;
|
|
1057
|
-
transition: left 0.2s;
|
|
1058
|
-
box-sizing: border-box;
|
|
1059
|
-
}
|
|
1060
|
-
|
|
1061
|
-
.r-theme-switcher-btn {
|
|
1062
|
-
padding: 8px;
|
|
1063
|
-
background: none;
|
|
1064
|
-
border: 0;
|
|
1065
|
-
border-radius: 12px;
|
|
1066
|
-
cursor: pointer;
|
|
1067
|
-
color: var(--r-main-50);
|
|
1068
|
-
fill: var(--r-main-950);
|
|
1069
|
-
z-index: 1;
|
|
1070
|
-
transition: color 0.2s 0.1s, fill 0.2s;
|
|
1071
|
-
}
|
|
1072
|
-
.r-theme-switcher-btn:hover {
|
|
1073
|
-
color: var(--r-main-50);
|
|
1074
|
-
fill: var(--r-main-50);
|
|
1075
|
-
}
|
|
1076
|
-
|
|
1077
|
-
.r-theme-dark:not(.r-theme-system) .r-theme-switcher::before {
|
|
1078
|
-
left: 2px;
|
|
1079
|
-
}
|
|
1080
|
-
|
|
1081
|
-
.r-theme-dark:not(.r-theme-system) .r-theme-switcher-btn__dark {
|
|
1082
|
-
color: var(--r-main-950);
|
|
1083
|
-
pointer-events: none;
|
|
1084
|
-
}
|
|
1085
|
-
|
|
1086
|
-
.r-theme-switcher::before,
|
|
1087
|
-
.r-theme-system .r-theme-switcher::before {
|
|
1088
|
-
left: 38px;
|
|
1089
|
-
}
|
|
1090
|
-
|
|
1091
|
-
.r-theme-system .r-theme-switcher-btn__system {
|
|
1092
|
-
color: var(--r-main-950);
|
|
1093
|
-
pointer-events: none;
|
|
1094
|
-
}
|
|
1095
|
-
|
|
1096
|
-
.r-theme-light:not(.r-theme-system) .r-theme-switcher::before {
|
|
1097
|
-
left: 74px;
|
|
1098
|
-
}
|
|
1099
|
-
|
|
1100
|
-
.r-theme-light:not(.r-theme-system) .r-theme-switcher-btn__light {
|
|
1101
|
-
color: var(--r-main-950);
|
|
1102
|
-
pointer-events: none;
|
|
1103
|
-
}
|
|
1104
|
-
|
|
1105
|
-
.r-theme-switcher-svg {
|
|
1106
|
-
display: block;
|
|
1107
1107
|
}.r-keylink {
|
|
1108
1108
|
display: block;
|
|
1109
1109
|
position: relative;
|
|
@@ -1640,19 +1640,6 @@
|
|
|
1640
1640
|
}
|
|
1641
1641
|
.r-blockquote-caution .r-blockquote-title {
|
|
1642
1642
|
color: var(--r-caution);
|
|
1643
|
-
}.r-code-block {
|
|
1644
|
-
font-family: var(--monospace-font, monospace, monospace);
|
|
1645
|
-
font-size: 16px;
|
|
1646
|
-
line-height: 1.33;
|
|
1647
|
-
border-radius: 6px;
|
|
1648
|
-
padding: 16px 20px;
|
|
1649
|
-
margin: 0;
|
|
1650
|
-
color: var(--r-primary-800);
|
|
1651
|
-
background-color: var(--r-main-50);
|
|
1652
|
-
overflow-x: auto;
|
|
1653
|
-
scrollbar-width: thin;
|
|
1654
|
-
scrollbar-color: var(--r-main-200) transparent;
|
|
1655
|
-
box-sizing: border-box;
|
|
1656
1643
|
}.r-code-span {
|
|
1657
1644
|
font-family: var(--monospace-font, monospace, monospace);
|
|
1658
1645
|
background-color: var(--r-main-100);
|
|
@@ -1667,6 +1654,22 @@
|
|
|
1667
1654
|
|
|
1668
1655
|
.r-code-span + .r-content-link-external {
|
|
1669
1656
|
margin-left: -12px;
|
|
1657
|
+
}.r-img {
|
|
1658
|
+
max-width: 100%;
|
|
1659
|
+
box-sizing: border-box;
|
|
1660
|
+
}.r-code-block {
|
|
1661
|
+
font-family: var(--monospace-font, monospace, monospace);
|
|
1662
|
+
font-size: 16px;
|
|
1663
|
+
line-height: 1.33;
|
|
1664
|
+
border-radius: 6px;
|
|
1665
|
+
padding: 16px 20px;
|
|
1666
|
+
margin: 0;
|
|
1667
|
+
color: var(--r-primary-800);
|
|
1668
|
+
background-color: var(--r-main-50);
|
|
1669
|
+
overflow-x: auto;
|
|
1670
|
+
scrollbar-width: thin;
|
|
1671
|
+
scrollbar-color: var(--r-main-200) transparent;
|
|
1672
|
+
box-sizing: border-box;
|
|
1670
1673
|
}.r-h1 {
|
|
1671
1674
|
font-size: 32px;
|
|
1672
1675
|
line-height: 1.4;
|
|
@@ -1707,9 +1710,6 @@
|
|
|
1707
1710
|
line-height: 1.4;
|
|
1708
1711
|
margin-block-start: 1.8em;
|
|
1709
1712
|
margin-block-end: 1.8em;
|
|
1710
|
-
}.r-img {
|
|
1711
|
-
max-width: 100%;
|
|
1712
|
-
box-sizing: border-box;
|
|
1713
1713
|
}.r-p {
|
|
1714
1714
|
line-height: 1.8;
|
|
1715
1715
|
margin-block-start: 1em;
|
|
@@ -1806,34 +1806,6 @@
|
|
|
1806
1806
|
min-width: 24px;
|
|
1807
1807
|
text-align: center;
|
|
1808
1808
|
box-sizing: border-box;
|
|
1809
|
-
}.r-copy-text {
|
|
1810
|
-
position: relative;
|
|
1811
|
-
cursor: pointer;
|
|
1812
|
-
background: none;
|
|
1813
|
-
border: 0;
|
|
1814
|
-
padding: 0;
|
|
1815
|
-
font: inherit;
|
|
1816
|
-
padding: 6px 0;
|
|
1817
|
-
}
|
|
1818
|
-
.r-copy-text:hover {
|
|
1819
|
-
color: var(--r-main-950);
|
|
1820
|
-
}
|
|
1821
|
-
.r-copy-text::before {
|
|
1822
|
-
content: "";
|
|
1823
|
-
position: absolute;
|
|
1824
|
-
bottom: 0;
|
|
1825
|
-
left: 0;
|
|
1826
|
-
width: 100%;
|
|
1827
|
-
height: 1px;
|
|
1828
|
-
background: linear-gradient(to right, currentColor 30%, transparent 0%, transparent 80%, currentColor 80%) repeat-x 0px/8px;
|
|
1829
|
-
transition: background 0.2s;
|
|
1830
|
-
box-sizing: border-box;
|
|
1831
|
-
opacity: 0.6;
|
|
1832
|
-
}
|
|
1833
|
-
|
|
1834
|
-
.r-copy-text:active,
|
|
1835
|
-
.r-copy-text._active {
|
|
1836
|
-
color: var(--r-success);
|
|
1837
1809
|
}.r-copy-button {
|
|
1838
1810
|
position: relative;
|
|
1839
1811
|
padding: 6px;
|
|
@@ -1926,6 +1898,34 @@
|
|
|
1926
1898
|
background-color: currentColor;
|
|
1927
1899
|
border-radius: 0 0 0 4px;
|
|
1928
1900
|
box-sizing: border-box;
|
|
1901
|
+
}.r-copy-text {
|
|
1902
|
+
position: relative;
|
|
1903
|
+
cursor: pointer;
|
|
1904
|
+
background: none;
|
|
1905
|
+
border: 0;
|
|
1906
|
+
padding: 0;
|
|
1907
|
+
font: inherit;
|
|
1908
|
+
padding: 6px 0;
|
|
1909
|
+
}
|
|
1910
|
+
.r-copy-text:hover {
|
|
1911
|
+
color: var(--r-main-950);
|
|
1912
|
+
}
|
|
1913
|
+
.r-copy-text::before {
|
|
1914
|
+
content: "";
|
|
1915
|
+
position: absolute;
|
|
1916
|
+
bottom: 0;
|
|
1917
|
+
left: 0;
|
|
1918
|
+
width: 100%;
|
|
1919
|
+
height: 1px;
|
|
1920
|
+
background: linear-gradient(to right, currentColor 30%, transparent 0%, transparent 80%, currentColor 80%) repeat-x 0px/8px;
|
|
1921
|
+
transition: background 0.2s;
|
|
1922
|
+
box-sizing: border-box;
|
|
1923
|
+
opacity: 0.6;
|
|
1924
|
+
}
|
|
1925
|
+
|
|
1926
|
+
.r-copy-text:active,
|
|
1927
|
+
.r-copy-text._active {
|
|
1928
|
+
color: var(--r-success);
|
|
1929
1929
|
}.r-li {
|
|
1930
1930
|
line-height: 1.8;
|
|
1931
1931
|
margin-block-start: 6px;
|
|
@@ -1945,15 +1945,15 @@
|
|
|
1945
1945
|
padding-inline-start: 2rem;
|
|
1946
1946
|
margin-block-start: 1em;
|
|
1947
1947
|
margin-block-end: 1em;
|
|
1948
|
+
}.r-td {
|
|
1949
|
+
padding: 6px 12px;
|
|
1950
|
+
border-bottom: 1px solid var(--r-main-400);
|
|
1951
|
+
border-collapse: collapse;
|
|
1948
1952
|
}.r-table {
|
|
1949
1953
|
min-width: 100%;
|
|
1950
1954
|
text-align: left;
|
|
1951
1955
|
border-collapse: collapse;
|
|
1952
1956
|
box-sizing: border-box;
|
|
1953
|
-
}.r-td {
|
|
1954
|
-
padding: 6px 12px;
|
|
1955
|
-
border-bottom: 1px solid var(--r-main-400);
|
|
1956
|
-
border-collapse: collapse;
|
|
1957
1957
|
}.r-th {
|
|
1958
1958
|
padding: 6px 12px;
|
|
1959
1959
|
border-top: 1px solid var(--r-main-500);
|
|
@@ -1961,6 +1961,10 @@
|
|
|
1961
1961
|
border-collapse: collapse;
|
|
1962
1962
|
}.r-thead {
|
|
1963
1963
|
background-color: var(--r-main-100);
|
|
1964
|
+
}.r-task-ul {
|
|
1965
|
+
list-style: none;
|
|
1966
|
+
}.r-task-ol {
|
|
1967
|
+
list-style: none;
|
|
1964
1968
|
}.r-task-li.r-task-li {
|
|
1965
1969
|
margin-block-start: 2px;
|
|
1966
1970
|
margin-block-end: 2px;
|
|
@@ -1990,10 +1994,6 @@
|
|
|
1990
1994
|
|
|
1991
1995
|
.r-task-label-text {
|
|
1992
1996
|
vertical-align: middle;
|
|
1993
|
-
}.r-task-ol {
|
|
1994
|
-
list-style: none;
|
|
1995
|
-
}.r-task-ul {
|
|
1996
|
-
list-style: none;
|
|
1997
1997
|
}.r-backdrop {
|
|
1998
1998
|
position: fixed;
|
|
1999
1999
|
top: 0;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "robindoc",
|
|
3
|
-
"version": "0.0.0-experimental-
|
|
3
|
+
"version": "0.0.0-experimental-ed3adfc",
|
|
4
4
|
"description": "Robindoc is a framework for automatically creating documentation websites based on markdown files, built on React.js Server Components",
|
|
5
5
|
"main": "./lib/index.js",
|
|
6
6
|
"scripts": {
|