> Creating a blog from scratch requires quite a lot.
Quite a lot of what? If I want to create a blog then there are many existing systems that are essentially plug and play.
Perhaps this is an article teaching me about composable whatevers, but I'm not sure this is a great example, or even if it is perhaps a different tone could have helped set the scene. Nobody in their right mind would want to build a blog this way in the real world, I hope.
I agree building a blog isn't a great example. They were off to a bad start by saying it's hard to create a blog. Then they introduce a solution that seems to require existing knowledge of
- "forking"
- Typescript
- React
- components and props
- MDX
- The Bit platform
I feel like if you know all this stuff then you aren't going to have a problem building a blog.
And I feel like I could swap "The Bit platform" for Material UI or whatever and by the end of the post I'd be in the same place: not having a working blog :D
#!/bin/sh
process() {
output="${1%.*}".html
# Convert markdown to html and save
curl \
-sS \
-u "${GITHUB_USERNAME}:${GITHUB_TOKEN}" \
-X POST \
-H "Content-Type: text/plain" -H "Accept: application/vnd.github.v3+json" \
https://api.github.com/markdown/raw \
--data "$(cat $1)" > $output
# Apply layout and save
html=$(awk 'NR==FNR { a[n++]=$0; next } /{{ content }}/ { for (i=0;i<n;++i) print a[i]; next } 1' $output layout.html)
printf "%s" "$html" > "$output"
echo "Processed ${output}"
}for file in *.md; do process "$file" & done wait
For the vast majority of not-a-toy and not-Amazon projects this seems un-aligned?
It's unclear what this even does to facilitate component development. It doesn't seem to provide any primitives. Most of the docs appear to focus on how this can be your workspace, env management, dependency graph, build system, CI, package repo, and team management. Super over-zealous for a component ecosystem.
What is the ecosystem? A bunch of packages of dubious quality left un-maintained from github? We already have that. Maybe the 'search by feature' aspect is useful.
This feels like an index of NPM packages needlessly masquerading as a framework, but maybe also your whole dev workflow and toolchain, but also an "ecosystem" so there can be a subscription fee tacked on.
Is the expectation that I would mix and match UI components out of different projects? Like I want to use Material UI's <Checkbox> component but Chakra's <Banner> component? And they're all independently versioned?
Sounds like a recipe for a lot of complexity to me, but probably I am missing something.
Edit: The homepage actually does a really good job of explaining this. And yes, it seems like it's what I thought.
This article is a lot of busy work.