Skip to content

Commit a38d260

Browse files
committedAug 31, 2024
fixes
1 parent a7fc51f commit a38d260

21 files changed

+305
-988
lines changed
 

‎LICENSE

-674
This file was deleted.

‎astro.config.mjs

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,5 @@ import react from "@astrojs/react";
88
// https://astro.build/config
99
export default defineConfig({
1010
site: "https://astrojs.org",
11-
integrations: [tailwind(), mdx(), sitemap(), icon(), react()],
11+
integrations: [tailwind({ applyBaseStyles: false, }), mdx(), sitemap(), icon(), react()],
1212
});

‎bun.lockb

2.02 KB
Binary file not shown.

‎components.json

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
{
2+
"$schema": "https://ui.shadcn.com/schema.json",
3+
"style": "default",
4+
"rsc": true,
5+
"tsx": true,
6+
"tailwind": {
7+
"config": "tailwind.config.cjs",
8+
"css": "src/styles/globals.css",
9+
"baseColor": "zinc",
10+
"cssVariables": true,
11+
"prefix": ""
12+
},
13+
"aliases": {
14+
"components": "@components",
15+
"utils": "@lib/utils"
16+
}
17+
}

‎package.json

+3
Original file line numberDiff line numberDiff line change
@@ -20,16 +20,19 @@
2020
"@iconify-json/bx": "^1.1.11",
2121
"@iconify-json/simple-icons": "^1.1.115",
2222
"@iconify-json/uil": "^1.1.9",
23+
"@radix-ui/react-slot": "^1.1.0",
2324
"@tailwindcss/typography": "^0.5.15",
2425
"@types/react": "^18.3.5",
2526
"@types/react-dom": "^18.3.0",
2627
"astro": "^4.15.1",
2728
"astro-icon": "^1.1.1",
2829
"astro-navbar": "^2.3.3",
2930
"astro-seo": "^0.8.4",
31+
"class-variance-authority": "^0.7.0",
3032
"react": "^18.3.1",
3133
"react-dom": "^18.3.1",
3234
"sharp": "^0.33.5",
35+
"tailwind-merge": "^2.5.2",
3336
"tailwindcss": "^3.4.10"
3437
}
3538
}

‎public/codestack.yaml

-33
This file was deleted.

‎src/components/hero.astro

+3-10
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@
22
import { Picture } from "astro:assets";
33
import heroImage from "assets/hero.png";
44
import Link from "@components/ui/link.astro";
5+
// @ts-expect-error
56
import { Icon } from "astro-icon/components";
7+
import { Button } from "./ui/button";
68
---
79

810
<main
@@ -28,16 +30,7 @@ import { Icon } from "astro-icon/components";
2830
create any website with this starter.
2931
</p>
3032
<div class="mt-6 flex flex-col sm:flex-row gap-3">
31-
<Link
32-
href="#"
33-
href="https://web3templates.com/templates/astroship-starter-website-template-for-astro"
34-
target="_blank"
35-
class="flex gap-1 items-center justify-center"
36-
rel="noopener">
37-
<Icon class="text-white w-5 h-5" name="bx:bxs-cloud-download" />
38-
39-
Download for Free
40-
</Link>
33+
<Button> Get Started </Button>
4134
<Link
4235
size="lg"
4336
style="outline"

‎src/components/ui/button.tsx

+56
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
import * as React from "react"
2+
import { Slot } from "@radix-ui/react-slot"
3+
import { cva, type VariantProps } from "class-variance-authority"
4+
5+
import { cn } from "@lib/utils"
6+
7+
const buttonVariants = cva(
8+
"inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",
9+
{
10+
variants: {
11+
variant: {
12+
default: "bg-primary text-primary-foreground hover:bg-primary/90",
13+
destructive:
14+
"bg-destructive text-destructive-foreground hover:bg-destructive/90",
15+
outline:
16+
"border border-input bg-background hover:bg-accent hover:text-accent-foreground",
17+
secondary:
18+
"bg-secondary text-secondary-foreground hover:bg-secondary/80",
19+
ghost: "hover:bg-accent hover:text-accent-foreground",
20+
link: "text-primary underline-offset-4 hover:underline",
21+
},
22+
size: {
23+
default: "h-10 px-4 py-2",
24+
sm: "h-9 rounded-md px-3",
25+
lg: "h-11 rounded-md px-8",
26+
icon: "h-10 w-10",
27+
},
28+
},
29+
defaultVariants: {
30+
variant: "default",
31+
size: "default",
32+
},
33+
}
34+
)
35+
36+
export interface ButtonProps
37+
extends React.ButtonHTMLAttributes<HTMLButtonElement>,
38+
VariantProps<typeof buttonVariants> {
39+
asChild?: boolean
40+
}
41+
42+
const Button = React.forwardRef<HTMLButtonElement, ButtonProps>(
43+
({ className, variant, size, asChild = false, ...props }, ref) => {
44+
const Comp = asChild ? Slot : "button"
45+
return (
46+
<Comp
47+
className={cn(buttonVariants({ variant, size, className }))}
48+
ref={ref}
49+
{...props}
50+
/>
51+
)
52+
}
53+
)
54+
Button.displayName = "Button"
55+
56+
export { Button, buttonVariants }

‎src/content/blog/how-to-become-frontend-master.md

-44
This file was deleted.

‎src/content/blog/kitchensink.mdx

-193
This file was deleted.

‎src/content/config.ts

+28-13
Original file line numberDiff line numberDiff line change
@@ -2,19 +2,34 @@
22
import { z, defineCollection } from 'astro:content';
33

44
// 2. Define your collection(s)
5-
const blogCollection = defineCollection({
5+
const softwareCollection = defineCollection({
6+
type:"data",
67
schema: z.object({
7-
draft: z.boolean(),
8-
title: z.string(),
9-
snippet: z.string(),
10-
image: z.object({
11-
src: z.string(),
12-
alt: z.string(),
13-
}),
14-
publishDate: z.string().transform(str => new Date(str)),
15-
author: z.string().default('Astroship'),
16-
category: z.string(),
17-
tags: z.array(z.string()),
8+
Name: z.string(),
9+
Tagline: z.string(),
10+
Description: z.string(),
11+
Website: z.string().url(),
12+
Features: z.array(z.string()),
13+
Logo: z.string(),
14+
Demo: z.string().url(),
15+
Images: z.array(z.string()),
16+
Makers: z.array(z.string().url()),
17+
Category: z.string(),
18+
Tags: z.array(z.string()),
19+
Stage: z.enum(["Active Customers", "In Development"]),
20+
HQ: z
21+
.object({
22+
City: z.string(),
23+
Country: z.string(),
24+
})
25+
.array(),
26+
DC: z
27+
.object({
28+
City: z.string(),
29+
Country: z.string(),
30+
})
31+
.array(),
32+
Customers: z.array(z.string()),
1833
}),
1934
});
2035

@@ -34,6 +49,6 @@ const teamCollection = defineCollection({
3449
// 3. Export a single `collections` object to register your collection(s)
3550
// This key should match your collection directory name in "src/content"
3651
export const collections = {
37-
'blog': blogCollection,
52+
'software': softwareCollection,
3853
'team': teamCollection,
3954
};

‎src/content/software/codestack.yaml

+33
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
Name: "CodeStack"
2+
Tagline: "Streamline your development workflow with advanced AI insights."
3+
Description: "CodeStack offers cutting-edge AI tools designed to enhance coding efficiency and reduce debugging time."
4+
Website: "https://codestack.tech"
5+
Features:
6+
- "Real-time code optimization."
7+
- "Automated error detection and suggestions."
8+
- "Integration with popular IDEs."
9+
Logo: "assets/logos/codestack_logo.png"
10+
Demo: "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
11+
Images:
12+
- "assets/images/codestack_screen1.png"
13+
- "assets/images/codestack_screen2.png"
14+
Makers:
15+
- "https://www.linkedin.com/in/john-doe"
16+
- "https://www.linkedin.com/in/jane-doe"
17+
Category: "Development"
18+
Tags:
19+
- "AI"
20+
- "Optimization"
21+
- "IDE"
22+
Stage: "Active Customers"
23+
HQ:
24+
- City: "Bengaluru"
25+
Country: "India"
26+
DC:
27+
- City: "Bengaluru"
28+
Country: "India"
29+
- City: "Pune"
30+
Country: "India"
31+
Customers:
32+
- "TechCorp"
33+
- "DevSolutions"

‎src/layouts/Layout.astro

+1-4
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,7 @@ const makeTitle = title
3939
description="Astroship is a starter website template for Astro built with TailwindCSS."
4040
canonical={canonicalURL}
4141
twitter={{
42-
creator: "@surjithctly",
43-
site: "@web3templates",
42+
creator: "@xevenbiswas",
4443
card: "summary_large_image",
4544
}}
4645
openGraph={{
@@ -61,8 +60,6 @@ const makeTitle = title
6160
<slot />
6261
<Footer />
6362
<style is:global>
64-
/* Improve Page speed */
65-
/* https://css-tricks.com/almanac/properties/c/content-visibility/ */
6663
img {
6764
content-visibility: auto;
6865
}

‎src/lib/utils.ts

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
import { type ClassValue, clsx } from "clsx"
2+
import { twMerge } from "tailwind-merge"
3+
4+
export function cn(...inputs: ClassValue[]) {
5+
return twMerge(clsx(inputs))
6+
}

‎src/pages/404.astro

+1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
---
22
import Container from "@components/container.astro";
3+
import "@styles/globals.css";
34
import Layout from "@layouts/Layout.astro";
45
---
56

‎src/pages/index.astro

+1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
---
22
import Container from "@components/container.astro";
33
import Cta from "@components/cta.astro";
4+
import '@styles/globals.css';
45
import Features from "@components/features.astro";
56
import Hero from "@components/hero.astro";
67
import Logos from "@components/logos.astro";

‎src/pages/blog.astro ‎src/pages/software.astro

+12-9
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,17 @@ import Container from "@components/container.astro";
66
import Sectionhead from "@components/sectionhead.astro";
77
88
// Filter blog entries with 'draft: false' & date before current date
9-
const publishedBlogEntries = await getCollection("blog", ({ data }) => {
10-
return !data.draft && data.publishDate < new Date();
11-
});
9+
// const publishedBlogEntries = await getCollection("software", ({ data }) => {
10+
// return !data.draft && data.publishDate < new Date();
11+
// });
1212
13-
// Sort content entries by publication date
14-
publishedBlogEntries.sort(function (a, b) {
15-
return b.data.publishDate.valueOf() - a.data.publishDate.valueOf();
16-
});
13+
const softwareEntries = await getCollection("software");
14+
console.log(softwareEntries);
15+
16+
// // Sort content entries by publication date
17+
// publishedBlogEntries.sort(function (a, b) {
18+
// return b.data.publishDate.valueOf() - a.data.publishDate.valueOf();
19+
// });
1720
---
1821

1922
<Layout title="Blog">
@@ -25,7 +28,7 @@ publishedBlogEntries.sort(function (a, b) {
2528
</Fragment>
2629
</Sectionhead>
2730
<main class="mt-16">
28-
<ul class="grid gap-16 max-w-4xl mx-auto">
31+
<!-- <ul class="grid gap-16 max-w-4xl mx-auto">
2932
{
3033
publishedBlogEntries.map((blogPostEntry, index) => (
3134
<li>
@@ -67,7 +70,7 @@ publishedBlogEntries.sort(function (a, b) {
6770
</li>
6871
))
6972
}
70-
</ul>
73+
</ul> -->
7174
</main>
7275
</Container>
7376
</Layout>

‎src/pages/blog/[slug].astro ‎src/pages/software/[slug].astro

+7-7
Original file line numberDiff line numberDiff line change
@@ -5,19 +5,19 @@ import Container from "@components/container.astro";
55
66
// Generate a new path for every collection entry
77
export async function getStaticPaths() {
8-
const blogEntries = await getCollection("blog");
9-
return blogEntries.map((entry) => ({
10-
params: { slug: entry.slug },
8+
const softwareEntries = await getCollection("software");
9+
console.log(softwareEntries);
10+
return softwareEntries.map((entry) => ({
11+
params: { slug: entry.id },
1112
props: { entry },
1213
}));
1314
}
1415
15-
// Get the entry directly from the prop on render
1616
const { entry } = Astro.props;
17-
const { Content } = await entry.render();
17+
console.log(entry);
1818
---
1919

20-
<Layout title={entry.data.title}>
20+
<Layout title={entry.data.Name}>
2121
<Container>
2222
<!-- <div class="mx-auto max-w-3xl mt-14">
2323
<span class="text-blue-400 uppercase tracking-wider text-sm font-medium">
@@ -49,7 +49,7 @@ const { Content } = await entry.render();
4949
</div> -->
5050

5151
<div class="mx-auto prose prose-lg mt-6 max-w-3xl">
52-
<Content />
52+
<!-- <Content /> -->
5353
</div>
5454
<div class="text-center mt-8">
5555
<a

‎src/styles/globals.css

+73
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
@tailwind base;
2+
@tailwind components;
3+
@tailwind utilities;
4+
5+
@layer base {
6+
:root {
7+
--background: 0 0% 100%;
8+
--foreground: 240 10% 3.9%;
9+
10+
--card: 0 0% 100%;
11+
--card-foreground: 240 10% 3.9%;
12+
13+
--popover: 0 0% 100%;
14+
--popover-foreground: 240 10% 3.9%;
15+
16+
--primary: 240 5.9% 10%;
17+
--primary-foreground: 0 0% 98%;
18+
19+
--secondary: 240 4.8% 95.9%;
20+
--secondary-foreground: 240 5.9% 10%;
21+
22+
--muted: 240 4.8% 95.9%;
23+
--muted-foreground: 240 3.8% 46.1%;
24+
25+
--accent: 240 4.8% 95.9%;
26+
--accent-foreground: 240 5.9% 10%;
27+
28+
--destructive: 0 84.2% 60.2%;
29+
--destructive-foreground: 0 0% 98%;
30+
31+
--border: 240 5.9% 90%;
32+
--input: 240 5.9% 90%;
33+
--ring: 240 10% 3.9%;
34+
35+
--radius: 0.5rem;
36+
}
37+
38+
.dark {
39+
--background: 240 10% 3.9%;
40+
--foreground: 0 0% 98%;
41+
42+
--card: 240 10% 3.9%;
43+
--card-foreground: 0 0% 98%;
44+
45+
--popover: 240 10% 3.9%;
46+
--popover-foreground: 0 0% 98%;
47+
48+
--primary: 0 0% 98%;
49+
--primary-foreground: 240 5.9% 10%;
50+
51+
--secondary: 240 3.7% 15.9%;
52+
--secondary-foreground: 0 0% 98%;
53+
54+
--muted: 240 3.7% 15.9%;
55+
--muted-foreground: 240 5% 64.9%;
56+
57+
--accent: 240 3.7% 15.9%;
58+
--accent-foreground: 0 0% 98%;
59+
60+
--destructive: 0 62.8% 30.6%;
61+
--destructive-foreground: 0 0% 98%;
62+
63+
--border: 240 3.7% 15.9%;
64+
--input: 240 3.7% 15.9%;
65+
--ring: 240 4.9% 83.9%;
66+
}
67+
}
68+
69+
@layer base {
70+
body {
71+
@apply bg-background text-foreground;
72+
}
73+
}

‎tailwind.config.cjs

+62
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,16 @@
11
/** @type {import('tailwindcss').Config} */
22
const defaultTheme = require("tailwindcss/defaultTheme");
33
module.exports = {
4+
darkMode: ["class"],
45
content: ["./src/**/*.{astro,html,js,jsx,md,mdx,svelte,ts,tsx,vue}"],
56
theme: {
7+
container: {
8+
center: true,
9+
padding: "2rem",
10+
screens: {
11+
"2xl": "1400px",
12+
},
13+
},
614
extend: {
715
fontFamily: {
816
sans: [
@@ -12,6 +20,60 @@ module.exports = {
1220
...defaultTheme.fontFamily.sans,
1321
],
1422
},
23+
colors: {
24+
border: "hsl(var(--border))",
25+
input: "hsl(var(--input))",
26+
ring: "hsl(var(--ring))",
27+
background: "hsl(var(--background))",
28+
foreground: "hsl(var(--foreground))",
29+
primary: {
30+
DEFAULT: "hsl(var(--primary))",
31+
foreground: "hsl(var(--primary-foreground))",
32+
},
33+
secondary: {
34+
DEFAULT: "hsl(var(--secondary))",
35+
foreground: "hsl(var(--secondary-foreground))",
36+
},
37+
destructive: {
38+
DEFAULT: "hsl(var(--destructive))",
39+
foreground: "hsl(var(--destructive-foreground))",
40+
},
41+
muted: {
42+
DEFAULT: "hsl(var(--muted))",
43+
foreground: "hsl(var(--muted-foreground))",
44+
},
45+
accent: {
46+
DEFAULT: "hsl(var(--accent))",
47+
foreground: "hsl(var(--accent-foreground))",
48+
},
49+
popover: {
50+
DEFAULT: "hsl(var(--popover))",
51+
foreground: "hsl(var(--popover-foreground))",
52+
},
53+
card: {
54+
DEFAULT: "hsl(var(--card))",
55+
foreground: "hsl(var(--card-foreground))",
56+
},
57+
},
58+
borderRadius: {
59+
lg: "var(--radius)",
60+
md: "calc(var(--radius) - 2px)",
61+
sm: "calc(var(--radius) - 4px)",
62+
},
63+
keyframes: {
64+
"accordion-down": {
65+
from: { height: "0" },
66+
to: { height: "var(--radix-accordion-content-height)" },
67+
},
68+
"accordion-up": {
69+
from: { height: "var(--radix-accordion-content-height)" },
70+
to: { height: "0" },
71+
},
72+
},
73+
animation: {
74+
"accordion-down": "accordion-down 0.2s ease-out",
75+
"accordion-up": "accordion-up 0.2s ease-out",
76+
},
1577
},
1678
},
1779
plugins: [require("@tailwindcss/typography")],

‎tsconfig.json

+1
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
"@lib/*": ["lib/*"],
1111
"@utils/*": ["utils/*"],
1212
"@components/*": ["components/*"],
13+
"@styles/*": ["styles/*"],
1314
"@layouts/*": ["layouts/*"],
1415
"@assets/*": ["assets/*"],
1516
"@pages/*": ["pages/*"]

0 commit comments

Comments
 (0)
Please sign in to comment.