librelist archives

« back to archive

Converting Nesta to a gem - your thoughts?

Converting Nesta to a gem - your thoughts?

From:
Graham Ashton
Date:
2010-12-08 @ 12:52
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

Re: [nesta] Converting Nesta to a gem - your thoughts?

From:
tony Spore
Date:
2010-12-08 @ 17:59
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
>

Re: [nesta] Converting Nesta to a gem - your thoughts?

From:
Aaron Stroud
Date:
2010-12-08 @ 19:43
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

Re: [nesta] Converting Nesta to a gem - your thoughts?

From:
Barry Keenan
Date:
2010-12-08 @ 21:00
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

Re: [nesta] Converting Nesta to a gem - your thoughts?

From:
steven shingler
Date:
2010-12-09 @ 08:41
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
>
>

Re: [nesta] Converting Nesta to a gem - your thoughts?

From:
Carl Furrow
Date:
2010-12-09 @ 17:46
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>

Re: [nesta] Converting Nesta to a gem - your thoughts?

From:
Graham Ashton
Date:
2010-12-09 @ 21:45
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
> 
> 

Re: [nesta] Converting Nesta to a gem - your thoughts?

From:
Graham Ashton
Date:
2010-12-20 @ 21:07
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