@jxsuite/starters 0.34.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.ts +72 -0
- package/package.json +28 -0
- package/registry.json +178 -0
- package/sites/blog/components/bl-author-bio.json +82 -0
- package/sites/blog/components/bl-contact-form.json +114 -0
- package/sites/blog/components/bl-contact-info.json +54 -0
- package/sites/blog/components/bl-cta.json +62 -0
- package/sites/blog/components/bl-footer.json +145 -0
- package/sites/blog/components/bl-masthead.json +128 -0
- package/sites/blog/components/bl-nav.json +97 -0
- package/sites/blog/components/bl-newsletter-cta.json +120 -0
- package/sites/blog/components/bl-post-card.json +114 -0
- package/sites/blog/components/bl-post-list.json +17 -0
- package/sites/blog/components/bl-prose.json +74 -0
- package/sites/blog/components/bl-section-header.json +53 -0
- package/sites/blog/components/bl-tag-pill.json +26 -0
- package/sites/blog/content/posts/designing-for-slowness.md +25 -0
- package/sites/blog/content/posts/notes-from-a-long-walk.md +27 -0
- package/sites/blog/content/posts/the-city-as-a-text.md +27 -0
- package/sites/blog/content/posts/the-quiet-craft-of-revision.md +27 -0
- package/sites/blog/content/posts/tools-that-disappear.md +27 -0
- package/sites/blog/content/posts/what-i-learned-rereading.md +27 -0
- package/sites/blog/images.json +54 -0
- package/sites/blog/layouts/base.json +22 -0
- package/sites/blog/layouts/post.json +15 -0
- package/sites/blog/package.json +15 -0
- package/sites/blog/pages/[slug].json +148 -0
- package/sites/blog/pages/about.md +32 -0
- package/sites/blog/pages/contact.md +18 -0
- package/sites/blog/pages/index.md +48 -0
- package/sites/blog/project.json +107 -0
- package/sites/blog/public/favicon.svg +6 -0
- package/sites/blog/public/images/author.jpg +0 -0
- package/sites/blog/public/images/hero.jpg +0 -0
- package/sites/blog/public/images/post-1.jpg +0 -0
- package/sites/blog/public/images/post-2.jpg +0 -0
- package/sites/blog/public/images/post-3.jpg +0 -0
- package/sites/blog/public/images/post-4.jpg +0 -0
- package/sites/blog/public/images/post-5.jpg +0 -0
- package/sites/blog/public/images/post-6.jpg +0 -0
- package/sites/course/components/co-application.json +170 -0
- package/sites/course/components/co-cta.json +74 -0
- package/sites/course/components/co-curriculum-accordion.json +1476 -0
- package/sites/course/components/co-faq.json +524 -0
- package/sites/course/components/co-footer.json +145 -0
- package/sites/course/components/co-hero.json +139 -0
- package/sites/course/components/co-instructor-card.json +76 -0
- package/sites/course/components/co-module-card.json +93 -0
- package/sites/course/components/co-nav.json +119 -0
- package/sites/course/components/co-outcome-card.json +58 -0
- package/sites/course/components/co-pricing.json +133 -0
- package/sites/course/components/co-section-header.json +53 -0
- package/sites/course/components/co-stat.json +36 -0
- package/sites/course/components/co-testimonial-card.json +54 -0
- package/sites/course/content/modules/backend.md +8 -0
- package/sites/course/content/modules/capstone.md +8 -0
- package/sites/course/content/modules/foundations.md +8 -0
- package/sites/course/content/modules/frameworks.md +8 -0
- package/sites/course/content/modules/html-css.md +8 -0
- package/sites/course/content/modules/javascript.md +8 -0
- package/sites/course/images.json +24 -0
- package/sites/course/layouts/base.json +22 -0
- package/sites/course/package.json +15 -0
- package/sites/course/pages/about.md +44 -0
- package/sites/course/pages/curriculum.md +31 -0
- package/sites/course/pages/enroll.md +46 -0
- package/sites/course/pages/index.md +86 -0
- package/sites/course/project.json +102 -0
- package/sites/course/public/favicon.svg +5 -0
- package/sites/course/public/images/about.jpg +0 -0
- package/sites/course/public/images/hero.jpg +0 -0
- package/sites/course/public/images/instructor.jpg +0 -0
- package/sites/event/components/ev-agenda-tabs.json +542 -0
- package/sites/event/components/ev-cta.json +97 -0
- package/sites/event/components/ev-feature.json +58 -0
- package/sites/event/components/ev-footer.json +145 -0
- package/sites/event/components/ev-hero.json +196 -0
- package/sites/event/components/ev-nav.json +123 -0
- package/sites/event/components/ev-savedate.json +244 -0
- package/sites/event/components/ev-section-header.json +53 -0
- package/sites/event/components/ev-session-row.json +72 -0
- package/sites/event/components/ev-speaker-card.json +84 -0
- package/sites/event/components/ev-stat.json +42 -0
- package/sites/event/components/ev-ticket-card.json +196 -0
- package/sites/event/components/ev-venue.json +59 -0
- package/sites/event/content/sessions/01-opening-keynote.md +9 -0
- package/sites/event/content/sessions/02-designing-for-trust.md +9 -0
- package/sites/event/content/sessions/03-reactive-islands.md +9 -0
- package/sites/event/content/sessions/04-scaling-systems.md +9 -0
- package/sites/event/content/sessions/05-motion-and-meaning.md +9 -0
- package/sites/event/content/sessions/06-ship-it.md +9 -0
- package/sites/event/images.json +42 -0
- package/sites/event/layouts/base.json +22 -0
- package/sites/event/package.json +15 -0
- package/sites/event/pages/index.md +65 -0
- package/sites/event/pages/schedule.md +89 -0
- package/sites/event/pages/speakers.md +102 -0
- package/sites/event/pages/tickets.md +33 -0
- package/sites/event/project.json +103 -0
- package/sites/event/public/favicon.svg +5 -0
- package/sites/event/public/images/hero.jpg +0 -0
- package/sites/event/public/images/speaker-1.jpg +0 -0
- package/sites/event/public/images/speaker-2.jpg +0 -0
- package/sites/event/public/images/speaker-3.jpg +0 -0
- package/sites/event/public/images/speaker-4.jpg +0 -0
- package/sites/event/public/images/venue.jpg +0 -0
- package/sites/fitness-studio/components/fs-class-card.json +112 -0
- package/sites/fitness-studio/components/fs-class-grid.json +36 -0
- package/sites/fitness-studio/components/fs-cta.json +62 -0
- package/sites/fitness-studio/components/fs-feature.json +42 -0
- package/sites/fitness-studio/components/fs-footer.json +145 -0
- package/sites/fitness-studio/components/fs-hero.json +128 -0
- package/sites/fitness-studio/components/fs-hours.json +90 -0
- package/sites/fitness-studio/components/fs-instructor-card.json +73 -0
- package/sites/fitness-studio/components/fs-intro.json +59 -0
- package/sites/fitness-studio/components/fs-nav.json +97 -0
- package/sites/fitness-studio/components/fs-pricing-card.json +223 -0
- package/sites/fitness-studio/components/fs-pricing-table.json +458 -0
- package/sites/fitness-studio/components/fs-review.json +54 -0
- package/sites/fitness-studio/components/fs-section-header.json +53 -0
- package/sites/fitness-studio/content/classes/hiit-circuit.md +10 -0
- package/sites/fitness-studio/content/classes/pilates-core.md +10 -0
- package/sites/fitness-studio/content/classes/power-yoga.md +10 -0
- package/sites/fitness-studio/content/classes/restorative-yoga.md +10 -0
- package/sites/fitness-studio/content/classes/strength-tone.md +10 -0
- package/sites/fitness-studio/content/classes/vinyasa-flow.md +10 -0
- package/sites/fitness-studio/images.json +48 -0
- package/sites/fitness-studio/layouts/base.json +22 -0
- package/sites/fitness-studio/package.json +15 -0
- package/sites/fitness-studio/pages/classes.md +37 -0
- package/sites/fitness-studio/pages/contact.md +53 -0
- package/sites/fitness-studio/pages/index.md +112 -0
- package/sites/fitness-studio/pages/pricing.md +41 -0
- package/sites/fitness-studio/project.json +104 -0
- package/sites/fitness-studio/public/favicon.svg +5 -0
- package/sites/fitness-studio/public/images/about.jpg +0 -0
- package/sites/fitness-studio/public/images/class-1.jpg +0 -0
- package/sites/fitness-studio/public/images/class-2.jpg +0 -0
- package/sites/fitness-studio/public/images/class-3.jpg +0 -0
- package/sites/fitness-studio/public/images/hero.jpg +0 -0
- package/sites/fitness-studio/public/images/instructor-1.jpg +0 -0
- package/sites/fitness-studio/public/images/instructor-2.jpg +0 -0
- package/sites/home-services/components/hs-cta.json +123 -0
- package/sites/home-services/components/hs-feature.json +43 -0
- package/sites/home-services/components/hs-footer.json +157 -0
- package/sites/home-services/components/hs-gallery.json +53 -0
- package/sites/home-services/components/hs-hero.json +128 -0
- package/sites/home-services/components/hs-intro.json +59 -0
- package/sites/home-services/components/hs-nav.json +113 -0
- package/sites/home-services/components/hs-reservation.json +146 -0
- package/sites/home-services/components/hs-review.json +54 -0
- package/sites/home-services/components/hs-section-header.json +53 -0
- package/sites/home-services/components/hs-service-card.json +79 -0
- package/sites/home-services/components/hs-step.json +53 -0
- package/sites/home-services/components/hs-trust-bar.json +108 -0
- package/sites/home-services/content/services/ac-installation.md +8 -0
- package/sites/home-services/content/services/ac-repair.md +8 -0
- package/sites/home-services/content/services/furnace-installation.md +8 -0
- package/sites/home-services/content/services/furnace-repair.md +8 -0
- package/sites/home-services/content/services/heat-pumps.md +8 -0
- package/sites/home-services/content/services/maintenance-plans.md +8 -0
- package/sites/home-services/images.json +42 -0
- package/sites/home-services/layouts/base.json +22 -0
- package/sites/home-services/package.json +15 -0
- package/sites/home-services/pages/about.md +40 -0
- package/sites/home-services/pages/contact.md +53 -0
- package/sites/home-services/pages/index.md +87 -0
- package/sites/home-services/pages/services.md +39 -0
- package/sites/home-services/project.json +103 -0
- package/sites/home-services/public/favicon.svg +7 -0
- package/sites/home-services/public/images/about.jpg +0 -0
- package/sites/home-services/public/images/cta-bg.jpg +0 -0
- package/sites/home-services/public/images/gallery-1.jpg +0 -0
- package/sites/home-services/public/images/gallery-2.jpg +0 -0
- package/sites/home-services/public/images/gallery-3.jpg +0 -0
- package/sites/home-services/public/images/hero.jpg +0 -0
- package/sites/nonprofit/components/np-contact-form.json +134 -0
- package/sites/nonprofit/components/np-contact-info.json +153 -0
- package/sites/nonprofit/components/np-cta.json +128 -0
- package/sites/nonprofit/components/np-donate-tier.json +89 -0
- package/sites/nonprofit/components/np-feature.json +53 -0
- package/sites/nonprofit/components/np-footer.json +187 -0
- package/sites/nonprofit/components/np-hero.json +132 -0
- package/sites/nonprofit/components/np-intro.json +59 -0
- package/sites/nonprofit/components/np-nav.json +137 -0
- package/sites/nonprofit/components/np-program-card.json +69 -0
- package/sites/nonprofit/components/np-section-header.json +53 -0
- package/sites/nonprofit/components/np-stat.json +48 -0
- package/sites/nonprofit/components/np-step.json +55 -0
- package/sites/nonprofit/components/np-team-member.json +67 -0
- package/sites/nonprofit/components/np-testimonial.json +54 -0
- package/sites/nonprofit/content/programs/community-garden.md +8 -0
- package/sites/nonprofit/content/programs/food-pantry.md +8 -0
- package/sites/nonprofit/content/programs/housing-support.md +8 -0
- package/sites/nonprofit/content/programs/job-training.md +8 -0
- package/sites/nonprofit/content/programs/youth-mentoring.md +8 -0
- package/sites/nonprofit/images.json +54 -0
- package/sites/nonprofit/layouts/base.json +22 -0
- package/sites/nonprofit/package.json +15 -0
- package/sites/nonprofit/pages/about.md +54 -0
- package/sites/nonprofit/pages/contact.md +17 -0
- package/sites/nonprofit/pages/get-involved.md +63 -0
- package/sites/nonprofit/pages/index.md +87 -0
- package/sites/nonprofit/pages/programs.md +39 -0
- package/sites/nonprofit/project.json +103 -0
- package/sites/nonprofit/public/favicon.svg +5 -0
- package/sites/nonprofit/public/images/about.jpg +0 -0
- package/sites/nonprofit/public/images/cta-bg.jpg +0 -0
- package/sites/nonprofit/public/images/hero.jpg +0 -0
- package/sites/nonprofit/public/images/program-1.jpg +0 -0
- package/sites/nonprofit/public/images/program-2.jpg +0 -0
- package/sites/nonprofit/public/images/program-3.jpg +0 -0
- package/sites/nonprofit/public/images/program-4.jpg +0 -0
- package/sites/nonprofit/public/images/program-5.jpg +0 -0
- package/sites/portfolio/components/pv-about-split.json +59 -0
- package/sites/portfolio/components/pv-category-pill.json +24 -0
- package/sites/portfolio/components/pv-contact-form.json +137 -0
- package/sites/portfolio/components/pv-cta.json +64 -0
- package/sites/portfolio/components/pv-feature.json +48 -0
- package/sites/portfolio/components/pv-footer.json +145 -0
- package/sites/portfolio/components/pv-gallery.json +50 -0
- package/sites/portfolio/components/pv-hero.json +132 -0
- package/sites/portfolio/components/pv-nav.json +106 -0
- package/sites/portfolio/components/pv-project-card.json +103 -0
- package/sites/portfolio/components/pv-project-grid.json +22 -0
- package/sites/portfolio/components/pv-section-header.json +53 -0
- package/sites/portfolio/content/projects/architecture.md +12 -0
- package/sites/portfolio/content/projects/editorial.md +12 -0
- package/sites/portfolio/content/projects/food.md +12 -0
- package/sites/portfolio/content/projects/portraits.md +12 -0
- package/sites/portfolio/content/projects/travel.md +12 -0
- package/sites/portfolio/content/projects/weddings.md +12 -0
- package/sites/portfolio/images.json +54 -0
- package/sites/portfolio/layouts/base.json +22 -0
- package/sites/portfolio/package.json +15 -0
- package/sites/portfolio/pages/[slug].json +260 -0
- package/sites/portfolio/pages/about.md +40 -0
- package/sites/portfolio/pages/contact.md +42 -0
- package/sites/portfolio/pages/index.md +45 -0
- package/sites/portfolio/pages/work.md +39 -0
- package/sites/portfolio/project.json +105 -0
- package/sites/portfolio/public/favicon.svg +7 -0
- package/sites/portfolio/public/images/about.jpg +0 -0
- package/sites/portfolio/public/images/hero.jpg +0 -0
- package/sites/portfolio/public/images/project-1.jpg +0 -0
- package/sites/portfolio/public/images/project-2.jpg +0 -0
- package/sites/portfolio/public/images/project-3.jpg +0 -0
- package/sites/portfolio/public/images/project-4.jpg +0 -0
- package/sites/portfolio/public/images/project-5.jpg +0 -0
- package/sites/portfolio/public/images/project-6.jpg +0 -0
- package/sites/professional-firm/components/pf-article-header.json +79 -0
- package/sites/professional-firm/components/pf-contact-form.json +138 -0
- package/sites/professional-firm/components/pf-cta.json +62 -0
- package/sites/professional-firm/components/pf-feature.json +55 -0
- package/sites/professional-firm/components/pf-footer.json +172 -0
- package/sites/professional-firm/components/pf-hero.json +128 -0
- package/sites/professional-firm/components/pf-insight-card.json +99 -0
- package/sites/professional-firm/components/pf-intro.json +59 -0
- package/sites/professional-firm/components/pf-logo-bar.json +112 -0
- package/sites/professional-firm/components/pf-nav.json +110 -0
- package/sites/professional-firm/components/pf-section-header.json +53 -0
- package/sites/professional-firm/components/pf-service-card.json +77 -0
- package/sites/professional-firm/components/pf-stat.json +37 -0
- package/sites/professional-firm/components/pf-team-member.json +70 -0
- package/sites/professional-firm/content/insights/cash-flow-forecasting.md +15 -0
- package/sites/professional-firm/content/insights/choosing-business-entity.md +15 -0
- package/sites/professional-firm/content/insights/r-and-d-tax-credits.md +15 -0
- package/sites/professional-firm/content/insights/when-to-hire-cfo.md +15 -0
- package/sites/professional-firm/content/insights/year-end-tax-moves.md +15 -0
- package/sites/professional-firm/images.json +48 -0
- package/sites/professional-firm/layouts/article.json +48 -0
- package/sites/professional-firm/layouts/base.json +22 -0
- package/sites/professional-firm/package.json +15 -0
- package/sites/professional-firm/pages/contact.md +36 -0
- package/sites/professional-firm/pages/index.md +81 -0
- package/sites/professional-firm/pages/insights/[slug].json +118 -0
- package/sites/professional-firm/pages/insights.md +29 -0
- package/sites/professional-firm/pages/services.md +39 -0
- package/sites/professional-firm/pages/team.md +33 -0
- package/sites/professional-firm/project.json +104 -0
- package/sites/professional-firm/public/favicon.svg +5 -0
- package/sites/professional-firm/public/images/about.jpg +0 -0
- package/sites/professional-firm/public/images/hero.jpg +0 -0
- package/sites/professional-firm/public/images/insight-cover.jpg +0 -0
- package/sites/professional-firm/public/images/team-1.jpg +0 -0
- package/sites/professional-firm/public/images/team-2.jpg +0 -0
- package/sites/professional-firm/public/images/team-3.jpg +0 -0
- package/sites/professional-firm/public/images/team-4.jpg +0 -0
- package/sites/real-estate/components/re-agent-card.json +66 -0
- package/sites/real-estate/components/re-contact-form.json +132 -0
- package/sites/real-estate/components/re-cta.json +63 -0
- package/sites/real-estate/components/re-detail-row.json +26 -0
- package/sites/real-estate/components/re-feature.json +53 -0
- package/sites/real-estate/components/re-footer.json +151 -0
- package/sites/real-estate/components/re-hero.json +183 -0
- package/sites/real-estate/components/re-intro.json +59 -0
- package/sites/real-estate/components/re-listing-card.json +126 -0
- package/sites/real-estate/components/re-listings-filter.json +337 -0
- package/sites/real-estate/components/re-nav.json +117 -0
- package/sites/real-estate/components/re-section-header.json +53 -0
- package/sites/real-estate/components/re-stat.json +36 -0
- package/sites/real-estate/components/re-step.json +55 -0
- package/sites/real-estate/components/re-testimonial.json +54 -0
- package/sites/real-estate/content/listings.csv +7 -0
- package/sites/real-estate/images.json +84 -0
- package/sites/real-estate/layouts/base.json +22 -0
- package/sites/real-estate/package.json +15 -0
- package/sites/real-estate/pages/[slug].json +327 -0
- package/sites/real-estate/pages/about.md +42 -0
- package/sites/real-estate/pages/contact.md +54 -0
- package/sites/real-estate/pages/index.md +77 -0
- package/sites/real-estate/pages/listings.md +13 -0
- package/sites/real-estate/project.json +109 -0
- package/sites/real-estate/public/favicon.svg +5 -0
- package/sites/real-estate/public/images/about.jpg +0 -0
- package/sites/real-estate/public/images/agent-1.jpg +0 -0
- package/sites/real-estate/public/images/agent-2.jpg +0 -0
- package/sites/real-estate/public/images/agent-3.jpg +0 -0
- package/sites/real-estate/public/images/hero.jpg +0 -0
- package/sites/real-estate/public/images/interior-1.jpg +0 -0
- package/sites/real-estate/public/images/interior-2.jpg +0 -0
- package/sites/real-estate/public/images/listing-1.jpg +0 -0
- package/sites/real-estate/public/images/listing-2.jpg +0 -0
- package/sites/real-estate/public/images/listing-3.jpg +0 -0
- package/sites/real-estate/public/images/listing-4.jpg +0 -0
- package/sites/real-estate/public/images/listing-5.jpg +0 -0
- package/sites/real-estate/public/images/listing-6.jpg +0 -0
- package/sites/restaurant/components/bit-cta.json +62 -0
- package/sites/restaurant/components/bit-feature.json +42 -0
- package/sites/restaurant/components/bit-footer.json +145 -0
- package/sites/restaurant/components/bit-gallery.json +65 -0
- package/sites/restaurant/components/bit-hero.json +128 -0
- package/sites/restaurant/components/bit-hours.json +90 -0
- package/sites/restaurant/components/bit-intro.json +59 -0
- package/sites/restaurant/components/bit-menu-group.json +29 -0
- package/sites/restaurant/components/bit-menu-item.json +57 -0
- package/sites/restaurant/components/bit-nav.json +97 -0
- package/sites/restaurant/components/bit-reservation.json +134 -0
- package/sites/restaurant/components/bit-review.json +54 -0
- package/sites/restaurant/components/bit-section-header.json +53 -0
- package/sites/restaurant/content/menu/bruschetta.md +9 -0
- package/sites/restaurant/content/menu/cappuccino.md +9 -0
- package/sites/restaurant/content/menu/chocolate-tart.md +9 -0
- package/sites/restaurant/content/menu/house-coffee.md +9 -0
- package/sites/restaurant/content/menu/mushroom-tagliatelle.md +9 -0
- package/sites/restaurant/content/menu/roast-chicken.md +9 -0
- package/sites/restaurant/content/menu/seared-salmon.md +9 -0
- package/sites/restaurant/content/menu/squash-soup.md +9 -0
- package/sites/restaurant/content/menu/tiramisu.md +9 -0
- package/sites/restaurant/images.json +66 -0
- package/sites/restaurant/layouts/base.json +22 -0
- package/sites/restaurant/package.json +15 -0
- package/sites/restaurant/pages/about.md +30 -0
- package/sites/restaurant/pages/contact.md +28 -0
- package/sites/restaurant/pages/index.md +63 -0
- package/sites/restaurant/pages/menu.md +80 -0
- package/sites/restaurant/project.json +105 -0
- package/sites/restaurant/public/favicon.svg +7 -0
- package/sites/restaurant/public/images/about.jpg +0 -0
- package/sites/restaurant/public/images/dish-desserts.jpg +0 -0
- package/sites/restaurant/public/images/dish-mains.jpg +0 -0
- package/sites/restaurant/public/images/dish-starters.jpg +0 -0
- package/sites/restaurant/public/images/gallery-1.jpg +0 -0
- package/sites/restaurant/public/images/gallery-2.jpg +0 -0
- package/sites/restaurant/public/images/gallery-3.jpg +0 -0
- package/sites/restaurant/public/images/gallery-4.jpg +0 -0
- package/sites/restaurant/public/images/hero.jpg +0 -0
- package/sites/restaurant/public/images/intro.jpg +0 -0
- package/sites/saas/components/sa-check-item.json +40 -0
- package/sites/saas/components/sa-contact-form.json +153 -0
- package/sites/saas/components/sa-cta.json +102 -0
- package/sites/saas/components/sa-faq.json +413 -0
- package/sites/saas/components/sa-feature-card.json +59 -0
- package/sites/saas/components/sa-feature-split.json +60 -0
- package/sites/saas/components/sa-footer.json +145 -0
- package/sites/saas/components/sa-hero.json +160 -0
- package/sites/saas/components/sa-logo-cloud.json +119 -0
- package/sites/saas/components/sa-nav.json +130 -0
- package/sites/saas/components/sa-pricing.json +427 -0
- package/sites/saas/components/sa-section-header.json +55 -0
- package/sites/saas/components/sa-stat.json +40 -0
- package/sites/saas/components/sa-testimonial-card.json +57 -0
- package/sites/saas/content/testimonials/marcus-bell.md +8 -0
- package/sites/saas/content/testimonials/nadia-okafor.md +8 -0
- package/sites/saas/content/testimonials/priya-raman.md +8 -0
- package/sites/saas/content/testimonials/theo-lindqvist.md +8 -0
- package/sites/saas/images.json +30 -0
- package/sites/saas/layouts/base.json +22 -0
- package/sites/saas/package.json +15 -0
- package/sites/saas/pages/contact.md +39 -0
- package/sites/saas/pages/features.md +87 -0
- package/sites/saas/pages/index.md +122 -0
- package/sites/saas/pages/pricing.md +39 -0
- package/sites/saas/project.json +134 -0
- package/sites/saas/public/favicon.svg +5 -0
- package/sites/saas/public/images/feature-1.jpg +0 -0
- package/sites/saas/public/images/feature-2.jpg +0 -0
- package/sites/saas/public/images/feature-3.jpg +0 -0
- package/sites/saas/public/images/hero.jpg +0 -0
- package/sites/shop/components/shp-badge.json +18 -0
- package/sites/shop/components/shp-contact-form.json +156 -0
- package/sites/shop/components/shp-cta.json +63 -0
- package/sites/shop/components/shp-feature.json +55 -0
- package/sites/shop/components/shp-footer.json +145 -0
- package/sites/shop/components/shp-hero.json +128 -0
- package/sites/shop/components/shp-intro.json +59 -0
- package/sites/shop/components/shp-nav.json +104 -0
- package/sites/shop/components/shp-product-card.json +131 -0
- package/sites/shop/components/shp-product-filter.json +184 -0
- package/sites/shop/components/shp-review.json +54 -0
- package/sites/shop/components/shp-section-header.json +53 -0
- package/sites/shop/components/shp-service.json +83 -0
- package/sites/shop/components/shp-stat.json +37 -0
- package/sites/shop/components/shp-visit-info.json +132 -0
- package/sites/shop/content/product/aero-road-helmet.md +10 -0
- package/sites/shop/content/product/apex-carbon-road.md +10 -0
- package/sites/shop/content/product/backroad-gravel-adv.md +10 -0
- package/sites/shop/content/product/boulder-enduro.md +10 -0
- package/sites/shop/content/product/rambler-kids-20.md +10 -0
- package/sites/shop/content/product/summit-trail-29er.md +10 -0
- package/sites/shop/content/product/trailhead-pannier-set.md +10 -0
- package/sites/shop/content/product/velocity-alloy-road.md +10 -0
- package/sites/shop/images.json +54 -0
- package/sites/shop/layouts/base.json +22 -0
- package/sites/shop/package.json +15 -0
- package/sites/shop/pages/about.md +42 -0
- package/sites/shop/pages/contact.md +15 -0
- package/sites/shop/pages/index.md +82 -0
- package/sites/shop/pages/products/[sku].json +191 -0
- package/sites/shop/pages/products.md +29 -0
- package/sites/shop/project.json +105 -0
- package/sites/shop/public/favicon.svg +6 -0
- package/sites/shop/public/images/about.jpg +0 -0
- package/sites/shop/public/images/hero.jpg +0 -0
- package/sites/shop/public/images/product-1.jpg +0 -0
- package/sites/shop/public/images/product-2.jpg +0 -0
- package/sites/shop/public/images/product-3.jpg +0 -0
- package/sites/shop/public/images/product-4.jpg +0 -0
- package/sites/shop/public/images/product-5.jpg +0 -0
- package/sites/shop/public/images/product-6.jpg +0 -0
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
{
|
|
2
|
+
"tagName": "np-program-card",
|
|
3
|
+
"state": {
|
|
4
|
+
"title": "",
|
|
5
|
+
"summary": "",
|
|
6
|
+
"image": { "type": "string", "format": "image", "default": "" }
|
|
7
|
+
},
|
|
8
|
+
"style": {
|
|
9
|
+
"display": "flex",
|
|
10
|
+
"flexDirection": "column",
|
|
11
|
+
"backgroundColor": "var(--color-bg-white)",
|
|
12
|
+
"border": "1px solid var(--color-border)",
|
|
13
|
+
"borderRadius": "var(--radius)",
|
|
14
|
+
"overflow": "hidden",
|
|
15
|
+
"boxShadow": "0 4px 20px rgba(20,49,42,0.06)",
|
|
16
|
+
"transition": "transform 0.15s, box-shadow 0.15s",
|
|
17
|
+
":hover": {
|
|
18
|
+
"transform": "translateY(-3px)",
|
|
19
|
+
"boxShadow": "0 12px 32px rgba(20,49,42,0.12)"
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
"children": [
|
|
23
|
+
{
|
|
24
|
+
"tagName": "img",
|
|
25
|
+
"attributes": {
|
|
26
|
+
"src": "${state.image}",
|
|
27
|
+
"alt": "${state.title}",
|
|
28
|
+
"loading": "lazy"
|
|
29
|
+
},
|
|
30
|
+
"style": {
|
|
31
|
+
"width": "100%",
|
|
32
|
+
"aspectRatio": "16 / 10",
|
|
33
|
+
"objectFit": "cover",
|
|
34
|
+
"display": "block"
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"tagName": "div",
|
|
39
|
+
"style": {
|
|
40
|
+
"padding": "1.5rem",
|
|
41
|
+
"display": "flex",
|
|
42
|
+
"flexDirection": "column",
|
|
43
|
+
"flex": "1"
|
|
44
|
+
},
|
|
45
|
+
"children": [
|
|
46
|
+
{
|
|
47
|
+
"tagName": "h3",
|
|
48
|
+
"style": {
|
|
49
|
+
"fontFamily": "var(--font-heading)",
|
|
50
|
+
"fontSize": "1.3rem",
|
|
51
|
+
"fontWeight": "600",
|
|
52
|
+
"margin": "0 0 0.6rem"
|
|
53
|
+
},
|
|
54
|
+
"textContent": "${state.title}"
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"tagName": "p",
|
|
58
|
+
"style": {
|
|
59
|
+
"margin": "0",
|
|
60
|
+
"color": "var(--color-text-muted)",
|
|
61
|
+
"fontSize": "0.98rem",
|
|
62
|
+
"lineHeight": "1.65"
|
|
63
|
+
},
|
|
64
|
+
"textContent": "${state.summary}"
|
|
65
|
+
}
|
|
66
|
+
]
|
|
67
|
+
}
|
|
68
|
+
]
|
|
69
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
{
|
|
2
|
+
"tagName": "np-section-header",
|
|
3
|
+
"state": {
|
|
4
|
+
"eyebrow": "",
|
|
5
|
+
"heading": "",
|
|
6
|
+
"subheading": "",
|
|
7
|
+
"align": "center"
|
|
8
|
+
},
|
|
9
|
+
"style": {
|
|
10
|
+
"display": "block",
|
|
11
|
+
"maxWidth": "var(--max-width-narrow)",
|
|
12
|
+
"margin": "0 auto 2.5rem",
|
|
13
|
+
"textAlign": "${state.align}"
|
|
14
|
+
},
|
|
15
|
+
"children": [
|
|
16
|
+
{
|
|
17
|
+
"tagName": "p",
|
|
18
|
+
"style": {
|
|
19
|
+
"display": "${state.eyebrow ? 'block' : 'none'}",
|
|
20
|
+
"textTransform": "uppercase",
|
|
21
|
+
"letterSpacing": "0.16em",
|
|
22
|
+
"fontSize": "0.8rem",
|
|
23
|
+
"fontWeight": "600",
|
|
24
|
+
"color": "var(--color-primary)",
|
|
25
|
+
"margin": "0 0 0.75rem"
|
|
26
|
+
},
|
|
27
|
+
"textContent": "${state.eyebrow}"
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"tagName": "h2",
|
|
31
|
+
"style": {
|
|
32
|
+
"fontFamily": "var(--font-heading)",
|
|
33
|
+
"fontSize": "clamp(1.9rem, 4vw, 2.6rem)",
|
|
34
|
+
"fontWeight": "700",
|
|
35
|
+
"lineHeight": "1.15",
|
|
36
|
+
"letterSpacing": "-0.02em",
|
|
37
|
+
"margin": "0"
|
|
38
|
+
},
|
|
39
|
+
"textContent": "${state.heading}"
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"tagName": "p",
|
|
43
|
+
"style": {
|
|
44
|
+
"display": "${state.subheading ? 'block' : 'none'}",
|
|
45
|
+
"fontSize": "1.1rem",
|
|
46
|
+
"lineHeight": "1.7",
|
|
47
|
+
"color": "var(--color-text-muted)",
|
|
48
|
+
"margin": "1rem 0 0"
|
|
49
|
+
},
|
|
50
|
+
"textContent": "${state.subheading}"
|
|
51
|
+
}
|
|
52
|
+
]
|
|
53
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
{
|
|
2
|
+
"tagName": "np-stat",
|
|
3
|
+
"state": {
|
|
4
|
+
"number": "",
|
|
5
|
+
"label": "",
|
|
6
|
+
"note": ""
|
|
7
|
+
},
|
|
8
|
+
"style": {
|
|
9
|
+
"display": "block",
|
|
10
|
+
"textAlign": "center",
|
|
11
|
+
"padding": "0.5rem"
|
|
12
|
+
},
|
|
13
|
+
"children": [
|
|
14
|
+
{
|
|
15
|
+
"tagName": "div",
|
|
16
|
+
"style": {
|
|
17
|
+
"fontFamily": "var(--font-heading)",
|
|
18
|
+
"fontSize": "clamp(2.5rem, 6vw, 3.75rem)",
|
|
19
|
+
"fontWeight": "700",
|
|
20
|
+
"lineHeight": "1",
|
|
21
|
+
"color": "var(--color-accent)",
|
|
22
|
+
"letterSpacing": "-0.02em"
|
|
23
|
+
},
|
|
24
|
+
"textContent": "${state.number}"
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"tagName": "div",
|
|
28
|
+
"style": {
|
|
29
|
+
"margin": "0.6rem 0 0",
|
|
30
|
+
"fontWeight": "600",
|
|
31
|
+
"fontSize": "1.05rem",
|
|
32
|
+
"color": "inherit"
|
|
33
|
+
},
|
|
34
|
+
"textContent": "${state.label}"
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"tagName": "p",
|
|
38
|
+
"style": {
|
|
39
|
+
"display": "${state.note ? 'block' : 'none'}",
|
|
40
|
+
"margin": "0.35rem 0 0",
|
|
41
|
+
"fontSize": "0.9rem",
|
|
42
|
+
"opacity": "0.75",
|
|
43
|
+
"lineHeight": "1.55"
|
|
44
|
+
},
|
|
45
|
+
"textContent": "${state.note}"
|
|
46
|
+
}
|
|
47
|
+
]
|
|
48
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
{
|
|
2
|
+
"tagName": "np-step",
|
|
3
|
+
"state": {
|
|
4
|
+
"num": "",
|
|
5
|
+
"title": "",
|
|
6
|
+
"text": ""
|
|
7
|
+
},
|
|
8
|
+
"style": {
|
|
9
|
+
"display": "block",
|
|
10
|
+
"padding": "1.75rem",
|
|
11
|
+
"backgroundColor": "var(--color-bg-white)",
|
|
12
|
+
"border": "1px solid var(--color-border)",
|
|
13
|
+
"borderRadius": "var(--radius)"
|
|
14
|
+
},
|
|
15
|
+
"children": [
|
|
16
|
+
{
|
|
17
|
+
"tagName": "div",
|
|
18
|
+
"style": {
|
|
19
|
+
"display": "inline-flex",
|
|
20
|
+
"alignItems": "center",
|
|
21
|
+
"justifyContent": "center",
|
|
22
|
+
"width": "2.75rem",
|
|
23
|
+
"height": "2.75rem",
|
|
24
|
+
"borderRadius": "999px",
|
|
25
|
+
"backgroundColor": "var(--color-primary)",
|
|
26
|
+
"color": "var(--color-text-white)",
|
|
27
|
+
"fontFamily": "var(--font-heading)",
|
|
28
|
+
"fontWeight": "700",
|
|
29
|
+
"fontSize": "1.25rem",
|
|
30
|
+
"marginBottom": "1rem"
|
|
31
|
+
},
|
|
32
|
+
"textContent": "${state.num}"
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"tagName": "h3",
|
|
36
|
+
"style": {
|
|
37
|
+
"fontFamily": "var(--font-heading)",
|
|
38
|
+
"fontSize": "1.2rem",
|
|
39
|
+
"fontWeight": "600",
|
|
40
|
+
"margin": "0 0 0.5rem"
|
|
41
|
+
},
|
|
42
|
+
"textContent": "${state.title}"
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"tagName": "p",
|
|
46
|
+
"style": {
|
|
47
|
+
"margin": "0",
|
|
48
|
+
"color": "var(--color-text-muted)",
|
|
49
|
+
"fontSize": "0.98rem",
|
|
50
|
+
"lineHeight": "1.65"
|
|
51
|
+
},
|
|
52
|
+
"textContent": "${state.text}"
|
|
53
|
+
}
|
|
54
|
+
]
|
|
55
|
+
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
{
|
|
2
|
+
"tagName": "np-team-member",
|
|
3
|
+
"state": {
|
|
4
|
+
"initials": "",
|
|
5
|
+
"name": "",
|
|
6
|
+
"role": "",
|
|
7
|
+
"bio": ""
|
|
8
|
+
},
|
|
9
|
+
"style": {
|
|
10
|
+
"display": "block",
|
|
11
|
+
"padding": "1.75rem",
|
|
12
|
+
"backgroundColor": "var(--color-bg-cream)",
|
|
13
|
+
"border": "1px solid var(--color-border)",
|
|
14
|
+
"borderRadius": "var(--radius)",
|
|
15
|
+
"textAlign": "center"
|
|
16
|
+
},
|
|
17
|
+
"children": [
|
|
18
|
+
{
|
|
19
|
+
"tagName": "div",
|
|
20
|
+
"style": {
|
|
21
|
+
"width": "4.5rem",
|
|
22
|
+
"height": "4.5rem",
|
|
23
|
+
"margin": "0 auto 1rem",
|
|
24
|
+
"borderRadius": "999px",
|
|
25
|
+
"backgroundColor": "var(--color-primary)",
|
|
26
|
+
"color": "var(--color-text-white)",
|
|
27
|
+
"display": "flex",
|
|
28
|
+
"alignItems": "center",
|
|
29
|
+
"justifyContent": "center",
|
|
30
|
+
"fontFamily": "var(--font-heading)",
|
|
31
|
+
"fontWeight": "700",
|
|
32
|
+
"fontSize": "1.4rem"
|
|
33
|
+
},
|
|
34
|
+
"textContent": "${state.initials}"
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"tagName": "h3",
|
|
38
|
+
"style": {
|
|
39
|
+
"fontFamily": "var(--font-heading)",
|
|
40
|
+
"fontSize": "1.2rem",
|
|
41
|
+
"fontWeight": "600",
|
|
42
|
+
"margin": "0 0 0.2rem"
|
|
43
|
+
},
|
|
44
|
+
"textContent": "${state.name}"
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"tagName": "p",
|
|
48
|
+
"style": {
|
|
49
|
+
"margin": "0 0 0.75rem",
|
|
50
|
+
"color": "var(--color-primary)",
|
|
51
|
+
"fontWeight": "600",
|
|
52
|
+
"fontSize": "0.9rem"
|
|
53
|
+
},
|
|
54
|
+
"textContent": "${state.role}"
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"tagName": "p",
|
|
58
|
+
"style": {
|
|
59
|
+
"margin": "0",
|
|
60
|
+
"color": "var(--color-text-muted)",
|
|
61
|
+
"fontSize": "0.95rem",
|
|
62
|
+
"lineHeight": "1.6"
|
|
63
|
+
},
|
|
64
|
+
"textContent": "${state.bio}"
|
|
65
|
+
}
|
|
66
|
+
]
|
|
67
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
{
|
|
2
|
+
"tagName": "np-testimonial",
|
|
3
|
+
"state": {
|
|
4
|
+
"quote": "",
|
|
5
|
+
"author": "",
|
|
6
|
+
"role": ""
|
|
7
|
+
},
|
|
8
|
+
"style": {
|
|
9
|
+
"display": "block",
|
|
10
|
+
"padding": "2rem",
|
|
11
|
+
"backgroundColor": "var(--color-bg-cream)",
|
|
12
|
+
"border": "1px solid var(--color-border)",
|
|
13
|
+
"borderRadius": "var(--radius)"
|
|
14
|
+
},
|
|
15
|
+
"children": [
|
|
16
|
+
{
|
|
17
|
+
"tagName": "div",
|
|
18
|
+
"style": {
|
|
19
|
+
"fontFamily": "var(--font-heading)",
|
|
20
|
+
"fontSize": "2.5rem",
|
|
21
|
+
"lineHeight": "1",
|
|
22
|
+
"color": "var(--color-primary)",
|
|
23
|
+
"marginBottom": "0.5rem"
|
|
24
|
+
},
|
|
25
|
+
"textContent": "โ"
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"tagName": "p",
|
|
29
|
+
"style": {
|
|
30
|
+
"fontFamily": "var(--font-heading)",
|
|
31
|
+
"fontSize": "1.2rem",
|
|
32
|
+
"lineHeight": "1.6",
|
|
33
|
+
"fontWeight": "500",
|
|
34
|
+
"margin": "0 0 1.25rem"
|
|
35
|
+
},
|
|
36
|
+
"textContent": "${state.quote}"
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"tagName": "div",
|
|
40
|
+
"children": [
|
|
41
|
+
{
|
|
42
|
+
"tagName": "div",
|
|
43
|
+
"style": { "fontWeight": "600" },
|
|
44
|
+
"textContent": "${state.author}"
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"tagName": "div",
|
|
48
|
+
"style": { "fontSize": "0.9rem", "color": "var(--color-text-muted)" },
|
|
49
|
+
"textContent": "${state.role}"
|
|
50
|
+
}
|
|
51
|
+
]
|
|
52
|
+
}
|
|
53
|
+
]
|
|
54
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Community Garden
|
|
3
|
+
summary: Shared plots, gardening classes, and a harvest that feeds neighbors while bringing the whole block together.
|
|
4
|
+
image: /images/program-3.jpg
|
|
5
|
+
order: 5
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
The Rivertown Community Garden turns three vacant lots into rows of vegetables, herbs, and flowers tended by neighbors of every age. Families grow their own food, kids learn where it comes from, and a share of every harvest goes straight to the food pantry. It is part classroom, part kitchen, and part town square.
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Riverside Food Pantry
|
|
3
|
+
summary: Free, dignified groceries and fresh produce for any neighbor who needs them โ no questions asked, open six days a week.
|
|
4
|
+
image: /images/program-1.jpg
|
|
5
|
+
order: 1
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
The Riverside Food Pantry keeps shelves stocked with fresh produce, pantry staples, and household basics for anyone in Rivertown facing food insecurity. Volunteers pack boxes each morning and welcome more than 400 families a week โ with a choice-based market that lets neighbors pick what their household actually needs.
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Housing Support
|
|
3
|
+
summary: Emergency rental assistance, housing navigation, and a path to stable homes for families on the edge of eviction.
|
|
4
|
+
image: /images/program-4.jpg
|
|
5
|
+
order: 3
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
Housing is the foundation for everything else. Our Housing Support team offers emergency rental and utility assistance, one-on-one housing navigation, and connections to landlords who partner with us. Last year we helped 180 households stay in their homes and guided dozens more into permanent, affordable housing.
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Job Training & Careers
|
|
3
|
+
summary: Hands-on workshops, rรฉsumรฉ coaching, and employer partnerships that open doors to living-wage careers.
|
|
4
|
+
image: /images/program-5.jpg
|
|
5
|
+
order: 4
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
Our Job Training program helps adults build the skills and confidence to land steady, living-wage work. Free workshops cover rรฉsumรฉs, interviewing, digital skills, and the trades, while our employer partners offer paid apprenticeships and direct hiring pipelines. Coaches stay with each participant from first class to first paycheck.
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Youth Mentoring
|
|
3
|
+
summary: One-to-one mentors and after-school programs that help young people in our community learn, belong, and dream bigger.
|
|
4
|
+
image: /images/program-2.jpg
|
|
5
|
+
order: 2
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
Every young person deserves someone in their corner. Our Youth Mentoring program pairs trained volunteer mentors with students ages 8โ17 for weekly sessions of homework help, life skills, and encouragement. After-school clubs add art, coding, and sports โ a safe place to grow long after the final bell.
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
{
|
|
2
|
+
"site": "nonprofit",
|
|
3
|
+
"thumbnail": "hero",
|
|
4
|
+
"images": [
|
|
5
|
+
{
|
|
6
|
+
"role": "hero",
|
|
7
|
+
"query": "community volunteers helping",
|
|
8
|
+
"orientation": "landscape",
|
|
9
|
+
"photoId": 6647015
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
"role": "about",
|
|
13
|
+
"query": "volunteers group community",
|
|
14
|
+
"orientation": "landscape",
|
|
15
|
+
"photoId": 6647025
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"role": "program-1",
|
|
19
|
+
"query": "food bank donation",
|
|
20
|
+
"orientation": "landscape",
|
|
21
|
+
"photoId": 7156158
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"role": "program-2",
|
|
25
|
+
"query": "youth mentoring education",
|
|
26
|
+
"orientation": "landscape",
|
|
27
|
+
"photoId": 7692637
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"role": "program-3",
|
|
31
|
+
"query": "community garden volunteers",
|
|
32
|
+
"orientation": "landscape",
|
|
33
|
+
"photoId": 26614518
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"role": "program-4",
|
|
37
|
+
"query": "family home keys housing support",
|
|
38
|
+
"orientation": "landscape",
|
|
39
|
+
"photoId": 7766930
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"role": "program-5",
|
|
43
|
+
"query": "job training workshop adults",
|
|
44
|
+
"orientation": "landscape",
|
|
45
|
+
"photoId": 29521026
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"role": "cta-bg",
|
|
49
|
+
"query": "hands helping community",
|
|
50
|
+
"orientation": "landscape",
|
|
51
|
+
"photoId": 7345444
|
|
52
|
+
}
|
|
53
|
+
]
|
|
54
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"tagName": "div",
|
|
3
|
+
"$elements": [
|
|
4
|
+
{ "$ref": "../components/np-nav.json" },
|
|
5
|
+
{ "$ref": "../components/np-footer.json" }
|
|
6
|
+
],
|
|
7
|
+
"style": {
|
|
8
|
+
"minHeight": "100vh",
|
|
9
|
+
"display": "flex",
|
|
10
|
+
"flexDirection": "column",
|
|
11
|
+
"backgroundColor": "var(--color-bg-white)"
|
|
12
|
+
},
|
|
13
|
+
"children": [
|
|
14
|
+
{ "tagName": "np-nav" },
|
|
15
|
+
{
|
|
16
|
+
"tagName": "main",
|
|
17
|
+
"style": { "flex": "1" },
|
|
18
|
+
"children": [{ "tagName": "slot" }]
|
|
19
|
+
},
|
|
20
|
+
{ "tagName": "np-footer" }
|
|
21
|
+
]
|
|
22
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "rivertown-foundation",
|
|
3
|
+
"private": true,
|
|
4
|
+
"description": "A local community nonprofit running programs in food security, youth mentoring, housing, and job training.",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"type": "module",
|
|
7
|
+
"scripts": {
|
|
8
|
+
"build": "jx build",
|
|
9
|
+
"dev": "jx dev"
|
|
10
|
+
},
|
|
11
|
+
"devDependencies": {
|
|
12
|
+
"@jxsuite/compiler": "^0.19.0",
|
|
13
|
+
"@jxsuite/runtime": "^0.19.0"
|
|
14
|
+
}
|
|
15
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "About โ Rivertown Foundation"
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
:::::section{style.padding="clamp(3rem, 6vw, 4.5rem) 1.5rem" style.backgroundColor="var(--color-bg-cream)"}
|
|
6
|
+
::np-section-header{props.eyebrow="Our story" props.heading="Rooted in Rivertown since 2007" props.subheading="Started by a handful of neighbors with a food drive and a folding table โ now a year-round lifeline for thousands."}
|
|
7
|
+
:::::
|
|
8
|
+
|
|
9
|
+
:::np-intro{props.image="/images/about.jpg" props.imageAlt="Rivertown Foundation volunteers and staff together" props.reverse="true"}
|
|
10
|
+
|
|
11
|
+
### From a folding table to a movement
|
|
12
|
+
|
|
13
|
+
In the winter of 2007, a few Rivertown families noticed neighbors going without and decided to do something about it. What began as a single food drive in a church basement has grown into five programs serving thousands of people every year.
|
|
14
|
+
|
|
15
|
+
We're still powered by the same belief: that a community takes care of its own. Every program we run is shaped by the neighbors who use it and delivered by the volunteers who love this town.
|
|
16
|
+
:::
|
|
17
|
+
|
|
18
|
+
:::::section{style.padding="clamp(3.5rem, 8vw, 5rem) 1.5rem"}
|
|
19
|
+
::np-section-header{props.eyebrow="What guides us" props.heading="The values behind every decision"}
|
|
20
|
+
|
|
21
|
+
::::div{style.maxWidth="var(--max-width)" style.margin="0 auto" style.display="grid" style.gridTemplateColumns="repeat(3, 1fr)" style.gap="1.25rem" style.--md.gridTemplateColumns="1fr"}
|
|
22
|
+
::np-feature{props.icon="๐ค" props.title="Dignity first" props.text="Everyone is welcomed with respect and choice โ never judgment. Help should never cost your pride."}
|
|
23
|
+
|
|
24
|
+
::np-feature{props.icon="๐ฑ" props.title="Local & lasting" props.text="Every dollar stays in Rivertown, invested in solutions that outlast the moment of need."}
|
|
25
|
+
|
|
26
|
+
::np-feature{props.icon="๐" props.title="Open & accountable" props.text="We publish our numbers and welcome the questions. Trust is earned one honest report at a time."}
|
|
27
|
+
::::
|
|
28
|
+
:::::
|
|
29
|
+
|
|
30
|
+
:::::section{style.padding="clamp(1rem, 4vw, 2rem) 1.5rem clamp(3.5rem, 8vw, 5rem)" style.backgroundColor="var(--color-primary)" style.color="var(--color-text-white)"}
|
|
31
|
+
::::div{style.maxWidth="var(--max-width)" style.margin="0 auto" style.display="grid" style.gridTemplateColumns="repeat(4, 1fr)" style.gap="2rem" style.--md.gridTemplateColumns="repeat(2, 1fr)" style.paddingTop="clamp(2.5rem, 6vw, 3.5rem)"}
|
|
32
|
+
::np-stat{props.number="94ยข" props.label="Of every dollar to programs"}
|
|
33
|
+
|
|
34
|
+
::np-stat{props.number="640" props.label="Active volunteers"}
|
|
35
|
+
|
|
36
|
+
::np-stat{props.number="5" props.label="Community programs"}
|
|
37
|
+
|
|
38
|
+
::np-stat{props.number="1" props.label="Town we call home"}
|
|
39
|
+
::::
|
|
40
|
+
:::::
|
|
41
|
+
|
|
42
|
+
:::::section{style.padding="clamp(3.5rem, 8vw, 6rem) 1.5rem"}
|
|
43
|
+
::np-section-header{props.eyebrow="Our team" props.heading="The people behind the mission"}
|
|
44
|
+
|
|
45
|
+
::::div{style.maxWidth="var(--max-width)" style.margin="0 auto" style.display="grid" style.gridTemplateColumns="repeat(3, 1fr)" style.gap="1.5rem" style.--md.gridTemplateColumns="1fr"}
|
|
46
|
+
::np-team-member{props.initials="AT" props.name="Aisha Thompson" props.role="Executive Director" props.bio="A lifelong Rivertown resident who has led the Foundation for a decade, Aisha keeps neighbors at the center of every decision."}
|
|
47
|
+
|
|
48
|
+
::np-team-member{props.initials="MR" props.name="Marcus Reyes" props.role="Director of Programs" props.bio="Marcus builds the partnerships and pipelines that turn good intentions into food on tables and mentors in classrooms."}
|
|
49
|
+
|
|
50
|
+
::np-team-member{props.initials="LN" props.name="Linh Nguyen" props.role="Volunteer Coordinator" props.bio="Linh matches hundreds of volunteers to the work that fits them best, making sure every helping hand finds a home."}
|
|
51
|
+
::::
|
|
52
|
+
:::::
|
|
53
|
+
|
|
54
|
+
::np-cta{props.eyebrow="Join the story" props.heading="Be part of what happens next" props.text="Whether you give, volunteer, or partner with us, you become part of a community that refuses to leave anyone behind." props.cta="Donate Now" props.ctaHref="/get-involved/" props.cta2="Get Involved" props.cta2Href="/get-involved/" props.bg="/images/cta-bg.jpg"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "Contact โ Rivertown Foundation"
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
:::::section{style.padding="clamp(3rem, 6vw, 4.5rem) 1.5rem" style.backgroundColor="var(--color-bg-cream)"}
|
|
6
|
+
::np-section-header{props.eyebrow="Say hello" props.heading="Get in touch" props.subheading="Questions about a program, a donation, or volunteering? We'd love to hear from you."}
|
|
7
|
+
:::::
|
|
8
|
+
|
|
9
|
+
:::::section{style.maxWidth="var(--max-width)" style.margin="0 auto" style.padding="clamp(3rem, 6vw, 4.5rem) 1.5rem"}
|
|
10
|
+
::::div{style.display="grid" style.gridTemplateColumns="1.2fr 1fr" style.gap="clamp(2rem, 5vw, 3.5rem)" style.alignItems="start" style.--md.gridTemplateColumns="1fr"}
|
|
11
|
+
::np-contact-form{props.heading="Send us a message"}
|
|
12
|
+
|
|
13
|
+
::np-contact-info{}
|
|
14
|
+
::::
|
|
15
|
+
:::::
|
|
16
|
+
|
|
17
|
+
::np-cta{props.eyebrow="Can't wait to start?" props.heading="You don't need an appointment to help" props.text="Make a gift online today, or drop by during office hours โ we'll put your generosity to work right away." props.cta="Donate Now" props.ctaHref="/get-involved/"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "Get Involved โ Rivertown Foundation"
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
:::::section{style.padding="clamp(3rem, 6vw, 4.5rem) 1.5rem" style.backgroundColor="var(--color-bg-cream)"}
|
|
6
|
+
::np-section-header{props.eyebrow="Get involved" props.heading="There's a place for you here" props.subheading="Give, volunteer, fundraise, or partner โ however you show up, you're helping a neighbor down the street."}
|
|
7
|
+
:::::
|
|
8
|
+
|
|
9
|
+
:::::section{style.padding="clamp(3.5rem, 8vw, 5rem) 1.5rem"}
|
|
10
|
+
::np-section-header{props.eyebrow="Ways to help" props.heading="Four ways to make an impact"}
|
|
11
|
+
|
|
12
|
+
::::div{style.maxWidth="var(--max-width)" style.margin="0 auto" style.display="grid" style.gridTemplateColumns="repeat(4, 1fr)" style.gap="1.5rem" style.--md.gridTemplateColumns="1fr"}
|
|
13
|
+
::np-step{props.num="1" props.title="Give" props.text="One-time or monthly, your gift funds every program. A donor is matching all gifts this month."}
|
|
14
|
+
|
|
15
|
+
::np-step{props.num="2" props.title="Volunteer" props.text="Pack pantry boxes, mentor a student, tend the garden, or coach job seekers. Shifts fit any schedule."}
|
|
16
|
+
|
|
17
|
+
::np-step{props.num="3" props.title="Fundraise" props.text="Host a food drive, run a birthday fundraiser, or rally your workplace for a day of giving."}
|
|
18
|
+
|
|
19
|
+
::np-step{props.num="4" props.title="Partner" props.text="Businesses and faith groups: sponsor a program, hire a graduate, or open a hiring pipeline."}
|
|
20
|
+
::::
|
|
21
|
+
:::::
|
|
22
|
+
|
|
23
|
+
:::::section{style.padding="clamp(3rem, 8vw, 5rem) 1.5rem" style.backgroundColor="var(--color-bg-cream)"}
|
|
24
|
+
::np-section-header{props.eyebrow="Volunteer" props.heading="Give your time, change a life" props.subheading="No experience needed โ just a few hours and a willingness to help. Here's where hands are needed most."}
|
|
25
|
+
|
|
26
|
+
::::div{style.maxWidth="var(--max-width)" style.margin="0 auto" style.display="grid" style.gridTemplateColumns="repeat(3, 1fr)" style.gap="1.25rem" style.--md.gridTemplateColumns="1fr"}
|
|
27
|
+
::np-feature{props.icon="๐ฆ" props.title="Pantry crew" props.text="Sort donations, stock the choice market, and welcome families. Weekday mornings and Saturdays."}
|
|
28
|
+
|
|
29
|
+
::np-feature{props.icon="๐" props.title="Youth mentor" props.text="Meet weekly with a student for homework help and encouragement. Training and background check provided."}
|
|
30
|
+
|
|
31
|
+
::np-feature{props.icon="๐ท" props.title="Garden volunteer" props.text="Plant, weed, and harvest alongside neighbors. Great for families, groups, and first-timers."}
|
|
32
|
+
::::
|
|
33
|
+
|
|
34
|
+
::::div{style.textAlign="center" style.marginTop="2.5rem"}
|
|
35
|
+
:::a{href="/contact/" style.display="inline-block" style.backgroundColor="var(--color-primary)" style.color="var(--color-text-white)" style.padding="0.85rem 2rem" style.borderRadius="999px" style.fontWeight="600" style.textDecoration="none" style.fontSize="1.05rem"}
|
|
36
|
+
Sign up to volunteer โ
|
|
37
|
+
:::
|
|
38
|
+
::::
|
|
39
|
+
:::::
|
|
40
|
+
|
|
41
|
+
:::::section{id="donate" style.padding="clamp(3.5rem, 8vw, 6rem) 1.5rem"}
|
|
42
|
+
::np-section-header{props.eyebrow="Donate" props.heading="Choose your impact" props.subheading="Every gift stays in Rivertown and is matched dollar-for-dollar this month. Here's what your generosity makes possible."}
|
|
43
|
+
|
|
44
|
+
::::div{style.maxWidth="var(--max-width)" style.margin="0 auto" style.display="grid" style.gridTemplateColumns="repeat(3, 1fr)" style.gap="1.5rem" style.--md.gridTemplateColumns="1fr"}
|
|
45
|
+
::np-donate-tier{props.amount="$25" props.title="Fill a pantry box" props.text="Provides a week of fresh groceries for a family of four at the Riverside Food Pantry." props.cta="Give $25" props.ctaHref="/get-involved/"}
|
|
46
|
+
|
|
47
|
+
::np-donate-tier{props.amount="$60" props.title="Mentor a student" props.text="Covers a month of one-to-one mentoring, supplies, and after-school snacks for one young person." props.featured="true" props.cta="Give $60" props.ctaHref="/get-involved/"}
|
|
48
|
+
|
|
49
|
+
::np-donate-tier{props.amount="$120" props.title="Keep a family housed" props.text="Helps cover emergency rental assistance that keeps a household in their home during a crisis." props.cta="Give $120" props.ctaHref="/get-involved/"}
|
|
50
|
+
::::
|
|
51
|
+
|
|
52
|
+
:::div{style.maxWidth="var(--max-width-narrow)" style.margin="2.5rem auto 0" style.textAlign="center" style.color="var(--color-text-muted)" style.fontSize="0.95rem"}
|
|
53
|
+
Prefer to give monthly? Recurring gifts give us the steady footing to plan ahead. This is a demo โ connect your donation platform in `pages/get-involved.md`.
|
|
54
|
+
:::
|
|
55
|
+
:::::
|
|
56
|
+
|
|
57
|
+
:::::section{style.padding="clamp(1rem, 4vw, 2rem) 1.5rem clamp(3.5rem, 8vw, 5rem)" style.backgroundColor="var(--color-bg-cream)"}
|
|
58
|
+
::::div{style.maxWidth="var(--max-width-narrow)" style.margin="0 auto"}
|
|
59
|
+
::np-testimonial{props.quote="I started volunteering on Saturdays to fill some empty time. Two years later it's the best part of my week โ and I've watched kids I mentored head off to college." props.author="Ray D." props.role="Youth mentor since 2022"}
|
|
60
|
+
::::
|
|
61
|
+
:::::
|
|
62
|
+
|
|
63
|
+
::np-cta{props.eyebrow="Ready when you are" props.heading="Turn your generosity into groceries, mentors, and homes" props.text="Give today and a matching donor doubles your gift โ every dollar working twice as hard for Rivertown." props.cta="Donate Now" props.ctaHref="/get-involved/" props.cta2="Ask a Question" props.cta2Href="/contact/" props.bg="/images/cta-bg.jpg"}
|