Why gatsby over metalsmith for the blog? #288
Comments
Could you clarify what site you're referring to? Pretty sure the regular metalsmith.io site is built with Metalsmith. |
I'm not affiliated with Segment so I can't really comment on why they went with Gatsby. At first glance though it looks to me like Gatsby is far more opinionated than Metalsmith is. Metalsmith's core is tiny and relies almost entirely on plugins for its functionality, whereas Gatsby seems to try to include a lot more functionality out of the box, so maybe that has something to do with it. I'll leave this issue open; maybe someone who works at Segment will be able to answer this better than I can. |
Motion to close this issue... |
Since Segment has chosen Gatsby over its own Metalsmith, there is a concern for longevity of this project, and what the future could hold. As a new user, I wouldn't choose Metalsmith if Segment wasn't dogfooding, i.e. using its own project, because there's a huge risk that this project can be shuttered, leaving many Metalsmith users out in the cold. |
@up0 Segment isn't the sole maintainer of Metalsmith. There are several maintainers such as myself who don't work for Segment. Not to mention the Metalsmith core is pretty minimal. I'm certain that anyone with a solid grasp of Node and a little free time on their hands would have no trouble keeping Metalsmith afloat all on their own; for these reasons the longevity of the project isn't really much of a concern for me. See #243 for more discussion on this. |
Lets not read too much into it.. whoever was tasked with building the blog had a preference for Gatsby, no big deal. |
Awesome. Glad to hear from the supporters. Definitely moving forward with Metalsmith-based projects. |
I really like metalsmith for it's simplicity, but adding it all together: no new version since last year + segment blog built on gatsby + metalsmith.io down because they "forgot" to update heroku account... It all looks like there is no real interest in segment to lead this project further. Pretty sad conclusion for me as user. Hopefully other maintainers could move project forward, because it is so valuable project! |
@kosirm I don’t want to see this project die, either. That was part of my motivation for opening #303 . @Ajedi32 and other maintainers must review my work first, but I’m hoping it will become the basis for Metalsmith 3. If that happens, my hope is that the community will notice and interest will be revived. With enough interest and contributions, hopefully we can bring most or all of the Metalsmith ecosystem into modern JavaScript. (And—hopefully—drop support for ancient versions of Node, too! Every time I run |
(Also: “Metalsmith” is just so much better of a name than “Gatsby”. |
Hmm, after reading this. And the project problems I have, with my first Metalsmith try-out. I'm not sure to continue. I'm very fond of NodeJS based solutions, but if it doesn't work... |
@itsMeBender What problems are you having? I’d like to help! |
@Zearin , Thank you! When I copy those, old node modules, into my own project. My project works! So my project setup, etc. is good enough, to build a Metalsmith static site. Based on old module versions. When I upgrade my project to the latest versions of the metalsmith modules. It fails again! I got these error messages: Solving this problem, with information from GitHub readme's does not help. Only, copying back the old modules, download by the demo. Solves the problem. Working packages; current metalsmith-in-place "^4.1.1" So what is changed in those major releases; API?, Configuration? ... |
Tell me if any of my statements are incorrect. Here is what I understand so far… Current SituationOkay, so you say that the outdated—but working—demo, uses:
But things break when you update to:
Tracking Down the ProblemThe first thing I did was go to metalsmith-in-place’s In that changelog, under
That sounded familiar to me, so I checked the link you provided. That page says the errors are always caused by one of the following:
Aha! So it looks like the error is JSTransformer related. Possible SolutionIn order for I think you will need to at least do the following:
You might need to do something similar for markdown as well, but it’s hard for me to say without access to your project. UPDATE: Fixed a copy-paste error about metalsmith-in-place’s version |
Hi, thank you for your support. my test setup: The documentation mentioned a JSON config file. But I'm using a build script. May be it's then the configuration; var metalsmith(__dirname) |
Can you put the project somewhere I can get a copy of it? I’ll see if I can figure out what’s going on here. |
Initial SetupI cloned your repo. I ran Then, I ran DebuggingAs described in metalsmith-in-place’s “Errors and Debugging”.
This will enable extra debug messages for both plugins. Using these debug messages (and a lot of back-and-forth referencing SolutionDo the following, and your build should now work with up-to-date plugins. :) Step 0: Dependencies(Step 0? Yes! For sanity.) Ensure you've updated the plugins.
Part 1:
|
Thank you @Zearin, with your step through problem solving approach. I finally solved my problems.
I copied your approach of problem solving into my project as WIKI. See GitHub. It will be useful for other people, I think. |
Golden! I had a similar problem. Differences were my project isn't using import markdown from 'metalsmith-markdownit' and .use(markdown({html: true})) |
If anyone is interested, I made this blog site example: https://github.com/borisovg/metalsmith-blog-example, which is a simplified version of what I use for building my own site. Demo: https://borisovg.github.io/metalsmith-blog-example-demo/ |
I'm unsure why Segment decided to use Gatsby for their blog. As most of the maintainers are not employee's or no longer employees of Segment it is hard to know the answer. As Ajedi32 said (#288 (comment)) Gatsby and Metalsmith have very different approaches with different pros and cons. As Segment haven't answered the question thus-far I suspect they're not likely to so I'll close this issue. |
@itsMeBender @Zearin just landed here and ran into same |
Could you guys go in depth about the choice of moving the blog over to gatsby?
What would you recommend and for what purposes?
The text was updated successfully, but these errors were encountered: