Configuration

An overview of all the data files found within ./src/data of this project. These options are meant to be customized to your needs.

General Settings

Site and Global Settings src/data/config.json
{
  "site": {
    "title": "Twenty Something",
    "description": "An Astro theme to help transition from Wordpress to Markdown",
    "url": "https://twenty-something.netlify.app",
    "language": "en",
    "country": "US",
    "favicon": "/images/favicon.svg",
    "tagline": "From WP to MD"
  },
  "metadata": {
    "ogTitle": "Twenty Something",
    "ogImage": {
      "url": "/images/og-image.jpg",
      "alt": "logo over ambiguous smokey background",
      "width": 1200,
      "height": 630
    },
    "ogDescription": "An Astro theme to help transition from Wordpress to Markdown",
    "ogType": "website",
    "twitter": {
      "handle": "",
      "site": "",
      "cardType": "summary_large_image"
    },
    "robots": {
      "index": true,
      "follow": true
    }
  },
  "logo": {
    "image": "/images/logo-light-theme.svg",
    "imageDarkMode": "/images/logo-dark-theme.svg",
    "height": 75,
    "width": 96
  },
  "home": {
    "blogPageSize": 4
  },
  "blog": {
    "title": "The Blog",
    "description": "A blog for all occassions",
    "pageSize": 3,
    "excerptWordLength": 30,
    "endpoint": "/blog"
  },
  "footer": {
    "description": "Managed with [Front Matter](https://frontmatter.codes/).  \nMade with [Astro](https://astro.build).",
    "copyrightMessage": "**Twenty Something**. [MIT License](https://opensource.org/license/mit).",
    "copyrightYear": true
  }
}

Style Tokens

Global and Theme Properties src/data/tokens.json
{
  "props": {
    "global": {
      "font-sans": "Inter Variable, Inter, system-ui, -apple-system, sans-serif",
      "font-mono": "ui-monospace, \"SF Mono\", Menlo, monospace",
      "font-serif": "Cardo, ui-serif, serif",
      "font-weight-bold": "var(--font-weight-6)",
      "radius": "var(--radius-3)",
      "size-gutter": "var(--size-fluid-4)",
      "astro-code-color-text": "var(--ink-1)",
      "astro-code-color-background": "var(--surface-overlay)",
      "astro-code-token-constant": "var(--ink-1)",
      "astro-code-token-string": "var(--accent)",
      "astro-code-token-parameter": "var(--accent)",
      "astro-code-token-punctuation": "var(--ink-1)",
      "astro-code-token-link": "var(--accent)",
      "astro-code-token-comment": "var(--ink-muted)",
      "palette-hue": "var(--oklch-blue)",
      "palette-hue-rotate-by": "0",
      "palette-chroma": "1",
      "gray-chroma": ".1"
    },
    "theme": {
      "light": {
        "accent": "var(--color-9)",
        "brand": "var(--accent)",
        "ink-1": "var(--gray-15)",
        "ink-2": "var(--gray-13)",
        "surface-1": "var(--gray-0)",
        "surface-2": "var(--gray-2)",
        "surface-3": "var(--gray-3)",
        "link": "var(--color-10)",
        "link-visited": "var(--color-12)",
        "link-hover": "var(--color-8)",
        "link-active": "var(--color-12)",
        "ink-overlay": "var(--gray-2)",
        "ink-muted": "var(--gray-10)",
        "text-strong": "var(--color-12)",
        "separator": "var(--gray-4)",
        "surface-overlay": "var(--surface-1)",
        "note": "var(--blue-8)",
        "danger": "var(--red-8)",
        "warning": "var(--yellow-6)",
        "tip": "var(--teal-6)",
        "bug": "var(--pink-6)",
        "info": "var(--cyan-6)",
        "success": "var(--green-6)",
        "todo": "var(--blue-6)",
        "failure": "var(--pink-6)",
        "question": "var(--orange-6)",
        "example": "var(--purple-6)",
        "quote": "var(--stone-6)",
        "abstract": "var(--violet-6)",
        "astro-code-token-keyword": "var(--color-9)",
        "astro-code-token-function": "var(--color-11)",
        "astro-code-token-string-expression": "var(--color-13)"
      },
      "dark": {
        "accent": "var(--color-5)",
        "brand": "var(--accent)",
        "ink-1": "var(--gray-1)",
        "ink-2": "var(--gray-3)",
        "surface-1": "var(--gray-15)",
        "surface-2": "var(--gray-14)",
        "surface-3": "var(--gray-13)",
        "link": "var(--color-5)",
        "link-visited": "var(--color-6)",
        "link-hover": "var(--color-4)",
        "link-active": "var(--color-6)",
        "separator": "var(--gray-10)",
        "ink-overlay": "var(--gray-14)",
        "ink-muted": "var(--gray-4)",
        "surface-overlay": "var(--surface-3)",
        "text-strong": "var(--color-1)",
        "note": "var(--blue-3)",
        "danger": "var(--red-3)",
        "warning": "var(--yellow-3)",
        "tip": "var(--teal-3)",
        "bug": "var(--pink-3)",
        "info": "var(--cyan-3)",
        "success": "var(--green-3)",
        "todo": "var(--blue-3)",
        "failure": "var(--pink-3)",
        "question": "var(--orange-3)",
        "example": "var(--purple-3)",
        "quote": "var(--stone-3)",
        "abstract": "var(--violet-3)",
        "astro-code-token-keyword": "var(--color-1)",
        "astro-code-token-function": "var(--color-3)",
        "astro-code-token-string-expression": "var(--color-5)"
      }
    }
  }
}
Primary Navigation src/data/navigation.json
[
  {
    "name": "Home",
    "url": "/"
  },
  {
    "name": "Blog",
    "url": "/blog",
    "rel": "prefetch"
  },
  {
    "name": "Theme Info",
    "url": "",
    "children": true,
    "childItems": [
      {
        "name": "Guide",
        "url": "/guide",
        "rel": "prefetch"
      },
      {
        "name": "Markdown Sample",
        "url": "/markdown-sample",
        "rel": "prefetch"
      },
      {
        "name": "Configuration",
        "url": "/configuration",
        "rel": "prefetch"
      },
      {
        "name": "Repository",
        "url": "https://github.com/djmtype/twenty-something",
        "rel": "noopener",
        "target": "_blank"
      }
    ]
  }
]

Colophon

Colophon Links src/data/colophon.json
[
  {
    "heading": "About",
    "content": [
      {
        "name": "Team",
        "url": "#main",
        "rel": "prefetch"
      },
      {
        "name": "History",
        "url": "#main"
      },
      {
        "name": "Careers",
        "url": "#main"
      }
    ]
  },
  {
    "heading": "Privacy",
    "content": [
      {
        "name": "Privacy Policy",
        "url": "#main",
        "rel": ""
      },
      {
        "name": "Terms & Conditions",
        "url": "#main"
      },
      {
        "name": "Contact Us",
        "url": "#main",
        "rel": ""
      }
    ]
  },
  {
    "heading": "Social",
    "content": [
      {
        "name": "Facebook",
        "url": "https://facebook.com",
        "target": "_blank",
        "rel": "noopener"
      },
      {
        "name": "Instagram",
        "url": "https://instagram.com",
        "target": "_blank",
        "rel": "noopener"
      },
      {
        "name": "Twitter/X",
        "url": "https://twitter.com",
        "target": "_blank",
        "rel": "noopener"
      }
    ]
  }
]