Octodmin
Content management for Jekyll blogs
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
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request
LICENSE
The MIT License