Project

octodmin

0.03
No commit activity in last 3 years
No release in over 3 years
There's a lot of open issues
Content management for Jekyll blogs
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Runtime

~> 1.0
~> 1.2.9
>= 0.3.0
>= 3.0.0.rc
 Project Readme

Octodmin

Content management for Jekyll blogs

Gem Version Build Status Coverage Status Code Climate Dependency Status

Installation

Add this line to your Jekyll project's Gemfile:

gem 'octodmin'

And then execute:

$ bundle

Usage

Octodmin assumes that there is a _config.yml with Jekyll configuration.

Add config.ru to your project:

require "octodmin/app"
run Octodmin::App.new(__dir__)

Run it as a Rack application:

$ rackup

Configuration

Octodmin can be configured using _config.yml. For example:

# Octodmin settings
octodmin:
  transliterate: ukrainian
  deploys:
    - config_file: _deploy.yml
  front_matter:
    custom:
      type: "text"

Valid options:

transliterate: use any of babosa's languages for slug transliteration. Default is latin

deploys: if you use octopress-deploy, specify your deploy configuration file to get a "Deploy" button in Octodmin.

front_matter: if you use custom front matter attributes, specify all of them to extend the edit form with corresponding inputs.

Please note that Octodmin uses Octopress internally, so make sure you configure it accordingly. For example:

# Octopress
post_ext: markdown
post_layout: post

Deployment

Since Octodmin is a simple Rack app, use your favorite Ruby application server. For example, add puma to Gemfile, run bundle, and then rackup. That's it.

When deploying Octodmin to a remote server, make sure you're able to run git pull, git push and octopress deploy (if needed) successfully in the shell of your remote user.

For basic HTTP authentication, use Rack::Auth::Basic. Example for your config.ru:

use Rack::Auth::Basic, "Octodmin" do |username, password|
  [username, password] == [ENV["USERNAME"], ENV["PASSWORD"]]
end

Just set ENV variables and you're good to go.

Development and testing

You would need npm and bower. Run bower install to install asset dependencies.

Run rackup to start the development server.

Run rspec to run tests.

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

LICENSE

The MIT License