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

docs: flowchart and tables for differences between plugins, themes, and starters #21659

Merged
merged 11 commits into from
Mar 3, 2020

Conversation

gillkyle
Copy link
Contributor

Description

This PR creates some markdown tables and a flowchart to evaluate differences in plugins, themes, starters.

The content, including rankings in the tables and flow of the flowchart is definitely subject to some scrutiny. I did the best I could but still think there might be some info lacking here. Getting this info in flowchart format is hard because plugins and themes essentially overlap in every way except for conceptual understanding, hence why I also made the tables.

I'm open to feedback but hope this could help users create a better mental model of Gatsby!

Screenshot Preview

View screenshot

localhost_8000_docs_plugins-themes-and-starters

Related Issues

Related to #15616 and this card in the Learning Roadmap: https://github.com/gatsbyjs/gatsby/projects/10#card-30093971

@gillkyle gillkyle added the type: documentation An issue or pull request for improving or updating Gatsby's documentation label Feb 21, 2020
@gillkyle gillkyle requested a review from a team as a code owner February 21, 2020 20:27
Copy link
Contributor

@wardpeet wardpeet left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great doc! One small issue I personally had while reading it.

Copy link
Contributor

@laurieontech laurieontech left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice work on this Kyle! I made some suggestions below.

I'm trying to think through the format a bit. The plugin vs. theme distinction has to be repeated a bit, same with starters as a snapshot in time. I'm wondering if there is a way to put some of those configuration/usage details up top so that they're covered only once? Let me know what you think.

@gillkyle
Copy link
Contributor Author

I'm trying to think through the format a bit. The plugin vs. theme distinction has to be repeated a bit, same with starters as a snapshot in time. I'm wondering if there is a way to put some of those configuration/usage details up top so that they're covered only once? Let me know what you think.

I thought about this too and thought of the first 3 sections more like overviews, and the latter sections as more granular comparison. I'm open to any suggestions you have!

Copy link
Contributor

@laurieontech laurieontech left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes! Think this revision helps a lot. Made some suggestions below.

Copy link
Contributor

@laurieontech laurieontech left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One last change but think this looks good after that!

Copy link

@AishaBlake AishaBlake left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks awesome, Kyle!! The only thing I couldn't resolve is in my question on line 96. Everything else is either a quick edit or a non-blocking suggestion.


### Differences and considerations in maintenance

When it comes to maintaining a Gatsby site, plugins and themes offer a distinct advantage to starters by being distributed as packages. This means making changes in multiple Gatsby sites is as easy as a new install of an updated package upstream. It's difficult to sync changes across multiple sites derived from the same starter.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The phrase "plugins and themes offer a distinct advantage to starters" reads to me like you might choose to use a non-theme plugin rather than a starter to base your site on. Not a blocker as far as I'm concerned but something to think about.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah I think that would often be the case, to add configuration like linting and tooling to multiple sites. If you think there's a better way to reword this I'm happy to hear what you think! 👍

@AishaBlake AishaBlake self-assigned this Feb 28, 2020
@gillkyle gillkyle added the status: awaiting reviewer response A pull request that is currently awaiting a reviewer's response label Mar 2, 2020
Copy link

@AishaBlake AishaBlake left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for making those adjustments, Kyle! 🚀

@AishaBlake AishaBlake merged commit 4ab3f19 into master Mar 3, 2020
@delete-merged-branch delete-merged-branch bot deleted the plugin-theme-starter-table branch March 3, 2020 16:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
status: awaiting reviewer response A pull request that is currently awaiting a reviewer's response type: documentation An issue or pull request for improving or updating Gatsby's documentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants