MarkFlow π
MarkFlow is a simple and efficient Markdown file management system built using Go and Gin. It provides grammar checking, file uploads, and the ability to retrieve Markdown files as HTML.
β¨ Features
- β
Grammar checking for Markdown files
- π Upload Markdown files
- π Retrieve Markdown files as HTML
- π List all uploaded files
π₯ Installation
Prerequisites
- π Go 1.24.1 or higher
- π cURL (for API requests)
Install Go using Pacman (Arch Linux)
sudo pacman -S go
Install cURL
sudo pacman -S curl
Clone the Repository
git clone https://github.com/Abhishek2010dev/MarkFlow.git
cd MarkFlow
Install Dependencies
go mod tidy
Run the Application
go run main.go
π‘ API Endpoints
π Check Grammar
POST /check-grammer
- Request:
- π Form-data:
file (Markdown file)
- Response: JSON object with grammar suggestions
cURL Example:
curl -X POST http://localhost:8080/check-grammer \
-F "file=@test.md" \
-H "Content-Type: multipart/form-data" | jq
π€ Upload Markdown File
POST /notes
- Request:
- π Form-data:
file (Markdown file)
- Response: β
Confirmation of file upload
cURL Example:
curl -X POST http://localhost:8080/notes \
-F "file=@test.md" \
-H "Content-Type: multipart/form-data"
π Retrieve Markdown as HTML
GET /notes/{filename}
- Response: π₯ HTML version of the Markdown file
cURL Example:
curl http://localhost:8080/notes/test.md
π List All Files
GET /notes
- Response: π JSON object listing uploaded files
cURL Example:
curl http://localhost:8080/notes
π¦ Dependencies
MarkFlow uses the following dependencies:
github.com/gin-gonic/gin - β‘ HTTP web framework
github.com/yuin/goldmark - π Markdown parser
github.com/goccy/go-json - π High-performance JSON library
π Reference
For more inspiration on building a Markdown note-taking app, check out this guide.
π License
This project is licensed under the MIT License.
π¨βπ» Author
Abhishek2010dev