Newsletter
Join the Community
Subscribe to our newsletter for the latest news and updates
The Esfahani Theme is a multilingue NuxtJs theme which aims to modernize, organize and enhance some aspects of personal website or weblog themes development.
The Esfahani Nuxt Theme is a bilingual English/Farsi starter for personal websites and weblogs built on Nuxt 4, using Prismic as a headless CMS and the GitHub REST API to power a Projects page.
It is a server-side-rendered Nuxt 4 theme that takes content from Prismic (articles, about, contact) and public GitHub repositories as inputs, and produces a personal website with English and Farsi locales, sitemap, RSS feeds, and SEO metadata. The theme is maintained by aynzad on GitHub and is licensed under the MIT license. It uses Vue 3, Nitro, SASS, and TypeScript throughout.
The README describes a setup: clone the repo, install with pnpm, copy .env.sample to .env, create a Prismic repository, and set environment variables such as NUXT_PUBLIC_API_URL. Then run pnpm dev for development or pnpm build for production. On the server, Nuxt fetches Prismic content and GitHub data, and optionally translates project metadata with Gemini.
Yes, it is open source under the MIT license, so you can use it for personal or commercial projects without licensing fees.
It uses Prismic as a headless CMS. You create an account, create a repository, and set NUXT_PUBLIC_API_URL to your endpoint. Custom types for about, contact, and articles are included in the repo.
Yes, it is bilingual with English and Farsi, and Farsi uses an RTL layout via @nuxtjs/i18n.
It uses the GitHub REST API to list public repos from the NUXT_PUBLIC_GITHUB_USERNAME, excluding forks and archives. A read-only GitHub token can be set to raise the API rate limit above the default 60 requests per hour.
The Farsi auto-translation of the Projects page is disabled and the page falls back to showing English content. The key is optional, but without it the translated strings are not generated.
