@rettangoli/sitekit publishes reusable templates, partials, schemas, and theme assets under sitekit/ so projects can import them directly from jsDelivr.
Replace <version> with your published @rettangoli/sitekit version.
Init vs Import Templates
rtgl sites init --template <name>uses CLI scaffold templates only.- Built-in templates on this page (
landing-features,blog-article-list,blog-article, etc.) are imported throughsites.config.yamlfrom@rettangoli/sitekit. - Do not pass built-in import template names to
rtgl sites init --template.
Built-in Templates
base:https://cdn.jsdelivr.net/npm/@rettangoli/sitekit@<version>/sitekit/templates/base.yamldocs:https://cdn.jsdelivr.net/npm/@rettangoli/sitekit@<version>/sitekit/templates/docs.yamllanding-features:https://cdn.jsdelivr.net/npm/@rettangoli/sitekit@<version>/sitekit/templates/landing-features.yamlblog-article-list:https://cdn.jsdelivr.net/npm/@rettangoli/sitekit@<version>/sitekit/templates/blog-article-list.yamlblog-article:https://cdn.jsdelivr.net/npm/@rettangoli/sitekit@<version>/sitekit/templates/blog-article.yaml
landing-highlights and landing-pricing are preview routes in the sitekit demo, not separate import template names. The publishable landing template remains landing-features, with additional landing partials for composing variants.
For end-to-end authoring examples, see:
Example Routes In Demo
/templates/landing-features/(landing-featurestemplate with all major landing partials)/templates/landing-highlights/(landing-featurestemplate withiconFeaturesandfeatureMosaic)/templates/landing-pricing/(landing-featurestemplate with pricing-focused sections)/templates/blog/article-list/(blog-article-listtemplate with all supportedsections[]layouts)/templates/blog/reducing-friction/(blog-articletemplate with long-form article copy)
Built-in Partials
Core shell partials:
seo,navbar,mobile-nav,docs-sidebar,docs-mobile-navtop-navbar,footer
Collection partials:
collection-section-headercollection-section-card-gridcollection-section-featured-listcollection-section-compact-listcollection-section-split-columnscollection-section-grouped-list
Landing partials:
landing-herolanding-stats-bandlanding-logo-cloudlanding-icon-featureslanding-feature-mosaiclanding-testimonials-gridlanding-full-imagelanding-pricinglanding-pricing-comparisonlanding-roadmaplanding-faqlanding-features-sectionlanding-cta
All partial URLs follow:
https://cdn.jsdelivr.net/npm/@rettangoli/sitekit@<version>/sitekit/partials/<name>.yaml
Import Aliases
imports:
templates:
base: https://cdn.jsdelivr.net/npm/@rettangoli/sitekit@<version>/sitekit/templates/base.yaml
docs: https://cdn.jsdelivr.net/npm/@rettangoli/sitekit@<version>/sitekit/templates/docs.yaml
landing-features: https://cdn.jsdelivr.net/npm/@rettangoli/sitekit@<version>/sitekit/templates/landing-features.yaml
blog-article-list: https://cdn.jsdelivr.net/npm/@rettangoli/sitekit@<version>/sitekit/templates/blog-article-list.yaml
blog-article: https://cdn.jsdelivr.net/npm/@rettangoli/sitekit@<version>/sitekit/templates/blog-article.yaml
partials:
seo: https://cdn.jsdelivr.net/npm/@rettangoli/sitekit@<version>/sitekit/partials/seo.yaml
top-navbar: https://cdn.jsdelivr.net/npm/@rettangoli/sitekit@<version>/sitekit/partials/top-navbar.yaml
footer: https://cdn.jsdelivr.net/npm/@rettangoli/sitekit@<version>/sitekit/partials/footer.yaml
Data Contract
Shared fields used by built-in templates:
site.baseUrl- optional
themeCssHreffor a custom theme stylesheet path or URL - optional
themeBodyClassfor the<body>theme class site.navbar.brand(label,href) for top-navbar templatessite.navbar.items[](label,href, optionaltarget)site.navbar.ctas[](or fallbacksite.navbar.cta) withlabel,href, optionalvariant, optionaltargetsite.navbar.github.href(optional)site.footer.brand(label,tagline)site.footer.columns[](title,links[])site.footer.legalLinks[](label,href, optionaltarget)site.footer.copyright
Template-specific fields:
base:title,page.url,seo.*,site.baseUrl,site.navbar.titledocs:title,sidebarId,docs.header,docs.items, pluspage.url,seo.*,site.baseUrllanding-features:landing.title,landing.featuresTitle, optionallanding.subtitle,landing.actions[],landing.image,landing.statsBand,landing.logoCloud,landing.iconFeatures,landing.featureMosaic,landing.testimonialsGrid,landing.fullImage,landing.pricing,landing.pricingComparison,landing.roadmap,landing.faq,landing.featuresSubtitle,landing.features[], optionallanding.ctablog-article-list:title,description, plus either legacyposts[]or newsections[]blog-article-list.sections[]:layout,title, optionaleyebrow, optionalsubtitle, optionalcta, plusitems[]orgroups[]depending on layoutblog-article-listlayouts:featured-list,card-grid,compact-list,split-columns,grouped-listblog-article:title,author,date, optionalcategory,description,readingTime,updatedAt
Theme Override Example
Built-in templates keep the @rettangoli/ui base stylesheet and default to /public/theme-rtgl-themes.css plus slate-dark. Override those defaults in page frontmatter when needed:
---
template: docs
themeCssHref: /public/theme.css
themeBodyClass: dark
---
Use rtgl >= 1.1.3 or @rettangoli/sites >= 1.0.2 with these fields. The published templates rely on the built-in default() helper added in that renderer release.
For site-wide defaults via sites.config.yaml data, use rtgl >= 1.1.4 or @rettangoli/sites >= 1.0.3.
For machine-readable contracts, use: