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

[1.0] Plugins wishlist (and example sites) #1199

Closed
KyleAMathews opened this issue Jun 17, 2017 · 97 comments
Closed

[1.0] Plugins wishlist (and example sites) #1199

KyleAMathews opened this issue Jun 17, 2017 · 97 comments

Comments

@KyleAMathews
Copy link
Contributor

@KyleAMathews KyleAMathews commented Jun 17, 2017

There's a lot of plugins that would be fairly easy to write that'd be great to get in. Many would just be basically wrapping either a webpack plugin (e.g. adding support for a CSS preprocessor) or an NPM library (e.g. for transformer plugin). When you create a new plugin, you should also create a companion example site as both a way to demonstrate how the plugin works as well as an integration test for the plugin.

Adding plugins and example sites are easy. Simply checkout the Gatsby repo and run npm install at the root of repo. Then run npm run plop and choose to create either a plugin or example site and then follow the prompts to do the initial setup. Some of the plugins on the wishlist already have stubs in the repository.

If you want to try building one of these, just leave a comment to claim it and start coding! Also this list is by no means complete. Feel free to suggest ideas and take those on as well!

Plugin wishlist

CSS

  • Less
  • Stylus
  • Aphrodite (tracked in #8709)
  • CXS (tracked in #8710)
  • Glamorous
  • JSS
  • styled-jsx (@timsuchanek working on this)

Transformer plugins

  • CSV
  • docx
  • pdf (tracked in #8711)
  • xml
  • asciidoc (tracked in #8712)
  • toml (@Vagr9K working on this)
  • remote URLs (e.g. a referenced image would get downloaded and then made available as a local image).

Source plugins

Docs on writing source plugins https://www.gatsbyjs.org/docs/create-source-plugin/

  • Trello
  • Wordpress.com
  • Drupal (there's the start of one already in the repo but there's a number of additions that'd be great to make)
  • Prismic
  • DatoCMS
  • Github
  • SQL databases (tracked in #8714)
  • MongoDB
  • DynamoDB
  • S3 bucket: See gatsby-source-s3
  • Twitter
  • Facebook
  • https://www.accedo.tv/appgrid/
  • https://github.com/marak/Faker.js/ — pass in a "schema" for the node e.g. title, date, author w/ avatar / markdown body and generate a bunch of Post nodes. Would be great for example sites!

Example sites

Beyond example sites showing off how to use the above plugins, it'd be great to have example sites demonstrating possible ways to build:

  • Multi-language sites
  • Search
  • Pagination
  • React Helmet
  • Remark (markdown)
@fk
Copy link
Contributor

@fk fk commented Jun 18, 2017

  • Tweets and Gists in Markdown (see jekyll-twitter-plugin)
  • automagical figure/figcaption for Markdown images that need a caption and/or reference to source/license
  • KaTeX, MathJax (in Markdown) – also while googling around stumbled upon jekyll-scholar, which "formats your bibliographies and reading lists for the web and gives your blog posts citation super-powers", …so I guess BibTeX ;)
  • favicon generator – not super necessary (as there already is http://realfavicongenerator.net/ and I also can see a lot of reasons for generating each of those manually) but quite easy to implement (apart from that SVG icon that macOS Safari wants for its "pinned tabs")
  • Dribbble
  • Flickr
  • 500px
@KyleAMathews KyleAMathews changed the title Plugins wishlist (and example sites) [1.0] Plugins wishlist (and example sites) Jun 20, 2017
@KyleAMathews
Copy link
Contributor Author

@KyleAMathews KyleAMathews commented Jul 2, 2017

These are great sources of standalone data sets + public APIs

@erutan
Copy link

@erutan erutan commented Jul 3, 2017

Flickr would be useful - while the site itself is languishing, it's robut public API makes it a useful source to store photos to pull into blog posts and pages.

@Vagr9K
Copy link
Collaborator

@Vagr9K Vagr9K commented Jul 5, 2017

I'll work on toml-transformer.

@timsuchanek
Copy link
Contributor

@timsuchanek timsuchanek commented Jul 5, 2017

Working on styled-jsx and an algolia syncer

@KyleAMathews
Copy link
Contributor Author

@KyleAMathews KyleAMathews commented Jul 5, 2017

@Vagr9K @timsuchanek awesome! Added you to the list

@joshboldt
Copy link

@joshboldt joshboldt commented Jul 7, 2017

Anyone working on DatoCMS? Would love to see that happen.

@mfeltscher
Copy link
Collaborator

@mfeltscher mfeltscher commented Jul 7, 2017

Is there anyone already working on a Medium integration? Would be cool to fetch the latest posts of a given blog.

@jondubin
Copy link

@jondubin jondubin commented Jul 8, 2017

@mfeltscher you read my mind! I have the same need, and started looking into how we could write one. Since the Medium API is limited in this regard (afaik you can't get the most recent posts from a blog), we'd either have to scrape or use a blog's rss feed. I started writing the general purpose rss source here: https://github.com/jondubin/gatsby-source-rss Contributions/thoughts welcome!

@KyleAMathews
Copy link
Contributor Author

@KyleAMathews KyleAMathews commented Jul 8, 2017

@jondubin hey would you be interested in adding the source plugin to the Gatsby repo? This is a bit of an experiment but I think that having most community plugins in the same repo will help keep the quality of plugin code much higher as there'll be a lot more eyeballs on code here plus we can keep investing in better and better testing infrastructure to ensure everything works well.

Thoughts?

@jondubin
Copy link

@jondubin jondubin commented Jul 8, 2017

@KyleAMathews say no more! I'll migrate as soon as I get the chance.

@felixjung
Copy link
Collaborator

@felixjung felixjung commented Jul 9, 2017

Hey there, I started playing with Gatsby this weekend. Looks cool! I want to build a personal website and use glamorous for styles. The way I see this, it does not need its own plugin. Because it uses glamor in the background, it jut works when you use the glamor plugin. Am I missing something?

@KyleAMathews
Copy link
Contributor Author

@KyleAMathews KyleAMathews commented Jul 9, 2017

@felixjung dunno! Want to try and report back? I haven't used Glamorous or researched its SSR method so don't know if the existing glamor plugin will just work or not

@felixjung
Copy link
Collaborator

@felixjung felixjung commented Jul 9, 2017

It does work 😆 Looking at its docs, I couldn't find anything about SSR stuff. Kent C. Dodds just wrote it works because glamor and react support it. So I tried and it works when you enable the glamor plugin. 🎉

@KyleAMathews
Copy link
Contributor Author

@KyleAMathews KyleAMathews commented Jul 9, 2017

Oh well perfect then :-) you want to add mention of it then to the glamor plugin readme and we can check that one off then 👍

@felixjung
Copy link
Collaborator

@felixjung felixjung commented Jul 9, 2017

Sure, can do.

@fk
Copy link
Contributor

@fk fk commented Jul 9, 2017

@jondubin +1 regarding the limitations of the Medium API. I also tried the RSS way, only to find out the feed also contains the user's comments, which you can work around, but … 🙄

@rawrmonstar
Copy link
Collaborator

@rawrmonstar rawrmonstar commented Jul 9, 2017

I think I'm going to work on a emotion plugin

@etienne-dldc
Copy link

@etienne-dldc etienne-dldc commented Jul 10, 2017

Hi, it would be great to have a plugin for Directus since it's an open source alternative to Contentful :)

@mfeltscher
Copy link
Collaborator

@mfeltscher mfeltscher commented Jul 10, 2017

@fk @jondubin While looking into this issue I found another solution to fetch posts from Medium as described in this blog post: https://medium.com/@{username}/latest?format=json.

@Khaledgarbaya
Copy link
Collaborator

@Khaledgarbaya Khaledgarbaya commented Jul 10, 2017

👋 I can work on the gatsby-transformer-xml plugin

@Khaledgarbaya
Copy link
Collaborator

@Khaledgarbaya Khaledgarbaya commented Jul 11, 2017

here's the PR for gatsby-transformer-xml

@sebastienfi
Copy link
Collaborator

@sebastienfi sebastienfi commented Jul 23, 2017

@KyleAMathews Wordpress.com source plugin is done.

@Khaledgarbaya
Copy link
Collaborator

@Khaledgarbaya Khaledgarbaya commented Jun 27, 2018

A cloudinary plugin idea:
more info

@daon
Copy link
Collaborator

@daon daon commented Aug 16, 2018

I'll work on pdf-transformer.

@Jaikant
Copy link
Collaborator

@Jaikant Jaikant commented Sep 6, 2018

I'll work on the dynamodb source plugin.

@DSchau
Copy link
Contributor

@DSchau DSchau commented Oct 2, 2018

@KyleAMathews I'm gonna break this apart into a few issues so it's a little more approachable. I'll close this out once they're created!

@larowlan
Copy link

@larowlan larowlan commented Oct 9, 2018

issue summary has

Drupal (there's the start of one already in the repo but there's a number of additions that'd be great to make)

Is there a list somewhere of the additions you're chasing?

@aroduribe
Copy link

@aroduribe aroduribe commented Oct 22, 2018

Is the source wishlist still valid on what we can add?

@kenigbolo
Copy link

@kenigbolo kenigbolo commented Oct 26, 2018

@KyleAMathews I have a small node utility I use for fixer-io and I'd actually love to add this as a plugin I can use in gatsby so basically I'd be making a gatsby-fixer-io plugin. Is it okay to submit a PR for this already as I have this mapped out at the moment

@KyleAMathews
Copy link
Contributor Author

@KyleAMathews KyleAMathews commented Oct 26, 2018

@kenigbolo we try to only add really core plugins to this repo. We'd love for you to publish your plugin to npm yourself so it can show up in the plugin library! https://www.gatsbyjs.org/docs/submit-to-plugin-library/

@KyleAMathews
Copy link
Contributor Author

@KyleAMathews KyleAMathews commented Oct 26, 2018

@aroduribe not really. Many of these things have been done. If there's one that looks interesting, double check against the plugin library to see if it's been done or not. https://www.gatsbyjs.org/plugins/

You can also check https://github.com/gatsbyjs/gatsby/labels/status%3A%20help%20wanted for work to help out.

Other ways to contribute also can be found at https://www.gatsbyjs.org/docs/how-to-contribute/

@DSchau DSchau removed the Hacktoberfest label Nov 6, 2018
@paulspencerwilliams
Copy link

@paulspencerwilliams paulspencerwilliams commented Dec 15, 2018

Since it's acquisition by Smugmug in April, Flickr seems to be going through a small renaissance. As a long time user of the Flickr, I'm really tempted to have a go at writing a source plugin...

Flickr would be useful - while the site itself is languishing, it's robut public API makes it a useful source to store photos to pull into blog posts and pages.

@gatsbot gatsbot bot added the stale? label Feb 14, 2019
@dustinhorton
Copy link
Collaborator

@dustinhorton dustinhorton commented Feb 22, 2019

Curious if anyone has looking into a Notion source plugin…

@Necmttn
Copy link
Collaborator

@Necmttn Necmttn commented Feb 23, 2019

@dustinhorton I was looking at it yesterday. but they don't have a public API so need to use public boards etc.

there's an unofficial API SDK written in GO.
https://github.com/kjk/notionapi

let me know if you are willing to write one. I might contribute as well.

I have written gatsby-source-trello for the same reasons.

@dustinhorton
Copy link
Collaborator

@dustinhorton dustinhorton commented Feb 23, 2019

@Necmttn Yeah I'd stumbled on that after searching for a Gatsby source plugin. Public would suite my needs fine, but I've only got one small use case so afraid I can't afford to commit the time it'd take. I will take a look over your Trello plugin to start to get an idea of what it might entail—thanks or linking.

@gatsbot gatsbot bot closed this Mar 6, 2019
@LekoArts LekoArts reopened this Mar 6, 2019
@m-allanson m-allanson added not stale and removed stale? labels Mar 6, 2019
@gatsbyjs gatsbyjs deleted a comment from gatsbot bot May 30, 2019
@gatsbyjs gatsbyjs deleted a comment from gatsbot bot May 30, 2019
@moonmeister
Copy link
Collaborator

@moonmeister moonmeister commented Jul 14, 2019

Reviewing current docs and plugins seems like everything in this has been covered. Closing this, any new source plugin requests can have an issue opened. (FYI: this is the oldest open issue, so yay team for getting all these done.)

@LekoArts LekoArts removed the not stale label May 26, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet