README.md in shinmun-0.9.2 vs README.md in shinmun-1.0

- old
+ new

@@ -1,28 +1,26 @@ -Shinmun - a git-based blog engine +Shinmun - a file based blog engine ================================= -Shinmun is a small git-based blog engine. Write posts in your favorite -editor, git-push it and serve your blog straight from a repository. +Shinmun is a small file based blog engine. Write posts in your favorite +editor, track them with git and deploy to Heroku. Small, fast and simple. ### Features * Posts are text files formatted with [Markdown][8], [Textile][9] or [HTML][10] -* Runs on [Rack][6], [Kontrol][3] and [GitStore][7] * Deploy via [git-push][11] +* Easy and fast deploying on Heroku * Index, category and archive listings * RSS feeds * Syntax highlighting provided by [CodeRay][4] -* Markdown comments ### Quickstart Install the gems: - $ gem sources -a http://gems.github.com - $ gem install rack BlueCloth rubypants coderay georgi-git_store georgi-kontrol georgi-shinmun + $ gem install shinmun Create a sample blog: $ shinmun init myblog @@ -45,18 +43,17 @@ folder: shinmun post 'The title of the post' Shinmun will then create a post file in the right place, for example -in `posts/2008/9/the-title-of-the-post.md` and open it with $EDITOR. +in `posts/2008/9/the-title-of-the-post.md`. ### Post Format Each blog post is just a text file with a YAML header and a body. The -YAML header is surrounded with 2 lines of 3 dashes. This format is -compatible with [Jekyll][13] and [Github Pages][14]. +YAML header is surrounded with 2 lines of 3 dashes. The YAML header has following attributes: * `title`: mandatory * `date`: posts need one, pages not @@ -95,31 +92,26 @@ **Note that the declaration MUST be followed by a blank line!** ### Directory layout - + assets - + print.css - + styles.css + config.ru + pages + about.md + posts + 2007 + 2008 + 9 + my-article.md + + public + + styles.css + templates + 404.rhtml + archive.rhtml + category.rhtml - + category.rxml - + _comments.rhtml - + _comment_form.rhtml + index.rhtml + index.rxml - + index.rhtml + layout.rhtml + page.rhtml + post.rhtml ### Blog configuation @@ -166,70 +158,41 @@ ... </div> -### Commenting System +### Deployment on Heroku -Comments are stored as flat files and encoded as YAML objects. Each -post has a corresponding comment file located at `comments/<path to -post>`. So administration of comments is possible by editing the YAML -file, which can be done on your local machine, as you can just pull -the comments from your live server. +Install the Heroku gem: + $ gem install heroku -### Deployment +Installing your public key: -Shinmun can server the blog straight from the git repository. So on -your webserver initialize a new git repo like: + $ heroku keys:add - $ cd /var/www - $ mkdir myblog - $ cd myblog - $ git init + Enter your Heroku credentials. + Email: joe@example.com + Password: + Uploading ssh public key /Users/joe/.ssh/id_rsa.pub -Now on your local machine, you add a new remote repository and push -your blog to your server: +Create an app on Heroku. - $ cd ~/myblog - $ git remote add live ssh://myserver.com/var/www/myblog - $ git push live + $ heroku create myblog + Created http://myblog.heroku.com/ | git@heroku.com:mybblog.git + Git remote heroku added +Now on your local machine, you create a new remote repository and push +your blog to Heroku: -On your production server, you just need the rackup file `config.ru` -to run the blog: + $ cd ~/myblog + $ git init + $ git add . + $ git commit -m 'initial commit' + $ git push heroku - $ git checkout config.ru +That's it. Your blog is deployed. -Now you can run just a pure ruby server or something like Phusion -Passenger. Anytime you want to publish a post on your blog, you -just write, commit and finally push a post by: - - $ git commit -a -m 'new post' - $ git push live - - -### Phusion Passenger - -Shinmun is compatible with [Phusion Passenger][5]. Install Phusion -Passenger as described in my [blog post][2]. - -Assuming that you are on a Debian or Ubuntu system, you can create a -file named `/etc/apache2/sites-available/blog`: - - <VirtualHost *:80> - ServerName myblog.com - DocumentRoot /var/www/blog/public - </VirtualHost> - -Enable the new virtual host: - - $ a2ensite myapp - -After restarting Apache your blog should run on Apache on your desired -domain: - - $ /etc/init.d/apache2 restart ### GitHub Project Download or fork the package at my [github repository][1]