You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Niko Abeler 0b9da1860f refactoring to have full http response in parser 1 year ago
.vscode refactoring 1 year ago
assets removed reference 1 year ago
cmd/owl command to send webmentions 1 year ago
embed add u-url to post page 1 year ago
.gitignore renamed old file 1 year ago
Dockerfile adjust Dockerfile 1 year ago
README.md WIP outgoing webmentions 1 year ago
directories.go limit posts to single depth directory 1 year ago
embed.go refactoring rendering 1 year ago
go.mod start to use a proper cli library 1 year ago
go.sum start to use a proper cli library 1 year ago
owl_test.go refactoring to have full http response in parser 1 year ago
post.go refactoring to have full http response in parser 1 year ago
post_test.go refactoring to have full http response in parser 1 year ago
release.sh release 1 year ago
renderer.go Scanning for webmentions in posts 1 year ago
renderer_test.go add u-url to post page 1 year ago
repository.go refactoring to have full http response in parser 1 year ago
repository_test.go refactoring to have web config (single user, unsafe) in config of repo 1 year ago
rss.go refactoring reading Meta and RenderedContent 1 year ago
rss_test.go items in rss feed. #3 1 year ago
user.go add webmention link to base.html 1 year ago
user_test.go refactoring to have web config (single user, unsafe) in config of repo 1 year ago
webmention.go refactoring to have full http response in parser 1 year ago
webmention_test.go refactoring to have full http response in parser 1 year ago

README.md

Mascot

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
            \- status.yml
                -- Used to track various process status related to the post, 
                -- such as if a webmention was sent.
            \- media/
                -- Contains all media files used in the blog post.
                -- All files in this folder will be publicly available
            \- webmention/
               \- <hash>.yml
                    -- Contains data for a received webmention
  \- 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
date: 13 Aug 2022 17:07 UTC
aliases:
     - /my/new/post
     - /old_blog_path/
---

Actual post

status.yml

webmentions:
     - target: https://example.com/post
       supported: true
       scanned_at: 2021-08-13T17:07:00Z
       last_sent_at: 2021-08-13T17:07:00Z