mirror of
https://github.com/pengzhanbo/vuepress-theme-plume.git
synced 2026-04-23 10:58:13 +08:00
148 lines
54 KiB
JavaScript
148 lines
54 KiB
JavaScript
import{P as e,f as t,h as n}from"./runtime-core.esm-bundler-TY2dTQsQ.js";import{t as r}from"./plugin-vue_export-helper-PrwMxFSs.js";var i=JSON.parse(`{"path":"/en/article/ecxnxxd0/","title":"How to Use Frontmatter | Blog","lang":"en-US","frontmatter":{"title":"How to Use Frontmatter","createTime":"2025/10/09 09:19:36","permalink":"/en/article/ecxnxxd0/","description":"Note This article translates parts of Introduction to YAML. It provides a basic explanation of how to use frontmatter in markdown files. If you have a good foundation in English...","head":[["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"How to Use Frontmatter\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2026-03-05T07:34:11.000Z\\",\\"author\\":[]}"],["meta",{"property":"og:url","content":"https://theme-plume.vuejs.press/en/article/ecxnxxd0/"}],["meta",{"property":"og:site_name","content":"Plume Theme"}],["meta",{"property":"og:title","content":"How to Use Frontmatter"}],["meta",{"property":"og:description","content":"Note This article translates parts of Introduction to YAML. It provides a basic explanation of how to use frontmatter in markdown files. If you have a good foundation in English..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:locale:alternate","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2026-03-05T07:34:11.000Z"}],["meta",{"property":"article:modified_time","content":"2026-03-05T07:34:11.000Z"}],["link",{"rel":"alternate","hreflang":"zh-cn","href":"https://theme-plume.vuejs.press/article/ecxnxxd0/"}]]},"readingTime":{"minutes":3.41,"words":1023},"git":{"createdTime":1741490087000,"updatedTime":1772696051000,"contributors":[{"name":"zhenghaoyang24","username":"zhenghaoyang24","email":"95458562+zhenghaoyang24@users.noreply.github.com","commits":1,"avatar":"https://avatars.githubusercontent.com/zhenghaoyang24?v=4","url":"https://github.com/zhenghaoyang24"},{"name":"pengzhanbo","username":"pengzhanbo","email":"volodymyr@foxmail.com","commits":4,"avatar":"https://avatars.githubusercontent.com/pengzhanbo?v=4","url":"https://github.com/pengzhanbo"}],"changelog":[{"hash":"9b9f8f3f77f8ec801e99e9aad8555bab2244dc63","time":1772696051000,"email":"volodymyr@foxmail.com","author":"pengzhanbo","message":"style: lint fix"},{"hash":"385059f214cb07fc9a098859e889432fb81f998b","time":1759995965000,"email":"volodymyr@foxmail.com","author":"pengzhanbo","message":"docs: update en docs (#708)"},{"hash":"4d2361a7046214fe0f4e4af01831107fd00e38ad","time":1759849989000,"email":"volodymyr@foxmail.com","author":"pengzhanbo","message":"feat(theme)!: add collections support (#704)"},{"hash":"a4ac3a30e0b74175b3cd4fd82c52b2321b013926","time":1741490087000,"email":"95458562+zhenghaoyang24@users.noreply.github.com","author":"zhenghaoyang24","message":"docs: add en-US docs (#514)","coAuthors":[{"name":"pengzhanbo","email":"volodymyr@foxmail.com"}]}]},"autoDesc":true,"filePathRelative":"en/blog/4.Tutorials/frontmatter.md","headers":[],"categoryList":[{"id":"c4d841","sort":4,"name":"Tutorials"}],"bulletin":false}`),a={name:`frontmatter.md`};function o(r,i,a,o,s,c){return e(),t(`div`,null,[...i[0]||=[n(`<div class="hint-container info"><p class="hint-container-title">Note</p><p>This article translates parts of <a href="https://dev.to/paulasantamaria/introduction-to-yaml-125f" target="_blank" rel="noopener noreferrer">Introduction to YAML</a>. It provides a basic explanation of how to use frontmatter in markdown files.</p><p>If you have a good foundation in English reading, to avoid potential content distortion from translation, it is recommended that you read the original article.</p><p>Original article: <a href="https://dev.to/paulasantamaria/introduction-to-yaml-125f" target="_blank" rel="noopener noreferrer">https://dev.to/paulasantamaria/introduction-to-yaml-125f</a>.</p></div><h2 id="introduction" tabindex="-1"><a class="header-anchor" href="#introduction"><span>Introduction</span></a></h2><p>YAML is a data serialization language, commonly used for configuration files, such as the <a href="https://github.com/OAI/OpenAPI-Specification/blob/master/examples/v2.0/yaml/api-with-examples.yaml" target="_blank" rel="noopener noreferrer">Open API Specification</a> or <a href="https://docs.gitlab.com/ee/ci/yaml/" target="_blank" rel="noopener noreferrer">CI/CD pipelines</a>.</p><div class="hint-container note"><p class="hint-container-title">Fun Fact! 🤓</p><p>According to the <a href="https://yaml.org/spec/history/2001-05-26.html" target="_blank" rel="noopener noreferrer">YAML 1.0 Specification Document (2001-05-26)</a>, the acronym "YAML" stood for "Yet Another Markup Language".However, it was later changed to the recursive acronym "YAML Ain't Markup Language" in the <a href="https://yaml.org/spec/history/2002-04-07.html" target="_blank" rel="noopener noreferrer">2002-04-07 specification</a>.</p></div><p>As stated in the latest specification, <strong>YAML</strong> is designed to be <strong>human-friendly for handling data</strong> and achieves "unique cleanliness" by <strong>minimizing the use of structural characters</strong>, allowing data to be displayed in a natural and meaningful way.</p><p>The latest specification also states that YAML <em>1.2 is officially a superset of JSON</em>, meaning most JSON documents can be parsed as YAML.</p><p>YAML makes it easy to inspect data structures by using indentation-based scoping (similar to Python).</p><div class="hint-container note"><p class="hint-container-title">Another Fun Fact! 🤓</p><p>DEV.to articles use YAML to define custom variables like title, description, tags, etc.</p></div><h2 id="basic-syntax" tabindex="-1"><a class="header-anchor" href="#basic-syntax"><span>Basic Syntax</span></a></h2><p>A YAML document is essentially a <strong>collection of key-value pairs</strong>, where values can be as simple as a string or as complex as a tree.</p><p>Here are some notes on YAML syntax:</p><ul><li><strong>Indentation is used to denote structure</strong>. Tabs are not allowed. The number of spaces doesn't matter as long as child nodes are indented more than their parent nodes.</li><li>UTF-8, UTF-16, and UTF-32 encodings are permitted.</li></ul><h3 id="strings" tabindex="-1"><a class="header-anchor" href="#strings"><span>Strings</span></a></h3><div class="language-md line-numbers-mode" data-highlighter="shiki" data-ext="md" style="--shiki-light:#393a34;--shiki-dark:#dbd7caee;--shiki-light-bg:#ffffff;--shiki-dark-bg:#121212;"><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code"><code class="language-md"><span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">---</span></span>
|
|
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD;"># Strings do not require quotes:</span></span>
|
|
<span class="line"><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">title</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;"> Introduction to YAML</span></span>
|
|
<span class="line"></span>
|
|
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD;"># But you can still use them:</span></span>
|
|
<span class="line"><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">title-w-quotes</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;"> '</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">Introduction to YAML</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">'</span></span>
|
|
<span class="line"></span>
|
|
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD;"># Multi-line strings start with |</span></span>
|
|
<span class="line"><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">execute</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375;"> |</span></span>
|
|
<span class="line"><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;"> npm ci</span></span>
|
|
<span class="line"><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;"> npm build</span></span>
|
|
<span class="line"><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;"> npm test</span></span>
|
|
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">---</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>The above code converts to JSON as:</p><div class="language-json" data-highlighter="shiki" data-ext="json" style="--shiki-light:#393a34;--shiki-dark:#dbd7caee;--shiki-light-bg:#ffffff;--shiki-dark-bg:#121212;"><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code"><code class="language-json"><span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">{</span></span>
|
|
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">title</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;"> "</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">Introduction to YAML</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">,</span></span>
|
|
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">title-w-quotes</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;"> "</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">Introduction to YAML</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">,</span></span>
|
|
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">execute</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;"> "</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">npm ci</span><span style="--shiki-light:#A65E2B;--shiki-dark:#C99076;">\\n</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">npm build</span><span style="--shiki-light:#A65E2B;--shiki-dark:#C99076;">\\n</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">npm test</span><span style="--shiki-light:#A65E2B;--shiki-dark:#C99076;">\\n</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span></span>
|
|
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">}</span></span></code></pre></div><h3 id="numbers" tabindex="-1"><a class="header-anchor" href="#numbers"><span>Numbers</span></a></h3><div class="language-md line-numbers-mode" data-highlighter="shiki" data-ext="md" style="--shiki-light:#393a34;--shiki-dark:#dbd7caee;--shiki-light-bg:#ffffff;--shiki-dark-bg:#121212;"><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code"><code class="language-md"><span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">---</span></span>
|
|
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD;"># Integer:</span></span>
|
|
<span class="line"><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">age</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#2F798A;--shiki-dark:#4C9A91;"> 29</span></span>
|
|
<span class="line"></span>
|
|
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD;"># Float:</span></span>
|
|
<span class="line"><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">price</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#2F798A;--shiki-dark:#4C9A91;"> 15.99</span></span>
|
|
<span class="line"></span>
|
|
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD;"># Scientific notation:</span></span>
|
|
<span class="line"><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">population</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#2F798A;--shiki-dark:#4C9A91;"> 2.89e+6</span></span>
|
|
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">---</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>The above code converts to JSON as:</p><div class="language-json" data-highlighter="shiki" data-ext="json" style="--shiki-light:#393a34;--shiki-dark:#dbd7caee;--shiki-light-bg:#ffffff;--shiki-dark-bg:#121212;"><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code"><code class="language-json"><span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">{</span></span>
|
|
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">age</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#2F798A;--shiki-dark:#4C9A91;"> 29</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">,</span></span>
|
|
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">price</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#2F798A;--shiki-dark:#4C9A91;"> 15.99</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">,</span></span>
|
|
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">population</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#2F798A;--shiki-dark:#4C9A91;"> 2890000</span></span>
|
|
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">}</span></span></code></pre></div><h3 id="booleans" tabindex="-1"><a class="header-anchor" href="#booleans"><span>Booleans</span></a></h3><div class="language-md" data-highlighter="shiki" data-ext="md" style="--shiki-light:#393a34;--shiki-dark:#dbd7caee;--shiki-light-bg:#ffffff;--shiki-dark-bg:#121212;"><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code"><code class="language-md"><span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">---</span></span>
|
|
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD;"># Booleans can be represented in different ways:</span></span>
|
|
<span class="line"><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">published</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375;"> false</span></span>
|
|
<span class="line"><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">published</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375;"> False</span></span>
|
|
<span class="line"><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">published</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375;"> FALSE</span></span>
|
|
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">---</span></span></code></pre></div><p>All of the above will convert to JSON as follows:</p><div class="language-json" data-highlighter="shiki" data-ext="json" style="--shiki-light:#393a34;--shiki-dark:#dbd7caee;--shiki-light-bg:#ffffff;--shiki-dark-bg:#121212;"><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code"><code class="language-json"><span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">{</span></span>
|
|
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">published</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375;"> false</span></span>
|
|
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">}</span></span></code></pre></div><h3 id="null-values" tabindex="-1"><a class="header-anchor" href="#null-values"><span>Null Values</span></a></h3><div class="language-md" data-highlighter="shiki" data-ext="md" style="--shiki-light:#393a34;--shiki-dark:#dbd7caee;--shiki-light-bg:#ffffff;--shiki-dark-bg:#121212;"><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code"><code class="language-md"><span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">---</span></span>
|
|
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD;"># Null values can be represented by not setting a value:</span></span>
|
|
<span class="line"><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">null-value</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span></span>
|
|
<span class="line"></span>
|
|
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD;"># Or more explicitly:</span></span>
|
|
<span class="line"><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">null-value</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#AB5959;--shiki-dark:#CB7676;"> null</span></span>
|
|
<span class="line"><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">null-value</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#AB5959;--shiki-dark:#CB7676;"> NULL</span></span>
|
|
<span class="line"><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">null-value</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#AB5959;--shiki-dark:#CB7676;"> Null</span></span>
|
|
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">---</span></span></code></pre></div><p>All of the above will convert to JSON as follows:</p><div class="language-json" data-highlighter="shiki" data-ext="json" style="--shiki-light:#393a34;--shiki-dark:#dbd7caee;--shiki-light-bg:#ffffff;--shiki-dark-bg:#121212;"><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code"><code class="language-json"><span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">{</span></span>
|
|
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">null-value</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375;"> null</span></span>
|
|
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">}</span></span></code></pre></div><h3 id="dates-and-timestamps" tabindex="-1"><a class="header-anchor" href="#dates-and-timestamps"><span>Dates and Timestamps</span></a></h3><p>Dates can be used in ISO format as shown below:</p><div class="language-md" data-highlighter="shiki" data-ext="md" style="--shiki-light:#393a34;--shiki-dark:#dbd7caee;--shiki-light-bg:#ffffff;--shiki-dark-bg:#121212;"><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code"><code class="language-md"><span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">---</span></span>
|
|
<span class="line"><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">date</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#A65E2B;--shiki-dark:#C99076;"> 2002-12-14</span></span>
|
|
<span class="line"><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">canonical</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#A65E2B;--shiki-dark:#C99076;"> 2001-12-15T02:59:43.1Z</span></span>
|
|
<span class="line"><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">iso8601</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#A65E2B;--shiki-dark:#C99076;"> 2001-12-14t21:59:43.10-05:00</span></span>
|
|
<span class="line"><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">spaced</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;"> 2001-12-14 21:59:43.10 -5</span></span>
|
|
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">---</span></span></code></pre></div><h3 id="sequences" tabindex="-1"><a class="header-anchor" href="#sequences"><span>Sequences</span></a></h3><p>Sequences allow us to define lists in YAML:</p><div class="language-md line-numbers-mode" data-highlighter="shiki" data-ext="md" style="--shiki-light:#393a34;--shiki-dark:#dbd7caee;--shiki-light-bg:#ffffff;--shiki-dark-bg:#121212;"><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code"><code class="language-md"><span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">---</span></span>
|
|
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD;"># Numbered list using hyphens:</span></span>
|
|
<span class="line"><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">numbers</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span></span>
|
|
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;"> -</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;"> one</span></span>
|
|
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;"> -</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;"> two</span></span>
|
|
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;"> -</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;"> three</span></span>
|
|
<span class="line"></span>
|
|
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD;"># Inline version:</span></span>
|
|
<span class="line"><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">numbers</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#999999;--shiki-dark:#666666;"> [</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;"> one</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">,</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;"> two</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">,</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;"> three</span><span style="--shiki-light:#999999;--shiki-dark:#666666;"> ]</span></span>
|
|
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">---</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>Both sequences above will parse to JSON as follows:</p><div class="language-json" data-highlighter="shiki" data-ext="json" style="--shiki-light:#393a34;--shiki-dark:#dbd7caee;--shiki-light-bg:#ffffff;--shiki-dark-bg:#121212;"><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code"><code class="language-json"><span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">{</span></span>
|
|
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">numbers</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#999999;--shiki-dark:#666666;"> [</span></span>
|
|
<span class="line"><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;"> "</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">one</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">,</span></span>
|
|
<span class="line"><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;"> "</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">two</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">,</span></span>
|
|
<span class="line"><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;"> "</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">three</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span></span>
|
|
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;"> ]</span></span>
|
|
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">}</span></span></code></pre></div><h3 id="nested-values" tabindex="-1"><a class="header-anchor" href="#nested-values"><span>Nested Values</span></a></h3><p>We can use all the types mentioned above to create objects with nested values, as shown below:</p><div class="language-md line-numbers-mode" data-highlighter="shiki" data-ext="md" style="--shiki-light:#393a34;--shiki-dark:#dbd7caee;--shiki-light-bg:#ffffff;--shiki-dark-bg:#121212;"><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code"><code class="language-md"><span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">---</span></span>
|
|
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD;"># Data for the novel Nineteen Eighty-Four.</span></span>
|
|
<span class="line"><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">nineteen-eighty-four</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span></span>
|
|
<span class="line"><span style="--shiki-light:#998418;--shiki-dark:#B8A965;"> author</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;"> George Orwell</span></span>
|
|
<span class="line"><span style="--shiki-light:#998418;--shiki-dark:#B8A965;"> published-at</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#A65E2B;--shiki-dark:#C99076;"> 1949-06-08</span></span>
|
|
<span class="line"><span style="--shiki-light:#998418;--shiki-dark:#B8A965;"> page-count</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#2F798A;--shiki-dark:#4C9A91;"> 328</span></span>
|
|
<span class="line"><span style="--shiki-light:#998418;--shiki-dark:#B8A965;"> description</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375;"> |</span></span>
|
|
<span class="line"><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;"> A Novel, often published as 1984, is a dystopian novel by English novelist George Orwell.</span></span>
|
|
<span class="line"><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;"> It was published in June 1949 by Secker & Warburg as Orwell's ninth and final book.</span></span>
|
|
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">---</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>This converts to JSON as:</p><div class="language-json" data-highlighter="shiki" data-ext="json" style="--shiki-light:#393a34;--shiki-dark:#dbd7caee;--shiki-light-bg:#ffffff;--shiki-dark-bg:#121212;"><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code"><code class="language-json"><span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">{</span></span>
|
|
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">nineteen-eighty-four</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#999999;--shiki-dark:#666666;"> {</span></span>
|
|
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">author</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;"> "</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">George Orwell</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">,</span></span>
|
|
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">published-at</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;"> "</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">1949-06-08T00:00:00.000Z</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">,</span></span>
|
|
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">page-count</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#2F798A;--shiki-dark:#4C9A91;"> 328</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">,</span></span>
|
|
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">description</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;"> "</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">A Novel, often published as 1984, is a dystopian novel by English novelist George Orwell.</span><span style="--shiki-light:#A65E2B;--shiki-dark:#C99076;">\\n</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">It was published in June 1949 by Secker & Warburg as Orwell's ninth and final book.</span><span style="--shiki-light:#A65E2B;--shiki-dark:#C99076;">\\n</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span></span>
|
|
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;"> }</span></span>
|
|
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">}</span></span></code></pre></div><h3 id="lists-of-objects" tabindex="-1"><a class="header-anchor" href="#lists-of-objects"><span>Lists of Objects</span></a></h3><p>Combining sequences and nested values, we can create a list of objects.</p><div class="language-md line-numbers-mode" data-highlighter="shiki" data-ext="md" style="--shiki-light:#393a34;--shiki-dark:#dbd7caee;--shiki-light-bg:#ffffff;--shiki-dark-bg:#121212;"><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code"><code class="language-md"><span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">---</span></span>
|
|
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD;"># Let's list books:</span></span>
|
|
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">-</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;"> nineteen-eighty-four</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span></span>
|
|
<span class="line"><span style="--shiki-light:#998418;--shiki-dark:#B8A965;"> author</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;"> George Orwell</span></span>
|
|
<span class="line"><span style="--shiki-light:#998418;--shiki-dark:#B8A965;"> published-at</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#A65E2B;--shiki-dark:#C99076;"> 1949-06-08</span></span>
|
|
<span class="line"><span style="--shiki-light:#998418;--shiki-dark:#B8A965;"> page-count</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#2F798A;--shiki-dark:#4C9A91;"> 328</span></span>
|
|
<span class="line"><span style="--shiki-light:#998418;--shiki-dark:#B8A965;"> description</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375;"> |</span></span>
|
|
<span class="line"><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;"> A Novel, often published as 1984, is a dystopian novel by English novelist George Orwell.</span></span>
|
|
<span class="line"></span>
|
|
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">-</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;"> the-hobbit</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span></span>
|
|
<span class="line"><span style="--shiki-light:#998418;--shiki-dark:#B8A965;"> author</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;"> J. R. R. Tolkien</span></span>
|
|
<span class="line"><span style="--shiki-light:#998418;--shiki-dark:#B8A965;"> published-at</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#A65E2B;--shiki-dark:#C99076;"> 1937-09-21</span></span>
|
|
<span class="line"><span style="--shiki-light:#998418;--shiki-dark:#B8A965;"> page-count</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#2F798A;--shiki-dark:#4C9A91;"> 310</span></span>
|
|
<span class="line"><span style="--shiki-light:#998418;--shiki-dark:#B8A965;"> description</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375;"> |</span></span>
|
|
<span class="line"><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;"> The Hobbit, or There and Back Again is a children's fantasy novel by English author J. R. R. Tolkien.</span></span>
|
|
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">---</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h2 id="unique-features" tabindex="-1"><a class="header-anchor" href="#unique-features"><span>Unique Features</span></a></h2><p>Here are some <strong>more complex features</strong> that caught my attention, which also distinguish YAML from JSON.</p><h3 id="comments" tabindex="-1"><a class="header-anchor" href="#comments"><span>Comments</span></a></h3><p>As you may have noticed in my previous examples, YAML allows comments starting with <code>#</code>.</p><div class="language-md" data-highlighter="shiki" data-ext="md" style="--shiki-light:#393a34;--shiki-dark:#dbd7caee;--shiki-light-bg:#ffffff;--shiki-dark-bg:#121212;"><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code"><code class="language-md"><span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">---</span></span>
|
|
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD;"># This is a very useful comment.</span></span>
|
|
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">---</span></span></code></pre></div><h3 id="reusability-with-anchors" tabindex="-1"><a class="header-anchor" href="#reusability-with-anchors"><span>Reusability with Anchors</span></a></h3><p>Node anchors are used to <strong>mark a node</strong> for future reference, allowing us to reuse that node. To mark a node, we use the <code>&</code> character; to reference it, we use <code>*</code>:</p><p>In the following example, we define a list of books and reuse the author data, so we only need to define it once:</p><div class="language-md line-numbers-mode" data-highlighter="shiki" data-ext="md" style="--shiki-light:#393a34;--shiki-dark:#dbd7caee;--shiki-light-bg:#ffffff;--shiki-dark-bg:#121212;"><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code"><code class="language-md"><span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">---</span></span>
|
|
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD;"># Author data:</span></span>
|
|
<span class="line"><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">author</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#999999;--shiki-dark:#666666;"> &</span><span style="--shiki-light:#2E8F82;--shiki-dark:#5DA994;">gOrwell</span></span>
|
|
<span class="line"><span style="--shiki-light:#998418;--shiki-dark:#B8A965;"> name</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;"> George</span></span>
|
|
<span class="line"><span style="--shiki-light:#998418;--shiki-dark:#B8A965;"> last-name</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;"> Orwell</span></span>
|
|
<span class="line"></span>
|
|
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD;"># Some books:</span></span>
|
|
<span class="line"><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">books</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span></span>
|
|
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;"> -</span><span style="--shiki-light:#2F798A;--shiki-dark:#4C9A91;"> 1984</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span></span>
|
|
<span class="line"><span style="--shiki-light:#998418;--shiki-dark:#B8A965;"> author</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#999999;--shiki-dark:#666666;"> *</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A;">gOrwell</span></span>
|
|
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;"> -</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;"> animal-farm</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span></span>
|
|
<span class="line"><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;"> author:*gOrwell</span></span>
|
|
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">---</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>When parsed to JSON, the above code will look like this:</p><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="--shiki-light:#393a34;--shiki-dark:#dbd7caee;--shiki-light-bg:#ffffff;--shiki-dark-bg:#121212;"><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code"><code class="language-json"><span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">{</span></span>
|
|
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">author</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#999999;--shiki-dark:#666666;"> {</span></span>
|
|
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">name</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;"> "</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">George</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">,</span></span>
|
|
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">last-name</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;"> "</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">Orwell</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span></span>
|
|
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;"> },</span></span>
|
|
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">books</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#999999;--shiki-dark:#666666;"> [</span></span>
|
|
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;"> {</span></span>
|
|
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">1984</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#999999;--shiki-dark:#666666;"> {</span></span>
|
|
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">author</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#999999;--shiki-dark:#666666;"> {</span></span>
|
|
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">name</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;"> "</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">George</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">,</span></span>
|
|
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">last-name</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;"> "</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">Orwell</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span></span>
|
|
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;"> }</span></span>
|
|
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;"> }</span></span>
|
|
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;"> },</span></span>
|
|
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;"> {</span></span>
|
|
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">animal-farm</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#999999;--shiki-dark:#666666;"> {</span></span>
|
|
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">author</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#999999;--shiki-dark:#666666;"> {</span></span>
|
|
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">name</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;"> "</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">George</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">,</span></span>
|
|
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">last-name</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;"> "</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">Orwell</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span></span>
|
|
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;"> }</span></span>
|
|
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;"> }</span></span>
|
|
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;"> }</span></span>
|
|
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;"> ]</span></span>
|
|
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="explicit-data-types-with-tags" tabindex="-1"><a class="header-anchor" href="#explicit-data-types-with-tags"><span>Explicit Data Types with Tags</span></a></h3><p>As we saw in previous examples, YAML automatically detects the types of our values, but we can also <strong>specify the desired type</strong>.</p><p>We specify it by prefixing the value with <code>!!</code> followed by the type.</p><p>Here are some examples:</p><div class="language-md line-numbers-mode" data-highlighter="shiki" data-ext="md" style="--shiki-light:#393a34;--shiki-dark:#dbd7caee;--shiki-light-bg:#ffffff;--shiki-dark-bg:#121212;"><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code"><code class="language-md"><span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">---</span></span>
|
|
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD;"># The following value should be an integer, regardless:</span></span>
|
|
<span class="line"><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">should-be-int</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#AB5959;--shiki-dark:#CB7676;"> !!int</span><span style="--shiki-light:#2F798A;--shiki-dark:#4C9A91;"> 3.2</span></span>
|
|
<span class="line"></span>
|
|
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD;"># Parse any value as a string:</span></span>
|
|
<span class="line"><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">should-be-string</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#AB5959;--shiki-dark:#CB7676;"> !!str</span><span style="--shiki-light:#2F798A;--shiki-dark:#4C9A91;"> 30.25</span></span>
|
|
<span class="line"></span>
|
|
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD;"># I need the next value to be a boolean:</span></span>
|
|
<span class="line"><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">should-be-boolean</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#AB5959;--shiki-dark:#CB7676;"> !!bool</span><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375;"> yes</span></span>
|
|
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">---</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>This converts to JSON as:</p><div class="language-json" data-highlighter="shiki" data-ext="json" style="--shiki-light:#393a34;--shiki-dark:#dbd7caee;--shiki-light-bg:#ffffff;--shiki-dark-bg:#121212;"><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code"><code class="language-json"><span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">{</span></span>
|
|
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">should-be-int</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#2F798A;--shiki-dark:#4C9A91;"> 3</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">,</span></span>
|
|
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">should-be-string</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;"> "</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">30.25</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">,</span></span>
|
|
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">should-be-boolean</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375;"> true</span></span>
|
|
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">}</span></span></code></pre></div>`,62)]])}var s=r(a,[[`render`,o]]);export{i as _pageData,s as default}; |