<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: The Potato Head</title>
    <description>The latest articles on DEV Community by The Potato Head (@potatohead).</description>
    <link>https://dev.to/potatohead</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F786403%2Fb82603c6-1bd4-4e58-a3b9-20d026a00853.jpeg</url>
      <title>DEV Community: The Potato Head</title>
      <link>https://dev.to/potatohead</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/potatohead"/>
    <language>en</language>
    <item>
      <title>Possibly The Ultimate Technical Documentation Guide, maybe.</title>
      <dc:creator>The Potato Head</dc:creator>
      <pubDate>Sat, 08 Oct 2022 00:08:38 +0000</pubDate>
      <link>https://dev.to/potatohead/possibly-the-ultimate-technical-documentation-guide-maybe-3cnb</link>
      <guid>https://dev.to/potatohead/possibly-the-ultimate-technical-documentation-guide-maybe-3cnb</guid>
      <description>&lt;p&gt;&lt;em&gt;### Note - starting to write articles so any feedback greatly appreciated.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;Managing technical documentation is Haaaard. &lt;strong&gt;Everyone will write it but no one will maintain it&lt;/strong&gt;. Confluence, Readme, Gitbook, Read the Docs etc. etc. all serve a great purpose, however, if you really want the latest documentation for your systems and departments then let's dive right in!&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;If you haven't got time to read then you can view the results &lt;a href="https://cribmove.github.io/mkdocs-example-demo/"&gt;here&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Or, if you just want to source code with tutorial visit the &lt;a href="https://github.com/cribmove/mkdocs-example-demo"&gt;github repo&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  What is it?
&lt;/h2&gt;

&lt;p&gt;docker + &lt;a href="https://www.mkdocs.org/"&gt;Mkdocs&lt;/a&gt; + Mkdocs plugins + &lt;a href="https://drawio-app.com/"&gt;draw.io&lt;/a&gt;+ &lt;a href="https://mermaid-js.github.io/mermaid/#/"&gt;mermaid&lt;/a&gt; + &lt;a href="https://www.npmjs.com/package/meta"&gt;meta&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Show me then
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Install the repository
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone git@github.com:cribmove/mkdocs-example-demo.git
&lt;span class="nb"&gt;cd &lt;/span&gt;mkdocs-example.demo
&lt;span class="nb"&gt;cd &lt;/span&gt;docs
docker compose up &lt;span class="nt"&gt;-d&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Visit &lt;a href="http://localhost:8124"&gt;localhost:8124&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Ok, but what else?
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Multiple Repositories
&lt;/h3&gt;

&lt;p&gt;By simply using a tool such as &lt;a href="https://www.npmjs.com/package/meta"&gt;https://www.npmjs.com/package/meta&lt;/a&gt; you can pull many repositories into a central repository = great for observing multiple projects and &lt;em&gt;centralising&lt;/em&gt; documentation. All you have to do is include the external repository's mkdocs.yaml as seen below:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;nav&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;External Repository&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;'&lt;/span&gt;&lt;span class="s"&gt;*include&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;./second-repo/mkdocs.yml'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Draw io integration
&lt;/h3&gt;

&lt;p&gt;By using the &lt;a href="https://marketplace.visualstudio.com/items?itemName=hediet.vscode-drawio"&gt;VSCode draw.io extension&lt;/a&gt;, you can diagram in the code editor and view it in your MKdocs! &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--paGNyrjM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3rb2yrxe2bjwdzish9zu.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--paGNyrjM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3rb2yrxe2bjwdzish9zu.jpg" alt="Image description" width="880" height="488"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Mermaid Diagramming
&lt;/h3&gt;

&lt;p&gt;If you have the appetite for it you can diagram in code by using &lt;a href="https://mermaid-js.github.io/mermaid/#/"&gt;mermaid&lt;/a&gt; syntax. Although there is a learning curve, the benefits of diagramming next to your code outweighs the learning time. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--yrQnKXNW--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7cu03wbf2lwo8m1ivq3g.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--yrQnKXNW--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7cu03wbf2lwo8m1ivq3g.jpg" alt="Image description" width="880" height="505"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Open api Integration
&lt;/h3&gt;

&lt;p&gt;If you keep true to your api specification and definitions then you can publish your local definitions to your documentation (again useful for poly-repos and contracts).&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--F2MDPXqD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kk05ne8qszklfbv5bhfy.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--F2MDPXqD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kk05ne8qszklfbv5bhfy.jpg" alt="Image description" width="880" height="580"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Mkdocs isn't for everybody but it does satisfy developer requirements. The extensibility, git history and rapid access that Mkdocs gives you will truly make your Dev experience more enjoyable. Not only can you build quickly but you can also publish to Github pages, cloud-front and netlify with ease! &lt;/p&gt;

&lt;p&gt;Give it a go! &lt;/p&gt;

</description>
      <category>documentation</category>
      <category>engineering</category>
      <category>projectmanagement</category>
      <category>management</category>
    </item>
  </channel>
</rss>
