# Writing on Infusion

https://heydon.github.io/infusion/patterns/writing/ Recent content in Writing on Infusion Hugo -- gohugo.io en-us

# Library structure

https://heydon.github.io/infusion/patterns/writing/library-structure/ Mon, 01 Jan 0001 00:00:00 +0000

https://heydon.github.io/infusion/patterns/writing/library-structure/
Before you can set about documenting patterns, you need to know where everything goes. The simplest folder structure looks like this: └── content ├── _index.md └── patterns ├── name-of-my-pattern.md └── name-of-my-other-pattern.md /content - This is where all of your content lives. You won&rsquo;t need to visit any other folders very frequently. _index.md — This is the content for your home page. /patterns — This is the folder where individual pattern files are kept.

# Markdown & metadata

https://heydon.github.io/infusion/patterns/writing/markdown-and-metadata/ Mon, 01 Jan 0001 00:00:00 +0000

https://heydon.github.io/infusion/patterns/writing/markdown-and-metadata/
In Infusion, design patterns are documented using markdown. To create a new pattern file, just add a file with the .md extension to the /patterns folder. It&rsquo;s recommended you use &ldquo;kebab case&rdquo; to name the file ( words separated by hyphens). For example, a pattern with the title &ldquo;Menu button&rdquo; should probably have the filename menu-button. Then you get a nice clean URL: your-company.com/patterns/menu-button. If you&rsquo;re not familiar with writing markdown, there are a number of tutorials available.

# Expandable sections

https://heydon.github.io/infusion/patterns/writing/expandable-sections/ Mon, 01 Jan 0001 00:00:00 +0000

https://heydon.github.io/infusion/patterns/writing/expandable-sections/
In some cases, where there is a lot of content, it&rsquo;s helpful to collapse certain sections. That way, readers get an overview of what&rsquo;s in the content and can choose where to focus in. Infusion provides a shortcode method for creating expandable sections which generates accessible markup using aria-expanded. The expandable shortcode takes three parameters: label — This is the label for the the section heading. level — This is the heading level (e.

# Notes & warnings

https://heydon.github.io/infusion/patterns/writing/notes-and-warnings/ Mon, 01 Jan 0001 00:00:00 +0000

https://heydon.github.io/infusion/patterns/writing/notes-and-warnings/
Infusion acknowledges that simple markdown is limiting when it comes to writing compelling documentation, so it provides a number of &ldquo;shortcodes&rdquo;. Shortcodes offer a simple syntax for including rich content. For example, Infusion provides shortcodes for including notes and warnings. Notes You may wish to pick out some content in your pattern&rsquo;s documentation as a note — an aside to the main thrust of the pattern&rsquo;s description. This is possible using the following syntax:

# References

https://heydon.github.io/infusion/patterns/writing/references/ Mon, 01 Jan 0001 00:00:00 +0000

https://heydon.github.io/infusion/patterns/writing/references/
Cross-references Infusion provides an easy mechanism to cross-reference patterns, by title, using the pattern shortcode. For example, I can reference the Notes &amp; warnings pattern. Here&rsquo;s what the markdown looks like, including the shortcode: I can reference the &#x7b;{% pattern "Notes & warnings" %}} pattern here. This saves you having to worry about pathing and decorates the generated link with a bookmark icon, identifying the link as a pattern reference visually.