A web-based, shareable, self-hosted Markdown editor built with deno

jerryliao d69e653185 Rename SharePasswordForm to SharePasswordFrame, move /share-verify to /share/verify 2 天之前
.githooks a651c8ddcd Optimize pre-commit by OpenCode 2 天之前
.vscode 92e36d18ad Bump dependency versions & add CICD support 2 年之前
assets 4e6d300a55 Add dark theme and tests by Claude Code & Formatting code 2 天之前
components 8cb41ad8cd Optimize ThemeToggle in LoginFrame 2 天之前
islands d69e653185 Rename SharePasswordForm to SharePasswordFrame, move /share-verify to /share/verify 2 天之前
routes d69e653185 Rename SharePasswordForm to SharePasswordFrame, move /share-verify to /share/verify 2 天之前
static 4e6d300a55 Add dark theme and tests by Claude Code & Formatting code 2 天之前
tests d69e653185 Rename SharePasswordForm to SharePasswordFrame, move /share-verify to /share/verify 2 天之前
utils 460a34e004 Add password protection for shared posts 2 天之前
.dockerignore 615c769e74 Add api and util tests by OpenCode 4 天之前
.drone.yml 92e36d18ad Bump dependency versions & add CICD support 2 年之前
.gitignore 9b9f7f20f8 Remove Vite cache folder 3 天之前
Dockerfile 58755619ad Update doc & Dockerfile 1 周之前
LICENSE 79f751ee49 Initial commit 2 年之前
README.md a651c8ddcd Optimize pre-commit by OpenCode 2 天之前
client.ts 74efd0d06c Finish Fresh 2.x upgrade 2 周之前
deno.json 9be6a112cf Setup git hooks by Claude Code 3 天之前
deno.lock 4e04308a4e Add UI tests by Claude Code 3 天之前
main.ts 74efd0d06c Finish Fresh 2.x upgrade 2 周之前
tailwind.config.ts 462a5be3cc Switch to tailwind styles by OpenCode 4 天之前
vite.config.ts 462a5be3cc Switch to tailwind styles by OpenCode 4 天之前

README.md

postdown

the postdown logo designed by Chris Peng

Build Status

A web-based, shareable, self-hosted Markdown editor built with deno

Demo

Visit https://post.jerryliao.cn

Deployment

You can deploy the project with docker by using Dockerfile in this repo to build a docker image or use Deno Deploy officially recommended in this doc

Development

Install deno runtime according to this doc, then run the setup task to install dependencies and enable git hooks:

deno task setup

Start the dev server and visit localhost:8000:

deno task dev

Available tasks

  • deno task dev - Start the development server
  • deno task test - Run all tests (backend + UI)
  • deno task check - Check formatting, linting, and types
  • deno task setup - Install dependencies and configure git hooks

Git hooks

A pre-commit hook is configured via .githooks/ to automatically format staged files and run tests before each commit. If auto-formatting fails, the commit is aborted. The deno task setup command enables this by setting core.hooksPath to .githooks/.