Set up the infrastructure for maintaining our documentation in code
>>> [!note] Migrated issue
<!-- Drupal.org comment -->
<!-- Migrated from issue #3568591. -->
Reported by: [phenaproxima](https://www.drupal.org/user/205645)
Related to !771 !769 !768 !767
>>>
<h3 id="summary-problem-motivation">Problem/Motivation</h3>
<p>Drupal CMS's documentation lives completely out of our control. It's somewhere on drupal.org and only a couple of us have the ability to edit it.</p>
<p>Needless to say, this is not The Way to have documentation that keeps pace with the rapid speed of change in Drupal CMS. We should do what every other open-source project in the world does, and have our docs in source control, compiled into a static site by a CI job.</p>
<p>WIP docs: <a href="https://project.pages.drupalcode.org/drupal_cms/">https://project.pages.drupalcode.org/drupal_cms/</a></p>
<h3 id="summary-proposed-resolution">Proposed resolution</h3>
<ul>
<li>Let's get a CI job set up that uses mkdocs to generate a static documentation site and expose it as an artifact that expires in a week. That job should also perform a spell check, and fail if there are any spelling errors.</li>
<li>There should also be a job that pushes the docs to GitLab pages when a release is tagged (we probably don't want untagged features in the official documentation).</li>
<li>Convert the existing documentation (<a href="https://new.drupal.org/docs/drupal-cms">https://new.drupal.org/docs/drupal-cms</a>) to this new form to start with.</li>
<li>Inform @B_man at the DA when the documentation conversion is usable for testing on staging</li>
<li>Inform @B_man at the DA when the documentation conversion is finished and the old pages can be replaced with automatic publishing from the docs as code repo into nodes</li>
</ul>
<h4>For reference:</h4>
<ul>
<li>Documentation on how to set this up: <a href="https://project.pages.drupalcode.org/gitlab_templates/jobs/pages/">https://project.pages.drupalcode.org/gitlab_templates/jobs/pages/</a></li>
<li>Example of another project using this: <a href="https://git.drupalcode.org/project/gitlab_templates/-/tree/main/docs?ref_type=heads">https://git.drupalcode.org/project/gitlab_templates/-/tree/main/docs?ref_type=heads</a></li>
</ul>
<h3 id="summary-ui-changes">User interface changes</h3>
<p>We will want to be sure that we link to the published docs in the navigation sidebar. Right now it links to the old place.</p>
issue