├── content ├── fr │ └── html │ │ ├── contributors.md │ │ ├── reference │ │ └── elements │ │ │ ├── contributors.md │ │ │ ├── video │ │ │ ├── attributes │ │ │ │ ├── loop.md │ │ │ │ ├── src.md │ │ │ │ ├── controls.md │ │ │ │ ├── playsinline.md │ │ │ │ ├── muted.md │ │ │ │ ├── poster.md │ │ │ │ ├── width.md │ │ │ │ ├── height.md │ │ │ │ ├── autoplay.md │ │ │ │ ├── preload.md │ │ │ │ └── crossorigin.md │ │ │ ├── examples │ │ │ │ ├── exemple-avec-plusieurs-sources.md │ │ │ │ └── exemple-simple.md │ │ │ └── contributors.md │ │ │ ├── abbr │ │ │ ├── examples │ │ │ │ ├── baliser-une-abréviation.md │ │ │ │ ├── fournir-une-forme-étendue.md │ │ │ │ ├── mettre-en-forme-une-abréviation.md │ │ │ │ └── définir-une-abréviation.md │ │ │ └── contributors.md │ │ │ └── elements.md │ │ ├── related_content │ │ └── html.yaml │ │ └── HTML.md ├── en-US │ ├── html │ │ ├── contributors.md │ │ ├── reference │ │ │ └── elements │ │ │ │ ├── contributors.md │ │ │ │ ├── body │ │ │ │ ├── attributes │ │ │ │ │ ├── onblur.md │ │ │ │ │ ├── onfocus.md │ │ │ │ │ ├── onload.md │ │ │ │ │ ├── onresize.md │ │ │ │ │ ├── onerror.md │ │ │ │ │ ├── onredo.md │ │ │ │ │ ├── onundo.md │ │ │ │ │ ├── onunload.md │ │ │ │ │ ├── onstorage.md │ │ │ │ │ ├── onmessage.md │ │ │ │ │ ├── onoffline.md │ │ │ │ │ ├── ononline.md │ │ │ │ │ ├── onafterprint.md │ │ │ │ │ ├── onpopstate.md │ │ │ │ │ ├── onbeforeunload.md │ │ │ │ │ ├── onbeforeprint.md │ │ │ │ │ ├── onlanguagechange.md │ │ │ │ │ └── onhashchange.md │ │ │ │ ├── examples │ │ │ │ │ └── simple-example.md │ │ │ │ ├── body.md │ │ │ │ └── contributors.md │ │ │ │ ├── video │ │ │ │ ├── attributes │ │ │ │ │ ├── loop.md │ │ │ │ │ ├── src.md │ │ │ │ │ ├── controls.md │ │ │ │ │ ├── poster.md │ │ │ │ │ ├── muted.md │ │ │ │ │ ├── width.md │ │ │ │ │ ├── height.md │ │ │ │ │ ├── playsinline.md │ │ │ │ │ ├── autoplay.md │ │ │ │ │ ├── preload.md │ │ │ │ │ └── crossorigin.md │ │ │ │ └── examples │ │ │ │ │ ├── simple-example.md │ │ │ │ │ └── multiple-sources-example.md │ │ │ │ ├── elements.md │ │ │ │ ├── input │ │ │ │ ├── attributes │ │ │ │ │ ├── type.md │ │ │ │ │ ├── value-checkbox.md │ │ │ │ │ ├── form.md │ │ │ │ │ ├── required.md │ │ │ │ │ ├── readonly.md │ │ │ │ │ ├── disabled.md │ │ │ │ │ ├── readonly-checkbox.md │ │ │ │ │ ├── autofocus.md │ │ │ │ │ ├── value.md │ │ │ │ │ ├── checked.md │ │ │ │ │ └── name.md │ │ │ │ └── examples │ │ │ │ │ ├── Styling_input_elements.md │ │ │ │ │ └── Custom_error_messages.md │ │ │ │ ├── input-button │ │ │ │ ├── contributors.md │ │ │ │ ├── examples │ │ │ │ │ ├── A_simple_button.md │ │ │ │ │ ├── Adding_keyboard_shortcuts_to_buttons.md │ │ │ │ │ └── Disabling_a_button.md │ │ │ │ └── input-button.md │ │ │ │ └── article │ │ │ │ ├── contributors.md │ │ │ │ └── examples │ │ │ │ └── simple-article-example.md │ │ └── guides │ │ │ ├── Guides.yaml │ │ │ ├── Block-level_elements │ │ │ └── examples │ │ │ │ └── Block-level_example.md │ │ │ ├── Inline_elements │ │ │ └── examples │ │ │ │ ├── Inline.md │ │ │ │ └── Block-level.md │ │ │ ├── Microdata │ │ │ └── examples │ │ │ │ └── Microdata_example.md │ │ │ └── Applying_color │ │ │ └── examples │ │ │ └── picking-a-color.md │ ├── javascript │ │ ├── reference │ │ │ └── classes │ │ │ │ ├── map │ │ │ │ ├── contributors.md │ │ │ │ ├── map │ │ │ │ │ ├── contributors.md │ │ │ │ │ ├── examples │ │ │ │ │ │ └── simple-example.md │ │ │ │ │ └── Map.md │ │ │ │ ├── instance_methods │ │ │ │ │ ├── get │ │ │ │ │ │ ├── contributors.md │ │ │ │ │ │ ├── examples │ │ │ │ │ │ │ └── simple-example.md │ │ │ │ │ │ └── get.md │ │ │ │ │ ├── has │ │ │ │ │ │ ├── contributors.md │ │ │ │ │ │ ├── examples │ │ │ │ │ │ │ └── simple-example.md │ │ │ │ │ │ └── has.md │ │ │ │ │ ├── set │ │ │ │ │ │ ├── contributors.md │ │ │ │ │ │ ├── examples │ │ │ │ │ │ │ └── simple-example.md │ │ │ │ │ │ └── set.md │ │ │ │ │ ├── delete │ │ │ │ │ │ ├── contributors.md │ │ │ │ │ │ ├── examples │ │ │ │ │ │ │ └── simple-example.md │ │ │ │ │ │ └── delete.md │ │ │ │ │ ├── foreach │ │ │ │ │ │ ├── contributors.md │ │ │ │ │ │ ├── examples │ │ │ │ │ │ │ └── simple-example.md │ │ │ │ │ │ └── forEach.md │ │ │ │ │ └── keys │ │ │ │ │ │ ├── contributors.md │ │ │ │ │ │ ├── examples │ │ │ │ │ │ └── simple-example.md │ │ │ │ │ │ └── keys.md │ │ │ │ ├── examples │ │ │ │ │ └── simple-example.md │ │ │ │ └── Map.md │ │ │ │ └── bigint │ │ │ │ ├── contributors.md │ │ │ │ ├── bigint │ │ │ │ ├── contributors.md │ │ │ │ ├── examples │ │ │ │ │ └── construct.md │ │ │ │ └── BigInt.md │ │ │ │ ├── static_methods │ │ │ │ ├── asintn │ │ │ │ │ ├── contributors.md │ │ │ │ │ ├── examples │ │ │ │ │ │ └── 64-bit-ranges.md │ │ │ │ │ └── asIntN.md │ │ │ │ └── asuintn │ │ │ │ │ ├── contributors.md │ │ │ │ │ ├── examples │ │ │ │ │ └── 64-bit-ranges.md │ │ │ │ │ └── asUintN.md │ │ │ │ ├── instance_methods │ │ │ │ ├── tostring │ │ │ │ │ ├── contributors.md │ │ │ │ │ └── examples │ │ │ │ │ │ ├── using-tostring.md │ │ │ │ │ │ └── negative-zero-bigint.md │ │ │ │ ├── valueof │ │ │ │ │ ├── contributors.md │ │ │ │ │ ├── examples │ │ │ │ │ │ └── using-valueof.md │ │ │ │ │ └── valueOf.md │ │ │ │ └── tolocalestring │ │ │ │ │ ├── contributors.md │ │ │ │ │ └── examples │ │ │ │ │ ├── using-tolocalestring.md │ │ │ │ │ ├── using-options.md │ │ │ │ │ └── using-locales.md │ │ │ │ └── examples │ │ │ │ └── calculating_primes.md │ │ └── guide │ │ │ ├── Guide │ │ │ ├── Functions │ │ │ │ ├── contributors.json │ │ │ │ └── Functions.md │ │ │ ├── Grammar_and_types │ │ │ │ ├── contributors.json │ │ │ │ └── Grammar_and_types.md │ │ │ ├── Details_of_the_Object_Model │ │ │ │ ├── contributors.md │ │ │ │ └── Details_of_the_Object_Model.md │ │ │ ├── Expressions_and_Operators │ │ │ │ ├── contributors.json │ │ │ │ └── Expressions_and_Operators.md │ │ │ └── Control_flow_and_error_handling │ │ │ │ ├── contributors.md │ │ │ │ └── Control_flow_and_error_handling.md │ │ │ └── javascript_guide.yaml │ ├── learn │ │ ├── javascript │ │ │ ├── Objects │ │ │ │ └── Objects.md │ │ │ ├── First_steps │ │ │ │ └── First_steps.md │ │ │ └── Building_blocks │ │ │ │ └── Building_blocks.md │ │ ├── html │ │ │ ├── Introduction_to_HTML │ │ │ │ ├── Introduction_to_HTML.md │ │ │ │ ├── Debugging_HTML │ │ │ │ │ └── Debugging_HTML.md │ │ │ │ ├── Getting_started │ │ │ │ │ └── Getting_started.md │ │ │ │ ├── Creating_hyperlinks │ │ │ │ │ └── Creating_hyperlinks.md │ │ │ │ ├── Marking_up_a_letter │ │ │ │ │ └── Marking_up_a_letter.md │ │ │ │ ├── HTML_text_fundamentals │ │ │ │ │ └── HTML_text_fundamentals.md │ │ │ │ ├── Advanced_text_formatting │ │ │ │ │ └── Advanced_text_formatting.md │ │ │ │ ├── The_head_metadata_in_HTML │ │ │ │ │ └── The_head_metadata_in_HTML.md │ │ │ │ ├── Structuring_a_page_of_content │ │ │ │ │ └── Structuring_a_page_of_content.md │ │ │ │ └── Document_and_website_structure │ │ │ │ │ └── Document_and_website_structure.md │ │ │ └── Introduction_to_HTML.yaml │ │ └── getting_started_with_the_web │ │ │ └── JavaScript_basics │ │ │ └── JavaScript_basics.md │ └── related_content │ │ ├── html.yaml │ │ └── javascript.yaml ├── data │ └── specifications.yaml └── LICENSE.md ├── .gitignore ├── project-docs └── javascript-linter-spec.md ├── recipes ├── landing-page.yaml ├── guide.yaml ├── css-keyword.yaml ├── css-media-feature.yaml ├── javascript-error.yaml ├── css-at-rule.yaml ├── css-function.yaml ├── javascript-property.yaml ├── css-data-type.yaml ├── css-selector.yaml ├── javascript-method.yaml ├── javascript-constructor.yaml ├── javascript-language-feature.yaml ├── css-at-rule-descriptor.yaml ├── css-property.yaml ├── javascript-namespace.yaml ├── css-shorthand-property.yaml ├── html-element.yaml ├── javascript-class.yaml └── html-input-element.yaml ├── scripts ├── scraper-ng │ ├── rate-limiter.js │ ├── rules │ │ ├── html-require-recipe-ingredients │ │ │ ├── ingredient-handlers │ │ │ │ ├── data-constituent-properties.js │ │ │ │ ├── data-permitted-properties.js │ │ │ │ ├── data-browser-compatibility.js │ │ │ │ ├── data-specifications.js │ │ │ │ ├── data-class-members.js │ │ │ │ ├── data-formal-definition.js │ │ │ │ ├── prose-star.js │ │ │ │ ├── data-formal-syntax.js │ │ │ │ ├── prose-short-description.js │ │ │ │ └── data-examples.js │ │ │ └── index.js │ │ ├── html-no-macros.js │ │ ├── file-require-recipe.js │ │ └── html-warn-unknown-headings.js │ ├── test │ │ ├── javascript-constructor.test.js │ │ ├── framework │ │ │ └── jest.setup.js │ │ ├── javascript-constructor.html │ │ ├── ingredient-data.browser_compatibility.test.js │ │ ├── ingredient-data.formal_definition.test.js │ │ ├── README.md │ │ ├── html-require-ingredient-order.test.js │ │ └── ingredient-data.formal_syntax.test.js │ ├── mdn-url.js │ ├── normalize-macro-name.js │ ├── plugins │ │ ├── index-tree.js │ │ ├── load-recipes.js │ │ └── kuma-metadata.js │ ├── preset.js │ └── url-to-vfile.js ├── build-json │ ├── constants.js │ ├── resolve-bcd.js │ ├── resolve-contributors.js │ ├── markdown-converter.js │ ├── compose-interactive-example.js │ ├── build-specs.js │ ├── related-content.js │ ├── build-guide-page-json.js │ ├── build-json.js │ ├── compose-examples.js │ └── slice-prose.js ├── scraper │ ├── process-macros │ │ ├── process-compat.js │ │ ├── process-interactive-example.js │ │ └── extract-macro-calls.js │ ├── to-markdown.js │ ├── code.js │ └── clean-html.js ├── linter │ ├── walk-docs.js │ ├── plugins │ │ ├── yaml-loader.js │ │ ├── deprecated-sections.js │ │ ├── slugify-sections.js │ │ ├── required-frontmatter.js │ │ ├── missing-sections.js │ │ ├── valid-recipes.js │ │ └── valid-specs.js │ ├── collect-recipes.js │ └── index.js └── ci │ └── git.js ├── .prettierignore ├── .travis.yml ├── .eslintrc.js ├── CODE_OF_CONDUCT.md └── .spelling /content/fr/html/contributors.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /content/en-US/html/contributors.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /content/en-US/html/reference/elements/contributors.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /content/fr/html/reference/elements/contributors.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /content/en-US/javascript/reference/classes/map/contributors.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /content/en-US/javascript/guide/Guide/Functions/contributors.json: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /content/en-US/javascript/reference/classes/bigint/contributors.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /content/en-US/javascript/reference/classes/map/map/contributors.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /content/en-US/javascript/guide/Guide/Grammar_and_types/contributors.json: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /content/en-US/javascript/reference/classes/bigint/bigint/contributors.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /content/en-US/javascript/guide/Guide/Details_of_the_Object_Model/contributors.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /content/en-US/javascript/guide/Guide/Expressions_and_Operators/contributors.json: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /content/en-US/javascript/reference/classes/map/instance_methods/get/contributors.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /content/en-US/javascript/reference/classes/map/instance_methods/has/contributors.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /content/en-US/javascript/reference/classes/map/instance_methods/set/contributors.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /content/en-US/javascript/guide/Guide/Control_flow_and_error_handling/contributors.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /content/en-US/javascript/reference/classes/bigint/static_methods/asintn/contributors.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /content/en-US/javascript/reference/classes/bigint/static_methods/asuintn/contributors.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /content/en-US/javascript/reference/classes/map/instance_methods/delete/contributors.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /content/en-US/javascript/reference/classes/map/instance_methods/foreach/contributors.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /content/en-US/javascript/reference/classes/map/instance_methods/keys/contributors.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Local node installation 2 | node_modules/ 3 | packaged 4 | npm-debug.log 5 | -------------------------------------------------------------------------------- /content/en-US/javascript/reference/classes/bigint/instance_methods/tostring/contributors.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /content/en-US/javascript/reference/classes/bigint/instance_methods/valueof/contributors.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /content/en-US/javascript/reference/classes/bigint/instance_methods/tolocalestring/contributors.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /project-docs/javascript-linter-spec.md: -------------------------------------------------------------------------------- 1 | This file is now maintained as [linter-spec.md](linter-spec.md). 2 | -------------------------------------------------------------------------------- /recipes/landing-page.yaml: -------------------------------------------------------------------------------- 1 | data: 2 | - title 3 | - short_title? 4 | - mdn_url 5 | body: 6 | - prose.description? 7 | - data.link_lists 8 | -------------------------------------------------------------------------------- /scripts/scraper-ng/rate-limiter.js: -------------------------------------------------------------------------------- 1 | const { RateLimit } = require("async-sema"); 2 | 3 | module.exports = RateLimit(16, { uniformDistribution: true }); 4 | -------------------------------------------------------------------------------- /content/en-US/javascript/reference/classes/bigint/bigint/examples/construct.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Creating a BigInt 3 | --- 4 | ```js 5 | BigInt(123); 6 | // 123n 7 | ``` 8 | -------------------------------------------------------------------------------- /recipes/guide.yaml: -------------------------------------------------------------------------------- 1 | # The recipe for guide pages doesn't specify anything in the body, because guide 2 | # pages are unstructured. 3 | data: 4 | - title 5 | - short_title? 6 | - mdn_url 7 | body: [] 8 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | # Backup files 2 | *~ 3 | 4 | # Scripts in the root 5 | /*.js 6 | 7 | # Specific files 8 | /package.json 9 | 10 | # exclude these directories 11 | /content/ 12 | /node_modules/ 13 | -------------------------------------------------------------------------------- /content/en-US/javascript/reference/classes/map/examples/simple-example.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Simple example 3 | --- 4 | ```js 5 | let myMap = new Map([ 6 | [1, 'one'], 7 | [2, 'two'], 8 | [3, 'three'], 9 | ]) 10 | ``` 11 | -------------------------------------------------------------------------------- /content/en-US/javascript/reference/classes/bigint/instance_methods/valueof/examples/using-valueof.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Using valueof 3 | --- 4 | ```js 5 | typeof Object(1n); // object 6 | typeof Object(1n).valueOf(); // bigint 7 | ``` 8 | -------------------------------------------------------------------------------- /content/en-US/javascript/reference/classes/map/map/examples/simple-example.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Simple example 3 | --- 4 | ```js 5 | let myMap = new Map([ 6 | [1, 'one'], 7 | [2, 'two'], 8 | [3, 'three'], 9 | ]) 10 | ``` 11 | -------------------------------------------------------------------------------- /content/en-US/javascript/guide/Guide/Functions/Functions.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 'Functions' 3 | mdn_url: /en-US/docs/Web/JavaScript/Guide/Functions 4 | related_content: /related_content/javascript.yaml 5 | recipe: guide 6 | --- 7 | (no content yet) 8 | -------------------------------------------------------------------------------- /content/en-US/learn/javascript/Objects/Objects.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 'Introducing JavaScript objects' 3 | mdn_url: /en-US/docs/Learn/JavaScript/Objects 4 | related_content: /related_content/javascript.yaml 5 | recipe: guide 6 | --- 7 | (no content yet) 8 | -------------------------------------------------------------------------------- /content/en-US/html/reference/elements/body/attributes/onblur.md: -------------------------------------------------------------------------------- 1 | --- 2 | browser-compatibility: html.elements.body.onblur 3 | --- 4 | 5 | # `onblur` 6 | 7 | Function to call when the document loses focus. 8 | 9 | ## Type 10 | 11 | Function 12 | -------------------------------------------------------------------------------- /content/en-US/javascript/reference/classes/map/instance_methods/delete/examples/simple-example.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Simple example 3 | --- 4 | ```js 5 | let myMap = new Map([ 6 | [1, 'one'], 7 | [2, 'two'], 8 | [3, 'three'], 9 | ]) 10 | ``` 11 | -------------------------------------------------------------------------------- /content/en-US/javascript/reference/classes/map/instance_methods/foreach/examples/simple-example.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Simple example 3 | --- 4 | ```js 5 | let myMap = new Map([ 6 | [1, 'one'], 7 | [2, 'two'], 8 | [3, 'three'], 9 | ]) 10 | ``` 11 | -------------------------------------------------------------------------------- /content/en-US/javascript/reference/classes/map/instance_methods/get/examples/simple-example.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Simple example 3 | --- 4 | ```js 5 | let myMap = new Map([ 6 | [1, 'one'], 7 | [2, 'two'], 8 | [3, 'three'], 9 | ]) 10 | ``` 11 | -------------------------------------------------------------------------------- /content/en-US/javascript/reference/classes/map/instance_methods/has/examples/simple-example.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Simple example 3 | --- 4 | ```js 5 | let myMap = new Map([ 6 | [1, 'one'], 7 | [2, 'two'], 8 | [3, 'three'], 9 | ]) 10 | ``` 11 | -------------------------------------------------------------------------------- /content/en-US/javascript/reference/classes/map/instance_methods/keys/examples/simple-example.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Simple example 3 | --- 4 | ```js 5 | let myMap = new Map([ 6 | [1, 'one'], 7 | [2, 'two'], 8 | [3, 'three'], 9 | ]) 10 | ``` 11 | -------------------------------------------------------------------------------- /content/en-US/javascript/reference/classes/map/instance_methods/set/examples/simple-example.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Simple example 3 | --- 4 | ```js 5 | let myMap = new Map([ 6 | [1, 'one'], 7 | [2, 'two'], 8 | [3, 'three'], 9 | ]) 10 | ``` 11 | -------------------------------------------------------------------------------- /content/en-US/learn/javascript/First_steps/First_steps.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 'JavaScript First Steps' 3 | mdn_url: /en-US/docs/Learn/JavaScript/First_steps 4 | related_content: /related_content/javascript.yaml 5 | recipe: guide 6 | --- 7 | (no content yet) 8 | -------------------------------------------------------------------------------- /content/en-US/html/reference/elements/body/attributes/onfocus.md: -------------------------------------------------------------------------------- 1 | --- 2 | browser-compatibility: html.elements.body.onfocus 3 | --- 4 | 5 | # `onfocus` 6 | 7 | Function to call when the document receives focus. 8 | 9 | ## Type 10 | 11 | Function 12 | -------------------------------------------------------------------------------- /content/en-US/learn/html/Introduction_to_HTML/Introduction_to_HTML.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Introduction to HTML 3 | mdn_url: /en-US/docs/Learn/HTML/Introduction_to_HTML 4 | related_content: /related_content/html.yaml 5 | recipe: guide 6 | --- 7 | some content here 8 | -------------------------------------------------------------------------------- /content/en-US/html/reference/elements/body/attributes/onload.md: -------------------------------------------------------------------------------- 1 | --- 2 | browser-compatibility: html.elements.body.onload 3 | --- 4 | 5 | # `onload` 6 | 7 | Function to call when the document has finished loading. 8 | 9 | ## Type 10 | 11 | Function 12 | -------------------------------------------------------------------------------- /content/en-US/html/reference/elements/body/attributes/onresize.md: -------------------------------------------------------------------------------- 1 | --- 2 | browser-compatibility: html.elements.body.onresize 3 | --- 4 | 5 | # `onresize` 6 | 7 | Function to call when the document has been resized. 8 | 9 | ## Type 10 | 11 | Function 12 | -------------------------------------------------------------------------------- /content/en-US/html/reference/elements/body/examples/simple-example.md: -------------------------------------------------------------------------------- 1 | --- 2 | --- 3 | ```html 4 | 5 | 6 | Document title 7 | 8 | 9 |

This is a paragraph

10 | 11 | 12 | ``` 13 | -------------------------------------------------------------------------------- /scripts/build-json/constants.js: -------------------------------------------------------------------------------- 1 | const path = require("path"); 2 | 3 | // Root of the whole stumptown-content. 4 | // To be used instead of process.cwd() 5 | const ROOT = path.join(__dirname, "..", ".."); 6 | 7 | module.exports = { 8 | ROOT, 9 | }; 10 | -------------------------------------------------------------------------------- /content/en-US/html/reference/elements/body/attributes/onerror.md: -------------------------------------------------------------------------------- 1 | --- 2 | browser-compatibility: html.elements.body.onerror 3 | --- 4 | 5 | # `onerror` 6 | 7 | Function to call when the document fails to load properly. 8 | 9 | ## Type 10 | 11 | Function 12 | -------------------------------------------------------------------------------- /content/en-US/learn/javascript/Building_blocks/Building_blocks.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 'JavaScript building blocks' 3 | mdn_url: /en-US/docs/Learn/JavaScript/Building_blocks 4 | related_content: /related_content/javascript.yaml 5 | recipe: guide 6 | --- 7 | (no content yet) 8 | -------------------------------------------------------------------------------- /content/en-US/javascript/guide/javascript_guide.yaml: -------------------------------------------------------------------------------- 1 | title: JavaScript Guide 2 | chapters: 3 | - Guide/Grammar_and_types 4 | - Guide/Control_flow_and_error_handling 5 | - Guide/Functions 6 | - Guide/Expressions_and_Operators 7 | - Guide/Details_of_the_Object_Model 8 | -------------------------------------------------------------------------------- /content/en-US/javascript/guide/Guide/Grammar_and_types/Grammar_and_types.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 'Grammar and types' 3 | mdn_url: /en-US/docs/Web/JavaScript/Guide/Grammar_and_types 4 | related_content: /related_content/javascript.yaml 5 | recipe: guide 6 | --- 7 | (no content yet) 8 | -------------------------------------------------------------------------------- /content/en-US/learn/html/Introduction_to_HTML/Debugging_HTML/Debugging_HTML.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Debugging HTML 3 | mdn_url: /en-US/docs/Learn/HTML/Introduction_to_HTML/Debugging_HTML 4 | related_content: /related_content/html.yaml 5 | recipe: guide 6 | --- 7 | some content here 8 | -------------------------------------------------------------------------------- /content/en-US/html/reference/elements/body/attributes/onredo.md: -------------------------------------------------------------------------------- 1 | --- 2 | browser-compatibility: html.elements.body.onredo 3 | --- 4 | 5 | # `onredo` 6 | 7 | Function to call when the user has moved forward in undo transaction history. 8 | 9 | ## Type 10 | 11 | Function 12 | -------------------------------------------------------------------------------- /content/en-US/html/reference/elements/body/attributes/onundo.md: -------------------------------------------------------------------------------- 1 | --- 2 | browser-compatibility: html.elements.body.onundo 3 | --- 4 | 5 | # `onundo` 6 | 7 | Function to call when the user has moved backward in undo transaction history. 8 | 9 | ## Type 10 | 11 | Function 12 | -------------------------------------------------------------------------------- /recipes/css-keyword.yaml: -------------------------------------------------------------------------------- 1 | data: 2 | - title 3 | - short_title? 4 | - mdn_url 5 | body: 6 | - prose.short_description 7 | - prose.description? 8 | - prose.* 9 | - data.examples 10 | - data.specifications 11 | - data.browser_compatibility 12 | - prose.see_also 13 | -------------------------------------------------------------------------------- /recipes/css-media-feature.yaml: -------------------------------------------------------------------------------- 1 | data: 2 | - title 3 | - short_title? 4 | - mdn_url 5 | body: 6 | - prose.short_description 7 | - prose.syntax 8 | - prose.* 9 | - data.examples 10 | - data.specifications 11 | - data.browser_compatibility 12 | - prose.see_also 13 | -------------------------------------------------------------------------------- /content/en-US/learn/html/Introduction_to_HTML/Getting_started/Getting_started.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Getting started with HTML 3 | mdn_url: /en-US/docs/Learn/HTML/Introduction_to_HTML/Getting_started 4 | related_content: /related_content/html.yaml 5 | recipe: guide 6 | --- 7 | some content here 8 | -------------------------------------------------------------------------------- /content/en-US/learn/html/Introduction_to_HTML/Creating_hyperlinks/Creating_hyperlinks.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Creating hyperlinks 3 | mdn_url: /en-US/docs/Learn/HTML/Introduction_to_HTML/Creating_hyperlinks 4 | related_content: /related_content/html.yaml 5 | recipe: guide 6 | --- 7 | some content here 8 | -------------------------------------------------------------------------------- /content/en-US/learn/html/Introduction_to_HTML/Marking_up_a_letter/Marking_up_a_letter.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Marking up a letter 3 | mdn_url: /en-US/docs/Learn/HTML/Introduction_to_HTML/Marking_up_a_letter 4 | related_content: /related_content/html.yaml 5 | recipe: guide 6 | --- 7 | some content here 8 | -------------------------------------------------------------------------------- /content/en-US/learn/getting_started_with_the_web/JavaScript_basics/JavaScript_basics.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 'JavaScript basics' 3 | mdn_url: /en-US/docs/Learn/Getting_started_with_the_web/JavaScript_basics 4 | related_content: /related_content/javascript.yaml 5 | recipe: guide 6 | --- 7 | (no content yet) 8 | -------------------------------------------------------------------------------- /content/en-US/javascript/guide/Guide/Expressions_and_Operators/Expressions_and_Operators.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 'Expressions and operators' 3 | mdn_url: /en-US/docs/Web/JavaScript/Guide/Expressions_and_Operators 4 | related_content: /related_content/javascript.yaml 5 | recipe: guide 6 | --- 7 | (no content yet) 8 | -------------------------------------------------------------------------------- /content/en-US/learn/html/Introduction_to_HTML/HTML_text_fundamentals/HTML_text_fundamentals.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: HTML text fundamentals 3 | mdn_url: /en-US/docs/Learn/HTML/Introduction_to_HTML/HTML_text_fundamentals 4 | related_content: /related_content/html.yaml 5 | recipe: guide 6 | --- 7 | some content here 8 | -------------------------------------------------------------------------------- /content/en-US/javascript/guide/Guide/Details_of_the_Object_Model/Details_of_the_Object_Model.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 'Details of the object model' 3 | mdn_url: /en-US/docs/Web/JavaScript/Guide/Details_of_the_Object_Model 4 | related_content: /related_content/javascript.yaml 5 | recipe: guide 6 | --- 7 | (no content yet) 8 | -------------------------------------------------------------------------------- /content/en-US/learn/html/Introduction_to_HTML/Advanced_text_formatting/Advanced_text_formatting.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Advanced text formatting 3 | mdn_url: /en-US/docs/Learn/HTML/Introduction_to_HTML/Advanced_text_formatting 4 | related_content: /related_content/html.yaml 5 | recipe: guide 6 | --- 7 | some content here 8 | -------------------------------------------------------------------------------- /recipes/javascript-error.yaml: -------------------------------------------------------------------------------- 1 | related_content: related_content/javascript.yaml 2 | data: 3 | - title 4 | - short_title? 5 | - mdn_url 6 | body: 7 | - prose.short_description 8 | - prose.message 9 | - prose.error_type 10 | - prose.what_went_wrong 11 | - data.examples 12 | - prose.see_also 13 | -------------------------------------------------------------------------------- /content/en-US/javascript/guide/Guide/Control_flow_and_error_handling/Control_flow_and_error_handling.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 'Control flow and error handling' 3 | mdn_url: /en-US/docs/Web/JavaScript/Guide/Control_flow_and_error_handling 4 | related_content: /related_content/javascript.yaml 5 | recipe: guide 6 | --- 7 | (no content yet) 8 | -------------------------------------------------------------------------------- /content/en-US/learn/html/Introduction_to_HTML/The_head_metadata_in_HTML/The_head_metadata_in_HTML.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: What’s in the head? Metadata in HTML 3 | mdn_url: /en-US/docs/Learn/HTML/Introduction_to_HTML/The_head_metadata_in_HTML 4 | related_content: /related_content/html.yaml 5 | recipe: guide 6 | --- 7 | some content here 8 | -------------------------------------------------------------------------------- /content/en-US/learn/html/Introduction_to_HTML/Structuring_a_page_of_content/Structuring_a_page_of_content.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Structuring a page of content 3 | mdn_url: /en-US/docs/Learn/HTML/Introduction_to_HTML/Structuring_a_page_of_content 4 | related_content: /related_content/html.yaml 5 | recipe: guide 6 | --- 7 | some content here 8 | -------------------------------------------------------------------------------- /scripts/build-json/resolve-bcd.js: -------------------------------------------------------------------------------- 1 | const bcd = require("mdn-browser-compat-data"); 2 | 3 | function packageBCD(query) { 4 | let data = query.split(".").reduce(function (prev, curr) { 5 | return prev ? prev[curr] : undefined; 6 | }, bcd); 7 | return data; 8 | } 9 | 10 | module.exports = { 11 | packageBCD, 12 | }; 13 | -------------------------------------------------------------------------------- /content/en-US/learn/html/Introduction_to_HTML/Document_and_website_structure/Document_and_website_structure.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Document and website structure 3 | mdn_url: /en-US/docs/Learn/HTML/Introduction_to_HTML/Document_and_website_structure 4 | related_content: /related_content/html.yaml 5 | recipe: guide 6 | --- 7 | some content here 8 | -------------------------------------------------------------------------------- /content/en-US/javascript/reference/classes/bigint/instance_methods/tostring/examples/using-tostring.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Using toString 3 | --- 4 | ```js 5 | 17n.toString(); // '17' 6 | 66n.toString(2); // '1000010' 7 | 254n.toString(16); // 'fe' 8 | -10n.toString(2);   // -1010' 9 | -0xffn.toString(2); // '-11111111' 10 | ``` 11 | -------------------------------------------------------------------------------- /content/en-US/html/reference/elements/body/attributes/onunload.md: -------------------------------------------------------------------------------- 1 | --- 2 | browser-compatibility: html.elements.body.onunload 3 | specifications: https://html.spec.whatwg.org/multipage/webappapis.html#handler-window-onunload 4 | --- 5 | 6 | # `onunload` 7 | 8 | Function to call when the document is going away. 9 | 10 | ## Type 11 | 12 | Function 13 | -------------------------------------------------------------------------------- /content/en-US/html/reference/elements/body/attributes/onstorage.md: -------------------------------------------------------------------------------- 1 | --- 2 | browser-compatibility: html.elements.body.onstorage 3 | specifications: https://html.spec.whatwg.org/multipage/webappapis.html#handler-window-onstorage 4 | --- 5 | 6 | # `onstorage` 7 | 8 | Function to call when the storage area has changed. 9 | 10 | ## Type 11 | 12 | Function 13 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: stable 3 | cache: npm 4 | branches: 5 | only: 6 | - master 7 | 8 | script: 9 | - npm run ci-checks 10 | - npm test 11 | # Note, in a near future we're going to want to build-json for *everything* 12 | # and not just the 'html' section. 13 | - npm run build-json html 14 | - npm run mdn-sitemap-compare 15 | -------------------------------------------------------------------------------- /content/en-US/html/reference/elements/body/attributes/onmessage.md: -------------------------------------------------------------------------------- 1 | --- 2 | browser-compatibility: html.elements.body.onmessage 3 | specifications: https://html.spec.whatwg.org/multipage/webappapis.html#handler-window-onmessage 4 | --- 5 | 6 | # `onmessage` 7 | 8 | Function to call when the document has received a message. 9 | 10 | ## Type 11 | 12 | Function 13 | -------------------------------------------------------------------------------- /content/en-US/html/reference/elements/body/attributes/onoffline.md: -------------------------------------------------------------------------------- 1 | --- 2 | browser-compatibility: html.elements.body.onoffline 3 | specifications: https://html.spec.whatwg.org/multipage/webappapis.html#handler-window-onoffline 4 | --- 5 | 6 | # `onoffline` 7 | 8 | Function to call when network communication has failed. 9 | 10 | ## Type 11 | 12 | Function 13 | -------------------------------------------------------------------------------- /content/en-US/html/reference/elements/body/attributes/ononline.md: -------------------------------------------------------------------------------- 1 | --- 2 | browser-compatibility: html.elements.body.ononline 3 | specifications: https://html.spec.whatwg.org/multipage/webappapis.html#handler-window-ononline 4 | --- 5 | 6 | # `ononline` 7 | 8 | Function to call when network communication has been restored. 9 | 10 | ## Type 11 | 12 | Function 13 | -------------------------------------------------------------------------------- /content/fr/html/reference/elements/video/attributes/loop.md: -------------------------------------------------------------------------------- 1 | --- 2 | browser-compatibility: html.elements.video.loop 3 | specifications: https://html.spec.whatwg.org/multipage/media.html#attr-media-loop 4 | --- 5 | 6 | # `loop` 7 | 8 | Un attribut booléen qui, lorsqu'il est spécifié, indique que la vidéo doit être lue en boucle. 9 | 10 | ## Type 11 | 12 | Booléen 13 | -------------------------------------------------------------------------------- /recipes/css-at-rule.yaml: -------------------------------------------------------------------------------- 1 | data: 2 | - title 3 | - short_title? 4 | - mdn_url 5 | body: 6 | - prose.short_description 7 | - prose.syntax 8 | - prose.description? 9 | - prose.accessibility_concerns? 10 | - prose.* 11 | - data.formal_syntax 12 | - data.examples 13 | - data.specifications 14 | - data.browser_compatibility 15 | - prose.see_also 16 | -------------------------------------------------------------------------------- /content/en-US/html/reference/elements/body/attributes/onafterprint.md: -------------------------------------------------------------------------------- 1 | --- 2 | browser-compatibility: html.elements.body.onafterprint 3 | specifications: https://html.spec.whatwg.org/multipage/webappapis.html#handler-window-onafterprint 4 | --- 5 | 6 | # `onafterprint` 7 | 8 | Function to call after the user has printed the document. 9 | 10 | ## Type 11 | 12 | Function 13 | -------------------------------------------------------------------------------- /content/en-US/html/reference/elements/body/attributes/onpopstate.md: -------------------------------------------------------------------------------- 1 | --- 2 | browser-compatibility: html.elements.body.onpopstate 3 | specifications: https://html.spec.whatwg.org/multipage/webappapis.html#handler-window-onpopstate 4 | --- 5 | 6 | # `onpopstate` 7 | 8 | Function to call when the user has navigated session history. 9 | 10 | ## Type 11 | 12 | Function 13 | -------------------------------------------------------------------------------- /recipes/css-function.yaml: -------------------------------------------------------------------------------- 1 | data: 2 | - title 3 | - short_title? 4 | - mdn_url 5 | body: 6 | - prose.short_description 7 | - data.interactive_example? 8 | - prose.syntax 9 | - prose.description? 10 | - prose.accessibility_concerns? 11 | - prose.* 12 | - data.examples 13 | - data.specifications 14 | - data.browser_compatibility 15 | - prose.see_also 16 | -------------------------------------------------------------------------------- /recipes/javascript-property.yaml: -------------------------------------------------------------------------------- 1 | related_content: related_content/javascript.yaml 2 | data: 3 | - title 4 | - short_title? 5 | - mdn_url 6 | body: 7 | - prose.short_description 8 | - data.interactive_example? 9 | - prose.description? 10 | - prose.* 11 | - data.examples 12 | - data.specifications 13 | - data.browser_compatibility 14 | - prose.see_also 15 | -------------------------------------------------------------------------------- /recipes/css-data-type.yaml: -------------------------------------------------------------------------------- 1 | data: 2 | - title 3 | - short_title? 4 | - mdn_url 5 | body: 6 | - prose.short_description 7 | - data.interactive_example? 8 | - prose.syntax 9 | - prose.description? 10 | - prose.accessibility_concerns? 11 | - prose.* 12 | - data.examples 13 | - data.specifications 14 | - data.browser_compatibility 15 | - prose.see_also 16 | -------------------------------------------------------------------------------- /recipes/css-selector.yaml: -------------------------------------------------------------------------------- 1 | data: 2 | - title 3 | - short_title? 4 | - mdn_url 5 | body: 6 | - prose.short_description 7 | - prose.syntax 8 | - prose.description? 9 | - data.permitted_properties? 10 | - prose.accessibility_concerns? 11 | - prose.* 12 | - data.examples 13 | - data.specifications 14 | - data.browser_compatibility 15 | - prose.see_also 16 | -------------------------------------------------------------------------------- /content/en-US/html/reference/elements/body/attributes/onbeforeunload.md: -------------------------------------------------------------------------------- 1 | --- 2 | browser-compatibility: html.elements.body.onbeforeunload 3 | specifications: https://html.spec.whatwg.org/multipage/webappapis.html#handler-window-onbeforeunload 4 | --- 5 | 6 | # `onbeforeunload` 7 | 8 | Function to call when the document is about to be unloaded. 9 | 10 | ## Type 11 | 12 | Function 13 | -------------------------------------------------------------------------------- /content/fr/html/reference/elements/abbr/examples/baliser-une-abréviation.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Baliser une abréviation sémantiquement 3 | width: 672 4 | height: 192 5 | --- 6 | Pour signaler une abréviation sans fournir la forme étendue ou une description, il suffit d'utiliser `` sans aucun attribut. 7 | 8 | ```html 9 |

Utiliser HTML, c'est rigolo !

10 | ``` 11 | -------------------------------------------------------------------------------- /scripts/build-json/resolve-contributors.js: -------------------------------------------------------------------------------- 1 | const fs = require("fs"); 2 | 3 | const markdown = require("./markdown-converter"); 4 | 5 | function packageContributors(contributorsPath) { 6 | const contributorsMD = fs.readFileSync(contributorsPath, "utf8"); 7 | return markdown.markdownToHTML(contributorsMD); 8 | } 9 | 10 | module.exports = { 11 | packageContributors, 12 | }; 13 | -------------------------------------------------------------------------------- /content/en-US/html/reference/elements/body/attributes/onbeforeprint.md: -------------------------------------------------------------------------------- 1 | --- 2 | browser-compatibility: html.elements.body.onbeforeprint 3 | specifications: https://html.spec.whatwg.org/multipage/webappapis.html#handler-window-onbeforeprint 4 | --- 5 | 6 | # `onbeforeprint` 7 | 8 | Function to call when the user requests printing of the document. 9 | 10 | ## Type 11 | 12 | Function 13 | -------------------------------------------------------------------------------- /content/en-US/html/reference/elements/body/attributes/onlanguagechange.md: -------------------------------------------------------------------------------- 1 | --- 2 | browser-compatibility: html.elements.body.onlanguagechange 3 | specifications: https://html.spec.whatwg.org/multipage/webappapis.html#handler-window-onlanguagechange 4 | --- 5 | 6 | # `onlanguagechange` 7 | 8 | Function to call when the preferred languages changed. 9 | 10 | ## Type 11 | 12 | Function 13 | -------------------------------------------------------------------------------- /content/fr/html/reference/elements/elements.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: HTML elements 3 | mdn_url: /fr/docs/Web/HTML/Element 4 | recipe: landing-page 5 | related_content: /related_content/html.yaml 6 | link_lists: 7 | - title: Index des éléments HTML 8 | directory: "/content/fr/html/reference/elements" 9 | --- 10 | 11 | ## Aperçu 12 | 13 | Cette page énumère l'ensemble des éléments HTML. 14 | -------------------------------------------------------------------------------- /content/en-US/related_content/html.yaml: -------------------------------------------------------------------------------- 1 | # HTML sidebar 2 | - title: Learn HTML 3 | children: 4 | - chapter_list: "/content/en-US/learn/html/Introduction_to_HTML.yaml" 5 | - title: Guides 6 | children: 7 | - chapter_list: "/content/en-US/html/guides/Guides.yaml" 8 | - title: Reference 9 | children: 10 | - title: Elements 11 | directory: "/content/en-US/html/reference/elements" 12 | -------------------------------------------------------------------------------- /content/fr/html/related_content/html.yaml: -------------------------------------------------------------------------------- 1 | # HTML sidebar 2 | - title: Learn HTML 3 | children: 4 | - chapter_list: "/content/en-US/learn/html/Introduction_to_HTML.yaml" 5 | - title: Guides 6 | children: 7 | - chapter_list: "/content/en-US/html/guides/Guides.yaml" 8 | - title: Reference 9 | children: 10 | - title: Elements 11 | directory: "/content/fr/html/reference/elements" 12 | -------------------------------------------------------------------------------- /recipes/javascript-method.yaml: -------------------------------------------------------------------------------- 1 | related_content: related_content/javascript.yaml 2 | data: 3 | - title 4 | - short_title? 5 | - mdn_url 6 | body: 7 | - prose.short_description 8 | - data.interactive_example? 9 | - prose.syntax 10 | - prose.description? 11 | - prose.* 12 | - data.examples 13 | - data.specifications 14 | - data.browser_compatibility 15 | - prose.see_also 16 | -------------------------------------------------------------------------------- /content/en-US/html/guides/Guides.yaml: -------------------------------------------------------------------------------- 1 | title: Guides 2 | chapters: 3 | - Block-level_elements 4 | - Inline_elements 5 | - Link_types 6 | - Applying_color 7 | - Date_and_time_formats 8 | - Preloading_content 9 | - CORS_enabled_image 10 | - DASH_Adaptive_Streaming_for_HTML_5_Video 11 | - Microdata 12 | - microformats 13 | - Quirks_Mode_and_Standards_Mode 14 | -------------------------------------------------------------------------------- /recipes/javascript-constructor.yaml: -------------------------------------------------------------------------------- 1 | related_content: related_content/javascript.yaml 2 | data: 3 | - title 4 | - short_title? 5 | - mdn_url 6 | body: 7 | - prose.short_description 8 | - data.interactive_example? 9 | - prose.syntax 10 | - prose.description? 11 | - prose.* 12 | - data.examples 13 | - data.specifications 14 | - data.browser_compatibility 15 | - prose.see_also 16 | -------------------------------------------------------------------------------- /content/en-US/html/reference/elements/video/attributes/loop.md: -------------------------------------------------------------------------------- 1 | --- 2 | browser-compatibility: html.elements.video.loop 3 | specifications: https://html.spec.whatwg.org/multipage/media.html#attr-media-loop 4 | --- 5 | 6 | # `loop` 7 | 8 | A Boolean attribute; if specified, the browser will automatically seek back to the start upon reaching the end of the video. 9 | 10 | ## Type 11 | 12 | Boolean 13 | -------------------------------------------------------------------------------- /recipes/javascript-language-feature.yaml: -------------------------------------------------------------------------------- 1 | related_content: related_content/javascript.yaml 2 | data: 3 | - title 4 | - short_title? 5 | - mdn_url 6 | body: 7 | - prose.short_description 8 | - data.interactive_example? 9 | - prose.syntax 10 | - prose.description? 11 | - prose.* 12 | - data.examples 13 | - data.specifications 14 | - data.browser_compatibility 15 | - prose.see_also 16 | -------------------------------------------------------------------------------- /recipes/css-at-rule-descriptor.yaml: -------------------------------------------------------------------------------- 1 | data: 2 | - title 3 | - short_title? 4 | - mdn_url 5 | body: 6 | - prose.short_description 7 | - prose.syntax 8 | - prose.description? 9 | - prose.accessibility_concerns? 10 | - prose.* 11 | - data.formal_definition 12 | - data.formal_syntax 13 | - data.examples 14 | - data.specifications 15 | - data.browser_compatibility 16 | - prose.see_also 17 | -------------------------------------------------------------------------------- /.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | "plugins": ["jest"], 3 | "env": { 4 | "es6": true, 5 | "node": true, 6 | "jest/globals": true 7 | }, 8 | "overrides": [ 9 | { 10 | "files": [ "scripts/**/*.js" ], 11 | "extends": "eslint:recommended", 12 | "parserOptions": { 13 | "ecmaVersion": 2018, 14 | "sourceType": "module" 15 | } 16 | } 17 | ] 18 | }; 19 | -------------------------------------------------------------------------------- /content/en-US/html/reference/elements/video/attributes/src.md: -------------------------------------------------------------------------------- 1 | --- 2 | browser-compatibility: html.elements.video.src 3 | specifications: https://html.spec.whatwg.org/multipage/media.html#attr-media-src 4 | --- 5 | 6 | # `src` 7 | 8 | The URL of the video to embed. This is optional; you may instead use the `` element within the video block to specify the video to embed. 9 | 10 | ## Type 11 | 12 | URL 13 | -------------------------------------------------------------------------------- /content/en-US/javascript/reference/classes/bigint/instance_methods/tolocalestring/examples/using-tolocalestring.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Using toLocaleString 3 | --- 4 | In basic use without specifying a locale, a formatted string in the default locale and with default options is returned. 5 | 6 | ```js 7 | var bigint = 3500n; 8 | 9 | bigint.toLocaleString(); 10 | // Displays "3,500" if in U.S. English locale 11 | ``` 12 | -------------------------------------------------------------------------------- /content/en-US/html/reference/elements/elements.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: HTML elements 3 | mdn_url: /en-US/docs/Web/HTML/Element 4 | recipe: landing-page 5 | related_content: /related_content/html.yaml 6 | link_lists: 7 | - title: Index of HTML elements 8 | directory: "/content/en-US/html/reference/elements" 9 | --- 10 | 11 | ## Description 12 | 13 | This page lists all the HTML elements, which are created using tags... 14 | -------------------------------------------------------------------------------- /content/en-US/html/guides/Block-level_elements/examples/Block-level_example.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Block-level elements 3 | height: 192 4 | --- 5 | The following example demonstrates the block-level element's influence: 6 | 7 | ```html 8 |

This paragraph is a block-level element; its background has been colored to display the paragraph's parent element.

9 | ``` 10 | 11 | ```css 12 | p { background-color: #8ABB55; } 13 | ``` 14 | -------------------------------------------------------------------------------- /recipes/css-property.yaml: -------------------------------------------------------------------------------- 1 | data: 2 | - title 3 | - short_title? 4 | - mdn_url 5 | body: 6 | - prose.short_description 7 | - data.interactive_example? 8 | - prose.syntax 9 | - prose.description? 10 | - prose.accessibility_concerns? 11 | - prose.* 12 | - data.formal_definition 13 | - data.formal_syntax 14 | - data.examples 15 | - data.specifications 16 | - data.browser_compatibility 17 | - prose.see_also 18 | -------------------------------------------------------------------------------- /content/en-US/javascript/reference/classes/bigint/static_methods/asuintn/examples/64-bit-ranges.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Staying in 64-bit ranges 3 | --- 4 | The `BigInt.asUintN()` method can be useful to stay in the range of 64-bit arithmetic. 5 | 6 | ```js 7 | const max = 2n ** 64n - 1n; 8 | 9 | BigInt.asUintN(64, max); 10 | // ↪ 18446744073709551615n 11 | 12 | BigInt.asUintN(64, max + 1n); 13 | // ↪ 0n 14 | // zero because of overflow 15 | ``` 16 | -------------------------------------------------------------------------------- /scripts/scraper-ng/rules/html-require-recipe-ingredients/ingredient-handlers/data-constituent-properties.js: -------------------------------------------------------------------------------- 1 | const listSectionHandler = require("./list-sections"); 2 | 3 | const handleDataConstituentProperties = listSectionHandler({ 4 | id: "Constituent_properties", 5 | introText: "This property is a shorthand for the following CSS properties:", 6 | minimumListItems: 2, 7 | }); 8 | 9 | module.exports = handleDataConstituentProperties; 10 | -------------------------------------------------------------------------------- /content/en-US/html/reference/elements/video/attributes/controls.md: -------------------------------------------------------------------------------- 1 | --- 2 | browser-compatibility: html.elements.video.controls 3 | specifications: https://html.spec.whatwg.org/multipage/media.html#attr-media-controls 4 | --- 5 | 6 | # `controls` 7 | 8 | If this attribute is present, the browser will offer controls to allow the user to control video playback, including volume, seeking, and pause/resume playback. 9 | 10 | ## Type 11 | 12 | Boolean 13 | -------------------------------------------------------------------------------- /content/fr/html/reference/elements/abbr/examples/fournir-une-forme-étendue.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Fournir une version étendue 3 | width: 672 4 | height: 192 5 | --- 6 | Ajouter un attribut `title` permet de fournir une version détaillée de l'abréviation ou de l'acronyme. 7 | 8 | ```html 9 |

Bienvenue sur MDN !

10 | ``` 11 | 12 | ```css 13 | abbr { 14 | font-variant: all-small-caps; 15 | } 16 | ``` 17 | -------------------------------------------------------------------------------- /content/en-US/html/reference/elements/body/attributes/onhashchange.md: -------------------------------------------------------------------------------- 1 | --- 2 | browser-compatibility: html.elements.body.onhashchange 3 | specifications: https://html.spec.whatwg.org/multipage/webappapis.html#handler-window-onhashchange 4 | --- 5 | 6 | # `onhashchange` 7 | 8 | Function to call when the fragment identifier part (starting with the hash ('#') character) of the document's current address has changed. 9 | 10 | ## Type 11 | 12 | Function 13 | -------------------------------------------------------------------------------- /content/en-US/javascript/reference/classes/bigint/static_methods/asintn/examples/64-bit-ranges.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Staying in 64-bit ranges 3 | --- 4 | The `BigInt.asIntN()` method can be useful to stay in the range of 64-bit arithmetic. 5 | 6 | ```js 7 | const max = 2n ** (64n - 1n) - 1n; 8 | 9 | BigInt.asIntN(64, max); 10 | // ↪ 9223372036854775807n 11 | 12 | BigInt.asIntN(64, max + 1n); 13 | // ↪ -9223372036854775807n 14 | // negative because of overflow 15 | ``` 16 | -------------------------------------------------------------------------------- /content/fr/html/reference/elements/abbr/examples/mettre-en-forme-une-abréviation.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Mettre en forme une abréviation 3 | width: 672 4 | height: 192 5 | --- 6 | Vous pouvez utiliser CSS afin de définir une mise en forme spécifique à utiliser pour les abréviations. 7 | 8 | ```html 9 |

En utilisant CSS, on peut mettre en forme les abréviations !

10 | ``` 11 | 12 | ```css 13 | abbr { 14 | font-variant: all-small-caps; 15 | } 16 | ``` 17 | -------------------------------------------------------------------------------- /recipes/javascript-namespace.yaml: -------------------------------------------------------------------------------- 1 | related_content: related_content/javascript.yaml 2 | data: 3 | - title 4 | - short_title? 5 | - mdn_url 6 | body: 7 | - prose.short_description 8 | - data.interactive_example? 9 | - prose.description? 10 | - data.constructor_properties? 11 | - data.static_properties? 12 | - data.static_methods? 13 | - prose.* 14 | - data.examples 15 | - data.specifications 16 | - data.browser_compatibility 17 | - prose.see_also 18 | -------------------------------------------------------------------------------- /content/en-US/javascript/reference/classes/bigint/instance_methods/tostring/examples/negative-zero-bigint.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Negative-zero `BigInt` 3 | --- 4 | There is no negative-zero `BigInt` as there are no negative zeros in integers. `-0.0` is an IEEE floating-point concept that only appears in the JavaScript [`Number`](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number) type. 5 | 6 | ```js 7 | (-0n).toString(); // '0' 8 | BigInt(-0).toString(); // '0' 9 | ``` 10 | -------------------------------------------------------------------------------- /recipes/css-shorthand-property.yaml: -------------------------------------------------------------------------------- 1 | data: 2 | - title 3 | - short_title? 4 | - mdn_url 5 | body: 6 | - prose.short_description 7 | - data.interactive_example? 8 | - data.constituent_properties 9 | - prose.syntax 10 | - prose.description? 11 | - prose.accessibility_concerns? 12 | - prose.* 13 | - data.formal_definition 14 | - data.formal_syntax 15 | - data.examples 16 | - data.specifications 17 | - data.browser_compatibility 18 | - prose.see_also 19 | -------------------------------------------------------------------------------- /content/en-US/html/reference/elements/video/attributes/poster.md: -------------------------------------------------------------------------------- 1 | --- 2 | browser-compatibility: html.elements.video.poster 3 | specifications: https://html.spec.whatwg.org/multipage/media.html#attr-video-poster 4 | --- 5 | 6 | # `poster` 7 | 8 | A URL for an image to be shown while the video is downloading. If this attribute isn't specified, nothing is displayed until the first frame is available, then the first frame is shown as the poster frame. 9 | 10 | ## Type 11 | 12 | URL 13 | -------------------------------------------------------------------------------- /content/fr/html/reference/elements/video/attributes/src.md: -------------------------------------------------------------------------------- 1 | --- 2 | browser-compatibility: html.elements.video.src 3 | specifications: https://html.spec.whatwg.org/multipage/media.html#attr-media-src 4 | --- 5 | 6 | # `src` 7 | 8 | L'URL de la vidéo à embarquer. Cet attribut est optionnel et on peut utiliser un ou plusieurs éléments `` au sein de l'élément afin d'indiquer différentes sources/fichiers parmi lesquels le navigateur peut choisir. 9 | 10 | ## Type 11 | 12 | URL 13 | -------------------------------------------------------------------------------- /content/fr/html/reference/elements/video/attributes/controls.md: -------------------------------------------------------------------------------- 1 | --- 2 | browser-compatibility: html.elements.video.controls 3 | specifications: https://html.spec.whatwg.org/multipage/media.html#attr-media-controls 4 | --- 5 | 6 | # `controls` 7 | 8 | Un attribut booléen qui, lorsqu'il est présent, indique que le navigateur doit fournir des contrôles à l'utilisateur afin de contrôler la lecture, le volume, le curseur, la mise en pause et la reprise. 9 | 10 | ## Type 11 | 12 | Booléen. 13 | -------------------------------------------------------------------------------- /content/data/specifications.yaml: -------------------------------------------------------------------------------- 1 | # Allowed specification domains and their titles 2 | # Never add historical specfications to this allow list 3 | 4 | html.spec.whatwg.org: 'WHATWG HTML Living Standard' 5 | w3c.github.io/webappsec-cspee: 'Content Security Policy: Embedded Enforcement' 6 | w3c.github.io/webappsec-feature-policy: 'Feature Policy' 7 | wicg.github.io/priority-hints: 'Priority Hints' 8 | tc39.es/ecma262: 'ECMA-262 Language Specification' 9 | tc39.es/ecma402: 'ECMA-402 Language Specification' 10 | -------------------------------------------------------------------------------- /recipes/html-element.yaml: -------------------------------------------------------------------------------- 1 | related_content: related_content/html.yaml 2 | data: 3 | - title 4 | - short_title? 5 | - mdn_url 6 | body: 7 | - prose.short_description 8 | - data.interactive_example? 9 | - prose.description? 10 | - prose.attributes_text? 11 | - data.attributes 12 | - prose.styling? 13 | - prose.accessibility_concerns? 14 | - prose.* 15 | - data.examples 16 | - data.info_box? 17 | - data.specifications 18 | - data.browser_compatibility 19 | - prose.see_also 20 | -------------------------------------------------------------------------------- /scripts/scraper-ng/rules/html-require-recipe-ingredients/ingredient-handlers/data-permitted-properties.js: -------------------------------------------------------------------------------- 1 | const listSectionHandler = require("./list-sections"); 2 | 3 | const handleDataPermittedProperties = listSectionHandler( 4 | { 5 | id: "Permitted_properties", 6 | introText: 7 | "Rules whose selectors include this element may only use the following CSS properties:", 8 | minimumListItems: 1, 9 | }, 10 | true 11 | ); 12 | 13 | module.exports = handleDataPermittedProperties; 14 | -------------------------------------------------------------------------------- /content/en-US/html/reference/elements/video/attributes/muted.md: -------------------------------------------------------------------------------- 1 | --- 2 | browser-compatibility: html.elements.video.muted 3 | specifications: https://html.spec.whatwg.org/multipage/media.html#attr-media-muted 4 | --- 5 | 6 | # `muted` 7 | 8 | A Boolean attribute that indicates the default setting of the audio contained in the video. If set, the audio will be initially silenced. Its default value is `false`, meaning that the audio will be played when the video is played. 9 | 10 | ## Type 11 | 12 | Boolean 13 | -------------------------------------------------------------------------------- /content/en-US/html/reference/elements/video/attributes/width.md: -------------------------------------------------------------------------------- 1 | --- 2 | browser-compatibility: html.elements.video.width 3 | specifications: https://html.spec.whatwg.org/multipage/embedded-content-other.html#attr-dim-width 4 | --- 5 | 6 | # `width` 7 | 8 | The width of the video's display area, in [CSS pixels](https://drafts.csswg.org/css-values/#px) (absolute values only; no [percentages](https://html.spec.whatwg.org/multipage/embedded-content.html#dimension-attributes).) 9 | 10 | ## Type 11 | 12 | String 13 | -------------------------------------------------------------------------------- /scripts/scraper-ng/test/javascript-constructor.test.js: -------------------------------------------------------------------------------- 1 | const path = require("path"); 2 | 3 | const { process } = require("./framework/utils"); 4 | 5 | test("javascript-constructor", () => { 6 | const file = process( 7 | path.resolve(__dirname, "./javascript-constructor.html"), 8 | "javascript-constructor" 9 | ); 10 | 11 | // Allow messages with handler-not-implemented 12 | expect(file).not.hasMessageWithId( 13 | /javascript-constructor\/.*\/(?!handler-not-implemented)/ 14 | ); 15 | }); 16 | -------------------------------------------------------------------------------- /content/en-US/html/reference/elements/video/attributes/height.md: -------------------------------------------------------------------------------- 1 | --- 2 | browser-compatibility: html.elements.video.height 3 | specifications: https://html.spec.whatwg.org/multipage/embedded-content-other.html#attr-dim-height 4 | --- 5 | 6 | # `height` 7 | 8 | The height of the video's display area, in [CSS pixels](https://drafts.csswg.org/css-values/#px) (absolute values only; no [percentages](https://html.spec.whatwg.org/multipage/embedded-content.html#dimension-attributes).) 9 | 10 | ## Type 11 | 12 | String 13 | -------------------------------------------------------------------------------- /content/fr/html/reference/elements/video/attributes/playsinline.md: -------------------------------------------------------------------------------- 1 | --- 2 | browser-compatibility: html.elements.video.playsinline 3 | specifications: https://html.spec.whatwg.org/multipage/media.html#attr-video-playsinline 4 | --- 5 | 6 | # `playsinline` 7 | 8 | Un attribut booléen qui indique si la vidéo doit être jouée en incise, c'est-à-dire au sein de la zone de lecture. On notera que l'absence de cet attribut _n'implique pas_ que la vidéo doive être jouée en plein écran. 9 | 10 | ## Type 11 | 12 | Booléen. 13 | -------------------------------------------------------------------------------- /content/en-US/html/reference/elements/input/attributes/type.md: -------------------------------------------------------------------------------- 1 | --- 2 | specifications: https://html.spec.whatwg.org/multipage/input.html#attr-input-type 3 | --- 4 | # `type` 5 | 6 | A string specifying the type of control to render. For example, to create a checkbox, a value of `checkbox` is used. If omitted (or an unknown value is specified), the input type `text` is used, creating a text input field. 7 | 8 | Permitted values are listed in [Form <input> types](#Form__types). 9 | 10 | ## Type 11 | 12 | String 13 | -------------------------------------------------------------------------------- /content/en-US/html/reference/elements/video/attributes/playsinline.md: -------------------------------------------------------------------------------- 1 | --- 2 | browser-compatibility: html.elements.video.playsinline 3 | specifications: https://html.spec.whatwg.org/multipage/media.html#attr-video-playsinline 4 | --- 5 | 6 | # `playsinline` 7 | 8 | A Boolean attribute indicating that the video is to be played "inline", that is within the element's playback area. Note that the absence of this attribute _does not_ imply that the video will always be played in fullscreen. 9 | 10 | ## Type 11 | 12 | Boolean 13 | -------------------------------------------------------------------------------- /recipes/javascript-class.yaml: -------------------------------------------------------------------------------- 1 | related_content: related_content/javascript.yaml 2 | data: 3 | - title 4 | - short_title? 5 | - mdn_url 6 | body: 7 | - prose.short_description 8 | - data.interactive_example? 9 | - prose.description? 10 | - data.constructor 11 | - data.static_properties? 12 | - data.static_methods? 13 | - data.instance_properties? 14 | - data.instance_methods? 15 | - prose.* 16 | - data.examples 17 | - data.specifications 18 | - data.browser_compatibility 19 | - prose.see_also 20 | -------------------------------------------------------------------------------- /content/fr/html/reference/elements/video/attributes/muted.md: -------------------------------------------------------------------------------- 1 | --- 2 | browser-compatibility: html.elements.video.muted 3 | specifications: https://html.spec.whatwg.org/multipage/media.html#attr-media-muted 4 | --- 5 | 6 | # `muted` 7 | 8 | Un attribut booléen qui indique le réglage par défaut pour la lecture du son de la vidéo. S'il est présent, le son sera désactivé initialement. La valeur par défaut de cet attribut est `false` et indique que l'audio est actif lorsque la vidéo est jouée. 9 | 10 | ## Type 11 | 12 | Booléen. 13 | -------------------------------------------------------------------------------- /recipes/html-input-element.yaml: -------------------------------------------------------------------------------- 1 | related_content: related_content/html.yaml 2 | data: 3 | - title 4 | - short_title? 5 | - mdn_url 6 | body: 7 | - prose.short_description 8 | - data.interactive_example? 9 | - prose.description? 10 | - prose.value 11 | - prose.validation 12 | - prose.attributes_text? 13 | - data.attributes 14 | - prose.styling? 15 | - prose.accessibility_concerns? 16 | - prose.* 17 | - data.examples 18 | - data.info_box? 19 | - data.specifications 20 | - data.browser_compatibility 21 | - prose.see_also 22 | -------------------------------------------------------------------------------- /scripts/scraper/process-macros/process-compat.js: -------------------------------------------------------------------------------- 1 | const { extractMacroCalls } = require("./extract-macro-calls"); 2 | const { removeNode } = require("../clean-html.js"); 3 | 4 | function processCompat(htmlWithMacroCalls, result) { 5 | const macroCalls = extractMacroCalls("Compat", htmlWithMacroCalls); 6 | if (macroCalls.length) { 7 | result.frontMatter += `browser_compatibility: ${macroCalls[0][0]}\n`; 8 | } 9 | removeNode(result.dom, "div.bc-data"); 10 | return result; 11 | } 12 | 13 | module.exports = { 14 | processCompat, 15 | }; 16 | -------------------------------------------------------------------------------- /scripts/linter/walk-docs.js: -------------------------------------------------------------------------------- 1 | const fs = require("fs"); 2 | const path = require("path"); 3 | 4 | /** 5 | * Walks the content directory tree (`start`) yielding Markdown files. 6 | */ 7 | function* walkDocs(start) { 8 | const files = fs.readdirSync(start, { withFileTypes: true }); 9 | 10 | for (const f of files) { 11 | if (f.isDirectory()) { 12 | yield* walkDocs(path.join(start, f.name)); 13 | } else if (f.name.endsWith(".md")) { 14 | yield path.join(start, f.name); 15 | } 16 | } 17 | } 18 | 19 | module.exports = walkDocs; 20 | -------------------------------------------------------------------------------- /content/fr/html/reference/elements/video/attributes/poster.md: -------------------------------------------------------------------------------- 1 | --- 2 | browser-compatibility: html.elements.video.poster 3 | specifications: https://html.spec.whatwg.org/multipage/media.html#attr-video-poster 4 | --- 5 | 6 | # `poster` 7 | 8 | Une URL pour l'image qui pourra être affichée comme vignette pendant que la vidéo est téléchargée. Si cet attribut n'est pas fourni, rien ne sera affiché avant que la première *frame* de la vidéo soit disponible, auquel cas c'est l'image de la première *frame* qui sera affichée comme vignette. 9 | 10 | ## Type 11 | 12 | URL 13 | -------------------------------------------------------------------------------- /content/fr/html/reference/elements/video/attributes/width.md: -------------------------------------------------------------------------------- 1 | --- 2 | browser-compatibility: html.elements.video.width 3 | specifications: https://html.spec.whatwg.org/multipage/embedded-content-other.html#attr-dim-width 4 | --- 5 | 6 | # `width` 7 | 8 | La largeur de la zone d'affichage de la vidéo exprimée [en pixels CSS](https://drafts.csswg.org/css-values/#px) (seules les valeurs absolues sont autorisées, les [pourcentages](https://html.spec.whatwg.org/multipage/embedded-content.html#dimension-attributes) sont invalides). 9 | 10 | ## Type 11 | 12 | Chaîne de caractères 13 | -------------------------------------------------------------------------------- /content/fr/html/reference/elements/video/attributes/height.md: -------------------------------------------------------------------------------- 1 | --- 2 | browser-compatibility: html.elements.video.height 3 | specifications: https://html.spec.whatwg.org/multipage/embedded-content-other.html#attr-dim-height 4 | --- 5 | 6 | # `height` 7 | 8 | La hauteur de la zone de lecture de la vidéo, exprimée en [pixels CSS](https://drafts.csswg.org/css-values/#px) (seules les valeurs absolues sont autorisées, les [pourcentages](https://html.spec.whatwg.org/multipage/embedded-content.html#dimension-attributes) sont invalides). 9 | 10 | ## Type 11 | 12 | Chaîne de caractères 13 | -------------------------------------------------------------------------------- /scripts/scraper/to-markdown.js: -------------------------------------------------------------------------------- 1 | const unified = require("unified"); 2 | const parse = require("rehype-parse"); 3 | const stringify = require("remark-stringify"); 4 | const rehype2remark = require("rehype-remark"); 5 | const code = require("./code"); 6 | 7 | /** 8 | * Converts the HTML -> Markdown using unified. 9 | */ 10 | function toMarkdown(html) { 11 | return unified() 12 | .use(parse) 13 | .use(rehype2remark, { handlers: { pre: code } }) 14 | .use(stringify, { fences: true }) 15 | .process(html); 16 | } 17 | 18 | module.exports = { 19 | toMarkdown, 20 | }; 21 | -------------------------------------------------------------------------------- /content/en-US/learn/html/Introduction_to_HTML.yaml: -------------------------------------------------------------------------------- 1 | title: Introduction to HTML 2 | chapters: 3 | - Introduction_to_HTML 4 | - Introduction_to_HTML/Getting_started 5 | - Introduction_to_HTML/The_head_metadata_in_HTML 6 | - Introduction_to_HTML/HTML_text_fundamentals 7 | - Introduction_to_HTML/Creating_hyperlinks 8 | - Introduction_to_HTML/Advanced_text_formatting 9 | - Introduction_to_HTML/Document_and_website_structure 10 | - Introduction_to_HTML/Debugging_HTML 11 | - Introduction_to_HTML/Marking_up_a_letter 12 | - Introduction_to_HTML/Structuring_a_page_of_content 13 | -------------------------------------------------------------------------------- /scripts/linter/plugins/yaml-loader.js: -------------------------------------------------------------------------------- 1 | const visit = require("unist-util-visit"); 2 | const yaml = require("js-yaml"); 3 | 4 | /** 5 | * Parse the value of YAML-type unist nodes (i.e., frontmatter) and add the resulting object to the node's `data.yaml` field. 6 | */ 7 | function attacher() { 8 | return function transformer(tree, file) { 9 | visit(tree, "yaml", (node) => { 10 | try { 11 | node.data = { yaml: yaml.safeLoad(node.value) || {} }; 12 | } catch (error) { 13 | const message = file.message(error, node); 14 | message.fatal = true; 15 | } 16 | }); 17 | }; 18 | } 19 | 20 | module.exports = attacher; 21 | -------------------------------------------------------------------------------- /scripts/build-json/markdown-converter.js: -------------------------------------------------------------------------------- 1 | const unified = require("unified"); 2 | const parse = require("remark-parse"); 3 | const stringify = require("rehype-stringify"); 4 | const remark2rehype = require("remark-rehype"); 5 | const raw = require("rehype-raw"); 6 | 7 | /** 8 | * Converts Markdown -> HTML using unified. 9 | * Using `raw` enables us to process HTML embedded in the Markdown. 10 | */ 11 | function markdownToHTML(md) { 12 | return unified() 13 | .use(parse) 14 | .use(remark2rehype) 15 | .use(raw) 16 | .use(stringify) 17 | .processSync(md) 18 | .toString(); 19 | } 20 | 21 | module.exports = { 22 | markdownToHTML, 23 | }; 24 | -------------------------------------------------------------------------------- /scripts/scraper-ng/mdn-url.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Return an absolute URL based on `https://wiki.developer.mozilla.org`. 3 | * If the input string is an absolute reference (such as 4 | * `/en-US/docs/Web/HTML/Element/input`), then return an absolute URL (such as 5 | * `https://wiki.developer.mozilla.org/en-US/docs/Web/HTML/Element/input`). 6 | * If the input string is already an absolute URL, then return that 7 | * (whether it's an MDN URL or not.) 8 | * 9 | * @param {String} input 10 | * @returns {URL} an absolute URL 11 | */ 12 | function mdnUrl(input) { 13 | return new URL(input, "https://wiki.developer.mozilla.org/"); 14 | } 15 | 16 | module.exports = mdnUrl; 17 | -------------------------------------------------------------------------------- /content/en-US/javascript/reference/classes/bigint/examples/calculating_primes.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Calculating primes 3 | --- 4 | ```js 5 | function isPrime(p) { 6 | for (let i = 2n; i * i <= p; i++) { 7 | if (p % i === 0n) return false; 8 | } 9 | return true; 10 | } 11 | 12 | // Takes a BigInt as an argument and returns a BigInt 13 | function nthPrime(nth) { 14 | let maybePrime = 2n; 15 | let prime = 0n; 16 | 17 | while (nth >= 0n) { 18 | if (isPrime(maybePrime)) { 19 | nth -= 1n; 20 | prime = maybePrime; 21 | } 22 | maybePrime += 1n; 23 | } 24 | 25 | return prime; 26 | } 27 | 28 | nthPrime(20n) 29 | // ↪ 73n 30 | ``` 31 | -------------------------------------------------------------------------------- /scripts/scraper-ng/normalize-macro-name.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Make the case of a macro consistent with other possible invocations of this 3 | * macro. 4 | * 5 | * The right thing to do probably involves finding out the canonical name of 6 | * every macro, but for now, this just lower cases the name. 7 | * 8 | * @param {String} name - a macro name 9 | * @returns {String} 10 | */ 11 | function normalizeMacroName(name) { 12 | // This is the same method that KumaScript itself uses for normalization 13 | // https://github.com/mdn/kumascript/blob/f6ecd0b/src/render.js#L54 14 | return name.replace(/:/g, "-").toLowerCase(); 15 | } 16 | 17 | module.exports = normalizeMacroName; 18 | -------------------------------------------------------------------------------- /content/en-US/html/reference/elements/input/attributes/value-checkbox.md: -------------------------------------------------------------------------------- 1 | --- 2 | specifications: https://html.spec.whatwg.org/multipage/input.html#attr-input-value 3 | --- 4 | # `value` 5 | 6 | The `value` attribute is one which all [``](/en-US/docs/Web/HTML/Element/input)s share; however, it serves a special purpose for inputs of type `checkbox`: when a form is submitted, only checkboxes which are currently checked are submitted to the server, and the reported value is the value of the `value` attribute. If the `value` is not otherwise specified, it is the string `on` by default. This is demonstrated in the section [Value](#Value) above. 7 | 8 | ## Type 9 | 10 | String 11 | -------------------------------------------------------------------------------- /scripts/ci/git.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Check that there are no problems with the code from git. 3 | */ 4 | const spawn = require("child_process").spawnSync; 5 | 6 | function spawnStr(cmd, ...args) { 7 | const spawned = spawn(cmd, ...args); 8 | return spawned.stdout.toString().trim(); 9 | } 10 | 11 | const foundLines = spawnStr("git", ["grep", "-n", ">>>>>>>"]) 12 | .split(/\n/g) 13 | .filter((line) => { 14 | return !(line.includes(".travis.yml") || line.includes("scripts/ci/")); 15 | }); 16 | if (foundLines.length) { 17 | console.warn("The following lines look like git diff markers:"); 18 | for (let line of foundLines) { 19 | console.log(line); 20 | } 21 | process.exitCode = 1; 22 | } 23 | -------------------------------------------------------------------------------- /content/LICENSE.md: -------------------------------------------------------------------------------- 1 | Prose from MDN, found in this directory, is by Mozilla Contributors and is 2 | licensed under [CC-BY-SA 2.5](http://creativecommons.org/licenses/by-sa/2.5/), 3 | unless otherwise indicated. You are free to modify and share that content, if 4 | you attribute the work and distribute it under the same terms. 5 | 6 | Code samples found in this directory are dedicated to the public domain. 7 | 8 | Visit [About 9 | MDN](https://developer.mozilla.org/en-US/docs/MDN/About#Using_MDN_Web_Docs_content) 10 | to learn more about MDN content, its authorship, and reuse. 11 | 12 | Individual contributors to the pages are credited in a `contributors.md` file 13 | in the directory that contains the page content. 14 | -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | # Community Participation Guidelines 2 | 3 | This repository is governed by Mozilla's code of conduct and etiquette guidelines. 4 | For more details, please read the 5 | [Mozilla Community Participation Guidelines](https://www.mozilla.org/about/governance/policies/participation/). 6 | 7 | ## How to Report 8 | For more information on how to report violations of the Community Participation Guidelines, please read our '[How to Report](https://www.mozilla.org/about/governance/policies/participation/reporting/)' page. 9 | 10 | 16 | -------------------------------------------------------------------------------- /content/en-US/html/reference/elements/input/attributes/form.md: -------------------------------------------------------------------------------- 1 | --- 2 | specifications: https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#attr-fae-form 3 | --- 4 | # `form` 5 | 6 | A string specifying the [`
`](/en-US/docs/Web/HTML/Element/form) element with which the input is associated (that is, its **form owner**). This string's value, if present, must match the `id` of a `` element in the same document. If this attribute isn't specified, the `` element is associated with the nearest containing form, if any. 7 | 8 | The `form` attribute lets you place an input anywhere in the document but have it included with a form elsewhere in the document. 9 | 10 | **Note:** An input can only be associated with one form. 11 | 12 | ## Type 13 | 14 | String 15 | -------------------------------------------------------------------------------- /content/en-US/javascript/reference/classes/bigint/instance_methods/tolocalestring/examples/using-options.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Using options 3 | --- 4 | The results provided by `toLocaleString` can be customized using the `options` argument. 5 | 6 | ```js 7 | var bigint = 123456789123456789n; 8 | 9 | // request a currency format 10 | console.log(bigint.toLocaleString('de-DE', { style: 'currency', currency: 'EUR' })); 11 | // → 123.456.789.123.456.789,00 € 12 | 13 | // the Japanese yen doesn't use a minor unit 14 | console.log(bigint.toLocaleString('ja-JP', { style: 'currency', currency: 'JPY' })) 15 | // → ¥123,456,789,123,456,789 16 | 17 | // limit to three significant digits 18 | console.log(bigint.toLocaleString('en-IN', { maximumSignificantDigits: 3 })); 19 | // → 1,23,00,00,00,00,00,00,000 20 | ``` 21 | -------------------------------------------------------------------------------- /content/fr/html/reference/elements/abbr/examples/définir-une-abréviation.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Définir une abréviation 3 | width: 672 4 | height: 192 5 | --- 6 | On peut utiliser `` avec 7 | [``](/fr/docs/Web/HTML/Element/dfn) afin de définir, plus formellement, une abréviation. 8 | 9 | ```html 10 |

HTML 11 | est un langage de balises utilisé pour créer la sémantique et la structure d'une page web.

12 | 13 |

Une spécification 14 | (spec) est un document qui décrit en détails 15 | la façon dont une technologie ou une API doit fonctionner et la façon de 16 | l'utiliser.

17 | ``` 18 | 19 | ```css 20 | abbr { 21 | font-variant: all-small-caps; 22 | } 23 | ``` 24 | -------------------------------------------------------------------------------- /content/en-US/html/guides/Inline_elements/examples/Inline.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Inline 3 | height: 80 4 | --- 5 | In this example, the [`
`](/en-US/docs/Web/HTML/Element/div) block-level element contains some text. Within that text is a [``](/en-US/docs/Web/HTML/Element/span) element, which is an inline element. Because the `` element is inline, the paragraph correctly renders as a single, unbroken text flow. 6 | 7 | ```html 8 |
The following span is an inline element; 9 | its background has been colored to display both the beginning and end of 10 | the inline element's influence.
11 | ``` 12 | 13 | ```css 14 | body { 15 | margin: 0; 16 | padding: 4px; 17 | border: 1px solid #333; 18 | } 19 | 20 | .highlight { 21 | background-color:#ee3; 22 | } 23 | ``` 24 | -------------------------------------------------------------------------------- /content/en-US/html/reference/elements/input/attributes/required.md: -------------------------------------------------------------------------------- 1 | --- 2 | specifications: https://html.spec.whatwg.org/multipage/input.html#attr-input-required 3 | --- 4 | # `required` 5 | 6 | A Boolean attribute which, if present, indicates that the user must specify a value for the input before the owning form can be submitted. 7 | 8 | When an input has the `required` attribute, the [`:required`](/en-US/docs/Web/CSS/:required) pseudo-class also applies to it. Conversely, inputs without the `required` attribute (except the elements that don't support it) have the [`:optional`](/en-US/docs/Web/CSS/:optional) pseudo-class applied. 9 | 10 | **Note:** Because a read-only field cannot have a value, `required` does not have any effect on inputs with the `readonly` attribute also specified. 11 | 12 | ## Type 13 | 14 | Boolean 15 | -------------------------------------------------------------------------------- /content/en-US/html/guides/Inline_elements/examples/Block-level.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Block-level 3 | height: 150 4 | --- 5 | In this example we'll change that `` into a block-level element, such as [`

`](/en-US/docs/Web/HTML/Element/p). 6 | 7 | The `

` element totally changes the layout of the text, splitting it into three segments: the text before the `

`, then the `

`'s text, and finally the text following the `

`. 8 | 9 | ```html 10 |

The following paragraph is a

block-level element;

11 | its background has been colored to display both the beginning and end of 12 | the block-level element's influence.
13 | ``` 14 | 15 | ```css 16 | body { 17 | margin: 0; 18 | padding: 4px; 19 | border: 1px solid #333; 20 | } 21 | 22 | .highlight { 23 | background-color:#ee3; 24 | } 25 | ``` 26 | -------------------------------------------------------------------------------- /content/en-US/html/reference/elements/input/examples/Styling_input_elements.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Styling input elements 3 | height: 122 4 | --- 5 | You can style `` elements using various color-related attributes in particular. One unusual one that is specific to text entry-related elements is the CSS [`caret-color`](/en-US/docs/Web/CSS/caret-color) property, which lets you set the color used to draw the text input caret. 6 | 7 | For more information about adding color to elements in HTML, see [Applying color to HTML elements using CSS](/en-US/docs/Web/HTML/Applying_color). 8 | 9 | ```html 10 | 11 | 12 | ``` 13 | 14 | ```css 15 | input.custom { 16 | caret-color: red; 17 | font: 16px "Helvetica", "Arial", "sans-serif" 18 | } 19 | ``` 20 | -------------------------------------------------------------------------------- /scripts/linter/collect-recipes.js: -------------------------------------------------------------------------------- 1 | const fs = require("fs"); 2 | const path = require("path"); 3 | const yaml = require("js-yaml"); 4 | 5 | const collectedRecipes = {}; 6 | 7 | /** 8 | * Returns an object consisting of recipe names and objects from the parsed YAML for each recipe. 9 | */ 10 | function collectRecipes(start = "recipes") { 11 | function loadRecipes() { 12 | const files = fs.readdirSync(start); 13 | for (const f of files) { 14 | const fp = path.join(start, f); 15 | const recipeName = path.basename(f, ".yaml"); 16 | const yamlObj = yaml.safeLoad(fs.readFileSync(fp)); 17 | 18 | collectedRecipes[recipeName] = yamlObj; 19 | } 20 | } 21 | 22 | if (Object.entries(collectedRecipes).length === 0) { 23 | loadRecipes(); 24 | } 25 | 26 | return collectedRecipes; 27 | } 28 | 29 | module.exports = collectRecipes; 30 | -------------------------------------------------------------------------------- /content/en-US/html/reference/elements/input/attributes/readonly.md: -------------------------------------------------------------------------------- 1 | --- 2 | specifications: https://html.spec.whatwg.org/multipage/input.html#attr-input-readonly 3 | --- 4 | # `readonly` 5 | 6 | A Boolean attribute which, if present, indicates that the user should not be able to edit the value of the input. 7 | 8 | The difference between `disabled` and `readonly` is that read-only controls can still function, whereas disabled controls generally do not function as controls until they are enabled. 9 | 10 | **Note:** The `required` attribute is not permitted on inputs with the `readonly` attribute specified. 11 | 12 | **Note:** Only text controls can be made read-only, since for other controls (such as checkboxes and buttons) there is no useful distinction between being read-only and being disabled, so the `readonly` attribute does not apply. 13 | 14 | ## Type 15 | 16 | Boolean 17 | -------------------------------------------------------------------------------- /scripts/scraper-ng/rules/html-require-recipe-ingredients/ingredient-handlers/data-browser-compatibility.js: -------------------------------------------------------------------------------- 1 | const visit = require("unist-util-visit"); 2 | 3 | const utils = require("./utils.js"); 4 | 5 | /** 6 | * Handler for the `data.browser_compatibility` ingredient. 7 | */ 8 | const handleDataBrowserCompatibility = utils.sectionHandler( 9 | "Browser_compatibility", 10 | (section, logger) => { 11 | let macroCount = 0; 12 | visit( 13 | section, 14 | (node) => utils.isMacro(node, "Compat"), 15 | () => { 16 | macroCount += 1; 17 | } 18 | ); 19 | 20 | if (macroCount !== 1) { 21 | const heading = section.children[0]; 22 | logger.expected(heading, "Compat macro", "expected-macro"); 23 | return false; 24 | } 25 | 26 | return true; 27 | } 28 | ); 29 | 30 | module.exports = handleDataBrowserCompatibility; 31 | -------------------------------------------------------------------------------- /scripts/build-json/compose-interactive-example.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Content authors provide keyword values for the height of the iframe needed 3 | * for their example. We map keywords to pixel values here. 4 | */ 5 | const keywordToPixels = { 6 | "js-short": 410, 7 | "js-standard": 490, 8 | "js-tall": 692, 9 | "css-standard": 390, 10 | "html-short": 375, 11 | "html-standard": 445, 12 | "html-tall": 655, 13 | }; 14 | 15 | function packageInteractiveExample(interactiveExampleSpec) { 16 | const heightInPixels = keywordToPixels[interactiveExampleSpec.height]; 17 | if (!heightInPixels) { 18 | throw new Error( 19 | `Unrecognized value for interactive_examples.height: ${interactiveExampleSpec.height}` 20 | ); 21 | } 22 | return { 23 | url: interactiveExampleSpec.url, 24 | height: heightInPixels, 25 | }; 26 | } 27 | 28 | module.exports = { 29 | packageInteractiveExample, 30 | }; 31 | -------------------------------------------------------------------------------- /content/en-US/html/reference/elements/body/body.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: ': The Document Body element' 3 | short_title: 4 | mdn_url: /en-US/docs/Web/HTML/Element/body 5 | specifications: https://html.spec.whatwg.org/multipage/semantics.html#the-body-element 6 | tags: 7 | group: Sectioning root 8 | api: HTMLBodyElement 9 | permitted_aria_roles: none 10 | tag_omission: yes 11 | browser_compatibility: html.elements.body 12 | examples: 13 | - examples/simple-example.md 14 | attributes: 15 | global: /content/html/global_attributes 16 | recipe: html-element 17 | --- 18 | 19 | ## Short description 20 | 21 | The **HTML `` Element** represents the content of an HTML 22 | document. 23 | 24 | ## Description 25 | 26 | There can be only one `` element in a document. 27 | 28 | ## See also 29 | 30 | - [``](/en-US/docs/Web/HTML/Element/html) 31 | - [``](/en-US/docs/Web/HTML/Element/head) 32 | -------------------------------------------------------------------------------- /scripts/scraper-ng/plugins/index-tree.js: -------------------------------------------------------------------------------- 1 | const visit = require("unist-util-visit"); 2 | 3 | /** 4 | * Annotate every node with `node.data.pageIndex`, its index in the original 5 | * tree in a [preorder](https://github.com/syntax-tree/unist#preorder) 6 | * traversal. 7 | * 8 | * For example, given some tree based on the HTML: 9 | * 10 | * ```html 11 | * Some text 12 | * ``` 13 | * 14 | * The `data.pageIndex` `for `` is `0` and `data.pageIndex` for the 15 | * literal `Some text` is 2. 16 | * 17 | */ 18 | function indexTreePlugin() { 19 | return function transformer(tree) { 20 | let pageIndex = -1; 21 | visit(tree, (node) => { 22 | pageIndex = pageIndex + 1; 23 | 24 | if (node.data == undefined) { 25 | node.data = {}; 26 | } 27 | 28 | node.data.pageIndex = pageIndex; 29 | }); 30 | }; 31 | } 32 | 33 | module.exports = indexTreePlugin; 34 | -------------------------------------------------------------------------------- /content/en-US/html/reference/elements/input-button/contributors.md: -------------------------------------------------------------------------------- 1 | [mdnwebdocs-bot](/en-US/profiles/mdnwebdocs-bot), 2 | [bripmccann](/en-US/profiles/bripmccann), 3 | [mfuji09](/en-US/profiles/mfuji09), 4 | [chrisdavidmills](/en-US/profiles/chrisdavidmills), 5 | [vriojtg](/en-US/profiles/vriojtg), 6 | [wbamberg](/en-US/profiles/wbamberg), 7 | [connorshea](/en-US/profiles/connorshea), 8 | [SphinxKnight](/en-US/profiles/SphinxKnight), 9 | [zixuan75](/en-US/profiles/zixuan75), 10 | [chharvey](/en-US/profiles/chharvey), 11 | [Sheppy](/en-US/profiles/Sheppy), 12 | [rudijuri](/en-US/profiles/rudijuri), 13 | [0918nobita](/en-US/profiles/0918nobita), 14 | [Lemondoge](/en-US/profiles/Lemondoge), 15 | [fscholz](/en-US/profiles/fscholz), 16 | [Sebastianz](/en-US/profiles/Sebastianz), 17 | [TylerH](/en-US/profiles/TylerH), 18 | [teoli](/en-US/profiles/teoli), 19 | [sidgan](/en-US/profiles/sidgan), 20 | [kscarfone](/en-US/profiles/kscarfone) 21 | -------------------------------------------------------------------------------- /content/en-US/html/reference/elements/input/attributes/disabled.md: -------------------------------------------------------------------------------- 1 | --- 2 | specifications: https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#attr-fe-disabled 3 | --- 4 | # `disabled` 5 | 6 | A Boolean attribute which, if present, indicates that the user should not be able to interact with the input. Disabled inputs are typically rendered with a dimmer color or using some other form of indication that the field is not available for use. 7 | 8 | Specifically, disabled inputs do not receive the `click` event, and disabled inputs are not submitted with the form. 9 | 10 | **Note:** Although not required by the specification, Firefox will by default [persist the dynamic disabled state](https://stackoverflow.com/questions/5985839/bug-with-firefox-disabled-attribute-of-input-not-resetting-when-refreshing) of an `` across page loads. Use the `autocomplete` attribute to control this feature. 11 | 12 | ## Type 13 | 14 | Boolean 15 | -------------------------------------------------------------------------------- /content/en-US/javascript/reference/classes/map/instance_methods/keys/keys.md: -------------------------------------------------------------------------------- 1 | --- 2 | recipe: javascript-method 3 | title: 'Map.prototype.keys()' 4 | short_title: keys() 5 | mdn_url: /en-US/docs/Web/JavaScript/Reference/Global_Objects/Map/keys 6 | interactive_example: 7 | url: https://interactive-examples.mdn.mozilla.net/pages/js/map-prototype-keys.html 8 | height: js-standard 9 | examples: 10 | - examples/simple-example.md 11 | specifications: https://tc39.es/ecma402/#sup-bigint.prototype.tolocalestring 12 | browser_compatibility: javascript.builtins.Map.keys 13 | --- 14 | ## Syntax 15 | 16 | ``` 17 | myMap.keys() 18 | ``` 19 | 20 | ### Return value 21 | 22 | A new [`Map`](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map) iterator object. 23 | 24 | ## See also 25 | 26 | - [`Map.prototype.entries()`](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map/entries) 27 | - [`Map.prototype.values()`](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map/values) 28 | -------------------------------------------------------------------------------- /scripts/scraper-ng/rules/html-require-recipe-ingredients/ingredient-handlers/data-specifications.js: -------------------------------------------------------------------------------- 1 | const visit = require("unist-util-visit"); 2 | 3 | const utils = require("./utils.js"); 4 | 5 | /** 6 | * Handler for the `data.specifications` ingredient. 7 | */ 8 | const handleDataSpecifications = utils.sectionHandler( 9 | "Specifications", 10 | (section, logger) => { 11 | let sectionOk = false; 12 | visit(section, "text", (node) => { 13 | if (utils.isMacro(node, "SpecName")) { 14 | sectionOk = true; 15 | return visit.SKIP; 16 | } 17 | 18 | if (node.value.includes("Not part of any standard")) { 19 | sectionOk = true; 20 | return visit.SKIP; 21 | } 22 | }); 23 | 24 | if (!sectionOk) { 25 | logger.expected(section.children[0], "SpecName macro", "expected-macro"); 26 | return false; 27 | } 28 | 29 | return true; 30 | } 31 | ); 32 | 33 | module.exports = handleDataSpecifications; 34 | -------------------------------------------------------------------------------- /content/fr/html/reference/elements/video/examples/exemple-avec-plusieurs-sources.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Exemple avec plusieurs videos 3 | width: 640 4 | height: 370 5 | --- 6 | 7 | Test 8 | 9 | ```html 10 | 11 | 12 | 13 | 26 | ``` 27 | -------------------------------------------------------------------------------- /content/en-US/javascript/reference/classes/bigint/bigint/BigInt.md: -------------------------------------------------------------------------------- 1 | --- 2 | recipe: javascript-constructor 3 | title: 'BigInt() constructor' 4 | short_title: BigInt() 5 | mdn_url: /en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt/BigInt 6 | examples: 7 | - examples/construct.md 8 | specifications: https://tc39.es/ecma262/#sec-bigint-constructor 9 | browser_compatibility: javascript.builtins.BigInt.BigInt 10 | --- 11 | ## Short description 12 | 13 | The **`BigInt()`** constructor is used to create [`BigInt`](/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt) objects. 14 | 15 | ## Syntax 16 | 17 | ``` 18 | BigInt(value); 19 | ``` 20 | 21 | ### Parameters 22 | 23 | - `value` 24 | 25 | The numeric value of the object being created. May be a string or an integer. 26 | 27 | **Note**: `BigInt()` is not used with the [`new`](/en-US/docs/Web/JavaScript/Reference/Operators/new) operator. 28 | 29 | ## See also 30 | 31 | - [`BigInt`](/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt) class 32 | -------------------------------------------------------------------------------- /content/en-US/html/reference/elements/input/attributes/readonly-checkbox.md: -------------------------------------------------------------------------------- 1 | --- 2 | specifications: https://html.spec.whatwg.org/multipage/input.html#attr-input-readonly 3 | --- 4 | # `readonly` 5 | 6 | A Boolean attribute indicating whether or not the value of this checkbox can be changed by the user. Note that since the value of the checkbox is not exposed by the browser to the user this attribute only changes the appearance of the checkbox, typically by displaying with a gray rather than black outline and gray rather than white background when not checked. However this attribute does not apply to the checked state of the attribute, which can still be altered by the user. If you also want to prevent the user from changing the checked state of the element you must also specify the disabled attribute. However if you do specify the disabled attribute in order to prevent the user from changing the checked state note that the value of the element will not be passed to the application when the form is submitted. 7 | 8 | ## Type 9 | 10 | Boolean 11 | -------------------------------------------------------------------------------- /content/en-US/html/reference/elements/video/attributes/autoplay.md: -------------------------------------------------------------------------------- 1 | --- 2 | browser-compatibility: html.elements.video.autoplay 3 | specifications: https://html.spec.whatwg.org/multipage/media.html#attr-media-autoplay 4 | --- 5 | 6 | # `autoplay` 7 | 8 | A Boolean attribute; if specified, the video automatically begins to play back as soon as it can do so without stopping to finish loading the data. 9 | 10 | **Note**: Sites that automatically play audio (or video with an audio track) can be an unpleasant experience for users, so it should be avoided when possible. If you must offer autoplay functionality, you should make it opt-in (requiring a user to specifically enable it). However, this can be useful when creating media elements whose source will be set at a later time, under user control. 11 | 12 | To disable video autoplay, `autoplay="false"` will not work; the video will autoplay if the attribute is there in the `