A minimal and rich Astro theme designed for Documentation, Blogs, and Portfolios.
sitemap.xml / robots.txt./blog and /docs collections.astro-pagefind for instantaneous, typo-tolerant full-text search right inside a modal.The easiest way to start is by cloning this repository or using it as a template:
git clone https://github.com/twil3akine/ravin.git my-project
cd my-project
You can use npm, pnpm, or bun.
bun install
bun run dev
Visit http://localhost:4321/ to view your site!
Open astro.config.mjs to update the core settings of your site.
import { defineConfig } from 'astro/config';
export default defineConfig({
// Update this to your deployed domain for OGP and sitemap URLs
site: 'https://your-domain.com',
// ...
});
To update the main layout (e.g. Navigation Links, Site Title), edit the properties passed to <Header> and <Footer> inside src/layouts/Layout.astro.
Inside of your Astro project, you'll see the following folders and files:
/
āāā public/ # Static assets (images, fonts, robots.txt)
āāā src/
ā āāā components/ # Reusable Astro & Svelte UI components
ā āāā content/ # MDX Markdown files (.mdx)
ā ā āāā blog/ # Blog collection
ā ā āāā docs/ # Documentation collection
ā āāā layouts/ # Global UI wrapper (`Layout.astro`)
ā āāā pages/ # Astro routing system
ā āāā styles/ # Global CSS and Custom Properties
āāā astro.config.mjs # Astro configuration file
āāā package.json # NPM dependencies
Ravin leverages Astro's Content Collections to give you type safety.
Place your new articles as .mdx files inside src/content/blog/ or src/content/docs/.
A typical frontmatter block looks like this:
---
title: 'Your Article Title'
description: 'A brief description of the article for SEO.'
date: 2024-05-10
image: '/path/to/ogp.jpg' # Optional
---
Your markdown and components go here!
This theme is available under the MIT license.