High performant static blog generator.
WIP :: No releases available. Comeback later.
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` nate-wilkins/reblogOptional
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
reblogUsing Erlang and Elixir
Install reblog from hex using the following command.
mix archive.install hex reblog
Once installed you can run reblog with mix.
mix reblogGetting Started
- Initialize a new blog.
reblog init my-blogThis 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- Build the blog.
reblog build- Deploy the blog locally.
reblog deploy -t local -a port=7575- 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-titleCustom 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-titleThemeing
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.
Custom Themes
NOTE: It is highly suggested that you start out with a preexisting theme before moving on to a custom one.
reblog theme --newThe general idea is to constantly rebuild the blog while developing your theme.
reblog deploy -t local -a port=7575 livereloadProviders
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.
Roadmap
-
List of sites that use
reblog. - More themes! :trophy:
- More providers! :trophy:
- Add livereload for optimal development.