A self hosted Web publishing platform on Rails.
Ruby JavaScript HTML CSS
Latest commit 1a100c2 Jul 19, 2016 @mvz mvz Restore theme helper loading
Failed to load latest commit information.
app Restore theme helper loading Jul 19, 2016
bin Add springified binstubs for rspec and cucumber Feb 1, 2016
config Fix tags explanation message Jul 5, 2016
db Link resources directly to blog Jul 2, 2016
doc Fix image extension Jul 2, 2016
lib Prepare Publify 8.3.1 for release Jul 9, 2016
log Match files as generated by Rails 4.1 Sep 17, 2014
public Track cache folder in git Nov 3, 2014
spec Fix implementation of Tag.find_all_with_article_counters Jul 15, 2016
themes Remove remaining instances of html_safe Jun 28, 2016
vendor/assets Match files as generated by Rails 4.1 Sep 17, 2014
.gitignore Add Plain theme, using only the default templates Jun 18, 2015
.hound.yml Update hound config to respect rubocop. Feb 10, 2015
.metrics Turn of syntax highlighting for metrical/metric_fu. Jul 1, 2011
.reek Add preliminary configuration for Reek May 25, 2016
.rspec fixup! Upgrade to rspec-rails 3.0.2 Oct 18, 2014
.rubocop.yml Fix non-local exit RuboCop offenses May 25, 2016
.rubocop_todo.yml Update RuboCop TODO file Jun 28, 2016
.travis.yml Do not install development deps on Travis May 13, 2016
CHANGELOG.md Prepare Publify 8.3.1 for release Jul 9, 2016
CONTRIBUTING.md Emphasise that all pull request steps should be followed Jun 8, 2016
Gemfile Loosen/update dependencies Jul 14, 2016
Guardfile More tidying for rubocop. Mar 4, 2015
MIT-LICENSE ready for first deployment Jan 21, 2005
README.md Prepare Publify 8.3.1 for release Jul 9, 2016
Rakefile Match files as generated by Rails 4.1 Sep 17, 2014
TODO.txt Update TODO Aug 10, 2015
config.ru Autocorrect masked rubocop offences Aug 12, 2015
rspec.sample Move .rspec file to rspec.sample, because, each dev would build is own Oct 15, 2011



The Ruby on Rails publishing software formerly known as Typo

Build Status Code Climate Dependency Status

What's Publify?

Publify is a simple but full featured web publishing software. It's built around a blogging engine and a small message system connected to Twitter.

Publify follows the principles of the IndieWeb, which are self hosting your Web site, and Publish On your Own Site, Syndicate Everywhere.

Publify has been around since 2004 and is the oldest Ruby on Rails open source project alive.


  • A classic multi user blogging engine
  • Short messages with a Twitter connection
  • Text filters (Markdown, Textile, SmartyPants, @mention to link, #hashtag to link)
  • A widgets system and a plugin API
  • Custom themes
  • Advanced SEO capabilities
  • Multilingual : Publify is (more or less) translated in English, French, German, Danish, Norwegian, Japanese, Hebrew, Simplified Chinese, Mexican Spanish, Italian, Lithuanian, Dutch, Polish, Romanian…

Demo site

You can give Publify a try

The login / password to the admin are:

  • Administrator: admin / admin
  • Publisher: publish / publish

The demo is reset every 2 hours.



You can download the latest Publify stable release (8.3.1)

If you want to run the master branch, you can clone the Publify repository. However, random things may be broken there at any time, so tread carefully!

Running the master branch in production is not recommended!

Install Publify locally

To install Publify you need the following:

  • CRuby (MRI) 2.1, 2.2 or 2.3
  • Ruby on Rails 4.2.x
  • A database engine, MySQL, PgSQL or SQLite3
  • A compatible JavaScript installation for asset compilation. See the execjs readme for details.
  • ImageMagick (used by mini_magick).

  1. Unzip Publify archive
  2. Rename database.yml.yourEngine as database.yml
  3. Edit database.yml to add your database name, login and password.
$ bundle install
$ rake db:setup
$ rake db:migrate
$ rake db:seed
$ rake assets:precompile
$ rails server

You can now launch you browser and access

Install Publify on Heroku

In order to install Publify on Heroku, you’ll need to do some minor tweaks.

First of all, you need to setup Amazon S3 storage to be able to upload files on your blog. Set Heroku config vars.

heroku config:set provider=AWS

To generate the Gemfile.lock, run:

HEROKU=true bundle install

Remove Gemfile.lock from .gitignore and commit it.

Add the HEROKU config variable to your Heroku instance:

heroku config:set HEROKU=true

Push the repository to Heroku.

When deploying for the first time, Heroku will automatically add a Database plugin to your instance and links it to the application. After the first deployment, don't forget to run the database migration and seed.

heroku run rake db:migrate db:seed

If application error has occurred after migration, you need to restart Heroku server.

heroku restart



This is a list of Publify maintainers. If you have committed, please add your name and contact details to the list.

Frédéric de Villamil frederic@publify.co blog: http://t37.net irc: neuro`

Matijs van Zuijlen blog: http://www.matijs.net/blog/ irc: matijs

Thomas Lecavelier blog: http://blog.ookook.fr/ irc: ook

Yannick François blog: http://elsif.fr irc: yaf

And many more cool people who’ve one day or another contributed to Publify.

Original Author: Tobias Luetke blog: http://blog.leetsoft.com/ irc: xal

Enjoy, The Publify team