Go to file
Niko Abeler 1b99eaa016 WIP RSS renderer. #3 2022-08-13 15:32:26 +02:00
.vscode refactoring 2022-07-20 19:32:32 +02:00
cmd WIP RSS renderer. #3 2022-08-13 15:32:26 +02:00
embed WIP RSS renderer. #3 2022-08-13 15:32:26 +02:00
.gitignore .gitignore + README 2022-08-03 16:49:17 +02:00
README.md some more docs in README 2022-08-08 22:17:03 +02:00
directories.go limit posts to single depth directory 2022-08-03 18:03:10 +02:00
go.mod renaming to owl-blogs 2022-08-03 16:55:48 +02:00
go.sum http router 2022-08-01 21:06:48 +02:00
kiss_test.go renaming to owl-blogs 2022-08-03 16:55:48 +02:00
post.go Collect aliases 2022-08-06 19:38:13 +02:00
post_test.go refactoring + tests for web 2022-08-03 19:41:13 +02:00
renderer.go testing single user mode 2022-08-05 22:04:03 +02:00
renderer_test.go renaming to owl-blogs 2022-08-03 16:55:48 +02:00
repository.go WIP RSS renderer. #3 2022-08-13 15:32:26 +02:00
repository_test.go Collect aliases 2022-08-06 19:38:13 +02:00
rss.go WIP RSS renderer. #3 2022-08-13 15:32:26 +02:00
rss_test.go WIP RSS renderer. #3 2022-08-13 15:32:26 +02:00
user.go integration of alias redirect in other handlers. #2 2022-08-13 11:26:17 +02:00
user_test.go refactoring + tests for web 2022-08-03 19:41:13 +02:00

README.md

Owl Blogs

A simple web server for blogs generated from Markdown files

Repository

A repository holds all data for a web server. It contains multiple users.

User

A user has a collection of posts. Each directory in the /users/ directory of a repository is considered a user.

User Directory structure

<user-name>/
  \- public/
       \- <post-name>
            \- index.md
                -- This will be rendered as the blog post.
                -- Must be present for the blog post to be valid.
                -- All other folders will be ignored
            \- media/
                -- Contains all media files used in the blog post.
                -- All files in this folder will be publicly available
  \- meta/
       \- base.html
            -- The template used to render all sites
       \- VERSION
            -- Contains the version string.
            -- Used to determine compatibility in the future
  \- config.yml
        -- Contains settings global to the user.
        -- For example: page title and style options

Post

Posts are Markdown files with a mandatory metadata head.

  • The title will be added to the web page and does not have to be reapeated in the body. It will be used in any lists of posts.
  • aliases are optional. They are used as permanent redirects to the actual blog page.
---
title: My new Post
aliases:
     - /my/new/post
     - /old_blog_path/
---

Actual post