feat(apps/docs): fix contributors path

This commit is contained in:
Ayo 2022-12-02 09:22:29 +01:00
parent 924edc017a
commit 26e099e2cf

View file

@ -4,7 +4,7 @@ type Props = {
path: string;
};
const { path } = Astro.props as Props;
const resolvedPath = `examples/docs/${path}`;
const resolvedPath = `apps/docs/${path}`;
const url = `https://api.github.com/repos/ayoayco/astro-reactive-library/commits?path=${resolvedPath}`;
const commitsURL = `https://github.com/ayoayco/astro-reactive-library/commits/main/${resolvedPath}`;
@ -17,20 +17,20 @@ type Commit = {
async function getCommits(url: string) {
try {
const token = import.meta.env.SNOWPACK_PUBLIC_GITHUB_TOKEN ?? 'hello';
const token = import.meta.env.SNOWPACK_PUBLIC_GITHUB_TOKEN ?? "hello";
if (!token) {
throw new Error(
'Cannot find "SNOWPACK_PUBLIC_GITHUB_TOKEN" used for escaping rate-limiting.'
);
}
const auth = `Basic ${Buffer.from(token, 'binary').toString('base64')}`;
const auth = `Basic ${Buffer.from(token, "binary").toString("base64")}`;
const res = await fetch(url, {
method: 'GET',
method: "GET",
headers: {
Authorization: auth,
'User-Agent': 'astro-docs/1.0',
"User-Agent": "astro-docs/1.0",
},
});
@ -52,7 +52,7 @@ async function getCommits(url: string) {
}
function removeDups(arr: Commit[]) {
const map = new Map<string, Commit['author']>();
const map = new Map<string, Commit["author"]>();
for (let item of arr) {
const author = item.author;
@ -71,8 +71,12 @@ const additionalContributors = unique.length - recentContributors.length; // lis
<!-- Thanks to @5t3ph for https://smolcss.dev/#smol-avatar-list! -->
<div class="contributors">
<ul class="avatar-list" style={`--avatar-count: ${recentContributors.length}`}>
{recentContributors.map((item) => (
<ul
class="avatar-list"
style={`--avatar-count: ${recentContributors.length}`}
>
{
recentContributors.map((item) => (
<li>
<a href={`https://github.com/${item.login}`}>
<img
@ -84,15 +88,20 @@ const additionalContributors = unique.length - recentContributors.length; // lis
/>
</a>
</li>
))}
))
}
</ul>
{additionalContributors > 0 && (
{
additionalContributors > 0 && (
<span>
<a href={commitsURL}>{`and ${additionalContributors} additional contributor${
additionalContributors > 1 ? 's' : ''
<a
href={commitsURL}
>{`and ${additionalContributors} additional contributor${
additionalContributors > 1 ? "s" : ""
}.`}</a>
</span>
)}
)
}
{unique.length === 0 && <a href={commitsURL}>Contributors</a>}
</div>
@ -106,7 +115,10 @@ const additionalContributors = unique.length - recentContributors.length; // lis
/* Default to displaying most of the avatar to
enable easier access on touch devices, ensuring
the WCAG touch target size is met or exceeded */
grid-template-columns: repeat(var(--avatar-count), max(44px, calc(var(--avatar-size) / 1.15)));
grid-template-columns: repeat(
var(--avatar-count),
max(44px, calc(var(--avatar-size) / 1.15))
);
/* `padding` matches added visual dimensions of
the `box-shadow` to help create a more accurate
computed component size */
@ -118,7 +130,10 @@ const additionalContributors = unique.length - recentContributors.length; // lis
.avatar-list {
/* We create 1 extra cell to enable the computed
width to match the final visual width */
grid-template-columns: repeat(calc(var(--avatar-count) + 1), calc(var(--avatar-size) / 1.75));
grid-template-columns: repeat(
calc(var(--avatar-count) + 1),
calc(var(--avatar-size) / 1.75)
);
}
}