braziljs / conf-boilerplate

The easiest way to create websites for conference/events
http://braziljs.github.io/conf-boilerplate
453 stars 338 forks source link

Operation Disassemble DocPad #109

Open zenorocha opened 9 years ago

zenorocha commented 9 years ago

DocPad made us possible to build an amazing project that helped many many events around the world.

It proved that a static generator can increase a developer's productivity when building small to complex applications. Since https://github.com/docpad/docpad/issues/821 we've been thinking about moving to a different solution for a bunch of reasons.

That's why we're announcing a big rewrite using another static generator (obviously in Node) called Metalsmith. We're also switching template engines from eco to handlebars. Our hope is that this will make it even easier for you to use and contribute.

obetomuniz commented 9 years ago

:+1: Challenge Accepted! No doubt this is a great choice.

fdaciuk commented 9 years ago

Nice!! :sparkles: :sparkles: The rewriten code is already on the Github?

zenorocha commented 9 years ago

Not yet @fdaciuk, @obetomuniz is working on it and will publish it in a separated branch in this repo.

@obetomuniz could you let us know when you push the code to this new branch?

fdaciuk commented 9 years ago

:+1:

obetomuniz commented 9 years ago

Today or tomorrow guys! :smile_cat:

fdaciuk commented 9 years ago

@obetomuniz :dancer: :dancer: :+1:

Nevraeka commented 9 years ago

readthesource.io started using Hugo. Have you looked into it? One of the things we liked about it was that it doesn't get in the way of pluggable architecture and advanced code on top of the base templates. The real killer feature was that it builds super fast but it does require GoLang.

http://gohugo.io/

zenorocha commented 9 years ago

It's kinda hard for us to use a language other than JavaScript since this project belongs to BrazilJS foundation and we encourage JavaScript development. But that was a good tip @Nevraeka, I'm going to take a look on that. Thanks!

Nevraeka commented 9 years ago

:+1 understood. I need to check out metalsmith 😄

obetomuniz commented 9 years ago

Cool !!! I will test the Hugo Generator too, because in addition to love with JavaScript, I am also a little adept at GoLang, thank you for the tip @Nevraeka . But in the case of conf-boilerplate is what @zenorocha said.

Nevraeka commented 9 years ago

:+1: @obetomuniz

zenorocha commented 9 years ago

So I just finished the Metalsmith migration. :tada:

Before merging it to master, I would like gather some feedback from you guys. Please check the metalsmith branch and let me know what you think.

I'll be working on a migration guide in the meanwhile.

fdaciuk commented 9 years ago

Nice work! :sparkles: I'll try it xD

obetomuniz commented 9 years ago

Nice @zenorocha I'll check :dancer:

obetomuniz commented 9 years ago

@zenorocha I tested the branch and detect a problem with npm run watch command . The command don't work in the file change, just in the first time that I execute.

The remaining of migration is running perfectly. :dancers:

gpedro commented 9 years ago

@obetomuniz the watcher will only work in the folder src/documents https://github.com/braziljs/conf-boilerplate/blob/metalsmith/metalsmith.js#L14

cc @zenorocha

workaround

Change pattern to:

pattern: '../../src/*/',

zenorocha commented 9 years ago

yeah, which sucks, @gpedro. Could you guys send a PR fixing this?

gpedro commented 9 years ago

@zenorocha yep :P

zenorocha commented 9 years ago

Here's the work-in-progress release notes for you guys to review.

https://gist.github.com/zenorocha/9c608ab00a368db1fed4

obetomuniz commented 9 years ago

Thanks @gpedro :guitar:

Nevraeka commented 9 years ago

:+1:

zenorocha commented 9 years ago

Here's a draft post (in portuguese) that should be published tomorrow:

https://github.com/braziljs/braziljs.org/pull/198

Would love to see your thoughts on this.

zenorocha commented 9 years ago

And here's the draft post in english:

https://github.com/zenorocha/zenorocha.com/pull/23

jaydson commented 9 years ago

Metalsmith is great. But, as one of Harmonic's maintainers, i need to say we'd love to have Conf Boilerplate as use case. I'm pretty sure you guys would find a lot of bugs and feature requests, and it will be awesome.

That said, is up to you guys decide. Help and evolve a home-made (by brazilians) static site generator written with the modern JavaScript (ES6/ES7) or just use an already solid solution.

AFAICS, Conf Boilerplate project was inactive for a while, so there's no "urgency" on that migration.

//cc @zenorocha @ultcombo

zenorocha commented 9 years ago

I took a look on Harmonic before trying Gulp and then Metalsmith for this. There are some reasons why I made the decision to not use Harmonic:

Although it's nice that is written in ES6, that doesn't really matter for the API consumer. This "Operation Disassemble DocPad" starts with Conf Boilerplate but involves few other projects which are much more critical.

I'm really excited for Harmonic's future, mostly because I trust in the developers behind it and I'm following its evolution for a while. But even though we haven't made updates in a long time, people still use this project a lot so it's important to deliver a reliable solution.

jaydson commented 9 years ago

It's a pretty new project, which means there are many features lacking like partials, nested templates, among others.

The fact it is a new project, in my vision is a benefit. Harmonic templates is built on top of Nunjucks, so yes, Harmonic have partials and nested templates support.

Test coverage is poor

I agree.

There's no plugin ecosystem around it.

We're working on it: https://github.com/JSRocksHQ/harmonic/issues/140

jaydson commented 9 years ago

This Kyle Simpson's (@getify) tweets reflects what i think:

https://twitter.com/getify/status/585667429080162304

if more people spread out attention across a wider range of signals, instead of clamoring to the popular stuff, more quality would spread

https://twitter.com/getify/status/585668150622035968

instead of "we picked X b/c it's so popular and awesome", how about "we picked Y b/c it wasn't getting enough attention"?

UltCombo commented 9 years ago

Test coverage is poor.

True, there are only smoke tests so far. We are welcoming PRs in that regard. Though, I'm personally focusing on pushing programmatic APIs (both high and low level) before investing time on writing tests. This will make writing tests much easier and effective.

balupton commented 7 years ago

For what it's worth, 2016 saw a large maintenance effort on the Bevry projects - and work is underway at getting those changes in DocPad. There is a roadmap at https://bevry.me/patreon we are working towards - but there is nothing but free time right now on an uphill battle of latest trends.

I've looked at many different SSGs over the years to see what trends are unfolding, and still really admire DocPad.