π² astro-marketing-theme
Astro marketing theme. Sidebar nav, services, contact, about, projects, blog aggregator, with a financial business as placeholder.
β‘ Theme Highlights
ποΈ Sidebar Layout β Persistent nav sidebar with nested dropdowns, social links, quick-access external sites
π Pages β Home, About, Blog, Services (sub-pages), Portfolio, Contact, Privacy, Terms, 404
π‘ Blog Importer β Fetches external RSS feed + sitemap at build time. No CMS, no client-side requests
βοΈ Quick Contact β Two-step topic-selector form via Web3Forms. No backend
π¬ Chat Widget β Simulated live-chat on homepage. Fully static, zero third-party scripts
πΌοΈ Featured Slider β Auto-populated hero image carousel from projects.json entries
π¦ Asset Downloader β Fetches icons and static files from CDNs before every build. Browser never hits a CDN
πͺ GitHub Images β Pulls first README image per project repo at build time. Cached in github-image-cache.json
π Dark / Light Mode β Defaults dark. User toggle saved to localStorage
π Quick Start
Docker
docker compose build && docker compose up
π― Perfect For
- Freelancers and agencies who need a great base theme for service based induestries
- Small firms needing a full site β services, portfolio, blog, contact β without a CMS or backend
- IT firms, dev shops, and contractors who want GitHub repos surfaced automatically on a portfolio page
- Any professional services business β construction, finance, legal, creative β that needs services, portfolio, blog, and contact
π Deployment Made Easy
CI/CD workflows are already included in the repo. Just push your code, set your environment variables, and let the platform do the rest.
- GitHub Pages (Auto-detects base paths & custom domains)
- GitLab Pages (Auto-detects CI_PAGES_URL)
- Gitea / Forgejo / Codeberg (Build artifacts + Codeberg Pages support)
- Self-Hosted / VPS (Docker outputs a lean ~25MB Nginx image)
βοΈ Writing Blog Posts
src/content/posts/ contains the markdown files that will become your blog posts:
- The markdown files in this folder will be rendered as blog posts during build time
- These markdown files require frontmatter added to them, as a metadata for the website
πΊοΈ Content Files
All content lives in src/data/. No code changes needed to customize any section.
global/site.json β Site name, legal name, URL, contact email, Web3Forms key, service types
global/personal.json β Team/contact info, LinkedIn, social links, about bio
global/navigation.json β Sidebar nav items (nested), footer links, social label, other-sites list
home/hero.json β Hero eyebrow, heading, blurb, CTA buttons
home/transaction-desk.json β Chat widget copy, deal pipeline stats, sector list
home/portal.json β Client portal card and quick stats
services/services.json β Service cards (slug, title, highlights, theme colors, page meta, capabilities)
services/services-index.json β Services index page intro copy
projects/projects.json β Portfolio company cards (title, category, tags, images, GitHub repo)
projects/projects-page.json β Projects page intro copy
projects/testimonials.json β Testimonial entries on the projects page
about/about.json β About page paragraphs, contact bar, pillar cards
contact/contact.json β Full contact page copy and form labels
contact/quickhelp.json β Quick Contact widget β topic list, form labels, success messages
contact/contact-ctas.json β Contact CTA cards shown across the site