conf-boilerplate icon indicating copy to clipboard operation
conf-boilerplate copied to clipboard

Operation Disassemble DocPad

Open zenorocha opened this issue 9 years ago • 29 comments

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.

zenorocha avatar Feb 27 '15 16:02 zenorocha

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

obetomuniz avatar Feb 27 '15 16:02 obetomuniz

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

fdaciuk avatar Feb 28 '15 10:02 fdaciuk

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?

zenorocha avatar Feb 28 '15 11:02 zenorocha

:+1:

fdaciuk avatar Feb 28 '15 11:02 fdaciuk

Today or tomorrow guys! :smile_cat:

obetomuniz avatar Feb 28 '15 17:02 obetomuniz

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

fdaciuk avatar Feb 28 '15 22:02 fdaciuk

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/

Nevraeka avatar Mar 04 '15 15:03 Nevraeka

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!

zenorocha avatar Mar 04 '15 17:03 zenorocha

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

Nevraeka avatar Mar 04 '15 17:03 Nevraeka

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.

obetomuniz avatar Mar 04 '15 20:03 obetomuniz

:+1: @obetomuniz

Nevraeka avatar Mar 04 '15 20:03 Nevraeka

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.

zenorocha avatar Apr 21 '15 00:04 zenorocha

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

fdaciuk avatar Apr 21 '15 01:04 fdaciuk

Nice @zenorocha I'll check :dancer:

obetomuniz avatar Apr 21 '15 13:04 obetomuniz

@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:

obetomuniz avatar Apr 21 '15 14:04 obetomuniz

@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/*/',

gpedro avatar Apr 21 '15 16:04 gpedro

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

zenorocha avatar Apr 21 '15 16:04 zenorocha

@zenorocha yep :P

gpedro avatar Apr 21 '15 16:04 gpedro

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

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

zenorocha avatar Apr 21 '15 16:04 zenorocha

Thanks @gpedro :guitar:

obetomuniz avatar Apr 21 '15 16:04 obetomuniz

:+1:

Nevraeka avatar Apr 21 '15 16:04 Nevraeka

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 avatar Apr 21 '15 17:04 zenorocha

And here's the draft post in english:

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

zenorocha avatar Apr 21 '15 18:04 zenorocha

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

jaydson avatar Apr 22 '15 14:04 jaydson

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:

  • It's a pretty new project, which means there are many features lacking like partials, nested templates, among others.
  • Test coverage is poor.
  • There's no plugin ecosystem around it.

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.

zenorocha avatar Apr 22 '15 16:04 zenorocha

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 avatar Apr 22 '15 18:04 jaydson

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"?

jaydson avatar Apr 22 '15 18:04 jaydson

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.

UltCombo avatar Apr 22 '15 18:04 UltCombo

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.

balupton avatar Feb 15 '17 23:02 balupton