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

[examples/using-remark]: Custom React components in Markdown files #3732

Merged
merged 1 commit into from Jan 30, 2018

Conversation

Projects
None yet
5 participants
@ryaninvents
Copy link
Contributor

ryaninvents commented Jan 27, 2018

I'm not too attached to the article itself, so feel free to edit/rewrite/etc. as needed.

@ryaninvents

This comment has been minimized.

Copy link
Contributor Author

ryaninvents commented Jan 27, 2018

I tested this with the version of gatsby-transformer-remark after the changes introduced in #3711, but this PR can't merge until those changes have been published.

@gatsbybot

This comment has been minimized.

Copy link

gatsbybot commented Jan 27, 2018

Deploy preview for gatsbygram ready!

Built with commit 9ba98a1

https://deploy-preview-3732--gatsbygram.netlify.com

@KyleAMathews KyleAMathews merged commit 9c2dafb into gatsbyjs:master Jan 30, 2018

3 checks passed

continuous-integration/appveyor/pr AppVeyor build succeeded
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details
deploy/netlify Deploy preview ready!
Details
@KyleAMathews

This comment has been minimized.

Copy link
Contributor

KyleAMathews commented Jan 30, 2018

This is super exciting! I didn't realize rehype-react could do this! This might be the holy grail :-D Excited to get this out there so people can explore it.

Curious if you did any size/performance comparisons? Like how practical is it to just switch all markdown rendering to use rehype-react instead?

@ryaninvents

This comment has been minimized.

Copy link
Contributor Author

ryaninvents commented Jan 31, 2018

Shoot, I hadn't thought of that! Shipping the AST to the browser in JSON form certainly takes more bandwidth than shipping the HTML; I can compare load times using the Chrome dev tools. I've got to learn more about how Gatsby manages the data since it might be possible to ship the AST only if the file specifies something like liveAst: true in its YAML header and save some bytes. I could also compare load times against reparsing the HTML client-side to create the AST, but I suspect that above a certain sized file the hit we take on reparsing would be larger than the hit we take on sending the AST over the wire.

I might not get to this soon, but I'll keep it in mind and write it up when I do 😃

@ryaninvents ryaninvents deleted the ryaninvents:example/remark-with-htmlAst branch Jan 31, 2018

@KyleAMathews

This comment has been minimized.

Copy link
Contributor

KyleAMathews commented Feb 1, 2018

Cool! Would love to hear reports about you and others trying this in the wild. I think the extra overhead wouldn't be too excessive but probably you wouldn't want to use the htmlAST yeah unless you have React components inside.

@rayk

This comment has been minimized.

Copy link

rayk commented Feb 2, 2018

This is awesome I have been building also of interactive content with idyll over the last few weeks and shoehorning it into Gatsby via the static directory and a few other nasty hacks. As far as I can see this opens the door to doing doing explorable documents within Gatsby.

Still early days, I noticed that components <my-component></my-component> always gets placed in the tree as "tagName": "p", which is not ideal, as p tags tag don't like div under them. Obviously it still works, but will probably trigger a reflow because of bade nesting.

Anyhow this is such and exciting develop... Thanks Ryan @r24y and Kyle @KyleAMathews .

@ryaninvents

This comment has been minimized.

Copy link
Contributor Author

ryaninvents commented Feb 5, 2018

@rayk good point! I think the reason it gets nested like that is because Markdown wants to wrap everything in a paragraph; the problem would be alleviated with a Remark plugin that says, "for every paragraph: if the paragraph contains a single item which is a custom element, replace it with a div".

@ryaninvents

This comment has been minimized.

Copy link
Contributor Author

ryaninvents commented Feb 5, 2018

@KyleAMathews, would it be possible for someone like me to use the current plugin system to swap out the transport layer? Looking at https://using-remark.gatsbyjs.org I can see that the GraphQL response is loaded with webpackJsonp, but if this were traded for a mechanism that used a binary format like msgpack then the AST would actually consume less bandwidth than the HTML source.

I'm not looking for anyone to spend time investigating 😄 just your hot take on whether it would take a ton of effort, or be really simple. I really appreciate the time you've already spent helping me out. Obviously webpackJsonp works really well for Gatsby, and I don't want to mess with Gatsby's stability at all. I'm just a nerd with an itch to scratch

@KyleAMathews

This comment has been minimized.

Copy link
Contributor

KyleAMathews commented Feb 8, 2018

I'm just a nerd with an itch to scratch

Haha :-)

I'm not sure msgpack would be much faster given webpackJsonp is already loading (on most sites) data compressed with gzip.

I don't think loading the AST is a serious problem for smaller usages. I was just more curious on getting numbers for the exact hit we're taking e.g. loading the AST is 15% more expensive.

KyleAMathews added a commit that referenced this pull request Feb 15, 2018

[v2] WIP merge in master (#4061)
* Revert "Update gatsby-browser.js (#3694)"

This reverts commit 644d081.

* Add 'page.layout' param to 'createPage' docs (#3717)

* Publish

 - gatsby-plugin-no-sourcemaps@1.0.0

* Add missing (official) plugins & little fixes (#3718)

* Add missing (official) plugins & little fixes

As talked about in:
#3708

Fingers crossed that I didn't mess up the alphabetical order :P
(I actually changed the order a little bit)

* Add gatsby-source-graphcms

* fix(transformer-remark): resolve htmlAst correctly (#3719)

closes #3711

* Added my new websites to showcase (#3729)

* Adjust default link header value in netlify plugin readme (#3723)

* Change "primatives" to "primitives" in GraphQL docs (#3716)

* [gatsby-transformer-remark] Reparse `raw` nodes in `htmlAst` (#3731)

Preprocessing via `gatsby-remark-*` transformations introduces `raw`
nodes into the AST. Adding this step fully enables the client to render
the AST as React components, finishing the work started in #3596.

* Publish

 - gatsby-plugin-netlify@1.0.16
 - gatsby-plugin-no-sourcemaps@1.0.1
 - gatsby-transformer-remark@1.7.30
 - gatsby@1.9.170

* fix(gatsby-link): correct dependency declaration (#3707)

* fix(gatsby-link): correct dependency declaration

The code depends on `react-router-dom`, and therefore it should be declared as a
direct dependency, not a dev one. Also, it needs `@types/react-router-dom` for
index.d.ts.

* chore(gatsby-link): declare gatsby v1 as a peer dependency

* Publish

 - gatsby-link@1.6.35
 - gatsby@1.9.171

* If someone uses a private repo git address accessed over ssh use that otherwise use normal git address (#3735)

* Publish

 - gatsby-cli@1.1.32
 - gatsby@1.9.172

* Update CONTRIBUTING.md (#3737)

incorrect usage of "it's"

* Add freeCodeCamp source (#3739)

* Add Hack Club to projects list (#3748)

* Link title not particularly accurate

* Fix link syntax (#3749)

* add basic documentation about publicURL field on File node (#3752)

* add basic documentation about copying files from File nodes to build directory

* A few copy edits

* Format

* Format

* [www] Fix link to "Adding Markdown Pages" in List docs (#3747)

* [www] Add "gatsby-plugin-fela" to list of community plugins

* Semi-Colons (#3764)

* Remove mention of not-written part 5 of the tutorial

* [www] Add ERC dEX website to showcase (#3766)

* make ComponentRenderer shouldUpdateComponent return true when props c… (#3516)

* make ComponentRenderer shouldUpdateComponent return true when props change

* use shallow compare

* remove console log

* semi-colons (#3765)

* [gatsby] Report an error when layout file is missing (#3762)

* [gatsby] Report an error when layout file is missing

* Update pages-writer.js

* format

* Publish

 - gatsby-plugin-no-sourcemaps@1.0.2
 - gatsby-plugin-typography@1.7.13
 - gatsby-source-drupal@2.0.17
 - gatsby-source-filesystem@1.5.16
 - gatsby-source-wordpress@2.0.52
 - gatsby@1.9.173

* [gatsby-plugin-netlify] create rewrite rules for pages that use matchPath (#3211)

* [gatsby-plugin-netlify] create rewrite rules for pages that use matchPath

* Update README.md

* Add a no-color option to disable the colors (#3755)

* disable boolean-negation in yargs

* add no-color option

* [www] Add gatsby-source-unsplash to list of community plugins (#3768)

* format

* Publish

 - gatsby-cli@1.1.33
 - gatsby-plugin-netlify@1.0.17
 - gatsby@1.9.174

* Add setTimeout before calling onRouteUpdate to ensure React has written to DOM before plugins run code (#3772)

* Improve errors for invalid data passed to createPage fixes #3771 (#3773)

* Fix not scrolling to top on PUSH fixes #3770 #3249 (#3775)

* [examples/using-remark]: Custom React components in Markdown files (#3732)

* Publish

 - gatsby-plugin-google-analytics@1.0.17
 - gatsby-plugin-twitter@1.0.16
 - gatsby-react-router-scroll@1.0.9
 - gatsby@1.9.175

* [www] Prevent search shortcut from breaking other input elements (#3777)

* Edits from Ben's feedback

* Logos

* Delete React_logo_wordmark.png

* Delete contentful_logo_with_tagline.png

* logos

* Added react and contentful logos

* Update index.md

* Delete React-logo.png

* Delete contentful-logo.png

* logos smaller

* updated intro

* Update index.md

* [www] Add gatsby-plugin-sentry to list of community plugins (#3788)

* [www] Add gatsby-plugin-meta-redirect to list of community plugins (#3798)

* Form currently refreshes the page on pressing enter (#3779)

* Added some notes on how the contentful source plugin interacts with contentful's content models. (#3794)

* More hot reloading fixes (#3769)

* use createPage singleton in dev-404-page

closes #3551

* write to a temp file and rename

decrease the chance of reading from an incomplete file

cc #3094 #3201

* change dev-404-page to implement createPagesStatefully

* update the jest snapshot

* Validate starterPath isn't a dot fixes #3789 (#3810)

* [gatsby] Pass location state to history (#3802)

* Pass full location object to history

* Update navigateTo param to be more precise

* Pass location to navigateTo in gatsby-link

* Update navigateTo types

* Fix issue that Gatsby can't sometimes find layout and page files on Windows (#3796)

* Fix issue with missing layouts on Windows

* Fix issue with missing pages on Windows

* Publish

 - gatsby-cli@1.1.34
 - gatsby-link@1.6.36
 - gatsby-source-contentful@1.3.35
 - gatsby@1.9.176

* Add iContract blog to readme (#3805)

* [gatsby-plugin-less] Extend less-plugin with support for `modifyVars` (#3801)

* [gatsby-plugin-less] Extend less-plugin with support for `modifyVars`

The less plugin did its job, but when I was going to use it with a
library I experienced that it was lacking the ability to modify
less-variables. This made it hard to customize less libraries.

By letting the user provide a `options` in `gatsby-config.js`, the
plugin can overwrite variables defined in the less stylesheet and hence
makes it a breeze to customize libraries.

The user has two options to include vars: either a object defined
directly in the `gatsby-config.js` or define a file which exports an
object that will be used as the options.

* Update README.md

* format

* Publish

 - gatsby-plugin-less@1.1.1
 - gatsby-source-contentful@1.3.36
 - gatsby@1.9.177

* Fix a typo in the gatsby-plugin-less README (#3815)

* Call done() from dev-404-page during production builds so build doesn't stall (#3827)

* Publish

 - gatsby-plugin-less@1.1.2
 - gatsby@1.9.178

* Update README.md (#3828)

* Added logos (#3781)

* Added logos

Not sure how to adjust the sizes here. I made them smaller on my computer but not sure if it worked

* Reduce React and Contentful logo width to 350px

* Log error in createPath (#3814)

Fix conditional to show error when path or component are missing in the createPath function

* add warning about query that is not getting executed if it's exported from file that is page/template or layout (#3786)

* Update README.md (#3821)

add module.exports to How to use

* Update README.md

* Added Hampton starter (#3826)

* [www] add search input to home page (#3662)

* Experiment adding search input to home page

* Prettier

* Comment unused imports

* Display social icons when viewport is wide enough

* Use alternate colours at Hd breakpoint on home page

* Add name of file above code snippet (#3835)

* [www] Fix typo in styleshout link (#3839)

* Add "Dona Rita" website to Showcase (incl. source) (#3838)

* check markdown images, ensure parent is File before referencing dir (#3831)

* check markdown images, ensure parent is File before referencing dir

* add check for parent

* [www] Fix typo in docs/building-apps-with-gatsby.md (#3863)

* Bump scroll-behavior dependency to fix ios swipe jank (#3866)

* Publish

 - gatsby-plugin-less@1.1.3
 - gatsby-react-router-scroll@1.0.10
 - gatsby-remark-copy-linked-files@1.5.26
 - gatsby-source-drupal@2.0.18
 - gatsby-source-filesystem@1.5.17
 - gatsby-source-wordpress@2.0.53
 - gatsby@1.9.179

* Fix positioning of search results at mobile breakpoint on homepage (#3867)

* [www] Add tutorial to awesome list (#3855)

This is the first part of a german tutorial series about Gatsby. This part is about the basic creation of a blog. In the next parts I'll cover more advanced features :)

* [www] Update Netlify URL in Starter List (#3847)

* Add gatsby-wordpress-starter (#3848)

* exclude offline plugin app shell from sitemap (#3844)

* [gatsby-source-contentful] Add support to prefer WebP images (#3832)

* Extend contentful resolutions and sizes to include webp src and srcSet

* Add new contentful fragments

* Add fragments to gatsby-image README

* Add example for using webp to use-contentful site

* Display image examples in a grid

* Update docs for adding custom JavaScript to home.js (#3869)

* Blog post headless CMS (#3846)

* Blog post headless CMS

A couple things I'm not sure about:

- Running sites offline paragraph. Check for accuracy pls!

- Better quote from Deane that anyone has in mind?

- Can cut down assessment of headless CMSs to omit obscure complaints...

* Edits to wording and sprinkling in GatsbyJS 

Please check paragraph about running sites offline in India! I feel like there's potential there but maybe I'm off base

* Update index.md

* don't try to extract queries from directories with names ending in .js(x) or .ts (#3861)

* Format

* [gatsby-source-filesystem] don't try to process same remote file multiple times, cache promises and return them on subsequent calls (#3859)

* Experimenting (#3843)

* Update README.md (#3822)

add module.exports to How to use

* Format

* Publish

 - gatsby-image@1.0.35
 - gatsby-plugin-less@1.1.4
 - gatsby-plugin-sitemap@1.2.12
 - gatsby-source-contentful@1.3.37
 - gatsby-source-drupal@2.0.19
 - gatsby-source-filesystem@1.5.18
 - gatsby-source-wordpress@2.0.54
 - gatsby-transformer-sharp@1.6.18
 - gatsby@1.9.180

* Use HTTPS over git:// when cloning starters (#3820)

`git://` (which is what `hostInfo.git(...)` gets you) uses unencrypted transport isn't recommended as a way to clone GitHub repositories (https://help.github.com/articles/which-remote-url-should-i-use/).  This change uses HTTPS instead.

* Add gatsby-transformer-screenshot (#3526)

* Add gatsby-plugin-screenshot

* Rename to gatsby-transformer-screenshot

* Rename

* Fix prepublish error

* Expand on documentation

* Run format-packages

* Use API Gateway

* Use official deployed Lambda

* Update README.md

* Format

* Publish

 - gatsby-cli@1.1.35
 - gatsby-transformer-screenshot@1.0.1
 - gatsby@1.9.181

* [gatsby-plugin-feed] Fix missing colon in Readme (#3872)

* Revert "Use HTTPS over git:// when cloning starters (#3820)" (#3876)

This reverts commit 8261ac3.

* Publish

 - gatsby-cli@1.1.36
 - gatsby-plugin-feed@1.3.17
 - gatsby@1.9.182

* use simple https to clone starters (#3875)

* Publish

 - gatsby-cli@1.1.37
 - gatsby@1.9.183

* [www] Add gatsby-starter-simple-landing (#3877)

* bigger photo

* Update index.md

* add www.aslezak.com to showcase (#3878)

* Added new blog, new author and new avatar (#3879)

* Added new blog, new author and new avatar

* Fix links

* Spelling issue corrected, wp file extension changed and quotes corrected

* format blog post

* Update index.md (#3883)

* Add community source plugin to docs (#3884)

* [www] Fix small typo (#3891)

* Document all options for gatsby-remark-images fixes #3882 (#3894)

* Document all options for gatsby-remark-images fixes #3882

* remove

* Edits to wording

* [www] Add `PostLink` component example to docs/adding-a-list-of-markdown-blog-posts/ (#3887)

* [www] Add `PostLink` component example to docs/adding-a-list-of-markdown-blog-posts/

Ref. #3886

* Add headline for `PostLink` component

* Add possessive adjective

* Make code blocks jsx

* Add anchors to h1's in docs (#3892)

* Add anchors to h1's in docs

* Manually add some anchors

* exclude Netlify CMS styles in build-css phase (#3895)

* Fix markdown table syntax in README (#3897)

* Publish

 - gatsby-plugin-netlify-cms@1.0.6
 - gatsby-remark-images@1.5.42
 - gatsby@1.9.184

* Fix typo (#3899)

* update prismjs-language-dependencies.js (#3898)

* Publish

 - gatsby-remark-embed-snippet@1.0.7
 - gatsby-remark-prismjs@1.2.13

* Update snapshots and packages and format w/ new Prettier (#3902)

* Update snapshots and packages and format w/ new Prettier

* Update snapshot in embed package

* [gatsby-transformer-remark] Add `pathPrefix` to relative links (#3823)

* [gatsby-transformer-remark] Add `pathPrefix` to relative links
Ensure markdown relative links include `pathPrefix`.
Fixes #3316

* [gatsby-transformer-remark] add minor comment to `withPathPrefix`

* [gatsby-transformer-remark] add `pathPrefix` to `cacheKey` functions

* [gatsby-transformer-remark] remove `node.url.startsWith(pathPrefix)` condition for `withPathPrefix` logic

* Use "npm-run-all" to run scripts (#3797)

* Use "npm-run-all" to run scripts

[npm-run-all](https://github.com/mysticatea/npm-run-all) is a cross-browser approach to running npm tasks in series (`-s`) or parallel (`-p`). Rather than using a platform specific method to run scripts (e.g. `&&`), npm-run-all will work on all platforms and supports using Yarn if running with Yarn. I made a guess as to whether certain scripts should be run in series or parallel but feel free to change if my choices aren't optimal.

* Add yarn.lock and fix some scripts.

* Move npm-run-all to dev dep.

* Fix bootstrap script.

* [www] Starters: Fix case according to vendor name definition (#3903)

* http://getbootstrap.com/
* http://postcss.org/
* https://sass-lang.com/
* https://bootswatch.com/

* Publish

 - gatsby-remark-embed-snippet@1.0.8
 - gatsby-remark-images@1.5.43
 - gatsby-remark-prismjs@1.2.14
 - gatsby-transformer-remark@1.7.31

* add info about org-mode transformer plugin (#3907)

I created this transformer plugin similar to the offical remark one, that parses org-mode files.

* [www] add gatsby-orga starter (#3908)

* update odayaka.net to showcase (#3909)

update odayaka.net to showcase

* [www] Add ventura-digital.de to Showcase (#3916)

* Minor edits for absolute beginners

After doing this tutorial as a complete beginner myself, I thought a couple of lines could be made even more newby-friendly.

* Update tutorial.js (#3927)

*  Support filtering on linked nodes (#3691)

*  Support filtering on linked nodes

The filtering is done by extracting all the related nodes using `extractFieldExample`. The example values are then cached to save some time. (As of this patch, caching is not tested automatically)

Further linking are disabled to avoid cyclic dependencies (input fields only).

TODO: Filtering on nodes linked by mappings and File

Note: If linking is done via array of IDs, only the structure of the first item is extracted. I'll be happy to add union support if someone can show me how to `$in` filter on an array of object.

Related #3613 #3190

*  Test filtering on linked nodes

* Publish

 - gatsby@1.9.185

* Set default NODE_ENV for `gatsby develop` (#3928)

* Fix broken links (#3930)

* Blog Post - Jam Out Your Blog (#3911)

* Blog Post - Jam Out Your Blog

Vlad Pasculescu’s blog post on using Gatsby with Netify and Prose.io

Signed-off-by: vladpasculescu <vlad@vladpasculescu.com>

* Updated Blog Post for Edits

Edited Jam Out Blog Post for suggested moderator edits.

* Update index.md

* Publish

 - gatsby-cli@1.1.38
 - gatsby@1.9.186

* fix(dev-404-page): route to 404 fails when using plugin-remove-trailing-slashes (#3522)

* fix(dev-404-page): route to 404 fails when using plugin-remove-trailing-slashes

Fixes: #3521

* refactor(dev-404-page): use RegExp.test() as we don't need to return anything

* fix(dev-404-page): route to 404 fails when using plugin-remove-trailing-slashes

updating other occurrence of 404 page check as well

* Automatic file validation for components in src/pages (#3881)

* yarn.lock

* add page validation and fix breaking createPage action tests

* Improve error messages for invalid pages

* Field inferring changes and cleanup (#3688)

* remove not needed edge case for infering array of objects to improve code readability

* don't lose field args and resolve function when infering array (fixes date format options not available in arrays of dates)

* move infering date field to seperate file to improve code readability

* don't recreate date field definition for every date field - we can reuse same object

* create dedicated Date graphql scalar (based on string scalar) for date fields

* pass fieldName to resolver when filtering on types with custom resolvers (date type fields now rely on fieldname info being passed)

* use already constructed nextselector instead of rebuilding it again

* move infering file field to separate file to improve code readability

* create file type field object just once and reuse it

* move trying to infer Files from string paths to inferGraphQLType function where rest of value based inferring is done

* add tests for inferring File from string paths

* add tests for inferring date type from string, array of strings and filtering date fields, move date related test to seperate date test suite

* Publish

 - gatsby@1.9.187

* Return a never to be resolved promise to prevent development server from exiting early fixes #3932 (#3933)

* Publish

 - gatsby-cli@1.1.39
 - gatsby@1.9.188

* format

* Add Cardiogram to README (#3934)

* Fix code highlight in tutorial (#3935)

* small wording change

* [api-ssr-docs] Import `Helmet` not `helmet` (#3940)

* [www] Tutorial: Small wording changes for clarification (#3926)

gatsby-config.js needs to be created (before edited). Also, since the user will be changing windows to stop the process it might be useful to remind them where they were before.

* [docs] Fix small typo (#3946)

* test "exports.default" when validating page component (#3941)

* Publish

 - gatsby@1.9.189

* update environment variables docs to explain how to implement dotenv (#3944)

* [www] Add dedicated „How to File an Issue“ page (#3945)

* move „Filing an Issue“ and „Special Note on Issues“ from the „How to Contribute“ to the new „How to File an Issue“ page
* add an intro paragraph to the new page linking to the GitHub Gatsby issue tracker
* add a paragraph to the new page informing about personal support requests, pointing to Stack Overflow, Reactiflux Discord
* add link to the new page to
  * the docs sidebar’s „Contributing“ section
  * the GitHub issue template
  * the „Community“ page
  * the list of ways to contribute on the „How to Contribute“ page
* link „Triaging GitHub issues“ on the „How to Contribute“ page

* Don't check if React is imported as can import component from other page and never write JSX (#3949)

/cc @bodia-uz

* Publish

 - gatsby@1.9.190

* Add LaserTime Clinic website to Readme (#3951)

* webpack commonsChunkPlugin isframework tester fix for windows dev (#3952)

* Publish

 - gatsby@1.9.191

* type inferring - handle array of Date objects (#3955)

* inferring types: handle array of Date objects

* add tests for inferring arrays of Date objects

* Publish

 - gatsby@1.9.192

* Document how to create custom fragments (#3914)

* Document how to create custom fragments

* Fix ordering

* Add example component exporting a fragment

* Tweak language

* Update index.md (#3957)

* update showcase with Gatsby Manor (#3959)

Gatsby Manor makes themes for GatsbyJS.

* Adds new starter to docs :) (#3971)

* Fix error (#3985)

Talked to Ross Whitehouse, the author, via Medium private message to confirm the errors. Gotten permission to submit PR for the edit.

* Add note about plugin options (#3987)

* Add container as a styled div to styled-components doc (#3988)

* Add Dockerfile to start GraphiQL using www's data (#3992)

* fix: prevent invalid graphql field names from being created (#3994)

* fix: prevent invalid graphql field names from being created

Note: This will currently transform (for example) `/*` into `_` so I'm not quite sure what the best course of action is to replace that

Fixes #3487; Fixes #2925

* chore: revert yarn lock change

* test: simplify tests

* fix: dasherize after leading underscore

* feat(gatsby-plugin-google-analytics): add head option (#3995)

Add head option to configure whether scrip tag should be put in the
body (by default, same as previously) or inside of the head.
closes #2894

* Add browserAPIs and ssrAPIs to loaded plugin info (#3989)

* Add browserAPIs and ssrAPIs to loaded plugin info

* Output correct error message for each bad export

* Use lodash for Node 6 compatibility

* Publish

 - gatsby-plugin-google-analytics@1.0.18
 - gatsby@1.9.193

* add package json metadata for better display on npmjs.org (#3981)

* chore: add package json metadata (git url, issues, etc.)

* chore: update plop template

* chore: move bin/files up in package.json

* chore: fix unescaped email(s)

* Run 'fixpack' on all package.jsons

* Validate when creating a page that the page component exists (#3997)

* Validate when creating a page that the page component exists

* Don't check for component paths during testing as it breaks tests

* Publish

 - gatsby-1-config-css-modules@1.0.9
 - gatsby-cli@1.1.40
 - gatsby-dev-cli@1.2.11
 - gatsby-image@1.0.36
 - gatsby-link@1.6.37
 - gatsby-module-loader@1.0.10
 - gatsby-plugin-aphrodite@1.0.7
 - gatsby-plugin-canonical-urls@1.0.13
 - gatsby-plugin-catch-links@1.0.16
 - gatsby-plugin-coffeescript@1.4.10
 - gatsby-plugin-create-client-paths@1.0.5
 - gatsby-plugin-cxs@1.0.7
 - gatsby-plugin-emotion@1.1.12
 - gatsby-plugin-feed@1.3.18
 - gatsby-plugin-glamor@1.6.12
 - gatsby-plugin-glamorous@1.0.7
 - gatsby-plugin-google-analytics@1.0.19
 - gatsby-plugin-google-tagmanager@1.0.14
 - gatsby-plugin-jss@1.5.11
 - gatsby-plugin-less@1.1.5
 - gatsby-plugin-lodash@1.0.9
 - gatsby-plugin-manifest@1.0.14
 - gatsby-plugin-netlify-cms@1.0.7
 - gatsby-plugin-netlify@1.0.18
 - gatsby-plugin-no-sourcemaps@1.0.3
 - gatsby-plugin-nprogress@1.0.12
 - gatsby-plugin-offline@1.0.14
 - gatsby-plugin-postcss-sass@1.0.17
 - gatsby-plugin-preact@1.0.16
 - gatsby-plugin-react-css-modules@1.0.13
 - gatsby-plugin-react-helmet@2.0.5
 - gatsby-plugin-react-next@1.0.9
 - gatsby-plugin-remove-trailing-slashes@1.0.5
 - gatsby-plugin-sass@1.0.17
 - gatsby-plugin-sharp@1.6.28
 - gatsby-plugin-sitemap@1.2.13
 - gatsby-plugin-styled-components@2.0.6
 - gatsby-plugin-styled-jsx@2.0.3
 - gatsby-plugin-styletron@1.0.12
 - gatsby-plugin-stylus@1.1.15
 - gatsby-plugin-twitter@1.0.17
 - gatsby-plugin-typescript@1.4.16
 - gatsby-plugin-typography@1.7.14
 - gatsby-react-router-scroll@1.0.11
 - gatsby-remark-autolink-headers@1.4.12
 - gatsby-remark-code-repls@1.0.9
 - gatsby-remark-copy-linked-files@1.5.27
 - gatsby-remark-custom-blocks@1.0.3
 - gatsby-remark-embed-snippet@1.0.9
 - gatsby-remark-images@1.5.44
 - gatsby-remark-katex@1.0.11
 - gatsby-remark-prismjs@1.2.15
 - gatsby-remark-responsive-iframe@1.4.17
 - gatsby-remark-smartypants@1.4.11
 - gatsby-source-contentful@1.3.38
 - gatsby-source-drupal@2.0.20
 - gatsby-source-faker@1.0.2
 - gatsby-source-filesystem@1.5.19
 - gatsby-source-hacker-news@1.0.10
 - gatsby-source-lever@1.0.8
 - gatsby-source-medium@1.0.12
 - gatsby-source-mongodb@1.5.14
 - gatsby-source-wordpress-com@1.0.6
 - gatsby-source-wordpress@2.0.55
 - gatsby-transformer-csv@1.3.8
 - gatsby-transformer-documentationjs@1.4.9
 - gatsby-transformer-docx@1.0.6
 - gatsby-transformer-excel@1.0.4
 - gatsby-transformer-hjson@1.0.3
 - gatsby-transformer-javascript-static-exports@1.3.9
 - gatsby-transformer-json@1.0.15
 - gatsby-transformer-pdf@1.0.6
 - gatsby-transformer-pdfimages@1.0.5
 - gatsby-transformer-react-docgen@1.0.13
 - gatsby-transformer-remark@1.7.32
 - gatsby-transformer-screenshot@1.0.2
 - gatsby-transformer-sharp@1.6.19
 - gatsby-transformer-toml@1.1.8
 - gatsby-transformer-xml@1.0.12
 - gatsby-transformer-yaml@1.5.15
 - gatsby@1.9.194
 - graphql-skip-limit@1.0.10

* [gatsby-transformer-react-docgen] Add note on PropTypes (#4008)

* Update adding-tags-and-categories-to-blog-posts.md (#3999)

Changed per a conversation with Kyle about a better way to do this. Relates to #3976

* [gatsby-remark-katex] Upgrade remark-math to latest (#4005)

* update remark-math to latest version to fix an issue where equations surrounded by `$$` with new lines are not displayed in KaTeX' `displayMode`
* update broken spec
* add spec for display math node
* [using-remark] fix "Math Equations in Display Mode" example

* Add note about using Custom Domain with Github Pages (#4006)

* Update how-gatsby-works-with-github-pages.md

* Update how-gatsby-works-with-github-pages.md

* Update how-gatsby-works-with-github-pages.md

* [docs] Add Gatsby Manor blog post (#3968)

Show the community Gatsby Manor.

* don't use internal-only path when requiring promise polyfill (#4012)

see: zloirock/core-js#138 (comment)

* Fix tracking parent nodes when loading redux state from cache (#4013)

fixes #2929

* Publish

 - gatsby-remark-katex@1.0.12
 - gatsby-transformer-react-docgen@1.0.14
 - gatsby@1.9.195

* Add info about gatsby-plugin-sharp (#4019)

* Add info about gatsby-plugin-sharp

* Update README.md

* update contributing documentation to mention that npm run watch can be resource intensive, and suggest watching select packages at a time (#4020)

* [gatsby-image] Allow specifying HTML tag for gatsby-image wrapping elements (#4022)

* Allow specifying which html tag will be used for gatsby-image wrappers

* Update gatsby-image README.md to include new Tag prop

* Fix plugin loader checks (#4023)

* Add browser and SSR APIs to the plugin API whitelist

* Add registerServiceWorker to the list of allowed browser APIs

* Publish

 - gatsby-image@1.0.37
 - gatsby@1.9.196

* Fix tracking nodes with filtering/running sift (#4024)

* Track Node that contains inline objects/arrays instead of its parent. This doesn't break finding topmost ancestor node as we already trying to get walk along parent hierarchy.

Rename tracking functions and jsdocs to provide some basic context for these functions

* Fix tracking nodes with filtering/running sift. Before we filter nodes we create copies of nodes with appended fields added by plugins (by setFieldsOnGraphQLNodeType) if they are filtered on. These copies weren't tracked.

* fix: add info message if gatsby-config.js could have been typo'd (#4017)

* fix: add info message if gatsby-config.js could have been typo'd

* chore: move preferDefault back to where it was

* refactor: tweak error logic a bit

* chore: tweak versions for yarn.lock compat

* refactor: address PR comments

* fix: fail with error

* format

* Fix lint errors

* fix: ensure graphql key is a valid graphql key value (#4000)

* fix: ensure graphql key is a valid graphql key value

* chore: update comment

* Improve the warning for when someone includes a graphql query in a non-page component (#4026)

* Publish

 - gatsby@1.9.197

* add gatsby-transformer-javascript-frontmatter, closes #3795 (#3947)

* initial commit

* update name in package.json

* start converting example site

* fix gql error on js articles

* rename intial defined `let`

* clear out unused deps

* begin updating new layout components

* fix all HOC

* update example readme

* Format

* Update README.md

* Catch require error for hot-reloading gatsby-config.js fixes #3990 (#4039)

* Publish

 - gatsby-source-mongodb@1.5.15
 - gatsby-source-wordpress@2.0.56
 - gatsby-transformer-javascript-frontmatter@1.0.1
 - gatsby-transformer-javascript-static-exports@1.3.10
 - gatsby@1.9.198

* Don't exit on errors as during development, empty/incomplete page components are common fixes #4027 (#4040)

* Don't exit on errors as during development, empty/incomplete page components are common fixes #4027

* Fix other points of death

* Ok, do die here

* Remove component query from store when a user deletes it fixes #4032 (#4041)

* Publish

 - gatsby@1.9.199

* add portfolio site to the readme showcase (#4043)

* Add documentation for using boundActionCreators fixes #4029 (#4042)

* Add documentation for using boundActionCreators

* Update bound-action-creators.js

* Fix

* node tracking - add tests (#4045)

* move node tracking code to separate dedicated file

* Add jsdoc for findRootNode

* add tests for node tracking

* Update README.md

* Add links to the end of the tutorial (#4051)

* [www] Fix tutorial sidebar links active state, update deps (#4059)

* Bump deps, add react-helmet for gatsby-plugin-react-helmet v2

* Fix warning

„Warning: Received `false` for non-boolean attribute `className`. If this is expected, cast the value to a string.“

* Update preload href

* Rewire sidebar section and link styles, fix #4036

* Use babylon to parse out exports from plugin files (#4057)

* Fixes

* Fix package.json

* Fix package.json

* Ignore tests

* Fix lint

* Comment out less tests until theme functionality can be ported to v2

KyleAMathews added a commit that referenced this pull request Feb 17, 2018

[v2] Merge in master (#4114)
* Revert "Update gatsby-browser.js (#3694)"

This reverts commit 644d081.

* Add 'page.layout' param to 'createPage' docs (#3717)

* Publish

 - gatsby-plugin-no-sourcemaps@1.0.0

* Add missing (official) plugins & little fixes (#3718)

* Add missing (official) plugins & little fixes

As talked about in:
#3708

Fingers crossed that I didn't mess up the alphabetical order :P
(I actually changed the order a little bit)

* Add gatsby-source-graphcms

* fix(transformer-remark): resolve htmlAst correctly (#3719)

closes #3711

* Added my new websites to showcase (#3729)

* Adjust default link header value in netlify plugin readme (#3723)

* Change "primatives" to "primitives" in GraphQL docs (#3716)

* [gatsby-transformer-remark] Reparse `raw` nodes in `htmlAst` (#3731)

Preprocessing via `gatsby-remark-*` transformations introduces `raw`
nodes into the AST. Adding this step fully enables the client to render
the AST as React components, finishing the work started in #3596.

* Publish

 - gatsby-plugin-netlify@1.0.16
 - gatsby-plugin-no-sourcemaps@1.0.1
 - gatsby-transformer-remark@1.7.30
 - gatsby@1.9.170

* fix(gatsby-link): correct dependency declaration (#3707)

* fix(gatsby-link): correct dependency declaration

The code depends on `react-router-dom`, and therefore it should be declared as a
direct dependency, not a dev one. Also, it needs `@types/react-router-dom` for
index.d.ts.

* chore(gatsby-link): declare gatsby v1 as a peer dependency

* Publish

 - gatsby-link@1.6.35
 - gatsby@1.9.171

* If someone uses a private repo git address accessed over ssh use that otherwise use normal git address (#3735)

* Publish

 - gatsby-cli@1.1.32
 - gatsby@1.9.172

* Update CONTRIBUTING.md (#3737)

incorrect usage of "it's"

* Add freeCodeCamp source (#3739)

* Add Hack Club to projects list (#3748)

* Link title not particularly accurate

* Fix link syntax (#3749)

* add basic documentation about publicURL field on File node (#3752)

* add basic documentation about copying files from File nodes to build directory

* A few copy edits

* Format

* Format

* [www] Fix link to "Adding Markdown Pages" in List docs (#3747)

* [www] Add "gatsby-plugin-fela" to list of community plugins

* Semi-Colons (#3764)

* Remove mention of not-written part 5 of the tutorial

* [www] Add ERC dEX website to showcase (#3766)

* make ComponentRenderer shouldUpdateComponent return true when props c… (#3516)

* make ComponentRenderer shouldUpdateComponent return true when props change

* use shallow compare

* remove console log

* semi-colons (#3765)

* [gatsby] Report an error when layout file is missing (#3762)

* [gatsby] Report an error when layout file is missing

* Update pages-writer.js

* format

* Publish

 - gatsby-plugin-no-sourcemaps@1.0.2
 - gatsby-plugin-typography@1.7.13
 - gatsby-source-drupal@2.0.17
 - gatsby-source-filesystem@1.5.16
 - gatsby-source-wordpress@2.0.52
 - gatsby@1.9.173

* [gatsby-plugin-netlify] create rewrite rules for pages that use matchPath (#3211)

* [gatsby-plugin-netlify] create rewrite rules for pages that use matchPath

* Update README.md

* Add a no-color option to disable the colors (#3755)

* disable boolean-negation in yargs

* add no-color option

* [www] Add gatsby-source-unsplash to list of community plugins (#3768)

* format

* Publish

 - gatsby-cli@1.1.33
 - gatsby-plugin-netlify@1.0.17
 - gatsby@1.9.174

* Add setTimeout before calling onRouteUpdate to ensure React has written to DOM before plugins run code (#3772)

* Improve errors for invalid data passed to createPage fixes #3771 (#3773)

* Fix not scrolling to top on PUSH fixes #3770 #3249 (#3775)

* [examples/using-remark]: Custom React components in Markdown files (#3732)

* Publish

 - gatsby-plugin-google-analytics@1.0.17
 - gatsby-plugin-twitter@1.0.16
 - gatsby-react-router-scroll@1.0.9
 - gatsby@1.9.175

* [www] Prevent search shortcut from breaking other input elements (#3777)

* Edits from Ben's feedback

* Logos

* Delete React_logo_wordmark.png

* Delete contentful_logo_with_tagline.png

* logos

* Added react and contentful logos

* Update index.md

* Delete React-logo.png

* Delete contentful-logo.png

* logos smaller

* updated intro

* Update index.md

* [www] Add gatsby-plugin-sentry to list of community plugins (#3788)

* [www] Add gatsby-plugin-meta-redirect to list of community plugins (#3798)

* Form currently refreshes the page on pressing enter (#3779)

* Added some notes on how the contentful source plugin interacts with contentful's content models. (#3794)

* More hot reloading fixes (#3769)

* use createPage singleton in dev-404-page

closes #3551

* write to a temp file and rename

decrease the chance of reading from an incomplete file

cc #3094 #3201

* change dev-404-page to implement createPagesStatefully

* update the jest snapshot

* Validate starterPath isn't a dot fixes #3789 (#3810)

* [gatsby] Pass location state to history (#3802)

* Pass full location object to history

* Update navigateTo param to be more precise

* Pass location to navigateTo in gatsby-link

* Update navigateTo types

* Fix issue that Gatsby can't sometimes find layout and page files on Windows (#3796)

* Fix issue with missing layouts on Windows

* Fix issue with missing pages on Windows

* Publish

 - gatsby-cli@1.1.34
 - gatsby-link@1.6.36
 - gatsby-source-contentful@1.3.35
 - gatsby@1.9.176

* Add iContract blog to readme (#3805)

* [gatsby-plugin-less] Extend less-plugin with support for `modifyVars` (#3801)

* [gatsby-plugin-less] Extend less-plugin with support for `modifyVars`

The less plugin did its job, but when I was going to use it with a
library I experienced that it was lacking the ability to modify
less-variables. This made it hard to customize less libraries.

By letting the user provide a `options` in `gatsby-config.js`, the
plugin can overwrite variables defined in the less stylesheet and hence
makes it a breeze to customize libraries.

The user has two options to include vars: either a object defined
directly in the `gatsby-config.js` or define a file which exports an
object that will be used as the options.

* Update README.md

* format

* Publish

 - gatsby-plugin-less@1.1.1
 - gatsby-source-contentful@1.3.36
 - gatsby@1.9.177

* Fix a typo in the gatsby-plugin-less README (#3815)

* Call done() from dev-404-page during production builds so build doesn't stall (#3827)

* Publish

 - gatsby-plugin-less@1.1.2
 - gatsby@1.9.178

* Update README.md (#3828)

* Added logos (#3781)

* Added logos

Not sure how to adjust the sizes here. I made them smaller on my computer but not sure if it worked

* Reduce React and Contentful logo width to 350px

* Log error in createPath (#3814)

Fix conditional to show error when path or component are missing in the createPath function

* add warning about query that is not getting executed if it's exported from file that is page/template or layout (#3786)

* Update README.md (#3821)

add module.exports to How to use

* Update README.md

* Added Hampton starter (#3826)

* [www] add search input to home page (#3662)

* Experiment adding search input to home page

* Prettier

* Comment unused imports

* Display social icons when viewport is wide enough

* Use alternate colours at Hd breakpoint on home page

* Add name of file above code snippet (#3835)

* [www] Fix typo in styleshout link (#3839)

* Add "Dona Rita" website to Showcase (incl. source) (#3838)

* check markdown images, ensure parent is File before referencing dir (#3831)

* check markdown images, ensure parent is File before referencing dir

* add check for parent

* [www] Fix typo in docs/building-apps-with-gatsby.md (#3863)

* Bump scroll-behavior dependency to fix ios swipe jank (#3866)

* Publish

 - gatsby-plugin-less@1.1.3
 - gatsby-react-router-scroll@1.0.10
 - gatsby-remark-copy-linked-files@1.5.26
 - gatsby-source-drupal@2.0.18
 - gatsby-source-filesystem@1.5.17
 - gatsby-source-wordpress@2.0.53
 - gatsby@1.9.179

* Fix positioning of search results at mobile breakpoint on homepage (#3867)

* [www] Add tutorial to awesome list (#3855)

This is the first part of a german tutorial series about Gatsby. This part is about the basic creation of a blog. In the next parts I'll cover more advanced features :)

* [www] Update Netlify URL in Starter List (#3847)

* Add gatsby-wordpress-starter (#3848)

* exclude offline plugin app shell from sitemap (#3844)

* [gatsby-source-contentful] Add support to prefer WebP images (#3832)

* Extend contentful resolutions and sizes to include webp src and srcSet

* Add new contentful fragments

* Add fragments to gatsby-image README

* Add example for using webp to use-contentful site

* Display image examples in a grid

* Update docs for adding custom JavaScript to home.js (#3869)

* Blog post headless CMS (#3846)

* Blog post headless CMS

A couple things I'm not sure about:

- Running sites offline paragraph. Check for accuracy pls!

- Better quote from Deane that anyone has in mind?

- Can cut down assessment of headless CMSs to omit obscure complaints...

* Edits to wording and sprinkling in GatsbyJS 

Please check paragraph about running sites offline in India! I feel like there's potential there but maybe I'm off base

* Update index.md

* don't try to extract queries from directories with names ending in .js(x) or .ts (#3861)

* Format

* [gatsby-source-filesystem] don't try to process same remote file multiple times, cache promises and return them on subsequent calls (#3859)

* Experimenting (#3843)

* Update README.md (#3822)

add module.exports to How to use

* Format

* Publish

 - gatsby-image@1.0.35
 - gatsby-plugin-less@1.1.4
 - gatsby-plugin-sitemap@1.2.12
 - gatsby-source-contentful@1.3.37
 - gatsby-source-drupal@2.0.19
 - gatsby-source-filesystem@1.5.18
 - gatsby-source-wordpress@2.0.54
 - gatsby-transformer-sharp@1.6.18
 - gatsby@1.9.180

* Use HTTPS over git:// when cloning starters (#3820)

`git://` (which is what `hostInfo.git(...)` gets you) uses unencrypted transport isn't recommended as a way to clone GitHub repositories (https://help.github.com/articles/which-remote-url-should-i-use/).  This change uses HTTPS instead.

* Add gatsby-transformer-screenshot (#3526)

* Add gatsby-plugin-screenshot

* Rename to gatsby-transformer-screenshot

* Rename

* Fix prepublish error

* Expand on documentation

* Run format-packages

* Use API Gateway

* Use official deployed Lambda

* Update README.md

* Format

* Publish

 - gatsby-cli@1.1.35
 - gatsby-transformer-screenshot@1.0.1
 - gatsby@1.9.181

* [gatsby-plugin-feed] Fix missing colon in Readme (#3872)

* Revert "Use HTTPS over git:// when cloning starters (#3820)" (#3876)

This reverts commit 8261ac3.

* Publish

 - gatsby-cli@1.1.36
 - gatsby-plugin-feed@1.3.17
 - gatsby@1.9.182

* use simple https to clone starters (#3875)

* Publish

 - gatsby-cli@1.1.37
 - gatsby@1.9.183

* [www] Add gatsby-starter-simple-landing (#3877)

* bigger photo

* Update index.md

* add www.aslezak.com to showcase (#3878)

* Added new blog, new author and new avatar (#3879)

* Added new blog, new author and new avatar

* Fix links

* Spelling issue corrected, wp file extension changed and quotes corrected

* format blog post

* Update index.md (#3883)

* Add community source plugin to docs (#3884)

* [www] Fix small typo (#3891)

* Document all options for gatsby-remark-images fixes #3882 (#3894)

* Document all options for gatsby-remark-images fixes #3882

* remove

* Edits to wording

* [www] Add `PostLink` component example to docs/adding-a-list-of-markdown-blog-posts/ (#3887)

* [www] Add `PostLink` component example to docs/adding-a-list-of-markdown-blog-posts/

Ref. #3886

* Add headline for `PostLink` component

* Add possessive adjective

* Make code blocks jsx

* Add anchors to h1's in docs (#3892)

* Add anchors to h1's in docs

* Manually add some anchors

* exclude Netlify CMS styles in build-css phase (#3895)

* Fix markdown table syntax in README (#3897)

* Publish

 - gatsby-plugin-netlify-cms@1.0.6
 - gatsby-remark-images@1.5.42
 - gatsby@1.9.184

* Fix typo (#3899)

* update prismjs-language-dependencies.js (#3898)

* Publish

 - gatsby-remark-embed-snippet@1.0.7
 - gatsby-remark-prismjs@1.2.13

* Update snapshots and packages and format w/ new Prettier (#3902)

* Update snapshots and packages and format w/ new Prettier

* Update snapshot in embed package

* [gatsby-transformer-remark] Add `pathPrefix` to relative links (#3823)

* [gatsby-transformer-remark] Add `pathPrefix` to relative links
Ensure markdown relative links include `pathPrefix`.
Fixes #3316

* [gatsby-transformer-remark] add minor comment to `withPathPrefix`

* [gatsby-transformer-remark] add `pathPrefix` to `cacheKey` functions

* [gatsby-transformer-remark] remove `node.url.startsWith(pathPrefix)` condition for `withPathPrefix` logic

* Use "npm-run-all" to run scripts (#3797)

* Use "npm-run-all" to run scripts

[npm-run-all](https://github.com/mysticatea/npm-run-all) is a cross-browser approach to running npm tasks in series (`-s`) or parallel (`-p`). Rather than using a platform specific method to run scripts (e.g. `&&`), npm-run-all will work on all platforms and supports using Yarn if running with Yarn. I made a guess as to whether certain scripts should be run in series or parallel but feel free to change if my choices aren't optimal.

* Add yarn.lock and fix some scripts.

* Move npm-run-all to dev dep.

* Fix bootstrap script.

* [www] Starters: Fix case according to vendor name definition (#3903)

* http://getbootstrap.com/
* http://postcss.org/
* https://sass-lang.com/
* https://bootswatch.com/

* Publish

 - gatsby-remark-embed-snippet@1.0.8
 - gatsby-remark-images@1.5.43
 - gatsby-remark-prismjs@1.2.14
 - gatsby-transformer-remark@1.7.31

* add info about org-mode transformer plugin (#3907)

I created this transformer plugin similar to the offical remark one, that parses org-mode files.

* [www] add gatsby-orga starter (#3908)

* update odayaka.net to showcase (#3909)

update odayaka.net to showcase

* [www] Add ventura-digital.de to Showcase (#3916)

* Minor edits for absolute beginners

After doing this tutorial as a complete beginner myself, I thought a couple of lines could be made even more newby-friendly.

* Update tutorial.js (#3927)

*  Support filtering on linked nodes (#3691)

*  Support filtering on linked nodes

The filtering is done by extracting all the related nodes using `extractFieldExample`. The example values are then cached to save some time. (As of this patch, caching is not tested automatically)

Further linking are disabled to avoid cyclic dependencies (input fields only).

TODO: Filtering on nodes linked by mappings and File

Note: If linking is done via array of IDs, only the structure of the first item is extracted. I'll be happy to add union support if someone can show me how to `$in` filter on an array of object.

Related #3613 #3190

*  Test filtering on linked nodes

* Publish

 - gatsby@1.9.185

* Set default NODE_ENV for `gatsby develop` (#3928)

* Fix broken links (#3930)

* Blog Post - Jam Out Your Blog (#3911)

* Blog Post - Jam Out Your Blog

Vlad Pasculescu’s blog post on using Gatsby with Netify and Prose.io

Signed-off-by: vladpasculescu <vlad@vladpasculescu.com>

* Updated Blog Post for Edits

Edited Jam Out Blog Post for suggested moderator edits.

* Update index.md

* Publish

 - gatsby-cli@1.1.38
 - gatsby@1.9.186

* fix(dev-404-page): route to 404 fails when using plugin-remove-trailing-slashes (#3522)

* fix(dev-404-page): route to 404 fails when using plugin-remove-trailing-slashes

Fixes: #3521

* refactor(dev-404-page): use RegExp.test() as we don't need to return anything

* fix(dev-404-page): route to 404 fails when using plugin-remove-trailing-slashes

updating other occurrence of 404 page check as well

* Automatic file validation for components in src/pages (#3881)

* yarn.lock

* add page validation and fix breaking createPage action tests

* Improve error messages for invalid pages

* Field inferring changes and cleanup (#3688)

* remove not needed edge case for infering array of objects to improve code readability

* don't lose field args and resolve function when infering array (fixes date format options not available in arrays of dates)

* move infering date field to seperate file to improve code readability

* don't recreate date field definition for every date field - we can reuse same object

* create dedicated Date graphql scalar (based on string scalar) for date fields

* pass fieldName to resolver when filtering on types with custom resolvers (date type fields now rely on fieldname info being passed)

* use already constructed nextselector instead of rebuilding it again

* move infering file field to separate file to improve code readability

* create file type field object just once and reuse it

* move trying to infer Files from string paths to inferGraphQLType function where rest of value based inferring is done

* add tests for inferring File from string paths

* add tests for inferring date type from string, array of strings and filtering date fields, move date related test to seperate date test suite

* Publish

 - gatsby@1.9.187

* Return a never to be resolved promise to prevent development server from exiting early fixes #3932 (#3933)

* Publish

 - gatsby-cli@1.1.39
 - gatsby@1.9.188

* format

* Add Cardiogram to README (#3934)

* Fix code highlight in tutorial (#3935)

* small wording change

* [api-ssr-docs] Import `Helmet` not `helmet` (#3940)

* [www] Tutorial: Small wording changes for clarification (#3926)

gatsby-config.js needs to be created (before edited). Also, since the user will be changing windows to stop the process it might be useful to remind them where they were before.

* [docs] Fix small typo (#3946)

* test "exports.default" when validating page component (#3941)

* Publish

 - gatsby@1.9.189

* update environment variables docs to explain how to implement dotenv (#3944)

* [www] Add dedicated „How to File an Issue“ page (#3945)

* move „Filing an Issue“ and „Special Note on Issues“ from the „How to Contribute“ to the new „How to File an Issue“ page
* add an intro paragraph to the new page linking to the GitHub Gatsby issue tracker
* add a paragraph to the new page informing about personal support requests, pointing to Stack Overflow, Reactiflux Discord
* add link to the new page to
  * the docs sidebar’s „Contributing“ section
  * the GitHub issue template
  * the „Community“ page
  * the list of ways to contribute on the „How to Contribute“ page
* link „Triaging GitHub issues“ on the „How to Contribute“ page

* Don't check if React is imported as can import component from other page and never write JSX (#3949)

/cc @bodia-uz

* Publish

 - gatsby@1.9.190

* Add LaserTime Clinic website to Readme (#3951)

* webpack commonsChunkPlugin isframework tester fix for windows dev (#3952)

* Publish

 - gatsby@1.9.191

* type inferring - handle array of Date objects (#3955)

* inferring types: handle array of Date objects

* add tests for inferring arrays of Date objects

* Publish

 - gatsby@1.9.192

* Document how to create custom fragments (#3914)

* Document how to create custom fragments

* Fix ordering

* Add example component exporting a fragment

* Tweak language

* Update index.md (#3957)

* update showcase with Gatsby Manor (#3959)

Gatsby Manor makes themes for GatsbyJS.

* Adds new starter to docs :) (#3971)

* Fix error (#3985)

Talked to Ross Whitehouse, the author, via Medium private message to confirm the errors. Gotten permission to submit PR for the edit.

* Add note about plugin options (#3987)

* Add container as a styled div to styled-components doc (#3988)

* Add Dockerfile to start GraphiQL using www's data (#3992)

* fix: prevent invalid graphql field names from being created (#3994)

* fix: prevent invalid graphql field names from being created

Note: This will currently transform (for example) `/*` into `_` so I'm not quite sure what the best course of action is to replace that

Fixes #3487; Fixes #2925

* chore: revert yarn lock change

* test: simplify tests

* fix: dasherize after leading underscore

* feat(gatsby-plugin-google-analytics): add head option (#3995)

Add head option to configure whether scrip tag should be put in the
body (by default, same as previously) or inside of the head.
closes #2894

* Add browserAPIs and ssrAPIs to loaded plugin info (#3989)

* Add browserAPIs and ssrAPIs to loaded plugin info

* Output correct error message for each bad export

* Use lodash for Node 6 compatibility

* Publish

 - gatsby-plugin-google-analytics@1.0.18
 - gatsby@1.9.193

* add package json metadata for better display on npmjs.org (#3981)

* chore: add package json metadata (git url, issues, etc.)

* chore: update plop template

* chore: move bin/files up in package.json

* chore: fix unescaped email(s)

* Run 'fixpack' on all package.jsons

* Validate when creating a page that the page component exists (#3997)

* Validate when creating a page that the page component exists

* Don't check for component paths during testing as it breaks tests

* Publish

 - gatsby-1-config-css-modules@1.0.9
 - gatsby-cli@1.1.40
 - gatsby-dev-cli@1.2.11
 - gatsby-image@1.0.36
 - gatsby-link@1.6.37
 - gatsby-module-loader@1.0.10
 - gatsby-plugin-aphrodite@1.0.7
 - gatsby-plugin-canonical-urls@1.0.13
 - gatsby-plugin-catch-links@1.0.16
 - gatsby-plugin-coffeescript@1.4.10
 - gatsby-plugin-create-client-paths@1.0.5
 - gatsby-plugin-cxs@1.0.7
 - gatsby-plugin-emotion@1.1.12
 - gatsby-plugin-feed@1.3.18
 - gatsby-plugin-glamor@1.6.12
 - gatsby-plugin-glamorous@1.0.7
 - gatsby-plugin-google-analytics@1.0.19
 - gatsby-plugin-google-tagmanager@1.0.14
 - gatsby-plugin-jss@1.5.11
 - gatsby-plugin-less@1.1.5
 - gatsby-plugin-lodash@1.0.9
 - gatsby-plugin-manifest@1.0.14
 - gatsby-plugin-netlify-cms@1.0.7
 - gatsby-plugin-netlify@1.0.18
 - gatsby-plugin-no-sourcemaps@1.0.3
 - gatsby-plugin-nprogress@1.0.12
 - gatsby-plugin-offline@1.0.14
 - gatsby-plugin-postcss-sass@1.0.17
 - gatsby-plugin-preact@1.0.16
 - gatsby-plugin-react-css-modules@1.0.13
 - gatsby-plugin-react-helmet@2.0.5
 - gatsby-plugin-react-next@1.0.9
 - gatsby-plugin-remove-trailing-slashes@1.0.5
 - gatsby-plugin-sass@1.0.17
 - gatsby-plugin-sharp@1.6.28
 - gatsby-plugin-sitemap@1.2.13
 - gatsby-plugin-styled-components@2.0.6
 - gatsby-plugin-styled-jsx@2.0.3
 - gatsby-plugin-styletron@1.0.12
 - gatsby-plugin-stylus@1.1.15
 - gatsby-plugin-twitter@1.0.17
 - gatsby-plugin-typescript@1.4.16
 - gatsby-plugin-typography@1.7.14
 - gatsby-react-router-scroll@1.0.11
 - gatsby-remark-autolink-headers@1.4.12
 - gatsby-remark-code-repls@1.0.9
 - gatsby-remark-copy-linked-files@1.5.27
 - gatsby-remark-custom-blocks@1.0.3
 - gatsby-remark-embed-snippet@1.0.9
 - gatsby-remark-images@1.5.44
 - gatsby-remark-katex@1.0.11
 - gatsby-remark-prismjs@1.2.15
 - gatsby-remark-responsive-iframe@1.4.17
 - gatsby-remark-smartypants@1.4.11
 - gatsby-source-contentful@1.3.38
 - gatsby-source-drupal@2.0.20
 - gatsby-source-faker@1.0.2
 - gatsby-source-filesystem@1.5.19
 - gatsby-source-hacker-news@1.0.10
 - gatsby-source-lever@1.0.8
 - gatsby-source-medium@1.0.12
 - gatsby-source-mongodb@1.5.14
 - gatsby-source-wordpress-com@1.0.6
 - gatsby-source-wordpress@2.0.55
 - gatsby-transformer-csv@1.3.8
 - gatsby-transformer-documentationjs@1.4.9
 - gatsby-transformer-docx@1.0.6
 - gatsby-transformer-excel@1.0.4
 - gatsby-transformer-hjson@1.0.3
 - gatsby-transformer-javascript-static-exports@1.3.9
 - gatsby-transformer-json@1.0.15
 - gatsby-transformer-pdf@1.0.6
 - gatsby-transformer-pdfimages@1.0.5
 - gatsby-transformer-react-docgen@1.0.13
 - gatsby-transformer-remark@1.7.32
 - gatsby-transformer-screenshot@1.0.2
 - gatsby-transformer-sharp@1.6.19
 - gatsby-transformer-toml@1.1.8
 - gatsby-transformer-xml@1.0.12
 - gatsby-transformer-yaml@1.5.15
 - gatsby@1.9.194
 - graphql-skip-limit@1.0.10

* [gatsby-transformer-react-docgen] Add note on PropTypes (#4008)

* Update adding-tags-and-categories-to-blog-posts.md (#3999)

Changed per a conversation with Kyle about a better way to do this. Relates to #3976

* [gatsby-remark-katex] Upgrade remark-math to latest (#4005)

* update remark-math to latest version to fix an issue where equations surrounded by `$$` with new lines are not displayed in KaTeX' `displayMode`
* update broken spec
* add spec for display math node
* [using-remark] fix "Math Equations in Display Mode" example

* Add note about using Custom Domain with Github Pages (#4006)

* Update how-gatsby-works-with-github-pages.md

* Update how-gatsby-works-with-github-pages.md

* Update how-gatsby-works-with-github-pages.md

* [docs] Add Gatsby Manor blog post (#3968)

Show the community Gatsby Manor.

* don't use internal-only path when requiring promise polyfill (#4012)

see: zloirock/core-js#138 (comment)

* Fix tracking parent nodes when loading redux state from cache (#4013)

fixes #2929

* Publish

 - gatsby-remark-katex@1.0.12
 - gatsby-transformer-react-docgen@1.0.14
 - gatsby@1.9.195

* Add info about gatsby-plugin-sharp (#4019)

* Add info about gatsby-plugin-sharp

* Update README.md

* update contributing documentation to mention that npm run watch can be resource intensive, and suggest watching select packages at a time (#4020)

* [gatsby-image] Allow specifying HTML tag for gatsby-image wrapping elements (#4022)

* Allow specifying which html tag will be used for gatsby-image wrappers

* Update gatsby-image README.md to include new Tag prop

* Fix plugin loader checks (#4023)

* Add browser and SSR APIs to the plugin API whitelist

* Add registerServiceWorker to the list of allowed browser APIs

* Publish

 - gatsby-image@1.0.37
 - gatsby@1.9.196

* Fix tracking nodes with filtering/running sift (#4024)

* Track Node that contains inline objects/arrays instead of its parent. This doesn't break finding topmost ancestor node as we already trying to get walk along parent hierarchy.

Rename tracking functions and jsdocs to provide some basic context for these functions

* Fix tracking nodes with filtering/running sift. Before we filter nodes we create copies of nodes with appended fields added by plugins (by setFieldsOnGraphQLNodeType) if they are filtered on. These copies weren't tracked.

* fix: add info message if gatsby-config.js could have been typo'd (#4017)

* fix: add info message if gatsby-config.js could have been typo'd

* chore: move preferDefault back to where it was

* refactor: tweak error logic a bit

* chore: tweak versions for yarn.lock compat

* refactor: address PR comments

* fix: fail with error

* format

* Fix lint errors

* fix: ensure graphql key is a valid graphql key value (#4000)

* fix: ensure graphql key is a valid graphql key value

* chore: update comment

* Improve the warning for when someone includes a graphql query in a non-page component (#4026)

* Publish

 - gatsby@1.9.197

* add gatsby-transformer-javascript-frontmatter, closes #3795 (#3947)

* initial commit

* update name in package.json

* start converting example site

* fix gql error on js articles

* rename intial defined `let`

* clear out unused deps

* begin updating new layout components

* fix all HOC

* update example readme

* Format

* Update README.md

* Catch require error for hot-reloading gatsby-config.js fixes #3990 (#4039)

* Publish

 - gatsby-source-mongodb@1.5.15
 - gatsby-source-wordpress@2.0.56
 - gatsby-transformer-javascript-frontmatter@1.0.1
 - gatsby-transformer-javascript-static-exports@1.3.10
 - gatsby@1.9.198

* Don't exit on errors as during development, empty/incomplete page components are common fixes #4027 (#4040)

* Don't exit on errors as during development, empty/incomplete page components are common fixes #4027

* Fix other points of death

* Ok, do die here

* Remove component query from store when a user deletes it fixes #4032 (#4041)

* Publish

 - gatsby@1.9.199

* add portfolio site to the readme showcase (#4043)

* Add documentation for using boundActionCreators fixes #4029 (#4042)

* Add documentation for using boundActionCreators

* Update bound-action-creators.js

* Fix

* node tracking - add tests (#4045)

* move node tracking code to separate dedicated file

* Add jsdoc for findRootNode

* add tests for node tracking

* Update README.md

* Add links to the end of the tutorial (#4051)

* [www] Fix tutorial sidebar links active state, update deps (#4059)

* Bump deps, add react-helmet for gatsby-plugin-react-helmet v2

* Fix warning

„Warning: Received `false` for non-boolean attribute `className`. If this is expected, cast the value to a string.“

* Update preload href

* Rewire sidebar section and link styles, fix #4036

* Use babylon to parse out exports from plugin files (#4057)

* Minor typo fix (#4063)

* sort type names when creating union type name to keep union type names more consistent (#4074)

previously this name would change when order of source data change

* Publish

 - gatsby-plugin-styled-components@2.0.7
 - gatsby@1.9.200

* Update minimum Node.js versions (#4075)

* support tiff images and don't get stuck indefinitely when used, add basic error checking (#4076)

* Remove .travis.yml file from www directory as it's never been used (#4082)

* [www] Tutorial: Highlight closing tag (#3925)

* Highlight closing tag

There are two additions to the code, however only the opening div is highlighted and not its closing tag.

* Made changes suggested by Yisela

@yisela, I changed this! It took a while for me to figure out, which means that most beginners would also have trouble figuring it out, haha. Thanks for noticing and helping Gatsby improve!!!

* Revert "define webpack loader.exclude with array for extensibility" (#4046)

This reverts commit 50b0a47.

* Add documentation for mapping in gatsby-config (#4054)

* Add documentation for mapping

* Fix glitch in pasted code

* Update gatsby-config.md

* format

* Update gatsby-config.md

* Update gatsby-config.md

* Add new Tools-section and mention Gatsby-Docker (#4085)

As suggested here: https://twitter.com/gatsbyjs/status/964531323606986752

* Remove ReasonML site (#4084)

* Added gatsby-source-dribbble plugin (#4086)

Added gatsby-source-dribbble plugin to community plugins

* Adds add'l docs to gatsby-source-filesystem (#4060)

* Adds add'l docs to gatsby-source-filesystem

* Update README.md

* Format

* [docs] Add A Bright Future For The Web blog post (#4073)

* Blogpost (#4083)

* Blogpost

Hope this is good to go. I feel like it's kind of boring and abstract. Hoped to have more examples or stories or screenshots but don't know enough to add more!

* Update index.md

Removed some content which felt a bit extraneous + corrected a few descriptions of React

* Add portfolio of Preston Richey to README showcase (#4087)

* gatsby.org -> gatsbyjs.org (#4088)

* gatsby.org -> gatsbyjs.org

* Update index.md

* fix broken `path` dependency (#4090)

Following the guide I had an error with the `path`.

It seems that requiring it at the top of the file solves the issue: `const path = require("path");`

Is there something else I was missing? 

Cheers

* Remove tiff option from gatsby-plugin-sharp as it's converting all images to tiff (#4091)

* Publish

 - gatsby-plugin-sharp@1.6.29
 - gatsby-remark-images@1.5.45
 - gatsby-source-drupal@2.0.21
 - gatsby-source-filesystem@1.5.20
 - gatsby-source-wordpress@2.0.57
 - gatsby@1.9.201

* [www] Fix quotes, fixes „Invalid date“ of latest blog post (#4092)

* [www] Fix quotes, fixes „Invalid date“ of latest blog post

* Fix typo

* Auto-deploy GraphQL docker image (#4079)

* Push image to docker hub when master is tagged like `gatsby@`

* Build image on any commit to master (that isn't a PR merge)

* Restore tiff option but without force option defaulting to true (#4094)

* Publish

 - gatsby-plugin-sharp@1.6.30
 - gatsby-remark-images@1.5.46

* Add Beach Hut Poole to Site Showcase (#4106)

* Add gatsby-starter-redux to gatsby-starters (#4098)

* Catch and exit if someone mistakenly puts their gatsby-config.js in the src directory fixes #2674 (#4101)

* Publish

 - gatsby@1.9.202
@raphadeluca

This comment has been minimized.

Copy link
Contributor

raphadeluca commented Jul 29, 2018

@rayk , did you find a way to integrate idyll into Gatsby? Do you think it could possible to write a idyll document as we do with markdown and transform it during the bootsrap process into a static file?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment