diff --git a/docs/ko/guides/glossary-guide.md b/docs/ko/guides/glossary-guide.md index b3a7706cc4df67..b1688f2a8b6a2c 100644 --- a/docs/ko/guides/glossary-guide.md +++ b/docs/ko/guides/glossary-guide.md @@ -22,9 +22,9 @@ ## 용어 안내서 `참고 링크` 우선 순위 -- 1. 해당 단어에 대한 의견을 나눈 PR 링크 -- 2. 적절한 ko MDN 문서 링크 -- 3. 적절한 en-us MDN 문서 링크 +1. 해당 단어에 대한 의견을 나눈 PR 링크 +2. 적절한 ko MDN 문서 링크 +3. 적절한 en-us MDN 문서 링크 ## Section Title diff --git a/files/es/learn/common_questions/web_mechanics/pages_sites_servers_and_search_engines/index.md b/files/es/learn/common_questions/web_mechanics/pages_sites_servers_and_search_engines/index.md index 04c01fd0868190..21d9737960e25f 100644 --- a/files/es/learn/common_questions/web_mechanics/pages_sites_servers_and_search_engines/index.md +++ b/files/es/learn/common_questions/web_mechanics/pages_sites_servers_and_search_engines/index.md @@ -1,6 +1,8 @@ --- title: ¿Cuál es la diferencia entre la página web, el sitio web, el servidor web y el motor de búsqueda? slug: Learn/Common_questions/Web_mechanics/Pages_sites_servers_and_search_engines +l10n: + sourceCommit: 9de3d03957f1d66f02f45400a6981372aa368c1f --- {{QuicklinksWithSubPages("Learn/Common_questions")}} @@ -30,12 +32,12 @@ En este artículo se describen varios conceptos referidos a la web: Páginas web ## Resumen -Como cualquier área de conocimiento, la web viene con un montón de jerga. No te preocupes, no te abrumaremos con todo esto (tenemos un glosario por si tienes curiosidad). Sin embargo, hay unos términos básicos que necesitas entender al principio, ya que escucharás estas expresiones todo el tiempo mientras lees. A veces es fácil de confundir estos términos, puesto que hacen referencia a funcionalidades relacionadas pero diferentes. De hecho, a veces veras estos términos mal utilizados en las noticias y en otros lugares ¡por lo que llegar a mezclarlos es entendible! +Como cualquier área de conocimiento, la web viene con un montón de jerga. No te preocupes, no te abrumaremos con todo esto (tenemos un [glosario](/es/docs/Glossary) por si tienes curiosidad). Sin embargo, hay unos términos básicos que necesitas entender al principio, ya que escucharás estas expresiones todo el tiempo mientras lees. A veces es fácil de confundir estos términos, puesto que hacen referencia a funcionalidades relacionadas pero diferentes. De hecho, a veces veras estos términos mal utilizados en las noticias y en otros lugares ¡por lo que llegar a mezclarlos es entendible! Cubriremos estos términos y tecnologías con más detalle mientras exploramos más, pero estas definiciones rápidas serán un gran comienzo para ti: - Página web - - : Un documento que se puede mostrar en un navegador web como Firefox, Google Chrome, Microsoft Internet Explorer o Edge, o Safary de Apple. A menudo se las denomina simplemente "páginas". + - : Un documento que se puede mostrar en un navegador web como Firefox, Google Chrome, Microsoft Edge, o Safari de Apple. A menudo se las denomina simplemente "páginas". - Sitio web - : Es una colección de páginas web agrupadas y que normalmente se conectan entre sí de varias maneras. A menudo llamados simplemente "sitios". - Servidor web @@ -56,7 +58,9 @@ Vamos a comparar la biblioteca con un servidor web: - Los libros en cada sección son como páginas web. Un sitio web puede tener varias páginas web, por ejemplo, la sección de Ciencias (el sitio web) tendrá libros sobre calor, sonido, termodinámica, estadísticas, etc. (las páginas web). Cada una de las páginas web puede ser encontrada en una ubicación única (URL). - El índice de búsqueda es como el motor de búsqueda. Cada libro tiene su propia ubicación única en la biblioteca (dos libros no se pueden mantener en el mismo lugar) que se especifica mediante el número de catálogo. -_No esta disponible aprendizaje activo aun. [Por favor, considere la posibilidad de contribuir](/es/docs/MDN/Getting_started)._ +## Aprendizaje activo + +_Todavía no hay ningún aprendizaje activo disponible. [Por favor, considere la posibilidad de contribuir](/es/docs/MDN/Getting_started)._ ## Profundizando @@ -64,30 +68,32 @@ Entonces, vamos a profundizar en cómo estos cuatro términos serán relacionado ### Página web -Una **página web** es un simple documento que puede ser mostrado por un {{Glossary("browser")}}. Estos documentos están escritos en lenguaje {{Glossary("HTML")}} (el que veremos en más detalle en [otros artículos](/es/docs/Web/HTML)). Una página web puede incluir una variedad de diferentes tipos de recursos, tales como: +Una **página web** es un simple documento que puede ser mostrado por un {{Glossary("browser", "navegador")}}. Estos documentos están escritos en lenguaje {{Glossary("HTML")}} (el que veremos en más detalle en [otros artículos](/es/docs/Web/HTML)). Una página web puede incluir una variedad de diferentes tipos de recursos, tales como: - _información de estilos_ — para controlar la apariencia de una página - _scripts_ — que agrega interactividad a la página - _medios_ — imágenes, sonidos, y vídeos. > [!NOTE] -> Los buscadores pueden mostrar distintos tipos de documentos, como archivos {{Glossary("PDF")}} o imágenes. Pero el término **página web** específicamente hace referencia a documentos HTML. Para los demás, usaremos sólo el termino **document**(documento). +> Los navegadores pueden mostrar distintos tipos de documentos, como archivos {{Glossary("PDF")}} o imágenes. Pero el término **página web** específicamente hace referencia a documentos HTML. Para los demás, usaremos sólo el término **document**(documento). -Todas las páginas web disponibles en la red son accesibles mediante una dirección única. Para acceder a una página, simplemente escribe su direcciones en la barra de búsqueda de tu navegador: +Todas las páginas web disponibles en la red son accesibles mediante una dirección única. Para acceder a una página, simplemente escribe su dirección en la barra de búsqueda de tu navegador: ![Ejemplo de dirección de una página web en la barra de direcciones del navegador](web-page.jpg) -Un _sitio web_ es una colección de páginas web vinculadas (más sus recursos asociados) que comparten un único nombre de dominio. Cada página web de un sitio web determinado proporciona enlaces explícitos —habitualmente en forma de porciones del texto en que se puede hacer clic— que permiten al usuario moverse de una página del sitio a otra. +### Sitio web + +Un _sitio web_ es una colección de páginas web vinculadas (más sus recursos asociados) que comparten un único nombre de dominio. Cada página web de un sitio web determinado proporciona enlaces explícitos —habitualmente en forma de porciones de texto sobre los que se puede hacer clic— que permiten al usuario moverse de una página del sitio a otra. -Para acceder a un sitio web, escribe su nombre de dominio en la barra de direcciones de tu buscador, y él te mostrará la página principal del sitio web, o _homepage_ (informalmente denominada "el home"): +Para acceder a un sitio web, escribe su nombre de dominio en la barra de direcciones de su navegador, y el navegador mostrará la página principal del sitio web, o _página de inicio_ (conocida casualmente como "inicio"): ![Ejemplo de nombre de dominio de un sitio web en la barra de direcciones del navegador](web-site.jpg) -_Página web_ y _sitio web_ son especialmente fáciles de confundir cuando un _sitio_ contiene una única _página web_ Tales sitios son denominados _sitios de una sola página._ +Note que también es posible tener _sitios web de una sola página_: un sitio que consta de una sola página web, la cual es actualizada dinamicamente con nuevo contenido cuando es necesario. ### Servidor web -Un _servidor web_ es una computadora que aloja uno o mas _sitios web_. "Alojar" (_hosting_) significa que todas las _páginas web_ y sus archivos soportes están disponibles en esa computadora. El _servidor web_ enviará cualquier _página web_ del _sitio web_ que aloja, al navegador de cualquier usuario, por cada solicitud del usuario. +Un _servidor web_ es una computadora que aloja uno o mas _sitios web_. "Alojar" (_hosting_) significa que todas las _páginas web_ y sus archivos base están disponibles en esa computadora. El _servidor web_ enviará cualquier _página web_ del _sitio web_ que aloja, al navegador de cualquier usuario, por cada solicitud del usuario. No confundir _sito web_ y _servidor web_. Por ejemplo, la expresión "Mi sitio web no responde", en realidad significa que el _servidor web_ no responde y, por lo tanto, el _sitio web_ no está disponible. Más importante aún, dado que un servidor web puede alojar varios sitios web, la expresión _servidor web_ nunca se utiliza para designar un sitio web, pues podría causar una gran confusión. En nuestro ejemplo anterior, si dijéramos: "Mi servidor web no responde", significaría que múltiples sitios web alojados en ese servidor web no están disponibles. @@ -95,7 +101,7 @@ No confundir _sito web_ y _servidor web_. Por ejemplo, la expresión "Mi sitio w Los buscadores son una fuente común de confusión en la web. Un buscador es un tipo especial de sitio web que ayuda a los usuarios a encontrar páginas web de otros sitios web. -Hay muchos por ahí: [Google](https://www.google.com/), [Bing](https://www.bing.com/), [Yandex](https://www.yandex.com/), [DuckDuckGo](https://duckduckgo.com/),y muchos mas. Algunos son genéricos, otros están especializados en ciertos temas. Utilice los que prefiera. +Hay muchos por ahí: [Google](https://www.google.com/), [Bing](https://www.bing.com/), [Yandex](https://www.yandex.com/), [DuckDuckGo](https://duckduckgo.com/),y muchos más. Algunos son genéricos, otros están especializados en ciertos temas. Utilice los que prefiera. Muchos principiantes en la web confunden motores de búsqueda con navegadores. Aclaremos esto: Un _**navegador**_ es una pieza de software que obtiene y muestra páginas web; un **_buscador_** es un sitio web que ayuda a las personas a encontrar páginas web alojadas en otros sitios web. La confusión surge porque la primera vez que alguien inicia un navegador, el navegador muestra la página principal de un motor de búsqueda. Esto tiene sentido, porque, obviamente, lo primero que quieres hacer con un navegador es encontrar una página web para mostrar. No confundas la infraestructura (el navegador) con el servicio (el buscador). La distinción te ayudará un poco, pero incluso algunos profesionales hablan imprecisamente, así que no te sientas angustiado por eso. diff --git a/files/es/web/css/animation-fill-mode/index.md b/files/es/web/css/animation-fill-mode/index.md index 30e0c7c6b796da..cc7bcd1f61f824 100644 --- a/files/es/web/css/animation-fill-mode/index.md +++ b/files/es/web/css/animation-fill-mode/index.md @@ -37,21 +37,27 @@ animation-fill-mode: unset; - `none` - : La animación no aplicará los estilos antes ni después de su ejecución. - `forwards` + - : El objeto sobre el que se aplica la animación quedará con los valores y estilos que le aplique el último keyframe de la ejecución de la animación. El último valor dependerá del valor de {{ cssxref("animation-direction") }} y {{ cssxref("animation-iteration-count") }}: + | `animation-direction` | `animation-iteration-count` | ultimo keyframe encontrado | | --------------------- | --------------------------- | -------------------------- | - | `normal` | even o odd | `100%` or `to` | - | `reverse` | even o odd | `0%` or `from` | - | `alternate` | even | `0%` or `from` | - | `alternate` | odd | `100%` or `to` | - | `alternate-reverse` | even | `100%` or `to` | - | `alternate-reverse` | odd | `0%` or `from` | + | `normal` | even o odd | `100%` or `to` | + | `reverse` | even o odd | `0%` or `from` | + | `alternate` | even | `0%` or `from` | + | `alternate` | odd | `100%` or `to` | + | `alternate-reverse` | even | `100%` or `to` | + | `alternate-reverse` | odd | `0%` or `from` | + - `backwards` + - : La animación aplicará los valores definidos en el primer [keyframe](/es/docs/CSS/@keyframes) tan pronto como se aplique al objeto, y los retendrá durante el tiempo de {{ cssxref("animation-delay") }}. El primer keyframe dependerá del valor de {{ cssxref("animation-direction") }}: - | `animation-direction` | primer keyframe | + + | `animation-direction` | primer keyframe | | ------------------------------- | --------------- | - | `normal` o `alternate` | `0%` or `from` | - | `reverse` o `alternate-reverse` | `100%` or `to` | + | `normal` o `alternate` | `0%` or `from` | + | `reverse` o `alternate-reverse` | `100%` or `to` | + - `both` - : La animación seguirá las reglas de las opciones forwards y backwards, extendiendo las propiedades de la animación en ambas direcciones. diff --git a/files/ja/web/api/wheelevent/wheelevent/index.md b/files/ja/web/api/wheelevent/wheelevent/index.md index 11c4942de4287d..4d2eaa312d910f 100644 --- a/files/ja/web/api/wheelevent/wheelevent/index.md +++ b/files/ja/web/api/wheelevent/wheelevent/index.md @@ -27,7 +27,9 @@ new WheelEvent(type, options) - : イベント名の文字列です。 大文字と小文字は区別され、ブラウザーは常に `wheel` に設定します。 - `options` {{optional_inline}} + - : _{{domxref("MouseEvent/MouseEvent", "MouseEvent()")}} で定義するプロパティに加え_、以下のプロパティを持つことができるオブジェクトです。 + - `deltaX` {{optional_inline}} - : 浮動小数点数で、水平スクロール量を `deltaMode` の単位で表します。 既定値は `0.0` です。 @@ -38,12 +40,14 @@ new WheelEvent(type, options) - : 浮動小数点数で、 Z 軸のスクロール量を `deltaMode` の単位で表します。 既定値は `0.0` です。 - `deltaMode` {{optional_inline}} + - : デルタ値のスクロール量の単位を表す整数です。既定値は `0x00` です。指定できる値は以下の通りです。 - | 定数 | 値 | 説明 | + + | 定数 | 値 | 説明 | | ----------------- | ------ | ------------------------------------ | | `DOM_DELTA_PIXEL` | `0x00` | デルタ値はピクセル数で指定されます。 | - | `DOM_DELTA_LINE` | `0x01` | デルタ値は行数で指定されます。 | - | `DOM_DELTA_PAGE` | `0x02` | デルタ値はページ数で指定されます。 | + | `DOM_DELTA_LINE` | `0x01` | デルタ値は行数で指定されます。 | + | `DOM_DELTA_PAGE` | `0x02` | デルタ値はページ数で指定されます。 | ### 返値 diff --git a/files/ko/web/css/animation-iteration-count/index.md b/files/ko/web/css/animation-iteration-count/index.md index 6745e5c7d90659..30c77fbe607c44 100644 --- a/files/ko/web/css/animation-iteration-count/index.md +++ b/files/ko/web/css/animation-iteration-count/index.md @@ -111,7 +111,6 @@ animation-iteration-count: unset; ## 같이 보기 -- [CSS 애니메이션 사용하기 - ](/ko/docs/Web/CSS/CSS_animations/Using_CSS_animations) +- [CSS 애니메이션 사용하기](/ko/docs/Web/CSS/CSS_animations/Using_CSS_animations) - JavaScript {{domxref("AnimationEvent")}} API - 애니메이션과 관련된 다른 CSS 속성: {{cssxref("animation")}}, {{cssxref("animation-composition")}}, {{cssxref("animation-delay")}}, {{cssxref("animation-direction")}}, {{cssxref("animation-duration")}}, {{cssxref("animation-fill-mode")}}, {{cssxref("animation-name")}}, {{cssxref("animation-play-state")}}, {{cssxref("animation-timeline")}}, {{cssxref("animation-timing-function")}} diff --git a/files/ko/web/javascript/reference/global_objects/symbol/species/index.md b/files/ko/web/javascript/reference/global_objects/symbol/species/index.md index be23fbb19c5c8d..78fad31c9976a0 100644 --- a/files/ko/web/javascript/reference/global_objects/symbol/species/index.md +++ b/files/ko/web/javascript/reference/global_objects/symbol/species/index.md @@ -9,8 +9,7 @@ l10n: **`Symbol.species`** 정적 데이터 속성은 [잘 알려진 심볼](/ko/docs/Web/JavaScript/Reference/Global_Objects/Symbol#잘_알려진_심볼) `Symbol.species`을 나타냅니다. 객체의 복사본을 생성하는 메서드는 생성자 함수가 복사본을 만들 때 사용할 객체에서 이 심볼을 검색할 수 있습니다. -> [!WARNING] -> `Symbol.species`가 존재하면 임의의 코드가 실행될 수 있으며 보안 취약점이 발생할 수 있습니다. 또한 특정 최적화를 훨씬 더 어렵게 만듭니다. 엔진 구현자는 [이 기능을 제거할지 여부를 조사](https://github.com/tc39/proposal-rm-builtin-subclassing)하고 있습니다. 가능하면 이 기능을 사용하지 마세요. +> **경고:** `Symbol.species`가 존재하면 임의의 코드가 실행될 수 있으며 보안 취약점이 발생할 수 있습니다. 또한 특정 최적화를 훨씬 더 어렵게 만듭니다. 엔진 구현자는 [이 기능을 제거할지 여부를 조사](https://github.com/tc39/proposal-rm-builtin-subclassing)하고 있습니다. 가능하면 이 기능을 사용하지 마세요. {{EmbedInteractiveExample("pages/js/symbol-species.html")}} diff --git a/files/ru/web/http/authentication/index.md b/files/ru/web/http/authentication/index.md index d272e5aeb1539f..d31e968ba9d8c2 100644 --- a/files/ru/web/http/authentication/index.md +++ b/files/ru/web/http/authentication/index.md @@ -170,8 +170,7 @@ https://username:password@www.example.com/ ``` **Использование таких URL-адресов устарело**. В браузере Chrome в URL-адресах часть -`username:password@` даже[ -вырезана](https://bugs.chromium.org/p/chromium/issues/detail?id=82250#c7) из соображений безопасности. В браузере Firefox, проверяется, действительно ли сайт требует +`username:password@` даже[вырезана](https://bugs.chromium.org/p/chromium/issues/detail?id=82250#c7) из соображений безопасности. В браузере Firefox, проверяется, действительно ли сайт требует аутентификации и если нет, тогда Firefox предупредит пользователя запросом (prompt) "You are about to log in to the site "www\.example.com" with the username "username", but the website does not require authentication. This may be an attempt to trick you.". diff --git a/files/zh-cn/glossary/breadcrumb/index.md b/files/zh-cn/glossary/breadcrumb/index.md index 50d098c155b10b..850cc3c8f7c12e 100644 --- a/files/zh-cn/glossary/breadcrumb/index.md +++ b/files/zh-cn/glossary/breadcrumb/index.md @@ -21,8 +21,7 @@ l10n: ## 参见 - [面包屑导航](/zh-CN/docs/Web/CSS/Layout_cookbook/Breadcrumb_Navigation) -- [ - Google 搜索中心:面包屑结构化数据](https://developers.google.cn/search/docs/appearance/structured-data/breadcrumb) +- [Google 搜索中心:面包屑结构化数据](https://developers.google.cn/search/docs/appearance/structured-data/breadcrumb) - [APG 指南:Breadcrumb 示例](https://www.w3.org/WAI/ARIA/apg/patterns/breadcrumb/examples/breadcrumb/) - [理解成功标准 2.4.8 | W3C 理解 WCAG 2.2](https://www.w3.org/WAI/WCAG22/Understanding/location) - [理解技术 65 | W3C 理解 WCAG 2.2](https://www.w3.org/WAI/WCAG22/Techniques/general/G65) diff --git a/files/zh-cn/learn/html/introduction_to_html/advanced_text_formatting/index.md b/files/zh-cn/learn/html/introduction_to_html/advanced_text_formatting/index.md index 82adde8ff3c9cb..936eb083921c75 100644 --- a/files/zh-cn/learn/html/introduction_to_html/advanced_text_formatting/index.md +++ b/files/zh-cn/learn/html/introduction_to_html/advanced_text_formatting/index.md @@ -32,7 +32,7 @@ HTML 中有许多其他元素可以用于格式化文本,我们没有在 [HTML ## 描述列表 -在 HTML 基础部分,我们讨论了如何在 HTML 中[标记基本的列表](/zh-CN/docs/Learn/HTML/Introduction_to_HTML/HTML_text_fundamentals#列表_lists),但是我们没有提到你偶尔会遇到的第三种类型的列表——**描述列表**(description list)。这种列表的目的是标记一组项目及其相关描述,例如术语和定义,或者是问题和答案等。让我们看一组术语和定义的示例: +在 HTML 文本处理基础中,我们讨论了如何在 HTML 中[标记基本的列表](/zh-CN/docs/Learn/HTML/Introduction_to_HTML/HTML_text_fundamentals#列表),并且提到了你偶尔会遇到的第三种列表类型——**描述列表**(description list)。这种列表的目的是标记一组项目及其相关描述,例如术语和定义,或者是问题和答案等。让我们看一组术语和定义的示例: ```plain 内心独白 @@ -183,12 +183,12 @@ window.addEventListener("load", updateCode); // make it write a tab at the caret position instead textarea.onkeydown = (e) => { - if (e.keyCode === 9) { + if (e.code === "Tab") { e.preventDefault(); insertAtCaret("\t"); } - if (e.keyCode === 27) { + if (e.code === "Escape") { textarea.blur(); } }; @@ -417,12 +417,12 @@ window.addEventListener("load", updateCode); // make it write a tab at the caret position instead textarea.onkeydown = (e) => { - if (e.keyCode === 9) { + if (e.code === "Tab") { e.preventDefault(); insertAtCaret("\t"); } - if (e.keyCode === 27) { + if (e.code === "Escape") { textarea.blur(); } }; @@ -576,12 +576,12 @@ window.addEventListener("load", updateCode); // make it write a tab at the caret position instead textarea.onkeydown = (e) => { - if (e.keyCode === 9) { + if (e.code === "Tab") { e.preventDefault(); insertAtCaret("\t"); } - if (e.keyCode === 27) { + if (e.code === "Escape") { textarea.blur(); } }; diff --git a/files/zh-cn/learn/html/introduction_to_html/creating_hyperlinks/index.md b/files/zh-cn/learn/html/introduction_to_html/creating_hyperlinks/index.md index a1bfacffae8a16..941801abcdb857 100644 --- a/files/zh-cn/learn/html/introduction_to_html/creating_hyperlinks/index.md +++ b/files/zh-cn/learn/html/introduction_to_html/creating_hyperlinks/index.md @@ -48,7 +48,7 @@ slug: Learn/HTML/Introduction_to_HTML/Creating_hyperlinks ### 块级链接 -就像之前提到的那样,任何内容,甚至[块级内容](/zh-CN/docs/Learn/HTML/Introduction_to_HTML/Getting_started#块级元素和内联元素)都可以作为链接出现。如果想让标题元素变为链接,就把它包裹在锚点元素(``)内,像这个代码段一样: +就像之前提到的那样,任何内容,甚至{{Glossary("Block/CSS", "块级元素")}}都可以作为链接出现。如果想让标题元素变为链接,就把它包裹在锚点元素(``)内,像这个代码段一样: ```html @@ -63,7 +63,7 @@ slug: Learn/HTML/Introduction_to_HTML/Creating_hyperlinks ### 图片链接 -如果有需要作为链接的图片,使用 {{htmlelement("a")}} 元素来包裹要引用图片的 {{htmlelement("img")}} 元素。 +如果有需要作为链接的图片,使用 {{htmlelement("a")}} 元素来包裹要引用图片的 {{htmlelement("img")}} 元素。下面的示例使用相对路径来引用本地存储的 SVG 图像文件。 ```css hidden img { @@ -75,7 +75,7 @@ img { ```html - MDN Web 文档主页 + MDN Web 文档 ``` @@ -92,10 +92,11 @@ img { ```html

- 我创建了一个指向Mozilla 主页 + Mozilla 主页的超链接。

``` @@ -207,13 +208,15 @@ URL 使用路径查找文件。路径指定文件系统中你感兴趣的文件 **好的**链接文本:[下载 Firefox](https://www.mozilla.org/zh-CN/firefox/new/?redirect_source=firefox-com) ```html example-good -

下载 Firefox

+

下载 Firefox

``` -**不好的**链接文本:[点击这里](https://www.mozilla.org/firefox/)下载 Firefox +**不好的**链接文本:[点击这里](https://www.mozilla.org/zh-CN/firefox/)下载 Firefox ```html example-bad -

点击这里 下载 Firefox

+

+ 点击这里 下载 Firefox +

``` 其他提示: @@ -312,7 +315,7 @@ URL 使用路径查找文件。路径指定文件系统中你感兴趣的文件 ``` > [!NOTE] -> 每个字段的值必须使用 URL 编码,即使用[百分号转义的](https://zh.wikipedia.org/wiki/百分号编码)非打印字符(不可见字符如制表符、换行符、分页符)和空格。同时注意使用问号(`?`)来分隔主 URL 与参数值,以及使用 & 符来分隔 `mailto:` URL 中的各个参数。这是标准的 URL 查询标记方法。阅读 [GET 方法](/zh-CN/docs/Learn/Forms/Sending_and_retrieving_form_data#get_方法)以了解哪种 URL 查询标记方法是更常用的。 +> 每个字段的值必须使用 URL 编码,即使用{{Glossary("Percent-encoding", "百分号转义")}}的非打印字符(不可见字符如制表符、换行符、分页符)和空格。同时注意使用问号(`?`)来分隔主 URL 与参数值,以及使用 & 符来分隔 `mailto:` URL 中的各个参数。这是标准的 URL 查询标记方法。阅读 [GET 方法](/zh-CN/docs/Learn/Forms/Sending_and_retrieving_form_data#get_方法)以了解哪种 URL 查询标记方法是更常用的。 这里有一些其他的示例 `mailto` 链接: diff --git a/files/zh-cn/learn/javascript/first_steps/what_is_javascript/index.md b/files/zh-cn/learn/javascript/first_steps/what_is_javascript/index.md index f8e726a49b3718..290412060f85b1 100644 --- a/files/zh-cn/learn/javascript/first_steps/what_is_javascript/index.md +++ b/files/zh-cn/learn/javascript/first_steps/what_is_javascript/index.md @@ -33,42 +33,40 @@ JavaScript 是一种脚本编程语言,它可以在网页上实现复杂的功 这三层依次建立,秩序井然。以简单文本标签作为示例。首先用 HTML 将文本标记起来,从而赋予它结构和目的: ```html -

Player 1: Chris

+ ``` -![作为纯文本段落出现的“Player 1: Chris”](just-html.png) +![没有样式的“Player 1: Chris”按钮](just-html.png) 然后我们可以为它加一点 CSS 让它更好看: ```css -p { +button { font-family: "helvetica neue", helvetica, sans-serif; letter-spacing: 1px; text-transform: uppercase; - text-align: center; - border: 2px solid rgb(0 0 200 / 0.6); - background: rgb(0 0 200 / 0.6); - color: rgb(255 255 255 / 1); - box-shadow: 1px 1px 2px rgb(0 0 200 / 0.4); + border: 2px solid rgb(200 200 0 / 60%); + background-color: rgb(0 217 217 / 60%); + color: rgb(100 0 0 / 100%); + box-shadow: 1px 1px 2px rgb(0 0 200 / 40%); border-radius: 10px; padding: 3px 10px; - display: inline-block; cursor: pointer; } ``` -![已添加样式的“Player 1: Chris”段落](html-and-css.png) +![已添加样式的“Player 1: Chris”按钮](html-and-css.png) 最后,我们可以再加上一些 JavaScript 来实现动态行为: ```js -const para = document.querySelector("p"); +const button = document.querySelector("button"); -para.addEventListener("click", updateName); +button.addEventListener("click", updateName); function updateName() { - const name = prompt("Enter a new name"); - para.textContent = `Player 1: ${name}`; + const name = prompt("请输入新的名字"); + button.textContent = `Player 1: ${name}`; } ``` @@ -100,7 +98,7 @@ API 通常分为两类。 - {{domxref("Document_Object_Model","文档对象模型 API","","nocode")}} 能通过创建、移除和修改 HTML,为页面动态应用新样式等手段来操作 HTML 和 CSS。比如当某个页面出现了一个弹窗,或者显示了一些新内容(像上文小演示中看到那样),这就是 DOM 在运行。 - {{domxref("Geolocation","地理位置 API","","nocode")}} 获取地理信息。这就是为什么[谷歌地图](https://www.google.com/maps)可以找到你的位置,而且标示在地图上。 - {{domxref("Canvas_API","画布(Canvas)","","nocode")}} 和 {{domxref("WebGL_API","WebGL","","nocode")}} API 可以创建生动的 2D 和 3D 图像。人们正运用这些 web 技术制作令人惊叹的作品。参见 [Chrome Experiments](https://experiments.withgoogle.com/collection/chrome) 以及 [webglsamples](https://webglsamples.org/)。 -- 诸如 {{domxref("HTMLMediaElement")}} 和 {{domxref("WebRTC API", "WebRTC","","nocode")}} 等[影音类 API](/zh-CN/docs/Web/Guide/Audio_and_video_delivery) 让你可以利用多媒体做一些非常有趣的事,比如在网页中直接播放音乐和影片,或用自己的网络摄像头获取录像,然后在其他人的电脑上展示(试用简易版[截图演示](http://chrisdavidmills.github.io/snapshot/)以理解这个概念)。 +- 诸如 {{domxref("HTMLMediaElement")}} 和 {{domxref("WebRTC API", "WebRTC","","nocode")}} 等[影音类 API](/zh-CN/docs/Web/Media/Audio_and_video_delivery) 让你可以利用多媒体做一些非常有趣的事,比如在网页中直接播放音乐和影片,或用自己的网络摄像头获取录像,然后在其他人的电脑上展示(试用简易版[截图演示](http://chrisdavidmills.github.io/snapshot/)以理解这个概念)。 > [!NOTE] > 上述很多演示都不能在旧浏览器中运行。推荐你在测试代码时使用诸如 Firefox、Chrome、Edge 或者 Opera 等现代浏览器。当代码即将交付生产环境时(也就是真实的客户即将使用真实的代码时),你还需要深入考虑[跨平台测试](/zh-CN/docs/Learn/Tools_and_testing/Cross_browser_testing)。 @@ -123,7 +121,7 @@ API 通常分为两类。 ![当页面加载时,HTML、CSS 和 JavaScript 代码共同创建浏览器标签页中的内容](execution.png) -JavaScript 的一个非常常见的用途是通过文档对象模型 API(如上所述)动态修改 HTML 和 CSS,以更新用户界面。请注意,网页文档中的代码通常按照其在页面上出现的顺序加载和执行。如果 JavaScript 先于要修改的 HTML 和 CSS 加载和运行,则可能发生错误。你将在本文后面的[脚本加载策略](#脚本加载策略)部分了解到解决这个问题的方法。 +JavaScript 的一个非常常见的用途是通过文档对象模型 API(如上所述)动态修改 HTML 和 CSS,以更新用户界面。 ### 浏览器安全 @@ -137,19 +135,19 @@ JavaScript 的一个非常常见的用途是通过文档对象模型 API(如 当浏览器执行到一段 JavaScript 代码时,通常会按从上往下的顺序执行这段代码。这意味着你需要注意代码书写的顺序。比如,我们回到第一个例子中的 JavaScript 代码: ```js -const para = document.querySelector("p"); +const button = document.querySelector("button"); -para.addEventListener("click", updateName); +button.addEventListener("click", updateName); function updateName() { const name = prompt("输入一个新的名字:"); - para.textContent = `玩家 1:${name}`; + button.textContent = `玩家 1:${name}`; } ``` -这里我们选定一个文本段落(第 1 行),然后给它附上一个事件监听器(第 3 行),使得在它被点击时,`updateName()` 代码块(5 – 8 行)便会运行。`updateName()` 代码块(这类可以重复使用的代码块称为“函数”)向用户请求一个新名字,然后把这个名字插入到段落中以更新显示。 +首先使用 `document.querySelector` 选定一个按钮,然后使用 `addEventListener` 给它附上一个事件监听器(第 3 行),使得在它被点击时,`updateName()` 代码块(5 – 8 行)便会运行。`updateName()` 代码块(这类可以重复使用的代码块称为“函数”)向用户请求一个新名字,然后把这个名字插入到段落中以更新显示。 -如果你互换了代码里最初两行的顺序,会导致问题。浏览器[开发者控制台](/zh-CN/docs/Learn/Common_questions/Tools_and_setup/What_are_browser_developer_tools)将返回一个错误:`TypeError: para is undefined`。这意味着 `para` 对象还不存在,所以我们不能为它增添一个事件监听器。 +如果互换了代码里最初两行的顺序,会导致问题。[浏览器开发者控制台](/zh-CN/docs/Learn/Common_questions/Tools_and_setup/What_are_browser_developer_tools)将返回一个错误:`Uncaught ReferenceError: Cannot access 'button' before initialization`。这意味着 `button` 对象还未初始化,所以我们不能为它增添事件监听器。 > [!NOTE] > 这是一个很常见的错误,在引用对象之前必须确保该对象已经存在。 @@ -184,7 +182,7 @@ JavaScript 是轻量级解释型语言。浏览器接受到 JavaScript 代码, 1. 首先,下载示例文件 [apply-javascript.html](https://github.com/mdn/learning-area/blob/main/javascript/introduction-to-js-1/what-is-js/apply-javascript.html)。放在一个方便的文件夹里。 2. 分别在浏览器和文本编辑器中打开这个文件。你会看到这个 HTML 文件创建了一个简单的网页,其中有一个可点击按钮。 -3. 然后转到文本编辑器,在 `` 标签结束前插入以下代码: +3. 接下来,打开文本编辑器,在正文底部——就在结束标签 `` 之前——添加以下内容: ```html ``` + 请注意,Web 文档中,代码通常是按其在页面上出现的顺序加载和执行。通过把 JavaScript 放在底部,来确保所有的 HTML 元素完成加载(请参阅下面的[脚本加载策略](#脚本加载策略))。 + 4. 下面,在 {{htmlelement("script")}} 元素中添加一些 JavaScript 代码,这个页面就能做一些更有趣的事。在“// 在此编写 JavaScript 代码”一行下方添加以下代码: ```js @@ -223,10 +223,10 @@ JavaScript 是轻量级解释型语言。浏览器接受到 JavaScript 代码, 这很不错,但是能不能把 JavaScript 代码放置在一个外部文件中呢?现在我们来研究一下。 1. 首先,在刚才的 HTML 文件所在的目录下创建一个名为 `script.js` 的新文件。请确保扩展名为 `.js`,只有这样才能被识别为 JavaScript 代码。 -2. 将 {{htmlelement("script")}} 元素替换为: +2. 移除当前位于 `` 底部的 {{htmlelement("script")}} 元素,并且在结束标签 `` 之前添加以下内容(这样浏览器就能比在底部时更快开始加载文件): ```html - + ``` 3. 在 `script.js` 文件中,添加下面的脚本: @@ -245,7 +245,10 @@ JavaScript 是轻量级解释型语言。浏览器接受到 JavaScript 代码, } ``` -4. 保存并刷新浏览器,你会发现二者完全一样!区别在于,现在我们把 JavaScript 写进了一个外部文件。这样做一般会使代码更加有序,更易于复用,且没有了脚本的混合,HTML 也会更加易读,因此这是个好的习惯。 +4. 保存并刷新浏览器。就会发现点击按钮不起作用,如果检查浏览器控制台,会看见类似 `Cross-origin request blocked` 的错误。这是因为与许多外部资源一样,JavaScript 模块需要从与 HTML 同源的地方加载,并且 `file://` URL 不符合条件。有两个解决方案可以解决这个问题: + - 我们推荐的解决方案是按照指南[设置本地测试服务器](/zh-CN/docs/Learn/Common_questions/Tools_and_setup/set_up_a_local_testing_server)。运行服务器程序并且在 `8000` 端口提供文件 `apply-javascript-external.html` 和 `script.js`,打开浏览器并访问 `http://localhost:8000`。 + - 如果无法运行本地服务器,也可以使用 `` 代替 ``。了解更多信息请参阅下面的[脚本加载策略](#脚本加载策略)。但是注意,本教程其他部分使用的特性可能需要本地 HTTP 服务器。 +5. 现在网站和之前一样了,但是我们的 JavaScript 放在了一个外部文件。一般来说,这对组织代码并在多个 HTML 文件中复用来说是一件好事。此外,没有大段脚本的 HTML 更容易阅读。 > [!NOTE] > 你可以在 GitHub 上查看 [apply-javascript-external.html](https://github.com/mdn/learning-area/blob/main/javascript/introduction-to-js-1/what-is-js/apply-javascript-external.html) 以及 [script.js](https://github.com/mdn/learning-area/blob/main/javascript/introduction-to-js-1/what-is-js/script.js)([也可在线查看](https://mdn.github.io/learning-area/javascript/introduction-to-js-1/what-is-js/apply-javascript-external.html))。 @@ -291,82 +294,20 @@ for (let i = 0; i < buttons.length; i++) { > [!NOTE] > 请尝试修改 `apply-javascript.html` 以添加更多按钮。刷新后可发现按下任一按钮时都会创建一个段落。这样很高效吧? -### 脚本调用策略 - -要让脚本调用的时机符合预期,需要解决一系列的问题。这里看似简单,实际大有文章。最常见的问题就是:HTML 元素是按其在页面中出现的次序调用的,如果用 JavaScript 来管理页面上的元素(更精确的说法是使用[文档对象模型](/zh-CN/docs/Learn/JavaScript/Client-side_web_APIs/Manipulating_documents#文档对象模型)),若 JavaScript 加载于欲操作的 HTML 元素之前,则代码将出错。 - -在上文的“内部”、“外部”示例中,JavaScript 在文档头部,解析 HTML 文档体之前加载并执行。这样做是有隐患的,需要使用一些结构来避免错误发生。 - -“内部”示例使用了以下结构: - -```js -document.addEventListener("DOMContentLoaded", () => { - // … -}); -``` - -这是一个事件监听器,它监听浏览器的 `DOMContentLoaded` 事件,其标志了 HTML 文档体完全加载和解析。该代码块中的 JavaScript 在事件被触发后才会运行,因此避免了错误(你将在课程的后面[学习事件](/zh-CN/docs/Learn/JavaScript/Building_blocks/Events)中了解到这些)。 - -“外部”示例中使用了 JavaScript 的一项现代技术(`defer` 属性)来解决这一问题,它告知浏览器在遇到 ` -``` - -上述情况下,脚本和 HTML 将一并加载,代码将顺利运行。 - -> [!NOTE] -> 在外部示例中,我们不需要使用 `DOMContentLoaded` 事件,因为 `defer` 属性为我们解决了这个问题。我们没有在内部 JavaScript 示例中使用 `defer` 解决方案,因为 `defer` 只适用于外部脚本。 - -解决此问题的旧方法是:把脚本元素放在文档体的底端(也就是 `` 标签之前,与之相邻),这样脚本就可以在 HTML 解析完毕后加载了。此方案的问题是:只有在所有 HTML DOM 加载完成后才开始脚本的加载/解析过程。对于有大量 JavaScript 代码的大型网站,可能会带来显著的性能损耗。 - -#### async 和 defer - -上述的脚本阻塞问题实际有两种解决方案——`async` 和 `defer`。我们来依次讲解。 +### 脚本加载策略 -浏览器遇到 `async` 脚本时不会阻塞页面渲染,而是直接下载然后运行。但是,一旦下载完成,脚本就会执行,从而阻止页面渲染。脚本的运行次序无法控制。当页面的脚本之间彼此独立,且不依赖于本页面的其他任何脚本时,`async` 是最理想的选择。 +页面上的所有 HTML 代码都按其出现的顺序加载。如果使用 JavaScript 去操作页面上的元素(更准确的说,是[文档对象模型](/zh-CN/docs/Learn/JavaScript/Client-side_web_APIs/Manipulating_documents#文档对象模型)),那么如果 JavaScript 在 HTML 之前就被加载和解析了,代码将无法运行。 -使用 `defer` 属性加载的脚本将按照它们在页面上出现的顺序加载。在页面内容全部加载完毕之前,脚本不会运行,如果脚本依赖于 DOM 的存在(例如,脚本修改了页面上的一个或多个元素),这一点非常有用。 - -以下是不同脚本加载方法的可视化表示,以及这对页面意味着什么: - -![三种脚本加载方法的工作原理:默认情况下,在获取和执行 JavaScript 时,解析过程被阻塞。使用 async 时,解析暂停,仅执行。使用 defer 时,解析不会暂停,但在解析完所有其他内容后才开始执行](async-defer.jpg) - -_该图片来自 [HTML spec](https://html.spec.whatwg.org/images/asyncdefer.svg),经过了复制和裁剪,以 [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) 获得授权。_ - -比如,如果你的页面要加载以下三个脚本: - -```html - - - - - -``` - -三者的调用顺序是不确定的。`jquery.js` 可能在 `script2` 和 `script3` 之前或之后调用,如果这样,后两个脚本中依赖 `jquery` 的函数将产生错误,因为脚本运行时 `jquery` 尚未加载。 - -`async` 应该在有大量后台脚本需要加载,并且只想尽快加载到位的情况下使用。例如,你可能需要加载一些游戏数据文件,这在游戏真正开始时是需要的,但现在你只想显示游戏介绍、标题和大厅,而不想被脚本加载阻塞。 - -解决这一问题可使用 `defer` 属性,脚本将按照在页面中出现的顺序加载和运行: - -```html - - - - - -``` +有几种不同的策略来确保 JavaScript 只在 HTML 解析之后运行: -添加 `defer` 属性的脚本将按照在页面中出现的顺序加载,因此第二个示例可确保 `jquery.js` 必定加载于 `script2.js` 和 `script3.js` 之前,同时 `script2.js` 必定加载于 `script3.js` 之前。在页面内容全部加载完成之前,它们不会运行,如果你的脚本依赖于 DOM 的存在(例如,它们修改了页面上的一个或多个元素),这将非常有用。 +- 在上面的内部 JavaScript 示例中,脚本元素放在文档正文的底部,因此只能在 HTML 正文的其他部分被解析以后运行。 +- 在上面的外部 JavaScript 实例中,脚本元素放在文档的头部,在解析 HTML 正文之前解析。但是由于我们使用了 ` ``` +#### async 和 defer + +使用了 `async` 属性加载的脚本不会在下载时阻塞页面。这意味着在脚本执行完成之前,将无法为用户处理和渲染网页上的其余内容。无法保证脚本的运行次序。当页面的脚本之间彼此独立,且不依赖于本页面的其他任何脚本时,`async` 是最理想的选择。 + +使用 `defer` 属性加载的脚本将按照它们在页面上出现的顺序加载。在页面内容全部加载完毕之前,脚本不会运行,如果脚本依赖于 DOM 的存在(例如,脚本修改了页面上的一个或多个元素),这一点非常有用。 + +以下是不同脚本加载方法的可视化表示,以及这对页面意味着什么: + +![三种脚本加载方法的工作原理:默认情况下,在获取和执行 JavaScript 时,解析过程被阻塞。使用 async 时,解析暂停,仅执行。使用 defer 时,解析不会暂停,但在解析完所有其他内容后才开始执行](async-defer.jpg) + +_该图片来自 [HTML 规范](https://html.spec.whatwg.org/images/asyncdefer.svg),经过了复制和裁剪,以 [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) 获得授权。_ + +比如,如果你的页面要加载以下三个脚本: + +```html + + + +``` + +你不能依赖脚本的加载顺序。`jquery.js` 可能在 `script2` 和 `script3` 之前或之后调用,如果这样,后两个脚本中依赖 `jquery` 的函数将产生错误,因为脚本运行时 `jquery` 尚未加载。 + +`async` 应该在有大量后台脚本需要加载,并且只想尽快加载到位的情况下使用。例如,你可能需要加载一些游戏数据文件,这在游戏真正开始时是需要的,但现在你只想显示游戏介绍、标题和大厅,而不想被脚本加载阻塞。 + +解决这一问题可使用 `defer` 属性,在脚本和内容下载后,脚本将按照在页面中出现的顺序加载和运行: + +```html + + + +``` + +在第二个示例中,我们可以确保 `jquery.js` 必定在 `script2.js` 和 `script3.js` 之前加载,同时 `script2.js` 必定在 `script3.js` 之前加载。在页面内容全部加载完成之前,它们不会运行,如果你的脚本依赖于 DOM(例如,它们修改了页面上的一个或多个元素),这将非常有用。 + +小结: + +- `async` 和 `defer` 都指示浏览器在页面的其他部分(DOM 等)正在下载时,在一个单独的线程中下载脚本,因此在获取过程中页面加载不会被阻塞。 +- 带有 `async` 属性的脚本将在下载完成后立即执行。这将阻塞页面,并不保证任何特定的执行顺序。 +- 带有 `defer` 属性的脚本将按照它们的顺序加载,并且只有在所有脚本加载完毕后才会执行。 +- 如果脚本应该立刻运行且没有任何依赖,那么应使用 `async`。 +- 如果脚本需要等待页面解析,且依赖于其他脚本或 DOM,请使用 `defer` 加载脚本,并将关联的脚本按你想要浏览器加载它们的顺序置于相应 ` diff --git a/files/zh-cn/web/svg/attribute/accumulate/index.md b/files/zh-cn/web/svg/attribute/accumulate/index.md index 6e95703fce03ab..d195205ac65ec3 100644 --- a/files/zh-cn/web/svg/attribute/accumulate/index.md +++ b/files/zh-cn/web/svg/attribute/accumulate/index.md @@ -1,6 +1,8 @@ --- title: accumulate slug: Web/SVG/Attribute/accumulate +l10n: + sourceCommit: 54eb3a678b4d4cbc94588d2234103e74dfa063a0 --- {{SVGRef}} @@ -9,30 +11,44 @@ slug: Web/SVG/Attribute/accumulate 在原来的结果的基础上重复动画的时候,它通常很有用,每一次循环都累加。这个属性告诉动画是否是每次循环,前一个动画属性值要加上去。 -## 使用说明 - -| 类别 | 动画累加属性 | -| -------- | --------------------------------------------------------------------------------- | -| 值 | **none** \| sum | -| 可变性 | No | -| 规范文档 | [SVG 1.1 (2nd Edition)](http://www.w3.org/TR/SVG/animate.html#AdditionAttributes) | - -- sum - - : 指定第一次循环后的每次循环建立在上次循环的终值上。 -- none - - : 指定重复循环是不累加的。这是默认值。 - -## 示例 +你可以将此属性与以下 SVG 元素一起使用: -## 元素 +- {{SVGElement("animate")}} +- {{SVGElement("animateMotion")}} +- {{SVGElement("animateTransform")}} -以下元素可以使用`additive`属性: +## 使用说明 -- {{ SVGElement("animate") }} -- {{ SVGElement("animateColor") }} -- {{ SVGElement("animateMotion") }} -- {{ SVGElement("animateTransform") }} + + + + + + + + + + + + + + + +
none | sum
默认值none
动画性
+ +- `sum` + - : 指定第一次迭代后的每次迭代建立在上次迭代的终值上。 +- `none` + - : 指定重复迭代是不累加的。 + +如果目标属性值不支持加运算,或者动画元素不重复,则忽略此属性。 + +如果仅使用 {{SVGAttr("to")}} 属性指定动画函数,则忽略此属性。 ## 规范 {{Specifications}} + +## 参见 + +- [SMIL 动画规范](https://www.w3.org/TR/2001/REC-smil-animation-20010904/#AccumulateAttribute) diff --git a/package.json b/package.json index e4ca526859b517..5caa1f10656461 100644 --- a/package.json +++ b/package.json @@ -34,7 +34,7 @@ "husky": "9.1.5", "lint-staged": "15.2.10", "markdown-it": "^14.1.0", - "markdownlint-cli2": "0.13.0", + "markdownlint-cli2": "0.14.0", "markdownlint-rule-search-replace": "1.2.0", "mdast-util-from-markdown": "^2.0.1", "ora": "^8.1.0", diff --git a/yarn.lock b/yarn.lock index 0163dc95b2571f..752e67ea06ee4f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -142,13 +142,6 @@ brace-expansion@^1.1.7: balanced-match "^1.0.0" concat-map "0.0.1" -braces@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" - integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== - dependencies: - fill-range "^7.0.1" - braces@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789" @@ -339,13 +332,6 @@ fdir@^6.3.0: resolved "https://registry.yarnpkg.com/fdir/-/fdir-6.3.0.tgz#fcca5a23ea20e767b15e081ee13b3e6488ee0bb0" integrity sha512-QOnuT+BOtivR77wYvCWHfGt9s4Pz1VIMbD463vegT5MLqNXy8rYFT/lPVEqf/bhYeT6qmqrNHhsX+rWwe3rOCQ== -fill-range@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" - integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== - dependencies: - to-regex-range "^5.0.1" - fill-range@^7.1.1: version "7.1.1" resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.1.1.tgz#44265d3cac07e3ea7dc247516380643754a05292" @@ -399,10 +385,10 @@ glob@7: once "^1.3.0" path-is-absolute "^1.0.0" -globby@14.0.1: - version "14.0.1" - resolved "https://registry.yarnpkg.com/globby/-/globby-14.0.1.tgz#a1b44841aa7f4c6d8af2bc39951109d77301959b" - integrity sha512-jOMLD2Z7MAhyG8aJpNOpmziMOP4rPLcc95oQPKXBazW82z+CEgPFBQvEpRUa1KeIMUJo4Wsm+q6uzO/Q/4BksQ== +globby@14.0.2: + version "14.0.2" + resolved "https://registry.yarnpkg.com/globby/-/globby-14.0.2.tgz#06554a54ccfe9264e5a9ff8eded46aa1e306482f" + integrity sha512-s3Fq41ZVh7vbbe2PN3nrW7yC7U7MFVc5c98/iTl9c2GawNMKx/J648KQRW6WKkuU8GIbbh2IXfIRQjOZnXcTnw== dependencies: "@sindresorhus/merge-streams" "^2.1.0" fast-glob "^3.3.2" @@ -513,10 +499,10 @@ js-yaml@^3.13.1: argparse "^1.0.7" esprima "^4.0.0" -jsonc-parser@3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.2.1.tgz#031904571ccf929d7670ee8c547545081cb37f1a" - integrity sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA== +jsonc-parser@3.3.1: + version "3.3.1" + resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.3.1.tgz#f2a524b4f7fd11e3d791e559977ad60b98b798b4" + integrity sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ== lilconfig@~3.1.2: version "3.1.2" @@ -589,33 +575,33 @@ markdown-it@14.1.0, markdown-it@^14.1.0: punycode.js "^2.3.1" uc.micro "^2.1.0" -markdownlint-cli2-formatter-default@0.0.4: - version "0.0.4" - resolved "https://registry.yarnpkg.com/markdownlint-cli2-formatter-default/-/markdownlint-cli2-formatter-default-0.0.4.tgz#81e26b0a50409c0357c6f0d38d8246946b236fab" - integrity sha512-xm2rM0E+sWgjpPn1EesPXx5hIyrN2ddUnUwnbCsD/ONxYtw3PX6LydvdH6dciWAoFDpwzbHM1TO7uHfcMd6IYg== +markdownlint-cli2-formatter-default@0.0.5: + version "0.0.5" + resolved "https://registry.yarnpkg.com/markdownlint-cli2-formatter-default/-/markdownlint-cli2-formatter-default-0.0.5.tgz#b8fde4e127f9a9c0596e6d45eed352dd0aa0ff98" + integrity sha512-4XKTwQ5m1+Txo2kuQ3Jgpo/KmnG+X90dWt4acufg6HVGadTUG5hzHF/wssp9b5MBYOMCnZ9RMPaU//uHsszF8Q== -markdownlint-cli2@0.13.0: - version "0.13.0" - resolved "https://registry.yarnpkg.com/markdownlint-cli2/-/markdownlint-cli2-0.13.0.tgz#691cab01994295b4b8c87aa0485c0b1e0f792289" - integrity sha512-Pg4nF7HlopU97ZXtrcVISWp3bdsuc5M0zXyLp2/sJv2zEMlInrau0ZKK482fQURzVezJzWBpNmu4u6vGAhij+g== +markdownlint-cli2@0.14.0: + version "0.14.0" + resolved "https://registry.yarnpkg.com/markdownlint-cli2/-/markdownlint-cli2-0.14.0.tgz#57dd69224c6859d64d79b6e88163208e170dc310" + integrity sha512-2cqdWy56frU2FTpbuGb83mEWWYuUIYv6xS8RVEoUAuKNw/hXPar2UYGpuzUhlFMngE8Omaz4RBH52MzfRbGshw== dependencies: - globby "14.0.1" + globby "14.0.2" js-yaml "4.1.0" - jsonc-parser "3.2.1" - markdownlint "0.34.0" - markdownlint-cli2-formatter-default "0.0.4" - micromatch "4.0.5" + jsonc-parser "3.3.1" + markdownlint "0.35.0" + markdownlint-cli2-formatter-default "0.0.5" + micromatch "4.0.8" + +markdownlint-micromark@0.1.10: + version "0.1.10" + resolved "https://registry.yarnpkg.com/markdownlint-micromark/-/markdownlint-micromark-0.1.10.tgz#a77a1a70adad9eac18ff412baf36a0c2189875d7" + integrity sha512-no5ZfdqAdWGxftCLlySHSgddEjyW4kui4z7amQcGsSKfYC5v/ou+8mIQVyg9KQMeEZLNtz9OPDTj7nnTnoR4FQ== markdownlint-micromark@0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/markdownlint-micromark/-/markdownlint-micromark-0.1.2.tgz#5520e04febffa46741875a2f297509ffdb561f5c" integrity sha512-jRxlQg8KpOfM2IbCL9RXM8ZiYWz2rv6DlZAnGv8ASJQpUh6byTBnEsbuMZ6T2/uIgntyf7SKg/mEaEBo1164fQ== -markdownlint-micromark@0.1.9: - version "0.1.9" - resolved "https://registry.yarnpkg.com/markdownlint-micromark/-/markdownlint-micromark-0.1.9.tgz#4876996b60d4dceb3a02f4eee2d3a366eb9569fa" - integrity sha512-5hVs/DzAFa8XqYosbEAEg6ok6MF2smDj89ztn9pKkCtdKHVdPQuGMH7frFfYL9mLkvfFe4pTyAMffLbjf3/EyA== - markdownlint-rule-helpers@0.21.0: version "0.21.0" resolved "https://registry.yarnpkg.com/markdownlint-rule-helpers/-/markdownlint-rule-helpers-0.21.0.tgz#197ed640b35b21450618eb6796bbe7bfe7ef4020" @@ -630,13 +616,13 @@ markdownlint-rule-search-replace@1.2.0: dependencies: markdownlint-rule-helpers "0.21.0" -markdownlint@0.34.0: - version "0.34.0" - resolved "https://registry.yarnpkg.com/markdownlint/-/markdownlint-0.34.0.tgz#bbc2047c952d1644269009a69ba227ed597b23fa" - integrity sha512-qwGyuyKwjkEMOJ10XN6OTKNOVYvOIi35RNvDLNxTof5s8UmyGHlCdpngRHoRGNvQVGuxO3BJ7uNSgdeX166WXw== +markdownlint@0.35.0: + version "0.35.0" + resolved "https://registry.yarnpkg.com/markdownlint/-/markdownlint-0.35.0.tgz#8189347fef3550045de78a96c52a7f45c2a4f91e" + integrity sha512-wgp8yesWjFBL7bycA3hxwHRdsZGJhjhyP1dSxKVKrza0EPFYtn+mHtkVy6dvP1kGSjovyG5B8yNP6Frj0UFUJg== dependencies: markdown-it "14.1.0" - markdownlint-micromark "0.1.9" + markdownlint-micromark "0.1.10" mdast-util-from-markdown@^2.0.1: version "2.0.1" @@ -872,15 +858,7 @@ micromark@^4.0.0: micromark-util-symbol "^2.0.0" micromark-util-types "^2.0.0" -micromatch@4.0.5: - version "4.0.5" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" - integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== - dependencies: - braces "^3.0.2" - picomatch "^2.3.1" - -micromatch@^4.0.4, micromatch@~4.0.8: +micromatch@4.0.8, micromatch@^4.0.4, micromatch@~4.0.8: version "4.0.8" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.8.tgz#d66fa18f3a47076789320b9b1af32bd86d9fa202" integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==