@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)
7 months ago
7 months ago
7 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago