public
Description: HomeMarks is a web based GUI to build HTML start pages.
Homepage: http://www.homemarks.com/
Clone URL: git://github.com/metaskills/homemarks.git
Search Repo:
Click here to lend your support to: homemarks and make a donation at www.pledgie.com !
name age message
folder .gitignore Thu Aug 07 12:53:45 -0700 2008 Move javascript includes into app helper, break... [metaskills]
folder .gitmodules Sat Aug 16 19:05:27 -0700 2008 Tracking shoulda plugin again. [metaskills]
folder LICENSE Tue Aug 05 17:39:58 -0700 2008 Moving LICENSE around. [metaskills]
folder README.rdoc Sun Aug 17 14:08:37 -0700 2008 Mention highline/ruby-debug in bootstrap process. [metaskills]
folder Rakefile Sun Mar 09 19:10:14 -0700 2008 Initial import of HomeMarks in preparation for ... [metaskills]
folder app/ Sun Aug 17 08:58:28 -0700 2008 Better project description [metaskills]
folder bugs/ Fri Jul 04 11:02:52 -0700 2008 Crate ditz 2.0 project milestone. [metaskills]
folder config/ Sat Aug 16 19:26:58 -0700 2008 Removing plugin config, not needed and allows f... [metaskills]
folder db/ Tue Jul 22 17:31:19 -0700 2008 Getting the tests to pass with polymorphic book... [metaskills]
folder lib/ Sun Aug 17 08:00:22 -0700 2008 Making sure bootstrap user is verified. [metaskills]
folder log/ Sat Mar 22 07:24:16 -0700 2008 Adding log and tmp dirs. Removing old dev SQL d... [metaskills]
folder public/ Mon Aug 25 16:36:41 -0700 2008 Default ajax options in app.js now includes on:... [metaskills]
folder script/ Sat Mar 22 08:31:04 -0700 2008 Updating config envs. Removing lighttpd conf fi... [metaskills]
folder test/ Thu Aug 21 19:41:26 -0700 2008 Trashing bookmark now has default old_type para... [metaskills]
folder tmp/ Sat Mar 22 07:27:43 -0700 2008 Adding tmp sub dirs with ignores inside them [metaskills]
folder vendor/ Sat Aug 16 19:05:27 -0700 2008 Tracking shoulda plugin again. [metaskills]
README.rdoc

HomeMarks: Simple Bookmark Start Page

A simple application that allows you to create your own customized HTML start pages by creating and sorting Columns, Boxes, and Bookmarks. The application even has a JavaScript bookmarklet that can be used to create bookmarks from most browser destinations.

HomeMarks was built using the Ruby on Rails framework with a heavy emphasis on object oriented JavaScript to make AJAX requests to a RESTful back-end. Unlike most Rails applications it does not use any inline JavaScript helpers nor does it rely on RJS (Remote JavaScript) for dynamic page updates. Instead it is nearly 100% unobtrusive JavaScript which uses simple HEAD or JSON responses to communicate to the objects on the page. This has yielded very slim controller code which is decoupled from the views and easily testable in isolation at a functional level.

I invite you to not only download and use the application but to also explore the code and tests to see if this implementation is something you might be interested in. HomeMarks was made by me, Ken Collins, as my first pet project while learning the Rails framework (pre 1.0) and has now been rewritten from the ground up using the methods outlined above for the release of Rails 2.1. I hope that you find it useful.

INSTALLATION

Simply download and/or clone the repository and run the app:bootstrap task.

  $ rake app:bootstrap

The rake task assumes that you will be running HomeMarks from your own local computer. The databases will use SQLite3 (rails default) and the following information is requested.

  • The host and port you will use locally to access the app.
  • Email and password. Used to create your HomeMarks account.

It is suggested that you setup a named host in your host file vs using the script/server default of 0.0.0.0:3000. If you run into any errors for required gems (highline/ruby-debug) during the bootstrap process, simply install them.

Running Tests

HomeMarks uses the shoulda testing plugin by Thoughtbot. The git repository is already tracking shoulda as a submodule. Simply do the following from the root of your HomeMarks checkout:

  $ git submodule init
  $ git submodule update