erudit 3.0.0-dev.17 → 3.0.0-dev.19

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 (250) hide show
  1. package/app/app.vue +193 -191
  2. package/app/assets/icons/graduation.svg +3 -0
  3. package/app/components/Loading.vue +23 -23
  4. package/app/components/SiteAside.vue +393 -393
  5. package/app/components/SiteMain.vue +32 -32
  6. package/app/components/aside/AsideListItem.vue +74 -74
  7. package/app/components/aside/AsideMajor.vue +56 -56
  8. package/app/components/aside/AsideMinor.vue +97 -73
  9. package/app/components/aside/major/PaneContentScroll.vue +23 -23
  10. package/app/components/aside/major/PaneSwitch.vue +54 -54
  11. package/app/components/aside/major/PaneSwitchButton.vue +63 -63
  12. package/app/components/aside/major/SiteInfo.vue +85 -85
  13. package/app/components/aside/major/panes/Language.vue +79 -79
  14. package/app/components/aside/major/panes/Pages.vue +31 -34
  15. package/app/components/aside/major/panes/Search.vue +11 -11
  16. package/app/components/aside/major/panes/nav/Nav.vue +92 -92
  17. package/app/components/aside/major/panes/nav/NavBook.vue +95 -95
  18. package/app/components/aside/major/panes/nav/NavBookLoading.vue +24 -24
  19. package/app/components/aside/major/panes/nav/NavGlobal.vue +16 -16
  20. package/app/components/aside/major/panes/nav/fnav/FNav.vue +105 -105
  21. package/app/components/aside/major/panes/nav/fnav/FNavBook.vue +32 -32
  22. package/app/components/aside/major/panes/nav/fnav/FNavFlags.vue +40 -40
  23. package/app/components/aside/major/panes/nav/fnav/FNavFolder.vue +60 -60
  24. package/app/components/aside/major/panes/nav/fnav/FNavItem.vue +34 -34
  25. package/app/components/aside/major/panes/nav/fnav/FNavSeparator.vue +80 -80
  26. package/app/components/aside/major/panes/nav/fnav/FNavTopic.vue +24 -24
  27. package/app/components/aside/major/panes/other/ItemContent.vue +29 -29
  28. package/app/components/aside/major/panes/other/ItemGenerator.vue +13 -13
  29. package/app/components/aside/major/panes/other/ItemTheme.vue +54 -54
  30. package/app/components/aside/major/panes/other/Other.vue +16 -16
  31. package/app/components/aside/minor/{Contribute.vue → AsideMinorContribute.vue} +175 -145
  32. package/app/components/aside/minor/AsideMinorNews.vue +11 -11
  33. package/app/components/aside/minor/AsideMinorPane.vue +15 -15
  34. package/app/components/aside/minor/AsideMinorTopLink.vue +67 -67
  35. package/app/components/aside/minor/content/AsideMinorContent.vue +89 -92
  36. package/app/components/aside/minor/contributor/AsideMinorContributor.vue +78 -0
  37. package/app/components/aside/minor/contributor/BookContribution.vue +64 -0
  38. package/app/components/aside/minor/topic/AsideMinorTopic.vue +29 -32
  39. package/app/components/aside/minor/topic/TopicContributors.vue +177 -177
  40. package/app/components/aside/minor/topic/TopicNav.vue +49 -49
  41. package/app/components/aside/minor/topic/TopicToc.vue +213 -214
  42. package/app/components/aside/minor/topic/TopicTocItem.vue +32 -32
  43. package/app/components/aside/utils/AsideOverlayPane.vue +40 -40
  44. package/app/components/bitran/BitranContent.vue +90 -91
  45. package/app/components/bitran/RenderWrapper.vue +10 -10
  46. package/app/components/contributor/ContributorAvatar.vue +45 -45
  47. package/app/components/contributor/ContributorListItem.vue +35 -35
  48. package/app/components/main/MainBitranContent.vue +41 -0
  49. package/app/components/main/{utils/Breadcrumb.vue → MainBreadcrumb.vue} +67 -74
  50. package/app/components/main/MainDescription.vue +24 -0
  51. package/app/components/main/{utils/ContentTitle.vue → MainTitle.vue} +72 -63
  52. package/app/components/main/content/ContentBreadcrumb.vue +28 -0
  53. package/app/components/main/{utils → content}/ContentDecoration.vue +29 -29
  54. package/app/components/main/{utils → content}/ContentPopover.vue +188 -188
  55. package/app/components/main/{utils → content}/ContentPopovers.vue +111 -111
  56. package/app/components/main/{utils → content}/ContentReferences.vue +70 -70
  57. package/app/components/main/{utils → content}/ContentSection.vue +45 -45
  58. package/app/components/main/{utils → content}/reference/ReferenceGroup.vue +38 -38
  59. package/app/components/main/{utils → content}/reference/ReferenceItem.vue +70 -70
  60. package/app/components/main/{utils → content}/reference/ReferenceSource.vue +120 -120
  61. package/app/components/main/topic/MainTopic.vue +83 -88
  62. package/app/components/main/topic/TopicPartSwitch.vue +124 -118
  63. package/app/components/preview/Preview.vue +186 -186
  64. package/app/components/preview/PreviewDisplay.vue +139 -139
  65. package/app/components/preview/PreviewFooterAction.vue +73 -73
  66. package/app/components/preview/PreviewLoading.vue +14 -14
  67. package/app/components/preview/PreviewScreen.vue +141 -141
  68. package/app/components/preview/display/Alert.vue +50 -50
  69. package/app/components/preview/display/Custom.vue +18 -18
  70. package/app/components/preview/display/GenericLink.vue +48 -48
  71. package/app/components/preview/display/PageLink.vue +22 -22
  72. package/app/components/preview/display/Unique.vue +46 -55
  73. package/app/components/transition/Fade.vue +19 -19
  74. package/app/components/tree/TreeContainer.vue +11 -11
  75. package/app/components/tree/TreeItem.vue +89 -89
  76. package/app/composables/adsAllowed.ts +11 -0
  77. package/app/composables/bitran.ts +108 -108
  78. package/app/composables/bitranLocation.ts +7 -7
  79. package/app/composables/contentData.ts +38 -38
  80. package/app/composables/contentPage.ts +168 -158
  81. package/app/composables/contentRoute.ts +45 -45
  82. package/app/composables/darkMagic.ts +24 -24
  83. package/app/composables/externalApi.ts +69 -69
  84. package/app/composables/favicon.ts +8 -8
  85. package/app/composables/formatText.ts +99 -99
  86. package/app/composables/majorPane.ts +61 -60
  87. package/app/composables/phrases.ts +77 -65
  88. package/app/composables/theme.ts +29 -29
  89. package/app/composables/url.ts +33 -33
  90. package/app/pages/_test/preview.vue +110 -110
  91. package/app/pages/article/[...articleId].vue +3 -3
  92. package/app/pages/book/[...bookId].vue +42 -47
  93. package/app/pages/contributor/[contributorId].vue +225 -0
  94. package/app/pages/contributors.vue +183 -0
  95. package/app/pages/group/[...groupId].vue +58 -66
  96. package/app/pages/index.vue +32 -32
  97. package/app/pages/practice/[...practice].vue +3 -3
  98. package/app/pages/summary/[...summaryId].vue +3 -3
  99. package/app/plugins/analytics.ts +8 -0
  100. package/app/plugins/prerender.server.ts +22 -22
  101. package/app/scripts/_immediate.js +9 -9
  102. package/app/scripts/aside/index.ts +59 -59
  103. package/app/scripts/aside/major/nav.ts +26 -26
  104. package/app/scripts/aside/minor/state.ts +37 -37
  105. package/app/scripts/aside/minor/topic.ts +3 -3
  106. package/app/scripts/flag.ts +28 -28
  107. package/app/scripts/og.ts +27 -27
  108. package/app/scripts/preview/build.ts +76 -76
  109. package/app/scripts/preview/data/alert.ts +19 -19
  110. package/app/scripts/preview/data/custom.ts +8 -8
  111. package/app/scripts/preview/data/genericLink.ts +24 -24
  112. package/app/scripts/preview/data/pageLink.ts +23 -23
  113. package/app/scripts/preview/data/unique.ts +69 -72
  114. package/app/scripts/preview/data.ts +24 -24
  115. package/app/scripts/preview/display.ts +37 -37
  116. package/app/scripts/preview/footer.ts +9 -9
  117. package/app/scripts/preview/request.ts +51 -51
  118. package/app/scripts/preview/state.ts +63 -63
  119. package/app/styles/_immediate.css +7 -7
  120. package/app/styles/_util.scss +43 -43
  121. package/app/styles/_utils.scss +44 -44
  122. package/app/styles/app.scss +91 -91
  123. package/app/styles/def/_bp.scss +27 -27
  124. package/app/styles/def/_size.scss +7 -7
  125. package/app/styles/def/_z.scss +5 -5
  126. package/app/styles/normalize.scss +49 -49
  127. package/app/styles/partials/_darkMagic.scss +5 -5
  128. package/app/styles/partials/_fnav.scss +15 -15
  129. package/app/styles/partials/_preview.scss +5 -5
  130. package/bin/erudit.mjs +2 -2
  131. package/const.ts +4 -4
  132. package/globalPath.ts +21 -21
  133. package/globals/bitran.ts +1 -1
  134. package/globals/content.ts +27 -27
  135. package/globals/contributor.ts +5 -5
  136. package/globals/erudit.ts +5 -5
  137. package/globals/register.ts +18 -18
  138. package/languages/en.ts +103 -94
  139. package/languages/ru.ts +107 -98
  140. package/module/bitran.ts +66 -66
  141. package/module/config.ts +35 -35
  142. package/module/imports.ts +67 -67
  143. package/module/index.ts +47 -47
  144. package/module/logger.ts +10 -10
  145. package/module/paths.ts +22 -22
  146. package/module/restart.ts +61 -61
  147. package/nuxt.config.ts +131 -131
  148. package/package.json +5 -5
  149. package/server/api/aside/major/nav/bookIds.ts +5 -5
  150. package/server/api/aside/major/nav/bookNav/[...bookId].ts +17 -20
  151. package/server/api/aside/major/nav/global.ts +7 -7
  152. package/server/api/aside/minor/book/[...bookId].ts +18 -0
  153. package/server/api/aside/minor/contributor/[contributorId].ts +18 -0
  154. package/server/api/aside/minor/group/[...groupId].ts +18 -0
  155. package/server/api/aside/minor/news.ts +7 -7
  156. package/server/api/aside/minor/topic.ts +36 -0
  157. package/server/api/bitran/content/[...location].ts +13 -10
  158. package/server/api/bitran/toc/[...location].ts +9 -9
  159. package/server/api/content/data.ts +75 -75
  160. package/server/api/contributor/count.ts +6 -6
  161. package/server/api/contributor/list.ts +44 -0
  162. package/server/api/contributor/page/[contributorId].ts +14 -0
  163. package/server/api/fake/content.ts +11 -11
  164. package/server/api/fake/shared/languages.ts +12 -12
  165. package/server/api/language/functions.ts +12 -12
  166. package/server/api/language/phrase/[phraseId].ts +19 -19
  167. package/server/api/language/phraseIds.ts +8 -8
  168. package/server/api/prerender.ts +19 -120
  169. package/server/api/preview/page/[...parts].ts +78 -78
  170. package/server/api/preview/unique/[...location].ts +48 -61
  171. package/server/plugin/bitran/content.ts +252 -190
  172. package/server/plugin/bitran/elements/include.ts +229 -229
  173. package/server/plugin/bitran/location.ts +43 -39
  174. package/server/plugin/bitran/toc.ts +94 -94
  175. package/server/plugin/bitran/transpiler.ts +18 -18
  176. package/server/plugin/build/close.ts +12 -12
  177. package/server/plugin/build/jobs/content/builderArgs.ts +8 -8
  178. package/server/plugin/build/jobs/content/generic.ts +191 -191
  179. package/server/plugin/build/jobs/content/parse.ts +113 -113
  180. package/server/plugin/build/jobs/content/path.ts +6 -6
  181. package/server/plugin/build/jobs/content/type/book.ts +9 -9
  182. package/server/plugin/build/jobs/content/type/group.ts +37 -37
  183. package/server/plugin/build/jobs/content/type/topic.ts +36 -36
  184. package/server/plugin/build/jobs/contributors.ts +69 -66
  185. package/server/plugin/build/jobs/language.ts +36 -36
  186. package/server/plugin/build/jobs/nav.ts +345 -345
  187. package/server/plugin/build/process.ts +32 -32
  188. package/server/plugin/build/rebuild.ts +66 -66
  189. package/server/plugin/build/setup.ts +19 -19
  190. package/server/plugin/content/context.ts +119 -119
  191. package/server/plugin/db/entities/Book.ts +7 -7
  192. package/server/plugin/db/entities/Content.ts +45 -45
  193. package/server/plugin/db/entities/Contribution.ts +10 -10
  194. package/server/plugin/db/entities/Contributor.ts +25 -16
  195. package/server/plugin/db/entities/File.ts +10 -10
  196. package/server/plugin/db/entities/Group.ts +14 -14
  197. package/server/plugin/db/entities/Hash.ts +15 -15
  198. package/server/plugin/db/entities/Topic.ts +20 -20
  199. package/server/plugin/db/entities/Unique.ts +21 -21
  200. package/server/plugin/db/reset.ts +12 -12
  201. package/server/plugin/db/setup.ts +49 -49
  202. package/server/plugin/global.ts +16 -16
  203. package/server/plugin/importer.ts +16 -16
  204. package/server/plugin/index.ts +9 -9
  205. package/server/plugin/logger.ts +23 -23
  206. package/server/plugin/nav/node.ts +27 -27
  207. package/server/plugin/nav/utils.ts +179 -175
  208. package/server/plugin/repository/asideMinor.ts +51 -0
  209. package/server/plugin/repository/book.ts +39 -21
  210. package/server/plugin/repository/content.ts +240 -240
  211. package/server/plugin/repository/contentId.ts +40 -40
  212. package/server/plugin/repository/contributor.ts +98 -8
  213. package/server/plugin/repository/file.ts +10 -10
  214. package/server/plugin/repository/frontNav.ts +145 -145
  215. package/server/plugin/repository/topic.ts +35 -35
  216. package/server/tsconfig.json +9 -9
  217. package/shared/aside/minor.ts +55 -51
  218. package/shared/asset.ts +22 -22
  219. package/shared/bitran/content.ts +9 -0
  220. package/shared/bitran/contentId.ts +56 -56
  221. package/shared/bitran/toc.ts +8 -8
  222. package/shared/breadcrumb.ts +7 -0
  223. package/shared/content/bookId.ts +12 -12
  224. package/shared/content/context.ts +9 -9
  225. package/shared/content/data/base.ts +32 -32
  226. package/shared/content/data/index.ts +5 -5
  227. package/shared/content/data/type/book.ts +5 -5
  228. package/shared/content/data/type/group.ts +6 -6
  229. package/shared/content/data/type/topic.ts +11 -11
  230. package/shared/content/previousNext.ts +9 -9
  231. package/shared/contributor.ts +33 -5
  232. package/shared/frontNav.ts +41 -41
  233. package/shared/icons.ts +38 -38
  234. package/shared/image.ts +5 -5
  235. package/shared/link.ts +28 -28
  236. package/shared/popover.ts +8 -8
  237. package/shared/types/language.ts +79 -74
  238. package/shared/utils/objectsEqual.ts +4 -4
  239. package/shared/utils/stringColor.ts +9 -9
  240. package/test/contentId.test.ts +91 -91
  241. package/tsconfig.json +8 -8
  242. package/utils/contentPath.ts +67 -67
  243. package/utils/slash.ts +11 -11
  244. package/utils/stress.ts +9 -9
  245. package/app/components/aside/minor/AsideMinorContributor.vue +0 -5
  246. package/app/components/main/utils/ContentDescription.vue +0 -19
  247. package/app/composables/bitranContent.ts +0 -92
  248. package/app/pages/members.vue +0 -6
  249. package/server/api/aside/minor/path.ts +0 -82
  250. package/shared/bitran/stringContent.ts +0 -6
@@ -1,44 +1,44 @@
1
- @mixin transition($properties...) {
2
- transition: all var(--transitionSpeed) var(--transitionFunction);
3
- transition-property: $properties;
4
- }
5
-
6
- @mixin dark {
7
- :root[data-theme='dark'] & {
8
- @content;
9
- }
10
- }
11
-
12
- @mixin hoverLink {
13
- cursor: pointer;
14
- color: inherit;
15
- text-decoration: underline;
16
- text-decoration-color: transparent;
17
- @include transition(text-decoration-color);
18
-
19
- &:hover {
20
- text-decoration: underline;
21
- }
22
- }
23
-
24
- @mixin scroll {
25
- -webkit-overflow-scrolling: auto;
26
-
27
- &::-webkit-scrollbar {
28
- -webkit-appearance: none;
29
- height: 5px;
30
- width: 5px;
31
- }
32
-
33
- &::-webkit-scrollbar-thumb {
34
- background: var(--scrollbar);
35
-
36
- &:hover {
37
- background: color-mix(in srgb, var(--scrollbar), var(--invert) 15%);
38
- }
39
- }
40
-
41
- &::-webkit-scrollbar-corner {
42
- background: var(--border);
43
- }
44
- }
1
+ @mixin transition($properties...) {
2
+ transition: all var(--transitionSpeed) var(--transitionFunction);
3
+ transition-property: $properties;
4
+ }
5
+
6
+ @mixin dark {
7
+ :root[data-theme='dark'] & {
8
+ @content;
9
+ }
10
+ }
11
+
12
+ @mixin hoverLink {
13
+ cursor: pointer;
14
+ color: inherit;
15
+ text-decoration: underline;
16
+ text-decoration-color: transparent;
17
+ @include transition(text-decoration-color);
18
+
19
+ &:hover {
20
+ text-decoration: underline;
21
+ }
22
+ }
23
+
24
+ @mixin scroll {
25
+ -webkit-overflow-scrolling: auto;
26
+
27
+ &::-webkit-scrollbar {
28
+ -webkit-appearance: none;
29
+ height: 5px;
30
+ width: 5px;
31
+ }
32
+
33
+ &::-webkit-scrollbar-thumb {
34
+ background: var(--scrollbar);
35
+
36
+ &:hover {
37
+ background: color-mix(in srgb, var(--scrollbar), var(--invert) 15%);
38
+ }
39
+ }
40
+
41
+ &::-webkit-scrollbar-corner {
42
+ background: var(--border);
43
+ }
44
+ }
@@ -1,91 +1,91 @@
1
- @use '$/def/size';
2
-
3
- //
4
- // Vars
5
- //
6
-
7
- :root {
8
- --transitionSpeed: 200ms;
9
- --transitionFunction: cubic-bezier(0, 0, 0.5, 1);
10
- interpolate-size: allow-keywords;
11
- }
12
-
13
- // Sizes
14
-
15
- :root {
16
- --wAside: #{size.$wAside};
17
- --wMainMin: #{size.$wMainMin};
18
- --wMainMax: #{size.$wMainMax};
19
-
20
- --gap: #{size.$gap};
21
- --gapSmall: #{size.$gapSmall};
22
- --gapBig: #{size.$gapBig};
23
- }
24
-
25
- // Colors
26
-
27
- :root {
28
- --bg: light-dark(#ebebeb, #141414);
29
- --bgAside: light-dark(#f7f7f7, #1b1b1b);
30
- --bgMain: light-dark(#ffffff, #212121);
31
- --bgAccent: light-dark(#e6e6e6, #262626);
32
-
33
- --border: light-dark(#d7d7d7, #373737);
34
-
35
- --text: light-dark(#373737, #b9b9b9);
36
- --textDeep: light-dark(#232323, #e1e1e1);
37
- --textMuted: light-dark(#696969, #7f7f7f);
38
- --textDimmed: light-dark(#969696, #616161);
39
- --textDisabled: light-dark(#b9b9b9, #4f4f4f);
40
-
41
- --brand: light-dark(#12968e, #379c97);
42
- --error: light-dark(#d91818, #d94e4e);
43
- --warn: light-dark(#d98718, #d9b44e);
44
- --success: light-dark(#12a512, #51a551);
45
-
46
- --scrollbar: light-dark(#bfbfbf, #494949);
47
-
48
- --invert: light-dark(black, white);
49
- }
50
-
51
- //
52
- // General rules
53
- //
54
-
55
- // Noto Sans + Noto Serif
56
- @import url('https://fonts.googleapis.com/css2?family=Noto+Sans:ital,wght@0,100..900;1,100..900&family=Noto+Serif:ital,wght@0,100..900;1,100..900&display=swap');
57
-
58
- body {
59
- background: var(--bg);
60
- font-family: 'Noto Sans', system-ui, sans-serif;
61
- color: var(--text);
62
- }
63
-
64
- button {
65
- all: unset;
66
- }
67
-
68
- h1,
69
- h2,
70
- h3,
71
- h4,
72
- h5,
73
- h6,
74
- strong {
75
- color: var(--textDeep);
76
- }
77
-
78
- :focus-visible {
79
- outline: 2px solid var(--brand);
80
- border-radius: 3px;
81
- }
82
-
83
- ::selection {
84
- background: color-mix(in srgb, var(--brand), transparent 65%);
85
- }
86
-
87
- .icon-flip-h {
88
- [my-icon] svg {
89
- transform: scaleX(-1);
90
- }
91
- }
1
+ @use '$/def/size';
2
+
3
+ //
4
+ // Vars
5
+ //
6
+
7
+ :root {
8
+ --transitionSpeed: 200ms;
9
+ --transitionFunction: cubic-bezier(0, 0, 0.5, 1);
10
+ interpolate-size: allow-keywords;
11
+ }
12
+
13
+ // Sizes
14
+
15
+ :root {
16
+ --wAside: #{size.$wAside};
17
+ --wMainMin: #{size.$wMainMin};
18
+ --wMainMax: #{size.$wMainMax};
19
+
20
+ --gap: #{size.$gap};
21
+ --gapSmall: #{size.$gapSmall};
22
+ --gapBig: #{size.$gapBig};
23
+ }
24
+
25
+ // Colors
26
+
27
+ :root {
28
+ --bg: light-dark(#ebebeb, #141414);
29
+ --bgAside: light-dark(#f7f7f7, #1b1b1b);
30
+ --bgMain: light-dark(#ffffff, #212121);
31
+ --bgAccent: light-dark(#e6e6e6, #262626);
32
+
33
+ --border: light-dark(#d7d7d7, #373737);
34
+
35
+ --text: light-dark(#373737, #b9b9b9);
36
+ --textDeep: light-dark(#232323, #e1e1e1);
37
+ --textMuted: light-dark(#696969, #7f7f7f);
38
+ --textDimmed: light-dark(#969696, #616161);
39
+ --textDisabled: light-dark(#b9b9b9, #4f4f4f);
40
+
41
+ --brand: light-dark(#12968e, #379c97);
42
+ --error: light-dark(#d91818, #d94e4e);
43
+ --warn: light-dark(#d98718, #d9b44e);
44
+ --success: light-dark(#12a512, #51a551);
45
+
46
+ --scrollbar: light-dark(#bfbfbf, #494949);
47
+
48
+ --invert: light-dark(black, white);
49
+ }
50
+
51
+ //
52
+ // General rules
53
+ //
54
+
55
+ // Noto Sans + Noto Serif
56
+ @import url('https://fonts.googleapis.com/css2?family=Noto+Sans:ital,wght@0,100..900;1,100..900&family=Noto+Serif:ital,wght@0,100..900;1,100..900&display=swap');
57
+
58
+ body {
59
+ background: var(--bg);
60
+ font-family: 'Noto Sans', system-ui, sans-serif;
61
+ color: var(--text);
62
+ }
63
+
64
+ button {
65
+ all: unset;
66
+ }
67
+
68
+ h1,
69
+ h2,
70
+ h3,
71
+ h4,
72
+ h5,
73
+ h6,
74
+ strong {
75
+ color: var(--textDeep);
76
+ }
77
+
78
+ :focus-visible {
79
+ outline: 2px solid var(--brand);
80
+ border-radius: 3px;
81
+ }
82
+
83
+ ::selection {
84
+ background: color-mix(in srgb, var(--brand), transparent 65%);
85
+ }
86
+
87
+ .icon-flip-h {
88
+ [my-icon] svg {
89
+ transform: scaleX(-1);
90
+ }
91
+ }
@@ -1,27 +1,27 @@
1
- @use 'sass:map';
2
-
3
- @use '$/def/size';
4
-
5
- $bps: (
6
- 'mobile': 500px,
7
- 'aside1': size.$wMainMin + size.$wAside,
8
- 'aside2': size.$wMainMin + size.$wAside * 2,
9
- );
10
-
11
- @mixin above($bp) {
12
- @media (min-width: map.get($bps, $bp)) {
13
- @content;
14
- }
15
- }
16
-
17
- @mixin below($bp) {
18
- @media (max-width: (map.get($bps, $bp) - 1)) {
19
- @content;
20
- }
21
- }
22
-
23
- @mixin between($bp1, $bp2) {
24
- @media (min-width: map.get($bps, $bp1)) and (max-width: (map.get($bps, $bp2) - 1)) {
25
- @content;
26
- }
27
- }
1
+ @use 'sass:map';
2
+
3
+ @use '$/def/size';
4
+
5
+ $bps: (
6
+ 'mobile': 500px,
7
+ 'aside1': size.$wMainMin + size.$wAside,
8
+ 'aside2': size.$wMainMin + size.$wAside * 2,
9
+ );
10
+
11
+ @mixin above($bp) {
12
+ @media (min-width: map.get($bps, $bp)) {
13
+ @content;
14
+ }
15
+ }
16
+
17
+ @mixin below($bp) {
18
+ @media (max-width: (map.get($bps, $bp) - 1)) {
19
+ @content;
20
+ }
21
+ }
22
+
23
+ @mixin between($bp1, $bp2) {
24
+ @media (min-width: map.get($bps, $bp1)) and (max-width: (map.get($bps, $bp2) - 1)) {
25
+ @content;
26
+ }
27
+ }
@@ -1,7 +1,7 @@
1
- $wMainMin: 800px;
2
- $wMainMax: 1024px;
3
- $wAside: 300px;
4
-
5
- $gap: 15px;
6
- $gapSmall: calc($gap / 2);
7
- $gapBig: calc($gap * 2);
1
+ $wMainMin: 800px;
2
+ $wMainMax: 1024px;
3
+ $wAside: 300px;
4
+
5
+ $gap: 15px;
6
+ $gapSmall: calc($gap / 2);
7
+ $gapBig: calc($gap * 2);
@@ -1,5 +1,5 @@
1
- $bg: 10;
2
- $main: 20;
3
- $asideSwitch: 30;
4
- $preview: 40;
5
- $aside: 50;
1
+ $bg: 10;
2
+ $main: 20;
3
+ $asideSwitch: 30;
4
+ $preview: 40;
5
+ $aside: 50;
@@ -1,49 +1,49 @@
1
- // https://www.joshwcomeau.com/css/custom-css-reset/
2
-
3
- /* 1. Use a more-intuitive box-sizing model */
4
- *,
5
- *::before,
6
- *::after {
7
- box-sizing: border-box;
8
- }
9
-
10
- /* 2. Remove default margin */
11
- * {
12
- margin: 0;
13
- }
14
-
15
- body {
16
- /* 3. Add accessible line-height */
17
- line-height: 1.5;
18
- /* 4. Improve text rendering */
19
- -webkit-font-smoothing: antialiased;
20
- }
21
-
22
- /* 5. Improve media defaults */
23
- img,
24
- picture,
25
- video,
26
- canvas,
27
- svg {
28
- display: block;
29
- max-width: 100%;
30
- }
31
-
32
- /* 6. Inherit fonts for form controls */
33
- input,
34
- button,
35
- textarea,
36
- select {
37
- font: inherit;
38
- }
39
-
40
- /* 7. Avoid text overflows */
41
- p,
42
- h1,
43
- h2,
44
- h3,
45
- h4,
46
- h5,
47
- h6 {
48
- overflow-wrap: break-word;
49
- }
1
+ // https://www.joshwcomeau.com/css/custom-css-reset/
2
+
3
+ /* 1. Use a more-intuitive box-sizing model */
4
+ *,
5
+ *::before,
6
+ *::after {
7
+ box-sizing: border-box;
8
+ }
9
+
10
+ /* 2. Remove default margin */
11
+ * {
12
+ margin: 0;
13
+ }
14
+
15
+ body {
16
+ /* 3. Add accessible line-height */
17
+ line-height: 1.5;
18
+ /* 4. Improve text rendering */
19
+ -webkit-font-smoothing: antialiased;
20
+ }
21
+
22
+ /* 5. Improve media defaults */
23
+ img,
24
+ picture,
25
+ video,
26
+ canvas,
27
+ svg {
28
+ display: block;
29
+ max-width: 100%;
30
+ }
31
+
32
+ /* 6. Inherit fonts for form controls */
33
+ input,
34
+ button,
35
+ textarea,
36
+ select {
37
+ font: inherit;
38
+ }
39
+
40
+ /* 7. Avoid text overflows */
41
+ p,
42
+ h1,
43
+ h2,
44
+ h3,
45
+ h4,
46
+ h5,
47
+ h6 {
48
+ overflow-wrap: break-word;
49
+ }
@@ -1,5 +1,5 @@
1
- @mixin replacer {
2
- > div > div {
3
- @content;
4
- }
5
- }
1
+ @mixin replacer {
2
+ > div > div {
3
+ @content;
4
+ }
5
+ }
@@ -1,15 +1,15 @@
1
- .frontNavSeparator {
2
- --_space: calc(var(--gap) / 2);
3
- }
4
-
5
- .frontNavItem + .frontNavSeparator {
6
- border-top: 1px solid var(--border);
7
- margin-top: var(--_space);
8
- padding-top: var(--_space);
9
- }
10
-
11
- .frontNavSeparator:has(+ .frontNavItem:not(.frontNavSeparator)) {
12
- border-bottom: 1px solid var(--border);
13
- padding-bottom: var(--_space);
14
- margin-bottom: var(--_space);
15
- }
1
+ .frontNavSeparator {
2
+ --_space: calc(var(--gap) / 2);
3
+ }
4
+
5
+ .frontNavItem + .frontNavSeparator {
6
+ border-top: 1px solid var(--border);
7
+ margin-top: var(--_space);
8
+ padding-top: var(--_space);
9
+ }
10
+
11
+ .frontNavSeparator:has(+ .frontNavItem:not(.frontNavSeparator)) {
12
+ border-bottom: 1px solid var(--border);
13
+ padding-bottom: var(--_space);
14
+ margin-bottom: var(--_space);
15
+ }
@@ -1,5 +1,5 @@
1
- @mixin hasTheme {
2
- [data-erudit-preview-theme] & {
3
- @content;
4
- }
5
- }
1
+ @mixin hasTheme {
2
+ [data-erudit-preview-theme] & {
3
+ @content;
4
+ }
5
+ }
package/bin/erudit.mjs CHANGED
@@ -1,2 +1,2 @@
1
- #!/usr/bin/env node
2
- import '@erudit-js/cli/cli';
1
+ #!/usr/bin/env node
2
+ import '@erudit-js/cli/cli';
package/const.ts CHANGED
@@ -1,4 +1,4 @@
1
- export const PUBLIC_ERUDIT_ASSET = '/erudit-asset/';
2
- export const PUBLIC_CONTRIBUTOR_ASSET = '/user-asset/contributor/';
3
- export const PUBLIC_CONTENT_ASSET = '/user-asset/content/';
4
- export const PUBLIC_USER_ASSET = '/user-asset/public/';
1
+ export const PUBLIC_ERUDIT_ASSET = '/erudit-asset/';
2
+ export const PUBLIC_CONTRIBUTOR_ASSET = '/user-asset/contributor/';
3
+ export const PUBLIC_CONTENT_ASSET = '/user-asset/content/';
4
+ export const PUBLIC_USER_ASSET = '/user-asset/public/';
package/globalPath.ts CHANGED
@@ -1,21 +1,21 @@
1
- import { fileURLToPath } from 'node:url';
2
- import { resolvePaths } from '@erudit-js/cog/kit';
3
-
4
- export const ERUDIT_DIR = resolvePaths(fileURLToPath(import.meta.url), '..');
5
- export const PROJECT_DIR = process.env.ERUDIT_PROJECT_DIR as string;
6
-
7
- export function eruditPath(path?: string) {
8
- return path ? `${ERUDIT_DIR}/${path}` : ERUDIT_DIR;
9
- }
10
-
11
- export function projectPath(path?: string) {
12
- return path ? `${PROJECT_DIR}/${path}` : PROJECT_DIR;
13
- }
14
-
15
- export function eruditBuildPath(path?: string) {
16
- return projectPath('.erudit' + (path ? '/' + path : ''));
17
- }
18
-
19
- export function eruditEndNuxtPath(path?: string) {
20
- return eruditBuildPath('nuxt' + (path ? '/' + path : ''));
21
- }
1
+ import { fileURLToPath } from 'node:url';
2
+ import { resolvePaths } from '@erudit-js/cog/kit';
3
+
4
+ export const ERUDIT_DIR = resolvePaths(fileURLToPath(import.meta.url), '..');
5
+ export const PROJECT_DIR = process.env.ERUDIT_PROJECT_DIR as string;
6
+
7
+ export function eruditPath(path?: string) {
8
+ return path ? `${ERUDIT_DIR}/${path}` : ERUDIT_DIR;
9
+ }
10
+
11
+ export function projectPath(path?: string) {
12
+ return path ? `${PROJECT_DIR}/${path}` : PROJECT_DIR;
13
+ }
14
+
15
+ export function eruditBuildPath(path?: string) {
16
+ return projectPath('.erudit' + (path ? '/' + path : ''));
17
+ }
18
+
19
+ export function eruditEndNuxtPath(path?: string) {
20
+ return eruditBuildPath('nuxt' + (path ? '/' + path : ''));
21
+ }
package/globals/bitran.ts CHANGED
@@ -1 +1 @@
1
- export { defineServerBitran, defineAppBitran } from '@erudit-js/cog/schema';
1
+ export { defineServerBitran, defineAppBitran } from '@erudit-js/cog/schema';
@@ -1,27 +1,27 @@
1
- import type {
2
- BookConfig,
3
- ContentReferences,
4
- ContentReferenceSource,
5
- GroupConfig,
6
- TopicConfig,
7
- } from '@erudit-js/cog/schema';
8
-
9
- export function defineBook(book: Partial<BookConfig>) {
10
- return book;
11
- }
12
-
13
- export function defineGroup(group: Partial<GroupConfig>) {
14
- return group;
15
- }
16
-
17
- export function defineTopic(topic: Partial<TopicConfig>) {
18
- return topic;
19
- }
20
-
21
- export function defineContentReferences(references: ContentReferences) {
22
- return references;
23
- }
24
-
25
- export function defineContentSource(source: ContentReferenceSource) {
26
- return source;
27
- }
1
+ import type {
2
+ BookConfig,
3
+ ContentReferences,
4
+ ContentReferenceSource,
5
+ GroupConfig,
6
+ TopicConfig,
7
+ } from '@erudit-js/cog/schema';
8
+
9
+ export function defineBook(book: Partial<BookConfig>) {
10
+ return book;
11
+ }
12
+
13
+ export function defineGroup(group: Partial<GroupConfig>) {
14
+ return group;
15
+ }
16
+
17
+ export function defineTopic(topic: Partial<TopicConfig>) {
18
+ return topic;
19
+ }
20
+
21
+ export function defineContentReferences(references: ContentReferences) {
22
+ return references;
23
+ }
24
+
25
+ export function defineContentSource(source: ContentReferenceSource) {
26
+ return source;
27
+ }
@@ -1,5 +1,5 @@
1
- import type { ContributorConfig } from '@erudit-js/cog/schema';
2
-
3
- export function defineContributor(contributor: Partial<ContributorConfig>) {
4
- return contributor;
5
- }
1
+ import type { ContributorConfig } from '@erudit-js/cog/schema';
2
+
3
+ export function defineContributor(contributor: Partial<ContributorConfig>) {
4
+ return contributor;
5
+ }
package/globals/erudit.ts CHANGED
@@ -1,5 +1,5 @@
1
- import type { EruditConfig } from '@erudit-js/cog/schema';
2
-
3
- export function defineEruditConfig(eruditConfig: Partial<EruditConfig>) {
4
- return eruditConfig;
5
- }
1
+ import type { EruditConfig } from '@erudit-js/cog/schema';
2
+
3
+ export function defineEruditConfig(eruditConfig: Partial<EruditConfig>) {
4
+ return eruditConfig;
5
+ }