@beforesemicolon/builder 1.7.0 → 1.8.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.
Files changed (161) hide show
  1. package/README.md +33 -30
  2. package/dist/cjs/build-modules.js +1 -1
  3. package/dist/cjs/docs/run.js +1 -1
  4. package/dist/cjs/docs/templates/fading-citrus/assets/before-semicolon-logo.png +0 -0
  5. package/dist/cjs/docs/templates/fading-citrus/assets/client-server.svg +4 -0
  6. package/dist/cjs/docs/templates/fading-citrus/assets/facebook.svg +8 -0
  7. package/dist/cjs/docs/templates/fading-citrus/assets/fast.svg +4 -0
  8. package/dist/cjs/docs/templates/fading-citrus/assets/favicon/android-chrome-192x192.png +0 -0
  9. package/dist/cjs/docs/templates/fading-citrus/assets/favicon/android-chrome-512x512.png +0 -0
  10. package/dist/cjs/docs/templates/fading-citrus/assets/favicon/apple-touch-icon.png +0 -0
  11. package/dist/cjs/docs/templates/fading-citrus/assets/favicon/favicon-16x16.png +0 -0
  12. package/dist/cjs/docs/templates/fading-citrus/assets/favicon/favicon-32x32.png +0 -0
  13. package/dist/cjs/docs/templates/fading-citrus/assets/favicon/favicon.ico +0 -0
  14. package/dist/cjs/docs/templates/fading-citrus/assets/favicon/site.webmanifest +19 -0
  15. package/dist/cjs/docs/templates/fading-citrus/assets/fonts/exo-2/Exo2.0-Black.otf +0 -0
  16. package/dist/cjs/docs/templates/fading-citrus/assets/fonts/exo-2/Exo2.0-BlackItalic.otf +0 -0
  17. package/dist/cjs/docs/templates/fading-citrus/assets/fonts/exo-2/Exo2.0-Bold.otf +0 -0
  18. package/dist/cjs/docs/templates/fading-citrus/assets/fonts/exo-2/Exo2.0-BoldItalic.otf +0 -0
  19. package/dist/cjs/docs/templates/fading-citrus/assets/fonts/exo-2/Exo2.0-ExtraBold.otf +0 -0
  20. package/dist/cjs/docs/templates/fading-citrus/assets/fonts/exo-2/Exo2.0-ExtraBoldItalic.otf +0 -0
  21. package/dist/cjs/docs/templates/fading-citrus/assets/fonts/exo-2/Exo2.0-ExtraLight.otf +0 -0
  22. package/dist/cjs/docs/templates/fading-citrus/assets/fonts/exo-2/Exo2.0-ExtraLightItalic.otf +0 -0
  23. package/dist/cjs/docs/templates/fading-citrus/assets/fonts/exo-2/Exo2.0-Italic.otf +0 -0
  24. package/dist/cjs/docs/templates/fading-citrus/assets/fonts/exo-2/Exo2.0-Light.otf +0 -0
  25. package/dist/cjs/docs/templates/fading-citrus/assets/fonts/exo-2/Exo2.0-LightItalic.otf +0 -0
  26. package/dist/cjs/docs/templates/fading-citrus/assets/fonts/exo-2/Exo2.0-Medium.otf +0 -0
  27. package/dist/cjs/docs/templates/fading-citrus/assets/fonts/exo-2/Exo2.0-MediumItalic.otf +0 -0
  28. package/dist/cjs/docs/templates/fading-citrus/assets/fonts/exo-2/Exo2.0-Regular.otf +0 -0
  29. package/dist/cjs/docs/templates/fading-citrus/assets/fonts/exo-2/Exo2.0-SemiBold.otf +0 -0
  30. package/dist/cjs/docs/templates/fading-citrus/assets/fonts/exo-2/Exo2.0-SemiBoldItalic.otf +0 -0
  31. package/dist/cjs/docs/templates/fading-citrus/assets/fonts/exo-2/Exo2.0-Thin.otf +0 -0
  32. package/dist/cjs/docs/templates/fading-citrus/assets/fonts/exo-2/Exo2.0-ThinItalic.otf +0 -0
  33. package/dist/cjs/docs/templates/fading-citrus/assets/fonts/exo-2/SIL Open Font License.txt +43 -0
  34. package/dist/cjs/docs/templates/fading-citrus/assets/fonts/open-sans/Apache License.txt +201 -0
  35. package/dist/cjs/docs/templates/fading-citrus/assets/fonts/open-sans/OpenSans-Bold.ttf +0 -0
  36. package/dist/cjs/docs/templates/fading-citrus/assets/fonts/open-sans/OpenSans-BoldItalic.ttf +0 -0
  37. package/dist/cjs/docs/templates/fading-citrus/assets/fonts/open-sans/OpenSans-ExtraBold.ttf +0 -0
  38. package/dist/cjs/docs/templates/fading-citrus/assets/fonts/open-sans/OpenSans-ExtraBoldItalic.ttf +0 -0
  39. package/dist/cjs/docs/templates/fading-citrus/assets/fonts/open-sans/OpenSans-Italic.ttf +0 -0
  40. package/dist/cjs/docs/templates/fading-citrus/assets/fonts/open-sans/OpenSans-Light.ttf +0 -0
  41. package/dist/cjs/docs/templates/fading-citrus/assets/fonts/open-sans/OpenSans-LightItalic.ttf +0 -0
  42. package/dist/cjs/docs/templates/fading-citrus/assets/fonts/open-sans/OpenSans-Regular.ttf +0 -0
  43. package/dist/cjs/docs/templates/fading-citrus/assets/fonts/open-sans/OpenSans-Semibold.ttf +0 -0
  44. package/dist/cjs/docs/templates/fading-citrus/assets/fonts/open-sans/OpenSans-SemiboldItalic.ttf +0 -0
  45. package/dist/cjs/docs/templates/fading-citrus/assets/independent.svg +23 -0
  46. package/dist/cjs/docs/templates/fading-citrus/assets/instagram.svg +28 -0
  47. package/dist/cjs/docs/templates/fading-citrus/assets/markup-banner.jpg +0 -0
  48. package/dist/cjs/docs/templates/fading-citrus/assets/markup-essentials-training.jpg +0 -0
  49. package/dist/cjs/docs/templates/fading-citrus/assets/markup-favicon.jpg +0 -0
  50. package/dist/cjs/docs/templates/fading-citrus/assets/markup-favicon.png +0 -0
  51. package/dist/cjs/docs/templates/fading-citrus/assets/markup-logo-name.svg +10 -0
  52. package/dist/cjs/docs/templates/fading-citrus/assets/markup-logo-name@2x.png +0 -0
  53. package/dist/cjs/docs/templates/fading-citrus/assets/markup-logo.svg +13 -0
  54. package/dist/cjs/docs/templates/fading-citrus/assets/markup-logo@2x.png +0 -0
  55. package/dist/cjs/docs/templates/fading-citrus/assets/medium2.svg +18 -0
  56. package/dist/cjs/docs/templates/fading-citrus/assets/reactive.svg +3 -0
  57. package/dist/cjs/docs/templates/fading-citrus/assets/reddit.svg +16 -0
  58. package/dist/cjs/docs/templates/fading-citrus/assets/simple.svg +8 -0
  59. package/dist/cjs/docs/templates/fading-citrus/assets/small.svg +8 -0
  60. package/dist/cjs/docs/templates/fading-citrus/assets/twitter.svg +11 -0
  61. package/dist/cjs/docs/templates/fading-citrus/assets/youtube.svg +10 -0
  62. package/dist/cjs/docs/templates/fading-citrus/layouts/_code-snippet.js +75 -0
  63. package/dist/cjs/docs/templates/fading-citrus/layouts/_copy-code.js +50 -0
  64. package/dist/cjs/docs/templates/fading-citrus/layouts/_footer.js +72 -0
  65. package/dist/cjs/docs/templates/fading-citrus/layouts/_head-meta.js +231 -0
  66. package/dist/cjs/docs/templates/fading-citrus/layouts/_header.js +41 -0
  67. package/dist/cjs/docs/templates/fading-citrus/layouts/_logo.js +31 -0
  68. package/dist/cjs/docs/templates/fading-citrus/layouts/document.js +92 -0
  69. package/dist/cjs/docs/templates/fading-citrus/layouts/landing.js +636 -0
  70. package/dist/cjs/docs/templates/fading-citrus/stylesheets/common.css +815 -0
  71. package/dist/cjs/docs/templates/fading-citrus/stylesheets/documentation.css +537 -0
  72. package/dist/cjs/docs/templates/fading-citrus/stylesheets/fonts.css +1 -0
  73. package/dist/cjs/docs/templates/fading-citrus/stylesheets/github-dark.hightlighter.css +107 -0
  74. package/dist/cjs/docs/templates/fading-citrus/stylesheets/github-light.hightlighter.css +107 -0
  75. package/dist/cjs/docs/templates/fading-citrus/stylesheets/hybrid.hightlighter.css +102 -0
  76. package/dist/cjs/docs/templates/fading-citrus/stylesheets/landing.css +1556 -0
  77. package/dist/cjs/docs/templates/fading-citrus/stylesheets/normalize.css +351 -0
  78. package/dist/cjs/docs/templates/fading-citrus/template.config.js +14 -0
  79. package/dist/cjs/docs/types.js +1 -1
  80. package/dist/esm/build-modules.js +1 -1
  81. package/dist/esm/docs/run.js +1 -1
  82. package/dist/esm/docs/templates/fading-citrus/assets/before-semicolon-logo.png +0 -0
  83. package/dist/esm/docs/templates/fading-citrus/assets/client-server.svg +4 -0
  84. package/dist/esm/docs/templates/fading-citrus/assets/facebook.svg +8 -0
  85. package/dist/esm/docs/templates/fading-citrus/assets/fast.svg +4 -0
  86. package/dist/esm/docs/templates/fading-citrus/assets/favicon/android-chrome-192x192.png +0 -0
  87. package/dist/esm/docs/templates/fading-citrus/assets/favicon/android-chrome-512x512.png +0 -0
  88. package/dist/esm/docs/templates/fading-citrus/assets/favicon/apple-touch-icon.png +0 -0
  89. package/dist/esm/docs/templates/fading-citrus/assets/favicon/favicon-16x16.png +0 -0
  90. package/dist/esm/docs/templates/fading-citrus/assets/favicon/favicon-32x32.png +0 -0
  91. package/dist/esm/docs/templates/fading-citrus/assets/favicon/favicon.ico +0 -0
  92. package/dist/esm/docs/templates/fading-citrus/assets/favicon/site.webmanifest +19 -0
  93. package/dist/esm/docs/templates/fading-citrus/assets/fonts/exo-2/Exo2.0-Black.otf +0 -0
  94. package/dist/esm/docs/templates/fading-citrus/assets/fonts/exo-2/Exo2.0-BlackItalic.otf +0 -0
  95. package/dist/esm/docs/templates/fading-citrus/assets/fonts/exo-2/Exo2.0-Bold.otf +0 -0
  96. package/dist/esm/docs/templates/fading-citrus/assets/fonts/exo-2/Exo2.0-BoldItalic.otf +0 -0
  97. package/dist/esm/docs/templates/fading-citrus/assets/fonts/exo-2/Exo2.0-ExtraBold.otf +0 -0
  98. package/dist/esm/docs/templates/fading-citrus/assets/fonts/exo-2/Exo2.0-ExtraBoldItalic.otf +0 -0
  99. package/dist/esm/docs/templates/fading-citrus/assets/fonts/exo-2/Exo2.0-ExtraLight.otf +0 -0
  100. package/dist/esm/docs/templates/fading-citrus/assets/fonts/exo-2/Exo2.0-ExtraLightItalic.otf +0 -0
  101. package/dist/esm/docs/templates/fading-citrus/assets/fonts/exo-2/Exo2.0-Italic.otf +0 -0
  102. package/dist/esm/docs/templates/fading-citrus/assets/fonts/exo-2/Exo2.0-Light.otf +0 -0
  103. package/dist/esm/docs/templates/fading-citrus/assets/fonts/exo-2/Exo2.0-LightItalic.otf +0 -0
  104. package/dist/esm/docs/templates/fading-citrus/assets/fonts/exo-2/Exo2.0-Medium.otf +0 -0
  105. package/dist/esm/docs/templates/fading-citrus/assets/fonts/exo-2/Exo2.0-MediumItalic.otf +0 -0
  106. package/dist/esm/docs/templates/fading-citrus/assets/fonts/exo-2/Exo2.0-Regular.otf +0 -0
  107. package/dist/esm/docs/templates/fading-citrus/assets/fonts/exo-2/Exo2.0-SemiBold.otf +0 -0
  108. package/dist/esm/docs/templates/fading-citrus/assets/fonts/exo-2/Exo2.0-SemiBoldItalic.otf +0 -0
  109. package/dist/esm/docs/templates/fading-citrus/assets/fonts/exo-2/Exo2.0-Thin.otf +0 -0
  110. package/dist/esm/docs/templates/fading-citrus/assets/fonts/exo-2/Exo2.0-ThinItalic.otf +0 -0
  111. package/dist/esm/docs/templates/fading-citrus/assets/fonts/exo-2/SIL Open Font License.txt +43 -0
  112. package/dist/esm/docs/templates/fading-citrus/assets/fonts/open-sans/Apache License.txt +201 -0
  113. package/dist/esm/docs/templates/fading-citrus/assets/fonts/open-sans/OpenSans-Bold.ttf +0 -0
  114. package/dist/esm/docs/templates/fading-citrus/assets/fonts/open-sans/OpenSans-BoldItalic.ttf +0 -0
  115. package/dist/esm/docs/templates/fading-citrus/assets/fonts/open-sans/OpenSans-ExtraBold.ttf +0 -0
  116. package/dist/esm/docs/templates/fading-citrus/assets/fonts/open-sans/OpenSans-ExtraBoldItalic.ttf +0 -0
  117. package/dist/esm/docs/templates/fading-citrus/assets/fonts/open-sans/OpenSans-Italic.ttf +0 -0
  118. package/dist/esm/docs/templates/fading-citrus/assets/fonts/open-sans/OpenSans-Light.ttf +0 -0
  119. package/dist/esm/docs/templates/fading-citrus/assets/fonts/open-sans/OpenSans-LightItalic.ttf +0 -0
  120. package/dist/esm/docs/templates/fading-citrus/assets/fonts/open-sans/OpenSans-Regular.ttf +0 -0
  121. package/dist/esm/docs/templates/fading-citrus/assets/fonts/open-sans/OpenSans-Semibold.ttf +0 -0
  122. package/dist/esm/docs/templates/fading-citrus/assets/fonts/open-sans/OpenSans-SemiboldItalic.ttf +0 -0
  123. package/dist/esm/docs/templates/fading-citrus/assets/independent.svg +23 -0
  124. package/dist/esm/docs/templates/fading-citrus/assets/instagram.svg +28 -0
  125. package/dist/esm/docs/templates/fading-citrus/assets/markup-banner.jpg +0 -0
  126. package/dist/esm/docs/templates/fading-citrus/assets/markup-essentials-training.jpg +0 -0
  127. package/dist/esm/docs/templates/fading-citrus/assets/markup-favicon.jpg +0 -0
  128. package/dist/esm/docs/templates/fading-citrus/assets/markup-favicon.png +0 -0
  129. package/dist/esm/docs/templates/fading-citrus/assets/markup-logo-name.svg +10 -0
  130. package/dist/esm/docs/templates/fading-citrus/assets/markup-logo-name@2x.png +0 -0
  131. package/dist/esm/docs/templates/fading-citrus/assets/markup-logo.svg +13 -0
  132. package/dist/esm/docs/templates/fading-citrus/assets/markup-logo@2x.png +0 -0
  133. package/dist/esm/docs/templates/fading-citrus/assets/medium2.svg +18 -0
  134. package/dist/esm/docs/templates/fading-citrus/assets/reactive.svg +3 -0
  135. package/dist/esm/docs/templates/fading-citrus/assets/reddit.svg +16 -0
  136. package/dist/esm/docs/templates/fading-citrus/assets/simple.svg +8 -0
  137. package/dist/esm/docs/templates/fading-citrus/assets/small.svg +8 -0
  138. package/dist/esm/docs/templates/fading-citrus/assets/twitter.svg +11 -0
  139. package/dist/esm/docs/templates/fading-citrus/assets/youtube.svg +10 -0
  140. package/dist/esm/docs/templates/fading-citrus/layouts/_code-snippet.js +75 -0
  141. package/dist/esm/docs/templates/fading-citrus/layouts/_copy-code.js +50 -0
  142. package/dist/esm/docs/templates/fading-citrus/layouts/_footer.js +72 -0
  143. package/dist/esm/docs/templates/fading-citrus/layouts/_head-meta.js +231 -0
  144. package/dist/esm/docs/templates/fading-citrus/layouts/_header.js +41 -0
  145. package/dist/esm/docs/templates/fading-citrus/layouts/_logo.js +31 -0
  146. package/dist/esm/docs/templates/fading-citrus/layouts/document.js +92 -0
  147. package/dist/esm/docs/templates/fading-citrus/layouts/landing.js +636 -0
  148. package/dist/esm/docs/templates/fading-citrus/stylesheets/common.css +815 -0
  149. package/dist/esm/docs/templates/fading-citrus/stylesheets/documentation.css +537 -0
  150. package/dist/esm/docs/templates/fading-citrus/stylesheets/fonts.css +1 -0
  151. package/dist/esm/docs/templates/fading-citrus/stylesheets/github-dark.hightlighter.css +107 -0
  152. package/dist/esm/docs/templates/fading-citrus/stylesheets/github-light.hightlighter.css +107 -0
  153. package/dist/esm/docs/templates/fading-citrus/stylesheets/hybrid.hightlighter.css +102 -0
  154. package/dist/esm/docs/templates/fading-citrus/stylesheets/landing.css +1556 -0
  155. package/dist/esm/docs/templates/fading-citrus/stylesheets/normalize.css +351 -0
  156. package/dist/esm/docs/templates/fading-citrus/template.config.js +14 -0
  157. package/dist/types/build-browser.d.ts +1 -1
  158. package/dist/types/build-modules.d.ts +1 -1
  159. package/dist/types/docs/run.d.ts +2 -1
  160. package/dist/types/docs/types.d.ts +28 -6
  161. package/package.json +1 -1
@@ -0,0 +1,92 @@
1
+ import meta from './_head-meta.js'
2
+ import header from './_header.js'
3
+ import footer from './_footer.js'
4
+ import copyCode from './_copy-code.js'
5
+
6
+ const githubDocsPath =
7
+ 'https://github.com/beforesemicolon/markup/tree/main/docs'
8
+
9
+ const navCategoryToHTML = (docs, currentPath) =>
10
+ Array.from(docs.entries())
11
+ .map(([k, v]) => {
12
+ if (k.endsWith('.html')) {
13
+ const href = v.path.replace(/(index)?\.html/, '')
14
+
15
+ return `<li ${
16
+ currentPath === v.path ? 'class="active"' : ''
17
+ }><a href="${href}">${v.name}</a></li>`
18
+ }
19
+
20
+ return `<ol><span>${k}</span>${navCategoryToHTML(
21
+ v,
22
+ currentPath
23
+ )}</ol>`
24
+ })
25
+ .join('')
26
+
27
+ export default (props) => {
28
+ const docs = props.siteMap.get('documentation')
29
+ const isDocsIndex = props.path === '/documentation/index.html'
30
+ const docsMenu = `<ul>${navCategoryToHTML(docs, props.path)}</ul>`
31
+ const pages = [...docs.values()].flatMap((page) =>
32
+ page instanceof Map ? [...page.values()] : [page]
33
+ )
34
+
35
+ let nextPage, previousPage
36
+
37
+ for (let i = 0; i < pages.length; i++) {
38
+ if (pages[i].path === props.path) {
39
+ nextPage = pages[i + 1]
40
+ previousPage = pages[i - 1]
41
+ }
42
+ }
43
+
44
+ return `
45
+ <!doctype html>
46
+ <html lang="en">
47
+ <head>
48
+ ${meta(props)}
49
+ <link rel="stylesheet" href="/stylesheets/documentation.css?v=20260621exact">
50
+ </head>
51
+ <body>
52
+ ${header(props)}
53
+
54
+ <div id="mobile-menu-toggle">
55
+ <a href="#docs-nav" role="button" aria-label="toggle mobile menu open"></a>
56
+ </div>
57
+
58
+ <main id="documentation" class="wrapper${isDocsIndex ? ' docs-index' : ''}">
59
+ <nav id="docs-nav">
60
+ ${docsMenu}
61
+ <a href="${props.path}" class="close-mobile-menu" role="button" aria-label="toggle mobile menu close"></a>
62
+ </nav>
63
+ <article>
64
+ ${props.content}
65
+
66
+ <div id="page-navigation">
67
+ ${previousPage ? `<a href="${previousPage.path.replace('.html', '')}" id="prev-doc"><span aria-hidden="true">&lt;&lt;</span> ${previousPage.name}</a>` : ''}
68
+ ${nextPage ? `<a href="${nextPage.path.replace('.html', '')}" id="next-doc">${nextPage.name} <span aria-hidden="true">&gt;&gt;</span></a>` : ''}
69
+ </div>
70
+
71
+ <a href="${`${githubDocsPath}${props.path.replace('.html', '')}.md`}" id="edit-doc">edit this doc</a>
72
+ </article>
73
+ <aside id="table-of-content">
74
+ <h4>Content</h4>
75
+ <ul>
76
+ ${props.tableOfContent
77
+ .map(
78
+ (c) => `<li><a href="${c.path}">${c.label}</a></li>`
79
+ )
80
+ .join('')}
81
+ </ul>
82
+ </aside>
83
+ </main>
84
+
85
+ ${footer()}
86
+
87
+ ${copyCode()}
88
+
89
+ </body>
90
+ </html>
91
+ `
92
+ }