I'm considering a fairly significant change to the way files are organised in Nesta, in order to convert it into a gem. When I started Nesta I wanted to be able to make a web site by cloning the repo, making the relevant changes to the code, and then putting it live. It was low on ceremony, and a gem didn't feel appropriate. As more people started to use it, that approach made me feel a bit guilty. Whenever I changed the default templates in ./views I was potentially causing merge conflicts for people who had just changed a few simple things in their layout. So I created the ./local folder where you can put your own changes and you'll no longer run into merge commits. Then along came themes. Now there are three views folders where you can find a template, and up to three different app.rb files where you can add your code. It's perfectly logical, but it's not simple. So here's what I'm thinking. 1. Rather than clone nesta, you install a gem. 2. Rather than putting your templates in ./local/views, you use ./views. 3. The only thing that Nesta requires to run is a content directory. Making a new site would look something like this: $ gem install nesta $ nesta mysite.com $ cd mysite.com $ ls config.ru content/ $ shotgun config.ru And away you go... If you want to use a theme, you'd do this: $ nesta theme install http://github.com/gma/nesta-theme-original.git If you want to override the behaviour of some of the code, you'd create an app.rb file and hack away. If you want to change the templates, create ./views and drop some files in it. In other words, the root of your project would become the new local, and local would go away. There are other potential benefits from converting it to a gem (e.g. it'd be easier to get it mounted inside Rails), but in the context of how most people currently use Nesta, I think the above just about covers it. What do you think? Would this screw you up? Can you see it causing you a problem? Cheers, Graham
While at first, I was thinking this morning I didn't want it as a gem.... The more I think about it the more I like it. Your point about nesting simply inside rails has a lot of advantages for me. Overall, I really think that you've done a great job with this project, and say keep it up. - Thanks Tony Spore Allplaces Internet Technologies cell: 626-319-7176 Phone: 805-624-6414 allplaces.net On Wed, Dec 8, 2010 at 4:52 AM, Graham Ashton <graham@effectif.com> wrote: > I'm considering a fairly significant change to the way files are organised > in Nesta, in order to convert it into a gem. > > When I started Nesta I wanted to be able to make a web site by cloning the > repo, making the relevant changes to the code, and then putting it live. It > was low on ceremony, and a gem didn't feel appropriate. > > As more people started to use it, that approach made me feel a bit guilty. > Whenever I changed the default templates in ./views I was potentially > causing merge conflicts for people who had just changed a few simple things > in their layout. So I created the ./local folder where you can put your own > changes and you'll no longer run into merge commits. > > Then along came themes. > > Now there are three views folders where you can find a template, and up to > three different app.rb files where you can add your code. It's perfectly > logical, but it's not simple. > > So here's what I'm thinking. > > 1. Rather than clone nesta, you install a gem. > 2. Rather than putting your templates in ./local/views, you use ./views. > 3. The only thing that Nesta requires to run is a content directory. > > Making a new site would look something like this: > > $ gem install nesta > $ nesta mysite.com > $ cd mysite.com > $ ls > config.ru content/ > $ shotgun config.ru > > And away you go... > > If you want to use a theme, you'd do this: > > $ nesta theme install http://github.com/gma/nesta-theme-original.git > > If you want to override the behaviour of some of the code, you'd create an > app.rb file and hack away. If you want to change the templates, create > ./views and drop some files in it. > > In other words, the root of your project would become the new local, and > local would go away. > > There are other potential benefits from converting it to a gem (e.g. it'd > be easier to get it mounted inside Rails), but in the context of how most > people currently use Nesta, I think the above just about covers it. > > What do you think? Would this screw you up? Can you see it causing you a > problem? > > Cheers, > Graham >
I like Ruby Pond's point on the blog post about multiple checkouts for each site. Using a gem would be much cleaner. I've just starting out with nesta so i don't have a lot invested in it's current repo distribution. However, I have plans to use it for four sites and I bet I'll find some more uses for this "gem". Warmly, Aaron Sent from my iPad On Dec 8, 2010, at 4:52 AM, Graham Ashton <graham@effectif.com> wrote: > I'm considering a fairly significant change to the way files are organised in Nesta, in order to convert it into a gem. > > When I started Nesta I wanted to be able to make a web site by cloning the repo, making the relevant changes to the code, and then putting it live. It was low on ceremony, and a gem didn't feel appropriate. > > As more people started to use it, that approach made me feel a bit guilty. Whenever I changed the default templates in ./views I was potentially causing merge conflicts for people who had just changed a few simple things in their layout. So I created the ./local folder where you can put your own changes and you'll no longer run into merge commits. > > Then along came themes. > > Now there are three views folders where you can find a template, and up to three different app.rb files where you can add your code. It's perfectly logical, but it's not simple. > > So here's what I'm thinking. > > 1. Rather than clone nesta, you install a gem. > 2. Rather than putting your templates in ./local/views, you use ./views. > 3. The only thing that Nesta requires to run is a content directory. > > Making a new site would look something like this: > > $ gem install nesta > $ nesta mysite.com > $ cd mysite.com > $ ls > config.ru content/ > $ shotgun config.ru > > And away you go... > > If you want to use a theme, you'd do this: > > $ nesta theme install http://github.com/gma/nesta-theme-original.git > > If you want to override the behaviour of some of the code, you'd create an app.rb file and hack away. If you want to change the templates, create ./views and drop some files in it. > > In other words, the root of your project would become the new local, and local would go away. > > There are other potential benefits from converting it to a gem (e.g. it'd be easier to get it mounted inside Rails), but in the context of how most people currently use Nesta, I think the above just about covers it. > > What do you think? Would this screw you up? Can you see it causing you a problem? > > Cheers, > Graham
Yep - sounds cleaner to me. I currently have the main nesta repo and then 2 nested repos - one for my theme and one for my content. So sounds like having it as a gem would simplify deploying posts and theme updates. Barry. On 9/12/2010, at 8:43 AM, Aaron Stroud wrote: > I like Ruby Pond's point on the blog post about multiple checkouts for each site. Using a gem would be much cleaner. > > I've just starting out with nesta so i don't have a lot invested in it's current repo distribution. However, I have plans to use it for four sites and I bet I'll find some more uses for this "gem". > > Warmly, Aaron > > Sent from my iPad > > On Dec 8, 2010, at 4:52 AM, Graham Ashton <graham@effectif.com> wrote: > >> I'm considering a fairly significant change to the way files are organised in Nesta, in order to convert it into a gem. >> >> When I started Nesta I wanted to be able to make a web site by cloning the repo, making the relevant changes to the code, and then putting it live. It was low on ceremony, and a gem didn't feel appropriate. >> >> As more people started to use it, that approach made me feel a bit guilty. Whenever I changed the default templates in ./views I was potentially causing merge conflicts for people who had just changed a few simple things in their layout. So I created the ./local folder where you can put your own changes and you'll no longer run into merge commits. >> >> Then along came themes. >> >> Now there are three views folders where you can find a template, and up to three different app.rb files where you can add your code. It's perfectly logical, but it's not simple. >> >> So here's what I'm thinking. >> >> 1. Rather than clone nesta, you install a gem. >> 2. Rather than putting your templates in ./local/views, you use ./views. >> 3. The only thing that Nesta requires to run is a content directory. >> >> Making a new site would look something like this: >> >> $ gem install nesta >> $ nesta mysite.com >> $ cd mysite.com >> $ ls >> config.ru content/ >> $ shotgun config.ru >> >> And away you go... >> >> If you want to use a theme, you'd do this: >> >> $ nesta theme install http://github.com/gma/nesta-theme-original.git >> >> If you want to override the behaviour of some of the code, you'd create an app.rb file and hack away. If you want to change the templates, create ./views and drop some files in it. >> >> In other words, the root of your project would become the new local, and local would go away. >> >> There are other potential benefits from converting it to a gem (e.g. it'd be easier to get it mounted inside Rails), but in the context of how most people currently use Nesta, I think the above just about covers it. >> >> What do you think? Would this screw you up? Can you see it causing you a problem? >> >> Cheers, >> Graham
Definitely cleaner to me, and it would only take a few minutes to convert an existing site. S On Wed, Dec 8, 2010 at 9:00 PM, Barry Keenan <me@keeny.co.uk> wrote: > Yep - sounds cleaner to me. I currently have the main nesta repo and then 2 nested repos - one for my theme and one for my content. > > So sounds like having it as a gem would simplify deploying posts and theme updates. > > Barry. > > > On 9/12/2010, at 8:43 AM, Aaron Stroud wrote: > >> I like Ruby Pond's point on the blog post about multiple checkouts for each site. Using a gem would be much cleaner. >> >> I've just starting out with nesta so i don't have a lot invested in it's current repo distribution. However, I have plans to use it for four sites and I bet I'll find some more uses for this "gem". >> >> Warmly, Aaron >> >> Sent from my iPad >> >> On Dec 8, 2010, at 4:52 AM, Graham Ashton <graham@effectif.com> wrote: >> >>> I'm considering a fairly significant change to the way files are organised in Nesta, in order to convert it into a gem. >>> >>> When I started Nesta I wanted to be able to make a web site by cloning the repo, making the relevant changes to the code, and then putting it live. It was low on ceremony, and a gem didn't feel appropriate. >>> >>> As more people started to use it, that approach made me feel a bit guilty. Whenever I changed the default templates in ./views I was potentially causing merge conflicts for people who had just changed a few simple things in their layout. So I created the ./local folder where you can put your own changes and you'll no longer run into merge commits. >>> >>> Then along came themes. >>> >>> Now there are three views folders where you can find a template, and up to three different app.rb files where you can add your code. It's perfectly logical, but it's not simple. >>> >>> So here's what I'm thinking. >>> >>> 1. Rather than clone nesta, you install a gem. >>> 2. Rather than putting your templates in ./local/views, you use ./views. >>> 3. The only thing that Nesta requires to run is a content directory. >>> >>> Making a new site would look something like this: >>> >>> $ gem install nesta >>> $ nesta mysite.com >>> $ cd mysite.com >>> $ ls >>> config.ru content/ >>> $ shotgun config.ru >>> >>> And away you go... >>> >>> If you want to use a theme, you'd do this: >>> >>> $ nesta theme install http://github.com/gma/nesta-theme-original.git >>> >>> If you want to override the behaviour of some of the code, you'd create an app.rb file and hack away. If you want to change the templates, create ./views and drop some files in it. >>> >>> In other words, the root of your project would become the new local, and local would go away. >>> >>> There are other potential benefits from converting it to a gem (e.g. it'd be easier to get it mounted inside Rails), but in the context of how most people currently use Nesta, I think the above just about covers it. >>> >>> What do you think? Would this screw you up? Can you see it causing you a problem? >>> >>> Cheers, >>> Graham > >
Sounds like a great idea. Let me know how I can help. On Thu, Dec 9, 2010 at 3:41 AM, steven shingler <shingler@gmail.com> wrote: > Definitely cleaner to me, and it would only take a few minutes to > convert an existing site. > > S > > On Wed, Dec 8, 2010 at 9:00 PM, Barry Keenan <me@keeny.co.uk> wrote: > > Yep - sounds cleaner to me. I currently have the main nesta repo and then > 2 nested repos - one for my theme and one for my content. > > > > So sounds like having it as a gem would simplify deploying posts and > theme updates. > > > > Barry. > > > > > > On 9/12/2010, at 8:43 AM, Aaron Stroud wrote: > > > >> I like Ruby Pond's point on the blog post about multiple checkouts for > each site. Using a gem would be much cleaner. > >> > >> I've just starting out with nesta so i don't have a lot invested in it's > current repo distribution. However, I have plans to use it for four sites > and I bet I'll find some more uses for this "gem". > >> > >> Warmly, Aaron > >> > >> Sent from my iPad > >> > >> On Dec 8, 2010, at 4:52 AM, Graham Ashton <graham@effectif.com> wrote: > >> > >>> I'm considering a fairly significant change to the way files are > organised in Nesta, in order to convert it into a gem. > >>> > >>> When I started Nesta I wanted to be able to make a web site by cloning > the repo, making the relevant changes to the code, and then putting it live. > It was low on ceremony, and a gem didn't feel appropriate. > >>> > >>> As more people started to use it, that approach made me feel a bit > guilty. Whenever I changed the default templates in ./views I was > potentially causing merge conflicts for people who had just changed a few > simple things in their layout. So I created the ./local folder where you can > put your own changes and you'll no longer run into merge commits. > >>> > >>> Then along came themes. > >>> > >>> Now there are three views folders where you can find a template, and up > to three different app.rb files where you can add your code. It's perfectly > logical, but it's not simple. > >>> > >>> So here's what I'm thinking. > >>> > >>> 1. Rather than clone nesta, you install a gem. > >>> 2. Rather than putting your templates in ./local/views, you use > ./views. > >>> 3. The only thing that Nesta requires to run is a content directory. > >>> > >>> Making a new site would look something like this: > >>> > >>> $ gem install nesta > >>> $ nesta mysite.com > >>> $ cd mysite.com > >>> $ ls > >>> config.ru content/ > >>> $ shotgun config.ru > >>> > >>> And away you go... > >>> > >>> If you want to use a theme, you'd do this: > >>> > >>> $ nesta theme install http://github.com/gma/nesta-theme-original.git > >>> > >>> If you want to override the behaviour of some of the code, you'd create > an app.rb file and hack away. If you want to change the templates, create > ./views and drop some files in it. > >>> > >>> In other words, the root of your project would become the new local, > and local would go away. > >>> > >>> There are other potential benefits from converting it to a gem (e.g. > it'd be easier to get it mounted inside Rails), but in the context of how > most people currently use Nesta, I think the above just about covers it. > >>> > >>> What do you think? Would this screw you up? Can you see it causing you > a problem? > >>> > >>> Cheers, > >>> Graham > > > > > -- *Carl Furrow* carlfurrow.com | my google profile <http://google.com/profiles/carl.furrow>| @carlfurrow <http://twitter.com/carl_furrow>
Well that's a fairly overwhelming consensus - thanks for your replies. A gem it is... Cheers for the offer Carl. There's not much for anybody to do until I've got an early gem ready to go, at which point there'll also be some new docs that I'd really appreciate somebody taking a look over (i.e. to see if I've missed anything obvious). Graham On 9 Dec 2010, at 17:46, Carl Furrow wrote: > Sounds like a great idea. Let me know how I can help. > > On Thu, Dec 9, 2010 at 3:41 AM, steven shingler <shingler@gmail.com> wrote: > Definitely cleaner to me, and it would only take a few minutes to > convert an existing site. > > S > > On Wed, Dec 8, 2010 at 9:00 PM, Barry Keenan <me@keeny.co.uk> wrote: > > Yep - sounds cleaner to me. I currently have the main nesta repo and then 2 nested repos - one for my theme and one for my content. > > > > So sounds like having it as a gem would simplify deploying posts and theme updates. > > > > Barry. > > > > > > On 9/12/2010, at 8:43 AM, Aaron Stroud wrote: > > > >> I like Ruby Pond's point on the blog post about multiple checkouts for each site. Using a gem would be much cleaner. > >> > >> I've just starting out with nesta so i don't have a lot invested in it's current repo distribution. However, I have plans to use it for four sites and I bet I'll find some more uses for this "gem". > >> > >> Warmly, Aaron > >> > >> Sent from my iPad > >> > >> On Dec 8, 2010, at 4:52 AM, Graham Ashton <graham@effectif.com> wrote: > >> > >>> I'm considering a fairly significant change to the way files are organised in Nesta, in order to convert it into a gem. > >>> > >>> When I started Nesta I wanted to be able to make a web site by cloning the repo, making the relevant changes to the code, and then putting it live. It was low on ceremony, and a gem didn't feel appropriate. > >>> > >>> As more people started to use it, that approach made me feel a bit guilty. Whenever I changed the default templates in ./views I was potentially causing merge conflicts for people who had just changed a few simple things in their layout. So I created the ./local folder where you can put your own changes and you'll no longer run into merge commits. > >>> > >>> Then along came themes. > >>> > >>> Now there are three views folders where you can find a template, and up to three different app.rb files where you can add your code. It's perfectly logical, but it's not simple. > >>> > >>> So here's what I'm thinking. > >>> > >>> 1. Rather than clone nesta, you install a gem. > >>> 2. Rather than putting your templates in ./local/views, you use ./views. > >>> 3. The only thing that Nesta requires to run is a content directory. > >>> > >>> Making a new site would look something like this: > >>> > >>> $ gem install nesta > >>> $ nesta mysite.com > >>> $ cd mysite.com > >>> $ ls > >>> config.ru content/ > >>> $ shotgun config.ru > >>> > >>> And away you go... > >>> > >>> If you want to use a theme, you'd do this: > >>> > >>> $ nesta theme install http://github.com/gma/nesta-theme-original.git > >>> > >>> If you want to override the behaviour of some of the code, you'd create an app.rb file and hack away. If you want to change the templates, create ./views and drop some files in it. > >>> > >>> In other words, the root of your project would become the new local, and local would go away. > >>> > >>> There are other potential benefits from converting it to a gem (e.g. it'd be easier to get it mounted inside Rails), but in the context of how most people currently use Nesta, I think the above just about covers it. > >>> > >>> What do you think? Would this screw you up? Can you see it causing you a problem? > >>> > >>> Cheers, > >>> Graham > > > > > > > > -- > Carl Furrow > carlfurrow.com | my google profile | @carlfurrow > >
On 9 Dec 2010, at 21:45, Graham Ashton wrote:
> Well that's a fairly overwhelming consensus - thanks for your replies. A
gem it is...
I've just released the first version of the gem:
https://rubygems.org/gems/nesta
All the code is in the gem branch on GitHub. Before I can merge it into
master I'd like to:
1. Update the documentation.
2. Get some success/failure reports from you.
If you fancy switching to the gem now, or just want to give it a try and
send me some feedback, the README should get you started:
https://github.com/gma/nesta/blob/gem/README.md
I've switched effectif.com over to the gem in order to test it, and pushed
it to github as a new project so you can see what it looks like.
https://github.com/gma/effectif.com
It feels *much* better editing ./app.rb and templates in ./views, rather
than having to use around in local/app.rb and local/views.
After you've installed the gem run `nesta --help` to see which commands
are available (other than `new` they're all theme related so far).
Note the --heroku and --vlad options to the `new` command that make sure
that you get the right rake tasks added to a new project.
Cheers,
Graham