@brillout/docpress 0.5.33 → 0.5.34

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/dist/index.d.ts CHANGED
@@ -60,8 +60,8 @@ type Config = {
60
60
  projectInfo: {
61
61
  githubRepository: string;
62
62
  githubIssues: string;
63
+ githubDiscussions?: string;
63
64
  projectName: string;
64
- projectNameJsx?: JSX.Element;
65
65
  projectVersion: string;
66
66
  discordInvite: string;
67
67
  twitterProfile: string;
@@ -142,6 +142,37 @@ declare function HorizontalLine({ primary }: {
142
142
  primary?: true;
143
143
  }): JSX.Element;
144
144
 
145
+ type Children = (string | JSX.Element) | (string | JSX.Element)[];
146
+ declare function SupporterSection({ children }: {
147
+ children?: Children;
148
+ }): JSX.Element;
149
+ declare function SectionDescription({ children }: {
150
+ children?: Children;
151
+ }): JSX.Element;
152
+ declare function Individuals({ children }: {
153
+ children?: Children;
154
+ }): JSX.Element;
155
+ declare function Supporter({ username, avatarUrl }: {
156
+ username: string;
157
+ avatarUrl?: string;
158
+ }): JSX.Element;
159
+ declare function SupporterImg({ imgSrc, // has precedence over avatarUrl
160
+ avatarUrl, // has precedence over username
161
+ username, imgAlt, width, height, padding }: {
162
+ imgSrc?: string;
163
+ avatarUrl?: string;
164
+ username?: string;
165
+ imgAlt?: string;
166
+ width: number;
167
+ height: number;
168
+ padding?: number;
169
+ }): JSX.Element;
170
+ declare function CallToAction({ iconUrl, text, href }: {
171
+ iconUrl: string;
172
+ text: string;
173
+ href: string;
174
+ }): JSX.Element;
175
+
145
176
  type Plan = 'indie' | 'bronze' | 'silver' | 'gold' | 'platinum';
146
177
  type SponsorCompany = {
147
178
  companyName: string;
@@ -162,6 +193,26 @@ type DivSize = {
162
193
  };
163
194
  declare function Sponsors(): JSX.Element;
164
195
 
196
+ declare const maintainers: ({
197
+ username: string;
198
+ firstName: string;
199
+ roles: JSX.Element[];
200
+ consultingUrl?: undefined;
201
+ } | {
202
+ username: string;
203
+ firstName: string;
204
+ roles: JSX.Element[];
205
+ consultingUrl: string;
206
+ })[];
207
+
208
+ declare function Contributors(): JSX.Element;
209
+ declare function Maintainer({ maintainer }: {
210
+ maintainer: (typeof maintainers)[0];
211
+ }): JSX.Element;
212
+
213
+ declare function Consulting(): JSX.Element;
214
+ declare function Consultants(): JSX.Element;
215
+
165
216
  type LineBreak = 'white-space' | 'break-word';
166
217
  declare function CodeBlockTransformer({ children, lineBreak }: {
167
218
  children: React$1.ReactNode;
@@ -172,4 +223,4 @@ declare function Comment({ children }: {
172
223
  children: React$1.ReactNode;
173
224
  }): JSX.Element;
174
225
 
175
- export { CodeBlockTransformer, Comment, Config, Construction, Danger, Emoji, EmojiName, HeadingDefinition, HeadingDetachedDefinition, HorizontalLine, ImportMeta, Link, NoteWithCustomIcon, NoteWithoutIcon, P, ReadingRecommendation, RepoLink, Sponsor, Sponsors, Warning, assert, assertUsage, assertWarning, crawlAllFiles, determineSectionTitle, determineSectionUrlHash, filter, isBrowser, isRepoLink, jsxToTextContent, objectAssign };
226
+ export { CallToAction, CodeBlockTransformer, Comment, Config, Construction, Consultants, Consulting, Contributors, Danger, Emoji, EmojiName, HeadingDefinition, HeadingDetachedDefinition, HorizontalLine, ImportMeta, Individuals, Link, Maintainer, NoteWithCustomIcon, NoteWithoutIcon, P, ReadingRecommendation, RepoLink, SectionDescription, Sponsor, Sponsors, Supporter, SupporterImg, SupporterSection, Warning, assert, assertUsage, assertWarning, crawlAllFiles, determineSectionTitle, determineSectionUrlHash, filter, isBrowser, isRepoLink, jsxToTextContent, objectAssign };
package/dist/index.js CHANGED
@@ -274,8 +274,108 @@ function HorizontalLine({ primary }) {
274
274
  }));
275
275
  }
276
276
 
277
- // src/components/Sponsors.tsx
277
+ // src/components/Supporters.tsx
278
278
  import React7 from "react";
279
+ function SupporterSection({ children }) {
280
+ return /* @__PURE__ */ React7.createElement("div", {
281
+ style: {
282
+ textAlign: "center",
283
+ marginTop: 19
284
+ }
285
+ }, children);
286
+ }
287
+ function SectionDescription({ children }) {
288
+ return /* @__PURE__ */ React7.createElement("div", {
289
+ style: {
290
+ maxWidth: 400,
291
+ display: "inline-block",
292
+ marginTop: 12,
293
+ marginBottom: 12
294
+ }
295
+ }, children);
296
+ }
297
+ function Individuals({ children }) {
298
+ return /* @__PURE__ */ React7.createElement("div", {
299
+ style: {
300
+ display: "flex",
301
+ flexWrap: "wrap",
302
+ justifyContent: "center",
303
+ alignItems: "end",
304
+ margin: "17px auto",
305
+ maxWidth: 700
306
+ }
307
+ }, children);
308
+ }
309
+ function Supporter({ username, avatarUrl }) {
310
+ const website = `https://github.com/${username}`;
311
+ const width = 30;
312
+ const height = 30;
313
+ const marginWidth = 5;
314
+ const marginHeight = 5;
315
+ return /* @__PURE__ */ React7.createElement("a", {
316
+ href: website,
317
+ style: {
318
+ margin: `${marginHeight}px ${marginWidth}px`
319
+ }
320
+ }, /* @__PURE__ */ React7.createElement("div", {
321
+ style: {
322
+ borderRadius: 7,
323
+ overflow: "hidden",
324
+ width,
325
+ height,
326
+ display: "flex",
327
+ alignItems: "center",
328
+ flexDirection: "column",
329
+ justifyContent: "center"
330
+ }
331
+ }, /* @__PURE__ */ React7.createElement(SupporterImg, {
332
+ ...{ username, avatarUrl, width, height }
333
+ })));
334
+ }
335
+ function SupporterImg({
336
+ imgSrc,
337
+ avatarUrl,
338
+ username,
339
+ imgAlt,
340
+ width,
341
+ height,
342
+ padding = 0
343
+ }) {
344
+ const size = Math.max(width, height);
345
+ if (avatarUrl) {
346
+ imgSrc = imgSrc || `${avatarUrl}&size=${size}`;
347
+ }
348
+ if (username) {
349
+ imgSrc = imgSrc || `https://github.com/${username}.png?size=${size}`;
350
+ imgAlt = imgAlt || username;
351
+ }
352
+ return /* @__PURE__ */ React7.createElement("img", {
353
+ style: { width: `calc(100% - ${padding}px)`, height: height - padding, zIndex: 2, objectFit: "contain" },
354
+ src: imgSrc,
355
+ alt: imgAlt
356
+ });
357
+ }
358
+ function CallToAction({ iconUrl, text, href }) {
359
+ return /* @__PURE__ */ React7.createElement("a", {
360
+ className: "button",
361
+ style: {
362
+ color: "inherit",
363
+ display: "inline-flex",
364
+ alignItems: "center",
365
+ padding: "5px 10px",
366
+ marginBottom: 10
367
+ },
368
+ href
369
+ }, /* @__PURE__ */ React7.createElement("img", {
370
+ src: iconUrl,
371
+ height: 22
372
+ }), " ", /* @__PURE__ */ React7.createElement("span", {
373
+ style: { marginLeft: 7, fontSize: "1.07em" }
374
+ }, text));
375
+ }
376
+
377
+ // src/components/Sponsors.tsx
378
+ import React8 from "react";
279
379
 
280
380
  // src/icons/heart.svg
281
381
  var heart_default = "/assets/heart-OINVKOXO.svg";
@@ -292,29 +392,32 @@ var medalBronze_default = "/assets/medalBronze-CO4CTUR4.svg";
292
392
  // src/components/Sponsors/label.svg
293
393
  var label_default = "/assets/label-MP75CTIA.svg";
294
394
 
295
- // src/components/Sponsors/companyLogos/contra.svg
395
+ // src/data/sponsorsList/companyLogos/contra.svg
296
396
  var contra_default = "/assets/contra-WLZBOPBV.svg";
297
397
 
298
- // src/components/Sponsors/companyLogos/optimizers.svg
398
+ // src/data/sponsorsList/companyLogos/optimizers.svg
299
399
  var optimizers_default = "/assets/optimizers-SFEZF3NW.svg";
300
400
 
301
- // src/components/Sponsors/companyLogos/sourcegraph.svg
401
+ // src/data/sponsorsList/companyLogos/sourcegraph.svg
302
402
  var sourcegraph_default = "/assets/sourcegraph-YR2HADLS.svg";
303
403
 
304
- // src/components/Sponsors/companyLogos/burdaforward.png
404
+ // src/data/sponsorsList/companyLogos/burdaforward.png
305
405
  var burdaforward_default = "/assets/burdaforward-EUGURYZY.png";
306
406
 
307
- // src/components/Sponsors/companyLogos/inlang.png
407
+ // src/data/sponsorsList/companyLogos/inlang.png
308
408
  var inlang_default = "/assets/inlang-GFRWND6X.png";
309
409
 
310
- // src/components/Sponsors/companyLogos/bluefin.svg
410
+ // src/data/sponsorsList/companyLogos/bluefin.svg
311
411
  var bluefin_default = "/assets/bluefin-JQABZFGV.svg";
312
412
 
313
- // src/components/Sponsors/companyLogos/alignable.svg
413
+ // src/data/sponsorsList/companyLogos/alignable.svg
314
414
  var alignable_default = "/assets/alignable-B4QZV4X7.svg";
315
415
 
316
- // src/components/Sponsors/sponsorsList.ts
416
+ // src/data/sponsorsList.ts
317
417
  var individuals = [
418
+ { username: "shishkin17" },
419
+ { username: "royalswe" },
420
+ { username: "lebretont" },
318
421
  { username: "xar" },
319
422
  { username: "NicoZweifel" },
320
423
  { username: "mariuslian" },
@@ -345,7 +448,6 @@ var individuals = [
345
448
  { username: "cookieplace" },
346
449
  { username: "JiangWeixian" },
347
450
  { username: "harrytran998" },
348
- { username: "royalswe" },
349
451
  { username: "alexturpin" },
350
452
  { username: "gu-stav" },
351
453
  { username: "YannBirba" },
@@ -387,6 +489,13 @@ var companies = [
387
489
  website: "https://contra.com",
388
490
  github: "contra"
389
491
  },
492
+ {
493
+ companyName: "Inlang",
494
+ companyLogo: inlang_default,
495
+ plan: "silver",
496
+ website: "https://inlang.com/",
497
+ github: "opral"
498
+ },
390
499
  {
391
500
  companyName: "Alignable",
392
501
  companyLogo: alignable_default,
@@ -418,13 +527,6 @@ var companies = [
418
527
  website: "https://www.burda-forward.de",
419
528
  github: "BurdaForward"
420
529
  },
421
- {
422
- companyName: "Inlang",
423
- companyLogo: inlang_default,
424
- plan: "indie",
425
- website: "https://inlang.com/",
426
- github: "inlang"
427
- },
428
530
  {
429
531
  companyName: "Bluefin",
430
532
  companyLogo: bluefin_default,
@@ -442,86 +544,47 @@ function Sponsors() {
442
544
  const sponsorGithubAccount = pageContext.config.sponsorGithubAccount || "brillout";
443
545
  const sponsorsCompanies = sponsorsList.filter(isCompany);
444
546
  const sponsorsIndividuals = sponsorsList.filter(isIndividual);
445
- return /* @__PURE__ */ React7.createElement("div", {
446
- style: { textAlign: "center", marginTop: 19 }
447
- }, /* @__PURE__ */ React7.createElement("a", {
448
- className: "button",
449
- href: `https://github.com/sponsors/${sponsorGithubAccount}`,
450
- style: {
451
- color: "inherit",
452
- display: "inline-flex",
453
- alignItems: "center",
454
- padding: "5px 10px",
455
- marginBottom: 10
456
- }
457
- }, /* @__PURE__ */ React7.createElement("img", {
458
- src: heart_default,
459
- height: 22
460
- }), " ", /* @__PURE__ */ React7.createElement("span", {
461
- style: { marginLeft: 7, fontSize: "1.07em" }
462
- }, "Sponsor")), /* @__PURE__ */ React7.createElement("div", null), /* @__PURE__ */ React7.createElement("div", {
463
- style: { maxWidth: 400, display: "inline-block", marginTop: 12, marginBottom: 12 }
464
- }, projectInfo.projectNameJsx || projectInfo.projectName, " is free and open source, made possible by wonderful sponsors."), /* @__PURE__ */ React7.createElement("div", {
547
+ return /* @__PURE__ */ React8.createElement(SupporterSection, null, /* @__PURE__ */ React8.createElement(CallToAction, {
548
+ iconUrl: heart_default,
549
+ text: "Sponsor",
550
+ href: `https://github.com/sponsors/${sponsorGithubAccount}`
551
+ }), /* @__PURE__ */ React8.createElement("div", null), /* @__PURE__ */ React8.createElement(SectionDescription, null, projectInfo.projectName, " is free and open source, made possible by wonderful sponsors."), /* @__PURE__ */ React8.createElement("div", {
465
552
  style: { display: "flex", flexWrap: "wrap", justifyContent: "space-evenly", alignItems: "end" }
466
- }, sponsorsCompanies.map((sponsor, i) => /* @__PURE__ */ React7.createElement(SponsorDiv, {
553
+ }, sponsorsCompanies.map((sponsor, i) => /* @__PURE__ */ React8.createElement(SponsorDiv, {
467
554
  sponsor,
468
555
  key: i
469
- }))), /* @__PURE__ */ React7.createElement("div", {
470
- style: {
471
- display: "flex",
472
- flexWrap: "wrap",
473
- justifyContent: "center",
474
- alignItems: "end",
475
- margin: "17px auto",
476
- maxWidth: 700
477
- }
478
- }, sponsorsIndividuals.map((sponsor, i) => /* @__PURE__ */ React7.createElement(SponsorDiv, {
556
+ }))), /* @__PURE__ */ React8.createElement(Individuals, null, sponsorsIndividuals.map((sponsor, i) => /* @__PURE__ */ React8.createElement(SponsorDiv, {
479
557
  sponsor,
480
558
  key: i
481
559
  }))));
482
560
  }
483
561
  function SponsorDiv({ sponsor }) {
484
- let imgSrc;
485
- let imgAlt;
486
- let width;
487
- let height;
488
- let website;
489
- let padding;
490
- let marginHeight;
491
- let marginWidth;
492
- let backgroundColor = "#f0f0f0";
493
- let label = null;
494
562
  if (isIndividual(sponsor)) {
495
- website = `https://github.com/${sponsor.username}`;
496
- imgSrc = `https://github.com/${sponsor.username}.png?size=30`;
497
- width = 30;
498
- height = 30;
499
- padding = 0;
500
- marginHeight = 5;
501
- marginWidth = 5;
502
- backgroundColor = "none";
503
- } else {
504
- imgSrc = sponsor.companyLogo;
505
- website = sponsor.website;
506
- const size = getSize(sponsor);
507
- width = size.width;
508
- height = size.height;
509
- padding = size.padding;
510
- imgAlt = sponsor.companyName;
511
- marginHeight = 20;
512
- marginWidth = 10;
513
- label = /* @__PURE__ */ React7.createElement(Label, {
514
- sponsor
563
+ return /* @__PURE__ */ React8.createElement(Supporter, {
564
+ username: sponsor.username
515
565
  });
516
566
  }
517
- return /* @__PURE__ */ React7.createElement("a", {
518
- href: website,
567
+ return /* @__PURE__ */ React8.createElement(CompanyDiv, {
568
+ sponsor
569
+ });
570
+ }
571
+ function CompanyDiv({ sponsor }) {
572
+ assert(isCompany(sponsor));
573
+ const imgSrc = sponsor.companyLogo;
574
+ const imgAlt = sponsor.companyName;
575
+ const { width, height, padding } = getSize(sponsor);
576
+ const marginHeight = 20;
577
+ const marginWidth = 10;
578
+ return /* @__PURE__ */ React8.createElement("a", {
579
+ href: sponsor.website,
519
580
  style: {
520
581
  margin: `${marginHeight}px ${marginWidth}px`
521
582
  }
522
- }, label, /* @__PURE__ */ React7.createElement("div", {
583
+ }, /* @__PURE__ */ React8.createElement(Label, {
584
+ sponsor
585
+ }), /* @__PURE__ */ React8.createElement("div", {
523
586
  style: {
524
- backgroundColor,
587
+ backgroundColor: "#f0f0f0",
525
588
  borderRadius: 7,
526
589
  overflow: "hidden",
527
590
  width,
@@ -532,10 +595,8 @@ function SponsorDiv({ sponsor }) {
532
595
  flexDirection: "column",
533
596
  justifyContent: "center"
534
597
  }
535
- }, /* @__PURE__ */ React7.createElement("img", {
536
- style: { width: `calc(100% - ${padding}px)`, height: height - padding, zIndex: 2, objectFit: "contain" },
537
- src: imgSrc,
538
- alt: imgAlt
598
+ }, /* @__PURE__ */ React8.createElement(SupporterImg, {
599
+ ...{ imgSrc, imgAlt, width, height, padding }
539
600
  })));
540
601
  }
541
602
  function Label({ sponsor }) {
@@ -543,7 +604,7 @@ function Label({ sponsor }) {
543
604
  const labelBg = getLabelBg(sponsor);
544
605
  const labelIcon = getLabelIcon(sponsor);
545
606
  const labelText = getLabelText(sponsor);
546
- return /* @__PURE__ */ React7.createElement("div", {
607
+ return /* @__PURE__ */ React8.createElement("div", {
547
608
  style: {
548
609
  top: 0,
549
610
  display: "flex",
@@ -556,20 +617,20 @@ function Label({ sponsor }) {
556
617
  }
557
618
  function getLabelBg(sponsor) {
558
619
  const height = sponsor.plan === "platinum" ? 32 : 24;
559
- return /* @__PURE__ */ React7.createElement("img", {
620
+ return /* @__PURE__ */ React8.createElement("img", {
560
621
  src: label_default,
561
622
  style: { height, position: "absolute", bottom: 0, zIndex: -1 }
562
623
  });
563
624
  }
564
625
  function getLabelText(sponsor) {
565
626
  if (sponsor.plan === "platinum") {
566
- return /* @__PURE__ */ React7.createElement(React7.Fragment, null);
627
+ return /* @__PURE__ */ React8.createElement(React8.Fragment, null);
567
628
  }
568
629
  let letterSpacing = void 0;
569
630
  if (["bronze", "silver", "gold", "indie"].includes(sponsor.plan)) {
570
631
  letterSpacing = 1;
571
632
  }
572
- return /* @__PURE__ */ React7.createElement(React7.Fragment, null, " ", /* @__PURE__ */ React7.createElement("span", {
633
+ return /* @__PURE__ */ React8.createElement(React8.Fragment, null, " ", /* @__PURE__ */ React8.createElement("span", {
573
634
  style: {
574
635
  zIndex: 1,
575
636
  fontSize: "0.82em",
@@ -584,12 +645,12 @@ function getLabelText(sponsor) {
584
645
  function getLabelIcon(sponsor) {
585
646
  let medalSrc;
586
647
  if (sponsor.plan === "platinum") {
587
- return /* @__PURE__ */ React7.createElement(Emoji, {
648
+ return /* @__PURE__ */ React8.createElement(Emoji, {
588
649
  name: "trophy",
589
650
  style: { fontSize: "1.3em" }
590
651
  });
591
652
  } else if (sponsor.plan === "indie") {
592
- return /* @__PURE__ */ React7.createElement(Emoji, {
653
+ return /* @__PURE__ */ React8.createElement(Emoji, {
593
654
  name: "ribbon",
594
655
  style: { fontSize: "0.9em" }
595
656
  });
@@ -602,7 +663,7 @@ function getLabelIcon(sponsor) {
602
663
  } else {
603
664
  assert(false);
604
665
  }
605
- return /* @__PURE__ */ React7.createElement("img", {
666
+ return /* @__PURE__ */ React8.createElement("img", {
606
667
  src: medalSrc,
607
668
  style: { height: 15, zIndex: 1, marginRight: 5 }
608
669
  });
@@ -641,40 +702,226 @@ function isIndividual(sponsor) {
641
702
  return "username" in sponsor;
642
703
  }
643
704
 
705
+ // src/components/Contributors.tsx
706
+ import React10 from "react";
707
+
708
+ // src/data/maintainersList.tsx
709
+ import React9 from "react";
710
+ var maintainers = [
711
+ {
712
+ username: "brillout",
713
+ firstName: "Rom",
714
+ roles: [
715
+ /* @__PURE__ */ React9.createElement(React9.Fragment, null, "Vike Core (Lead Maintainer, Creator)"),
716
+ /* @__PURE__ */ React9.createElement(React9.Fragment, null, /* @__PURE__ */ React9.createElement("code", null, "vike-react"), " (Lead Maintainer, Creator)"),
717
+ /* @__PURE__ */ React9.createElement(React9.Fragment, null, /* @__PURE__ */ React9.createElement("code", null, "vike-vue"), " (Contributor)")
718
+ ]
719
+ },
720
+ {
721
+ username: "magne4000",
722
+ firstName: "Jo\xEBl",
723
+ roles: [
724
+ /* @__PURE__ */ React9.createElement(React9.Fragment, null, "Bati (Lead Maintainer, Creator)"),
725
+ /* @__PURE__ */ React9.createElement(React9.Fragment, null, /* @__PURE__ */ React9.createElement("code", null, "vike-solid"), " (Lead Maintainer, Creator)"),
726
+ /* @__PURE__ */ React9.createElement(React9.Fragment, null, "Vike Core (Contributor)")
727
+ ]
728
+ },
729
+ {
730
+ username: "AurelienLourot",
731
+ firstName: "Aur\xE9lien",
732
+ roles: [
733
+ /* @__PURE__ */ React9.createElement(React9.Fragment, null, /* @__PURE__ */ React9.createElement("code", null, "vike-vue"), " (Lead Maintainer, Creator)"),
734
+ /* @__PURE__ */ React9.createElement(React9.Fragment, null, /* @__PURE__ */ React9.createElement("code", null, "vike-react"), " (Contributor)"),
735
+ /* @__PURE__ */ React9.createElement(React9.Fragment, null, "Vike Core (Contributor)")
736
+ ],
737
+ consultingUrl: "https://lourot.dev/"
738
+ },
739
+ {
740
+ username: "nitedani",
741
+ firstName: "D\xE1niel",
742
+ roles: [
743
+ /* @__PURE__ */ React9.createElement(React9.Fragment, null, /* @__PURE__ */ React9.createElement("code", null, "vike-react-query"), " (Lead Maintainer, Creator)"),
744
+ /* @__PURE__ */ React9.createElement(React9.Fragment, null, /* @__PURE__ */ React9.createElement("code", null, "vike-angular"), " (Lead Maintainer, Creator)"),
745
+ /* @__PURE__ */ React9.createElement(React9.Fragment, null, "Vike Core (Contributor)")
746
+ ]
747
+ },
748
+ {
749
+ username: "phonzammi",
750
+ firstName: "Muhammad",
751
+ roles: [
752
+ /* @__PURE__ */ React9.createElement(React9.Fragment, null, /* @__PURE__ */ React9.createElement("code", null, "vike-vue"), " (Contributor)"),
753
+ /* @__PURE__ */ React9.createElement(React9.Fragment, null, /* @__PURE__ */ React9.createElement("code", null, "vike-solid"), " (Contributor)"),
754
+ /* @__PURE__ */ React9.createElement(React9.Fragment, null, /* @__PURE__ */ React9.createElement("code", null, "vike-react"), " (Contributor)")
755
+ ]
756
+ },
757
+ {
758
+ username: "4350pChris",
759
+ firstName: "Chris",
760
+ roles: [
761
+ /* @__PURE__ */ React9.createElement(React9.Fragment, null, /* @__PURE__ */ React9.createElement("code", null, "vike-pinia"), " (Lead Maintainer, Creator)"),
762
+ /* @__PURE__ */ React9.createElement(React9.Fragment, null, /* @__PURE__ */ React9.createElement("code", null, "vike-vue"), " (Contributor)"),
763
+ /* @__PURE__ */ React9.createElement(React9.Fragment, null, "Vike Core (Contributor)")
764
+ ]
765
+ }
766
+ ];
767
+
768
+ // src/components/Contributors.tsx
769
+ import { contributors } from "vike-contributors";
770
+ function Contributors() {
771
+ const pageContext = usePageContext();
772
+ const { projectInfo } = pageContext.config;
773
+ return /* @__PURE__ */ React10.createElement(SupporterSection, null, /* @__PURE__ */ React10.createElement(SectionDescription, null, projectInfo.projectName, " is built and maintained by passionate contributors."), /* @__PURE__ */ React10.createElement("div", {
774
+ style: { display: "flex", flexWrap: "wrap", justifyContent: "space-evenly", alignItems: "end" }
775
+ }, maintainers.map((maintainer, i) => /* @__PURE__ */ React10.createElement(Maintainer, {
776
+ maintainer,
777
+ key: i
778
+ }))), /* @__PURE__ */ React10.createElement(Individuals, null, contributors.filter((contributor) => {
779
+ return !contributor.login.includes("[bot]") && !maintainers.map((m) => m.username).includes(contributor.login);
780
+ }).map((contributor, i) => /* @__PURE__ */ React10.createElement(Supporter, {
781
+ username: contributor.login,
782
+ avatarUrl: contributor.avatarUrl,
783
+ key: i
784
+ }))));
785
+ }
786
+ function Maintainer({ maintainer }) {
787
+ const marginHeight = 20;
788
+ const marginWidth = 10;
789
+ const imgSize = 50;
790
+ const githubUrl = `https://github.com/${maintainer.username}`;
791
+ return /* @__PURE__ */ React10.createElement("div", {
792
+ style: {
793
+ borderRadius: 7,
794
+ borderWidth: 1,
795
+ borderStyle: "solid",
796
+ borderColor: "#e0e0e0",
797
+ overflow: "hidden",
798
+ width: 430,
799
+ maxWidth: `calc(100vw - 2 * var(--main-view-padding) - 2 * ${marginWidth}px)`,
800
+ margin: `${marginHeight}px ${marginWidth}px`,
801
+ display: "flex",
802
+ flexWrap: "wrap",
803
+ padding: 20,
804
+ gap: 20,
805
+ textAlign: "left"
806
+ }
807
+ }, /* @__PURE__ */ React10.createElement("a", {
808
+ href: githubUrl
809
+ }, /* @__PURE__ */ React10.createElement("div", {
810
+ style: { width: imgSize, height: imgSize, borderRadius: imgSize / 2, overflow: "hidden" }
811
+ }, /* @__PURE__ */ React10.createElement(SupporterImg, {
812
+ username: maintainer.username,
813
+ avatarUrl: getAvatarUrl(maintainer),
814
+ imgAlt: maintainer.firstName,
815
+ width: imgSize,
816
+ height: imgSize
817
+ }))), /* @__PURE__ */ React10.createElement("div", null, /* @__PURE__ */ React10.createElement("b", null, maintainer.firstName), " \xB7", " ", /* @__PURE__ */ React10.createElement("a", {
818
+ href: githubUrl
819
+ }, /* @__PURE__ */ React10.createElement("i", {
820
+ style: { fontSize: ".9em", color: "#505050" }
821
+ }, maintainer.username)), maintainer.consultingUrl ? /* @__PURE__ */ React10.createElement(React10.Fragment, null, " ", "\xB7", " ", /* @__PURE__ */ React10.createElement("a", {
822
+ href: maintainer.consultingUrl
823
+ }, /* @__PURE__ */ React10.createElement("b", {
824
+ style: {
825
+ fontSize: ".7em",
826
+ color: "white",
827
+ backgroundColor: "#305090",
828
+ padding: "1px 5px 2px 5px",
829
+ verticalAlign: "text-top",
830
+ borderRadius: 3
831
+ }
832
+ }, "consulting"))) : null, /* @__PURE__ */ React10.createElement("ul", {
833
+ style: { fontSize: ".8em", paddingLeft: 15, marginTop: 5, marginBottom: 0 }
834
+ }, maintainer.roles.map((role, i) => /* @__PURE__ */ React10.createElement("li", {
835
+ key: i
836
+ }, role)))));
837
+ }
838
+ function getAvatarUrl(maintainer) {
839
+ for (const contributor of contributors) {
840
+ if (maintainer.username === contributor.login) {
841
+ return contributor.avatarUrl;
842
+ }
843
+ }
844
+ throw new Error(`Maintainer ${maintainer.username} not found in contributors' list.`);
845
+ }
846
+
847
+ // src/components/Consulting.tsx
848
+ import React11 from "react";
849
+
850
+ // src/icons/people.svg
851
+ var people_default = "/assets/people-72KKQHU4.svg";
852
+
853
+ // src/components/Consulting.tsx
854
+ var consultingPageHref = "/consulting";
855
+ function Consulting() {
856
+ const pageContext = usePageContext();
857
+ const { projectInfo } = pageContext.config;
858
+ const { projectName } = projectInfo;
859
+ return /* @__PURE__ */ React11.createElement(SupporterSection, null, /* @__PURE__ */ React11.createElement(CallToAction, {
860
+ iconUrl: people_default,
861
+ text: "Consulting",
862
+ href: consultingPageHref
863
+ }), /* @__PURE__ */ React11.createElement("div", null), /* @__PURE__ */ React11.createElement(SectionDescription, null, "For questions and issues related to ", projectName, ", open a", " ", /* @__PURE__ */ React11.createElement("a", {
864
+ href: projectInfo.githubDiscussions || projectInfo.githubIssues
865
+ }, "GitHub Discussion"), ". For advanced help or help not directly related to ", projectName, ", the ", projectName, " team offers", " ", /* @__PURE__ */ React11.createElement(Link, {
866
+ href: consultingPageHref,
867
+ noBreadcrumb: true
868
+ }, "consulting"), "."));
869
+ }
870
+ function Consultants() {
871
+ return /* @__PURE__ */ React11.createElement(SupporterSection, null, /* @__PURE__ */ React11.createElement("div", {
872
+ style: { display: "flex", flexWrap: "wrap", alignItems: "end" }
873
+ }, maintainers.filter((maintainer) => {
874
+ return !!maintainer.consultingUrl;
875
+ }).map((maintainer, i) => /* @__PURE__ */ React11.createElement(Maintainer, {
876
+ maintainer,
877
+ key: i
878
+ }))));
879
+ }
880
+
644
881
  // src/components/CodeBlockTransformer.tsx
645
- import React8 from "react";
882
+ import React12 from "react";
646
883
  function CodeBlockTransformer({ children, lineBreak }) {
647
884
  assert(
648
885
  lineBreak === "white-space" || lineBreak === "break-word",
649
886
  "`lineBreak` is currently the only use case for <CodeBlockTransformer>"
650
887
  );
651
888
  const className = `with-line-break_${lineBreak}`;
652
- return /* @__PURE__ */ React8.createElement("div", {
889
+ return /* @__PURE__ */ React12.createElement("div", {
653
890
  className
654
891
  }, children);
655
892
  }
656
893
 
657
894
  // src/components/Comment.tsx
658
- import React9 from "react";
895
+ import React13 from "react";
659
896
  function Comment({ children }) {
660
- return /* @__PURE__ */ React9.createElement(React9.Fragment, null);
897
+ return /* @__PURE__ */ React13.createElement(React13.Fragment, null);
661
898
  }
662
899
  export {
900
+ CallToAction,
663
901
  CodeBlockTransformer,
664
902
  Comment,
665
903
  Construction,
904
+ Consultants,
905
+ Consulting,
906
+ Contributors,
666
907
  Danger,
667
908
  Emoji,
668
909
  FeatureList,
669
910
  HorizontalLine,
670
911
  ImportMeta,
912
+ Individuals,
671
913
  Link,
914
+ Maintainer,
672
915
  NoteWithCustomIcon,
673
916
  NoteWithoutIcon,
674
917
  P,
675
918
  ReadingRecommendation,
676
919
  RepoLink,
920
+ SectionDescription,
677
921
  Sponsors,
922
+ Supporter,
923
+ SupporterImg,
924
+ SupporterSection,
678
925
  Warning,
679
926
  assert,
680
927
  assertUsage,
@@ -0,0 +1,9 @@
1
+ <?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
2
+ <svg width="800px" height="800px" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
3
+ <path d="M16.719 19.7519L16.0785 14.6279C15.8908 13.1266 14.6146 12 13.1017 12H12H10.8983C9.38538 12 8.10917 13.1266 7.92151 14.6279L7.28101 19.7519C7.1318 20.9456 8.06257 22 9.26556 22H12H14.7344C15.9374 22 16.8682 20.9456 16.719 19.7519Z" stroke="#000000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
4
+ <circle cx="12" cy="5" r="3" stroke="#000000" stroke-width="2"/>
5
+ <circle cx="4" cy="9" r="2" stroke="#000000" stroke-width="2"/>
6
+ <circle cx="20" cy="9" r="2" stroke="#000000" stroke-width="2"/>
7
+ <path d="M4 14H3.69425C2.71658 14 1.8822 14.7068 1.72147 15.6712L1.38813 17.6712C1.18496 18.8903 2.12504 20 3.36092 20H7" stroke="#000000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
8
+ <path d="M20 14H20.3057C21.2834 14 22.1178 14.7068 22.2785 15.6712L22.6119 17.6712C22.815 18.8903 21.8751 20 20.6392 20C19.4775 20 18.0952 20 17 20" stroke="#000000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
9
+ </svg>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@brillout/docpress",
3
- "version": "0.5.33",
3
+ "version": "0.5.34",
4
4
  "scripts": {
5
5
  "// Check types while developing": "",
6
6
  "types": "tsc --noEmit --watch",
@@ -26,6 +26,7 @@
26
26
  "shiki": "^0.10.1",
27
27
  "twemoji": "^13.1.0",
28
28
  "vike": "^0.4.151",
29
+ "vike-contributors": "^0.0.6",
29
30
  "vite": "^4.3.9"
30
31
  },
31
32
  "type": "module",