A simple blogging platform with Haskell and Scotty
選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。
Gil Mizrahi 3e083d2424 comment out using docker 1週間前
_pages Home page and better mobile support for the light theme 3年前
_posts refactoring Post 5年前
app Update to stackage lts-16.15, add favicon and remove circle.yml 6ヶ月前
src/Web Add support for previews/twitter cards 1週間前
static fix css to not overflow images 3ヶ月前
.gitignore use musl, update license, update dark.css 6ヶ月前
LICENSE Add support for previews/twitter cards 1週間前
Makefile use musl, update license, update dark.css 6ヶ月前
README.md Add support for previews/twitter cards 1週間前
Setup.hs fixing small configuration stuff 4年前
hablog.cabal comment out using docker 1週間前
package.zsh use musl, update license, update dark.css 6ヶ月前
stack.yaml comment out using docker 1週間前
stack.yaml.lock Update to stackage lts-16.15, add favicon and remove circle.yml 6ヶ月前

README.md

Hablog

Hackage

A simple blog platform with tags. Made with Haskell and Scotty.

Hablog will read posts written in Markdown from the _posts folder.

License

Hablog is licensed under MIT license. This means the Haskell source files in the src directory. Highlight.js related content is not a part of Hablog and is not licensed by it.

Installation

git clone https://github.com/soupi/hablog
cd hablog
stack build

Running

hablog --title <TITLE> --theme <THEME> --domain <DOMAIN> <COMMAND> [--port <PORT> --tls-cert <TLS_CERT> --tls-port <TLS_PORT>]
  • <TITLE> is the title you want in the HTML headers;
  • <THEME> is light or dark, depending on the theme you want, to create your own themes look at the examples in /static/css;
  • <DOMAIN> is the domain you're running the blog on;
  • <COMMAND> is http, https, or both;
  • <PORT> is the http port (not required if COMMAND is https);
  • <TLS_CERT> is the https certificate (not required if COMMAND is http);
  • <TLS_PORT> is the https port (not required if COMMAND is http).

How to write a new post?

  1. All posts must go under the /_posts/ directory
  2. All pages must go under the /_pages/ directory
  3. The content of the post/page must correspond to a specific structure

A Post's Structure

title: <the title of the post>
route: <route to the post>
authors: <the author of the post, seperated, by, commas>
date: yyyy-mm-dd
tags: <tags for the post, separated, by, commas>

---

<The rest of the post in Markdown format>

A Page's Structure

title: <the title of the page>
route: <route to the page>
---

<The rest of the page in Markdown format>

Preview

If you want twitter/other previews to work as well, add the following definition at the header of a post or page. Not that image without image-alt won't work.

  • summary - For a summary of the post/page
  • image - A link to an image
  • image-alt - Alternative description for an image