<Content>
ComponentA wrapper for long-form content, such as documentation, blog posts, whitepapers, etc.
<Contentproduct='terraform'content={<p>hello world <a href='#'>this is a link</a></p>}/>
<Contentproduct=''content={<><h1><aname="markdown-test-page"className="__permalink-h"href="#markdown-test-page">»</a>Markdown Test Page</h1><p>These few opening paragraphs are just meant to reflect more realisticcontent.</p><p>Certain Vault backends utilize plugins to extend their functionalityoutside of what is available in the core Vault code. Often times thesebackends will provide both builtin plugins and a mechanism forexecuting external plugins.</p><p>Builtin plugins are shipped with Vault, often for commonly usedimplementations, and require no additional operator intervention torun. Builtin plugins are just like any other backend code insideVault.</p><h2><a name="headings" className="__permalink-h" href="#headings">»</a>Headings</h2><p>Builtin plugins are shipped with Vault, often for commonly usedimplementations, and require no additional operator intervention torun. Builtin plugins are just like any other backend code insideVault.</p><p>External plugins, on the other hand, are not shipped with the Vaultbinary and must be registered to Vault by a privileged Vault user.This section of the documentation will describe the architecture andsecurity of external plugins.</p><h1><a name="page-heading" className="__permalink-h" href="#page-heading">»</a>Page Heading <code>with code</code></h1><p>The above heading should rarely if ever be used within page content,it's just shown here as an example. Avoid using{' '}<code># Page Level Headings</code> for top-level sections withinMarkdown content and instead use <code>## Second Level Headings</code>.</p><p>Certain Vault backends utilize plugins to extend their functionalityoutside of what is available in the core Vault code. Often times thesebackends will provide both builtin plugins and a mechanism forexecuting external plugins.</p><h2><aname="second-level-heading"className="__permalink-h"href="#second-level-heading">»</a>Second Level Heading <code>with code</code></h2><p>External plugins, on the other hand, are not shipped with the Vaultbinary and must be registered to Vault by a privileged Vault user.This section of the documentation will describe the architecture andsecurity of external plugins.</p><h3><aname="third-level-heading-with-code"className="__permalink-h"href="#third-level-heading-with-code">»</a>Third Level Heading <code>with code</code></h3><p>Builtin plugins are shipped with Vault, often for commonly usedimplementations, and require no additional operator intervention torun. Builtin plugins are just like any other backend code insideVault.</p><h4><aname="fourth-level-heading"className="__permalink-h"href="#fourth-level-heading">»</a>Fourth Level Heading <code>with code</code></h4><p>Certain Vault backends utilize plugins to extend their functionalityoutside of what is available in the core Vault code. Often times thesebackends will provide both builtin plugins and a mechanism forexecuting external plugins.</p><h5><aname="fifth-level-heading"className="__permalink-h"href="#fifth-level-heading">»</a>Fifth Level Heading <code>with code</code></h5><p>External plugins, on the other hand, are not shipped with the Vaultbinary and must be registered to Vault by a privileged Vault user.This section of the documentation will describe the architecture andsecurity of external plugins.</p><h6><aname="sixth-level-heading"className="__permalink-h"href="#sixth-level-heading">»</a>Sixth Level Heading <code>with code</code></h6><p>External plugins, on the other hand, are not shipped with the Vaultbinary and must be registered to Vault by a privileged Vault user.This section of the documentation will describe the architecture andsecurity of external plugins.</p><h2><aname="inline-text-styles"className="__permalink-h"href="#inline-text-styles">»</a>Inline Text Styles</h2><h6><a name="bold" className="__permalink-h" href="#bold">»</a>Bold</h6><p>External plugins, on the other hand, are <strong>not shipped</strong>{' '}with the Vault binary and must be registered to Vault by a{' '}<strong>privileged</strong> Vault user. This section of thedocumentation will describe the architecture and security of externalplugins.</p><h6><a name="italic" className="__permalink-h" href="#italic">»</a>Italic</h6><p>External plugins, on the other hand, are not shipped with the Vaultbinary and <em>must be registered</em> to Vault by a{' '}<em>privileged</em> Vault user. This section of the documentation willdescribe the architecture and security of external plugins.</p><h6><aname="strikethrough"className="__permalink-h"href="#strikethrough">»</a>Strikethrough</h6><p>External plugins, on the other hand, are <del>not</del> shipped withthe Vault binary and must be registered to Vault by a{' '}<del>privileged</del> Vault user. This section of the documentationwill describe the architecture and security of external plugins.</p><h6><a name="inline-code" className="__permalink-h" href="#inline-code">»</a>Inline Code</h6><p>External plugins, on the other hand, are not shipped with the{' '}<code>vault</code> binary and must be registered to Vault by aprivileged Vault user with <code>vault write</code>. This section ofthe documentation will describe the architecture and security ofexternal plugins. And{' '}<a href="#"><code>linked code has to work too!</code></a></p><h2><a name="links" className="__permalink-h" href="#links">»</a>Links</h2><p>There are multiple ways to define links, and we need to make surewe're handling all of them correctly. All of the links in this sectionshould lead to <code>https://example.com</code>.</p><p><a href="https://www.example.com">I'm an inline-style link</a></p><p><a href="https://www.example.com" title="Example Homepage">I'm an inline-style link titled "Example Homepage"</a></p><p>URLs and URLs in angle brackets will automatically get turned intolinks.<a href="http://www.example.com">http://www.example.com</a> or{' '}<a href="http://www.example.com">http://www.example.com</a>, but notexample.com.</p><h6><aname="reference-style-links"className="__permalink-h"href="#reference-style-links">»</a>Reference-Style Links</h6><p><a href="https://www.example.com">I'm a reference-style link</a></p><p><a href="https://www.example.com">You can use numbers for reference-style link definitions</a></p><p>Or leave it empty and use the{' '}<a href="https://www.example.com">link text itself</a>.</p><p>Some text to show that the reference links can follow later.</p><p className="alert alert-warning" role="alert"><strong>To Do</strong>: Add example of links inline in a paragraph oftext.</p><h2><aname="lists-unordered"className="__permalink-h"href="#lists-unordered">»</a>Lists Unordered</h2><p>An extremely basic example of an unordered list looks something likethis:</p><ul><li>One list item, could be short</li><li>A second list item, also not long</li><li>Third list item, with a bit more detail that might make it wrap totwo lines</li><li>List item number four, with a considerable amount of text thatshould probably wrap to a newline, as this line is too long not towrap</li><li>A fifth list item, short again</li></ul><p>An more complex example of an unordered list looks something likethis:</p><ul><li><p>Multi-paragraph list item. Certain Vault backends utilize pluginsto extend their functionality outside of what is available in thecore Vault code. Often times these backends will provide bothbuiltin plugins and a mechanism for executing external plugins.</p><p>This is another paragraph of text, nested within the first listitem. External plugins, on the other hand, are not shipped withthe Vault binary and must be registered to Vault by a privilegedVault user. This section of the documentation will describe thearchitecture and security of external plugins.</p></li><li><p>A second list item, also with multiple paragraphs and nestedcontent. Code blocks can be nested within list items.</p><pre><code>$ vault write code/block/example/myplugin-database-plugin sha_256=<expected SHA256 Hex value of the plugin binary> command="myplugin" Success! Data written to:code/block/example/myplugin-database-plugin</code></pre></li><li><p>Third list item, again with multiple paragraphs and nestedcontent. We should probably build out detailed examples to ensureall content works as expected when nested within list items, evenwhen nested multiple levels deep.</p><ul><li>Here are a few sub-items.</li><li>Another sub-item in a nested list</li><li><p>A third nested list item it could also contain nested content,such as a short code snippet:</p><pre><code>A short code snippet</code></pre></li><li><p>A fourth nested list item</p><ul><li>The first item in a list nested three levels deep<ul><li>We have a few different bullet styles</li><li>These nested lists show the extent of them<ul><li>Further nesting, if you really want to use it,doesn't have different bullets<ul><li>An example bullet in an unreasonably deep levelof nesting</li></ul></li></ul></li><li>Item back up at the fourth level</li></ul></li><li><p>Another third-level nested list item</p><p className="alert alert-info" role="alert"><strong>Note</strong>: This list item has a nested note,too.</p></li><li><p>Last nested item I promise</p></li></ul></li></ul></li><li><p>List item number four, with a considerable amount of text thatshould probably wrap to a newline, as this line is too long not towrap. List items should accommodate have any kind of contentnested within them, an image is shown nested in this one.</p><p><imgsrc="https://picsum.photos/300/150/?image=1075"alt="Placeholder image"/></p></li><li><p>A fifth list item, again with paragraph text. Certain Vaultbackends utilize plugins to extend their functionality outside ofwhat is available in the core Vault code. Often times thesebackends will provide both builtin plugins and a mechanism forexecuting external plugins.</p></li></ul><h2><aname="lists-ordered"className="__permalink-h"href="#lists-ordered">»</a>Lists Ordered</h2><p>An extremely basic example of an ordered list looks something likethis:</p><ol><li>One list item, could be short</li><li>A second list item, also not long</li><li>Third list item, with a bit more detail that might make it wrap totwo lines</li><li>List item number four, with a considerable amount of text thatshould probably wrap to a newline, as this line is too long not towrap</li><li>A fifth list item, short again</li><li>Ordered lists should have a maximum of 99 items. The 100th item'sbullet will overflow the space designated for the list bullet.</li></ol><p>A more complex example of an ordered list looks something like this:</p><ol><li><p>Multi-paragraph list item. Certain Vault backends utilize pluginsto extend their functionality outside of what is available in thecore Vault code. Often times these backends will provide bothbuiltin plugins and a mechanism for executing external plugins.</p><p>This is another paragraph of text, nested within the first listitem. External plugins, on the other hand, are not shipped withthe Vault binary and must be registered to Vault by a privilegedVault user. This section of the documentation will describe thearchitecture and security of external plugins.</p></li><li><p>A second list item, also with multiple paragraphs and nestedcontent. Code blocks can be nested within list items.</p><pre><code>$ vault write code/block/example/myplugin-database-plugin sha_256=<expected SHA256 Hex value of the plugin binary> command="myplugin" Success! Data written to:code/block/example/myplugin-database-plugin</code></pre></li><li><p>Third list item, again with multiple paragraphs and nestedcontent. We should probably build out detailed examples to ensureall content works as expected when nested within list items, evenwhen nested multiple levels deep.</p><ol><li>Here are a few sub-items.</li><li>Another sub-item in a nested list</li><li><p>A third nested list item it could also contain nested content,such as a short code snippet:</p><pre><code>A short code snippet</code></pre></li><li><p>A fourth nested list item</p><ol><li>The first item in a list nested three levels deep<ol><li>We have a few different bullet styles</li><li>These nested lists show the extent of them<ol><li>Further nesting, if you really want to use it,doesn't have different bullets<ol><li>An example bullet in an unreasonably deep levelof nesting</li></ol></li></ol></li><li>Item back up at the fourth level</li></ol></li><li><p>Another third-level nested list item</p><p className="alert alert-info" role="alert"><strong>Note</strong>: This list item has a nested note,too.</p></li><li><p>Last nested item I promise</p></li></ol></li></ol></li><li><p>List item number four, with a considerable amount of text thatshould probably wrap to a newline, as this line is too long not towrap. List items should accommodate have any kind of contentnested within them, an image is shown nested in this one.</p><p><imgsrc="https://picsum.photos/300/150/?image=1075"alt="Placeholder image"/></p></li><li><p>A fifth list item, again with paragraph text. Certain Vaultbackends utilize plugins to extend their functionality outside ofwhat is available in the core Vault code. Often times thesebackends will provide both builtin plugins and a mechanism forexecuting external plugins.</p></li></ol><h2><a name="code-blocks" className="__permalink-h" href="#code-blocks">»</a>Code Blocks</h2><h6><aname="inline-code-1"className="__permalink-h"href="#inline-code-1">»</a>Inline Code</h6><p>External plugins, on the other hand, are not shipped with the{' '}<code>vault</code> binary and must be registered to Vault by aprivileged Vault user with <code>vault write</code>. This section ofthe documentation will describe the architecture and security ofexternal plugins.</p><h6><aname="code-snippets"className="__permalink-h"href="#code-snippets">»</a>Code Snippets</h6><p>External plugins, on the other hand, are not shipped with the Vaultbinary and must be registered to Vault by a privileged Vault user.This section of the documentation will describe the architecture andsecurity of external plugins.</p><pre><code>$ vault write code/block/example/myplugin-database-plugin sha_256=<expected SHA256 Hex value of the plugin binary> command="myplugin" Success! Data written to:code/block/example/myplugin-database-plugin</code></pre><h6><aname="syntax-highlighting"className="__permalink-h"href="#syntax-highlighting">»</a>Syntax Highlighting</h6><p>It would be amazing to be able to show syntax highlighting forsupported languages in this section as well.</p><div className="highlight"><pre className="highlight javascript"><code><span className="p">{'{'}</span><span className="s2">"sub"</span><span className="p">:</span>{' '}<span className="s2">"$SERVICE_ACCOUNT"</span><span className="p">,</span><span className="s2">"aud"</span><span className="p">:</span>{' '}<span className="s2">"vault/$ROLE"</span><span className="p">,</span><span className="s2">"exp"</span><span className="p">:</span>{' '}<span className="s2">"$EXPIRATION"</span>{' '}<span className="c1">// optional</span><span className="p">}</span></code></pre></div><p className="alert alert-warning" role="alert"><strong>To Do</strong>: Add examples of syntax highlighted exampleshere for supported languages. Though that may be out of scope for thefunctionality of this <code>.g-content</code> component?</p><pre><code className="undefinedjavascript">var s = 'JavaScript syntax highlighting' alert(s)</code></pre><pre><code className="undefinedpython">s = "Python syntax highlighting" print s</code></pre><pre><code>No language indicated, so no syntax highlighting. But let's throw ina <b>tag</b>.</code></pre><h2><a name="alert-boxes" className="__permalink-h" href="#alert-boxes">»</a>Alert Boxes</h2><p>External plugins, on the other hand, are not shipped with the Vaultbinary and must be registered to Vault by a privileged Vault user.This section of the documentation will describe the architecture andsecurity of external plugins.</p><p className="alert alert-danger" role="alert"><strong>Note</strong>: Reading the original connection's TLSconnection state is not supported in plugins. Please consider readingthis example <code>danger</code> note.</p><p className="alert alert-warning" role="alert"><strong>Note</strong>: Reading the original connection's TLSconnection state is not supported in some rare edge cases. Pleaseconsider reading this example <code>warning</code> note.</p><p className="alert alert-info" role="alert"><strong>Note</strong>: Reading the original connection's TLSconnection state is also supported in plugins. Please consider readingthis example <code>info</code> note.</p><p className="alert alert-success" role="alert"><strong>Note</strong>: Reading the original connection's TLSconnection state is now supported in plugins. Please consider readingthis example <code>success</code> note.</p><p>Alert boxes may contain specific nested content - for example, imagesand diagrams can be inserted into notes.</p><p className="alert alert-success" role="alert"><strong>Note</strong>: Here's an example of an image nested within aNote. This might not look half bad with diagrams, as long as they havea transparent background to avoid an unsightly white box.{' '}<imgsrc="https://picsum.photos/300/150/?image=1075"alt="Placeholder image"/>{' '}Please consider reading this example <code>success</code> note.</p><h2><a name="tables" className="__permalink-h" href="#tables">»</a>Tables</h2><p>Colons can be used to align columns.</p><table><thead><tr><th>Tables</th><th align="center">Are</th><th align="right">Cool</th></tr></thead><tbody><tr><td>col 3 is</td><td align="center">right-aligned</td><td align="right">$1600</td></tr><tr><td>col 2 is</td><td align="center">centered</td><td align="right">$12</td></tr><tr><td>zebra stripes</td><td align="center">are neat</td><td align="right">$1</td></tr></tbody></table><p>There must be at least 3 dashes separating each header cell. The outerpipes (|) are optional, and you don't need to make the raw Markdownline up prettily. You can also use inline Markdown.</p><table><thead><tr><th>Markdown</th><th>Less</th><th>Pretty</th></tr></thead><tbody><tr><td><em>Still</em></td><td><code>renders</code></td><td><strong>nicely</strong></td></tr><tr><td>1</td><td>2</td><td>3</td></tr></tbody></table><p className="alert alert-warning" role="alert"><strong>To Do</strong>: Add more realistic example. Grab a simpletable and a more complex table from some existing Docs or Guidescontent.</p><p className="alert alert-warning" role="alert"><strong>To Do</strong>: Build out table styles to more closely matchupdated design system. First, create mockups for table styles inComponents - Atoms file in Figma, then translate to styles. Probablybetter to update table styles in{' '}<code>global-styles/_tables.css</code> and not in this component.</p><h2><a name="blockquotes" className="__permalink-h" href="#blockquotes">»</a>Blockquotes</h2><blockquote><p>Blockquotes are very handy in email to emulate reply text. This lineis part of the same quote.</p></blockquote><blockquote><p>This is a very long line that will still be quoted properly when itwraps. Oh boy let's keep writing to make sure this is long enough toactually wrap for everyone. Oh, you can put{' '}<strong>Markdown</strong> into a blockquote, of course{' '}<em>emphasized text</em> doesn't stand out in the same way.</p></blockquote><blockquote><p>This is a quoted code block sample.</p><pre><code> This is a code block</code></pre></blockquote><blockquote><p>This is a quoted image sample.</p><p><imgsrc="https://picsum.photos/300/150/?image=1075"alt="Placeholder image"/></p></blockquote><blockquote><p>These are quoted lists, first an unordered example...</p><ul><li>First item<ul><li>Nested item one</li><li>Nested item two</li><li>Nested item three</li></ul></li><li>Second item</li><li>Third item</li></ul><p>Then an ordered example:</p><ol><li>First item<ol><li>Nested item one</li><li>Nested item two</li><li>Nested item three</li></ol></li><li>Second item</li><li>Third item</li></ol></blockquote><p className="alert alert-warning" role="alert"><strong>To Do</strong>: Add more examples of block quote with nestedcontent. Could potentially include any valid markdown, although we'llprobably want to recommend against that kind of nesting, so probablynot a huge priority.</p><h2><aname="horizontal-rules"className="__permalink-h"href="#horizontal-rules">»</a>Horizontal Rules</h2><p>External plugins, on the other hand, are not shipped with the Vaultbinary and must be registered to Vault by a privileged Vault user.This section of the documentation will describe the architecture andsecurity of external plugins.</p><hr /><p>Certain Vault backends utilize plugins to extend their functionalityoutside of what is available in the core Vault code. Often times thesebackends will provide both builtin plugins and a mechanism forexecuting external plugins.</p><hr /><pre><code>$ vault write code/block/example/myplugin-database-plugin sha_256=<expected SHA256 Hex value of the plugin binary> command="myplugin" Success! Data written to:code/block/example/myplugin-database-plugin</code></pre></>}/>