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]