* Jade Version 💥

[NEW] Jade Version Added
This commit is contained in:
Enes Erdogan 2016-07-31 15:55:09 +03:00
parent e5324e4425
commit 82a5b7ae6a
1 changed files with 619 additions and 0 deletions

619
README-Jade.md Normal file
View File

@ -0,0 +1,619 @@
# HEAD (Jade Version)
A list of everything that could go in the `head` of your document
## Table of Contents
- [Recommended Minimum](#recommended-minimum)
- [Elements](#elements)
- [Meta](#meta)
- [Meta: Not Recommended](#meta-not-recommended)
- [Link](#link)
- [Link: Not Recommended](#link-not-recommended)
- [Favicons](#favicons)
- [Social](#social)
- [Facebook / Open Graph](#facebook--open-graph)
- [Facebook / Instant Articles](#facebook--instant-articles)
- [Twitter](#twitter)
- [Google+ / Schema.org](#google--schemaorg)
- [OEmbed](#oembed)
- [Browsers / Platforms](#browsers--platforms)
- [Apple iOS](#apple-ios)
- [Apple Safari](#apple-safari)
- [Google Android](#google-android)
- [Google Chrome](#google-chrome)
- [Microsoft Internet Explorer](#microsoft-internet-explorer)
- [Microsoft Internet Explorer: Legacy, Do Not Use!](#microsoft-internet-explorer-legacy-do-not-use)
- [Browsers (Chinese)](#browsers-chinese)
- [360 Browser](#360-browser)
- [QQ Mobile Browser](#qq-mobile-browser)
- [UC Mobile Browser](#uc-mobile-browser)
- [App Links](#app-links)
- [Notes](#notes)
- [Performance](#performance)
- [Other Resources](#other-resources)
- [Related Projects](#related-projects)
- [Other Formats](#other-formats)
- [Translations](#translations)
- [Contributing](#contributing)
- [Author](#author)
- [License](#license)
## Recommended Minimum
Below are the essential tags for basic, minimalist websites:
```js
meta(charset="utf-8")
meta(http-equiv="x-ua-compatible" content="ie=edge")
meta(name="viewport" content="width=device-width, initial-scale=1")
/* The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags */
title Page Title
```
## Elements
``` js
/* Document Title */
title Page Title
/* Base URL to use for all relative URLs contained within the document */
base(href="https://example.com/page.html")
/* External CSS */
link(rel="stylesheet" href="styles.css")
/* In-document CSS */
style
/* ... */
/* JavaScript */
script(src="script.js")
noscript
/* no JS alternative */
```
## Meta
``` js
meta(charset="utf-8")
meta(http-equiv="x-ua-compatible" content="ie=edge")
meta(name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no")
/* The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags */
/* Allows control over where resources are loaded from */
meta(http-equiv="Content-Security-Policy" content="default-src 'self'")
/* Place as early in the document as possible */
/* Only applies to content below this tag */
/* Name of web application (only should be used if the website is used as an app) */
meta(name="application-name" content="Application Name")
/* Short description of the page (limit to 150 characters) */
/* In *some* situations this description is used as a part of the snippet shown in the search results. */
meta(name="description" content="A description of the page")
/* Control the behavior of search engine crawling and indexing */
meta(name="robots" content="index,follow,noodp")/*-- All Search Engines */
meta(name="googlebot" content="index,follow")/*-- Google Specific */
/* Tells Google not to show the sitelinks search box */
meta(name="google" content="nositelinkssearchbox")
/* Tells Google not to provide a translation for this page */
meta(name="google" content="notranslate")
/* Verify ownership for Google Search Console */
meta(name="google-site-verification" content="verification_token")
/* Used to name software used to build the website (i.e. - Wordpress, Dreamweaver) */
meta(name="generator" content="program")
/* Short description of your site's subject */
meta(name="subject" content="your website's subject")
/* Very short (10 words or less) description. Primarily for academic papers */
meta(name="abstract" content="")
/* Full domain name or web address */
meta(name="url" content="https://example.com/")
meta(name="directory" content="submission")
/* Gives a general age rating based on sites content */
meta(name="rating" content="General")
/* Allows control over how referrer information is passed */
meta(name="referrer" content="never")
/* Disable automatic detection and formatting of possible phone numbers */
meta(name="format-detection" content="telephone=no")
/* Completely opt out of DNS prefetching by setting to 'off' */
meta(http-equiv="x-dns-prefetch-control" content="off")
/* Stores cookie on the client web browser for client identification */
meta(http-equiv="set-cookie" content="name=value; expires=date; path=url")
/* Specifies the page to appear in a specific frame */
meta(http-equiv="Window-Target" content="_value")
/* Geo tags */
meta(name="ICBM" content="latitude, longitude")
meta(name="geo.position" content="latitude;longitude")
meta(name="geo.region" content="country[-state]")/* Country code (ISO 3166-1): mandatory, state code (ISO 3166-2): optional; eg. content="US" / content="US-NY" */
meta(name="geo.placename" content="city/town")/* eg. content="New York City" */
```
- [Meta tags that Google understands](https://support.google.com/webmasters/answer/79812?hl=en)
- [WHATWG Wiki: MetaExtensions](https://wiki.whatwg.org/wiki/MetaExtensions)
- [ICBM on Wikipedia](https://en.wikipedia.org/wiki/ICBM_address#Modern_use)
- [Geotagging on Wikipedia](https://en.wikipedia.org/wiki/Geotagging#HTML_pages)
### Meta: Not Recommended
Below are the meta attributes which are not recommended for use as they had low adoption rate, or have been deprecated:
```js
/* Used to declare the document language, but not well supported. Better to use <html lang=""> */
meta(name="language" content="en")
/* Google disregards & Bing considers it an indicator of spam */
meta(name="keywords" content="your,keywords,here,comma,separated,no,spaces">
/* No evidence of current use in any search engines */
meta(name="revised" content="Sunday, July 18th, 2010, 5:15 pm")
/* Provides an easy way for spam bots to harvest email addresses */
meta(name="reply-to" content="email@example.com")
/* Better to use link(rel="author"> or humans.txt file */
meta(name="author" content="name, email@example.com")
meta(name="designer" content="")
meta(name="owner" content="")
/* Tells search bots to revisit the page after a period. This is not supported because most Search Engines now use random intervals for re-crawling a webpage */
meta(name="revisit-after" content="7 days")
/* Sends user to a new URL after a certain amount of time */
/* The W3C recommends that this tag not be used. Google recommends using a server-side 301 redirect instead. */
meta(http-equiv="refresh" content="300; url=https://example.com/")
/* Describes the topic of the website */
meta(name="topic" content="")
/* Brief summary of the company or purpose of the website */
meta(name="summary" content="")
/* A deprecated tag that does the same as the keywords meta tag */
meta(name="classification" content="business")
/* Does the same as URL, older and not supported */
meta(name="identifier-URL" content="https://example.com/")
/* Similar function to the keywords tag */
meta(name="category" content="")
/* Makes sure your website shows up in all countries and languages */
meta(name="coverage" content="Worldwide")
/* Does the same as the coverage tag */
meta(name="distribution" content="Global")
/* Controls what user can access on the internet */
meta(http-equiv="Pics-label" content="value")
/* Cache Control */
/* Better to configure cache control server side */
meta(http-equiv="Expires" content="0")
meta(http-equiv="Pragma" content="no-cache")
meta(http-equiv="Cache-Control" content="no-cache")
```
## Link
``` js
/* Helps prevent duplicate content issues */
link(rel="canonical" href="https://example.com/2010/06/9-things-to-do-before-entering-social-media.html")
/* Used to be included before the icon link, but is deprecated and no longer is used */
link(rel="shortlink" href="https://example.com/?p=42")
/* Links to an AMP HTML version of the current document */
link(rel="amphtml" href="https://example.com/path/to/amp-version.html")
/* Points to a CSS stylesheet */
link(rel="stylesheet" href="https://example.com/styles.css")
/* Links to a JSON file that specifies "installation" credentials for web applications */
link(rel="manifest" href="manifest.json")
/* Links to the author of the document */
link(rel="author" href="humans.txt")
/* Refers to a copyright statement that applies to the links context */
link(rel="copyright" href="copyright.html")
/* Gives a reference to a location in your document that may be in another language */
link(rel="alternate" href="https://es.example.com/" hreflang="es")
/* Gives information about an author or another person */
link(rel="me" href="https://google.com/profiles/thenextweb" type="text/html">
link(rel="me" href="mailto:name@example.com")
link(rel="me" href="sms:+15035550125")
/* Links to a document that contains an archive link to the current document */
link(rel="archives" href="https://example.com/2003/05/" title="May 2003")
/* Links to top level resource in an hierarchical structure */
link(rel="index" href="https://example.com/" title="DeWitt Clinton")
/* Gives the starting point of the document */
link(rel="start" href="https://example.com/photos/pattern_recognition_1_about/" title="Pattern Recognition 1")
/* Leads to the preceding resource of the sequence the current document is in */
link(rel="prev" href="https://example.com/opensearch/opensearch-and-openid-a-sure-way-to-get-my-attention/" title="OpenSearch and OpenID? A sure way to get my attention.")
/* Gives a self reference - useful when the document has multiple possible references */
link(rel="self" type="application/atom+xml" href="https://example.com/atomFeed.php?page=3")
/* The first, next, previous, and last documents in a series of documents, respectively */
link(rel="first" href="https://example.com/atomFeed.php")
link(rel="next" href="https://example.com/atomFeed.php?page=4")
link(rel="previous" href="https://example.com/atomFeed.php?page=2")
link(rel="last" href="https://example.com/atomFeed.php?page=147")
/* Used when using a 3rd party service to maintain a blog */
link(rel="EditURI" href="https://example.com/xmlrpc.php?rsd" type="application/rsd+xml" title="RSD")
/* Forms an automated comment when another wordpress blog links to your wordpress blog or post */
link(rel="pingback" href="https://example.com/xmlrpc.php">
/* Notifies a url when you link to it on your site */
link(rel="webmention" href="https://example.com/webmention")
/* Loads in an external HTML file into the current HTML file */
link(rel="import" href="component.html")
/* Open Search */
link(rel="search" href="/open-search.xml" type="application/opensearchdescription+xml" title="Search Title")
/* Feeds */
link(rel="alternate" href="https://feeds.feedburner.com/example" type="application/rss+xml" title="RSS")
link(rel="alternate" href="https://example.com/feed.atom" type="application/atom+xml" title="Atom 0.3")
/* Prefetching, preloading, prebrowsing */
link(rel="dns-prefetch" href="//example.com/")
link(rel="preconnect" href="https://www.example.com/")
link(rel="prefetch" href="https://www.example.com/")
link(rel="prerender" href="https://example.com/")
link(rel="preload" href="image.png" as="image")
/* More info: https://css-tricks.com/prefetching-preloading-prebrowsing/ */
```
### Link: Not Recommended
Below are the link relations which are not recommended for use:
```js
link(rel="shortcut icon" href="path/to/favicon.ico")
/* Not useful, proprietary and buggy, see https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/Y_2eFRh9BOs/gULYapoRBwAJ */
link(rel="subresource" href="styles.css")
```
### Favicons
``` js
/* For IE 10 and below */
/* No link, just place a file called favicon.ico in the root directory */
/* For IE 11, Chrome, Firefox, Safari, Opera */
link(rel="icon" href="path/to/favicon-16.png" sizes="16x16" type="image/png")
link(rel="icon" href="path/to/favicon-32.png" sizes="32x32" type="image/png")
link(rel="icon" href="path/to/favicon-48.png" sizes="48x48" type="image/png")
link(rel="icon" href="path/to/favicon-62.png" sizes="62x62" type="image/png")
link(rel="icon" href="path/to/favicon-192.png" sizes="192x192" type="image/png")
/* More info: https://bitsofco.de/all-about-favicons-and-touch-icons/ */
```
- [All About Favicons (And Touch Icons)](https://bitsofco.de/all-about-favicons-and-touch-icons/)
- [Favicon Cheat Sheet](https://github.com/audreyr/favicon-cheat-sheet)
## Social
### Facebook / Open Graph
``` js
meta(property="fb:app_id" content="123456789")
meta(property="og:url" content="https://example.com/page.html")
meta(property="og:type" content="website")
meta(property="og:title" content="Content Title")
meta(property="og:image" content="https://example.com/image.jpg")
meta(property="og:description" content="Description Here")
meta(property="og:site_name" content="Site Name")
meta(property="og:locale" content="en_US")
meta(property="article:author" content="")
/* Facebook: https://developers.facebook.com/docs/sharing/webmasters#markup */
/* Open Graph: http://ogp.me/ */
```
- [Facebook Open Graph Markup](https://developers.facebook.com/docs/sharing/webmasters#markup)
- [Open Graph protocol](http://ogp.me/)
### Facebook / Instant Articles
``` js
meta(charset="utf-8">
meta(property="op:markup_version" content="v1.0")
/* The URL of the web version of your article */
link(rel="canonical" href="http://example.com/article.html")
/* The style to be used for this article */
meta(property="fb:article_style" content="myarticlestyle")
```
- [Facebook Instant Articles: Creating Articles](https://developers.facebook.com/docs/instant-articles/guides/articlecreate)
- [Instant Articles: Format Reference](https://developers.facebook.com/docs/instant-articles/reference)
### Twitter
``` js
meta(name="twitter:card" content="summary")
meta(name="twitter:site" content="@site_account")
meta(name="twitter:creator" content="@individual_account")
meta(name="twitter:url" content="https://example.com/page.html")
meta(name="twitter:title" content="Content Title")
meta(name="twitter:description" content="Content description less than 200 characters")
meta(name="twitter:image" content="https://example.com/image.jpg")
/* More info: https://dev.twitter.com/cards/getting-started */
/* Validate: https://dev.twitter.com/docs/cards/validation/validator */
```
- [Twitter Cards: Getting Started Guide](https://dev.twitter.com/cards/getting-started)
- [Twitter Card Validator](https://dev.twitter.com/docs/cards/validation/validator)
### Google+ / Schema.org
``` js
link(href="https://plus.google.com/+YourPage" rel="publisher")
meta(itemprop="name" content="Content Title")
meta(itemprop="description" content="Content description less than 200 characters")
meta(itemprop="image" content="https://example.com/image.jpg")
```
### OEmbed
``` js
link(rel="alternate" type="application/json+oembed"
href="http://example.com/services/oembed?url=http%3A%2F%2Fexample.com%2Ffoo%2F&amp;format=json"
title="oEmbed Profile: JSON")
link(rel="alternate" type="text/xml+oembed"
href="http://example.com/services/oembed?url=http%3A%2F%2Fexample.com%2Ffoo%2F&amp;format=xml"
title="oEmbed Profile: XML")
```
- [oEmbed format](http://oembed.com/)
## Browsers / Platforms
### Apple iOS
``` js
/* Smart App Banner */
meta(name="apple-itunes-app" content="app-id=APP_ID,affiliate-data=AFFILIATE_ID,app-argument=SOME_TEXT")
/* Disable automatic detection and formatting of possible phone numbers */
meta(name="format-detection" content="telephone=no")
/* Add to Home Screen */
meta(name="apple-mobile-web-app-capable" content="yes")
meta(name="apple-mobile-web-app-status-bar-style" content="black")
meta(name="apple-mobile-web-app-title" content="App Title")
/* Touch Icons */
link(rel="apple-touch-icon" href="path/to/apple-touch-icon.png")
link(rel="apple-touch-icon-precomposed" href="path/to/apple-touch-icon-precomposed.png")
/* In most cases, one 180×180px touch icon in the head is enough */
/* If you use art-direction and/or want to have different content for each device, you can add more touch icons */
/* Startup Image */
link(rel="apple-touch-startup-image" href="path/to/startup.png")
/* More info: https://developer.apple.com/safari/library/documentation/appleapplications/reference/safarihtmlref/articles/metatags.html */
```
- [Apple Meta Tags](https://developer.apple.com/library/safari/documentation/AppleApplications/Reference/SafariHTMLRef/Articles/MetaTags.html)
### Apple Safari
``` js
/* Pinned Site */
link(rel="mask-icon" href="path/to/icon.svg" color="red")
```
### Google Android
``` js
meta(name="theme-color" content="#E64545")
/* Add to homescreen */
meta(name="mobile-web-app-capable" content="yes")
/* More info: https://developer.chrome.com/multidevice/android/installtohomescreen */
```
### Google Chrome
``` js
link(rel="chrome-webstore-item" href="https://chrome.google.com/webstore/detail/APP_ID")
/* Disable translation prompt */
meta(name="google" value="notranslate")
```
### Microsoft Internet Explorer
``` js
meta(http-equiv="x-ua-compatible" content="ie=edge")
meta(http-equiv="cleartype" content="on")
meta(name="skype_toolbar" content="skype_toolbar_parser_compatible")
/* Disable link highlighting on IE 10 on Windows Phone (https://blogs.windows.com/buildingapps/2012/11/15/adapting-your-webkit-optimized-site-for-internet-explorer-10/) */
meta(name="msapplication-tap-highlight" content="no")
/* Pinned sites (https://msdn.microsoft.com/en-us/library/dn255024(v=vs.85).aspx) */
meta(name="application-name" content="Contoso Pinned Site Caption")
meta(name="msapplication-tooltip" content="Example Tooltip Text")
meta(name="msapplication-starturl" content="/")
meta(name="msapplication-config" content="http://example.com/browserconfig.xml")
meta(name="msapplication-allowDomainApiCalls" content="true")
meta(name="msapplication-allowDomainMetaTags" content="true")
meta(name="msapplication-badge" content="frequency=30; polling-uri=http://example.com/id45453245/polling.xml")
meta(name="msapplication-navbutton-color" content="#FF3300")
meta(name="msapplication-notification" content="frequency=60;polling-uri=http://example.com/livetile")
meta(name="msapplication-square150x150logo" content="path/to/logo.png")
meta(name="msapplication-square310x310logo" content="path/to/largelogo.png")
meta(name="msapplication-square70x70logo" content="path/to/tinylogo.png")
meta(name="msapplication-wide310x150logo" content="path/to/widelogo.png")
meta(name="msapplication-task" content="name=Check Order Status;action-uri=./orderStatus.aspx?src=IE9;icon-uri=./favicon.ico")
meta(name="msapplication-task-seperator" content="1")
meta(name="msapplication-TileColor" content="#FF3300")
meta(name="msapplication-TileImage" content="path/to/tileimage.jpg")
meta(name="msapplication-window" content="width=1024;height=768")
```
### Microsoft Internet Explorer: Legacy, Do Not Use!
``` js
/* Disable the image toolbar when you mouse over images in IE 6 (https://msdn.microsoft.com/en-us/library/ms532986(v=vs.85).aspx) */
meta(http-equiv="imagetoolbar" content="no")
/* Disable Windows theming to form inputs/buttons (https://support.microsoft.com/en-us/kb/322240) */
meta(name="MSThemeCompatible" content="no")
/* Disable a feature that only appeared on IE 6 beta (https://stackoverflow.com/q/2167301) */
meta(name="MSSmartTagsPreventParsing" content="true")
/* Interpage Transitions (https://msdn.microsoft.com/en-us/library/ms532847(v=vs.85).aspx) */
meta(http-equiv="Page-Enter" content="revealtrans(duration=2,transition=2)")
meta(http-equiv="Page-Exit" content="revealtrans(duration=3,transition=12)")
meta(http-equiv="Site-Enter" content="revealtrans(duration=2,transition=2)")
meta(http-equiv="Site-Exit" content="revealtrans(duration=3,transition=12)")
```
## App Links
``` js
/* iOS */
meta(property="al:ios:url" content="applinks://docs")
meta(property="al:ios:app_store_id" content="12345")
meta(property="al:ios:app_name" content="App Links")
/* Android */
meta(property="al:android:url" content="applinks://docs")
meta(property="al:android:app_name" content="App Links")
meta(property="al:android:package" content="org.applinks")
/* Web Fallback */
meta(property="al:web:url" content="http://applinks.org/documentation")
/* More info: http://applinks.org/documentation/ */
```
- [App Links Docs](http://applinks.org/documentation/)
## Browsers (Chinese)
### 360 Browser
``` js
/* select rendering engine in order */
meta(name="renderer" content="webkit|ie-comp|ie-stand")
```
### QQ Mobile Browser
``` js
/* Locks the screen into the specified orientation */
meta(name="x5-orientation" content="landscape/portrait")
/* Display this page in fullscreen */
meta(name="x5-fullscreen" content="true")
/* Page will be displayed in "application mode"(fullscreen,etc.) */
meta(name="x5-page-mode" content="app")
```
### UC Mobile Browser
``` js
/* Locks the screen into the specified orientation */
meta(name="screen-orientation" content="landscape/portrait")
/* Display this page in fullscreen */
meta(name="full-screen" content="yes")
/* UC browser will display images even if in "text mode" */
meta(name="imagemode" content="force")
/* Page will be displayed in "application mode"(fullscreen,forbiding gesture, etc.) */
meta(name="browsermode" content="application")
/* Disabled the UC browser's "night mode" in this page */
meta(name="nightmode" content="disable")
/* Simplify the page to reduce data transfer */
meta(name="layoutmode" content="fitscreen")
/* Disable the UC browser's feature of "scaling font up when there are many words in this page" */
meta(name="wap-font-scale" content="no")
```
- [UC Browser Docs](http://www.uc.cn/download/UCBrowser_U3_API.doc)
## Notes
### Performance
Moving the `href` attribute to the beginning of an element improves compression when GZIP is enabled, because the `href` attribute is used in `a`, `base` and `link` tags.
Example:
``` js
link(href="https://fonts.googleapis.com/css?family=Open+Sans:400,700" rel="stylesheet">
```
## Other Resources
- [HTML5 Boilerplate Docs: The HTML](https://github.com/h5bp/html5-boilerplate/blob/master/dist/doc/html.md)
- [HTML5 Boilerplate Docs: Extend and customize](https://github.com/h5bp/html5-boilerplate/blob/master/dist/doc/extend.md)
## Related Projects
- [Atom HTML Head Snippets](https://github.com/joshbuchea/atom-html-head-snippets) - Atom package for `HEAD` snippets
- [Sublime Text HTML Head Snippets](https://github.com/marcobiedermann/sublime-head-snippets) - Sublime Text package for `HEAD` snippets
- [head-it](https://github.com/hemanth/head-it) - CLI interface for `HEAD` snippets
- [vue-head](https://github.com/ktquez/vue-head) - Manipulating the meta information of the `HEAD` tag for Vue.js
## Other Formats
- [PDF](https://gitprint.com/joshbuchea/HEAD/blob/master/README.md)
## Translations
- [Brazilian Portuguese](https://github.com/Webschool-io/HEAD)
- [Japanese](http://coliss.com/articles/build-websites/operation/work/collection-of-html-head-elements.html)
- [Russian/Русский](https://github.com/Konfuze/HEAD)
## Contributing
Open an issue or a pull request to suggest changes or additions.
Please follow these steps for pull requests:
- Modify only one tag, or one related set of tags at a time
- Use double quotes on attributes
- Don't include a trailing slash in self-closing elements — the HTML5 spec says they're optional
- Consider including a link to documentation that supports your change
### Contributors
Check out all the super awesome [contributors](https://github.com/joshbuchea/HEAD/graphs/contributors).
## Author
**[Josh Buchea](http://joshbuchea.com/)**
## License
[CC0 License](LICENSE)
![CC0](http://i.creativecommons.org/p/zero/1.0/88x31.png "CC0")