diff --git a/.astro/content.d.ts b/.astro/content.d.ts index 84a049a0..96b2fc3e 100644 --- a/.astro/content.d.ts +++ b/.astro/content.d.ts @@ -45,6 +45,10 @@ declare module 'astro:content' { collection: C; slug: E; }; + export type ReferenceLiveEntry = { + collection: C; + id: string; + }; /** @deprecated Use `getEntry` instead. */ export function getEntryBySlug< @@ -73,6 +77,13 @@ declare module 'astro:content' { filter?: (entry: CollectionEntry) => unknown, ): Promise[]>; + export function getLiveCollection( + collection: C, + filter?: LiveLoaderCollectionFilterType, + ): Promise< + import('astro').LiveDataCollectionResult, LiveLoaderErrorType> + >; + export function getEntry< C extends keyof ContentEntryMap, E extends ValidContentEntrySlug | (string & {}), @@ -109,6 +120,10 @@ declare module 'astro:content' { ? Promise | undefined : Promise : Promise | undefined>; + export function getLiveEntry( + collection: C, + filter: string | LiveLoaderEntryFilterType, + ): Promise, LiveLoaderErrorType>>; /** Resolve an array of entry references from the same collection */ export function getEntries( @@ -152,5 +167,33 @@ declare module 'astro:content' { type AnyEntryMap = ContentEntryMap & DataEntryMap; - export type ContentConfig = typeof import("../src/content.config.mjs"); + type ExtractLoaderTypes = T extends import('astro/loaders').LiveLoader< + infer TData, + infer TEntryFilter, + infer TCollectionFilter, + infer TError + > + ? { data: TData; entryFilter: TEntryFilter; collectionFilter: TCollectionFilter; error: TError } + : { data: never; entryFilter: never; collectionFilter: never; error: never }; + type ExtractDataType = ExtractLoaderTypes['data']; + type ExtractEntryFilterType = ExtractLoaderTypes['entryFilter']; + type ExtractCollectionFilterType = ExtractLoaderTypes['collectionFilter']; + type ExtractErrorType = ExtractLoaderTypes['error']; + + type LiveLoaderDataType = + LiveContentConfig['collections'][C]['schema'] extends undefined + ? ExtractDataType + : import('astro/zod').infer< + Exclude + >; + type LiveLoaderEntryFilterType = + ExtractEntryFilterType; + type LiveLoaderCollectionFilterType = + ExtractCollectionFilterType; + type LiveLoaderErrorType = ExtractErrorType< + LiveContentConfig['collections'][C]['loader'] + >; + + export type ContentConfig = typeof import("./../src/content.config.mjs"); + export type LiveContentConfig = never; } diff --git a/.astro/data-store.json b/.astro/data-store.json index a929187e..57f1a62f 100644 --- a/.astro/data-store.json +++ b/.astro/data-store.json @@ -1 +1 @@ -[["Map",1,2],"meta::meta",["Map",3,4,5,6],"astro-version","5.3.0","astro-config-digest","{\"root\":{},\"srcDir\":{},\"publicDir\":{},\"outDir\":{},\"cacheDir\":{},\"compressHTML\":true,\"base\":\"/\",\"trailingSlash\":\"ignore\",\"output\":\"static\",\"scopedStyleStrategy\":\"attribute\",\"build\":{\"format\":\"directory\",\"client\":{},\"server\":{},\"assets\":\"_astro\",\"serverEntry\":\"entry.mjs\",\"redirects\":true,\"inlineStylesheets\":\"auto\",\"concurrency\":1},\"server\":{\"open\":false,\"host\":false,\"port\":4321,\"streaming\":true},\"redirects\":{},\"image\":{\"endpoint\":{\"route\":\"/_image\"},\"service\":{\"entrypoint\":\"astro/assets/services/sharp\",\"config\":{}},\"domains\":[],\"remotePatterns\":[]},\"devToolbar\":{\"enabled\":true},\"markdown\":{\"syntaxHighlight\":\"shiki\",\"shikiConfig\":{\"langs\":[],\"langAlias\":{},\"theme\":\"github-dark\",\"themes\":{},\"wrap\":false,\"transformers\":[]},\"remarkPlugins\":[],\"rehypePlugins\":[],\"remarkRehype\":{},\"gfm\":true,\"smartypants\":true},\"security\":{\"checkOrigin\":true},\"env\":{\"schema\":{},\"validateSecrets\":false},\"experimental\":{\"clientPrerender\":false,\"contentIntellisense\":false,\"responsiveImages\":false,\"serializeConfig\":false},\"legacy\":{\"collections\":false}}"] \ No newline at end of file +[["Map",1,2],"meta::meta",["Map",3,4,5,6],"astro-version","5.18.2","astro-config-digest","{\"root\":{},\"srcDir\":{},\"publicDir\":{},\"outDir\":{},\"cacheDir\":{},\"compressHTML\":true,\"base\":\"/\",\"trailingSlash\":\"ignore\",\"output\":\"static\",\"scopedStyleStrategy\":\"attribute\",\"build\":{\"format\":\"directory\",\"client\":{},\"server\":{},\"assets\":\"_astro\",\"serverEntry\":\"entry.mjs\",\"redirects\":true,\"inlineStylesheets\":\"auto\",\"concurrency\":1},\"server\":{\"open\":false,\"host\":false,\"port\":4321,\"streaming\":true,\"allowedHosts\":[]},\"redirects\":{},\"image\":{\"endpoint\":{\"route\":\"/_image\"},\"service\":{\"entrypoint\":\"astro/assets/services/sharp\",\"config\":{}},\"domains\":[],\"remotePatterns\":[],\"responsiveStyles\":false},\"devToolbar\":{\"enabled\":true},\"markdown\":{\"syntaxHighlight\":{\"type\":\"shiki\",\"excludeLangs\":[\"math\"]},\"shikiConfig\":{\"langs\":[],\"langAlias\":{},\"theme\":\"github-dark\",\"themes\":{},\"wrap\":false,\"transformers\":[]},\"remarkPlugins\":[],\"rehypePlugins\":[],\"remarkRehype\":{},\"gfm\":true,\"smartypants\":true},\"security\":{\"checkOrigin\":true,\"allowedDomains\":[],\"actionBodySizeLimit\":1048576},\"env\":{\"schema\":{},\"validateSecrets\":false},\"experimental\":{\"clientPrerender\":false,\"contentIntellisense\":false,\"headingIdCompat\":false,\"preserveScriptOrder\":false,\"liveContentCollections\":false,\"csp\":false,\"staticImportMetaEnv\":false,\"chromeDevtoolsWorkspace\":false,\"failOnPrerenderConflict\":false,\"svgo\":false},\"legacy\":{\"collections\":false}}"] \ No newline at end of file diff --git a/.astro/settings.json b/.astro/settings.json index 09eaa37f..358abce3 100644 --- a/.astro/settings.json +++ b/.astro/settings.json @@ -1,5 +1,5 @@ { "_variables": { - "lastUpdateCheck": 1759260475499 + "lastUpdateCheck": 1784294229514 } } \ No newline at end of file diff --git a/.astro/types.d.ts b/.astro/types.d.ts index 03d7cc43..f964fe0c 100644 --- a/.astro/types.d.ts +++ b/.astro/types.d.ts @@ -1,2 +1 @@ /// -/// \ No newline at end of file diff --git a/dist/_astro/index.CUP-gR57.css b/dist/_astro/index.CUP-gR57.css deleted file mode 100644 index a7435831..00000000 --- a/dist/_astro/index.CUP-gR57.css +++ /dev/null @@ -1 +0,0 @@ -html,body{margin:0;width:100%;height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#0a0a0a;color:#fff}[data-astro-cid-sckkx6r4]{box-sizing:border-box}.topnav[data-astro-cid-5blmo7yk]{display:flex;justify-content:center;align-items:center;gap:2rem;padding:1rem;background-color:#ffffff1a;backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.1)}.topnav[data-astro-cid-5blmo7yk] a[data-astro-cid-5blmo7yk]{display:flex;align-items:center;gap:.5rem;color:#fff;text-decoration:none;padding:.5rem 1rem;border-radius:8px;transition:background-color .3s ease}.topnav[data-astro-cid-5blmo7yk] a[data-astro-cid-5blmo7yk]:hover{background-color:#ffffff1a}.topnav[data-astro-cid-5blmo7yk] .logo[data-astro-cid-5blmo7yk]{width:24px;height:24px}@media (max-width: 768px){.topnav[data-astro-cid-5blmo7yk]{gap:1rem;padding:.5rem}.topnav[data-astro-cid-5blmo7yk] a[data-astro-cid-5blmo7yk]{padding:.25rem .5rem}.topnav[data-astro-cid-5blmo7yk] span[data-astro-cid-5blmo7yk]{display:none}}.LinkButton-Wrapper[data-astro-cid-5eunqzkt]{display:flex;justify-content:center;margin:2rem 0}.LinkButton[data-astro-cid-5eunqzkt]{display:inline-block;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;text-decoration:none;padding:1rem 2rem;border-radius:50px;font-weight:600;font-size:1.1rem;transition:all .3s ease;box-shadow:0 4px 15px #667eea66}.LinkButton[data-astro-cid-5eunqzkt]:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea99;background:linear-gradient(135deg,#764ba2,#667eea)}.LinkButton[data-astro-cid-5eunqzkt] span[data-astro-cid-5eunqzkt]{display:inline-block;transition:transform .3s ease}.LinkButton[data-astro-cid-5eunqzkt]:hover span[data-astro-cid-5eunqzkt]{transform:scale(1.05)}@media (max-width: 768px){.LinkButton[data-astro-cid-5eunqzkt]{padding:.8rem 1.5rem;font-size:1rem}}.Card-Container[data-astro-cid-mspuyifq]{background:#ffffff1a;backdrop-filter:blur(10px);border-radius:16px;border:1px solid rgba(255,255,255,.1);overflow:hidden;transition:all .3s ease;height:100%}.Card-Container[data-astro-cid-mspuyifq]:hover{transform:translateY(-5px);box-shadow:0 10px 30px #0000004d;border-color:#fff3}.Card-Real-Link[data-astro-cid-mspuyifq]{display:block;text-decoration:none;color:inherit;height:100%;display:flex;flex-direction:column}.Card-Header[data-astro-cid-mspuyifq]{padding:1.5rem 1.5rem 1rem;text-align:center;border-bottom:1px solid rgba(255,255,255,.1)}.Project-Logo[data-astro-cid-mspuyifq]{width:60px;height:60px;object-fit:contain;margin-bottom:1rem;border-radius:8px;max-width:60px;max-height:60px}.Card-Title[data-astro-cid-mspuyifq]{font-size:1.2rem;font-weight:600;color:#fff;margin:0}.Card-Body[data-astro-cid-mspuyifq]{padding:1rem 1.5rem;flex-grow:1;display:flex;flex-direction:column}.Card-Tag[data-astro-cid-mspuyifq]{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.Card-Tag[data-astro-cid-mspuyifq] p[data-astro-cid-mspuyifq]{background:#667eea33;color:#a5b4fc;padding:.25rem .5rem;border-radius:12px;font-size:.8rem;margin:0;border:1px solid rgba(102,126,234,.3)}.Card-Description[data-astro-cid-mspuyifq]{flex-grow:1}.Card-Description[data-astro-cid-mspuyifq] p[data-astro-cid-mspuyifq]{color:#fffc;font-size:.9rem;line-height:1.5;margin:0}.Card-Link[data-astro-cid-mspuyifq]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;text-align:center;padding:.75rem;font-weight:600;margin-top:auto}@media (max-width: 768px){.Card-Header[data-astro-cid-mspuyifq]{padding:1rem}.Card-Body[data-astro-cid-mspuyifq]{padding:.75rem 1rem}.Project-Logo[data-astro-cid-mspuyifq]{width:50px;height:50px}.Card-Title[data-astro-cid-mspuyifq]{font-size:1.1rem}}#container[data-astro-cid-d4mtjuvi]{display:flex;gap:1rem;margin-bottom:2rem;flex-wrap:wrap;justify-content:center}.inputContainer[data-astro-cid-d4mtjuvi]{flex:1;min-width:200px}#search[data-astro-cid-d4mtjuvi]{width:100%;padding:.75rem 1rem;border:1px solid rgba(255,255,255,.2);border-radius:8px;background:#ffffff1a;color:#fff;font-size:1rem;backdrop-filter:blur(10px)}#search[data-astro-cid-d4mtjuvi]::placeholder{color:#fff9}#search[data-astro-cid-d4mtjuvi]:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 2px #667eea33}#tag-selector[data-astro-cid-d4mtjuvi]{width:100%;padding:.75rem 1rem;border:1px solid rgba(255,255,255,.2);border-radius:8px;background:#ffffff1a;color:#fff;font-size:1rem;backdrop-filter:blur(10px)}#tag-selector[data-astro-cid-d4mtjuvi]:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 2px #667eea33}#tag-selector[data-astro-cid-d4mtjuvi] option[data-astro-cid-d4mtjuvi]{background:#1a1a1a;color:#fff}.containerLayout[data-astro-cid-d4mtjuvi]{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;padding:0 1rem}@media (max-width: 768px){#container[data-astro-cid-d4mtjuvi]{flex-direction:column}.containerLayout[data-astro-cid-d4mtjuvi]{grid-template-columns:1fr;gap:1rem}}#social-share[data-astro-cid-luj3ckct]{margin:4rem 0;text-align:center;padding:0 1rem}#social-share[data-astro-cid-luj3ckct] h2[data-astro-cid-luj3ckct]{font-size:2rem;color:#fff;margin-bottom:2rem;font-weight:600}#social-shares-container[data-astro-cid-luj3ckct]{display:flex;justify-content:center;gap:1.5rem;flex-wrap:wrap}.social-card[data-astro-cid-luj3ckct]{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;background:#ffffff1a;backdrop-filter:blur(10px);border-radius:12px;border:1px solid rgba(255,255,255,.1);text-decoration:none;color:#fff;transition:all .3s ease;min-width:200px}.social-card[data-astro-cid-luj3ckct]:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0000004d;border-color:#fff3}.social-icon[data-astro-cid-luj3ckct]{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:8px;flex-shrink:0}.social-icon[data-astro-cid-luj3ckct] svg[data-astro-cid-luj3ckct]{width:24px;height:24px}.twitter[data-astro-cid-luj3ckct] .social-icon[data-astro-cid-luj3ckct]{background:#1da1f233;color:#1da1f2}.facebook[data-astro-cid-luj3ckct] .social-icon[data-astro-cid-luj3ckct]{background:#1877f233;color:#1877f2}.linkedin[data-astro-cid-luj3ckct] .social-icon[data-astro-cid-luj3ckct]{background:#0077b533;color:#0077b5}.social-text[data-astro-cid-luj3ckct] h3[data-astro-cid-luj3ckct]{margin:0 0 .25rem;font-size:1.1rem;font-weight:600}.social-text[data-astro-cid-luj3ckct] p[data-astro-cid-luj3ckct]{margin:0;font-size:.9rem;opacity:.8}@media (max-width: 768px){#social-share[data-astro-cid-luj3ckct] h2[data-astro-cid-luj3ckct]{font-size:1.5rem}#social-shares-container[data-astro-cid-luj3ckct]{flex-direction:column;align-items:center}.social-card[data-astro-cid-luj3ckct]{width:100%;max-width:300px}}.App[data-astro-cid-7aijcv6l]{background-color:#0a0a0a;text-align:center;display:flex;justify-content:center;flex-direction:column;min-height:100vh}.App-header[data-astro-cid-7aijcv6l]{padding:20px;color:#fff}.App-header[data-astro-cid-7aijcv6l] a[data-astro-cid-7aijcv6l]{text-decoration:unset;color:unset}.App-header[data-astro-cid-7aijcv6l]>h1[data-astro-cid-7aijcv6l]{font-size:5.1rem;letter-spacing:-.05em;font-weight:700;margin:0;line-height:1.2}.App-header[data-astro-cid-7aijcv6l]>h1[data-astro-cid-7aijcv6l] span[data-astro-cid-7aijcv6l]{background:linear-gradient(to right,#60a5fa,#1d4ed8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}@media (max-width: 700px){.App-header[data-astro-cid-7aijcv6l]>h1[data-astro-cid-7aijcv6l]{font-size:3.1rem;letter-spacing:-.05em;font-weight:700}}@media (max-width: 480px){.App-header[data-astro-cid-7aijcv6l]>h1[data-astro-cid-7aijcv6l]{font-size:2.5rem}} diff --git a/dist/index.html b/dist/index.html index 0d5dd5e9..55d1b9a9 100644 --- a/dist/index.html +++ b/dist/index.html @@ -1,4 +1,38 @@ - First Contributions - Make your first open source contribution in 5 minutes

+ First Contributions - Make Your First Open Source Contribution in 5 Minutes

Make your first
open source contribution
in 5 minutes -

Share the news of your first contribution

\ No newline at end of file +

Share the news of your first contribution

\ No newline at end of file diff --git a/dist/manifest.json b/dist/manifest.json index 7a7d5d4d..09215aec 100644 --- a/dist/manifest.json +++ b/dist/manifest.json @@ -1,20 +1,27 @@ { - "short_name": "First Contributions", - "name": "First Contributions", - "icons": [ - { - "src": "android-chrome-192x192.png", - "sizes": "192x192", - "type": "image/png" - }, - { - "src": "android-chrome-256x256.png", - "sizes": "256x256", - "type": "image/png" - } - ], - "theme_color": "#ffffff", - "background_color": "#ffffff", - "display": "standalone", - "start_url": "index.html" + "short_name": "First Contributions", + "name": "First Contributions - Make Your First Open Source Contribution", + "description": "Learn how to make your first open source contribution in just 5 minutes. Step-by-step guide for beginners with beginner-friendly projects and resources.", + "icons": [ + { + "src": "android-chrome-192x192.png", + "sizes": "192x192", + "type": "image/png", + "purpose": "any maskable" + }, + { + "src": "android-chrome-256x256.png", + "sizes": "256x256", + "type": "image/png", + "purpose": "any maskable" + } + ], + "theme_color": "#667eea", + "background_color": "#0a0a0a", + "display": "standalone", + "start_url": "/", + "scope": "/", + "orientation": "portrait-primary", + "categories": ["education", "developer", "programming"], + "lang": "en" } diff --git a/src/components/ProjectCard.astro b/src/components/ProjectCard.astro index b765d70d..66697931 100644 --- a/src/components/ProjectCard.astro +++ b/src/components/ProjectCard.astro @@ -14,7 +14,8 @@ const { projectLink, logoLink, name, description, tags = [], loadIssues = false --- -