@jxsuite/starters 0.34.0 → 0.35.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/package.json +5 -2
- package/registry.json +19 -19
- package/sites/blog/components/bl-author-bio.json +19 -15
- package/sites/blog/components/bl-cta.json +20 -14
- package/sites/blog/components/bl-footer.json +67 -90
- package/sites/blog/components/bl-masthead.json +96 -90
- package/sites/blog/components/bl-nav.json +23 -30
- package/sites/blog/components/bl-newsletter-cta.json +53 -39
- package/sites/blog/components/bl-post-card.json +70 -52
- package/sites/blog/components/bl-post-list.json +2 -9
- package/sites/blog/components/bl-prose.json +33 -18
- package/sites/blog/components/bl-section-header.json +46 -29
- package/sites/blog/components/bl-tag-pill.json +11 -8
- package/sites/blog/package.json +2 -2
- package/sites/blog/pages/index.md +26 -24
- package/sites/blog/project.json +19 -16
- package/sites/course/components/co-application.json +158 -103
- package/sites/course/components/co-cohort.json +172 -0
- package/sites/course/components/co-cta.json +70 -18
- package/sites/course/components/co-curriculum-accordion.json +12 -12
- package/sites/course/components/co-footer.json +83 -33
- package/sites/course/components/co-hero.json +385 -49
- package/sites/course/components/co-instructor-card.json +105 -22
- package/sites/course/components/co-mentor.json +65 -0
- package/sites/course/components/co-module-card.json +98 -53
- package/sites/course/components/co-nav.json +194 -69
- package/sites/course/components/co-outcome-card.json +41 -15
- package/sites/course/components/co-outcomes.json +248 -0
- package/sites/course/components/co-pricing.json +70 -25
- package/sites/course/components/co-section-header.json +36 -15
- package/sites/course/components/co-testimonial-card.json +70 -15
- package/sites/course/pages/about.md +10 -11
- package/sites/course/pages/curriculum.md +8 -4
- package/sites/course/pages/enroll.md +6 -7
- package/sites/course/pages/index.md +41 -29
- package/sites/course/project.json +64 -23
- package/sites/event/components/ev-agenda-tabs.json +526 -240
- package/sites/event/components/ev-cta.json +56 -27
- package/sites/event/components/ev-feature.json +14 -10
- package/sites/event/components/ev-footer.json +82 -30
- package/sites/event/components/ev-hero.json +307 -72
- package/sites/event/components/ev-nav.json +97 -34
- package/sites/event/components/ev-reason.json +64 -0
- package/sites/event/components/ev-savedate.json +160 -73
- package/sites/event/components/ev-section-header.json +30 -13
- package/sites/event/components/ev-session-row.json +96 -36
- package/sites/event/components/ev-speaker-card.json +63 -17
- package/sites/event/components/ev-sponsors.json +131 -0
- package/sites/event/components/ev-stat.json +17 -12
- package/sites/event/components/ev-ticket-card.json +58 -40
- package/sites/event/components/ev-venue.json +39 -12
- package/sites/event/layouts/base.json +1 -1
- package/sites/event/pages/index.md +38 -14
- package/sites/event/pages/schedule.md +19 -16
- package/sites/event/project.json +88 -26
- package/sites/fitness-studio/components/fs-band.json +149 -0
- package/sites/fitness-studio/components/fs-booking.json +147 -0
- package/sites/fitness-studio/components/fs-class-card.json +62 -31
- package/sites/fitness-studio/components/fs-cta.json +63 -19
- package/sites/fitness-studio/components/fs-feature.json +20 -6
- package/sites/fitness-studio/components/fs-footer.json +62 -29
- package/sites/fitness-studio/components/fs-hero.json +296 -49
- package/sites/fitness-studio/components/fs-hours.json +40 -21
- package/sites/fitness-studio/components/fs-instructor-card.json +94 -31
- package/sites/fitness-studio/components/fs-intro.json +258 -23
- package/sites/fitness-studio/components/fs-modality.json +171 -0
- package/sites/fitness-studio/components/fs-nav.json +55 -24
- package/sites/fitness-studio/components/fs-pricing-card.json +71 -51
- package/sites/fitness-studio/components/fs-review.json +52 -18
- package/sites/fitness-studio/components/fs-schedule.json +1165 -0
- package/sites/fitness-studio/components/fs-section-header.json +44 -20
- package/sites/fitness-studio/pages/classes.md +11 -5
- package/sites/fitness-studio/pages/contact.md +7 -29
- package/sites/fitness-studio/pages/index.md +29 -52
- package/sites/fitness-studio/pages/pricing.md +7 -7
- package/sites/fitness-studio/project.json +99 -26
- package/sites/home-services/components/hs-callbar.json +72 -0
- package/sites/home-services/components/hs-cta.json +121 -60
- package/sites/home-services/components/hs-feature.json +42 -23
- package/sites/home-services/components/hs-footer.json +108 -33
- package/sites/home-services/components/hs-gallery.json +66 -15
- package/sites/home-services/components/hs-hero.json +360 -42
- package/sites/home-services/components/hs-intro.json +70 -7
- package/sites/home-services/components/hs-nav.json +233 -68
- package/sites/home-services/components/hs-reservation.json +125 -46
- package/sites/home-services/components/hs-review.json +76 -16
- package/sites/home-services/components/hs-section-header.json +31 -14
- package/sites/home-services/components/hs-service-card.json +34 -24
- package/sites/home-services/components/hs-stat.json +54 -0
- package/sites/home-services/components/hs-step.json +40 -13
- package/sites/home-services/components/hs-trust-bar.json +188 -40
- package/sites/home-services/layouts/base.json +4 -2
- package/sites/home-services/pages/about.md +33 -2
- package/sites/home-services/pages/contact.md +23 -10
- package/sites/home-services/pages/index.md +33 -7
- package/sites/home-services/pages/services.md +34 -3
- package/sites/home-services/project.json +82 -22
- package/sites/nonprofit/components/np-contact-form.json +52 -24
- package/sites/nonprofit/components/np-contact-info.json +27 -21
- package/sites/nonprofit/components/np-cta.json +152 -77
- package/sites/nonprofit/components/np-donate-tier.json +59 -32
- package/sites/nonprofit/components/np-feature.json +13 -9
- package/sites/nonprofit/components/np-footer.json +106 -36
- package/sites/nonprofit/components/np-hero.json +274 -46
- package/sites/nonprofit/components/np-impact-band.json +108 -0
- package/sites/nonprofit/components/np-intro.json +126 -19
- package/sites/nonprofit/components/np-nav.json +161 -82
- package/sites/nonprofit/components/np-program-card.json +83 -23
- package/sites/nonprofit/components/np-section-header.json +40 -14
- package/sites/nonprofit/components/np-stat.json +36 -15
- package/sites/nonprofit/components/np-step.json +46 -17
- package/sites/nonprofit/components/np-team-member.json +26 -19
- package/sites/nonprofit/components/np-testimonial.json +144 -29
- package/sites/nonprofit/pages/about.md +17 -16
- package/sites/nonprofit/pages/contact.md +4 -4
- package/sites/nonprofit/pages/get-involved.md +23 -23
- package/sites/nonprofit/pages/index.md +29 -44
- package/sites/nonprofit/pages/programs.md +12 -14
- package/sites/nonprofit/project.json +74 -28
- package/sites/portfolio/components/pv-about-split.json +21 -9
- package/sites/portfolio/components/pv-category-pill.json +7 -6
- package/sites/portfolio/components/pv-contact-form.json +34 -45
- package/sites/portfolio/components/pv-cta.json +35 -19
- package/sites/portfolio/components/pv-footer.json +97 -75
- package/sites/portfolio/components/pv-hero.json +77 -70
- package/sites/portfolio/components/pv-nav.json +32 -38
- package/sites/portfolio/components/pv-project-card.json +118 -61
- package/sites/portfolio/components/pv-project-grid.json +24 -16
- package/sites/portfolio/components/pv-section-header.json +74 -37
- package/sites/portfolio/layouts/base.json +1 -1
- package/sites/portfolio/package.json +2 -2
- package/sites/portfolio/pages/[slug].json +1 -1
- package/sites/portfolio/pages/about.md +4 -3
- package/sites/portfolio/pages/contact.md +1 -1
- package/sites/portfolio/pages/index.md +18 -13
- package/sites/portfolio/pages/work.md +7 -7
- package/sites/portfolio/project.json +20 -16
- package/sites/professional-firm/components/pf-article-header.json +34 -20
- package/sites/professional-firm/components/pf-contact-form.json +57 -49
- package/sites/professional-firm/components/pf-contact-info.json +147 -0
- package/sites/professional-firm/components/pf-cta.json +42 -18
- package/sites/professional-firm/components/pf-feature.json +21 -24
- package/sites/professional-firm/components/pf-footer.json +107 -48
- package/sites/professional-firm/components/pf-hero.json +135 -89
- package/sites/professional-firm/components/pf-insight-row.json +144 -0
- package/sites/professional-firm/components/pf-intro.json +44 -10
- package/sites/professional-firm/components/pf-logo-bar.json +35 -34
- package/sites/professional-firm/components/pf-nav.json +67 -42
- package/sites/professional-firm/components/pf-section-header.json +46 -22
- package/sites/professional-firm/components/pf-service-row.json +104 -0
- package/sites/professional-firm/components/pf-statband.json +183 -0
- package/sites/professional-firm/components/pf-team-member.json +34 -29
- package/sites/professional-firm/content/insights/cash-flow-forecasting.md +1 -0
- package/sites/professional-firm/content/insights/choosing-business-entity.md +1 -0
- package/sites/professional-firm/content/insights/r-and-d-tax-credits.md +1 -0
- package/sites/professional-firm/content/insights/when-to-hire-cfo.md +1 -0
- package/sites/professional-firm/content/insights/year-end-tax-moves.md +1 -0
- package/sites/professional-firm/layouts/article.json +96 -14
- package/sites/professional-firm/layouts/base.json +1 -1
- package/sites/professional-firm/pages/contact.md +5 -26
- package/sites/professional-firm/pages/index.md +39 -45
- package/sites/professional-firm/pages/insights/[slug].json +44 -33
- package/sites/professional-firm/pages/insights.md +7 -11
- package/sites/professional-firm/pages/services.md +16 -16
- package/sites/professional-firm/pages/team.md +10 -10
- package/sites/professional-firm/project.json +74 -30
- package/sites/real-estate/components/re-agent-band.json +240 -0
- package/sites/real-estate/components/re-agent-card.json +51 -24
- package/sites/real-estate/components/re-contact-form.json +76 -27
- package/sites/real-estate/components/re-cta.json +91 -26
- package/sites/real-estate/components/re-feature.json +10 -6
- package/sites/real-estate/components/re-footer.json +186 -46
- package/sites/real-estate/components/re-hero.json +443 -90
- package/sites/real-estate/components/re-intro.json +6 -5
- package/sites/real-estate/components/re-listing-card.json +199 -39
- package/sites/real-estate/components/re-listings-filter.json +309 -192
- package/sites/real-estate/components/re-nav.json +138 -39
- package/sites/real-estate/components/re-neighborhood.json +135 -0
- package/sites/real-estate/components/re-section-header.json +33 -17
- package/sites/real-estate/components/re-stat.json +10 -9
- package/sites/real-estate/components/re-step.json +15 -12
- package/sites/real-estate/components/re-testimonial.json +53 -16
- package/sites/real-estate/content/listings.csv +7 -7
- package/sites/real-estate/pages/[slug].json +430 -128
- package/sites/real-estate/pages/about.md +18 -6
- package/sites/real-estate/pages/contact.md +14 -2
- package/sites/real-estate/pages/index.md +43 -26
- package/sites/real-estate/pages/listings.md +15 -3
- package/sites/real-estate/project.json +88 -30
- package/sites/real-estate/public/favicon.svg +7 -1
- package/sites/restaurant/components/bit-cta.json +92 -14
- package/sites/restaurant/components/bit-feature.json +36 -17
- package/sites/restaurant/components/bit-footer.json +80 -34
- package/sites/restaurant/components/bit-gallery.json +20 -11
- package/sites/restaurant/components/bit-hero.json +179 -54
- package/sites/restaurant/components/bit-hours.json +117 -24
- package/sites/restaurant/components/bit-intro.json +47 -10
- package/sites/restaurant/components/bit-menu-group.json +55 -10
- package/sites/restaurant/components/bit-menu-item.json +27 -12
- package/sites/restaurant/components/bit-nav.json +170 -53
- package/sites/restaurant/components/bit-reservation.json +63 -42
- package/sites/restaurant/components/bit-review.json +49 -19
- package/sites/restaurant/components/bit-section-header.json +60 -15
- package/sites/restaurant/layouts/base.json +1 -1
- package/sites/restaurant/pages/about.md +10 -10
- package/sites/restaurant/pages/contact.md +7 -7
- package/sites/restaurant/pages/index.md +30 -20
- package/sites/restaurant/pages/menu.md +8 -8
- package/sites/restaurant/project.json +71 -28
- package/sites/saas/components/sa-feature-card.json +26 -16
- package/sites/saas/components/sa-hero.json +156 -39
- package/sites/saas/components/sa-nav.json +34 -26
- package/sites/saas/components/sa-pricing.json +11 -10
- package/sites/saas/components/sa-stat.json +8 -4
- package/sites/saas/package.json +2 -2
- package/sites/saas/pages/index.md +8 -8
- package/sites/saas/project.json +24 -16
- package/sites/shop/components/shp-category-tile.json +104 -0
- package/sites/shop/components/shp-cta.json +101 -43
- package/sites/shop/components/shp-feature.json +12 -7
- package/sites/shop/components/shp-footer.json +312 -46
- package/sites/shop/components/shp-hero.json +313 -46
- package/sites/shop/components/shp-nav.json +303 -49
- package/sites/shop/components/shp-newsletter.json +166 -0
- package/sites/shop/components/shp-product-card.json +141 -34
- package/sites/shop/components/shp-product-filter.json +336 -154
- package/sites/shop/components/shp-section-header.json +42 -20
- package/sites/shop/components/shp-stat.json +6 -6
- package/sites/shop/components/shp-trust.json +58 -0
- package/sites/shop/content/product/aero-road-helmet.md +2 -0
- package/sites/shop/content/product/apex-carbon-road.md +1 -0
- package/sites/shop/content/product/backroad-gravel-adv.md +1 -0
- package/sites/shop/content/product/boulder-enduro.md +1 -0
- package/sites/shop/content/product/rambler-kids-20.md +1 -0
- package/sites/shop/content/product/summit-trail-29er.md +1 -0
- package/sites/shop/content/product/trailhead-pannier-set.md +1 -0
- package/sites/shop/content/product/velocity-alloy-road.md +2 -0
- package/sites/shop/pages/index.md +38 -26
- package/sites/shop/pages/products/[sku].json +362 -71
- package/sites/shop/pages/products.md +30 -8
- package/sites/shop/project.json +82 -28
- package/sites/course/components/co-stat.json +0 -36
- package/sites/professional-firm/components/pf-insight-card.json +0 -99
- package/sites/professional-firm/components/pf-service-card.json +0 -77
- package/sites/professional-firm/components/pf-stat.json +0 -37
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
title: "Meridian Advisory —
|
|
2
|
+
title: "Meridian Advisory — Tax, assurance & CFO counsel for growing companies"
|
|
3
3
|
state:
|
|
4
4
|
latest:
|
|
5
5
|
$prototype: ContentCollection
|
|
@@ -11,71 +11,65 @@ state:
|
|
|
11
11
|
limit: 3
|
|
12
12
|
---
|
|
13
13
|
|
|
14
|
-
::pf-hero{props.eyebrow="
|
|
14
|
+
::pf-hero{props.eyebrow="Tax · Assurance · Advisory" props.marker="Est. 2007 · Harborview" props.heading="Financial clarity for companies built to last." props.lede="Meridian Advisory is a boutique CPA and advisory firm for founders and growing companies — disciplined books, a lower tax bill, and a partner in every consequential decision." props.aside="We read the whole picture — margins, runway, and the decision in front of you — before the deadline, not after." props.cta="Book a consultation" props.ctaHref="/contact/" props.cta2="Read the Quarterly" props.cta2Href="/insights/"}
|
|
15
15
|
|
|
16
|
-
::pf-
|
|
16
|
+
::pf-statband{props.n1="18" props.l1="Years advising founders" props.n2="240+" props.l2="Companies served" props.n3="$40M" props.l3="Tax saved for clients" props.n4="96%" props.l4="Client retention"}
|
|
17
17
|
|
|
18
|
-
|
|
18
|
+
::pf-logo-bar{props.label="Trusted by founders, operators & boards"}
|
|
19
19
|
|
|
20
|
-
|
|
20
|
+
:::::section{style.padding="clamp(4rem, 8vw, 6rem) 1.5rem"}
|
|
21
|
+
::pf-section-header{props.eyebrow="Practice" props.index="Four disciplines" props.heading="Advisory across the full financial stack" props.subheading="Engage us for a single service or a fully outsourced finance function. Compliance handled, strategy included."}
|
|
21
22
|
|
|
22
|
-
|
|
23
|
+
::::div{style.maxWidth="var(--max-width)" style.margin="0 auto" style.borderBottom="1px solid var(--color-hairline)"}
|
|
24
|
+
::pf-service-row{props.number="01" props.tag="Tax" props.title="Tax planning & preparation" props.text="Year-round strategy and clean filings for the business and its owners — federal, state, and multi-entity, handled proactively." props.href="/services/"}
|
|
23
25
|
|
|
24
|
-
|
|
25
|
-
:::
|
|
26
|
-
|
|
27
|
-
:::::section{style.padding="clamp(3.5rem, 8vw, 6rem) 1.5rem" style.backgroundColor="var(--color-bg-cream)"}
|
|
28
|
-
::pf-section-header{props.eyebrow="What we do" props.heading="Advisory across the full financial stack"}
|
|
29
|
-
|
|
30
|
-
::::div{style.maxWidth="var(--max-width)" style.margin="0 auto" style.display="grid" style.gridTemplateColumns="repeat(4, 1fr)" style.gap="1.25rem" style.--lg.gridTemplateColumns="repeat(2, 1fr)" style.--sm.gridTemplateColumns="1fr"}
|
|
31
|
-
::pf-service-card{props.icon="📊" props.title="Tax planning & prep" props.text="Proactive strategy and clean filings for businesses and their owners — federal, state, and multi-entity." props.link="Learn more" props.linkHref="/services/"}
|
|
32
|
-
|
|
33
|
-
::pf-service-card{props.icon="📒" props.title="Bookkeeping & close" props.text="Accurate monthly books and a fast close, so your numbers are ready when the decisions are." props.link="Learn more" props.linkHref="/services/"}
|
|
34
|
-
|
|
35
|
-
::pf-service-card{props.icon="🧭" props.title="Fractional CFO" props.text="Forecasting, fundraising support, and board-ready reporting — senior finance judgment, part-time." props.link="Learn more" props.linkHref="/services/"}
|
|
36
|
-
|
|
37
|
-
::pf-service-card{props.icon="🔍" props.title="Audit & assurance" props.text="Reviews, compilations, and audit readiness that stand up to lenders, investors, and regulators." props.link="Learn more" props.linkHref="/services/"}
|
|
38
|
-
::::
|
|
39
|
-
:::::
|
|
40
|
-
|
|
41
|
-
:::::section{style.padding="clamp(3.5rem, 8vw, 6rem) 1.5rem"}
|
|
42
|
-
::::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="repeat(2, 1fr)"}
|
|
43
|
-
::pf-stat{props.number="18 yrs" props.label="Advising founders"}
|
|
26
|
+
::pf-service-row{props.number="02" props.tag="Assurance" props.title="Audit & assurance" props.text="Reviews, compilations, and audit-readiness that satisfy lenders, investors, and regulators without the disruption." props.href="/services/"}
|
|
44
27
|
|
|
45
|
-
::pf-
|
|
28
|
+
::pf-service-row{props.number="03" props.tag="Finance" props.title="Fractional CFO" props.text="Forecasting, cash management, and board-ready reporting — senior finance judgment, applied a few days a month." props.href="/services/"}
|
|
46
29
|
|
|
47
|
-
::pf-
|
|
48
|
-
|
|
49
|
-
::pf-stat{props.number="4.9★" props.label="Average client rating"}
|
|
30
|
+
::pf-service-row{props.number="04" props.tag="Books" props.title="Bookkeeping & monthly close" props.text="Accurate, reconciled books and a five-day close, so your numbers are ready the moment a decision is." props.href="/services/"}
|
|
50
31
|
::::
|
|
51
32
|
:::::
|
|
52
33
|
|
|
53
|
-
|
|
54
|
-
|
|
34
|
+
::::section{style.backgroundColor="var(--color-bg-cream)" style.borderTop="1px solid var(--color-rule)" style.borderBottom="1px solid var(--color-rule)"}
|
|
35
|
+
:::pf-intro{props.image="/images/about.jpg" props.imageAlt="The Meridian Advisory team reviewing financials together" props.kicker="The practice"}
|
|
55
36
|
|
|
56
|
-
|
|
57
|
-
::pf-feature{props.step="1" props.title="Understand" props.text="We start by learning your business — the model, the margins, and the milestones that matter to you."}
|
|
37
|
+
### We are not a once-a-year tax shop.
|
|
58
38
|
|
|
59
|
-
|
|
39
|
+
Meridian pairs disciplined accounting with genuine advisory — the kind of partner who knows your margins, your runway, and your goals, and who picks up the phone before the deadline.
|
|
60
40
|
|
|
61
|
-
|
|
41
|
+
The result is fewer surprises, a lower tax bill, and decisions made with real numbers instead of guesses.
|
|
42
|
+
:::
|
|
62
43
|
::::
|
|
63
|
-
:::::
|
|
64
44
|
|
|
65
|
-
:::::section{style.padding="clamp(
|
|
66
|
-
::pf-section-header{props.eyebrow="
|
|
45
|
+
:::::section{style.padding="clamp(4rem, 8vw, 6rem) 1.5rem"}
|
|
46
|
+
::pf-section-header{props.eyebrow="The Quarterly" props.index="Selected notes" props.heading="Guidance from our desk"}
|
|
67
47
|
|
|
68
|
-
::::div{style.maxWidth="var(--max-width)" style.margin="0 auto" style.
|
|
48
|
+
::::div{style.maxWidth="var(--max-width)" style.margin="0 auto" style.borderBottom="1px solid var(--color-hairline)"}
|
|
69
49
|
:::Array{items.ref="#/state/latest"}
|
|
70
|
-
::pf-insight-
|
|
50
|
+
::pf-insight-row{props.number="0${item.data.order}" props.title="${item.data.title}" props.excerpt="${item.data.excerpt}" props.date="${item.data.date}" props.category="${item.data.category}" props.readingTime="${item.\_meta.readingTime}" props.href="/insights/${item.id}/"}
|
|
71
51
|
:::
|
|
72
52
|
::::
|
|
73
53
|
|
|
74
|
-
::::div{style.
|
|
75
|
-
:::a{href="/insights/" style.
|
|
76
|
-
Read
|
|
54
|
+
::::div{style.maxWidth="var(--max-width)" style.margin="2.25rem auto 0" style.textAlign="right"}
|
|
55
|
+
:::a{href="/insights/" style.fontFamily="var(--font-sans)" style.fontSize="0.75rem" style.fontWeight="600" style.textTransform="uppercase" style.letterSpacing="0.14em" style.color="var(--color-ink)" style.textDecoration="none" style.borderBottom="1px solid var(--color-accent)" style.paddingBottom="0.2rem"}
|
|
56
|
+
Read the full Quarterly →
|
|
77
57
|
:::
|
|
78
58
|
::::
|
|
79
59
|
:::::
|
|
80
60
|
|
|
81
|
-
|
|
61
|
+
::::::section{style.padding="clamp(4rem, 8vw, 6rem) 1.5rem" style.backgroundColor="var(--color-bg-cream)" style.borderTop="1px solid var(--color-rule)"}
|
|
62
|
+
::pf-section-header{props.eyebrow="People" props.index="The partners" props.heading="Senior advisors, not a rotating cast"}
|
|
63
|
+
|
|
64
|
+
:::::div{style.maxWidth="var(--max-width)" style.margin="0 auto" style.display="grid" style.gridTemplateColumns="repeat(4, 1fr)" style.gap="clamp(1.5rem, 3vw, 2.5rem)" style.--lg.gridTemplateColumns="repeat(2, 1fr)" style.--sm.gridTemplateColumns="1fr"}
|
|
65
|
+
::pf-team-member{props.photo="/images/team-1.jpg" props.name="Dana Whitfield" props.role="Managing Partner, CPA" props.bio="Founded Meridian in 2007 after a decade in public accounting. Leads CFO engagements and complex tax strategy."}
|
|
66
|
+
|
|
67
|
+
::pf-team-member{props.photo="/images/team-2.jpg" props.name="Priya Nair" props.role="Partner, Tax" props.bio="Advises founders on entity structure, credits, and multi-state tax. Believes the best planning happens in November."}
|
|
68
|
+
|
|
69
|
+
::pf-team-member{props.photo="/images/team-3.jpg" props.name="Marcus Bell" props.role="Director, Advisory" props.bio="Runs forecasting and fundraising support for growth-stage clients. A former operator who has sat on your side of the table."}
|
|
70
|
+
|
|
71
|
+
::pf-team-member{props.photo="/images/team-4.jpg" props.name="Elena Sorokin" props.role="Manager, Assurance" props.bio="Leads reviews and audit-readiness work. Makes diligence painless for teams raising their next round."}
|
|
72
|
+
:::::
|
|
73
|
+
::::::
|
|
74
|
+
|
|
75
|
+
::pf-cta{props.eyebrow="Consultation" props.heading="Let's talk about your numbers" props.text="Book a free 30-minute consultation. We'll review where you are and where a sharper financial partner could take you." props.cta="Book a consultation" props.ctaHref="/contact/"}
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
{
|
|
19
19
|
"tagName": "pf-article-header",
|
|
20
20
|
"$props": {
|
|
21
|
-
"eyebrow": "
|
|
21
|
+
"eyebrow": "${state.entry.data.category}",
|
|
22
22
|
"title": "${state.entry.data.title}",
|
|
23
23
|
"date": "${state.entry.data.date}",
|
|
24
24
|
"author": "${state.entry.data.author}",
|
|
@@ -28,9 +28,19 @@
|
|
|
28
28
|
{
|
|
29
29
|
"tagName": "div",
|
|
30
30
|
"style": {
|
|
31
|
-
"
|
|
32
|
-
"
|
|
33
|
-
"
|
|
31
|
+
"fontFamily": "var(--font-serif)",
|
|
32
|
+
"fontSize": "1.2rem",
|
|
33
|
+
"lineHeight": "1.8",
|
|
34
|
+
"color": "var(--color-ink)",
|
|
35
|
+
"& p:first-of-type::first-letter": {
|
|
36
|
+
"float": "left",
|
|
37
|
+
"fontFamily": "var(--font-serif)",
|
|
38
|
+
"fontSize": "3.6em",
|
|
39
|
+
"lineHeight": "0.82",
|
|
40
|
+
"fontWeight": "600",
|
|
41
|
+
"padding": "0.02em 0.14em 0 0",
|
|
42
|
+
"color": "var(--color-accent)"
|
|
43
|
+
}
|
|
34
44
|
},
|
|
35
45
|
"children": {
|
|
36
46
|
"$prototype": "Array",
|
|
@@ -43,34 +53,32 @@
|
|
|
43
53
|
}
|
|
44
54
|
},
|
|
45
55
|
{
|
|
46
|
-
"tagName": "
|
|
47
|
-
"style": {
|
|
48
|
-
"border": "none",
|
|
49
|
-
"borderTop": "1px solid var(--color-border)",
|
|
50
|
-
"margin": "2.5rem 0 2rem"
|
|
51
|
-
}
|
|
52
|
-
},
|
|
53
|
-
{
|
|
54
|
-
"tagName": "p",
|
|
56
|
+
"tagName": "div",
|
|
55
57
|
"style": {
|
|
56
|
-
"
|
|
57
|
-
"
|
|
58
|
-
"
|
|
58
|
+
"marginTop": "2.5rem",
|
|
59
|
+
"paddingTop": "1.5rem",
|
|
60
|
+
"borderTop": "1px solid var(--color-hairline)",
|
|
61
|
+
"fontFamily": "var(--font-sans)",
|
|
62
|
+
"fontSize": "0.78rem",
|
|
63
|
+
"textTransform": "uppercase",
|
|
64
|
+
"letterSpacing": "0.12em",
|
|
65
|
+
"color": "var(--color-muted)"
|
|
59
66
|
},
|
|
60
67
|
"textContent": "Written by ${state.entry.data.author} · Meridian Advisory"
|
|
61
68
|
},
|
|
62
69
|
{
|
|
63
70
|
"tagName": "div",
|
|
64
71
|
"style": {
|
|
65
|
-
"
|
|
66
|
-
"
|
|
67
|
-
"
|
|
68
|
-
"
|
|
72
|
+
"marginTop": "2.5rem",
|
|
73
|
+
"backgroundColor": "var(--color-ink-deep)",
|
|
74
|
+
"color": "var(--color-text-white)",
|
|
75
|
+
"borderTop": "3px solid var(--color-accent)",
|
|
76
|
+
"padding": "2rem",
|
|
69
77
|
"display": "flex",
|
|
70
78
|
"flexWrap": "wrap",
|
|
71
79
|
"alignItems": "center",
|
|
72
80
|
"justifyContent": "space-between",
|
|
73
|
-
"gap": "
|
|
81
|
+
"gap": "1.25rem"
|
|
74
82
|
},
|
|
75
83
|
"children": [
|
|
76
84
|
{
|
|
@@ -79,16 +87,16 @@
|
|
|
79
87
|
{
|
|
80
88
|
"tagName": "div",
|
|
81
89
|
"style": {
|
|
82
|
-
"fontFamily": "var(--font-
|
|
83
|
-
"fontSize": "1.
|
|
84
|
-
"fontWeight": "
|
|
85
|
-
"marginBottom": "0.
|
|
90
|
+
"fontFamily": "var(--font-serif)",
|
|
91
|
+
"fontSize": "1.35rem",
|
|
92
|
+
"fontWeight": "500",
|
|
93
|
+
"marginBottom": "0.3rem"
|
|
86
94
|
},
|
|
87
95
|
"textContent": "Have a question this raised?"
|
|
88
96
|
},
|
|
89
97
|
{
|
|
90
98
|
"tagName": "div",
|
|
91
|
-
"style": { "color": "
|
|
99
|
+
"style": { "color": "rgba(244,241,233,0.75)", "fontSize": "0.95rem" },
|
|
92
100
|
"textContent": "Book a free consultation with a Meridian advisor."
|
|
93
101
|
}
|
|
94
102
|
]
|
|
@@ -98,17 +106,20 @@
|
|
|
98
106
|
"attributes": { "href": "/contact/" },
|
|
99
107
|
"style": {
|
|
100
108
|
"display": "inline-block",
|
|
101
|
-
"backgroundColor": "var(--color-
|
|
102
|
-
"color": "var(--color-
|
|
103
|
-
"padding": "0.
|
|
104
|
-
"
|
|
109
|
+
"backgroundColor": "var(--color-accent)",
|
|
110
|
+
"color": "var(--color-ink-deep)",
|
|
111
|
+
"padding": "0.85rem 1.75rem",
|
|
112
|
+
"fontFamily": "var(--font-sans)",
|
|
113
|
+
"fontSize": "0.76rem",
|
|
105
114
|
"fontWeight": "600",
|
|
106
|
-
"
|
|
115
|
+
"textTransform": "uppercase",
|
|
116
|
+
"letterSpacing": "0.14em",
|
|
107
117
|
"textDecoration": "none",
|
|
108
118
|
"whiteSpace": "nowrap",
|
|
109
|
-
"
|
|
119
|
+
"transition": "background-color 0.15s",
|
|
120
|
+
":hover": { "backgroundColor": "#b0904c" }
|
|
110
121
|
},
|
|
111
|
-
"textContent": "Book a
|
|
122
|
+
"textContent": "Book a consultation"
|
|
112
123
|
}
|
|
113
124
|
]
|
|
114
125
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
title: "
|
|
2
|
+
title: "The Quarterly — Meridian Advisory"
|
|
3
3
|
state:
|
|
4
4
|
articles:
|
|
5
5
|
$prototype: ContentCollection
|
|
@@ -10,20 +10,16 @@ state:
|
|
|
10
10
|
order: asc
|
|
11
11
|
---
|
|
12
12
|
|
|
13
|
-
:::::section{style.padding="clamp(3rem, 6vw, 4.5rem) 1.5rem" style.backgroundColor="var(--color-bg-cream)"}
|
|
14
|
-
::pf-section-header{props.eyebrow="
|
|
13
|
+
:::::section{style.padding="clamp(3rem, 6vw, 4.5rem) 1.5rem" style.backgroundColor="var(--color-bg-cream)" style.borderBottom="1px solid var(--color-rule)"}
|
|
14
|
+
::pf-section-header{props.eyebrow="The Quarterly" props.index="Vol. XVIII · Winter 2025" props.heading="Practical guidance for owners and operators" props.subheading="Short, useful notes on tax, cash flow, and the financial decisions that shape a growing company — a running index, newest at the top."}
|
|
15
15
|
:::::
|
|
16
16
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
:::
|
|
20
|
-
|
|
21
|
-
:::::section{style.maxWidth="var(--max-width)" style.margin="0 auto" style.padding="clamp(3.5rem, 8vw, 6rem) 1.5rem"}
|
|
22
|
-
::::div{style.display="grid" style.gridTemplateColumns="repeat(3, 1fr)" style.gap="1.5rem" style.--md.gridTemplateColumns="1fr"}
|
|
17
|
+
:::::section{style.padding="clamp(3.5rem, 7vw, 5.5rem) 1.5rem"}
|
|
18
|
+
::::div{style.maxWidth="var(--max-width)" style.margin="0 auto" style.borderBottom="1px solid var(--color-hairline)"}
|
|
23
19
|
:::Array{items.ref="#/state/articles"}
|
|
24
|
-
::pf-insight-
|
|
20
|
+
::pf-insight-row{props.number="0${item.data.order}" props.title="${item.data.title}" props.excerpt="${item.data.excerpt}" props.date="${item.data.date}" props.category="${item.data.category}" props.readingTime="${item.\_meta.readingTime}" props.href="/insights/${item.id}/"}
|
|
25
21
|
:::
|
|
26
22
|
::::
|
|
27
23
|
:::::
|
|
28
24
|
|
|
29
|
-
::pf-cta{props.heading="Have a question these raised?" props.text="Every one of these notes started with a client conversation. Start yours with a free consultation." props.cta="Book a
|
|
25
|
+
::pf-cta{props.eyebrow="Consultation" props.heading="Have a question these raised?" props.text="Every one of these notes started with a client conversation. Start yours with a free consultation." props.cta="Book a consultation" props.ctaHref="/contact/"}
|
|
@@ -1,39 +1,39 @@
|
|
|
1
1
|
---
|
|
2
|
-
title: "
|
|
2
|
+
title: "Practice — Meridian Advisory"
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
-
:::::section{style.padding="clamp(3rem, 6vw, 4.5rem) 1.5rem" style.backgroundColor="var(--color-bg-cream)"}
|
|
6
|
-
::pf-section-header{props.eyebrow="
|
|
5
|
+
:::::section{style.padding="clamp(3rem, 6vw, 4.5rem) 1.5rem" style.backgroundColor="var(--color-bg-cream)" style.borderBottom="1px solid var(--color-rule)"}
|
|
6
|
+
::pf-section-header{props.eyebrow="Practice areas" props.index="Six disciplines" props.heading="Everything a growing company needs from its accountants" props.subheading="Compliance handled, strategy included. Engage us for a single service or a fully outsourced finance function."}
|
|
7
7
|
:::::
|
|
8
8
|
|
|
9
|
-
:::::section{style.
|
|
10
|
-
::::div{style.
|
|
11
|
-
::pf-service-
|
|
9
|
+
:::::section{style.padding="clamp(4rem, 8vw, 6rem) 1.5rem"}
|
|
10
|
+
::::div{style.maxWidth="var(--max-width)" style.margin="0 auto" style.borderBottom="1px solid var(--color-hairline)"}
|
|
11
|
+
::pf-service-row{props.number="01" props.tag="Tax" props.title="Tax planning & preparation" props.text="Year-round strategy plus accurate returns for your business and its owners. Entity elections, multi-state filings, credits, and estimated payments — all handled proactively." props.href="/contact/"}
|
|
12
12
|
|
|
13
|
-
::pf-service-
|
|
13
|
+
::pf-service-row{props.number="02" props.tag="Books" props.title="Bookkeeping & monthly close" props.text="Clean, reconciled books and a five-day monthly close. Financial statements you can trust and a dashboard of the metrics that matter." props.href="/contact/"}
|
|
14
14
|
|
|
15
|
-
::pf-service-
|
|
15
|
+
::pf-service-row{props.number="03" props.tag="Finance" props.title="Fractional CFO" props.text="Forecasting, cash management, fundraising support, and board-ready reporting — the senior finance leadership you need without a full-time hire." props.href="/contact/"}
|
|
16
16
|
|
|
17
|
-
::pf-service-
|
|
17
|
+
::pf-service-row{props.number="04" props.tag="Assurance" props.title="Audit & assurance" props.text="Reviews, compilations, and audit-readiness engagements that satisfy lenders, investors, and regulators without the disruption." props.href="/contact/"}
|
|
18
18
|
|
|
19
|
-
::pf-service-
|
|
19
|
+
::pf-service-row{props.number="05" props.tag="Structure" props.title="Entity & structure" props.text="Formation, S-corp elections, and restructuring guidance so your legal and tax structure fits where the business is heading." props.href="/contact/"}
|
|
20
20
|
|
|
21
|
-
::pf-service-
|
|
21
|
+
::pf-service-row{props.number="06" props.tag="Payroll" props.title="Payroll & owner advisory" props.text="Payroll setup and oversight, owner compensation planning, and the ongoing advice that keeps you compliant as you grow." props.href="/contact/"}
|
|
22
22
|
::::
|
|
23
23
|
:::::
|
|
24
24
|
|
|
25
|
-
:::::section{style.padding="clamp(
|
|
26
|
-
::pf-section-header{props.eyebrow="Engagement" props.heading="How an engagement works"}
|
|
25
|
+
:::::section{style.padding="clamp(4rem, 8vw, 6rem) 1.5rem" style.backgroundColor="var(--color-bg-cream)" style.borderTop="1px solid var(--color-rule)"}
|
|
26
|
+
::pf-section-header{props.eyebrow="Engagement" props.index="Four steps" props.heading="How an engagement works"}
|
|
27
27
|
|
|
28
|
-
::::div{style.maxWidth="var(--max-width)" style.margin="0 auto" style.display="grid" style.gridTemplateColumns="repeat(4, 1fr)" style.gap="1.
|
|
28
|
+
::::div{style.maxWidth="var(--max-width)" style.margin="0 auto" style.display="grid" style.gridTemplateColumns="repeat(4, 1fr)" style.gap="clamp(1.5rem, 3vw, 2.5rem)" style.--md.gridTemplateColumns="1fr"}
|
|
29
29
|
::pf-feature{props.step="1" props.title="Discovery call" props.text="A free 30-minute conversation to understand your business and whether we're the right fit."}
|
|
30
30
|
|
|
31
31
|
::pf-feature{props.step="2" props.title="Scope & quote" props.text="A clear proposal with fixed monthly pricing — no surprise invoices, no hourly meter."}
|
|
32
32
|
|
|
33
33
|
::pf-feature{props.step="3" props.title="Onboarding" props.text="We migrate your books, connect your systems, and set up reporting in the first two weeks."}
|
|
34
34
|
|
|
35
|
-
::pf-feature{props.step="4" props.title="
|
|
35
|
+
::pf-feature{props.step="4" props.title="Partnership" props.text="Monthly close, quarterly strategy reviews, and a named advisor a message away."}
|
|
36
36
|
::::
|
|
37
37
|
:::::
|
|
38
38
|
|
|
39
|
-
::pf-cta{props.heading="Not sure which service you need?" props.text="Tell us where you are and we'll point you to the right starting place — even if that's not with us." props.cta="Book a
|
|
39
|
+
::pf-cta{props.eyebrow="Consultation" props.heading="Not sure which service you need?" props.text="Tell us where you are and we'll point you to the right starting place — even if that's not with us." props.cta="Book a consultation" props.ctaHref="/contact/"}
|
|
@@ -1,27 +1,27 @@
|
|
|
1
1
|
---
|
|
2
|
-
title: "
|
|
2
|
+
title: "People — Meridian Advisory"
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
-
:::::section{style.padding="clamp(3rem, 6vw, 4.5rem) 1.5rem" style.backgroundColor="var(--color-bg-cream)"}
|
|
6
|
-
::pf-section-header{props.eyebrow="Our people" props.heading="Senior advisors, not a rotating cast" props.subheading="You work directly with the partners and managers who know your business — the same faces year after year."}
|
|
5
|
+
:::::section{style.padding="clamp(3rem, 6vw, 4.5rem) 1.5rem" style.backgroundColor="var(--color-bg-cream)" style.borderBottom="1px solid var(--color-rule)"}
|
|
6
|
+
::pf-section-header{props.eyebrow="Our people" props.index="The partners" props.heading="Senior advisors, not a rotating cast" props.subheading="You work directly with the partners and managers who know your business — the same faces, year after year."}
|
|
7
7
|
:::::
|
|
8
8
|
|
|
9
|
-
:::::section{style.
|
|
10
|
-
::::div{style.display="grid" style.gridTemplateColumns="repeat(4, 1fr)" style.gap="1.5rem" style.--lg.gridTemplateColumns="repeat(2, 1fr)" style.--sm.gridTemplateColumns="1fr"}
|
|
9
|
+
:::::section{style.padding="clamp(4rem, 8vw, 6rem) 1.5rem"}
|
|
10
|
+
::::div{style.maxWidth="var(--max-width)" style.margin="0 auto" style.display="grid" style.gridTemplateColumns="repeat(4, 1fr)" style.gap="clamp(1.5rem, 3vw, 2.5rem)" style.--lg.gridTemplateColumns="repeat(2, 1fr)" style.--sm.gridTemplateColumns="1fr"}
|
|
11
11
|
::pf-team-member{props.photo="/images/team-1.jpg" props.name="Dana Whitfield" props.role="Managing Partner, CPA" props.bio="Founded Meridian in 2007 after a decade in public accounting. Leads CFO engagements and complex tax strategy."}
|
|
12
12
|
|
|
13
13
|
::pf-team-member{props.photo="/images/team-2.jpg" props.name="Priya Nair" props.role="Partner, Tax" props.bio="Advises founders on entity structure, credits, and multi-state tax. Believes the best planning happens in November."}
|
|
14
14
|
|
|
15
|
-
::pf-team-member{props.photo="/images/team-3.jpg" props.name="Marcus Bell" props.role="Director, Advisory" props.bio="Runs forecasting and fundraising support for growth-stage clients.
|
|
15
|
+
::pf-team-member{props.photo="/images/team-3.jpg" props.name="Marcus Bell" props.role="Director, Advisory" props.bio="Runs forecasting and fundraising support for growth-stage clients. A former operator who has sat on your side of the table."}
|
|
16
16
|
|
|
17
17
|
::pf-team-member{props.photo="/images/team-4.jpg" props.name="Elena Sorokin" props.role="Manager, Assurance" props.bio="Leads reviews and audit-readiness work. Makes diligence painless for teams raising their next round."}
|
|
18
18
|
::::
|
|
19
19
|
:::::
|
|
20
20
|
|
|
21
|
-
:::::section{style.padding="clamp(
|
|
22
|
-
::pf-section-header{props.eyebrow="What we value" props.heading="The principles behind the practice"}
|
|
21
|
+
:::::section{style.padding="clamp(4rem, 8vw, 6rem) 1.5rem" style.backgroundColor="var(--color-bg-cream)" style.borderTop="1px solid var(--color-rule)"}
|
|
22
|
+
::pf-section-header{props.eyebrow="What we value" props.index="Three principles" props.heading="The principles behind the practice"}
|
|
23
23
|
|
|
24
|
-
::::div{style.maxWidth="var(--max-width)" style.margin="0 auto" style.display="grid" style.gridTemplateColumns="repeat(3, 1fr)" style.gap="1.
|
|
24
|
+
::::div{style.maxWidth="var(--max-width)" style.margin="0 auto" style.display="grid" style.gridTemplateColumns="repeat(3, 1fr)" style.gap="clamp(1.5rem, 3vw, 2.5rem)" style.--md.gridTemplateColumns="1fr"}
|
|
25
25
|
::pf-feature{props.title="Plain language" props.text="No jargon, no lectures. We explain the trade-offs so you can make the call with confidence."}
|
|
26
26
|
|
|
27
27
|
::pf-feature{props.title="Proactive, not reactive" props.text="We flag the opportunity or the risk before the deadline, not after the return is filed."}
|
|
@@ -30,4 +30,4 @@ title: "Team — Meridian Advisory"
|
|
|
30
30
|
::::
|
|
31
31
|
:::::
|
|
32
32
|
|
|
33
|
-
::pf-cta{props.heading="Meet the team that will know your numbers" props.text="Book a consultation and you'll speak with a partner — not a call center — from the very first conversation." props.cta="Book a
|
|
33
|
+
::pf-cta{props.eyebrow="Consultation" props.heading="Meet the team that will know your numbers" props.text="Book a consultation and you'll speak with a partner — not a call center — from the very first conversation." props.cta="Book a consultation" props.ctaHref="/contact/"}
|
|
@@ -8,32 +8,45 @@
|
|
|
8
8
|
"$head": [
|
|
9
9
|
{
|
|
10
10
|
"tagName": "meta",
|
|
11
|
-
"attributes": {
|
|
11
|
+
"attributes": {
|
|
12
|
+
"name": "viewport",
|
|
13
|
+
"content": "width=device-width, initial-scale=1"
|
|
14
|
+
}
|
|
12
15
|
},
|
|
13
16
|
{
|
|
14
17
|
"tagName": "meta",
|
|
15
18
|
"attributes": {
|
|
16
19
|
"name": "description",
|
|
17
|
-
"content": "Meridian Advisory is
|
|
20
|
+
"content": "Meridian Advisory is a boutique CPA and advisory firm for founders and growing companies — tax, assurance, and fractional CFO counsel, published as a quarterly of practical financial thinking."
|
|
18
21
|
}
|
|
19
22
|
},
|
|
20
23
|
{
|
|
21
24
|
"tagName": "link",
|
|
22
|
-
"attributes": {
|
|
25
|
+
"attributes": {
|
|
26
|
+
"rel": "icon",
|
|
27
|
+
"href": "/favicon.svg"
|
|
28
|
+
}
|
|
23
29
|
},
|
|
24
30
|
{
|
|
25
31
|
"tagName": "link",
|
|
26
|
-
"attributes": {
|
|
32
|
+
"attributes": {
|
|
33
|
+
"rel": "preconnect",
|
|
34
|
+
"href": "https://fonts.googleapis.com"
|
|
35
|
+
}
|
|
27
36
|
},
|
|
28
37
|
{
|
|
29
38
|
"tagName": "link",
|
|
30
|
-
"attributes": {
|
|
39
|
+
"attributes": {
|
|
40
|
+
"rel": "preconnect",
|
|
41
|
+
"href": "https://fonts.gstatic.com",
|
|
42
|
+
"crossorigin": ""
|
|
43
|
+
}
|
|
31
44
|
},
|
|
32
45
|
{
|
|
33
46
|
"tagName": "link",
|
|
34
47
|
"attributes": {
|
|
35
48
|
"rel": "stylesheet",
|
|
36
|
-
"href": "https://fonts.googleapis.com/css2?family=
|
|
49
|
+
"href": "https://fonts.googleapis.com/css2?family=Spectral:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,400;1,500&family=Archivo:wght@400;500;600;700&display=swap"
|
|
37
50
|
}
|
|
38
51
|
}
|
|
39
52
|
],
|
|
@@ -44,27 +57,40 @@
|
|
|
44
57
|
"--sm": "(max-width: 640px)"
|
|
45
58
|
},
|
|
46
59
|
"style": {
|
|
47
|
-
"--color-
|
|
48
|
-
"--color-
|
|
49
|
-
"--color-
|
|
50
|
-
"--color-
|
|
51
|
-
"--color-
|
|
52
|
-
"--color-
|
|
53
|
-
"--color-
|
|
54
|
-
"--color-
|
|
55
|
-
"--color-
|
|
56
|
-
"--color-
|
|
57
|
-
"--color-
|
|
58
|
-
"--
|
|
59
|
-
"--
|
|
60
|
-
"--
|
|
61
|
-
"--
|
|
60
|
+
"--color-ink": "#161a2c",
|
|
61
|
+
"--color-ink-deep": "#0d101d",
|
|
62
|
+
"--color-navy": "#1d2748",
|
|
63
|
+
"--color-paper": "#f4f1e9",
|
|
64
|
+
"--color-paper-2": "#ece7da",
|
|
65
|
+
"--color-surface": "#fbf9f3",
|
|
66
|
+
"--color-accent": "#9a7b3c",
|
|
67
|
+
"--color-accent-deep": "#7c6230",
|
|
68
|
+
"--color-muted": "#605e55",
|
|
69
|
+
"--color-rule": "#161a2c",
|
|
70
|
+
"--color-hairline": "#d5cdba",
|
|
71
|
+
"--color-primary": "#161a2c",
|
|
72
|
+
"--color-primary-hover": "#242c4a",
|
|
73
|
+
"--color-bg-dark": "#0d101d",
|
|
74
|
+
"--color-bg-cream": "#ece7da",
|
|
75
|
+
"--color-bg-white": "#fbf9f3",
|
|
76
|
+
"--color-text-primary": "#161a2c",
|
|
77
|
+
"--color-text-white": "#f4f1e9",
|
|
78
|
+
"--color-text-muted": "#605e55",
|
|
79
|
+
"--color-border": "#d5cdba",
|
|
80
|
+
"--font-serif": "'Spectral', Georgia, 'Times New Roman', serif",
|
|
81
|
+
"--font-sans": "'Archivo', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif",
|
|
82
|
+
"--font-heading": "'Spectral', Georgia, 'Times New Roman', serif",
|
|
83
|
+
"--max-width": "1180px",
|
|
84
|
+
"--max-width-narrow": "720px",
|
|
85
|
+
"--measure": "660px",
|
|
86
|
+
"--radius": "0",
|
|
62
87
|
"margin": "0",
|
|
63
88
|
"padding": "0",
|
|
64
|
-
"fontFamily": "
|
|
89
|
+
"fontFamily": "var(--font-sans)",
|
|
90
|
+
"fontSize": "17px",
|
|
65
91
|
"lineHeight": "1.6",
|
|
66
|
-
"color": "var(--color-
|
|
67
|
-
"backgroundColor": "var(--color-
|
|
92
|
+
"color": "var(--color-ink)",
|
|
93
|
+
"backgroundColor": "var(--color-paper)"
|
|
68
94
|
},
|
|
69
95
|
"imports": {
|
|
70
96
|
"Markdown": "@jxsuite/parser/Markdown.class.json",
|
|
@@ -75,7 +101,12 @@
|
|
|
75
101
|
"optimize": true,
|
|
76
102
|
"widths": [320, 640, 960, 1280, 1920],
|
|
77
103
|
"formats": ["webp", "avif"],
|
|
78
|
-
"quality": {
|
|
104
|
+
"quality": {
|
|
105
|
+
"webp": 80,
|
|
106
|
+
"avif": 65,
|
|
107
|
+
"jpeg": 80,
|
|
108
|
+
"png": 80
|
|
109
|
+
},
|
|
79
110
|
"sizes": "(max-width: 768px) 100vw, 50vw",
|
|
80
111
|
"lazyLoad": true
|
|
81
112
|
},
|
|
@@ -86,11 +117,24 @@
|
|
|
86
117
|
"schema": {
|
|
87
118
|
"type": "object",
|
|
88
119
|
"properties": {
|
|
89
|
-
"title": {
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
"
|
|
93
|
-
|
|
120
|
+
"title": {
|
|
121
|
+
"type": "string"
|
|
122
|
+
},
|
|
123
|
+
"excerpt": {
|
|
124
|
+
"type": "string"
|
|
125
|
+
},
|
|
126
|
+
"date": {
|
|
127
|
+
"type": "string"
|
|
128
|
+
},
|
|
129
|
+
"author": {
|
|
130
|
+
"type": "string"
|
|
131
|
+
},
|
|
132
|
+
"category": {
|
|
133
|
+
"type": "string"
|
|
134
|
+
},
|
|
135
|
+
"order": {
|
|
136
|
+
"type": "number"
|
|
137
|
+
}
|
|
94
138
|
},
|
|
95
139
|
"required": ["title", "excerpt", "date"]
|
|
96
140
|
}
|