{"id":13761863,"url":"https://github.com/m1guelpf/mirror-next","last_synced_at":"2025-05-07T16:06:34.470Z","repository":{"id":41456783,"uuid":"347231815","full_name":"m1guelpf/mirror-next","owner":"m1guelpf","description":"A Next.js-powered frontend for your Mirror publication","archived":false,"fork":false,"pushed_at":"2024-05-22T00:10:33.000Z","size":331,"stargazers_count":146,"open_issues_count":0,"forks_count":27,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-01-02T22:09:33.320Z","etag":null,"topics":["arweave","crypto","mirror","mirror-xyz","nextjs","web3"],"latest_commit_sha":null,"homepage":"https://m1guelpf.blog","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/m1guelpf.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"m1guelpf"}},"created_at":"2021-03-13T00:15:00.000Z","updated_at":"2024-12-30T23:19:04.000Z","dependencies_parsed_at":"2024-10-24T14:27:46.708Z","dependency_job_id":"4a0e4df9-5734-43be-a5c0-cc98f100f036","html_url":"https://github.com/m1guelpf/mirror-next","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/m1guelpf%2Fmirror-next","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/m1guelpf%2Fmirror-next/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/m1guelpf%2Fmirror-next/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/m1guelpf%2Fmirror-next/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/m1guelpf","download_url":"https://codeload.github.com/m1guelpf/mirror-next/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":233352224,"owners_count":18663257,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["arweave","crypto","mirror","mirror-xyz","nextjs","web3"],"created_at":"2024-08-03T14:00:30.842Z","updated_at":"2025-01-10T13:34:07.196Z","avatar_url":"https://github.com/m1guelpf.png","language":"TypeScript","funding_links":["https://github.com/sponsors/m1guelpf"],"categories":["Build with Nextjs"],"sub_categories":[],"readme":"# A Next.js-powered frontend for your Mirror blog\n\n\u003e This project mimics the [Mirror](https://mirror.xyz) publication design and pulls data from their APIs, allowing you to self-host your Mirror blog on a custom domain.\n\nYou can view a demo of this project by visiting [m1guelpf.blog](https://m1guelpf.blog), which hosts the [my Mirror publication](https://miguel.mirror.xyz).\n\n## Features\n\n-   [x] Article list\n-   [x] Article page\n-   [x] Code highlighting (using VSCode's rendering engine, allows for custom themes. Currently using `github-light` and `github-dark`, depending on the publication's theme)\n-   [x] Dark mode (when enabled on Mirror)\n-   [x] Patience page (when no articles exist)\n-   [x] Static generation (all pages should load instantly once deployed)\n-   [x] Static re-generation (new articles should appear without re-deploying)\n-   [x] Embeds\n    -   [x] Tweet embeds\n    -   [x] YouTube embeds\n    -   [x] Additional embeds (CodePen, JSBin, Gists, etc., not sure if supported by Mirror already)\n    -   [x] NFT embeds\n    -   [x] Bookmark cards (Open Graph)\n-   [x] Email list support (when enabled on Mirror)\n-   [x] Pull content from Arweave\n-   [x] Write Mirror entry about this project\n\n## Development\n\n-   Clone this repo in a local directory\n-   Install dependencies (`pnpm install`)\n-   Copy the `.env.example` file to `.env.local`, and fill in your mirror subdomain and an RPC URL\n-   Start the server! (`pnpm dev`)\n\n## Deploying to Vercel\n\nYou can deploy this project to Vercel (and load your own publication!) by clicking the button below:\n\n[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/git/external?repository-url=https%3A%2F%2Fgithub.com%2Fm1guelpf%2Fmirror-next\u0026env=NEXT_PUBLIC_AUTHOR_ENS,NEXT_PUBLIC_RPC_URL\u0026envDescription=The%20ENS%20for%20the%20publication%20you%20want%20to%20load%2C%20and%20an%20RPC%20URL.\u0026project-name=mirror-next\u0026repo-name=mirror-next)\n\nOnce it's ready, you should be able to attach your custom domain from the Vercel settings page.\n\n## FAQ\n\n**Is this decentralized?**\n\nKind of. While I'm pulling the entry listing and contents from the Arweave chain directly, the publication details come from Mirror's APIs.\n\n**Why did you make this?**\n\nI like playing with stuff :). I really like Mirror's design, so I decided to create a [Ghost](https://ghost.org) theme \"inspired\" by their design. Once that was finished, I decided to turn that theme into something slightly more useful.\n\n**Who are you?**\n\n:wave: Hi! I'm [Miguel Piedrafita](https://twitter.com/m1guelpf), an 22-year-old maker. You can follow my journey and all the little things I make on the way [on Twitter](https://twitter.com/m1guelpf).\n\n**I have another question**\n\nRead [Building apps with Mirror](https://m1guelpf.blog/post/building-apps-with-mirror), an entry I wrote in my own Mirror publication explaining how this project works, and how you can build your own Mirror apps. If you still have questions after that, [drop me a line on Twitter](https://twitter.com/m1guelpf).\n\n## License\n\nThis project is open-sourced software licensed under the MIT license. See the [License file](LICENSE.md) for more information.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fm1guelpf%2Fmirror-next","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fm1guelpf%2Fmirror-next","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fm1guelpf%2Fmirror-next/lists"}