Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Gatsby Starters Kit #183

Closed
alxshelepenok opened this issue Mar 11, 2016 · 4 comments
Closed

Gatsby Starters Kit #183

alxshelepenok opened this issue Mar 11, 2016 · 4 comments

Comments

@alxshelepenok
Copy link
Contributor

Hi, I created a repository for starters gatsby-starters-kit

Now there is only one theme out of ten, however if you have any interesting ideas, it will be great ;)

Update:
Github org for starters kit: hb-gatsby
gatsby-lumen-starter: link

@KyleAMathews
Copy link
Contributor

Wow, Lumen looks fantastic!

I think starters will mostly fall into two categories — plug-and-play where you'll install the starter and just start adding your content. Or they'll be more of a tech-driven starter e.g. a starter for people who want to use Less for example or a starter for Coffeescript people or a starter for Bootstrap.

Lumen is definitely a plug-n-play starter. If that's where your heart falls, I think the most popular starters for this sort (initially) will be more personal site / portfolio / blog type starters. Most people who'll want to play around with Gatsby will start first by re-working their existing personal site to use Gatsby.

Other ideas that could be fun are documentation sites (e.g. reimagine React's docs site in Gatsby), a picture gallery (just drop in a bunch of pictures and it creates an interactive picture gallery using the metadata from the pictures), a simple corporate/marketing site.

Also fun would be porting popular really popular themes e.g. from Wordpress. There's tons of those out there.

@KyleAMathews
Copy link
Contributor

Oh I just noticed too that right now, you can't install Lumen with gatsby new as Lumen isn't in its own repository. To fix it you could either have Lumen in its own repo e.g. gatsby-starter-lumen or if you're feeling sufficiently ambitious, you could create a Github org for your starters and put them all in there.

I'm going to start on a Gatsby site (would love your help if interested!) and it'll have a section for listing w/ screenshots + link to a demo of all community starters.

@alxshelepenok
Copy link
Contributor Author

Yes, it seems best to create an additional github org, where i can add modules and starters.

Oh I just noticed too that right now, you can't install Lumen with gatsby new as Lumen isn't in its own repository.

Is it possible to install starter using NPM?

@KyleAMathews
Copy link
Contributor

Awesome — yeah, would love gazillions of awesome starters pop-up on from you and others. Would you like to create a PR to add your starter to the README?

It is not possible atm to npm install a starter. Starters (as they work now) are basically boilerplates (which arguably they should be called and which I'll probably switch their name to soon) because you get an unversioned copy of all the files with the expectation that you'll start to modify them. If you "install" a starter, this implies it's more like a library/plugin/app/theme where the details of the structure & styling of the starter are abstracted away from you.

I do think both boilerplates and theme style starters have enormous value. Many people would be quite happy with a Gatsby-based blog which they don't have to create or maintain. The site could literally have just two dependencies, the Gatsby "theme" and Gatsby itself. You could contribute bug fixes back to the "theme" and then update with NPM to the latest version.

There's an enormous number of very common websites that'd lend themselves to this sort of pattern.

But this also does raise a number of sticky questions around how does a user override parts of the "theme". What is the interface exactly between the two.

One thought I've had is it could mimic the plugin interface from Webpack. You'd import those into your gatsby.config.js file and then export an array of themes with configuration you pass in. Also themes could draw data from your config.toml.

Check out the main issue for this #20

There's a lot of work to do before we get that point. The first and biggest is #177. Gatsby is a fun project of mine so I don't have tons of time to work on it so feel free (and everyone else following along at home) to jump in and own parts of this!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants