Days
Discontinued. Everyone now uses JavaScript ecosystem to build websites, and you may find https://github.com/sorah/kozeki as a static blogging backend.
Days is simple blog system built up with Sinatra.
Installation
$ gem install days
Set up
$ mkdir foo && cd foo
$ days init
$ days migration
Start development server
$ days server
Access /admin/setup path to setup admin user.
Configuration
edit config.yml. We're using settingslogic to use namespace based on environment.
-
permalink: URL Style for permalink. String like{TAG}in URL will replaced with something.- Example:
/{year}/{month}/{id}-{slug}with entry published in Jan 2013, slug:slugand id:42→/2013/01/42-slug -
{slug}- entry slug -
{id}- entry id -
{year}- year that entry published -
{month}- month that entry published -
{day}- day that entry published -
{hour}- hour that entry published -
{minute}- minute that entry published -
{second}- second that entry published
- Example:
-
title: Your blog title. -
database: Database configuration. This will be passed toActiveRecord::Base.establish_connection.
Deploy
Days is basically Rack app, so you can deploy using thin, unicorn, and puma, etc.
Deploy to Heroku
First, prepare days app repository
$ days init
$ vim config.yml
...
group :production do
gem "pg"
end
...
$ bundle install --without production
$ git init && git add . && git commit -m 'initial'
Then, create heroku apps and prepare heroku postgres database:
$ heroku apps:create
$ heroku addons:add heroku-postgresql:dev && heroku pg:wait
$ heroku pg:promote `heroku config | grep HEROKU_POSTGRESQL|cut -d: -f 1`
Next, push repository to heroku.
$ git push -u heroku master
Finally, migrate the DB and restart the app.
$ heroku run days migrate production
$ heroku restart
Now, you can access to your new blog by:
$ heroku apps:open
Access /admin/setup path to setup admin user.
Contributing
Fork and give me pull-request, please!
To-dos
- Plugins