@grove-dev/astro 0.1.5 → 0.2.5
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/LICENSE +21 -0
- package/dist/index.d.ts +4 -25
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +56 -22
- package/dist/index.js.map +1 -1
- package/dist/layouts/index.d.ts +25 -0
- package/dist/layouts/index.d.ts.map +1 -0
- package/dist/layouts/index.js +25 -0
- package/dist/layouts/index.js.map +1 -0
- package/dist/lib/display.d.ts +33 -0
- package/dist/lib/display.d.ts.map +1 -0
- package/dist/lib/display.js +104 -0
- package/dist/lib/display.js.map +1 -0
- package/dist/lib/format.d.ts +30 -0
- package/dist/lib/format.d.ts.map +1 -0
- package/dist/lib/format.js +73 -0
- package/dist/lib/format.js.map +1 -0
- package/dist/lib/index.d.ts +26 -0
- package/dist/lib/index.d.ts.map +1 -0
- package/dist/lib/index.js +26 -0
- package/dist/lib/index.js.map +1 -0
- package/dist/lib/lenses.d.ts +96 -0
- package/dist/lib/lenses.d.ts.map +1 -0
- package/dist/lib/lenses.js +181 -0
- package/dist/lib/lenses.js.map +1 -0
- package/dist/lib/repo.d.ts +30 -0
- package/dist/lib/repo.d.ts.map +1 -0
- package/dist/lib/repo.js +44 -0
- package/dist/lib/repo.js.map +1 -0
- package/dist/lib/scores.d.ts +38 -0
- package/dist/lib/scores.d.ts.map +1 -0
- package/dist/lib/scores.js +83 -0
- package/dist/lib/scores.js.map +1 -0
- package/dist/lib/search.d.ts +199 -0
- package/dist/lib/search.d.ts.map +1 -0
- package/dist/lib/search.js +357 -0
- package/dist/lib/search.js.map +1 -0
- package/dist/lib/taxonomy-counts.d.ts +25 -0
- package/dist/lib/taxonomy-counts.d.ts.map +1 -0
- package/dist/lib/taxonomy-counts.js +41 -0
- package/dist/lib/taxonomy-counts.js.map +1 -0
- package/package.json +7 -7
- package/src/components/AppsIndexRow.astro +204 -0
- package/src/components/AppsPagination.astro +126 -0
- package/src/components/CategoryGrid.astro +86 -17
- package/src/components/ContributorsGrid.astro +149 -0
- package/src/components/DecisionRow.astro +89 -0
- package/src/components/ExploreByCategory.astro +67 -0
- package/src/components/ExploreByStack.astro +72 -0
- package/src/components/Hero.astro +246 -0
- package/src/components/Icon.astro +223 -0
- package/src/components/ItemCard.astro +306 -30
- package/src/components/MinimalAbout.astro +82 -0
- package/src/components/OriginalCollection.astro +116 -0
- package/src/components/RecordSection.astro +88 -0
- package/src/components/RefinePanel.astro +197 -0
- package/src/components/ScoreBars.astro +92 -22
- package/src/components/SmartLensTabs.astro +71 -0
- package/src/components/StackGrid.astro +132 -0
- package/src/components/WhyThisExists.astro +116 -0
- package/src/index.ts +61 -14
- package/src/layouts/BaseLayout.astro +227 -15
- package/src/layouts/Container.astro +57 -0
- package/src/layouts/Footer.astro +235 -0
- package/src/layouts/Header.astro +159 -0
- package/src/layouts/SectionHeader.astro +58 -0
- package/{templates/default/src/components/layout → src/layouts}/Seo.astro +62 -38
- package/src/layouts/ThemeToggle.astro +110 -0
- package/src/layouts/astro-shim.d.ts +29 -0
- package/src/layouts/index.ts +24 -0
- package/src/lib/display.ts +118 -0
- package/src/lib/format.ts +65 -0
- package/src/lib/index.ts +26 -0
- package/src/lib/lenses.ts +241 -0
- package/src/lib/repo.ts +44 -0
- package/src/lib/scores.ts +94 -0
- package/src/lib/search.ts +481 -0
- package/src/lib/taxonomy-counts.ts +60 -0
- package/src/styles.css +366 -638
- package/templates/default/astro.config.mjs +8 -6
- package/templates/default/content/pages/about.md +66 -0
- package/templates/default/content/pages/methodology.md +103 -0
- package/templates/default/data/generated/records.full.json +8 -0
- package/templates/default/data/generated/records.index.json +7 -0
- package/templates/default/data/generated/records.json +8 -0
- package/templates/default/data/generated/site-config.json +31 -0
- package/templates/default/data/records/.gitkeep +0 -0
- package/templates/default/grove.config.ts +36 -0
- package/templates/default/package.json +6 -5
- package/templates/default/public/llms-full.txt +14 -0
- package/templates/default/public/llms.txt +11 -0
- package/templates/default/src/components/layout/BaseLayout.astro +10 -57
- package/templates/default/src/components/layout/Footer.astro +16 -134
- package/templates/default/src/components/layout/Header.astro +25 -126
- package/templates/default/src/data/records.ts +193 -0
- package/templates/default/src/lib/markdown.ts +171 -0
- package/templates/default/src/pages/about.astro +95 -429
- package/templates/default/src/pages/index.astro +263 -61
- package/templates/default/src/pages/projects/[slug].astro +480 -0
- package/templates/default/src/pages/projects/index.astro +193 -0
- package/templates/default/src/pages/sitemap.xml.ts +73 -61
- package/templates/default/src/pages/submit.astro +122 -411
- package/templates/default/src/styles/global.css +42 -68
- package/src/components/ActiveFilterChips.astro +0 -20
- package/src/components/DirectoryFilters.astro +0 -100
- package/src/components/DirectoryHero.astro +0 -32
- package/src/components/HealthBadge.astro +0 -12
- package/src/components/LensTabs.astro +0 -26
- package/src/components/MethodologyPanel.astro +0 -20
- package/src/components/Pagination.astro +0 -24
- package/src/components/ProjectDetail.astro +0 -166
- package/src/components/SubmitDraft.astro +0 -137
- package/templates/default/src/components/AppCard.astro +0 -248
- package/templates/default/src/components/AppSection.astro +0 -58
- package/templates/default/src/components/AppsIndexRow.astro +0 -230
- package/templates/default/src/components/AppsPagination.astro +0 -147
- package/templates/default/src/components/CategoryGrid.astro +0 -80
- package/templates/default/src/components/ContributorsGrid.astro +0 -105
- package/templates/default/src/components/DecisionRow.astro +0 -219
- package/templates/default/src/components/ExploreByCategory.astro +0 -74
- package/templates/default/src/components/ExploreByStack.astro +0 -102
- package/templates/default/src/components/Hero.astro +0 -176
- package/templates/default/src/components/MinimalAbout.astro +0 -57
- package/templates/default/src/components/OriginalCollection.astro +0 -144
- package/templates/default/src/components/RefinePanel.astro +0 -272
- package/templates/default/src/components/ScoreBars.astro +0 -72
- package/templates/default/src/components/SmartLensTabs.astro +0 -65
- package/templates/default/src/components/StackGrid.astro +0 -95
- package/templates/default/src/components/WhyThisExists.astro +0 -81
- package/templates/default/src/components/icons/Icon.astro +0 -148
- package/templates/default/src/components/layout/SectionHeader.astro +0 -42
- package/templates/default/src/components/layout/ThemeToggle.astro +0 -97
- package/templates/default/src/data/apps.ts +0 -149
- package/templates/default/src/data/categories.ts +0 -27
- package/templates/default/src/data/config.ts +0 -28
- package/templates/default/src/data/contributors.ts +0 -96
- package/templates/default/src/data/stacks.ts +0 -47
- package/templates/default/src/data/stats.ts +0 -65
- package/templates/default/src/data/types.ts +0 -248
- package/templates/default/src/lib/apps-search.ts +0 -228
- package/templates/default/src/lib/format.ts +0 -36
- package/templates/default/src/lib/lenses.ts +0 -98
- package/templates/default/src/lib/repo.ts +0 -12
- package/templates/default/src/lib/scores.ts +0 -51
- package/templates/default/src/lib/taxonomy-counts.ts +0 -31
- package/templates/default/src/pages/apps/[slug].astro +0 -709
- package/templates/default/src/pages/apps/index.astro +0 -669
- package/templates/default/src/pages/contributors.astro +0 -142
|
@@ -1,142 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
import { siteConfig } from "../data/config";
|
|
3
|
-
|
|
4
|
-
// SPDX-License-Identifier: MIT
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* /contributors — full shout-out page. Every contributor is listed
|
|
8
|
-
* with avatar, name (if known), and a link to their GitHub
|
|
9
|
-
* profile. The page is what the homepage "View all" link points
|
|
10
|
-
* to, so visitors can see who has actually shaped the directory
|
|
11
|
-
* over time. Order matches the synced list (most active first)
|
|
12
|
-
* but the page intentionally avoids leaderboard framing — no
|
|
13
|
-
* commit counts, no rank numbering.
|
|
14
|
-
*/
|
|
15
|
-
import BaseLayout from "../components/layout/BaseLayout.astro";
|
|
16
|
-
import Container from "../components/layout/Container.astro";
|
|
17
|
-
import { contributors as allContributors } from "../data/contributors";
|
|
18
|
-
|
|
19
|
-
// `contributors.ts` is already sorted by contributions desc by the
|
|
20
|
-
// sync script; the spread + sort is kept only as a defensive copy
|
|
21
|
-
// in case the source order ever changes upstream.
|
|
22
|
-
const contributors = [...allContributors].sort(
|
|
23
|
-
(a, b) => (b.contributions ?? 0) - (a.contributions ?? 0),
|
|
24
|
-
);
|
|
25
|
-
const total = contributors.length;
|
|
26
|
-
const withNames = contributors.filter((c) => c.name).length;
|
|
27
|
-
|
|
28
|
-
const title = "Contributors — ${siteConfig.name}";
|
|
29
|
-
const description = `Every person who has shaped the ${siteConfig.name} directory. ${total} contributors.`;
|
|
30
|
-
---
|
|
31
|
-
|
|
32
|
-
<BaseLayout title={title} description={description}>
|
|
33
|
-
<Container>
|
|
34
|
-
<div class="py-14 sm:py-20">
|
|
35
|
-
<span
|
|
36
|
-
class="inline-flex items-center gap-1.5 text-2xs font-medium text-ink-500 dark:text-ink-400"
|
|
37
|
-
>
|
|
38
|
-
<span
|
|
39
|
-
aria-hidden="true"
|
|
40
|
-
class="inline-block h-1.5 w-1.5 rounded-full bg-emerald-500"
|
|
41
|
-
></span>
|
|
42
|
-
Community · {total} contributors
|
|
43
|
-
</span>
|
|
44
|
-
|
|
45
|
-
<h1
|
|
46
|
-
class="mt-3 text-[2.25rem] sm:text-[2.75rem] md:text-[3rem] font-semibold tracking-[-0.02em] leading-[1.05] text-ink-900 dark:text-ink-100 m-0"
|
|
47
|
-
>
|
|
48
|
-
Thanks to every contributor.
|
|
49
|
-
</h1>
|
|
50
|
-
|
|
51
|
-
<p
|
|
52
|
-
class="mt-4 text-[0.9375rem] sm:text-[1rem] leading-relaxed text-ink-500 dark:text-ink-400 m-0 max-w-[64ch]"
|
|
53
|
-
>
|
|
54
|
-
This directory exists because {total} people keep discovering,
|
|
55
|
-
submitting, reviewing, curating, and maintaining open-source app
|
|
56
|
-
references. Below is the full list.
|
|
57
|
-
{withNames > 0 && (
|
|
58
|
-
<span class="block mt-1 text-ink-400 dark:text-ink-500">
|
|
59
|
-
{withNames} of {total} have a public display name on GitHub; the rest are known by their username.
|
|
60
|
-
</span>
|
|
61
|
-
)}
|
|
62
|
-
</p>
|
|
63
|
-
|
|
64
|
-
<ul
|
|
65
|
-
class="mt-8 grid list-none grid-cols-1 gap-x-6 gap-y-3 p-0 sm:grid-cols-2 lg:grid-cols-3"
|
|
66
|
-
>
|
|
67
|
-
{
|
|
68
|
-
contributors.map((c) => (
|
|
69
|
-
<li
|
|
70
|
-
class="flex items-center gap-3 rounded-lg border border-ink-200 bg-white p-3 transition-colors hover:border-ink-300 dark:border-ink-800 dark:bg-ink-950 dark:hover:border-ink-700"
|
|
71
|
-
>
|
|
72
|
-
<img
|
|
73
|
-
src={c.avatarUrl}
|
|
74
|
-
alt={`${c.name ?? c.username} avatar`}
|
|
75
|
-
loading="lazy"
|
|
76
|
-
width="40"
|
|
77
|
-
height="40"
|
|
78
|
-
class="h-10 w-10 shrink-0 rounded-full border border-ink-200 bg-white object-cover dark:border-ink-800 dark:bg-ink-900"
|
|
79
|
-
/>
|
|
80
|
-
<div class="min-w-0 flex-1">
|
|
81
|
-
<a
|
|
82
|
-
href={c.profileUrl}
|
|
83
|
-
target="_blank"
|
|
84
|
-
rel="noopener noreferrer"
|
|
85
|
-
class="block truncate text-sm font-medium text-ink-900 hover:underline dark:text-ink-100"
|
|
86
|
-
>
|
|
87
|
-
{c.name ?? c.username}
|
|
88
|
-
</a>
|
|
89
|
-
{c.name && (
|
|
90
|
-
<div class="mt-0.5 truncate text-2xs text-ink-500 dark:text-ink-400">
|
|
91
|
-
@{c.username}
|
|
92
|
-
</div>
|
|
93
|
-
)}
|
|
94
|
-
</div>
|
|
95
|
-
<a
|
|
96
|
-
href={c.profileUrl}
|
|
97
|
-
target="_blank"
|
|
98
|
-
rel="noopener noreferrer"
|
|
99
|
-
aria-label={`${c.name ?? c.username} on GitHub`}
|
|
100
|
-
class="shrink-0 text-ink-400 hover:text-ink-700 dark:text-ink-500 dark:hover:text-ink-200"
|
|
101
|
-
>
|
|
102
|
-
<svg
|
|
103
|
-
viewBox="0 0 16 16"
|
|
104
|
-
width="14"
|
|
105
|
-
height="14"
|
|
106
|
-
aria-hidden="true"
|
|
107
|
-
fill="currentColor"
|
|
108
|
-
>
|
|
109
|
-
<path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38v-1.33c-2.22.48-2.69-1.07-2.69-1.07-.36-.92-.89-1.17-.89-1.17-.73-.5.05-.49.05-.49.8.06 1.23.83 1.23.83.72 1.22 1.87.87 2.33.67.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48v2.19c0 .21.15.46.55.38A8 8 0 0 0 8 0Z" />
|
|
110
|
-
</svg>
|
|
111
|
-
</a>
|
|
112
|
-
</li>
|
|
113
|
-
))
|
|
114
|
-
}
|
|
115
|
-
</ul>
|
|
116
|
-
|
|
117
|
-
<div
|
|
118
|
-
class="mt-10 flex flex-wrap items-center gap-x-4 gap-y-2 rounded-lg border border-ink-200 bg-ink-50 p-4 text-sm text-ink-500 dark:border-ink-800 dark:bg-ink-900/40 dark:text-ink-400"
|
|
119
|
-
>
|
|
120
|
-
<span>
|
|
121
|
-
Want to be on this list? Submit an app, fix a typo, or
|
|
122
|
-
open a PR — every commit counts.
|
|
123
|
-
</span>
|
|
124
|
-
<a
|
|
125
|
-
href="/submit"
|
|
126
|
-
class="font-medium text-ink-700 hover:text-ink-900 dark:text-ink-300 dark:hover:text-ink-100"
|
|
127
|
-
>
|
|
128
|
-
Submit an app →
|
|
129
|
-
</a>
|
|
130
|
-
<span aria-hidden="true">·</span>
|
|
131
|
-
<a
|
|
132
|
-
href="https://github.com/tortuvshin/open-apps/graphs/contributors"
|
|
133
|
-
target="_blank"
|
|
134
|
-
rel="noopener noreferrer"
|
|
135
|
-
class="font-medium text-ink-700 hover:text-ink-900 dark:text-ink-300 dark:hover:text-ink-100"
|
|
136
|
-
>
|
|
137
|
-
View on GitHub →
|
|
138
|
-
</a>
|
|
139
|
-
</div>
|
|
140
|
-
</div>
|
|
141
|
-
</Container>
|
|
142
|
-
</BaseLayout>
|