Skip to content
Generate static blog content!
Elixir HTML Makefile Shell
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
config
deploy
docs
lib
test
.editorconfig
.gitattributes
.gitignore
.projectile
.travis.yml
Dockerfile
LICENSE
Makefile
README.md
logo.svg
mix.exs
mix.lock
run-container.sh

README.md

reblog

status license spacemacs

High performant static blog generator.

To view an existing blog generated with reblog see code-null.

Setup

The following is to setup your environment to run reblog.

You can do this by using docker or natively with erlang and elixir

Using Docker

Run the following command to execute reblog.

docker run -v $(pwd):/context -u `id -u $USER`:`id -g $USER` natewilkins/reblog

Optional

To make things easier there's a helper script to run the above command more easily. You can run the following to symlink the helper file into your ~/bin/ directory.

NOTE: Make sure that $HOME/bin is in your $PATH.

git clone https://github.com/nate-wilkins/reblog ~/.local/src/reblog

chmod +x ~/.local/src/reblog/run-container.sh
ln -sf ~/.local/src/reblog/run-container.sh ~/bin/reblog

reblog

Using Erlang and Elixir

NOTE: Not available yet. Come back later.

Install reblog from hex using the following command.

mix archive.install hex reblog

Once installed you can run reblog with mix.

mix reblog

Getting Started

  1. Initialize a new blog.
reblog init my-blog

This will create a new blog with the following structure.

my-blog/
├─ _site/
├─ assets/
│  └─ favicon.svg
├─ pages/
│  └─ about.eex
├─ posts/
│  ├─ 2018-1-1_hello-world.md
│  └─ .layout.eex
└─ .layout.eex
  1. Build the blog.
reblog build
  1. Deploy the blog locally.
reblog deploy -t local -a port=7575
  1. Open a browser to http://localhost:7575

Posting

To add a new blog post just add a new markdown post to the posts directory following the YYYY-m-d_my-post-title.md format.

You can also use the reblog post command to automatically create a new post.

reblog post my-post-title

Custom Pages

To add a custom page just add a new markdown page to the pages directory.

You can also use the reblog page command to automatically create a new page.

reblog page my-page-title

Themeing

To build using a different theme run reblog build -t <theme> where <theme> is a valid theme.

To list all available themes run reblog theme --list or visit themes.md to learn more.

Custom Themes

NOTE: It is highly suggested that you start out with a preexisting theme before moving on to a custom one.

reblog theme --new

The general idea is to constantly rebuild the blog while developing your theme.

reblog deploy -t local -a port=7575 livereload

Providers

To deploy using a different provider run reblog deploy -p <provider> where <provider> is a valid provider.

To list all available providers run reblog provider --list or visit providers.md to learn more.

Development

To build the reblog command line use mix escript.build to learn more see executables on elixirschool.

To test run escript reblog with the arguments you want to test with.

Schema

This templating engine follows the structured data schema for Blog and BlogPosting.

When making changes make sure to keep the schema in mind.

Roadmap

  • Sitemap

  • More providers! 🏆

  • More themes! 🏆

  • Add CONTRIBUTING.md example: credo:contributing

  • Add ISSUE_TEMPLATE.md

  • Add RELEASING.md

  • Add CHANGELOG

  • List of sites that use reblog.

You can’t perform that action at this time.