feat: implement WYSIWYG markdown editor with Go backend and React frontend

- Backend: Go HTTP server with Cobra CLI (--data-dir, --port, --host flags)
- CRUD REST API for markdown files with JSON error responses
- File storage in flat directory structure (flat structure, .md files only)
- Comprehensive logrus logging for all operations
- Static file serving for frontend build (./frontend/dist)
- Frontend: React + TypeScript + Tailwind CSS
- Markdown editor with live GFM preview
- File management: list, create, open, save, delete
- Theme system (Dark, Light, System) with persistence
- Responsive design for desktop and mobile
- Backend tests (storage, API handlers) and frontend tests
This commit is contained in:
2026-02-06 16:00:51 -05:00
parent d683c50c34
commit 702281c6cf
26 changed files with 6290 additions and 0 deletions

26
Makefile Normal file
View File

@@ -0,0 +1,26 @@
.PHONY: all build test frontend backend frontend-build backend-test
all: build
build: backend frontend-build
@echo "Build complete"
test: backend-test frontend-test
backend:
go build -o eval ./cmd
backend-test:
go test ./internal/storage ./internal/api -v
frontend:
npm --prefix frontend install
frontend-build:
npm --prefix frontend run build
frontend-test:
npm --prefix frontend run test
frontend-dev:
npm --prefix frontend run dev