A Next.js application for sharing markdown files through generated links. Upload multiple .md files and get instant shareable URLs with beautiful rendering.
- 📄 Multi-file Upload: Drag & drop or select multiple markdown files
- 🔗 Instant Share Links: Get shareable URLs immediately after upload
- ✨ Rich Rendering: Beautiful markdown rendering with syntax highlighting
- 🌙 Dark Mode: Toggle between light and dark themes
- 📱 Responsive: Works great on desktop and mobile
- 🚀 Fast: Built with Next.js and Supabase for optimal performance
- Frontend: Next.js, React, Tailwind CSS
- Backend: Next.js API Routes
- Database: Supabase (PostgreSQL)
- Markdown: react-markdown with plugins
- Deployment: Vercel
- Node.js 18+
- A Supabase account and project
-
Clone the repository
git clone <your-repo-url> cd markdown-share
-
Install dependencies
npm install
-
Set up Supabase
- Create a new project at supabase.com
- Go to Settings > API to get your project URL and anon key
- Run the SQL from
database.sqlin your Supabase SQL editor
-
Configure environment variables
cp .env.example .env.local
Edit
.env.localand add your Supabase credentials:NEXT_PUBLIC_SUPABASE_URL=your_supabase_project_url NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key -
Run the development server
npm run dev
-
Open your browser Navigate to http://localhost:3000
Run the following SQL in your Supabase SQL editor:
-- See database.sql file for complete setup- Upload Files: Drag and drop
.mdfiles or click to browse - Get Links: Receive shareable URLs for each uploaded file
- Share: Send the links to anyone - no account required to view
- View: Beautiful rendered markdown with syntax highlighting
- File Types: Only
.mdand.markdownfiles - File Size: Maximum 5MB per file
- Storage: Uses Supabase free tier (500MB total)
-
Push to GitHub
git add . git commit -m "Initial commit" git push origin main
-
Deploy on Vercel
- Go to vercel.com
- Import your GitHub repository
- Add environment variables in Vercel dashboard
- Deploy!
Make sure to set these in your Vercel dashboard:
NEXT_PUBLIC_SUPABASE_URL=your_supabase_project_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
POST /api/upload- Upload markdown filesGET /api/md/[token]- Retrieve markdown content by share token
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
MIT License - see LICENSE file for details
- File size limit: 5MB per file
- Supported formats:
.md,.markdown - Free tier limitations apply (Supabase free plan)
Built with ❤️ using Next.js and Supabase