rkh / bithug

DO. NOT. USE.* Yet Another Open Source GitHub Clone. * Yes, I only have a free account.

This URL has Read+Write access

bithug /
name age message
file .gitignore Wed Sep 23 04:24:14 -0700 2009 make spec pass [rkh]
file .gitmodules Tue Sep 22 02:25:49 -0700 2009 updated dependency lists [rkh]
file README.rdoc Fri Sep 18 02:03:41 -0700 2009 rename to bithug [rkh]
file Rakefile Wed Sep 23 06:16:44 -0700 2009 watchr [rkh]
file Thorfile Tue Sep 22 06:30:30 -0700 2009 allow to give old name when renaming [rkh]
directory bin/ Mon Dec 07 02:14:51 -0800 2009 not yet working again [rkh]
file config.ru Fri Sep 18 02:03:41 -0700 2009 rename to bithug [rkh]
directory config/ Thu Oct 01 10:08:13 -0700 2009 make spec pass, again [rkh]
file init.rb Fri Dec 11 07:49:44 -0800 2009 grand refactor [rkh]
directory lib/ Loading commit data...
directory public/ Tue Sep 15 23:56:59 -0700 2009 more clean-up [rkh]
directory routes/ Sun Dec 27 05:52:15 -0800 2009 re-work for new modular stuff [timfel]
directory spec/ Wed Nov 04 10:43:28 -0800 2009 never done this before, kinda fun [rkh]
directory templates/ Wed Sep 23 04:07:54 -0700 2009 Merge branch 'master' of git://github.com/rkh/g... [rkh]
directory views/ Wed Dec 16 09:15:23 -0800 2009 merge with bp2009h1srv [timfel]
README.rdoc

Bithug

Skeleton

This skeleton uses the followin libraries:

  • Compass for fast layout development
  • RSpec for testing
  • Extlib (with monkey-lib) for sane ruby extensions

Alternate directory structure

Instead of the usual app/ structure known from Rails, Merb or other Monk skeletons, this bithug uses a different bithug structure:

  for controllers/helpers:  routes/
  for views:                views/
  for models:               lib/bithug/

Models should be written in a way to be reusable and viewed as a stand-alone library (hence them being in lib)

Usage

This skeleton can be used with monk, priest or as stand-alone. It does not depend in any way on monk, but plays well with it.

Stand-alone usage

Run this to create a new bithug called example_project:

  git clone git://github.com/rkh/gerippe.git example_path
  cd example_path
  bin/bithug rename example_project

If you have dependency issues, you can install those either as git submodules:

  rake vendor:install:submodules

Or globally as gems:

  rake vendor:install:gems

There after you’ll be able to create routes and such:

  bin/example_project create route pages page/:name

Monk usage

  monk add gerippe git://github.com/rkh/gerippe.git
  monk init example_path -s gerippe
  cd example_path
  dep vendor --all
  monk create route pages page/:name

Priest usage

Priest is an extended monk version (github.com/rkh/priest).

  priest add gerippe git://github.com/rkh/gerippe.git
  priest init example_path -s gerippe --keep-remote
  cd example_path
  rake vendor:install:submodules
  priest create route pages page/:name

Note: You can also add —keep-remote to the "priest add" line, so it will be default option for every "priest init" of gerippe. However, this will cause the gerippe skeleton entry to be unusable from the original monk command line tool, as monk and priest share the same config file. Future versions of monk will be able to cope with priest’s extended config entries. If you just use priest this should not cause any problems.

Custom Monk tasks

  monk name                     # displayes the projects name, currently Bithug
  monk rename NAME              # changes the projects name to NAME
  monk create TYPE NAME [ARGS]  # generate routes and such
  monk types                    # lists types available for monk create

Note: "monk" can be replaced with "priest" or "bin/PROJECT_NAME"

TODO

  • Create forks for different ORMs.