An alternative frontend for medium.com
Go to file
2024-02-25 13:44:57 +00:00
.github/workflows refactor(deploy): run deploy workflow only if tests succeeded 2023-05-29 14:53:04 +05:30
api fix(deps): bump gofiber/template/html to v2 2023-06-12 16:43:16 +05:30
frontend chore(deps): update dependency @tailwindcss/typography to v0.5.10 2024-02-25 13:44:57 +00:00
internal feat: add shutdown listener 2023-05-26 19:50:40 +05:30
pkg feat: add support for embedded content (iframes & gists) 2023-05-29 23:52:24 +05:30
.dockerignore feat: deploy via fly.io 2023-05-28 19:11:31 +05:30
.gitignore feat(deploy): add workflow to deploy to fly.io on push 2023-05-28 23:08:19 +05:30
Dockerfile chore(deps): update node.js to v20 2023-05-30 17:32:52 +00:00
fly.toml feat: deploy via fly.io 2023-05-28 19:11:31 +05:30
go.mod fix(deps): bump gofiber/template/html to v2 2023-06-12 16:43:16 +05:30
go.sum fix(deps): bump gofiber/template/html to v2 2023-06-12 16:43:16 +05:30
LICENSE-APACHE feat: add LICENSEs and README 2023-05-28 23:36:55 +05:30
LICENSE-MIT feat: add LICENSEs and README 2023-05-28 23:36:55 +05:30
main.go fix(deps): bump gofiber/template/html to v2 2023-06-12 16:43:16 +05:30
README.md fix(readme): typo 2023-05-28 23:38:07 +05:30
renovate.json Add renovate.json 2023-05-25 17:38:15 +00:00
response.json fix(markup): only escape innermost markup 2023-05-29 13:34:42 +05:30

medium.rip

This is an alternative frontend for Medium written in Go. I was inspired by the Scribe project, but wanted a few different things, and I did not know Crystal.

Building

Please feel free to self host and run this on your own. I only ask that you contribute any changes back upstream.

Dependencies

Building

First, build the frontend

cd frontend
pnpm i
pnpm run build

Then, build the binary. The frontend static files will be embedded in the binary using go:embed.

go mod download
go build .

You should now have a static binary called medium.rip that is self contained.

Dockerfile

You can alternately build and run via docker

docker build -t medium-rip .
docker run -p 3000:3000 -e PORT=3000 medium-rip

Licensing

Dual licensed under Apache 2.0 or MIT at your option.