Skip to content
juniverse
Go back

How to configure AstroPaper theme

This guide covers the available configuration options in AstroPaper — from site metadata and feature flags to fonts, social links, and layout settings.

Table of contents

Open Table of contents

Configuring astro-paper.config.ts

All site-wide configuration lives in astro-paper.config.ts at the root of the project. Use defineAstroPaperConfig() to get full IntelliSense support:


export default defineAstroPaperConfig({
  site: {
    url: "https://your-site.com/", // replace with your deployed URL
    title: "AstroPaper",
    description: "A minimal, responsive and SEO-friendly Astro blog theme.",
    author: "Sat Naing",
    profile: "https://satnaing.dev",
    ogImage: "default-og.jpg",
    lang: "en",
    timezone: "Asia/Bangkok",
    dir: "ltr",
  },
  posts: {
    perPage: 4,
    perIndex: 4,
    scheduledPostMargin: 15 * 60 * 1000, // 15 minutes
  },
  features: {
    lightAndDarkMode: true,
    dynamicOgImage: true,
    showArchives: true,
    showBackButton: true,
    editPost: {
      enabled: true,
      url: "https://github.com/satnaing/astro-paper/edit/main/",
    },
    search: "pagefind",
  },
  socials: [
    { name: "github", url: "https://github.com/satnaing/astro-paper" },
    { name: "x", url: "https://x.com/username" },
    { name: "linkedin", url: "https://www.linkedin.com/in/username/" },
    { name: "mail", url: "mailto:yourmail@gmail.com" },
  ],
  shareLinks: [
    { name: "whatsapp", url: "https://wa.me/?text=" },
    { name: "facebook", url: "https://www.facebook.com/sharer.php?u=" },
    { name: "x", url: "https://x.com/intent/post?url=" },
    { name: "telegram", url: "https://t.me/share/url?url=" },
    { name: "mail", url: "mailto:?subject=See%20this%20post&body=" },
  ],
});astro-paper.config.ts

site options

OptionDescription
urlYour deployed website URL. Used for canonical URLs, OG image URLs, RSS feed, and sitemap. In production this must be set correctly.
titleYour site name.
descriptionYour site description. Useful for SEO and social media sharing.
authorYour name. Used as the default post author.
profileYour personal/portfolio website URL, used for structured data. Set to undefined if you don’t have one.
ogImageDefault OG image filename in /public (e.g. "default-og.jpg"). Used when no post-specific OG image is set and dynamicOgImage is disabled.
langHTML ISO language code for <html lang="...">. Defaults to "en".
timezoneIANA timezone for post dates (e.g. "Asia/Bangkok"). Ensures consistent timestamps across localhost and your deployed site.
dir


Share this post:

Next Post
How to add LaTeX Equations in Astro blog posts