-
Notifications
You must be signed in to change notification settings - Fork 0
Configuration
All site settings live in a single file: src/_data/site.js. Change the values in this file to make the site yours.
module.exports = {
// Book details
title: "The Art of Baking", // Short title (header & browser tab)
longTitle: "The Ultimate Guide to Becoming a Baking Master", // Full title (homepage hero)
author: "Chef Baker",
description: "A comprehensive journey from novice to expert.",
url: "https://example.com", // Your site URL (no trailing slash)
coverImage: "/assets/cover.png", // Cover image — remove to hide
// Appearance
theme: "emerald", // See Theme and Colors page for all options
// Fonts — any Google Fonts family name
fonts: {
heading: "Inter", // Headings, nav, buttons
body: "Inter", // Body/prose text
},
// Format generation
formats: {
pdf: true,
epub: true,
},
// Footer branding
showBranding: true, // Show "Built with PutOut" in footer
// Social links
socialLinks: [
{ platform: "twitter", url: "https://twitter.com/yourusername" },
{ platform: "github", url: "https://github.com/yourusername" },
// { platform: "linkedin", url: "https://linkedin.com/in/yourusername" },
// { platform: "website", url: "https://yourwebsite.com/" },
],
};-
titleappears in the header, browser tab, and meta tags. -
longTitleis shown on the homepage hero section. If omitted,titleis used.
This is the most important setting for SEO and social sharing. Set it to your actual domain (e.g. https://mybook.com) before deploying. It affects:
- Your XML sitemap URLs
- Canonical URLs on every page
- Social sharing previews (Open Graph / Twitter Cards)
- Structured data (JSON-LD)
Without the correct URL, search engines won't index your site properly and shared links won't show proper previews. See SEO and Structured Data for details.
Selects the accent/brand color for the entire site. See Theme and Colors for all 8 options and previews.
Set heading and body to any Google Fonts family name. Use the exact name as shown on Google Fonts — multi-word names like "Playfair Display" work fine.
Restart the dev server after changing fonts (Ctrl+C, then npm run start).
Popular pairings:
| Heading | Body | Feel |
|---|---|---|
| Playfair Display | Lora | Classic, editorial |
| Inter | Inter | Clean, modern |
| Merriweather | Source Sans 3 | Traditional, readable |
Path to the cover image shown on the homepage. This image also appears:
- In social sharing previews when someone shares a link to your site on Twitter, Facebook, or LinkedIn
- As the cover of the generated EPUB file
Remove or comment out this line to hide the cover image entirely — the homepage hero section adjusts automatically.
Toggle PDF and/or EPUB generation. Set to false to skip either format during npm run build. See PDF and EPUB for details and requirements.
Array of { platform, url } objects. Icons appear on the homepage and in the footer. Supported platforms:
| Platform | Icon |
|---|---|
twitter |
Twitter/X icon |
github |
GitHub icon |
linkedin |
LinkedIn icon |
website (or anything else) |
Globe icon |
Uncomment or add lines as needed:
socialLinks: [
{ platform: "twitter", url: "https://twitter.com/yourusername" },
{ platform: "github", url: "https://github.com/yourusername" },
{ platform: "linkedin", url: "https://linkedin.com/in/yourusername" },
{ platform: "website", url: "https://yourwebsite.com/" },
],When true, displays "Built with PutOut" in the footer. Set to false to remove it.
Replace the file at src/assets/favicon.png with your own square PNG image (ideally 180×180 pixels). No configuration change needed — just swap the file. See Customization for more details.