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

Update next/head docs to clarify duplicate tags. #12033

Merged
merged 1 commit into from Apr 20, 2020
Merged

Update next/head docs to clarify duplicate tags. #12033

merged 1 commit into from Apr 20, 2020

Conversation

leerob
Copy link
Member

@leerob leerob commented Apr 20, 2020

Closes #10836.

When overriding Head in a child component, meta tags with the same name attribute are de-duplicated by default. Tags with property (e.g., open-graph) are not.

This PR updates the next/head docs to clarify usage for key. It also adds a note about Next handling name by default, as suggested by @Timer.

Example

Parent

<Head>
  <title>Home</title>
  <link rel="icon" href="/favicon.ico" />
  <meta name="viewport" content="initial-scale=1.0, width=device-width" />
  <meta property="og:title" content="My page title" key="title" />
</Head>

Parent

<Head>
  <title>Home</title>
  <link rel="icon" href="/favicon.ico" />
  <meta name="viewport" content="initial-scale=1.5" />
  <meta property="og:title" content="My new title" key="title" />
</Head>

Result
Screen Shot 2020-04-19 at 8 30 50 PM

@leerob leerob requested a review from Timer as a code owner April 20, 2020 01:31
@ijjk
Copy link
Member

ijjk commented Apr 20, 2020

Stats from current PR

Default Server Mode (Decrease detected ✓)
General
zeit/next.js canary leerob/next.js patch-3 Change
buildDuration 11.4s 11.6s ⚠️ +155ms
nodeModulesSize 55.6 MB 55.6 MB
Page Load Tests Overall decrease ⚠️
zeit/next.js canary leerob/next.js patch-3 Change
/ failed reqs 0 0
/ total time (seconds) 1.864 1.94 ⚠️ +0.08
/ avg req/sec 1341.34 1288.35 -52.99
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 0.948 0.959 ⚠️ +0.01
/error-in-render avg req/sec 2636.2 2605.95 -30.25
Client Bundles (main, webpack, commons)
zeit/next.js canary leerob/next.js patch-3 Change
main-HASH.js gzip 6.25 kB 6.25 kB
webpack-HASH.js gzip 746 B 746 B
de003c3a9d30..5e5e.js gzip 10.3 kB 10.3 kB
framework.a1..NSE.txt gzip 220 B 220 B
framework.a1..NSE.txt gzip 220 B 220 B
framework.HASH.js gzip 39 kB 39 kB
Overall change 56.7 kB 56.7 kB
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary leerob/next.js patch-3 Change
main-HASH.module.js gzip 4.79 kB 4.79 kB
webpack-HASH..dule.js gzip 746 B 746 B
de003c3a9d30..dule.js gzip 6.85 kB 6.85 kB
framework.HA..dule.js gzip 39 kB 39 kB
Overall change 51.4 kB 51.4 kB
Legacy Client Bundles (polyfills)
zeit/next.js canary leerob/next.js patch-3 Change
polyfills-HASH.js gzip 26.2 kB 26.2 kB
Overall change 26.2 kB 26.2 kB
Client Pages
zeit/next.js canary leerob/next.js patch-3 Change
_app.js gzip 1.23 kB 1.23 kB
_error.js gzip 3.12 kB 3.12 kB
hooks.js gzip 663 B 663 B
index.js gzip 222 B 222 B
link.js gzip 2.06 kB 2.06 kB
routerDirect.js gzip 280 B 280 B
withRouter.js gzip 278 B 278 B
Overall change 7.85 kB 7.85 kB
Client Pages Modern
zeit/next.js canary leerob/next.js patch-3 Change
_app.module.js gzip 598 B 598 B
_error.module.js gzip 2.09 kB 2.09 kB
hooks.module.js gzip 383 B 383 B
index.module.js gzip 223 B 223 B
link.module.js gzip 1.52 kB 1.52 kB
routerDirect..dule.js gzip 279 B 279 B
withRouter.m..dule.js gzip 278 B 278 B
Overall change 5.37 kB 5.37 kB
Client Build Manifests
zeit/next.js canary leerob/next.js patch-3 Change
_buildManifest.js gzip 61 B 61 B
_buildManife..dule.js gzip 61 B 61 B
Overall change 122 B 122 B
Rendered Page Sizes
zeit/next.js canary leerob/next.js patch-3 Change
index.html gzip 928 B 928 B
link.html gzip 938 B 938 B
withRouter.html gzip 926 B 926 B
Overall change 2.79 kB 2.79 kB

Serverless Mode
General
zeit/next.js canary leerob/next.js patch-3 Change
buildDuration 12.2s 12.1s -139ms
nodeModulesSize 55.6 MB 55.6 MB
Client Bundles (main, webpack, commons)
zeit/next.js canary leerob/next.js patch-3 Change
main-HASH.js gzip 6.25 kB 6.25 kB
webpack-HASH.js gzip 746 B 746 B
de003c3a9d30..5e5e.js gzip 10.3 kB 10.3 kB
framework.a1..NSE.txt gzip 220 B 220 B
framework.a1..NSE.txt gzip 220 B 220 B
framework.HASH.js gzip 39 kB 39 kB
Overall change 56.7 kB 56.7 kB
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary leerob/next.js patch-3 Change
main-HASH.module.js gzip 4.79 kB 4.79 kB
webpack-HASH..dule.js gzip 746 B 746 B
de003c3a9d30..dule.js gzip 6.85 kB 6.85 kB
framework.HA..dule.js gzip 39 kB 39 kB
Overall change 51.4 kB 51.4 kB
Legacy Client Bundles (polyfills)
zeit/next.js canary leerob/next.js patch-3 Change
polyfills-HASH.js gzip 26.2 kB 26.2 kB
Overall change 26.2 kB 26.2 kB
Client Pages
zeit/next.js canary leerob/next.js patch-3 Change
_app.js gzip 1.23 kB 1.23 kB
_error.js gzip 3.12 kB 3.12 kB
hooks.js gzip 663 B 663 B
index.js gzip 222 B 222 B
link.js gzip 2.06 kB 2.06 kB
routerDirect.js gzip 280 B 280 B
withRouter.js gzip 278 B 278 B
Overall change 7.85 kB 7.85 kB
Client Pages Modern
zeit/next.js canary leerob/next.js patch-3 Change
_app.module.js gzip 598 B 598 B
_error.module.js gzip 2.09 kB 2.09 kB
hooks.module.js gzip 383 B 383 B
index.module.js gzip 223 B 223 B
link.module.js gzip 1.52 kB 1.52 kB
routerDirect..dule.js gzip 279 B 279 B
withRouter.m..dule.js gzip 278 B 278 B
Overall change 5.37 kB 5.37 kB
Client Build Manifests
zeit/next.js canary leerob/next.js patch-3 Change
_buildManifest.js gzip 61 B 61 B
_buildManife..dule.js gzip 61 B 61 B
Overall change 122 B 122 B
Serverless bundles
zeit/next.js canary leerob/next.js patch-3 Change
_error.js 558 kB 558 kB
404.html 4.18 kB 4.18 kB
hooks.html 3.81 kB 3.81 kB
index.js 558 kB 558 kB
link.js 595 kB 595 kB
routerDirect.js 587 kB 587 kB
withRouter.js 587 kB 587 kB
Overall change 2.89 MB 2.89 MB

@timneutkens timneutkens merged commit 912f746 into vercel:canary Apr 20, 2020
@timneutkens
Copy link
Member

Thanks @leerob! 🚀

@vvo
Copy link
Member

vvo commented Apr 20, 2020

Lint failed on this PR (and it breaks my own PR :D). TBH this is happening "often" I would protect the branch to not allow merging when status is failing 🙏

@timneutkens
Copy link
Member

timneutkens commented Apr 20, 2020

I would protect the branch to not allow merging when status is failing 🙏

This is already the case, I should just check the lint step more often 🙈 It's only because of the prettier --check which is not super important for markdown files tbh. I think we should automate running it on the branch instead @ijjk so that we can then just merge edits that were made through the edit this page on github button (that's the only reason it happens in general).

@vercel vercel locked as resolved and limited conversation to collaborators Jan 31, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

when overriding in child, meta tags with name get deduped but not otherwise, unless a key is provided
4 participants