librelist archives

« back to archive

Nesta 0.9.8 released

Nesta 0.9.8 released

From:
Graham Ashton
Date:
2011-08-23 @ 06:03
Nesta 0.9.8 is now available on rubygems.org.

Upgrade instructions can be found on the blog:

  http://nestacms.com/blog/version-0-9-8

It's a bug fix release to address the failure to serve assets from the 
public directory on Heroku, as reported on the list by Nathanael.


http://librelist.com/browser/nesta/2011/8/21/public-folder-invisible-on-heroku-in-0-9-7/

If you used the workaround in config.ru that I posted in that thread, you 
can now remove it.

Re: [nesta] Nesta 0.9.8 released

From:
Nathanael D. Jones
Date:
2011-08-25 @ 20:11
Thanks, it has been working great! I really appreciate the quick update, I
got my site running again in no time.

I just finished a Wordpress XML importer, complete with media downloading,
comment porting (via intensedebate), and URL redirection. My goal is to make
the wordpress->nesta transition nearly seamless.

I'd like to share my code when I'm done, so let me know what the best way to
do that is...

Also -  what about setting up a free UserVoice feedback site for the
project? I use it for the http://imageresizing.net project at
http://resizer.uservoice.com, and it makes it very easy to get community
votes on new features. I've found it gathers more ideas than a mailing list
does.

There are a few features that I'm going to have to add to migrate my blog
over to Nesta:

* Hidden pages (needed for drafts, private, protected, and pending articles)
* IntenseDebate integration (easy, using page.metadata["post id"] for guid)
* Alternate Urls feature: Allowing a page to specify alternate urls in the
metadata which will be 301-redirected to the true URL
* page.metadata["Menu"] for overriding the page title in the website menu
* Trailing slash normalization - In Google's eyes, each page has an
identical twin with a trailing '/'... It messes up analytics reports and
probably doesn't help SEO.
There needs to be specific rules about what gets a trailing slash and what
doesn't, with 301 correction.
* menu.txt ignores the user-specified trailing slash, preventing relative
paths from being used on 'index.mdown' pages.

With a voting system, perhaps I can find out out if any of my changes would
be useful to the mainline build.

Best regards,
Nathanael Jones

On Tue, Aug 23, 2011 at 8:03 AM, Graham Ashton <graham@effectif.com> wrote:

> Nesta 0.9.8 is now available on rubygems.org.
>
> Upgrade instructions can be found on the blog:
>
>  http://nestacms.com/blog/version-0-9-8
>
> It's a bug fix release to address the failure to serve assets from the
> public directory on Heroku, as reported on the list by Nathanael.
>
>
> 
http://librelist.com/browser/nesta/2011/8/21/public-folder-invisible-on-heroku-in-0-9-7/
>
> If you used the workaround in config.ru that I posted in that thread, you
> can now remove it.
>

Re: [nesta] Nesta 0.9.8 released

From:
Graham Ashton
Date:
2011-08-25 @ 22:33
On 25 Aug 2011, at 21:11, Nathanael D. Jones wrote:

> Thanks, it has been working great! I really appreciate the quick update,
I got my site running again in no time.

No problem. Somebody pointed out on Twitter that you couldn't create a new
nesta site as the nesta command was also missing a require, so 0.9.9 came 
out yesterday. I didn't send an announcement as I've been very busy with 
work this week and haven't had a chance to write a blog post either.

Apologies for the rapid releases; I normally try and bundle a few useful 
changes up together before putting a new version out.

> I just finished a Wordpress XML importer, complete with media 
downloading, comment porting (via intensedebate), and URL redirection. My 
goal is to make the wordpress->nesta transition nearly seamless.
> 
> I'd like to share my code when I'm done, so let me know what the best 
way to do that is…

That definitely warrants a blog post on nestacms.com. I'd be happy to 
write one, or you could do a guest post if you like. Let me know.

I'd like to publicise Wynn's tumblr task too. Wynn - fancy posting, or 
would you rather I did it?

We could link to the gists from the docs, and then anybody who changes the
script for their own ends could fork your gists and post a comment on the 
site. It'd be nice to keep the process of sharing scripts like this quite 
fluid and lightweight.

> Also -  what about setting up a free UserVoice feedback site for the 
project? ... I've found it gathers more ideas than a mailing list does.

Interesting thought. I'm all for building community. I don't tend to send 
many emails to the list as I don't want to spam people who have only 
signed up to get announcements, and making a separate announcements list 
for such a small project would seem crazy.

I think a site like UserVoice would only work if Nesta's users embraced 
it. The mailing list is fairly quiet, and I've no idea how many 
subscribers we've got (librelist doesn't tell you).

Is using UserVoice or Get Satisfaction worth a quick show of hands? If any
of you have got an opinion (even if it's negative), let's hear it.

You used to be able to vote on GitHub issues, but I think the UI for that 
might have taken a hike.

> * Hidden pages (needed for drafts, private, protected, and pending articles)

What do private and protected mean?

Have you seen the trick for setting an article's date to some point in the
future? The article won't get published until that date, which means it 
won't show up in a list of recent articles, or in the Atom feed. In short,
your site won't link to it but if you hit the right URL it'll load.

I like the idea of drafts but never decided on a way to do it. There are a
few boolean settings that can be applied to a page, so I'm thinking of 
defining a new item of meta data that can list them. Chime in with 
alternatives; I've been undecided about the merits of this approach for 
ages.

Maybe:

  Flags: draft, hidden

https://github.com/gma/nesta/issues/61

> * IntenseDebate integration (easy, using page.metadata["post id"] for guid)

You've lost me in the details. It would make sense to implement the same 
level of integration as Disqus, which is largely just a snippet of 
JavaScript in a view, and a bit of machinery to make it easy to read your 
account ID from config.yml.

If somebody sends me a pull request along those lines, I'll merge it.

https://github.com/gma/nesta/issues/62

What would page specific meta data be used for? Comment counts? If so, I 
suspect that should just be in the view (i.e. in your own view code, or in
a theme that choose to support it).

> * Alternate Urls feature: Allowing a page to specify alternate urls in 
the metadata which will be 301-redirected to the true URL

Is it so that you can configure redirects from a page's old path when you 
re-organise your content?

That feels fairly Rack::Rewrite-esque (though I appreciate that's slightly
more techy than some people will be comfortable with).

Have you seen this?

  http://nestacms.com/blog/moving-pages-with-http-redirects

> * page.metadata["Menu"] for overriding the page title in the website menu

Interesting. I've been thinking that's required, but that it would make a 
good optional second argument on a line in menu.txt.

https://github.com/gma/nesta/issues/63

> * Trailing slash normalization - In Google's eyes, each page has an 
identical twin with a trailing '/'... It messes up analytics reports and 
probably doesn't help SEO.
> There needs to be specific rules about what gets a trailing slash and 
what doesn't, with 301 correction.

Good catch. https://github.com/gma/nesta/issues/60

> * menu.txt ignores the user-specified trailing slash, preventing 
relative paths from being used on 'index.mdown' pages.

I'm not following - could you provide a short example?

Thanks for the massive list of feedback. :-)

Re: [nesta] Nesta 0.9.8 released

From:
Nathanael D. Jones
Date:
2011-08-25 @ 23:31
Sorry for the massive list - apologies ;)

Replies by heading..

#Importing blog

I'd be happy to work up a tutorial once I get all the bugs smoothed out.
Right now, I'm trying to figure out how to turn the html into markdown. The
Markdown parser uses REXML, which requires perfect XML, not HTML. I've tried
nokogiri, tidy-ext, and hpricot for normalization, but all of them are buggy
and improperly modify the HTML.  On top of that, the markdown parser splits
the HTML into segments on whitespace, something that's hard to fix.

I might have to stream transform the HTML into markdown and drop the extra
stuff... Or else add a custom rendering extension that leaves html alone
based on a flag or tag of some kind.

# Explanation of status values

Wordpress pages and posts have a 'status' that can be 'publish', 'draft',
'private', or 'pending'. There is also a password field for each page or
post that can be used to protect it.

'draft' and 'pending' are synonymous from a functional point of view, they
only differ semantically. Both hide the article/page from public access.
'private' means only authenticated users can view it. With Nesta, that means
no-one.
'protected' is a status value my import script gives to password-protected
pages and posts.

I don't generate a 'status' field when the value is 'publish'. So basically,
draft, pending, private, and protected all mean the same thing in the
context of Nesta  - hidden. It's a boolean thing, on, or off.

I can't use the Date field for draft/pending pages, or it will act like they
are articles, correct? I also use the Date field to store the original
publish date of an article, which would be good to retain even when
temporarily hiding a page.

# IntenseDebate

My comment was only to mention that we'd need to use a page metadata field
to allow the comments to be ported from a legacy CMS. I'm using "Post ID"

# Flags

I'm a fan of having named flags, they're very handy for doing custom stuff
in the views. I suggest making flags free-form, with an easy API (like
page.flag?(:draft)) so that views can be simpler, and so that pages don't
end up with lines of boolean metadata values when they could all just be
flags.  (I'm already seeing this with 3+ boolean metadata values)

# Alternate Urls

Yep, this is for legacy URLs.  I'm familiar with the Redirect approach, but
it gets unwieldy for 80+ blogs with 3-4 aliases each. I already have 60+
redirect rules I have to port from my old Web.config file, and I'd like to
make that number smaller.

For performance, the URLs could be cached and sorted, should be a log(n)
lookup op when done right. I know there's still the sinatra overhead.. But I
have no idea how much overhead Sinatra actually adds. I'm a ruby newbie as
much as a Sinatra newbie.

# menu.txt

For example

/
docs/

Generates "<a href="/docs"..."


Best regards,
Nathanael Jones












On Fri, Aug 26, 2011 at 12:33 AM, Graham Ashton <graham@effectif.com> wrote:

> On 25 Aug 2011, at 21:11, Nathanael D. Jones wrote:
>
> > Thanks, it has been working great! I really appreciate the quick update,
> I got my site running again in no time.
>
> No problem. Somebody pointed out on Twitter that you couldn't create a new
> nesta site as the nesta command was also missing a require, so 0.9.9 came
> out yesterday. I didn't send an announcement as I've been very busy with
> work this week and haven't had a chance to write a blog post either.
>
> Apologies for the rapid releases; I normally try and bundle a few useful
> changes up together before putting a new version out.
>
> > I just finished a Wordpress XML importer, complete with media
> downloading, comment porting (via intensedebate), and URL redirection. My
> goal is to make the wordpress->nesta transition nearly seamless.
> >
> > I'd like to share my code when I'm done, so let me know what the best way
> to do that is…
>
> That definitely warrants a blog post on nestacms.com. I'd be happy to
> write one, or you could do a guest post if you like. Let me know.
>
> I'd like to publicise Wynn's tumblr task too. Wynn - fancy posting, or
> would you rather I did it?
>
> We could link to the gists from the docs, and then anybody who changes the
> script for their own ends could fork your gists and post a comment on the
> site. It'd be nice to keep the process of sharing scripts like this quite
> fluid and lightweight.
>
> > Also -  what about setting up a free UserVoice feedback site for the
> project? ... I've found it gathers more ideas than a mailing list does.
>
> Interesting thought. I'm all for building community. I don't tend to send
> many emails to the list as I don't want to spam people who have only signed
> up to get announcements, and making a separate announcements list for such a
> small project would seem crazy.
>
> I think a site like UserVoice would only work if Nesta's users embraced it.
> The mailing list is fairly quiet, and I've no idea how many subscribers
> we've got (librelist doesn't tell you).
>
> Is using UserVoice or Get Satisfaction worth a quick show of hands? If any
> of you have got an opinion (even if it's negative), let's hear it.
>
> You used to be able to vote on GitHub issues, but I think the UI for that
> might have taken a hike.
>
> > * Hidden pages (needed for drafts, private, protected, and pending
> articles)
>
> What do private and protected mean?
>
> Have you seen the trick for setting an article's date to some point in the
> future? The article won't get published until that date, which means it
> won't show up in a list of recent articles, or in the Atom feed. In short,
> your site won't link to it but if you hit the right URL it'll load.
>
> I like the idea of drafts but never decided on a way to do it. There are a
> few boolean settings that can be applied to a page, so I'm thinking of
> defining a new item of meta data that can list them. Chime in with
> alternatives; I've been undecided about the merits of this approach for
> ages.
>
> Maybe:
>
>  Flags: draft, hidden
>
> https://github.com/gma/nesta/issues/61
>
> > * IntenseDebate integration (easy, using page.metadata["post id"] for
> guid)
>
> You've lost me in the details. It would make sense to implement the same
> level of integration as Disqus, which is largely just a snippet of
> JavaScript in a view, and a bit of machinery to make it easy to read your
> account ID from config.yml.
>
> If somebody sends me a pull request along those lines, I'll merge it.
>
> https://github.com/gma/nesta/issues/62
>
> What would page specific meta data be used for? Comment counts? If so, I
> suspect that should just be in the view (i.e. in your own view code, or in a
> theme that choose to support it).
>
> > * Alternate Urls feature: Allowing a page to specify alternate urls in
> the metadata which will be 301-redirected to the true URL
>
> Is it so that you can configure redirects from a page's old path when you
> re-organise your content?
>
> That feels fairly Rack::Rewrite-esque (though I appreciate that's slightly
> more techy than some people will be comfortable with).
>
> Have you seen this?
>
>  http://nestacms.com/blog/moving-pages-with-http-redirects
>
> > * page.metadata["Menu"] for overriding the page title in the website menu
>
> Interesting. I've been thinking that's required, but that it would make a
> good optional second argument on a line in menu.txt.
>
> https://github.com/gma/nesta/issues/63
>
> > * Trailing slash normalization - In Google's eyes, each page has an
> identical twin with a trailing '/'... It messes up analytics reports and
> probably doesn't help SEO.
> > There needs to be specific rules about what gets a trailing slash and
> what doesn't, with 301 correction.
>
> Good catch. https://github.com/gma/nesta/issues/60
>
> > * menu.txt ignores the user-specified trailing slash, preventing relative
> paths from being used on 'index.mdown' pages.
>
> I'm not following - could you provide a short example?
>
> Thanks for the massive list of feedback. :-)

Marking pages as draft with flags (was Re: [nesta] Nesta 0.9.8 released)

From:
Graham Ashton
Date:
2011-08-31 @ 09:42
On 26 Aug 2011, at 00:31, Nathanael D. Jones wrote:

> Right now, I'm trying to figure out how to turn the html into markdown.

Have you tried just inserting a chunk of HTML into a Markdown file? 
Markdown supports inline HTML. If you find that the Markdown processor is 
adding unnecessary tags within your HTML, try wrapping the entire HTML 
snippet in a <section> or <div> tag.

> draft, pending, private, and protected all mean the same thing in the 
context of Nesta  - hidden. It's a boolean thing, on, or off.

I've often wanted draft myself, so after our brief discussion about flags 
last week I've implemented it. The draft flag has special behaviour, 
causing a page to be hidden in production, but visible in development.

You can set flags in the metadata like this:

    Flags: draft, cabbage

And then in your code:

    if @page.flagged_as?('cabbage')
      ...

There's a Page#draft? method that's a shortcut for flagged_as?('draft').

To try/use it before 0.9.10 comes out, point your Gemfile at the git repository:

    gem 'nesta', :git => 'git://github.com/gma/nesta.git'

Here's the diff:

https://github.com/gma/nesta/compare/0ed9af...00f69b

> I can't use the Date field for draft/pending pages, or it will act like 
they are articles, correct?

Correct.

> # menu.txt
> 
> For example 
> 
> /
> docs/
> 
> Generates "<a href="/docs"..."

I'm still not sure how you'd like the behaviour to change. Your example 
above looks a lot like what it already does (i.e. you don't put leading 
slashes on paths, you always specify a path relative to content/pages).

Re: Marking pages as draft with flags (was Re: [nesta] Nesta 0.9.8 released)

From:
Nathanael Jones
Date:
2011-08-31 @ 12:42
Markdown supports inline, non-indented XML, not HTML, actually... so far 
neither Nokogiri, Hpricot, Tidy, or a combination of any of the three seem
to be able to normalize HTML into XML the same way browsers do... 
Apparently Wordpress generates pretty messed-up HTML, although it does 
indent it :/
Indentation (code block syntax) is another issue I have to deal with, 
although I think I can hack it off with a regex. 

I don't really have the time to write a heuristic html->mdown converter 
right now, so I'll probably just add a .html renderer or something... BTW,
is Tilt integration in the roadmap?

The flags support sounds great! I'll merge in your changes when I get back
to Verona on Saturday.

Regarding menu.txt, it's the generated links that don't have the trailing 
slash. Without a trailing slash in the URL, page-relative links aren't 
possible, only parent-relative links... Did the explanation in the ticket 
you opened make sense?

Thanks,
Nathanael






Sent from my iPad

On Aug 31, 2011, at 11:42 AM, Graham Ashton <graham@effectif.com> wrote:

> On 26 Aug 2011, at 00:31, Nathanael D. Jones wrote:
> 
>> Right now, I'm trying to figure out how to turn the html into markdown.
> 
> Have you tried just inserting a chunk of HTML into a Markdown file? 
Markdown supports inline HTML. If you find that the Markdown processor is 
adding unnecessary tags within your HTML, try wrapping the entire HTML 
snippet in a <section> or <div> tag.
> 
>> draft, pending, private, and protected all mean the same thing in the 
context of Nesta  - hidden. It's a boolean thing, on, or off.
> 
> I've often wanted draft myself, so after our brief discussion about 
flags last week I've implemented it. The draft flag has special behaviour,
causing a page to be hidden in production, but visible in development.
> 
> You can set flags in the metadata like this:
> 
>    Flags: draft, cabbage
> 
> And then in your code:
> 
>    if @page.flagged_as?('cabbage')
>      ...
> 
> There's a Page#draft? method that's a shortcut for flagged_as?('draft').
> 
> To try/use it before 0.9.10 comes out, point your Gemfile at the git repository:
> 
>    gem 'nesta', :git => 'git://github.com/gma/nesta.git'
> 
> Here's the diff:
> 
> https://github.com/gma/nesta/compare/0ed9af...00f69b
> 
>> I can't use the Date field for draft/pending pages, or it will act like
they are articles, correct?
> 
> Correct.
> 
>> # menu.txt
>> 
>> For example 
>> 
>> /
>> docs/
>> 
>> Generates "<a href="/docs"..."
> 
> I'm still not sure how you'd like the behaviour to change. Your example 
above looks a lot like what it already does (i.e. you don't put leading 
slashes on paths, you always specify a path relative to content/pages).

Re: Marking pages as draft with flags (was Re: [nesta] Nesta 0.9.8 released)

From:
Graham Ashton
Date:
2011-09-05 @ 11:10
On 31 Aug 2011, at 13:42, Nathanael Jones wrote:

> BTW, is Tilt integration in the roadmap?

I like Tilt, but I haven't looked into what it could for us in Nesta too 
heavily. What does Tilt integration really mean in the context of Nesta 
(given that Sinatra is already using it internally)?

> Regarding menu.txt, it's the generated links that don't have the 
trailing slash. Without a trailing slash in the URL, page-relative links 
aren't possible, only parent-relative links... Did the explanation in the 
ticket you opened make sense?

It did, thanks. I just commented on it.

https://github.com/gma/nesta/issues/60

Re: Marking pages as draft with flags (was Re: [nesta] Nesta 0.9.8 released)

From:
Nathanael D. Jones
Date:
2011-09-05 @ 11:37
We should be able to offload rendering engine selection to Tilt.new(),
allowing automatic support for whichever gems users want to install. I.e, we
can support erubis without requiring it. Obviously we'll have to extend
header parsing for articles, but that's not a very big task.

On Mon, Sep 5, 2011 at 1:10 PM, Graham Ashton <graham@effectif.com> wrote:

> On 31 Aug 2011, at 13:42, Nathanael Jones wrote:
>
> > BTW, is Tilt integration in the roadmap?
>
> I like Tilt, but I haven't looked into what it could for us in Nesta too
> heavily. What does Tilt integration really mean in the context of Nesta
> (given that Sinatra is already using it internally)?
>
> > Regarding menu.txt, it's the generated links that don't have the trailing
> slash. Without a trailing slash in the URL, page-relative links aren't
> possible, only parent-relative links... Did the explanation in the ticket
> you opened make sense?
>
> It did, thanks. I just commented on it.
>
> https://github.com/gma/nesta/issues/60
>

Re: [nesta] Nesta 0.9.8 released

From:
Wynn Netherland
Date:
2011-08-25 @ 20:19
I've got a Tumblr importer in a custom rake task. We're still working
on our dream to move our blog to Nesta. Here's the task:

https://gist.github.com/1171776

---
Wynn Netherland
web: http://wynn.fm
twitter / skype / facebook: pengwynn
linkedin: http://linkedin.com/in/netherland

On Thu, Aug 25, 2011 at 3:11 PM, Nathanael D. Jones
<nathanael.jones@gmail.com> wrote:
> Thanks, it has been working great! I really appreciate the quick update, I
> got my site running again in no time.
> I just finished a Wordpress XML importer, complete with media downloading,
> comment porting (via intensedebate), and URL redirection. My goal is to make
> the wordpress->nesta transition nearly seamless.
> I'd like to share my code when I'm done, so let me know what the best way to
> do that is...
> Also -  what about setting up a free UserVoice feedback site for the
> project? I use it for the http://imageresizing.net project
> at http://resizer.uservoice.com, and it makes it very easy to get community
> votes on new features. I've found it gathers more ideas than a mailing list
> does.
> There are a few features that I'm going to have to add to migrate my blog
> over to Nesta:
> * Hidden pages (needed for drafts, private, protected, and pending articles)
> * IntenseDebate integration (easy, using page.metadata["post id"] for guid)
> * Alternate Urls feature: Allowing a page to specify alternate urls in the
> metadata which will be 301-redirected to the true URL
> * page.metadata["Menu"] for overriding the page title in the website menu
> * Trailing slash normalization - In Google's eyes, each page has an
> identical twin with a trailing '/'... It messes up analytics reports and
> probably doesn't help SEO.
> There needs to be specific rules about what gets a trailing slash and what
> doesn't, with 301 correction.
> * menu.txt ignores the user-specified trailing slash, preventing relative
> paths from being used on 'index.mdown' pages.
> With a voting system, perhaps I can find out out if any of my changes would
> be useful to the mainline build.
> Best regards,
> Nathanael Jones
> On Tue, Aug 23, 2011 at 8:03 AM, Graham Ashton <graham@effectif.com> wrote:
>>
>> Nesta 0.9.8 is now available on rubygems.org.
>>
>> Upgrade instructions can be found on the blog:
>>
>>  http://nestacms.com/blog/version-0-9-8
>>
>> It's a bug fix release to address the failure to serve assets from the
>> public directory on Heroku, as reported on the list by Nathanael.
>>
>>
>> 
http://librelist.com/browser/nesta/2011/8/21/public-folder-invisible-on-heroku-in-0-9-7/
>>
>> If you used the workaround in config.ru that I posted in that thread, you
>> can now remove it.
>
>

Re: [nesta] Nesta 0.9.8 released

From:
Nathanael D. Jones
Date:
2011-08-25 @ 21:20
Here's my current code for importing a Wordpress XML file. Note that the
'hpricot' gem is required.

https://gist.github.com/1172001


On Thu, Aug 25, 2011 at 10:19 PM, Wynn Netherland <wynn.netherland@gmail.com
> wrote:

> I've got a Tumblr importer in a custom rake task. We're still working
> on our dream to move our blog to Nesta. Here's the task:
>
> https://gist.github.com/1171776
>
> ---
> Wynn Netherland
> web: http://wynn.fm
> twitter / skype / facebook: pengwynn
> linkedin: http://linkedin.com/in/netherland
>
> On Thu, Aug 25, 2011 at 3:11 PM, Nathanael D. Jones
> <nathanael.jones@gmail.com> wrote:
> > Thanks, it has been working great! I really appreciate the quick update,
> I
> > got my site running again in no time.
> > I just finished a Wordpress XML importer, complete with media
> downloading,
> > comment porting (via intensedebate), and URL redirection. My goal is to
> make
> > the wordpress->nesta transition nearly seamless.
> > I'd like to share my code when I'm done, so let me know what the best way
> to
> > do that is...
> > Also -  what about setting up a free UserVoice feedback site for the
> > project? I use it for the http://imageresizing.net project
> > at http://resizer.uservoice.com, and it makes it very easy to get
> community
> > votes on new features. I've found it gathers more ideas than a mailing
> list
> > does.
> > There are a few features that I'm going to have to add to migrate my blog
> > over to Nesta:
> > * Hidden pages (needed for drafts, private, protected, and pending
> articles)
> > * IntenseDebate integration (easy, using page.metadata["post id"] for
> guid)
> > * Alternate Urls feature: Allowing a page to specify alternate urls in
> the
> > metadata which will be 301-redirected to the true URL
> > * page.metadata["Menu"] for overriding the page title in the website menu
> > * Trailing slash normalization - In Google's eyes, each page has an
> > identical twin with a trailing '/'... It messes up analytics reports and
> > probably doesn't help SEO.
> > There needs to be specific rules about what gets a trailing slash and
> what
> > doesn't, with 301 correction.
> > * menu.txt ignores the user-specified trailing slash, preventing relative
> > paths from being used on 'index.mdown' pages.
> > With a voting system, perhaps I can find out out if any of my changes
> would
> > be useful to the mainline build.
> > Best regards,
> > Nathanael Jones
> > On Tue, Aug 23, 2011 at 8:03 AM, Graham Ashton <graham@effectif.com>
> wrote:
> >>
> >> Nesta 0.9.8 is now available on rubygems.org.
> >>
> >> Upgrade instructions can be found on the blog:
> >>
> >>  http://nestacms.com/blog/version-0-9-8
> >>
> >> It's a bug fix release to address the failure to serve assets from the
> >> public directory on Heroku, as reported on the list by Nathanael.
> >>
> >>
> >>
> 
http://librelist.com/browser/nesta/2011/8/21/public-folder-invisible-on-heroku-in-0-9-7/
> >>
> >> If you used the workaround in config.ru that I posted in that thread,
> you
> >> can now remove it.
> >
> >
>

Nesta Plugin Question

From:
Brad Weslake
Date:
2011-09-16 @ 04:57
I'm having a go at writing a Nesta plugin, and have hit a snag.  The 
plugin is going to be called Maldini, in honour of that other great 
Italian defender, and will allow citations and bibliographies to be added 
to pages from a BibTeX file using a synax modeled on biblatex.  The hard 
work will be done by bibtex-ruby —Maldini will just be a wrapper of sorts 
for that.  Useful for those like me who are using Nesta to produce 
academic content.  In any case, here is the snag.  Using the very helpful 
guidelines on the Nesta website, my skeleton init.rb looks like this:

--
require 'bibtex'

module Nesta
  module Plugin
    module Maldini
      module Helpers
        # Define helper methods.
      end # module Helpers

      class Bibliography
        @thebibliography
        def init(file)
          @thebibliography = BibTeX.open(file)
        end # init
      end # class Bibliography    

    end
  end

  class App
    helpers Nesta::Plugin::Maldini::Helpers
  end
end
--

However, when I attempt to create a Bibliography object in a haml file 
served at /blog/Maldini like so:

--
- bib = Nesta::Plugin::Maldini::Bibliography.new
--

I get the following error:

"NameError at /blog/maldini
uninitialized constant Nesta::Plugin::Maldini::Bibliography"

I must be confused about the way the namespaces within Nesta are working, 
because I can't figure out how to access the Bibliography class.  No doubt
this is a simple error.  It's been years since I coded anything, and I'm 
brand new to Ruby.

Cheers,

Brad.

Re: [nesta] Nesta Plugin Question

From:
Graham Ashton
Date:
2011-09-16 @ 07:44
On 16 Sep 2011, at 05:57, Brad Weslake wrote:

> However, when I attempt to create a Bibliography object in a haml file 
served at /blog/Maldini like so:
> 
> --
> - bib = Nesta::Plugin::Maldini::Bibliography.new
> --
> 
> I get the following error:
> 
> "NameError at /blog/maldini
> uninitialized constant Nesta::Plugin::Maldini::Bibliography"

I made a maldini plugin and copied your init.rb code into it. I built the 
gem, added it to a test site, and added the line of haml to a view 
template. When I reloaded a web page I got the NameError. I restarted 
shotgun and reloaded the page, and it loaded fine. Bundler requires the 
gems in your Gemfile when config.ru gets loaded, and shotgun doesn't 
re-read config.ru if it changes.

> I must be confused about the way the namespaces within Nesta are 
working, because I can't figure out how to access the Bibliography class.
No doubt this is a simple error.  It's been years since I coded anything, 
and I'm brand new to Ruby.

Good work starting a plugin! I can also see that you've nicely side 
stepped the error in the plugin code that 0.9.10 generates (I'm aiming to 
push 0.9.11 out this afternoon, in which those issues are fixed).

I wondered what you meant by "Maldini, in honour of that other great 
Italian defender" for a while, as Nesta got it's name from a quite 
different route.

I'd tried the other file based blogging solutions and rather liked Marley.
It was taking me too long to modify it to do what I needed so in the end I
started a new project. So Nesta is a tip of the hat to Marley...

Re: [nesta] Nesta Plugin Question

From:
Brad Weslake
Date:
2011-09-16 @ 16:03
Hi Graham,

Thanks for your help on this.

> I made a maldini plugin and copied your init.rb code into it. I built 
the gem, added it to a test site, and added the line of haml to a view 
template. When I reloaded a web page I got the NameError. I restarted 
shotgun and reloaded the page, and it loaded fine. Bundler requires the 
gems in your Gemfile when config.ru gets loaded, and shotgun doesn't 
re-read config.ru if it changes.

If by restarting shotgun you just mean killing the process and reissuing 
"bundle exec shotgun", then this doesn't work for me.  I'm working with 
the latest Nesta sources (by issuing "git merge upstream/master", where 
"upstream" was created via "git remote add upstream 
git://github.com/gma/nesta.git").  I should mention that I am putting the 
code into a HAML file in /blog, though I tried putting it directly into a 
view and still had the same error.  Any other ideas?

> Good work starting a plugin! I can also see that you've nicely side 
stepped the error in the plugin code that 0.9.10 generates (I'm aiming to 
push 0.9.11 out this afternoon, in which those issues are fixed).

The credit goes to you, since I just followed your own instructions on the
website, using the latest Nesta sources.

> I wondered what you meant by "Maldini, in honour of that other great 
Italian defender" for a while, as Nesta got it's name from a quite 
different route.
> 
> I'd tried the other file based blogging solutions and rather liked 
Marley. It was taking me too long to modify it to do what I needed so in 
the end I started a new project. So Nesta is a tip of the hat to Marley...

Ha!  Well, "Maldini" will stick for this project...

Cheers,

Brad.

Re: [nesta] Nesta Plugin Question

From:
Brad Weslake
Date:
2011-09-16 @ 17:56
OK,

I think I'm sorted.  I was issuing "bundle install" after updating the 
plugin, but not "rake install".  This commit reminded me I need to issue 
the latter:

	
https://github.com/gma/nestacms.com/commit/a08f913146cbb7f37ee56dc194361281edcdd58a

Hopefully this is the last you'll hear from me until Maldini 0.0.1 is 
released to the wild.

B.

On Sep 16, 2011, at 12:03 PM, Brad Weslake wrote:

> Hi Graham,
> 
> Thanks for your help on this.
> 
>> I made a maldini plugin and copied your init.rb code into it. I built 
the gem, added it to a test site, and added the line of haml to a view 
template. When I reloaded a web page I got the NameError. I restarted 
shotgun and reloaded the page, and it loaded fine. Bundler requires the 
gems in your Gemfile when config.ru gets loaded, and shotgun doesn't 
re-read config.ru if it changes.
> 
> If by restarting shotgun you just mean killing the process and reissuing
"bundle exec shotgun", then this doesn't work for me.  I'm working with 
the latest Nesta sources (by issuing "git merge upstream/master", where 
"upstream" was created via "git remote add upstream 
git://github.com/gma/nesta.git").  I should mention that I am putting the 
code into a HAML file in /blog, though I tried putting it directly into a 
view and still had the same error.  Any other ideas?
> 
>> Good work starting a plugin! I can also see that you've nicely side 
stepped the error in the plugin code that 0.9.10 generates (I'm aiming to 
push 0.9.11 out this afternoon, in which those issues are fixed).
> 
> The credit goes to you, since I just followed your own instructions on 
the website, using the latest Nesta sources.
> 
>> I wondered what you meant by "Maldini, in honour of that other great 
Italian defender" for a while, as Nesta got it's name from a quite 
different route.
>> 
>> I'd tried the other file based blogging solutions and rather liked 
Marley. It was taking me too long to modify it to do what I needed so in 
the end I started a new project. So Nesta is a tip of the hat to Marley...
> 
> Ha!  Well, "Maldini" will stick for this project...
> 
> Cheers,
> 
> Brad.

Nesta Plugin Announcement: Maldini

From:
Brad Weslake
Date:
2011-09-20 @ 20:49
Announcing Maldini, a plugin for Nesta to generate citations and reference
lists from BibTeX files.  Maldini is currently in development, and version
0.0.1 will be released to http://rubygems.org/ once:

	- It includes a basic set of RSpec tests.
	- Nesta 0.9.11 is released.

For more, including information on how to use the development version, see:

	- http://bweslake.org/research/resources/maldini
	- https://github.com/etc/nesta-plugin-maldini

Many thanks to Graham for the plugin documentation, which is very helpful.

Cheers,

Brad.

Re: [nesta] Nesta Plugin Announcement: Maldini

From:
Graham Ashton
Date:
2011-09-22 @ 13:18
On 20 Sep 2011, at 21:49, Brad Weslake wrote:

> Announcing Maldini, a plugin for Nesta to generate citations and 
reference lists from BibTeX files.
> 

> 	- http://bweslake.org/research/resources/maldini


That looks great. Very nicely put together and documented.

It's really great to see people doing stuff like this with the things you've made.

We should add a page for it on nestacms.com at /docs/plugins/maldini and 
put it in the docs/plugins category. I've been thinking each useful plugin
warrants at least a brief overview, install commands, and links to docs 
and GitHub.

> 	- Nesta 0.9.11 is released.

I think it's ready to go. I'll do a bit more testing...