sidebar.ts 8.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270
  1. import { type DefaultTheme } from 'vitepress'
  2. export function builtinModulesApiSidebarItems(): DefaultTheme.SidebarItem[] {
  3. return [
  4. { text: 'import', link: 'builtin-modules/import' },
  5. { text: 'inherit', link: 'builtin-modules/inherit' },
  6. { text: 'try-catch-finally', link: 'builtin-modules/try-catch-finally' },
  7. { text: 'pairs', link: 'builtin-modules/pairs' },
  8. { text: 'ipairs', link: 'builtin-modules/ipairs' },
  9. { text: 'print', link: 'builtin-modules/print' },
  10. { text: 'printf', link: 'builtin-modules/printf' },
  11. { text: 'cprint', link: 'builtin-modules/cprint' },
  12. { text: 'cprintf', link: 'builtin-modules/cprintf' },
  13. { text: 'format', link: 'builtin-modules/format' },
  14. { text: 'vformat', link: 'builtin-modules/vformat' },
  15. { text: 'raise', link: 'builtin-pmodules/raise' },
  16. { text: 'os', link: 'builtin-modules/os' },
  17. { text: 'io', link: 'builtin-modules/io' },
  18. { text: 'path', link: 'builtin-modules/path' },
  19. { text: 'hash', link: 'builtin-modules/hash' },
  20. { text: 'table', link: 'builtin-modules/table' },
  21. { text: 'string', link: 'builtin-modules/string' },
  22. { text: 'coroutine', link: 'builtin-modules/coroutine' },
  23. { text: 'winos', link: 'builtin-modules/winos' },
  24. { text: 'macos', link: 'builtin-modules/macos' },
  25. { text: 'linuxos', link: 'builtin-modules/linuxos' },
  26. { text: 'signal', link: 'builtin-modules/signal' },
  27. ]
  28. }
  29. export function extensionModulesApiSidebarItems(): DefaultTheme.SidebarItem[] {
  30. return [
  31. asyncModulesApiSidebar(),
  32. cliModulesApiSidebar(),
  33. coreModulesApiSidebar(),
  34. develModulesApiSidebar(),
  35. libModulesApiSidebar(),
  36. netModulesApiSidebar(),
  37. packageModulesApiSidebar(),
  38. privilegeModulesApiSidebar(),
  39. utilsModulesApiSidebar(),
  40. ]
  41. }
  42. function coreModulesApiSidebar(): DefaultTheme.SidebarItem {
  43. return {
  44. text: 'core',
  45. collapsed: true,
  46. items: [
  47. coreBaseModulesApiSidebar(),
  48. coreCacheModulesApiSidebar(),
  49. coreCompressModulesApiSidebar(),
  50. coreLanguageModulesApiSidebar(),
  51. coreProjectModulesApiSidebar(),
  52. coreToolModulesApiSidebar(),
  53. coreUiModulesApiSidebar(),
  54. ]
  55. }
  56. }
  57. function coreBaseModulesApiSidebar(): DefaultTheme.SidebarItem {
  58. return {
  59. text: 'base',
  60. collapsed: true,
  61. items: [
  62. { text: 'bit', link: 'extension-modules/core/base/bit' },
  63. { text: 'bloom_filter', link: 'extension-modules/core/base/bloom_filter' },
  64. { text: 'bytes', link: 'extension-modules/core/base/bytes' },
  65. { text: 'cpu', link: 'extension-modules/core/base/cpu' },
  66. { text: 'global', link: 'extension-modules/core/base/global' },
  67. { text: 'graph', link: 'extension-modules/core/base/graph' },
  68. { text: 'hashset', link: 'extension-modules/core/base/hashset' },
  69. { text: 'heap', link: 'extension-modules/core/base/heap' },
  70. { text: 'json', link: 'extension-modules/core/base/json' },
  71. { text: 'libc', link: 'extension-modules/core/base/libc' },
  72. { text: 'list', link: 'extension-modules/core/base/list' },
  73. { text: 'option', link: 'extension-modules/core/base/option' },
  74. { text: 'pipe', link: 'extension-modules/core/base/pipe' },
  75. { text: 'privilege', link: 'extension-modules/core/base/privilege' },
  76. { text: 'process', link: 'extension-modules/core/base/process' },
  77. { text: 'queue', link: 'extension-modules/core/base/queue' },
  78. { text: 'scheduler', link: 'extension-modules/core/base/scheduler' },
  79. { text: 'semver', link: 'extension-modules/core/base/semver' },
  80. { text: 'socket', link: 'extension-modules/core/base/socket' },
  81. { text: 'task', link: 'extension-modules/core/base/task' },
  82. { text: 'thread', link: 'extension-modules/core/base/thread' },
  83. { text: 'tty', link: 'extension-modules/core/base/tty' },
  84. { text: 'xml', link: 'extension-modules/core/base/xml' },
  85. ]
  86. }
  87. }
  88. function coreCacheModulesApiSidebar(): DefaultTheme.SidebarItem {
  89. return {
  90. text: 'cache',
  91. collapsed: true,
  92. items: [
  93. { text: 'detectcache', link: 'extension-modules/core/cache/detectcache' },
  94. { text: 'global_detectcache', link: 'extension-modules/core/cache/global_detectcache' },
  95. { text: 'globalcache', link: 'extension-modules/core/cache/globalcache' },
  96. { text: 'localcache', link: 'extension-modules/core/cache/localcache' },
  97. { text: 'memcache', link: 'extension-modules/core/cache/memcache' },
  98. ]
  99. }
  100. }
  101. function coreCompressModulesApiSidebar(): DefaultTheme.SidebarItem {
  102. return {
  103. text: 'compress',
  104. collapsed: true,
  105. items: [
  106. { text: 'lz4', link: 'extension-modules/core/compress/lz4' },
  107. ]
  108. }
  109. }
  110. function coreLanguageModulesApiSidebar(): DefaultTheme.SidebarItem {
  111. return {
  112. text: 'language',
  113. collapsed: true,
  114. items: [
  115. { text: 'language', link: 'extension-modules/core/language/language' },
  116. ]
  117. }
  118. }
  119. function coreToolModulesApiSidebar(): DefaultTheme.SidebarItem {
  120. return {
  121. text: 'tool',
  122. collapsed: true,
  123. items: [
  124. { text: 'compiler', link: 'extension-modules/core/tool/compiler' },
  125. { text: 'linker', link: 'extension-modules/core/tool/linker' },
  126. ]
  127. }
  128. }
  129. function coreUiModulesApiSidebar(): DefaultTheme.SidebarItem {
  130. return {
  131. text: 'ui',
  132. collapsed: true,
  133. items: [
  134. { text: 'action', link: 'extension-modules/core/ui/action' },
  135. { text: 'application', link: 'extension-modules/core/ui/application' },
  136. { text: 'button', link: 'extension-modules/core/ui/button' },
  137. { text: 'choicebox', link: 'extension-modules/core/ui/choicebox' },
  138. { text: 'choicedialog', link: 'extension-modules/core/ui/choicedialog' },
  139. { text: 'boxdialog', link: 'extension-modules/core/ui/boxdialog' },
  140. { text: 'dialog', link: 'extension-modules/core/ui/dialog' },
  141. { text: 'event', link: 'extension-modules/core/ui/event' },
  142. { text: 'inputdialog', link: 'extension-modules/core/ui/inputdialog' },
  143. { text: 'label', link: 'extension-modules/core/ui/label' },
  144. { text: 'mconfdialog', link: 'extension-modules/core/ui/mconfdialog' },
  145. { text: 'menubar', link: 'extension-modules/core/ui/menubar' },
  146. { text: 'scrollbar', link: 'extension-modules/core/ui/scrollbar' },
  147. { text: 'statusbar', link: 'extension-modules/core/ui/statusbar' },
  148. { text: 'textdialog', link: 'extension-modules/core/ui/textdialog' },
  149. { text: 'textedit', link: 'extension-modules/core/ui/textedit' },
  150. { text: 'view', link: 'extension-modules/core/ui/view' },
  151. { text: 'window', link: 'extension-modules/core/ui/window' },
  152. ]
  153. }
  154. }
  155. function cliModulesApiSidebar(): DefaultTheme.SidebarItem {
  156. return {
  157. text: 'cli',
  158. collapsed: true,
  159. items: [
  160. { text: 'amalgamate', link: 'extension-modules/cli/amalgamate' },
  161. ]
  162. }
  163. }
  164. function coreProjectModulesApiSidebar(): DefaultTheme.SidebarItem {
  165. return {
  166. text: 'project',
  167. collapsed: true,
  168. items: [
  169. { text: 'config', link: 'extension-modules/core/project/config' },
  170. { text: 'project', link: 'extension-modules/core/project/project' },
  171. ]
  172. }
  173. }
  174. function develModulesApiSidebar(): DefaultTheme.SidebarItem {
  175. return {
  176. text: 'devel',
  177. collapsed: true,
  178. items: [
  179. { text: 'git', link: 'extension-modules/devel/git' },
  180. ]
  181. }
  182. }
  183. function libModulesApiSidebar(): DefaultTheme.SidebarItem {
  184. return {
  185. text: 'lib',
  186. collapsed: true,
  187. items: [
  188. { text: 'detect', link: 'extension-modules/lib/detect' },
  189. libLuaModulesApiSidebar(),
  190. ]
  191. }
  192. }
  193. function libLuaModulesApiSidebar(): DefaultTheme.SidebarItem {
  194. return {
  195. text: 'lua',
  196. collapsed: true,
  197. items: [
  198. { text: 'package', link: 'extension-modules/lib/lua/package' },
  199. ]
  200. }
  201. }
  202. function netModulesApiSidebar(): DefaultTheme.SidebarItem {
  203. return {
  204. text: 'net',
  205. collapsed: true,
  206. items: [
  207. { text: 'http', link: 'extension-modules/net/http' },
  208. { text: 'ping', link: 'extension-modules/net/ping' },
  209. ]
  210. }
  211. }
  212. function asyncModulesApiSidebar(): DefaultTheme.SidebarItem {
  213. return {
  214. text: 'async',
  215. collapsed: true,
  216. items: [
  217. { text: 'jobgraph', link: 'extension-modules/async/jobgraph' },
  218. { text: 'runjobs', link: 'extension-modules/async/runjobs' },
  219. ]
  220. }
  221. }
  222. function privilegeModulesApiSidebar(): DefaultTheme.SidebarItem {
  223. return {
  224. text: 'privilege',
  225. collapsed: true,
  226. items: [
  227. { text: 'sudo', link: 'extension-modules/privilege/sudo' },
  228. ]
  229. }
  230. }
  231. function utilsModulesApiSidebar(): DefaultTheme.SidebarItem {
  232. return {
  233. text: 'utils',
  234. collapsed: true,
  235. items: [
  236. { text: 'archive', link: 'extension-modules/utils/archive' },
  237. { text: 'binary', link: 'extension-modules/utils/binary' },
  238. { text: 'platform', link: 'extension-modules/utils/platform' },
  239. ]
  240. }
  241. }
  242. function packageModulesApiSidebar(): DefaultTheme.SidebarItem {
  243. return {
  244. text: 'package',
  245. collapsed: true,
  246. items: [
  247. { text: 'tools', link: 'extension-modules/package/tools' },
  248. ]
  249. }
  250. }