An alternative frontend for medium.com
Go to file
2023-05-28 23:56:23 +05:30
.github/workflows fix(test): FUCK YAML 2023-05-28 23:24:54 +05:30
api fix(previews): use the first h3 or p element for description 2023-05-28 23:56:23 +05:30
frontend feat: add opengraph and twitter previews 2023-05-28 23:51:48 +05:30
internal feat: add shutdown listener 2023-05-26 19:50:40 +05:30
pkg feat: add opengraph and twitter previews 2023-05-28 23:51:48 +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 feat: deploy via fly.io 2023-05-28 19:11:31 +05:30
fly.toml feat: deploy via fly.io 2023-05-28 19:11:31 +05:30
go.mod fix(paragraphs): fix ordered list rendering 2023-05-28 17:53:41 +05:30
go.sum feat: set up embedded static server 2023-05-27 13:27:01 +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 feat: set up embedded static server 2023-05-27 13:27:01 +05:30
README.md fix(readme): typo 2023-05-28 23:38:07 +05:30
response.json fix(markup): escape text before wrapping with markup 2023-05-28 19:56:48 +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.