Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/freetonik/underblog

Extremely simple static blog generator
https://github.com/freetonik/underblog

Last synced: 2 months ago
JSON representation

Extremely simple static blog generator

Awesome Lists containing this project

README

        

[![Build Status](https://travis-ci.org/freetonik/underblog.svg?branch=master)](https://travis-ci.org/freetonik/underblog)
[![Docker Cloud Build Status](https://img.shields.io/docker/cloud/build/freetonik/underblog)](https://hub.docker.com/r/freetonik/underblog)

# Underblog

An extremely simple, fast static blog generator.

## Deploy to Netlify

[![Deploy to Netlify](https://www.netlify.com/img/deploy/button.svg)](https://app.netlify.com/start/deploy?repository=https://github.com/lucas-deangelis/underblog-template)

## Install locally

On MacOS:

```
brew install freetonik/tap/underblog
```

Docker:

```
docker run --rm -it -v /path/to/your/blog:/blog freetonik/underblog
```

Windows:

Go to [releases](https://github.com/freetonik/underblog/releases) and download the latest binary marked "windows".

## How it works

You only need 4 things:

1. `index.html` template for blog's index page.
2. `post.html` template for single post.
3. `css/styles.css` for CSS styles.
3. `markdown` folder.

There is no front-matter. **Date** and **slug** are derived from the filename. **Title** is derived from the first line of markdown file. Make sure the first line starts with `#`.

**Step 1:** create the following folder structure:

```
.
├── css
│   └── styles.css
├── markdown
│   └── YYYY-MM-DD-Slug_1.md
│   └── YYYY-MM-DD-Slug_2.md
│   └── YYYY-MM-DD-Slug_3.md
├── index.html
├── post.html
```

(See [/example](example))

**Step 2:** run `underblog`.

**Step 3:** Your site is generated in `public`.

## Live preview

Run underblog in watch mode:

```
underblog -watch
```

Then go to http://localhost:8080/. Changing markdown files will automatically re-generate the site.

## Features

- NO front matter
- NO themes
- NO JavaScript
- NO tags, categories, taxonomy
- NO template lookup logic
- NO plugins
- NO dependencies

## Roadmap

- [x] derive dates from filenames
- [ ] RSS generation
- [ ] Syntax highlighting for code with Chroma
- [x] live preview server

---

## Building

In the root repository do:

`make build`