You are looking at the development branch. Look at the stable branch for the current release version.
! 5000blogs is nearly feature-stable, but we still advise against using 5000blogs in mission-critical scenarios until it reached version 1.0.
5000blogs is a lightweight platform for blogging and publishing markdown files.
You can use it either as a complete backend to drive your blog, digital garden, or documentation - or you can use it as a library to build something more custom!
This repo contains a full engine capable of driving your markdown-based blog, including a reference implementation of a full blog server that you can use directly and extend if you ever need to.
It was built and tested to be easily able to reach a score of 100 in every category of chrome lighthouse tests, automatically generate social media preview images, rss and atom feeds, sitemaps, robots.txt and anything else you might want for optimal SEO.
Currently, we have full documentation for using 5000blogs as a blog server (which is powered by 5000blogs). We will publish documentation for using 5000blogs as a library once our API is stable, probably once we are nearing version 1.0.
assumes a terminal opened within the cloned repository, with go or docker set up
CONFIG_PATH=./config.demo.yml go run .docker compose up --build5000blogs does not have any runtime dependencies and executes no writing operations, so it would be reasonable to just use a binary build. But it is recommended to use docker(-compose) for this, to keep things clean and reproducible.
Here is a simple docker-compose.yml, that simply mounts a config and a posts folder:
services:
5000blogs:
image: ghcr.io/5000k/5000blogs:latestports:
- "8080:8080"volumes:
- ./config.yml:/config.yml:ro
- ./posts:/posts:roOr using docker run:
docker run -d \
--name 5000blogs \
-p 8080:8080 \
-v ./config.yml:/config.yml:ro \
-v ./posts:/posts:ro \
ghcr.io/5000k/5000blogs:latestAnd here is a simple config.yml that you can tweak:
blog_name: Blogsite_url: http://localhost:8080 # the URL your blog will be available under. Very relevant for a functional RSS-feed!# These are quick links that will be shown in the top bar.# Use this to link to whatever are the most important pages on your site.# These could also be links to other websites.nav_links:
- name: 'Posts'url: '/posts'For full instructions, read our Docs.