A deployable markdown editor that connects with your self hosted files and lets you edit in a beautiful interface

docs: updates readme

+11 -72
+11 -72
README.md
··· 13 13 - **⚡ Fast & Lightweight** - Built with modern technologies for optimal performance 14 14 - **🐳 Docker Ready** - Easy deployment with Docker and docker-compose 15 15 16 - ## Tech Stack 17 - 18 - ### Backend 19 - - **Go 1.24+** - High-performance backend server 20 - - **chi** - Lightweight router 21 - - **go-git** - Native Git operations 22 - - **SQLite** (modernc.org/sqlite) - Pure Go database, no CGO required 23 - - **goth** - GitHub OAuth authentication 24 - 25 - ### Frontend 26 - - **Astro** - Fast, client-only static site generation 27 - - **React 18** - UI components 28 - - **TipTap** - WYSIWYG markdown editor 29 - - **shadcn/ui** - Beautiful, accessible components 30 - - **Tailwind CSS** - Utility-first styling 31 - - **React Query** - Data fetching and state management 32 - 33 16 ## Quick Start 34 17 35 18 ### Prerequisites ··· 40 23 ### Run with Docker 41 24 42 25 1. Clone the repository: 26 + 43 27 ```bash 44 28 git clone https://github.com/yourusername/markedit.git 45 29 cd markedit 46 30 ``` 47 31 48 32 2. Copy the environment file and configure: 33 + 49 34 ```bash 50 35 cp .env.example .env 51 36 # Edit .env with your GitHub OAuth credentials 52 37 ``` 53 38 54 39 3. Start the application: 40 + 55 41 ```bash 56 42 make up 57 43 ``` ··· 67 53 #### Backend 68 54 69 55 Requirements: 56 + 70 57 - Go 1.24 or higher 71 58 72 59 ```bash ··· 83 70 #### Frontend 84 71 85 72 Requirements: 73 + 86 74 - Bun 1.x or higher 87 75 88 76 ```bash ··· 121 109 - Published changes replace the draft content 122 110 - Drafts are automatically deleted after successful PR creation 123 111 124 - ## Architecture 125 - 126 - ``` 127 - markedit/ 128 - ├── backend/ # Go server 129 - │ ├── cmd/server/ # Main entry point 130 - │ ├── internal/ 131 - │ │ ├── api/ # HTTP handlers 132 - │ │ ├── auth/ # OAuth & sessions 133 - │ │ ├── database/ # SQLite & queries 134 - │ │ ├── git/ # Git operations 135 - │ │ └── markdown/ # Frontmatter parsing 136 - │ └── Dockerfile 137 - ├── frontend/ # Astro + React 138 - │ ├── src/ 139 - │ │ ├── components/ 140 - │ │ ├── lib/ # API client & hooks 141 - │ │ └── pages/ 142 - │ ├── nginx.conf 143 - │ └── Dockerfile 144 - └── docker-compose.yml 145 - ``` 146 - 147 - ## API Endpoints 148 - 149 - ### Authentication 150 - - `GET /auth/github` - Initiate GitHub OAuth flow 151 - - `GET /auth/github/callback` - OAuth callback handler 152 - - `GET /auth/user` - Get current user info 153 - - `POST /auth/logout` - Logout current user 154 - 155 - ### Repositories 156 - - `GET /api/repos` - List user's repositories 157 - - `GET /api/repos/:owner/:repo/files` - List files in repository 158 - - `GET /api/repos/:owner/:repo/files/*path` - Get file content 159 - - `PUT /api/repos/:owner/:repo/files/*path` - Save draft content 160 - 161 - ### Git Operations 162 - - `GET /api/repos/:owner/:repo/branch/status` - Get current branch info 163 - - `POST /api/repos/:owner/:repo/publish` - Commit, push, and create PR 164 - 165 112 ## Configuration 166 113 167 114 ### Environment Variables ··· 169 116 See [SETUP.md](./SETUP.md) for detailed configuration instructions. 170 117 171 118 **Backend** (`.env`): 119 + 172 120 ```bash 173 121 GITHUB_CLIENT_ID=your_github_oauth_client_id 174 122 GITHUB_CLIENT_SECRET=your_github_oauth_client_secret ··· 179 127 ``` 180 128 181 129 **Frontend** (`frontend/.env`): 130 + 182 131 ```bash 183 132 PUBLIC_API_URL=http://localhost:8080 184 133 ``` ··· 189 138 190 139 1. Configure environment variables in `.env` 191 140 2. Build and start containers: 141 + 192 142 ```bash 193 143 make build 194 144 make up 195 145 ``` 196 146 197 147 3. Check logs: 148 + 198 149 ```bash 199 150 make logs 200 151 ``` 201 152 202 153 4. Stop containers: 154 + 203 155 ```bash 204 156 make down 205 157 ``` ··· 240 192 241 193 ## Contributing 242 194 243 - Contributions are welcome! Please follow these guidelines: 244 - 245 - 1. Fork the repository 246 - 2. Create a feature branch 247 - 3. Make your changes 248 - 4. Add tests if applicable 249 - 5. Submit a pull request 195 + I am not expecting contributions yet. I will have a guide here once I am ready. 250 196 251 197 ## License 252 198 ··· 257 203 For detailed setup instructions, see [SETUP.md](./SETUP.md) 258 204 259 205 For issues and feature requests, please use [GitHub Issues](https://github.com/yourusername/markedit/issues) 260 - 261 - ## Acknowledgments 262 - 263 - - [TipTap](https://tiptap.dev/) - Excellent WYSIWYG editor 264 - - [go-git](https://github.com/go-git/go-git) - Pure Go git implementation 265 - - [Astro](https://astro.build/) - Fast static site generator 266 - - [shadcn/ui](https://ui.shadcn.com/) - Beautiful component library