@really-headless/sv-marketing v1.5.2
SV-Marketing
🚧 Still in active development.
🧑💻 Need to expose a variable? feel free to submit a PR.
Build beautiful marketing sites with SvelteKit - A lightweight, customizable component library for static marketing websites.
Features
- 🚀 Built for SvelteKit
- 🎨 Highly customizable through CSS variables
- 📱 Fully responsive components
- ⚡ Lightweight and fast
- 🔧 Easy to integrate
- 📈 SEO-friendly with the right semantic components and
jsonLD
Installation
npm install sv-marketingAvailable Components
Content Sections
- Hero
- Basic Hero
<BasicHero {...props} /> - Hero with Media
<MediaHero {...props} />
- Basic Hero
- Text & Media
<TextAndMedia {...props} /> - Features Grid
<Features {...props} /> - Pricing Table
<Pricing {...props} /> - Call-to-Action (CTA)
<CallToAction {...props} /> - Testimonials Grid
<Testimonials {...props} /> - FAQ Accordion
<FrequentlyAskedQuestions {...props} />(withSEO✨) - Brand Showcase List
<Brands {...props} /> - Blog List View
<BlogListing {...props} /> - Blog Post View
<BlogPost {...props} />
Navigation & Structure
- Layout
<Layout {...props} /> - Breadcrumbs
<Breadcrumbs {...props} />(withSEO✨) - Page SEO
<PageSeo {...props} />(withjsonLD✨)
Compose your own
- SectionContainer
<SectionContainer {...props} />, a wrapper for all sections (using a 12-column grid system) - SubSectionContainer
<SubSectionContainer {...props} />, a container for organizing content within sections with these props:children: Svelte components to render inside the containergridSize: Sets container width ('full' by default)gapSize: Controls spacing between items ('small' by default)align: Alignment of content ('center' by default)justifyUp: Controls vertical alignmentitemsCount: Specifies number of items in the container
- SectionHeader
<SectionHeader {...props} />, a header for each section with these props:title: Title of the sectionsubtitle: Subtitle of the sectionalign: Alignment of content ('center' by default)justifyUp: Controls vertical alignmentitemsCount: Specifies number of items in the container
Usage
Components use Svelte's runes mode and can be styled through CSS variables imported to your +layout.svelte file.
CSS Variables
The following CSS variables can be customized:
--section-max-width: Sets the maximum width (1200pxas fallback) for section containers to ensure consistent layout across different screen sizes.--color-primary: Sets the primary color (#00fas fallback) for buttons and other elements.--color-primary-alternate-text: Sets the text color for buttons and other elements that are styled (#fffas fallback).--color-primary-background: Sets the background color for primary sections (#eeeas fallback).--color-secondary-background: Sets the background color for secondary sections (#aaaas fallback).--color-text: Sets the text color (#222as fallback) for all text elements.
CSS Classes
Each component has specific class names to enable custom styling in your own CSS files. These classes follow a consistent pattern:
Component Classes
Section Container Classes
.section- Applied to all sections for generic styling- Component-specific class (e.g.,
.text-and-media,.hero,.features) for targeted styling
Item Classes
- Component-specific item class (e.g.,
.text-and-media-item,.features-item) for styling individual items within a component .sub-section- Applied to sub-section containers within components
- Component-specific item class (e.g.,
Component-Specific Classes
Text and Media Component
.text-and-media- Main container.text-and-media-item- Individual text/media pairs.text-and-media-media- Media within text/media pairs
Hero Components
.basic-hero- Basic hero section.media-hero- Hero with media section
Features Component
.features- Main container.features-item- Individual feature items.feature-media- Media within feature items
Testimonials Component
.testimonials- Main container.testimonials-item- Individual testimonial.testimonial-media- Avatar/media within testimonials
Pricing Component
.pricing- Main container.pricing-item- Individual pricing plans
FAQ Component
.faq- Main container.faq-item- Individual question/answer pairs
Call-to-Action Component
.cta- Main container
Brands Component
.brands- Main container.brands-item- Individual brand items
Navbar Component
.navbar- Main container.desktop-navbar- Desktop navigation.mobile-navbar- Mobile navigation
Footer Component
.footer- Main container.footer-item- Individual footer sub section
Example Usage
To style all text and media sections:
.text-and-media {
background-color: #f9f9f9;
}
.text-and-media-item {
border-left: 3px solid var(--color-primary);
}TODO
- Add template
CSSfor quick start - Add demo site
- Add Markdown support for
ptags and blog posts - Add much clearer documentation
- Add Contact Form component (with
APISubmission)
9 months ago
9 months ago
9 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago