├── public ├── 192.png ├── 512.png ├── 1200x630.jpg ├── apple-touch-icon.png ├── content-images │ ├── quote-man.avif │ ├── spike.news.avif │ ├── brighton.dog.avif │ ├── pixelate.pictures.avif │ ├── blackspike-wallpaper-01.avif │ ├── blackspike-wallpaper-02.avif │ ├── blackspike-wallpaper-03.avif │ ├── blackspike-wallpaper-04.avif │ ├── logo-02.svg │ ├── logo-10.svg │ ├── logo-09.svg │ ├── logo-07.svg │ ├── logo-04.svg │ ├── logo-03.svg │ ├── logo-06.svg │ ├── logo-08.svg │ ├── logo-01.svg │ └── logo-05.svg ├── theme-preview │ ├── github-preview.jpg │ ├── blackspike-theme-1.jpg │ ├── blackspike-theme-2.jpg │ ├── blackspike-theme-3.jpg │ ├── blackspike-theme-4.jpg │ ├── blackspike-theme-5.jpg │ └── blackspike-theme-full.webp ├── wallpapers │ ├── blackspike-wallpaper-01.jpg │ ├── blackspike-wallpaper-02.jpg │ ├── blackspike-wallpaper-03.jpg │ └── blackspike-wallpaper-04.jpg ├── manifest.json └── favicon.svg ├── src ├── assets │ ├── fonts │ │ ├── Inter-Bold.woff2 │ │ ├── Inter-Regular.woff2 │ │ ├── Inter-SemiBold.woff2 │ │ ├── InterDisplay-Medium.woff2 │ │ ├── InterDisplay-Regular.woff2 │ │ └── InterDisplay-SemiBold.woff2 │ ├── theme-images │ │ ├── hero-image.jpg │ │ ├── hero-screens.png │ │ ├── icon-check.svg │ │ ├── icon-x.svg │ │ ├── icon-cube.svg │ │ ├── icon-cube-outline.svg │ │ ├── icon-arrow.svg │ │ └── logo.svg │ └── css │ │ ├── base.css │ │ ├── layout.css │ │ ├── typography.css │ │ ├── buttons.css │ │ └── global.css ├── data │ ├── newsletter.json │ ├── pricing.json │ ├── home.json │ ├── credits.json │ ├── faq.json │ ├── clients.json │ ├── global_settings.json │ ├── services.json │ ├── case_studies.json │ └── testimonials.json ├── components │ ├── FaqSection.astro │ ├── CaseStudiesSection.astro │ ├── HeroSection.astro │ ├── ClientsSection.astro │ ├── TestimonialsSection.astro │ ├── HeaderMain.astro │ ├── QuoteSection.astro │ ├── DetailsAccordion.astro │ ├── CardCaseStudy.astro │ ├── NewsletterSection.astro │ ├── FooterMain.astro │ ├── PricingSection.astro │ ├── DialogModal.astro │ └── ServicesCarousel.astro ├── pages │ ├── credits.astro │ └── index.astro └── layouts │ └── Layout.astro ├── .gitignore ├── package.json ├── astro.config.mjs ├── README.md └── LICENSE /public/192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackspike/blackspike-astro-landing-page/HEAD/public/192.png -------------------------------------------------------------------------------- /public/512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackspike/blackspike-astro-landing-page/HEAD/public/512.png -------------------------------------------------------------------------------- /public/1200x630.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackspike/blackspike-astro-landing-page/HEAD/public/1200x630.jpg -------------------------------------------------------------------------------- /public/apple-touch-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackspike/blackspike-astro-landing-page/HEAD/public/apple-touch-icon.png -------------------------------------------------------------------------------- /src/assets/fonts/Inter-Bold.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackspike/blackspike-astro-landing-page/HEAD/src/assets/fonts/Inter-Bold.woff2 -------------------------------------------------------------------------------- /public/content-images/quote-man.avif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackspike/blackspike-astro-landing-page/HEAD/public/content-images/quote-man.avif -------------------------------------------------------------------------------- /src/assets/fonts/Inter-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackspike/blackspike-astro-landing-page/HEAD/src/assets/fonts/Inter-Regular.woff2 -------------------------------------------------------------------------------- /public/content-images/spike.news.avif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackspike/blackspike-astro-landing-page/HEAD/public/content-images/spike.news.avif -------------------------------------------------------------------------------- /src/assets/fonts/Inter-SemiBold.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackspike/blackspike-astro-landing-page/HEAD/src/assets/fonts/Inter-SemiBold.woff2 -------------------------------------------------------------------------------- /src/assets/theme-images/hero-image.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackspike/blackspike-astro-landing-page/HEAD/src/assets/theme-images/hero-image.jpg -------------------------------------------------------------------------------- /public/content-images/brighton.dog.avif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackspike/blackspike-astro-landing-page/HEAD/public/content-images/brighton.dog.avif -------------------------------------------------------------------------------- /public/theme-preview/github-preview.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackspike/blackspike-astro-landing-page/HEAD/public/theme-preview/github-preview.jpg -------------------------------------------------------------------------------- /src/assets/theme-images/hero-screens.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackspike/blackspike-astro-landing-page/HEAD/src/assets/theme-images/hero-screens.png -------------------------------------------------------------------------------- /public/theme-preview/blackspike-theme-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackspike/blackspike-astro-landing-page/HEAD/public/theme-preview/blackspike-theme-1.jpg -------------------------------------------------------------------------------- /public/theme-preview/blackspike-theme-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackspike/blackspike-astro-landing-page/HEAD/public/theme-preview/blackspike-theme-2.jpg -------------------------------------------------------------------------------- /public/theme-preview/blackspike-theme-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackspike/blackspike-astro-landing-page/HEAD/public/theme-preview/blackspike-theme-3.jpg -------------------------------------------------------------------------------- /public/theme-preview/blackspike-theme-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackspike/blackspike-astro-landing-page/HEAD/public/theme-preview/blackspike-theme-4.jpg -------------------------------------------------------------------------------- /public/theme-preview/blackspike-theme-5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackspike/blackspike-astro-landing-page/HEAD/public/theme-preview/blackspike-theme-5.jpg -------------------------------------------------------------------------------- /src/assets/fonts/InterDisplay-Medium.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackspike/blackspike-astro-landing-page/HEAD/src/assets/fonts/InterDisplay-Medium.woff2 -------------------------------------------------------------------------------- /src/assets/fonts/InterDisplay-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackspike/blackspike-astro-landing-page/HEAD/src/assets/fonts/InterDisplay-Regular.woff2 -------------------------------------------------------------------------------- /public/content-images/pixelate.pictures.avif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackspike/blackspike-astro-landing-page/HEAD/public/content-images/pixelate.pictures.avif -------------------------------------------------------------------------------- /public/wallpapers/blackspike-wallpaper-01.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackspike/blackspike-astro-landing-page/HEAD/public/wallpapers/blackspike-wallpaper-01.jpg -------------------------------------------------------------------------------- /public/wallpapers/blackspike-wallpaper-02.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackspike/blackspike-astro-landing-page/HEAD/public/wallpapers/blackspike-wallpaper-02.jpg -------------------------------------------------------------------------------- /public/wallpapers/blackspike-wallpaper-03.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackspike/blackspike-astro-landing-page/HEAD/public/wallpapers/blackspike-wallpaper-03.jpg -------------------------------------------------------------------------------- /public/wallpapers/blackspike-wallpaper-04.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackspike/blackspike-astro-landing-page/HEAD/public/wallpapers/blackspike-wallpaper-04.jpg -------------------------------------------------------------------------------- /src/assets/fonts/InterDisplay-SemiBold.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackspike/blackspike-astro-landing-page/HEAD/src/assets/fonts/InterDisplay-SemiBold.woff2 -------------------------------------------------------------------------------- /public/theme-preview/blackspike-theme-full.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackspike/blackspike-astro-landing-page/HEAD/public/theme-preview/blackspike-theme-full.webp -------------------------------------------------------------------------------- /public/content-images/blackspike-wallpaper-01.avif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackspike/blackspike-astro-landing-page/HEAD/public/content-images/blackspike-wallpaper-01.avif -------------------------------------------------------------------------------- /public/content-images/blackspike-wallpaper-02.avif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackspike/blackspike-astro-landing-page/HEAD/public/content-images/blackspike-wallpaper-02.avif -------------------------------------------------------------------------------- /public/content-images/blackspike-wallpaper-03.avif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackspike/blackspike-astro-landing-page/HEAD/public/content-images/blackspike-wallpaper-03.avif -------------------------------------------------------------------------------- /public/content-images/blackspike-wallpaper-04.avif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackspike/blackspike-astro-landing-page/HEAD/public/content-images/blackspike-wallpaper-04.avif -------------------------------------------------------------------------------- /src/data/newsletter.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Sign up for our newsletter", 3 | "content": "We have a deep commitment to keeping your data safe. We will never sell your data and will send no more than two emails a month.", 4 | "cta": "Sign up" 5 | } -------------------------------------------------------------------------------- /src/assets/css/base.css: -------------------------------------------------------------------------------- 1 | @import "tailwindcss"; 2 | @reference "./global.css"; 3 | 4 | :root { 5 | color-scheme: dark; 6 | scroll-behavior: smooth; 7 | scroll-padding-top: 2em; 8 | } 9 | 10 | body { 11 | @apply bg-bs-surface-1 text-bs-foreground-light font-body selection:text-black selection:bg-amber-300; 12 | } 13 | -------------------------------------------------------------------------------- /src/assets/css/layout.css: -------------------------------------------------------------------------------- 1 | @import "tailwindcss"; 2 | 3 | /* Containers */ 4 | .bs-container { 5 | inline-size: min(92vw, 90rem); 6 | margin-inline: auto; 7 | } 8 | 9 | /* Top Margins */ 10 | .bs-mt-lg { 11 | @apply mt-16 lg:mt-32 12 | } 13 | 14 | .bs-mt-md { 15 | @apply mt-10 lg:mt-16 16 | } 17 | 18 | .bs-mt-sm { 19 | @apply mt-6 lg:mt-8 20 | } 21 | -------------------------------------------------------------------------------- /src/assets/theme-images/icon-check.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/assets/theme-images/icon-x.svg: -------------------------------------------------------------------------------- 1 | 3 | 5 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # build output 2 | dist/ 3 | # generated types 4 | .astro/ 5 | 6 | # dependencies 7 | node_modules/ 8 | 9 | # logs 10 | npm-debug.log* 11 | yarn-debug.log* 12 | yarn-error.log* 13 | pnpm-debug.log* 14 | 15 | 16 | # environment variables 17 | .env 18 | .env.production 19 | 20 | # macOS-specific files 21 | .DS_Store 22 | 23 | # jetbrains setting folder 24 | .idea/ 25 | -------------------------------------------------------------------------------- /src/assets/css/typography.css: -------------------------------------------------------------------------------- 1 | @import "tailwindcss"; 2 | @reference "./global.css"; 3 | 4 | .bs-h1 { 5 | @apply font-display font-medium text-balance text-5xl md:text-6xl; 6 | } 7 | 8 | .bs-h2 { 9 | @apply font-display font-medium text-balance text-3xl md:text-4xl; 10 | } 11 | 12 | .bs-h3 { 13 | @apply font-display font-medium text-balance text-lg md:text-2xl; 14 | } 15 | 16 | .bs-body-text { 17 | @apply leading-relaxed; 18 | } 19 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "blackspike-astro-landing-page", 3 | "type": "module", 4 | "version": "1.0.0", 5 | "scripts": { 6 | "dev": "astro dev --host", 7 | "start": "astro dev", 8 | "build": "astro build", 9 | "preview": "astro preview", 10 | "astro": "astro" 11 | }, 12 | "dependencies": { 13 | "@tailwindcss/vite": "^4.1.11", 14 | "astro": "^5.11.0", 15 | "swiper": "^11.2.10", 16 | "tailwindcss": "^4.1.11" 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/assets/theme-images/icon-cube.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/assets/theme-images/icon-cube-outline.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/components/FaqSection.astro: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | import DetailsAccordion from "./DetailsAccordion.astro" 4 | 5 | const { title, faq } = Astro.props 6 | 7 | --- 8 | 9 |
10 | 11 | 12 | { title &&

} 13 | 14 | 15 |
16 | 17 | 18 | { faq.map( item => 19 | 20 | 21 | 22 | )} 23 | 24 |
25 | 26 |

27 | -------------------------------------------------------------------------------- /src/components/CaseStudiesSection.astro: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | import CardCaseStudy from './CardCaseStudy.astro' 4 | 5 | const { title, caseStudies } = Astro.props 6 | 7 | --- 8 | 9 |
10 | 11 | 12 | { title &&

{ title }

} 13 | 14 | 15 |
16 | 17 | 18 | 19 |
20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 |
28 | 29 |
30 | 31 | -------------------------------------------------------------------------------- /public/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "lang": "en", 3 | "dir": "ltr", 4 | "name": "blackspike astro landing page", 5 | "description": "A free Astro landing theme made with Tailwind to help kick start your Astro website.", 6 | "short_name": "blackspike astro theme", 7 | "theme_color": "#18181B", 8 | "icons": [ 9 | { 10 | "src": "/192.png", 11 | "sizes": "192x192", 12 | "type": "image/png" 13 | }, 14 | { 15 | "src": "/192.png", 16 | "sizes": "192x192", 17 | "type": "image/png", 18 | "purpose": "maskable" 19 | }, 20 | { 21 | "src": "/512.png", 22 | "sizes": "512x512", 23 | "type": "image/png" 24 | }, 25 | { 26 | "src": "/512.png", 27 | "sizes": "512x512", 28 | "type": "image/png", 29 | "purpose": "maskable" 30 | } 31 | ] 32 | } 33 | -------------------------------------------------------------------------------- /src/assets/css/buttons.css: -------------------------------------------------------------------------------- 1 | @import "tailwindcss"; 2 | @reference "./global.css"; 3 | 4 | .bs-btn { 5 | 6 | @apply 7 | active:translate-y-[1px] 8 | active:bg-bs-surface-2 9 | bg-bs-surface-3 10 | duration-200 11 | focus-visible:outline-none 12 | focus-visible:ring-2 13 | focus-visible:ring-white/75 14 | font-semibold 15 | px-5 16 | py-4 17 | rounded-md 18 | text-bs-foreground-light 19 | text-center 20 | transition-all 21 | relative 22 | overflow-clip 23 | before:flex 24 | before:inset-0 25 | before:bg-white 26 | before:rounded-sm 27 | before:absolute 28 | before:opacity-0 29 | before:-translate-x-full 30 | before:transition-all 31 | before:duration-300 32 | before:ease-out 33 | hover:before:translate-x-0 34 | hover:before:opacity-10 35 | active:before:opacity-0 36 | ; 37 | } -------------------------------------------------------------------------------- /src/data/pricing.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "title": "Basic plan", 4 | "tag": "Most popular", 5 | "content": "One designer, 5 days a month", 6 | "cta": "Start free trial", 7 | "price": 999, 8 | "services": [ 9 | { "item": "Access to basic services" }, 10 | { "item": "Basic assets and logos" }, 11 | { "item": "Up to 10 individual assets" }, 12 | { "item": "Teams/slack chat" }, 13 | { "item": "Cancel Anytime" } 14 | ] 15 | }, 16 | { 17 | "title": "Enterprise plan", 18 | "tag": "Best value", 19 | "content": "One team, 5 days a month", 20 | "cta": "Enquire now", 21 | "price": 2999, 22 | "services": [ 23 | { "item": "All basic plan services" }, 24 | { "item": "100 assets" }, 25 | { "item": "Advanced reporting and analytics" }, 26 | { "item": "Up to 30 individual renders" }, 27 | { "item": "120GB storage allowance" } 28 | ] 29 | } 30 | ] -------------------------------------------------------------------------------- /src/pages/credits.astro: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | import Layout from "../layouts/Layout.astro" 4 | 5 | import credits from "../data/credits.json" 6 | 7 | --- 8 | 9 | 10 | 11 |
12 | 13 | 14 |

{ credits.title }

15 | 16 | 17 |
18 | 19 | 20 | 25 | 26 |
27 | 28 |
29 | -------------------------------------------------------------------------------- /src/assets/theme-images/icon-arrow.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/components/HeroSection.astro: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | import Image from "astro/components/Image.astro" 4 | import hero_screens from "../assets/theme-images/hero-screens.png" 5 | 6 | const { settings, title, content } = Astro.props 7 | 8 | --- 9 | 10 |
11 | 12 | 13 |
14 | 15 | 16 |

17 | 18 | 19 |
20 | 21 | 22 | 25 | 26 |
27 | 28 | 29 |
30 | 31 | Screens showing phone, tablet and desktop views of our website 32 | 33 |
34 | 35 |

36 | -------------------------------------------------------------------------------- /src/components/ClientsSection.astro: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | const { title, clients } = Astro.props 4 | 5 | --- 6 | 7 |
8 | 9 | 10 | { title &&

} 11 | 12 | 13 |
14 | 15 | 16 | { 17 | clients.map( item => 18 | 19 | 20 | 21 | { 29 | 30 | 31 | 32 | ) 33 | 34 | } 35 | 36 |
37 | 38 |

39 | -------------------------------------------------------------------------------- /src/data/home.json: -------------------------------------------------------------------------------- 1 | { 2 | "hero_title": "blackspike astro landing page", 3 | "hero_content": "

A free Astro landing theme made with Tailwind to help kick start your Astro website.

Uses modern CSS and HTML features for added zip, plus a slick swiper carousel. All in Astro JSX.

", 4 | "services_title": "Our services", 5 | "clients_title": "Trusted by some great companies", 6 | "testimonials_title": "Clients ♥ us", 7 | "case_studies_title": "Case studies", 8 | "pricing_title": "We do design retainers", 9 | "quote_content": "This design agency is a game changer. Its creative vision, user-focused approach, and seamless collaboration have transformed the way we build our brand. It’s not just an agency — it’s a powerful partner that delivers real results.", 10 | "quote_cite": "Sean Higgins", 11 | "quote_role": "CTO, Interia", 12 | "quote_image": "/content-images/quote-man.avif", 13 | "faq_title": "Frequently Asked Questions" 14 | } -------------------------------------------------------------------------------- /src/assets/css/global.css: -------------------------------------------------------------------------------- 1 | @import "tailwindcss"; 2 | 3 | @theme { 4 | 5 | --font-display: var(--font-inter-display), "ui-sans-serif", "system-ui", "sans-serif"; 6 | --font-body: var(--font-inter), "ui-sans-serif", "system-ui", "sans-serif"; 7 | 8 | --color-bs-surface-0: #121212; 9 | --color-bs-surface-1: #18181B; 10 | --color-bs-surface-2: rgba(255, 255, 255, 0.03); 11 | --color-bs-surface-3: #2F2F31; 12 | 13 | --color-bs-foreground-light: #eee; 14 | --color-bs-foreground-dark: #9f9f9f; 15 | 16 | --color-current: currentColor; 17 | 18 | --ease-bs-bounce: linear(0,.01,.04 1.6%,.161 3.3%,.816 9.4%,1.046,1.189 14.4%,1.231,1.254 17%,1.259,1.257 18.6%,1.236,1.194 22.3%,1.057 27%,.999 29.4%,.955 32.1%,.942,.935 34.9%,.933,.939 38.4%,1 47.3%,1.011,1.017 52.6%,1.016 56.4%,1 65.2%,.996 70.2%,1.001 87.2%,1); 19 | 20 | --ease-bs-spring: linear( 21 | 0, 0.009, 0.035 2.1%, 0.141, 0.281 6.7%, 0.723 12.9%, 0.938 16.7%, 1.017, 22 | 1.077, 1.121, 1.149 24.3%, 1.159, 1.163, 1.161, 1.154 29.9%, 1.129 32.8%, 23 | 1.051 39.6%, 1.017 43.1%, 0.991, 0.977 51%, 0.974 53.8%, 0.975 57.1%, 24 | 0.997 69.8%, 1.003 76.9%, 1.004 83.8%, 1); 25 | } -------------------------------------------------------------------------------- /src/components/TestimonialsSection.astro: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | const { title, testimonials } = Astro.props 4 | 5 | --- 6 | 7 |
8 | 9 | 10 | { title &&

{ title }

} 11 | 12 | 13 |
14 | 15 | 16 | { testimonials.map( item => 17 | 18 |
100 ? "lg:col-span-2" : ""]}> 20 | 21 | 22 |

100 ? "line-clamp-4 lg:line-clamp-none" : ""]} /> 23 | 24 | 25 | @{ item.handle } 26 | 27 |

28 | 29 | )} 30 | 31 |
32 | 33 |
34 | 35 | -------------------------------------------------------------------------------- /src/components/HeaderMain.astro: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | import Logo from '../assets/theme-images/logo.svg' 4 | 5 | const { settings } = Astro.props 6 | 7 | --- 8 | 9 |
10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 34 | 35 | 36 | 41 | 42 |
43 | 44 |
45 | -------------------------------------------------------------------------------- /src/data/credits.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Credits", 3 | "content": "This is a little theme made with Astro and Tailwind by blackspike design. View the code on GitHub.", 4 | "list": [ 5 | { 6 | "item": "Fake logos by uicontent.co" 7 | }, 8 | { 9 | "item": "Quote avatar person by thispersondoesnotexist.com" 10 | }, 11 | { 12 | "item": "Misc icons and logo from icones.js.org by @antfu" 13 | }, 14 | { 15 | "item": "Carousel powered by swiperjs.com" 16 | }, 17 | { 18 | "item": "Inter font by rsms.me" 19 | }, 20 | { 21 | "item": "Theme and 3D images by blackspike ltd are licensed under CC BY 4.0" 22 | 23 | } 24 | ] 25 | } -------------------------------------------------------------------------------- /src/data/faq.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "question": "How secure is my design data?", 4 | "answer": "We use industry-standard encryption and secure storage practices to protect your creative assets. All files are encrypted with AES-256, and our servers are regularly monitored and updated to prevent vulnerabilities." 5 | }, 6 | { 7 | "question": "Is there a free trial for design services?", 8 | "answer": "Yes, we offer a 14-day free trial for our design platform with access to core features for logo design, 3D modelling, or website prototyping—no credit card required." 9 | }, 10 | { 11 | "question": "Can I integrate your tools with other platforms?", 12 | "answer": "Absolutely. Our design tools integrate with popular platforms like Figma, Adobe Creative Cloud, Sketch, Blender, and CMS systems like WordPress and Webflow." 13 | }, 14 | { 15 | "question": "What kind of support do you provide for design projects?", 16 | "answer": "We provide 24/7 support via chat and email, along with a detailed help center full of tutorials, design best practices, and walkthroughs for each service." 17 | }, 18 | { 19 | "question": "Do you offer offline or on-premise design tools?", 20 | "answer": "Our platform is fully cloud-based for convenience and collaboration. However, you can export your designs for offline use in standard formats like SVG, OBJ, and HTML/CSS." 21 | } 22 | ] -------------------------------------------------------------------------------- /src/components/QuoteSection.astro: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | const { content, image, cite, role } = Astro.props 4 | 5 | --- 6 | 7 | 8 |
9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 24 | 25 |
26 | { cite } { role } 27 |
28 | 29 |
30 | 31 |
32 | 33 | 34 | 57 | 58 | -------------------------------------------------------------------------------- /src/data/clients.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "title": "Clamaane", 4 | "image": "/content-images/logo-01.svg", 5 | "link": "https://www.blackspike.com/" 6 | }, 7 | { 8 | "title": "Komplex", 9 | "image": "/content-images/logo-02.svg", 10 | "link": "https://www.blackspike.com/" 11 | }, 12 | { 13 | "title": "Splashed", 14 | "image": "/content-images/logo-03.svg", 15 | "link": "https://www.blackspike.com/" 16 | }, 17 | { 18 | "title": "HydroLab", 19 | "image": "/content-images/logo-04.svg", 20 | "link": "https://www.blackspike.com/" 21 | }, 22 | { 23 | "title": "Aromaf", 24 | "image": "/content-images/logo-05.svg", 25 | "link": "https://www.blackspike.com/" 26 | }, 27 | { 28 | "title": "Mediora", 29 | "image": "/content-images/logo-06.svg", 30 | "link": "https://www.blackspike.com/" 31 | }, 32 | { 33 | "title": "wellboth", 34 | "image": "/content-images/logo-07.svg", 35 | "link": "https://www.blackspike.com/" 36 | }, 37 | { 38 | "title": "humbbble", 39 | "image": "/content-images/logo-08.svg", 40 | "link": "https://www.blackspike.com/" 41 | }, 42 | { 43 | "title": "Interia", 44 | "image": "/content-images/logo-09.svg", 45 | "link": "https://www.blackspike.com/" 46 | }, 47 | { 48 | "title": "Anorch", 49 | "image": "/content-images/logo-10.svg", 50 | "link": "https://www.blackspike.com/" 51 | } 52 | ] -------------------------------------------------------------------------------- /public/favicon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /src/assets/theme-images/logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /src/components/DetailsAccordion.astro: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | import Arrow from '../assets/theme-images/icon-arrow.svg' 4 | 5 | const { question, answer } = Astro.props 6 | 7 | --- 8 | 9 |
11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 |
28 | 29 |
30 | 31 |
32 | 33 | 34 | 60 | -------------------------------------------------------------------------------- /astro.config.mjs: -------------------------------------------------------------------------------- 1 | import { defineConfig } from 'astro/config' 2 | import tailwindcss from '@tailwindcss/vite' 3 | 4 | export default defineConfig({ 5 | vite: { 6 | plugins: [tailwindcss()] 7 | }, 8 | experimental: { 9 | fonts: [{ 10 | provider: "local", 11 | name: "InterLocal", 12 | cssVariable: "--font-inter", 13 | variants: [ 14 | { 15 | weight: 400, 16 | style: "normal", 17 | src: ["./src/assets/fonts/Inter-Regular.woff2"] 18 | }, 19 | { 20 | weight: 600, 21 | style: "normal", 22 | src: ["./src/assets/fonts/Inter-SemiBold.woff2"] 23 | }, 24 | { 25 | weight: 700, 26 | style: "normal", 27 | src: ["./src/assets/fonts/Inter-Bold.woff2"] 28 | } 29 | ] 30 | }, 31 | { 32 | provider: "local", 33 | name: "InterLocalDisplay", 34 | cssVariable: "--font-inter-display", 35 | variants: [ 36 | { 37 | weight: 400, 38 | style: "normal", 39 | src: ["./src/assets/fonts/InterDisplay-Regular.woff2"] 40 | }, 41 | { 42 | weight: 500, 43 | style: "normal", 44 | src: ["./src/assets/fonts/InterDisplay-Medium.woff2"] 45 | }, 46 | { 47 | weight: 600, 48 | style: "normal", 49 | src: ["./src/assets/fonts/InterDisplay-SemiBold.woff2"] 50 | } 51 | ] 52 | }] 53 | } 54 | }) -------------------------------------------------------------------------------- /src/data/global_settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "blackspike astro landing page", 3 | "description": "A free Astro landing theme made with Tailwind", 4 | "social_image": "/1200x630.jpg", 5 | "base_url": "https://astro-theme.blackspike.com", 6 | "demo": { 7 | "title": "Need design?", 8 | "content": "Get a guided tour through our services, and find out how you and your team can change the way you work, forever.", 9 | "cta": "Book a call" 10 | }, 11 | "theme_color": "#18181b", 12 | "nav": [ 13 | { 14 | "title": "Services", 15 | "link": "/#services" 16 | }, 17 | { 18 | "title": "Case studies", 19 | "link": "/#case-studies" 20 | }, 21 | { 22 | "title": "Pricing", 23 | "link": "/#pricing" 24 | }, 25 | { 26 | "title": "FAQ", 27 | "link": "/#faq" 28 | }, 29 | { 30 | "title": "Newsletter", 31 | "link": "/#newsletter" 32 | } 33 | ], 34 | 35 | "social_links": [ 36 | { 37 | "title": "Twitter / X", 38 | "link": "https://x.com/blackspikeltd/" 39 | }, 40 | { 41 | "title": "Mastodon", 42 | "link": "https://mastodon.cloud/@blackspike" 43 | }, 44 | { 45 | "title": "GitHub", 46 | "link": "https://github.com/blackspike/" 47 | }, 48 | { 49 | "title": "LinkedIn", 50 | "link": "https://www.linkedin.com/company/blackspike" 51 | }, 52 | { 53 | "title": "Bluesky", 54 | "link": "https://bsky.app/profile/blackspike.com/" 55 | } 56 | ] 57 | } -------------------------------------------------------------------------------- /src/data/services.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "title": "We create timeless visual identities for modern brands.", 4 | "content": "Great companies are built on their ability to adapt and grow. We create brands that will adapt and flourish no matter where the market takes you.", 5 | "cta": "Call us about branding", 6 | "image": "/content-images/blackspike-wallpaper-01.avif", 7 | "image_alt": "" 8 | }, 9 | { 10 | "title": "We design websites that drive conversions and delight users.", 11 | "content": "Experts in imagining future interfaces and experiences. From UX to creative to analytics, we are there every step of the way.", 12 | "cta": "Book a website review call", 13 | "image": "/content-images/blackspike-wallpaper-02.avif", 14 | "image_alt": "" 15 | }, 16 | { 17 | "title": "Design across all dimensions", 18 | "content": "Outstanding 3D design and concepts. We provide top-of-the-line 3D modelling services delivered by our skilled team of 3D artists.", 19 | "cta": "Our 3D Services", 20 | "image": "/content-images/blackspike-wallpaper-03.avif", 21 | "image_alt": "" 22 | }, 23 | { 24 | "title": "Apps for all devices and seasons", 25 | "content": "We help companies supercharge their apps by providing world-class, effective design. Best practice design processes for your products", 26 | "cta": "Arrange an app demo", 27 | "image": "/content-images/blackspike-wallpaper-04.avif", 28 | "image_alt": "" 29 | } 30 | ] -------------------------------------------------------------------------------- /src/components/CardCaseStudy.astro: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | const { caseStudy } = Astro.props 4 | 5 | --- 6 | 7 | 8 |
9 | 10 | 11 |
13 | 14 | { 22 | 23 | 24 |
25 | 26 | 27 |
28 | 29 | 30 |
31 | 32 | 33 |

34 | 35 |

36 | 37 | 38 |
39 | 40 | 41 | 42 | { caseStudy.cta } 43 | 44 | 45 |
46 | 47 |
48 | 49 |
50 | -------------------------------------------------------------------------------- /src/data/case_studies.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "title": "Powering Growth.
Simplifying Success.", 4 | "sector": "Web design", 5 | "content": "Our custom web design solution helped Biotechlet Ltd elevate its digital presence with a clean, modern interface and intuitive user experience.

The redesigned site streamlined user journeys, improved accessibility, and strengthened brand credibility.", 6 | "case_study_link": "https://www.spike.news", 7 | "cta": "Visit spike.news", 8 | "image": "/content-images/spike.news.avif", 9 | "image_alt": "iPad showing spike.news website", 10 | "bg": "bg-gradient-to-r from-indigo-500 to-purple-600" 11 | }, 12 | { 13 | "title": "Accelerating Innovation.
Empowering Results.", 14 | "sector": "Development", 15 | "content": "Our dynamic design and build simplified productivity, delivering automated solutions, seamless collaboration, and data-driven insights", 16 | "case_study_link": "https://pixelate.pictures", 17 | "cta": "Visit pixelate.pictures", 18 | "image": "/content-images/pixelate.pictures.avif", 19 | "image_alt": "iPad showing pixelated wave painting", 20 | "bg": "bg-gradient-to-r from-fuchsia-500 to-cyan-500" 21 | }, 22 | { 23 | "title": "Enhance productivity,
boost efficiency.", 24 | "sector": "3D Design", 25 | "content": "Create, collaborate, and render — all in one streamlined workflow. Teams are connected and producing stunning visuals in minutes.", 26 | "case_study_link": "https://www.brighton.dog", 27 | "cta": "Visit brighton.dog", 28 | "image": "/content-images/brighton.dog.avif", 29 | "image_alt": "iPad showing the web page of brighton.dog", 30 | "bg": "bg-gradient-to-r from-pink-500 to-yellow-500" 31 | } 32 | ] -------------------------------------------------------------------------------- /src/components/NewsletterSection.astro: -------------------------------------------------------------------------------- 1 | --- 2 | import Image from "astro/components/Image.astro" 3 | import bg_image from "../assets/theme-images/hero-image.jpg" 4 | 5 | const { newsletter } = Astro.props 6 | 7 | --- 8 | 9 | 51 | 52 | -------------------------------------------------------------------------------- /src/data/testimonials.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "quote": "Sent over a logo request and had a polished concept in minutes—this team is pure magic!", 4 | "handle": "daviscarder" 5 | }, 6 | { 7 | "quote": "Clicked a few buttons in the 3D design tool, and boom—my model came to life!", 8 | "handle": "kadinwestervelt" 9 | }, 10 | { 11 | "quote": "Website setup took 2 minutes. I was live instantly. This is a game-changer! Everything from the layout to the mobile responsiveness worked flawlessly right out of the box. I didn’t need a developer or any technical skills — just a few clicks, and we were online with a stunning, professional site.", 12 | "handle": "kaylynnkenter" 13 | }, 14 | { 15 | "quote": "Sent a link to preview the design, and everything just worked. Super simple and fast!", 16 | "handle": "ryanstanton" 17 | }, 18 | { 19 | "quote": "Launched the new logo in no time. Reactions were instant. Feels like magic! The process was smooth from start to finish — the design team understood our vision perfectly, and the final result captured our brand’s personality better than we imagined. We’ve had compliments pouring in ever since.", 20 | "handle": "erincalzoni" 21 | }, 22 | { 23 | "quote": "Uploaded our 3D assets and shared them with the team within minutes. It’s ridiculously easy!", 24 | "handle": "jaxsonlipshutz" 25 | }, 26 | { 27 | "quote": "Followed the website launch guide, and it just worked—like magic!", 28 | "handle": "charlieherwitz" 29 | }, 30 | { 31 | "quote": "Clicked ‘Share’ on the design prototype, and we were reviewing in moments. Amazing simplicity!", 32 | "handle": "tianakorsgaard" 33 | }, 34 | { 35 | "quote": "Logged in, shared our new logo package, and instantly got feedback. Couldn’t be easier!", 36 | "handle": "jaydonkorsgaard" 37 | }, 38 | { 39 | "quote": "Uploaded the logo, and the final render was instant. It’s seriously impressive!", 40 | "handle": "talanbaptista" 41 | } 42 | ] -------------------------------------------------------------------------------- /src/pages/index.astro: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | import Layout from "../layouts/Layout.astro" 4 | 5 | import CaseStudiesSection from "../components/CaseStudiesSection.astro" 6 | import ClientsSection from "../components/ClientsSection.astro" 7 | import FaqSection from "../components/FaqSection.astro" 8 | import ServicesCarousel from "../components/ServicesCarousel.astro" 9 | import HeroSection from "../components/HeroSection.astro" 10 | import NewsletterSection from "../components/NewsletterSection.astro" 11 | import PricingSection from "../components/PricingSection.astro" 12 | import QuoteSection from "../components/QuoteSection.astro" 13 | import TestimonialsSection from "../components/TestimonialsSection.astro" 14 | 15 | import caseStudies from "../data/case_studies.json" 16 | import clients from "../data/clients.json" 17 | import faq from "../data/faq.json" 18 | import services from "../data/services.json" 19 | import home from "../data/home.json" 20 | import pricing from "../data/pricing.json" 21 | import global_settings from "../data/global_settings.json" 22 | import newsletter from "../data/newsletter.json" 23 | import testimonials from "../data/testimonials.json" 24 | 25 | --- 26 | 27 | 28 | 29 | 34 | 35 | 39 | 40 | 44 | 45 | 51 | 52 | 56 | 57 | 61 | 62 | 66 | 67 | 71 | 72 | 73 | 74 | 75 | -------------------------------------------------------------------------------- /src/components/FooterMain.astro: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | import Logo from '../assets/theme-images/logo.svg' 4 | 5 | const { settings } = Astro.props 6 | 7 | --- 8 | 9 | 84 | 85 | -------------------------------------------------------------------------------- /src/layouts/Layout.astro: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | import '../assets/css/global.css' 4 | import "../assets/css/base.css" 5 | import "../assets/css/typography.css" 6 | import "../assets/css/layout.css" 7 | import "../assets/css/buttons.css" 8 | 9 | import { Font } from 'astro:assets'; 10 | 11 | import Image from "astro/components/Image.astro" 12 | import bg_image from "../assets/theme-images/hero-image.jpg" 13 | 14 | import global_settings from "../data/global_settings.json" 15 | 16 | import DialogModal from "../components/DialogModal.astro" 17 | import FooterMain from "../components/FooterMain.astro" 18 | import HeaderMain from "../components/HeaderMain.astro" 19 | 20 | const { title, description } = Astro.props 21 | 22 | --- 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | { title ?? global_settings.title } 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | Skip to content 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 |
64 | 65 |
66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | -------------------------------------------------------------------------------- /public/content-images/logo-02.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/components/PricingSection.astro: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | import Check from '../assets/theme-images/icon-check.svg' 4 | import Cube from '../assets/theme-images/icon-cube.svg' 5 | import CubeOutline from '../assets/theme-images/icon-cube-outline.svg' 6 | 7 | const { title, pricing } = Astro.props 8 | 9 | --- 10 | 11 |
12 | 13 | 14 | { title &&

{ title }

} 15 | 16 | 17 |
18 | 19 | 20 | 21 | { pricing.map( ( item, index ) => 22 | 23 |
25 | 26 | 27 |
28 | 29 | 30 |

31 | 32 | 33 | { index === 1 && } 34 | { index !== 1 && } 35 | 36 | 37 | { item.title } 38 | 39 | 40 |

45 | 46 | 47 |
48 | 49 | 50 |
    51 | 52 | { item.services.map( ({ item }) => 53 | 54 |
  • 55 | 56 | 57 | 58 | 59 | 60 | { item } 61 | 62 |
  • 63 | 64 | )} 65 | 66 |
67 | 68 | 69 |
70 | 71 | 72 | £{ item.price } 73 | 74 | 75 | 78 | 79 |
80 | 81 |
82 | 83 |
84 | )} 85 | 86 |
87 | 88 |
89 | 90 | -------------------------------------------------------------------------------- /src/components/DialogModal.astro: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | import X from '../assets/theme-images/icon-x.svg' 4 | 5 | const { content } = Astro.props 6 | 7 | --- 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 |

16 | 17 | { content.title } 18 | 19 | 25 | 26 |

27 | 28 | 29 | 30 |
31 | 32 | 33 |
34 | 35 | 36 | 37 | 38 | 39 | 40 | 46 | 47 | 48 | 49 | 50 | 56 | 57 | 58 | 59 | 60 | 66 | 67 | 68 | 69 | 70 |
71 | 72 | 73 | 74 |
75 | 76 | -------------------------------------------------------------------------------- /public/content-images/logo-10.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /public/content-images/logo-09.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/components/ServicesCarousel.astro: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | import Arrow from '../assets/theme-images/icon-arrow.svg' 4 | 5 | const { title, services } = Astro.props 6 | 7 | --- 8 | 9 |
10 | 11 | 12 |
13 | 14 | { title &&

{ title }

} 15 | 16 | 17 | 36 |
37 | 38 | 39 |
40 |
41 | 42 | { services.map( item => 43 | 44 | // Slides 45 | 46 |
47 | 48 |
49 | 50 | {/* BG image */} 51 | { 54 | 55 | {/* Gradient mask */} 56 | 59 | 60 | {/* Content */} 61 |
62 | 63 | {/* Title */} 64 |

65 | 66 | {/* Intro */} 67 |
68 | 69 | {/* Cta */} 70 | 73 | 74 |

75 | 76 |
77 | 78 |
79 | 80 | )} 81 | 82 |
83 |
84 | 85 |
86 | 87 | 125 | 126 | 143 | -------------------------------------------------------------------------------- /public/content-images/logo-07.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # blackspike astro landing page 2 | 3 | [screens showing theme parts on iPads](public/theme-preview/github-preview.jpg) 4 | 5 | ## A free, modern, [Astro](https://astro.build/) landing page theme made with [Tailwind](https://tailwindcss.com/) to help kick start your next Astro project 6 | 7 | We built this page as the first version of our own website, [blackspike.com](https://www.blackspike.com), but switched to a different design later. 8 | 9 | Rather than let it gather dust, we decided to modernise it, try out some fresh new CSS features and give it back to the Astro community. 10 | 11 | You can read more about how we built it and the cool new tech we used [on our blog post](https://www.blackspike.com/blog/blackspike-free-astro-tailwind-theme/). 12 | 13 | Now available as an official Astro theme! [Download it from the Astro themes page](https://astro.build/themes/details/blackspike-astro-landing-page/) 14 | 15 | ## Live demo https://astro-theme.blackspike.com 16 | 17 | We hope you find it useful! 18 | 19 | ## License 20 | 21 | Theme and 3D images are licensed under a [Creative Commons Attribution 4.0 International Public License](https://creativecommons.org/licenses/by/4.0/). 22 | 23 | Created by blackspike [blackspike design](https://www.blackspike.com) – a web design & development team specialising in Astro, Vue, Nuxt & Wordpress websites 24 | 25 | ## Astro 5 Features 26 | 27 | - [Image component](https://docs.astro.build/en/guides/images/#display-optimized-images-with-the-image--component) for optimised AVIF images 28 | - All-[JSX](https://docs.astro.build/en/reference/astro-syntax/) native astro components 29 | - SVGs imported as [SVG components](https://docs.astro.build/en/guides/images/#svg-components) 30 | - JSON-powered content (easy to edit UI text or hook up a CMS!) 31 | - Experimental [Fonts API](https://docs.astro.build/en/reference/experimental-flags/fonts/) 32 | 33 | ## CSS & HTML Features 34 | 35 | - [Tailwind 4](https://tailwindcss.com/blog/tailwindcss-v4) 36 | - HTML modal dialog 37 | - JS-free scroll-linked animations 38 | - JS-free exclusive accordions with details/summary (animated!) 39 | - Container queries 40 | - Linear easing for bouncing / springing 41 | - Text wrap pretty / balance 42 | 43 | ## JS Features 44 | 45 | - [swiper.js](https://swiperjs.com/) carousel 46 | 47 | ## Previews 48 | 49 | [screenshot of dark theme landing page on desktop and on ipad browsers](public/theme-preview/blackspike-theme-1.jpg) 50 | 51 | [screenshot of dark theme carousel slides with 3D backgrounds](public/theme-preview/blackspike-theme-2.jpg) 52 | 53 | [screens showing theme parts](public/theme-preview/blackspike-theme-4.jpg) 54 | 55 | [dark theme pricing section on laptop and iPhone browsers](public/theme-preview/blackspike-theme-5.jpg) 56 | 57 | [full page preview](public/theme-preview/blackspike-theme-full.webp) 58 | 59 | ## Credits 60 | 61 | - Fake logos by [uicontent.co](https://uicontent.co/svg-dummy-logo/) 62 | - Quote avatar person by [thispersondoesnotexist.com](https://thispersondoesnotexist.com/) 63 | - Misc icons and logo from [icones.js.org](https://icones.js.org/) by [@antfu](https://github.com/antfu) 64 | - Carousel powered by [swiperjs.com](https://swiperjs.com/) 65 | - Inter font by [rsms.me](https://rsms.me/inter/) 66 | 67 | ## Tags 68 | 69 | #tailwind #tailwind4 #astro #landingPage #css #html #swiper #dark #theme 70 | 71 | ## Commands 72 | 73 | All commands are run from the root of the project, from a terminal: 74 | 75 | | Command | Action | 76 | | :------------------------ | :----------------------------------------------- | 77 | | `npm install` | Installs dependencies | 78 | | `npm run dev` | Starts local dev server at `localhost:4321` | 79 | | `npm run build` | Build your production site to `./dist/` | 80 | | `npm run preview` | Preview your build locally, before deploying | 81 | | `npm run astro ...` | Run CLI commands like `astro add`, `astro check` | 82 | | `npm run astro -- --help` | Get help using the Astro CLI | 83 | 84 | -------------------------------------------------------------------------------- /public/content-images/logo-04.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /public/content-images/logo-03.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /public/content-images/logo-06.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /public/content-images/logo-08.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /public/content-images/logo-01.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /public/content-images/logo-05.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Attribution 4.0 International 2 | 3 | ======================================================================= 4 | 5 | Creative Commons Corporation ("Creative Commons") is not a law firm and 6 | does not provide legal services or legal advice. Distribution of 7 | Creative Commons public licenses does not create a lawyer-client or 8 | other relationship. Creative Commons makes its licenses and related 9 | information available on an "as-is" basis. Creative Commons gives no 10 | warranties regarding its licenses, any material licensed under their 11 | terms and conditions, or any related information. Creative Commons 12 | disclaims all liability for damages resulting from their use to the 13 | fullest extent possible. 14 | 15 | Using Creative Commons Public Licenses 16 | 17 | Creative Commons public licenses provide a standard set of terms and 18 | conditions that creators and other rights holders may use to share 19 | original works of authorship and other material subject to copyright 20 | and certain other rights specified in the public license below. The 21 | following considerations are for informational purposes only, are not 22 | exhaustive, and do not form part of our licenses. 23 | 24 | Considerations for licensors: Our public licenses are 25 | intended for use by those authorized to give the public 26 | permission to use material in ways otherwise restricted by 27 | copyright and certain other rights. Our licenses are 28 | irrevocable. Licensors should read and understand the terms 29 | and conditions of the license they choose before applying it. 30 | Licensors should also secure all rights necessary before 31 | applying our licenses so that the public can reuse the 32 | material as expected. Licensors should clearly mark any 33 | material not subject to the license. This includes other CC- 34 | licensed material, or material used under an exception or 35 | limitation to copyright. More considerations for licensors: 36 | wiki.creativecommons.org/Considerations_for_licensors 37 | 38 | Considerations for the public: By using one of our public 39 | licenses, a licensor grants the public permission to use the 40 | licensed material under specified terms and conditions. If 41 | the licensor's permission is not necessary for any reason--for 42 | example, because of any applicable exception or limitation to 43 | copyright--then that use is not regulated by the license. Our 44 | licenses grant only permissions under copyright and certain 45 | other rights that a licensor has authority to grant. Use of 46 | the licensed material may still be restricted for other 47 | reasons, including because others have copyright or other 48 | rights in the material. A licensor may make special requests, 49 | such as asking that all changes be marked or described. 50 | Although not required by our licenses, you are encouraged to 51 | respect those requests where reasonable. More considerations 52 | for the public: 53 | wiki.creativecommons.org/Considerations_for_licensees 54 | 55 | ======================================================================= 56 | 57 | Creative Commons Attribution 4.0 International Public License 58 | 59 | By exercising the Licensed Rights (defined below), You accept and agree 60 | to be bound by the terms and conditions of this Creative Commons 61 | Attribution 4.0 International Public License ("Public License"). To the 62 | extent this Public License may be interpreted as a contract, You are 63 | granted the Licensed Rights in consideration of Your acceptance of 64 | these terms and conditions, and the Licensor grants You such rights in 65 | consideration of benefits the Licensor receives from making the 66 | Licensed Material available under these terms and conditions. 67 | 68 | 69 | Section 1 -- Definitions. 70 | 71 | a. Adapted Material means material subject to Copyright and Similar 72 | Rights that is derived from or based upon the Licensed Material 73 | and in which the Licensed Material is translated, altered, 74 | arranged, transformed, or otherwise modified in a manner requiring 75 | permission under the Copyright and Similar Rights held by the 76 | Licensor. For purposes of this Public License, where the Licensed 77 | Material is a musical work, performance, or sound recording, 78 | Adapted Material is always produced where the Licensed Material is 79 | synched in timed relation with a moving image. 80 | 81 | b. Adapter's License means the license You apply to Your Copyright 82 | and Similar Rights in Your contributions to Adapted Material in 83 | accordance with the terms and conditions of this Public License. 84 | 85 | c. Copyright and Similar Rights means copyright and/or similar rights 86 | closely related to copyright including, without limitation, 87 | performance, broadcast, sound recording, and Sui Generis Database 88 | Rights, without regard to how the rights are labeled or 89 | categorized. For purposes of this Public License, the rights 90 | specified in Section 2(b)(1)-(2) are not Copyright and Similar 91 | Rights. 92 | 93 | d. Effective Technological Measures means those measures that, in the 94 | absence of proper authority, may not be circumvented under laws 95 | fulfilling obligations under Article 11 of the WIPO Copyright 96 | Treaty adopted on December 20, 1996, and/or similar international 97 | agreements. 98 | 99 | e. Exceptions and Limitations means fair use, fair dealing, and/or 100 | any other exception or limitation to Copyright and Similar Rights 101 | that applies to Your use of the Licensed Material. 102 | 103 | f. Licensed Material means the artistic or literary work, database, 104 | or other material to which the Licensor applied this Public 105 | License. 106 | 107 | g. Licensed Rights means the rights granted to You subject to the 108 | terms and conditions of this Public License, which are limited to 109 | all Copyright and Similar Rights that apply to Your use of the 110 | Licensed Material and that the Licensor has authority to license. 111 | 112 | h. Licensor means the individual(s) or entity(ies) granting rights 113 | under this Public License. 114 | 115 | i. Share means to provide material to the public by any means or 116 | process that requires permission under the Licensed Rights, such 117 | as reproduction, public display, public performance, distribution, 118 | dissemination, communication, or importation, and to make material 119 | available to the public including in ways that members of the 120 | public may access the material from a place and at a time 121 | individually chosen by them. 122 | 123 | j. Sui Generis Database Rights means rights other than copyright 124 | resulting from Directive 96/9/EC of the European Parliament and of 125 | the Council of 11 March 1996 on the legal protection of databases, 126 | as amended and/or succeeded, as well as other essentially 127 | equivalent rights anywhere in the world. 128 | 129 | k. You means the individual or entity exercising the Licensed Rights 130 | under this Public License. Your has a corresponding meaning. 131 | 132 | 133 | Section 2 -- Scope. 134 | 135 | a. License grant. 136 | 137 | 1. Subject to the terms and conditions of this Public License, 138 | the Licensor hereby grants You a worldwide, royalty-free, 139 | non-sublicensable, non-exclusive, irrevocable license to 140 | exercise the Licensed Rights in the Licensed Material to: 141 | 142 | a. reproduce and Share the Licensed Material, in whole or 143 | in part; and 144 | 145 | b. produce, reproduce, and Share Adapted Material. 146 | 147 | 2. Exceptions and Limitations. For the avoidance of doubt, where 148 | Exceptions and Limitations apply to Your use, this Public 149 | License does not apply, and You do not need to comply with 150 | its terms and conditions. 151 | 152 | 3. Term. The term of this Public License is specified in Section 153 | 6(a). 154 | 155 | 4. Media and formats; technical modifications allowed. The 156 | Licensor authorizes You to exercise the Licensed Rights in 157 | all media and formats whether now known or hereafter created, 158 | and to make technical modifications necessary to do so. The 159 | Licensor waives and/or agrees not to assert any right or 160 | authority to forbid You from making technical modifications 161 | necessary to exercise the Licensed Rights, including 162 | technical modifications necessary to circumvent Effective 163 | Technological Measures. For purposes of this Public License, 164 | simply making modifications authorized by this Section 2(a) 165 | (4) never produces Adapted Material. 166 | 167 | 5. Downstream recipients. 168 | 169 | a. Offer from the Licensor -- Licensed Material. Every 170 | recipient of the Licensed Material automatically 171 | receives an offer from the Licensor to exercise the 172 | Licensed Rights under the terms and conditions of this 173 | Public License. 174 | 175 | b. No downstream restrictions. You may not offer or impose 176 | any additional or different terms or conditions on, or 177 | apply any Effective Technological Measures to, the 178 | Licensed Material if doing so restricts exercise of the 179 | Licensed Rights by any recipient of the Licensed 180 | Material. 181 | 182 | 6. No endorsement. Nothing in this Public License constitutes or 183 | may be construed as permission to assert or imply that You 184 | are, or that Your use of the Licensed Material is, connected 185 | with, or sponsored, endorsed, or granted official status by, 186 | the Licensor or others designated to receive attribution as 187 | provided in Section 3(a)(1)(A)(i). 188 | 189 | b. Other rights. 190 | 191 | 1. Moral rights, such as the right of integrity, are not 192 | licensed under this Public License, nor are publicity, 193 | privacy, and/or other similar personality rights; however, to 194 | the extent possible, the Licensor waives and/or agrees not to 195 | assert any such rights held by the Licensor to the limited 196 | extent necessary to allow You to exercise the Licensed 197 | Rights, but not otherwise. 198 | 199 | 2. Patent and trademark rights are not licensed under this 200 | Public License. 201 | 202 | 3. To the extent possible, the Licensor waives any right to 203 | collect royalties from You for the exercise of the Licensed 204 | Rights, whether directly or through a collecting society 205 | under any voluntary or waivable statutory or compulsory 206 | licensing scheme. In all other cases the Licensor expressly 207 | reserves any right to collect such royalties. 208 | 209 | 210 | Section 3 -- License Conditions. 211 | 212 | Your exercise of the Licensed Rights is expressly made subject to the 213 | following conditions. 214 | 215 | a. Attribution. 216 | 217 | 1. If You Share the Licensed Material (including in modified 218 | form), You must: 219 | 220 | a. retain the following if it is supplied by the Licensor 221 | with the Licensed Material: 222 | 223 | i. identification of the creator(s) of the Licensed 224 | Material and any others designated to receive 225 | attribution, in any reasonable manner requested by 226 | the Licensor (including by pseudonym if 227 | designated); 228 | 229 | ii. a copyright notice; 230 | 231 | iii. a notice that refers to this Public License; 232 | 233 | iv. a notice that refers to the disclaimer of 234 | warranties; 235 | 236 | v. a URI or hyperlink to the Licensed Material to the 237 | extent reasonably practicable; 238 | 239 | b. indicate if You modified the Licensed Material and 240 | retain an indication of any previous modifications; and 241 | 242 | c. indicate the Licensed Material is licensed under this 243 | Public License, and include the text of, or the URI or 244 | hyperlink to, this Public License. 245 | 246 | 2. You may satisfy the conditions in Section 3(a)(1) in any 247 | reasonable manner based on the medium, means, and context in 248 | which You Share the Licensed Material. For example, it may be 249 | reasonable to satisfy the conditions by providing a URI or 250 | hyperlink to a resource that includes the required 251 | information. 252 | 253 | 3. If requested by the Licensor, You must remove any of the 254 | information required by Section 3(a)(1)(A) to the extent 255 | reasonably practicable. 256 | 257 | 4. If You Share Adapted Material You produce, the Adapter's 258 | License You apply must not prevent recipients of the Adapted 259 | Material from complying with this Public License. 260 | 261 | 262 | Section 4 -- Sui Generis Database Rights. 263 | 264 | Where the Licensed Rights include Sui Generis Database Rights that 265 | apply to Your use of the Licensed Material: 266 | 267 | a. for the avoidance of doubt, Section 2(a)(1) grants You the right 268 | to extract, reuse, reproduce, and Share all or a substantial 269 | portion of the contents of the database; 270 | 271 | b. if You include all or a substantial portion of the database 272 | contents in a database in which You have Sui Generis Database 273 | Rights, then the database in which You have Sui Generis Database 274 | Rights (but not its individual contents) is Adapted Material; and 275 | 276 | c. You must comply with the conditions in Section 3(a) if You Share 277 | all or a substantial portion of the contents of the database. 278 | 279 | For the avoidance of doubt, this Section 4 supplements and does not 280 | replace Your obligations under this Public License where the Licensed 281 | Rights include other Copyright and Similar Rights. 282 | 283 | 284 | Section 5 -- Disclaimer of Warranties and Limitation of Liability. 285 | 286 | a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE 287 | EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS 288 | AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF 289 | ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS, 290 | IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION, 291 | WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR 292 | PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS, 293 | ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT 294 | KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT 295 | ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU. 296 | 297 | b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE 298 | TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, 299 | NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT, 300 | INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES, 301 | COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR 302 | USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN 303 | ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR 304 | DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR 305 | IN PART, THIS LIMITATION MAY NOT APPLY TO YOU. 306 | 307 | c. The disclaimer of warranties and limitation of liability provided 308 | above shall be interpreted in a manner that, to the extent 309 | possible, most closely approximates an absolute disclaimer and 310 | waiver of all liability. 311 | 312 | 313 | Section 6 -- Term and Termination. 314 | 315 | a. This Public License applies for the term of the Copyright and 316 | Similar Rights licensed here. However, if You fail to comply with 317 | this Public License, then Your rights under this Public License 318 | terminate automatically. 319 | 320 | b. Where Your right to use the Licensed Material has terminated under 321 | Section 6(a), it reinstates: 322 | 323 | 1. automatically as of the date the violation is cured, provided 324 | it is cured within 30 days of Your discovery of the 325 | violation; or 326 | 327 | 2. upon express reinstatement by the Licensor. 328 | 329 | For the avoidance of doubt, this Section 6(b) does not affect any 330 | right the Licensor may have to seek remedies for Your violations 331 | of this Public License. 332 | 333 | c. For the avoidance of doubt, the Licensor may also offer the 334 | Licensed Material under separate terms or conditions or stop 335 | distributing the Licensed Material at any time; however, doing so 336 | will not terminate this Public License. 337 | 338 | d. Sections 1, 5, 6, 7, and 8 survive termination of this Public 339 | License. 340 | 341 | 342 | Section 7 -- Other Terms and Conditions. 343 | 344 | a. The Licensor shall not be bound by any additional or different 345 | terms or conditions communicated by You unless expressly agreed. 346 | 347 | b. Any arrangements, understandings, or agreements regarding the 348 | Licensed Material not stated herein are separate from and 349 | independent of the terms and conditions of this Public License. 350 | 351 | 352 | Section 8 -- Interpretation. 353 | 354 | a. For the avoidance of doubt, this Public License does not, and 355 | shall not be interpreted to, reduce, limit, restrict, or impose 356 | conditions on any use of the Licensed Material that could lawfully 357 | be made without permission under this Public License. 358 | 359 | b. To the extent possible, if any provision of this Public License is 360 | deemed unenforceable, it shall be automatically reformed to the 361 | minimum extent necessary to make it enforceable. If the provision 362 | cannot be reformed, it shall be severed from this Public License 363 | without affecting the enforceability of the remaining terms and 364 | conditions. 365 | 366 | c. No term or condition of this Public License will be waived and no 367 | failure to comply consented to unless expressly agreed to by the 368 | Licensor. 369 | 370 | d. Nothing in this Public License constitutes or may be interpreted 371 | as a limitation upon, or waiver of, any privileges and immunities 372 | that apply to the Licensor or You, including from the legal 373 | processes of any jurisdiction or authority. 374 | 375 | 376 | ======================================================================= 377 | 378 | Creative Commons is not a party to its public 379 | licenses. Notwithstanding, Creative Commons may elect to apply one of 380 | its public licenses to material it publishes and in those instances 381 | will be considered the “Licensor.” The text of the Creative Commons 382 | public licenses is dedicated to the public domain under the CC0 Public 383 | Domain Dedication. Except for the limited purpose of indicating that 384 | material is shared under a Creative Commons public license or as 385 | otherwise permitted by the Creative Commons policies published at 386 | creativecommons.org/policies, Creative Commons does not authorize the 387 | use of the trademark "Creative Commons" or any other trademark or logo 388 | of Creative Commons without its prior written consent including, 389 | without limitation, in connection with any unauthorized modifications 390 | to any of its public licenses or any other arrangements, 391 | understandings, or agreements concerning use of licensed material. For 392 | the avoidance of doubt, this paragraph does not form part of the 393 | public licenses. 394 | 395 | Creative Commons may be contacted at creativecommons.org. 396 | 397 | --------------------------------------------------------------------------------