[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-71324":3},{"id":4,"name":5,"fullName":6,"owner":5,"repo":5,"description":7,"homepage":8,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":16,"stars7d":17,"stars30d":18,"stars90d":15,"forks30d":15,"starsTrendScore":19,"compositeScore":20,"rankGlobal":9,"rankLanguage":9,"license":21,"archived":22,"fork":22,"defaultBranch":23,"hasWiki":22,"hasPages":22,"topics":24,"createdAt":9,"pushedAt":9,"updatedAt":35,"readmeContent":36,"aiSummary":37,"trendingCount":15,"starSnapshotCount":15,"syncStatus":38,"lastSyncTime":39,"discoverSource":40},71324,"papermark","papermark\u002Fpapermark","Papermark is the open-source DocSend alternative with built-in analytics and custom domains.","https:\u002F\u002Fwww.papermark.com",null,"TypeScript",8471,1255,27,98,0,14,24,257,42,40.3,"Other",false,"main",[25,26,27,28,29,30,31,32,33,34],"dataroom","next-auth","nextjs","open-source","pdf","postgresql","prisma","tailwindcss","typescript","zod","2026-06-12 02:02:50","\u003Cdiv align=\"center\">\n  \u003Ch1 align=\"center\">Papermark\u003C\u002Fh1>\n  \u003Ch3>The open-source DocSend alternative.\u003C\u002Fh3>\n\n\u003Ca target=\"_blank\" href=\"https:\u002F\u002Fwww.producthunt.com\u002Fposts\u002Fpapermark-3?utm_source=badge-top-post-badge&amp;utm_medium=badge&amp;utm_souce=badge-papermark\">\u003Cimg src=\"https:\u002F\u002Fapi.producthunt.com\u002Fwidgets\u002Fembed-image\u002Fv1\u002Ftop-post-badge.svg?post_id=411605&amp;theme=light&amp;period=daily\" alt=\"Papermark - The open-source DocSend alternative | Product Hunt\" style=\"width:250px;height:40px\">\u003C\u002Fa>\n\n\u003C\u002Fdiv>\n\n\u003Cdiv align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fwww.papermark.com\">papermark.com\u003C\u002Fa>\n\u003C\u002Fdiv>\n\n\u003Cbr\u002F>\n\n\u003Cdiv align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fmfts\u002Fpapermark\u002Fstargazers\">\u003Cimg alt=\"GitHub Repo stars\" src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fmfts\u002Fpapermark\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Ftwitter.com\u002Fpapermarkio\">\u003Cimg alt=\"Twitter Follow\" src=\"https:\u002F\u002Fimg.shields.io\u002Ftwitter\u002Ffollow\u002Fpapermarkio\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fmfts\u002Fpapermark\u002Fblob\u002Fmain\u002FLICENSE\">\u003Cimg alt=\"License\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicense-AGPLv3-purple\">\u003C\u002Fa>\n\u003C\u002Fdiv>\n\n\u003Cbr\u002F>\n\nPapermark is the open-source document-sharing alternative to DocSend, featuring built-in analytics and custom domains.\n\n## Features\n\n- **Shareable Links:** Share your documents securely by sending a custom link.\n- **Custom Branding:** Add a custom domain and your own branding.\n- **Analytics:** Gain insights through document tracking and soon page-by-page analytics.\n- **Self-hosted, Open-source:** Host it yourself and customize it as needed.\n\n## Demo\n\n![Papermark Welcome GIF](.github\u002Fimages\u002Fpapermark-welcome.gif)\n\n## Tech Stack\n\n- [Next.js](https:\u002F\u002Fnextjs.org\u002F) – Framework\n- [TypeScript](https:\u002F\u002Fwww.typescriptlang.org\u002F) – Language\n- [Tailwind](https:\u002F\u002Ftailwindcss.com\u002F) – CSS\n- [shadcn\u002Fui](https:\u002F\u002Fui.shadcn.com) - UI Components\n- [Prisma](https:\u002F\u002Fprisma.io) - ORM [![Made with Prisma](https:\u002F\u002Fmade-with.prisma.io\u002Fdark.svg)](https:\u002F\u002Fprisma.io)\n- [PostgreSQL](https:\u002F\u002Fwww.postgresql.org\u002F) - Database\n- [NextAuth.js](https:\u002F\u002Fnext-auth.js.org\u002F) – Authentication\n- [Tinybird](https:\u002F\u002Ftinybird.co) – Analytics\n- [Resend](https:\u002F\u002Fresend.com) – Email\n- [Stripe](https:\u002F\u002Fstripe.com) – Payments\n- [Vercel](https:\u002F\u002Fvercel.com\u002F) – Hosting\n\n## Getting Started\n\n### Prerequisites\n\nHere's what you need to run Papermark:\n\n- Node.js (version >= 18.17.0)\n- PostgreSQL Database\n- Blob storage (currently [AWS S3](https:\u002F\u002Faws.amazon.com\u002Fs3\u002F) or [Vercel Blob](https:\u002F\u002Fvercel.com\u002Fstorage\u002Fblob))\n- [Resend](https:\u002F\u002Fresend.com) (for sending emails)\n\n### 1. Clone the repository\n\n```shell\ngit clone https:\u002F\u002Fgithub.com\u002Fmfts\u002Fpapermark.git\ncd papermark\n```\n\n### 2. Install npm dependencies\n\n```shell\nnpm install\n```\n\n### 3. Copy the environment variables to `.env` and change the values\n\n```shell\ncp .env.example .env\n```\n\n### 4. Initialize the database\n\n```shell\nnpm run dev:prisma\n```\n\n### 5. Run the dev server\n\n```shell\nnpm run dev\n```\n\n### 6. Open the app in your browser\n\nVisit [http:\u002F\u002Flocalhost:3000](http:\u002F\u002Flocalhost:3000) in your browser.\n\n## Tinybird Instructions\n\nTo prepare the Tinybird database, follow these steps:\n\n0. We use `pipenv` to manage our Python dependencies. If you don't have it installed, you can install it using the following command:\n   ```sh\n   pkgx pipenv\n   ```\n1. Download the Tinybird CLI from [here](https:\u002F\u002Fwww.tinybird.co\u002Fdocs\u002Fcli.html) and install it on your system.\n2. After authenticating with the Tinybird CLI, navigate to the `lib\u002Ftinybird` directory:\n   ```sh\n   cd lib\u002Ftinybird\n   ```\n3. Push the necessary data sources using the following command:\n   ```sh\n   tb push datasources\u002F*\n   tb push endpoints\u002Fget_*\n   ```\n4. Don't forget to set the `TINYBIRD_TOKEN` with the appropriate rights in your `.env` file.\n\n#### Updating Tinybird\n\n```sh\npipenv shell\n## start: pkgx-specific\ncd ..\ncd papermark\n## end: pkgx-specific\npipenv update tinybird-cli\n```\n\n## Contributing\n\nPapermark is an open-source project, and we welcome contributions from the community.\n\nIf you'd like to contribute, please fork the repository and make any changes you'd like. Pull requests are warmly welcome.\n\n### Our Contributors ✨\n\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fmfts\u002Fpapermark\u002Fgraphs\u002Fcontributors\">\n  \u003Cimg src=\"https:\u002F\u002Fcontrib.rocks\u002Fimage?repo=mfts\u002Fpapermark\" \u002F>\n\u003C\u002Fa>\n","Papermark 是一个开源的文档共享平台，提供内置分析和自定义域名功能。其核心功能包括通过安全链接分享文档、自定义品牌设置以及详细的文档跟踪分析。技术上，Papermark 基于 Next.js 和 TypeScript 构建，使用 Tailwind CSS 进行样式设计，并通过 Prisma ORM 与 PostgreSQL 数据库进行交互。此外，它还集成了 NextAuth.js 用于身份验证、Tinybird 用于数据分析、Resend 用于邮件发送以及 Stripe 用于支付处理。适用于需要在保证安全性的同时，还能对文档访问情况进行深入分析的企业和个人用户场景。",2,"2026-06-11 03:37:11","high_star"]