<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Contributing Guide on Crossplane</title><link>https://deploy-preview-1077--crossplane.netlify.app/contribute/</link><description>Recent content in Contributing Guide on Crossplane</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><lastBuildDate>Mon, 01 Jan 0001 00:00:00 +0000</lastBuildDate><atom:link href="https://deploy-preview-1077--crossplane.netlify.app/contribute/index.xml" rel="self" type="application/rss+xml"/><item><title>Getting Started</title><link>https://deploy-preview-1077--crossplane.netlify.app/contribute/contribute/</link><pubDate/><guid>https://deploy-preview-1077--crossplane.netlify.app/contribute/contribute/</guid><description>&lt;p>The Crossplane documentation lives in the
&lt;a href="https://github.com/crossplane/docs">docs GitHub repository&lt;/a>.&lt;/p>
&lt;h2 id="local-development">Local development &lt;a class="anchor-link" id="local-development" href="#local-development" aria-label="Link to this section: Local development">&lt;/a>&lt;/h2>
&lt;p>Clone the documentation and use &lt;a href="https://gohugo.io/">Hugo&lt;/a> to
build the Crossplane documentation site locally for development and testing.&lt;/p>
&lt;h3 id="clone-the-docs-repository">Clone the docs repository &lt;a class="anchor-link" id="clone-the-docs-repository" href="#clone-the-docs-repository" aria-label="Link to this section: Clone the docs repository">&lt;/a>&lt;/h3>
&lt;p>Clone the
&lt;a href="https://github.com/crossplane/docs">Crossplane docs repository&lt;/a> with&lt;/p>
&lt;pre tabindex="0">&lt;code class="language-command" data-lang="command">git clone https://github.com/crossplane/docs.git
&lt;/code>&lt;/pre>&lt;h3 id="download-hugo">Download Hugo &lt;a class="anchor-link" id="download-hugo" href="#download-hugo" aria-label="Link to this section: Download Hugo">&lt;/a>&lt;/h3>
&lt;p>Download &lt;a href="https://github.com/gohugoio/hugo/releases/latest">Hugo&lt;/a>, the
static site generator Crossplane docs uses.&lt;/p>
&lt;div class="admonition important d-flex flex-column mx-4 p-0">
&lt;div class="admonition-title">
&lt;svg class="bi flex-shrink-0" role="img" aria-label="important:">&lt;use
xlink:href="#exclamation"/>&lt;/svg>
&lt;span class="ps-1">Important&lt;/span>
&lt;/div>
&lt;div class="admonition-content">
Download the &lt;code>hugo_extended&lt;/code> version. The standard Hugo package doesn&amp;rsquo;t support
the Crossplane docs CSS.
&lt;/div>
&lt;/div>
&lt;p>Extract and run Hugo with &lt;code>hugo server&lt;/code>.&lt;/p></description></item><item><title>Writing Style Guide</title><link>https://deploy-preview-1077--crossplane.netlify.app/contribute/writing-style-guide/</link><pubDate/><guid>https://deploy-preview-1077--crossplane.netlify.app/contribute/writing-style-guide/</guid><description>&lt;p>The most important points of the style guide include:&lt;/p>
&lt;!-- vale off -->
&lt;ul>
&lt;li>Avoid &lt;a href="https://www.grammarly.com/blog/passive-voice/">passive voice&lt;/a>.
&lt;ul>
&lt;li>Active voice writing is stronger and direct. Active voice simplifies doc translations.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Use &lt;a href="https://apastyle.apa.org/style-grammar-guidelines/capitalization/sentence-case">sentence-case headings&lt;/a>.
&lt;ul>
&lt;li>Sentence case creates more casual and approachable writing.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Wrap lines at 80 characters.
&lt;ul>
&lt;li>Line wrapping improves review feedback.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Use &lt;a href="https://www.grammarly.com/blog/simple-present/">present tense&lt;/a> and avoid &amp;ldquo;will.&amp;rdquo;
&lt;ul>
&lt;li>Docs cover actions happening now and the results in real time.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Spell out numbers less than 10, except for percentages, time and versions.
&lt;ul>
&lt;li>Numbers in sentences are more difficult to read.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Capitalize &amp;ldquo;Crossplane&amp;rdquo; and &amp;ldquo;Kubernetes.&amp;rdquo;
&lt;ul>
&lt;li>Crossplane and Kubernetes are proper nouns. Don&amp;rsquo;t use &lt;code>k8s&lt;/code>.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Spell out the first use of an acronym unless it&amp;rsquo;s common to new Crossplane
users. When in doubt, spell it out first.
&lt;ul>
&lt;li>Avoid assuming the reader already knows the background.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Don&amp;rsquo;t use &lt;a href="https://www.topcreativewritingcourses.com/blog/common-cliches-in-writing-and-how-to-avoid-them">cliches&lt;/a>.
&lt;ul>
&lt;li>Cliches make writing sound unprofessional and aren&amp;rsquo;t internationally inclusive.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Use contractions for phrases like &amp;ldquo;do not,&amp;rdquo; &amp;ldquo;cannot,&amp;rdquo; &amp;ldquo;is not&amp;rdquo; and related terms.
&lt;ul>
&lt;li>It&amp;rsquo;s easy to miss &amp;ldquo;not&amp;rdquo; in &amp;ldquo;do not.&amp;rdquo; It&amp;rsquo;s hard to misunderstand &amp;ldquo;don&amp;rsquo;t.&amp;rdquo;&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Don&amp;rsquo;t use Latin terms (i.e., e.g., etc.).
&lt;ul>
&lt;li>These terms are more difficult for non-Latin language speakers to
understand.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Avoid &lt;a href="https://owl.purdue.edu/owl/general_writing/mechanics/gerunds_participles_and_infinitives/index.html">gerund&lt;/a> headings (-ing words).
&lt;ul>
&lt;li>Gerunds make headings less direct.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Try and limit sentences to 25 words or fewer.
&lt;ul>
&lt;li>Longer sentences are more difficult to read. Shorter sentences are better
for search engine optimization.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="https://usability.yale.edu/web-accessibility/articles/links#link-text">Be descriptive in link text&lt;/a>. Don&amp;rsquo;t use &amp;ldquo;click here&amp;rdquo; or &amp;ldquo;read more&amp;rdquo;.
&lt;ul>
&lt;li>Describe link text improves accessibility for screen readers.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Order brand names alphabetically. For example, AWS, Azure, GCP.
&lt;ul>
&lt;li>Ordered names removes the appearance of preference.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Don&amp;rsquo;t use &amp;ldquo;easy,&amp;rdquo; &amp;ldquo;simple,&amp;rdquo; or &amp;ldquo;obvious&amp;rdquo;.
&lt;ul>
&lt;li>It&amp;rsquo;s condescending to the reader.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>No Oxford commas.
&lt;ul>
&lt;li>A subjective style choice. No commas before &amp;ldquo;and&amp;rdquo; or &amp;ldquo;or.&amp;rdquo;&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>U.S. English spelling and grammar.&lt;/li>
&lt;/ul>
&lt;!-- vale on -->
&lt;p>Crossplane relies on &lt;a href="https://github.com/errata-ai/vale">Vale&lt;/a> to enforce the
complete style guide.&lt;/p></description></item><item><title>Using Vale</title><link>https://deploy-preview-1077--crossplane.netlify.app/contribute/vale/</link><pubDate/><guid>https://deploy-preview-1077--crossplane.netlify.app/contribute/vale/</guid><description>&lt;p>Crossplane relies on &lt;a href="https://github.com/errata-ai/vale">Vale&lt;/a> to enforce the style guide.&lt;/p>
&lt;p>Crossplane&amp;rsquo;s Vale style definitions are in the
&lt;a href="https://github.com/crossplane/docs/tree/master/utils/vale">&lt;code>utils/vale&lt;/code>&lt;/a>
directory.&lt;/p>
&lt;div class="admonition important d-flex flex-column mx-4 p-0">
&lt;div class="admonition-title">
&lt;svg class="bi flex-shrink-0" role="img" aria-label="important:">&lt;use
xlink:href="#exclamation"/>&lt;/svg>
&lt;span class="ps-1">Important&lt;/span>
&lt;/div>
&lt;div class="admonition-content">
The Crossplane community is updating existing content to pass Vale. Until the
community completes the project Vale errors are only enforced for new or changed
content. The community approves PRs with Vale errors in unmodified document sections.
&lt;/div>
&lt;/div>
&lt;h2 id="install-vale">Install Vale &lt;a class="anchor-link" id="install-vale" href="#install-vale" aria-label="Link to this section: Install Vale">&lt;/a>&lt;/h2>
&lt;p>Follow the directions on the Vale website to
&lt;a href="https://vale.sh/docs/vale-cli/installation/">install the Vale binary&lt;/a>.&lt;/p></description></item><item><title>Code Styling Guide</title><link>https://deploy-preview-1077--crossplane.netlify.app/contribute/code-style-guide/</link><pubDate/><guid>https://deploy-preview-1077--crossplane.netlify.app/contribute/code-style-guide/</guid><description>&lt;p>To optimize readability and comprehension Crossplane has developed guidelines
for source code used in documentation.&lt;/p>
&lt;h2 id="use-fenced-code-blocks">Use fenced code blocks &lt;a class="anchor-link" id="use-fenced-code-blocks" href="#use-fenced-code-blocks" aria-label="Link to this section: Use fenced code blocks">&lt;/a>&lt;/h2>
&lt;p>Use Markdown
&lt;a href="https://www.markdownguide.org/extended-syntax/#fenced-code-blocks">fenced code blocks&lt;/a>
with three backticks (&lt;code>```&lt;/code>) for
all command examples and outputs.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-markdown" data-lang="markdown">&lt;span class="line">&lt;span class="ln" id="hl-0-1">&lt;a class="lnlinks" href="#hl-0-1">1&lt;/a>&lt;/span>&lt;span class="cl">&lt;span class="s">```
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln" id="hl-0-2">&lt;a class="lnlinks" href="#hl-0-2">2&lt;/a>&lt;/span>&lt;span class="cl">&lt;span class="s">&lt;/span>this is a code block
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln" id="hl-0-3">&lt;a class="lnlinks" href="#hl-0-3">3&lt;/a>&lt;/span>&lt;span class="cl">&lt;span class="s">```&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Only use a single backtick (&lt;code>`&lt;/code>) for commands used in a sentence.&lt;/p>
&lt;p>For example, the command &lt;code>kubectl apply&lt;/code> is inside a sentence.&lt;/p></description></item><item><title>Additional Styling Features</title><link>https://deploy-preview-1077--crossplane.netlify.app/contribute/features/</link><pubDate/><guid>https://deploy-preview-1077--crossplane.netlify.app/contribute/features/</guid><description>&lt;p>The following is a list of Crossplane documentation customizations that expand
traditional Markdown. Most of these are custom
&lt;a href="https://gohugo.io/templates/shortcode-templates/">Hugo Shortcodes&lt;/a>.&lt;/p>
&lt;div class="admonition note d-flex flex-column mx-4 p-0">
&lt;div class="admonition-title">
&lt;svg class="bi flex-shrink-0" role="img" aria-label="note:">&lt;use
xlink:href="#info"/>&lt;/svg>
&lt;span class="ps-1">Note&lt;/span>
&lt;/div>
&lt;div class="admonition-content">
If you&amp;rsquo;re having trouble with the Hugo shortcodes, ask for help in the
&lt;code>#documentation&lt;/code> channel of the
&lt;a href="https://slack.crossplane.io/">Crossplane Slack&lt;/a>.
&lt;/div>
&lt;/div>
&lt;h2 id="markdown">Markdown &lt;a class="anchor-link" id="markdown" href="#markdown" aria-label="Link to this section: Markdown">&lt;/a>&lt;/h2>
&lt;p>Crossplane documentation uses Hugo to render Markdown to
HTML. Hugo supports &lt;a href="https://commonmark.org/">Commonmark&lt;/a> and
&lt;a href="https://github.github.com/gfm/">GitHub Flavored Markdown&lt;/a> through the
&lt;a href="https://github.com/yuin/goldmark/">Goldmark&lt;/a> parser.&lt;/p>
&lt;div class="admonition note d-flex flex-column mx-4 p-0">
&lt;div class="admonition-title">
&lt;svg class="bi flex-shrink-0" role="img" aria-label="note:">&lt;use
xlink:href="#info"/>&lt;/svg>
&lt;span class="ps-1">Note&lt;/span>
&lt;/div>
&lt;div class="admonition-content">
Commonmark and &lt;code>GFM&lt;/code> are extensions to the
&lt;a href="https://www.markdownguide.org/">standard Markdown&lt;/a> language.
&lt;/div>
&lt;/div>
&lt;p>The docs support standard Markdown for images, links and tables, Crossplane
recommend using the custom shortcodes to provide a better experience for readers.&lt;/p></description></item><item><title>Docs Infrastructure</title><link>https://deploy-preview-1077--crossplane.netlify.app/contribute/infrastructure/</link><pubDate/><guid>https://deploy-preview-1077--crossplane.netlify.app/contribute/infrastructure/</guid><description>&lt;p>The Crossplane document website is in a standalone
&lt;a href="https://github.com/crossplane/docs">GitHub repository&lt;/a> separate from Crossplane
core.&lt;/p>
&lt;p>The Crossplane docs tools consist of:&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://netlify.com/">Netlify&lt;/a> - web hosting and DNS provided by the CNCF.&lt;/li>
&lt;li>&lt;a href="https://gohugo.io/">Hugo&lt;/a> - to compile markdown to static HTML.&lt;/li>
&lt;li>&lt;a href="https://getbootstrap.com/docs/5.2/">Bootstrap&lt;/a> - for pre-built CSS options.&lt;/li>
&lt;li>&lt;a href="https://postcss.org/">PostCSS&lt;/a> - for CSS optimization.&lt;/li>
&lt;li>&lt;a href="https://webpack.js.org/">Webpack&lt;/a> - for Javascript optimization.&lt;/li>
&lt;/ul>
&lt;h2 id="netlify">Netlify &lt;a class="anchor-link" id="netlify" href="#netlify" aria-label="Link to this section: Netlify">&lt;/a>&lt;/h2>
&lt;p>Builds for production deploys and PR previews are automatically done by Netlify.&lt;/p></description></item></channel></rss>