Overview:
This project is a Next.js-powered frontend designed to mimic the Mirror publication layout. It pulls data from Mirror APIs, enabling users to self-host their Mirror blog on a custom domain. The project includes features such as article lists, code highlighting, dark mode, static generation, embeds, NFT embeds, bookmark cards, email list support, and more.
Features:
- Article list: Display a list of articles.
- Article page: Navigate to individual article pages.
- Code highlighting: Use VSCode’s rendering engine for custom themes.
- Dark mode: Display content in dark mode when enabled on Mirror.
- Patience page: Show a page when no articles are available.
- Static generation: All pages load instantly once deployed.
- Static re-generation: New articles appear without requiring re-deployment.
- Embeds: Include tweet, YouTube, and additional embeds like CodePen, JSBin, Gists, etc.
- NFT embeds: Support for NFT embeds.
- Bookmark cards: Open Graph support for bookmarking.
- Email list support: Integration with Mirror for email lists.
- Pull content from Arweave: Directly fetch content from the Arweave chain.
Installation:
- Clone this repo in a local directory.
- Install dependencies with
pnpm install
. - Copy the
.env.example
file to.env.local
, and fill in your Mirror subdomain and an RPC URL. - Start the server using
pnpm dev
.
Summary:
This Next.js-powered project allows users to self-host their Mirror blog on a custom domain. With features such as article lists, code highlighting, embeds support, and NFT embeds, it provides a flexible and customizable frontend solution for Mirror users. The easy installation process and deployment options make it accessible for users looking to enhance their Mirror publications.