Username:
Password:
    Forgot your password?
Member Login

Hacking on Sitellite

Notes

Chat Loading chat status
  • Please subscribe to chat.
  • Older messages can be viewed in the chat archive.

Subscribe  |  The Lounge  |  Share Lesson

Chapter 1: Getting Started

Audience

This lesson is intended for programmers. It covers the information necessary to get started hacking on the Sitellite core source code.

Obtaining the source

Sitellite's source code is managed using the Git distributed version control system, and the Sitellite source code is stored at the following location:

If you're looking to make changes to Sitellite, your best bet is to install Git and then fork the Sitellite project on GitHub. GitHub makes it easy to send your changes back to the main project codebase afterwards using what they call a "pull request", and by forking you can easily make small or large-scale changes over time in a controlled manner.

I won't cover too much about using Git and GitHub here, since their website provides many guides for learning those tools already.

 

Keeping in sync

Since your project now contains a complete duplicate of the original Sitellite codebase, you will want to be able to merge future changes to Sitellite into your forked project as well. Git provides a straight-forward way of accomplishing this via the "git remote" command.

To add the Sitellite core as a remote repository to your project, enter the following command:

git remote add core git://github.com/lux/sitellite.git

From here, you can fetch the "core" source as a secondary branch from time to time and merge its changes into your master development branch like this:

# fetch the core sources
git fetch core

# create a branch for the core sources
git checkout -b core core/master

# switch back to your master branch to merge changes
git checkout master

# merge the changes
git merge core

# commit the changes to your master branch
git commit -a -m "Updating core sources"

# push them to your github project
git push origin master

From now on, you can update the core sources any time like this:

# switch to the core branch
git checkout core

# get the latest changes to core
git pull

Now just switch back to your master branch like before then merge and commit the changes.

Git is a very powerful versioning system and its commands can seem a bit daunting at first, but once you get used to the basics you'll be up to speed with it in no time.

Reporting bugs

Sitellite's issue tracking system is hosted by Lighthouse here:

You can browse existing bugs and feature requests here, or report your own by registering for an account.

Finding help

You can find help from other Sitellite developers and users in either of two places: The Sitellite community forum, and the new Sitellite email discussion group.

The forum is historically the place where discussion has occurred, but for Sitellite 5 we also created the email discussion group on Google Groups, in the hopes of providing a more flexible medium for discussions.

Chapter 2: Coding Standards »