robindoc 0.0.0-experimental-2f95616 → 0.0.0-experimental-7bcc2d8

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/README.md CHANGED
@@ -38,6 +38,7 @@ No additional configuration is needed, while preserving the accessibility and cl
38
38
  - Supports loading content from various sources, including GitHub. More details in the section "[Data Source](./docs/02-structure/03-data-source.md)";
39
39
  - Supports fully automatic documentation generation, as well as custom generation. More details in the section "[Structure](./docs/02-structure/README.md)";
40
40
  - Supports JSX/HTML and special Robin components for all sources. More details in the section "[Writing MD](./docs/01-getting-started/02-writing-md.md)";
41
+ - Fully isolated - does not provide any global styles and does not affect anything extra inside the documentation. Can be safely used inside any other service with any libraries. More details in the section "[Isolation](./docs/01-getting-started/04-app-organization.md#isolation)";
41
42
  - Optimized for metrics and accessibility.
42
43
 
43
44
  ## Additional
@@ -1,3 +1,3 @@
1
1
  'use client';
2
- import e,{useState as r,useRef as t,useCallback as n,useEffect as o}from"react";import{HeadingsContext as l,CurrentHeadingContext as c}from"./context.js";const i=({children:i})=>{const[s,d]=r(null),u=t([]),h=n(e=>{if(e.scrollTop+20>e.scrollHeight-window.innerHeight)d(u.current.length-1);else{const r=u.current.findLastIndex(r=>r.offsetTop<e.scrollTop+100);e.scrollTop+100>e.scrollHeight-window.innerHeight&&r<u.current.length-2?d(u.current.length-2):d(r)}},[]);return o(()=>{let e=!1;const r=document.querySelector(".r-root");if(!r)return;const t=1===r.nodeType?window:r,n=()=>{!e&&window.innerWidth>1080&&(e=!0,setTimeout(()=>{h(r),e=!1},100))};return h(r),t.addEventListener("scroll",n),()=>{t.removeEventListener("scroll",n)}},[]),e.createElement(l.Provider,{value:u.current},e.createElement(c.Provider,{value:s},i))};export{i as ContentsProvider};
2
+ import e,{useState as r,useRef as t,useCallback as n,useEffect as o}from"react";import{HeadingsContext as l,CurrentHeadingContext as c}from"./context.js";const i=({children:i})=>{const[s,u]=r(null),d=t([]),m=n(e=>{if(e.scrollTop+20>e.scrollHeight-window.innerHeight)u(d.current.length-1);else{const r=d.current.findLastIndex(r=>r.offsetTop<e.scrollTop+100);e.scrollTop+100>e.scrollHeight-window.innerHeight&&r<d.current.length-2?u(d.current.length-2):u(r)}},[]);return o(()=>{let e=!1;const r=document.querySelector(".r-root");if(!r)return;const t=r===document.documentElement?window:r,n=()=>{!e&&window.innerWidth>1080&&(e=!0,setTimeout(()=>{m(r),e=!1},100))};return m(r),t.addEventListener("scroll",n),()=>{t.removeEventListener("scroll",n)}},[]),e.createElement(l.Provider,{value:d.current},e.createElement(c.Provider,{value:s},i))};export{i as ContentsProvider};
3
3
  //# sourceMappingURL=provider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"provider.js","sources":["../../../../src/components/contexts/contents/provider.tsx"],"sourcesContent":["\"use client\";\n\nimport React, { useCallback, useEffect, useRef, useState } from \"react\";\nimport { CurrentHeadingContext, HeadingsContext } from \"./context\";\n\nexport const ContentsProvider: React.FC<React.PropsWithChildren> = ({ children }) => {\n const [activeIndex, setActiveIndex] = useState<number | null>(null);\n const headings = useRef<HTMLHeadingElement[]>([]);\n\n const updateTargetSection = useCallback((rootElement: HTMLElement) => {\n if (rootElement.scrollTop + 20 > rootElement.scrollHeight - window.innerHeight) {\n setActiveIndex(headings.current.length - 1);\n } else {\n const headingIndex = headings.current.findLastIndex((el) => el.offsetTop < rootElement.scrollTop + 100);\n if (\n rootElement.scrollTop + 100 > rootElement.scrollHeight - window.innerHeight &&\n headingIndex < headings.current.length - 2\n ) {\n setActiveIndex(headings.current.length - 2);\n } else {\n setActiveIndex(headingIndex);\n }\n }\n }, []);\n\n useEffect(() => {\n let scheduledAnimationFrame = false;\n const rootElement = document.querySelector<HTMLElement>(\".r-root\");\n\n if (!rootElement) return;\n\n const scrollElement = rootElement.nodeType === 1 ? window : rootElement;\n\n const scrollHandler = () => {\n if (!scheduledAnimationFrame && window.innerWidth > 1080) {\n scheduledAnimationFrame = true;\n setTimeout(() => {\n updateTargetSection(rootElement);\n scheduledAnimationFrame = false;\n }, 100);\n }\n };\n\n updateTargetSection(rootElement);\n scrollElement.addEventListener(\"scroll\", scrollHandler);\n\n return () => {\n scrollElement.removeEventListener(\"scroll\", scrollHandler);\n };\n }, []);\n\n return (\n <HeadingsContext.Provider value={headings.current}>\n <CurrentHeadingContext.Provider value={activeIndex}>{children}</CurrentHeadingContext.Provider>\n </HeadingsContext.Provider>\n );\n};\n"],"names":["ContentsProvider","children","activeIndex","setActiveIndex","useState","headings","useRef","updateTargetSection","useCallback","rootElement","scrollTop","scrollHeight","window","innerHeight","current","length","headingIndex","findLastIndex","el","offsetTop","useEffect","scheduledAnimationFrame","document","querySelector","scrollElement","nodeType","scrollHandler","innerWidth","setTimeout","addEventListener","removeEventListener","React","createElement","HeadingsContext","Provider","value","CurrentHeadingContext"],"mappings":"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"}
1
+ {"version":3,"file":"provider.js","sources":["../../../../src/components/contexts/contents/provider.tsx"],"sourcesContent":["\"use client\";\n\nimport React, { useCallback, useEffect, useRef, useState } from \"react\";\nimport { CurrentHeadingContext, HeadingsContext } from \"./context\";\n\nexport const ContentsProvider: React.FC<React.PropsWithChildren> = ({ children }) => {\n const [activeIndex, setActiveIndex] = useState<number | null>(null);\n const headings = useRef<HTMLHeadingElement[]>([]);\n\n const updateTargetSection = useCallback((rootElement: HTMLElement) => {\n if (rootElement.scrollTop + 20 > rootElement.scrollHeight - window.innerHeight) {\n setActiveIndex(headings.current.length - 1);\n } else {\n const headingIndex = headings.current.findLastIndex((el) => el.offsetTop < rootElement.scrollTop + 100);\n if (\n rootElement.scrollTop + 100 > rootElement.scrollHeight - window.innerHeight &&\n headingIndex < headings.current.length - 2\n ) {\n setActiveIndex(headings.current.length - 2);\n } else {\n setActiveIndex(headingIndex);\n }\n }\n }, []);\n\n useEffect(() => {\n let scheduledAnimationFrame = false;\n const rootElement = document.querySelector<HTMLElement>(\".r-root\");\n\n if (!rootElement) return;\n\n const scrollElement = rootElement === document.documentElement ? window : rootElement;\n\n const scrollHandler = () => {\n if (!scheduledAnimationFrame && window.innerWidth > 1080) {\n scheduledAnimationFrame = true;\n setTimeout(() => {\n updateTargetSection(rootElement);\n scheduledAnimationFrame = false;\n }, 100);\n }\n };\n\n updateTargetSection(rootElement);\n scrollElement.addEventListener(\"scroll\", scrollHandler);\n\n return () => {\n scrollElement.removeEventListener(\"scroll\", scrollHandler);\n };\n }, []);\n\n return (\n <HeadingsContext.Provider value={headings.current}>\n <CurrentHeadingContext.Provider value={activeIndex}>{children}</CurrentHeadingContext.Provider>\n </HeadingsContext.Provider>\n );\n};\n"],"names":["ContentsProvider","children","activeIndex","setActiveIndex","useState","headings","useRef","updateTargetSection","useCallback","rootElement","scrollTop","scrollHeight","window","innerHeight","current","length","headingIndex","findLastIndex","el","offsetTop","useEffect","scheduledAnimationFrame","document","querySelector","scrollElement","documentElement","scrollHandler","innerWidth","setTimeout","addEventListener","removeEventListener","React","createElement","HeadingsContext","Provider","value","CurrentHeadingContext"],"mappings":"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"}
package/lib/styles.css CHANGED
@@ -444,10 +444,6 @@
444
444
  grid-template-columns: 1fr 640px 1fr;
445
445
  grid-template-rows: auto 1fr auto;
446
446
  }
447
- }.r-page-container {
448
- min-height: calc(100dvh - var(--r-header-height));
449
- overflow-wrap: break-word;
450
- box-sizing: border-box;
451
447
  }.r-blog-container {
452
448
  min-height: calc(100dvh - var(--r-header-height));
453
449
  overflow-wrap: break-word;
@@ -462,6 +458,10 @@
462
458
  grid-template-columns: 760px 220px;
463
459
  grid-template-rows: auto 1fr auto;
464
460
  }
461
+ }.r-page-container {
462
+ min-height: calc(100dvh - var(--r-header-height));
463
+ overflow-wrap: break-word;
464
+ box-sizing: border-box;
465
465
  }.keylink-to-content {
466
466
  position: absolute !important;
467
467
  top: 8px;
@@ -880,85 +880,6 @@
880
880
  .r-header-input:checked ~ .r-header-burger .r-burger-line._bottom {
881
881
  transform: translateY(0) rotate(-45deg);
882
882
  margin-top: 0;
883
- }.r-dropdown {
884
- position: relative;
885
- color: var(--r-neutral-600);
886
- transition: color 0.2s 0.1s;
887
- }
888
- .r-dropdown:hover, .r-dropdown:focus-within {
889
- color: var(--r-neutral-950);
890
- }
891
- .r-dropdown:hover .r-dropdown-drop, .r-dropdown:focus-within .r-dropdown-drop {
892
- visibility: visible;
893
- pointer-events: all;
894
- transform: translateY(20px);
895
- opacity: 1;
896
- }
897
- .r-dropdown:hover .r-dropdown-chevron, .r-dropdown:focus-within .r-dropdown-chevron {
898
- transform: rotate(180deg);
899
- }
900
-
901
- .r-dropdown-summary {
902
- display: flex;
903
- justify-content: space-between;
904
- align-items: center;
905
- width: 100%;
906
- position: relative;
907
- color: inherit;
908
- cursor: pointer;
909
- padding: 10px 4px;
910
- font-size: 16px;
911
- border: 0;
912
- background: none;
913
- z-index: 1;
914
- box-sizing: border-box;
915
- }
916
-
917
- .r-dropdown-chevron {
918
- display: block;
919
- margin-left: 6px;
920
- transition: transform 0.3s 0.1s;
921
- box-sizing: border-box;
922
- }
923
-
924
- .r-dropdown-drop {
925
- list-style: none;
926
- position: absolute;
927
- top: 16px;
928
- left: -12px;
929
- visibility: hidden;
930
- pointer-events: none;
931
- opacity: 0;
932
- transition: transform 0.3s 0.1s, opacity 0.3s 0.1s, visibility 0.3s 0.1s;
933
- background-color: var(--r-neutral-50);
934
- border: 1px solid var(--r-neutral-100);
935
- border-radius: 8px;
936
- margin: 0;
937
- padding: 2px 6px;
938
- min-width: 120px;
939
- max-width: 180px;
940
- box-sizing: border-box;
941
- }
942
-
943
- .r-dropdown-link {
944
- display: block;
945
- width: 100%;
946
- text-decoration: none;
947
- color: var(--r-neutral-700);
948
- padding: 4px 8px;
949
- margin-top: 4px;
950
- margin-bottom: 4px;
951
- border-radius: 4px;
952
- transition: background-color 0.2s;
953
- box-sizing: border-box;
954
- }
955
- .r-dropdown-link:hover {
956
- color: var(--r-neutral-900);
957
- background-color: var(--r-neutral-100);
958
- }
959
-
960
- .r-dropdown-link._active {
961
- color: var(--r-primary-700);
962
883
  }.r-search-btn {
963
884
  position: relative;
964
885
  border-radius: 6px;
@@ -1075,6 +996,85 @@
1075
996
  font-size: 14px;
1076
997
  color: var(--r-neutral-600);
1077
998
  margin: 12px 0 0;
999
+ }.r-dropdown {
1000
+ position: relative;
1001
+ color: var(--r-neutral-600);
1002
+ transition: color 0.2s 0.1s;
1003
+ }
1004
+ .r-dropdown:hover, .r-dropdown:focus-within {
1005
+ color: var(--r-neutral-950);
1006
+ }
1007
+ .r-dropdown:hover .r-dropdown-drop, .r-dropdown:focus-within .r-dropdown-drop {
1008
+ visibility: visible;
1009
+ pointer-events: all;
1010
+ transform: translateY(20px);
1011
+ opacity: 1;
1012
+ }
1013
+ .r-dropdown:hover .r-dropdown-chevron, .r-dropdown:focus-within .r-dropdown-chevron {
1014
+ transform: rotate(180deg);
1015
+ }
1016
+
1017
+ .r-dropdown-summary {
1018
+ display: flex;
1019
+ justify-content: space-between;
1020
+ align-items: center;
1021
+ width: 100%;
1022
+ position: relative;
1023
+ color: inherit;
1024
+ cursor: pointer;
1025
+ padding: 10px 4px;
1026
+ font-size: 16px;
1027
+ border: 0;
1028
+ background: none;
1029
+ z-index: 1;
1030
+ box-sizing: border-box;
1031
+ }
1032
+
1033
+ .r-dropdown-chevron {
1034
+ display: block;
1035
+ margin-left: 6px;
1036
+ transition: transform 0.3s 0.1s;
1037
+ box-sizing: border-box;
1038
+ }
1039
+
1040
+ .r-dropdown-drop {
1041
+ list-style: none;
1042
+ position: absolute;
1043
+ top: 16px;
1044
+ left: -12px;
1045
+ visibility: hidden;
1046
+ pointer-events: none;
1047
+ opacity: 0;
1048
+ transition: transform 0.3s 0.1s, opacity 0.3s 0.1s, visibility 0.3s 0.1s;
1049
+ background-color: var(--r-neutral-50);
1050
+ border: 1px solid var(--r-neutral-100);
1051
+ border-radius: 8px;
1052
+ margin: 0;
1053
+ padding: 2px 6px;
1054
+ min-width: 120px;
1055
+ max-width: 180px;
1056
+ box-sizing: border-box;
1057
+ }
1058
+
1059
+ .r-dropdown-link {
1060
+ display: block;
1061
+ width: 100%;
1062
+ text-decoration: none;
1063
+ color: var(--r-neutral-700);
1064
+ padding: 4px 8px;
1065
+ margin-top: 4px;
1066
+ margin-bottom: 4px;
1067
+ border-radius: 4px;
1068
+ transition: background-color 0.2s;
1069
+ box-sizing: border-box;
1070
+ }
1071
+ .r-dropdown-link:hover {
1072
+ color: var(--r-neutral-900);
1073
+ background-color: var(--r-neutral-100);
1074
+ }
1075
+
1076
+ .r-dropdown-link._active {
1077
+ color: var(--r-primary-700);
1078
1078
  }.r-container {
1079
1079
  max-width: 1180px;
1080
1080
  padding-right: 12px;
@@ -1191,47 +1191,6 @@
1191
1191
  user-select: none;
1192
1192
  pointer-events: none;
1193
1193
  box-sizing: border-box;
1194
- }.r-breadcrumbs {
1195
- grid-area: breadcrumbs;
1196
- list-style: none;
1197
- margin: 0;
1198
- padding: 20px 0 0;
1199
- line-height: 2;
1200
- }
1201
- @media screen and (width >= 768px) {
1202
- .r-breadcrumbs {
1203
- padding: 32px 0 0;
1204
- }
1205
- }
1206
-
1207
- .r-breadcrumb {
1208
- display: inline;
1209
- }
1210
-
1211
- .r-breadcrumb._previous::after {
1212
- content: "/";
1213
- font-weight: 600;
1214
- margin-inline: 8px;
1215
- }
1216
-
1217
- .r-breadcrumb-link {
1218
- color: var(--r-neutral-700);
1219
- text-decoration: none;
1220
- }
1221
- .r-breadcrumb-link:hover {
1222
- color: var(--r-primary-800);
1223
- }
1224
-
1225
- .r-breadcrumb-link,
1226
- .r-breadcrumb-title {
1227
- display: inline;
1228
- padding: 6px 0;
1229
- margin: 0;
1230
- }
1231
-
1232
- .r-breadcrumb-title {
1233
- color: var(--r-neutral-950);
1234
- font-weight: 600;
1235
1194
  }.r-contents {
1236
1195
  grid-area: contents;
1237
1196
  }
@@ -1465,6 +1424,50 @@
1465
1424
  }
1466
1425
  .r-contents-git:hover {
1467
1426
  color: var(--r-neutral-900);
1427
+ }.r-breadcrumbs {
1428
+ grid-area: breadcrumbs;
1429
+ list-style: none;
1430
+ margin: 0;
1431
+ padding: 20px 0 0;
1432
+ line-height: 2;
1433
+ }
1434
+ @media screen and (width >= 768px) {
1435
+ .r-breadcrumbs {
1436
+ padding: 32px 0 0;
1437
+ }
1438
+ }
1439
+
1440
+ .r-breadcrumb {
1441
+ display: inline;
1442
+ }
1443
+
1444
+ .r-breadcrumb._previous::after {
1445
+ content: "/";
1446
+ font-weight: 600;
1447
+ margin-inline: 8px;
1448
+ }
1449
+
1450
+ .r-breadcrumb-link {
1451
+ color: var(--r-neutral-700);
1452
+ text-decoration: none;
1453
+ }
1454
+ .r-breadcrumb-link:hover {
1455
+ color: var(--r-primary-800);
1456
+ }
1457
+
1458
+ .r-breadcrumb-link,
1459
+ .r-breadcrumb-title {
1460
+ display: inline;
1461
+ padding: 6px 0;
1462
+ margin: 0;
1463
+ }
1464
+
1465
+ .r-breadcrumb-title {
1466
+ color: var(--r-neutral-950);
1467
+ font-weight: 600;
1468
+ }.r-last-modified {
1469
+ color: var(--r-neutral-700);
1470
+ margin-block-start: 16px;
1468
1471
  }.r-pagination {
1469
1472
  grid-area: pagination;
1470
1473
  display: grid;
@@ -1539,9 +1542,6 @@
1539
1542
 
1540
1543
  .r-pagination-svg {
1541
1544
  display: block;
1542
- }.r-last-modified {
1543
- color: var(--r-neutral-700);
1544
- margin-block-start: 16px;
1545
1545
  }.r-git-logo {
1546
1546
  display: block;
1547
1547
  }.r-external-mark {
@@ -1729,9 +1729,6 @@
1729
1729
 
1730
1730
  .r-code-span + .r-content-link-external {
1731
1731
  margin-left: -12px;
1732
- }.r-img {
1733
- max-width: 100%;
1734
- box-sizing: border-box;
1735
1732
  }.r-h1 {
1736
1733
  font-size: 32px;
1737
1734
  line-height: 1.4;
@@ -1772,6 +1769,9 @@
1772
1769
  line-height: 1.4;
1773
1770
  margin-block-start: 1.8em;
1774
1771
  margin-block-end: 1.8em;
1772
+ }.r-img {
1773
+ max-width: 100%;
1774
+ box-sizing: border-box;
1775
1775
  }.r-p {
1776
1776
  line-height: 1.8;
1777
1777
  margin-block-start: 1em;
@@ -1854,14 +1854,6 @@
1854
1854
  .r-modal._visible {
1855
1855
  transform: translateX(-50%) scale(1);
1856
1856
  }
1857
- }.r-kbd-container {
1858
- display: flex;
1859
- gap: 4px;
1860
- font-size: 14px;
1861
- cursor: pointer;
1862
- }
1863
- .r-kbd-container:hover {
1864
- color: var(--r-neutral-950);
1865
1857
  }.r-kbd-key {
1866
1858
  background-color: var(--r-neutral-200);
1867
1859
  font-size: 12px;
@@ -1870,6 +1862,14 @@
1870
1862
  min-width: 24px;
1871
1863
  text-align: center;
1872
1864
  box-sizing: border-box;
1865
+ }.r-kbd-container {
1866
+ display: flex;
1867
+ gap: 4px;
1868
+ font-size: 14px;
1869
+ cursor: pointer;
1870
+ }
1871
+ .r-kbd-container:hover {
1872
+ color: var(--r-neutral-950);
1873
1873
  }.r-copy-button {
1874
1874
  position: relative;
1875
1875
  padding: 8px;
@@ -1983,11 +1983,6 @@
1983
1983
  background-color: currentColor;
1984
1984
  border-radius: 0 0 0 4px;
1985
1985
  box-sizing: border-box;
1986
- }.r-ol {
1987
- padding-inline-start: 0;
1988
- list-style-position: inside;
1989
- margin-block-start: 1em;
1990
- margin-block-end: 1em;
1991
1986
  }.r-li {
1992
1987
  line-height: 1.8;
1993
1988
  margin-block-start: 6px;
@@ -1999,6 +1994,11 @@
1999
1994
  padding-inline-start: 20px;
2000
1995
  margin-block-start: 6px;
2001
1996
  margin-block-end: 6px;
1997
+ }.r-ol {
1998
+ padding-inline-start: 0;
1999
+ list-style-position: inside;
2000
+ margin-block-start: 1em;
2001
+ margin-block-end: 1em;
2002
2002
  }.r-ul {
2003
2003
  padding-inline-start: 0;
2004
2004
  list-style-position: inside;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "robindoc",
3
- "version": "0.0.0-experimental-2f95616",
3
+ "version": "0.0.0-experimental-7bcc2d8",
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": {