Skip to content

ghalambaz/Calligra

Repository files navigation

README.md

🖋️ Calligra Astro Template

A free, open-source static site template and deployment toolkit designed for developers who want to own their content. Built on top of the excellent Astro Resume Theme, Calligra includes pre-configured automation scripts and tutorials to help you write once and publish to multiple destinations effortlessly.

This repository powers the live production site at calligra.dev.


🚀 Features

  • Write Once, Publish Anywhere: Automation workflows for syncing content from Notion and cross-posting Markdown articles to Medium, Dev.to, and Hashnode.
  • Modern Stack: Built with Astro for ultimate speed and styled with Tailwind CSS for easy customization.
  • Enhanced Blog Engine: Extended from the base theme to include native Search, Categories, and Tags, plus a dynamic homepage widget showcasing your latest posts.
  • Performance First: Lightweight architecture delivering outstanding Lighthouse/PageSpeed scores, fully responsive layouts, and built-in SEO optimization.
  • Dark Mode: Seamless light/dark mode transition out of the box.

🚀 Deployment & Compatibility Status

Platform Status Notes
Astro (local) ✅ Native Fully supported
Dev.to ✅ Compatible Verified complete compatibility
Medium ⚠️ Issues "Importer struggles with
, , and
 tags"
Hashnode ⏳ Pending Awaiting testing; markdown generation only

🛠️ Getting Started

Prerequisites

This project uses bun as its primary package manager, though you can substitute it with npm, pnpm, or yarn.

Installation

  1. Clone the repository:
    git clone [https://github.com/ghalambaz/Calligra](https://github.com/ghalambaz/Calligra)
    cd Calligra
  2. Install dependencies:
    bun install
  3. Install dependencies:
    bun run dev

Open http://localhost:4321 in your browser to view the site.

🧞 Commands

Make Action
make run Starts local dev server at localhost:4321
make build build your production site, put content to the output directory
make sync Pull content from Notion and generate Markdown posts
make deploy Push your production content to the remote repo (github pages)

Content Sync and Publishing Automation

The project includes a Notion sync command and a set of make targets for publishing posts to external platforms.

Command Table

Command Description Required Arguments Status
make sync Pull posts from Notion and write them to src/content/blog. NOTION_TOKEN, NOTION_DATABASE_ID Ready
make publish Scan all posts; process changed ones. None Ready
make publish-one Force process a specific post. slug Ready
make set-meta Modify frontmatter for a specific post. slug, key, value Ready
make hash-show View all tracking hashes and status. None Ready
make hash-reset Reset cache hash for one specific post. slug Ready
make hash-reset-all Reset cache hashes for all posts. None Ready

Notes

make sync reads NOTION_TOKEN and NOTION_DATABASE_ID from your environment before generating posts.

make publish and the other publishing targets are available now through the bin/publish script.

⚖️ License & Acknowledgments

Credits

Calligra is built as an extended variant of the astro-resume-theme created by Wasut Panyawiphat, which is also distributed under the MIT License. I am incredibly grateful for their foundational work.

About

Is a free Astro template, including some scripts and tutorials to help you write once publish to multiple destinations

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors