Using webby to create my personal site
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
content
layouts
lib
tasks
templates
.gitignore
.gitmodules
Gemfile
Gemfile.lock
README
Sitefile
config.ru

README

Author: Isaac Liu
Last Modified: 04-16-10
Respository: http://github.com/iliu/My-Site.git

CONTENTS OF THIS FILE
---------------------
 * Introduction
 * Installation of site
 * Usage
 * Infrastructure
 * Special Features
 * Links


INTRODUCTION
------------
This repository is used to store the source of my personal
website. The website is in experimental stage, and it's being created
using Webby (http://webby.rubyforge.org/) which automatically
generates static pages from dynamic content. With the source on a
repository and static, i can easily deploy the site on any webhost.


INSTALLATION 
------------
1. Install gems. Each platform has different instructions. Please
google "installing gems <windows/mac osx/linux>" to find out how to do
so
2. Type in "sudo gem install webby" in a command prompt or
terminal. The webby gem and dependencies should be installed
3. Run the command webby to generate the output folder

USAGE
-----
PREREQUISITE - Make sure webby is installed! 
To see a list of commands, type "webby -T" 
Common commands:
* To add a blog entry: "webby tumblog:post <entry name>"
* To clean up current output: "webby clobber"
* To build site for localhost: "webby"
* To build site for remote host with absolute path: "webby rebuild BASE='<domainname>'"
* To commit using git to remote host (NOTE: Please add a
  .commit_script.sh to do the commands needed for commtting): 
  "webby commit"

-------------------------
Example .commit_script.sh
-------------------------
webby rebuild BASE='<remote domainname>'
git commit -a
------------------------

INFRASTRUCTURE
--------------
* Sitefile - This file stores the custom webby commands 
* <content> - This folder stores the contents of the site, this
  includes the blog posts, pages, and also the public files that are
  copied to the output folder, including javascripts, css files,
  images etc. To add or edit pages, simply look in the corresponding
  .txt files and edit them. They use textile markup language.
* <layouts> - This folder stores the layouts (in html) for the
  site. The main one that used is main.txt. These layouts can be
  specified in the .txt files in content to choose which one to use.
* <lib> - This folder stores the helper functions written in ruby that
  can be called in the layout or content folder
* <output> - This folder contains the static website that generated
* <tasks> - This folder stores the rakefile that executes the command
  for webby. Currently it only has tumblog.rake which executes the
  tumblog commands to creates entries to the content folder
* <templates> - This folder stores the templates for the webby
  commands that are executed. *THESE ARE NOT WEB TEMPLATES*. They are
  the templates used when a blog entry content (the .txt file in the
  content folder) is created. 


SPECIAL FEATURES
----------------
Some of the special features on this site (besides the built in webby features) include:
* Using jquery(http://jquery.com/) to manipulate UI
* Use jquery timeago plugin (http://timeago.yarp.com/) to change time displays to the "time ago" format
* Integrated jabref(http://jabref.sourceforge.net/) generated html table to display my publications
* Use SyntaxHighlighter (http://alexgorbatchev.com/SyntaxHighlighter/) to display code
* Added tags based upon Aaron Qian's blog post
* use rack to deploy on webby


DEPLOYING TO HEROKU:
------------------------
Currently there is a master branch that pushes to github. The heroku-deploy branch
is meant to mirror the master branch but adds the output public folder to the repository.
Whenever changes are made on the master branch, rebase the heroku-deploy branch of master,
and run `webby clobber; webby build` to rebuild the site. Then push the repository to the
remote branch `git push heroku heroku-deploy:master`. You might need to add -f flag.


LINKS
-----
* Webby - http://webby.rubyforge.org/