index.xml 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227
  1. <?xml version="1.0" encoding="utf-8" standalone="yes" ?>
  2. <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  3. <channel>
  4. <title>The Infusion Pattern Library Builder on Infusion</title>
  5. <link>https://heydon.github.io/infusion/</link>
  6. <description>Recent content in The Infusion Pattern Library Builder on Infusion</description>
  7. <generator>Hugo -- gohugo.io</generator>
  8. <language>en-us</language>
  9. <lastBuildDate>Mon, 26 Jun 2017 18:27:58 +0100</lastBuildDate>
  10. <atom:link href="https://heydon.github.io/infusion/index.xml" rel="self" type="application/rss+xml" />
  11. <item>
  12. <title>Code blocks</title>
  13. <link>https://heydon.github.io/infusion/patterns/coding/code-blocks/</link>
  14. <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
  15. <guid>https://heydon.github.io/infusion/patterns/coding/code-blocks/</guid>
  16. <description>Markdown already supports code samples both inline (using single backticks like `some code here`) and in blocks. Infusion will syntax highlight HTML, CSS, and JavaScript if you provide the correct language in the formulation of the block.
  17. So, this&amp;hellip;
  18. ```html &amp;lt;button aria-pressed=&#34;false&#34;toggle me&amp;lt;/button ``` &amp;hellip; will result in this:
  19. &amp;lt;button aria-pressed=&amp;quot;false&amp;quot;&amp;gt;toggle me&amp;lt;/button&amp;gt; Note that the syntax highlighting uses a greyscale theme. Infusion is careful not to use color as part of its own design, because these colors may clash with those of the design being illustrated and discussed.</description>
  20. </item>
  21. <item>
  22. <title>Installation</title>
  23. <link>https://heydon.github.io/infusion/patterns/installation/</link>
  24. <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
  25. <guid>https://heydon.github.io/infusion/patterns/installation/</guid>
  26. <description>Infusion is built using the static site engine, Hugo, and NPM. The codebase is available to download on Github. Let&amp;rsquo;s get set up step-by-step.
  27. Install Hugo First you need to install Hugo globally.
  28. OSX users If you are a Mac user and have Homebrew on your system, installing Hugo is simple:
  29. brew install hugo Alternatively, you can manually install Hugo from a package. You can verify the installation was successful by typing:</description>
  30. </item>
  31. <item>
  32. <title>Library structure</title>
  33. <link>https://heydon.github.io/infusion/patterns/writing/library-structure/</link>
  34. <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
  35. <guid>https://heydon.github.io/infusion/patterns/writing/library-structure/</guid>
  36. <description>Before you can set about documenting patterns, you need to know where everything goes. The simplest folder structure looks like this:
  37. content _index.md print-version.md patterns name-of-my-pattern.md name-of-my-other-pattern.md /content - This is where all of your content lives. You won&amp;rsquo;t need to visit any other folders very frequently. _index.md — This is the content file for your home page. print-version.md — This is a placeholder for the single-page / print-friendly version of you library.</description>
  38. </item>
  39. <item>
  40. <title>Demo embedding</title>
  41. <link>https://heydon.github.io/infusion/patterns/coding/demo-embedding/</link>
  42. <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
  43. <guid>https://heydon.github.io/infusion/patterns/coding/demo-embedding/</guid>
  44. <description>Sometimes just pictures of the pattern you&amp;rsquo;re documenting aren&amp;rsquo;t enough. Interactive patterns benefit from live demos, so that readers can test their functionality.
  45. CodePen Infusion offers a couple of ways to do this. The first is by embedding CodePen demos into the content. The codePen shortcode takes just one argument: the codePen&amp;rsquo;s ID.
  46. &amp;#x7b;{% codePen VpVNKW %}} This will embed the identified codePen into the content wherever you placed the shortcode, with the result view showing by default:</description>
  47. </item>
  48. <item>
  49. <title>Library setup</title>
  50. <link>https://heydon.github.io/infusion/patterns/library-setup/</link>
  51. <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
  52. <guid>https://heydon.github.io/infusion/patterns/library-setup/</guid>
  53. <description>By now, you should have followed the Installation instructions. You should have Hugo and Node installed, and a local copy of a forked version of Infusion. You should also have run npm install in the root of that codebase.
  54. &amp;ldquo;Cleaning&amp;rdquo; the content folder Before you can start documenting patterns, there are a few things still to do in order to get set up. At the moment, your version of Infusion is a facsimile of the original, containing all this documentation content.</description>
  55. </item>
  56. <item>
  57. <title>Markdown &amp; metadata</title>
  58. <link>https://heydon.github.io/infusion/patterns/writing/markdown-and-metadata/</link>
  59. <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
  60. <guid>https://heydon.github.io/infusion/patterns/writing/markdown-and-metadata/</guid>
  61. <description>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&amp;rsquo;s recommended you use &amp;ldquo;kebab case&amp;rdquo; to name the file ( words separated by hyphens). For example, a pattern with the title &amp;ldquo;Menu button&amp;rdquo; should probably have the filename menu-button. Then you get a nice clean URL: username.github.io/your-library/patterns/menu-button.
  62. If you&amp;rsquo;re not familiar with writing markdown, there are a number of tutorials available.</description>
  63. </item>
  64. <item>
  65. <title>Serving</title>
  66. <link>https://heydon.github.io/infusion/patterns/serving/</link>
  67. <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
  68. <guid>https://heydon.github.io/infusion/patterns/serving/</guid>
  69. <description>Serving locally While you&amp;rsquo;re creating content for your library, you&amp;rsquo;ll probably want to see what the finished product looks like. Fortunately, Infusion is easy to serve locally using the serve command:
  70. npm run serve This will serve your working library from localhost:1313. Whenever you make changes to your library&amp;rsquo;s files, the site will automatically rebuild. No need to refresh the web page!
  71. Publishing on Github Pages Infusion creates a /docs folder containing the latest version of your library whenever you do an npm run build or a git commit.</description>
  72. </item>
  73. <item>
  74. <title>Writing inline demos</title>
  75. <link>https://heydon.github.io/infusion/patterns/coding/writing-inline-demos/</link>
  76. <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
  77. <guid>https://heydon.github.io/infusion/patterns/coding/writing-inline-demos/</guid>
  78. <description>There are some issues with , like them not working offline. They also come with CodePen branding, which will clash with the pattern you&amp;rsquo;re trying to illustrate.
  79. Infusion offers another option: a special demo shortcode that allows you to write HTML, CSS, and JavaScript directly into the markdown file. The outputted demo is encapsulated using Shadow DOM, so you don&amp;rsquo;t have to worry about broken styles and global JS.</description>
  80. </item>
  81. <item>
  82. <title>Printing</title>
  83. <link>https://heydon.github.io/infusion/patterns/printing/</link>
  84. <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
  85. <guid>https://heydon.github.io/infusion/patterns/printing/</guid>
  86. <description>Infusion&amp;rsquo;s output site includes a one-page Print version of the generated library, available at /print-version. So, if your library base URL is https://yourName.github.io/your-library, you can print the whole library — to PDF if wanted — from the following address:
  87. https://yourName.github.io/your-library/print-version Print styles are also provided for individual pattern pages so, if you wanted to print off a single pattern document, go ahead!
  88. </description>
  89. </item>
  90. <item>
  91. <title>Expandable sections</title>
  92. <link>https://heydon.github.io/infusion/patterns/writing/expandable-sections/</link>
  93. <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
  94. <guid>https://heydon.github.io/infusion/patterns/writing/expandable-sections/</guid>
  95. <description>In some cases, where there is a lot of content, it&amp;rsquo;s helpful to collapse certain sections. That way, readers get an overview of what&amp;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.
  96. The expandable shortcode takes three parameters:
  97. label — This is the label for the the section heading. level — This is the heading level (e.</description>
  98. </item>
  99. <item>
  100. <title>Print version</title>
  101. <link>https://heydon.github.io/infusion/print-version/</link>
  102. <pubDate>Sat, 29 Jul 2017 22:48:43 +0100</pubDate>
  103. <guid>https://heydon.github.io/infusion/print-version/</guid>
  104. <description>You don&amp;rsquo;t want to edit this file :-)</description>
  105. </item>
  106. <item>
  107. <title>Color palettes</title>
  108. <link>https://heydon.github.io/infusion/patterns/coding/color-palettes/</link>
  109. <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
  110. <guid>https://heydon.github.io/infusion/patterns/coding/color-palettes/</guid>
  111. <description>There&amp;rsquo;s no reason why your Infusion-powered pattern library has to be all about functionality. You can include style guide-like information such as color palettes too. The colors shortcode makes it easy to exhibit colors and their values together. Just supply a comma-separated list of CSS color values.
  112. &amp;#x7b;{% colors &#34;#111111, #cccccc, #ffffff&#34; %}} The result is a one row strip showing each color supplied in order. The colors for Infusion are greyscale:</description>
  113. </item>
  114. <item>
  115. <title>Command line</title>
  116. <link>https://heydon.github.io/infusion/patterns/coding/command-line/</link>
  117. <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
  118. <guid>https://heydon.github.io/infusion/patterns/coding/command-line/</guid>
  119. <description>Your pattern documentation may need to include commands for installing packages or using CLIs. Infusion offers the cmd shortcode for making code blocks look like terminal commands.
  120. Here&amp;rsquo;s how you write it:
  121. &amp;#x7b;{&amp;lt;cmd}} npm run start &amp;#x7b;{&amp;lt;/cmd}} And here&amp;rsquo;s how it looks:
  122. npm run start The cmd shortcode currently only supports single commands. If you want to show multiple, successive commands use separate cmd blocks.
  123. </description>
  124. </item>
  125. <item>
  126. <title>File trees</title>
  127. <link>https://heydon.github.io/infusion/patterns/coding/file-trees/</link>
  128. <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
  129. <guid>https://heydon.github.io/infusion/patterns/coding/file-trees/</guid>
  130. <description>Representing folder/file structures is simple and accessible in Infusion. Which is just as well, because some components may need to conform to a certain folder structure.
  131. The file tree is described using a markdown nested list structure:
  132. &amp;#x7b;{% fileTree %}} * Level 1 folder * Level 2 file * Level 2 folder * Level 3 file * Level 3 folder * Level 4 file * Level 3 folder * Level 4 file * Level 4 file * Level 3 file * Level 2 folder * Level 3 file * Level 3 file * Level 3 file * Level 2 file * Level 1 file &amp;#x7b;{% /fileTree %}} This is drawn in the following fashion, but preserves the underlying nested list structure for assistive technologies such as screen readers:</description>
  133. </item>
  134. <item>
  135. <title>Including images</title>
  136. <link>https://heydon.github.io/infusion/patterns/media/including-images/</link>
  137. <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
  138. <guid>https://heydon.github.io/infusion/patterns/media/including-images/</guid>
  139. <description>From time to time, you&amp;rsquo;ll be wanting to include images illustrating the documented pattern in hand. Images live in the static folder, which is a sibling of the /content folder you&amp;rsquo;ll be mostly working in.
  140. content static images logo.png menu-button.gif When you first make a copy of Infusion, Infusion&amp;rsquo;s own logo will be included. You should replace this with your own company or project logo.</description>
  141. </item>
  142. <item>
  143. <title>Including videos</title>
  144. <link>https://heydon.github.io/infusion/patterns/media/including-videos/</link>
  145. <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
  146. <guid>https://heydon.github.io/infusion/patterns/media/including-videos/</guid>
  147. <description>Infusion has a lot of its own shortcodes, but you can still use Hugo&amp;rsquo;s built in shortcodes. These include a simple shortcode for including YouTube videos in your content. The shortcode takes just one parameter — the video&amp;rsquo;s id.
  148. &amp;#x7b;{&amp;lt;youtube w7Ft2ymGmfc}} </description>
  149. </item>
  150. <item>
  151. <title>Notes &amp; warnings</title>
  152. <link>https://heydon.github.io/infusion/patterns/writing/notes-and-warnings/</link>
  153. <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
  154. <guid>https://heydon.github.io/infusion/patterns/writing/notes-and-warnings/</guid>
  155. <description>Infusion acknowledges that simple markdown is limiting when it comes to writing compelling documentation, so it provides a number of &amp;ldquo;shortcodes&amp;rdquo;. Shortcodes offer a simple syntax for including rich content. For example, Infusion provides shortcodes for including notes and warnings.
  156. Notes You may wish to pick out some content in your pattern&amp;rsquo;s documentation as a note — an aside to the main thrust of the pattern&amp;rsquo;s description. This is possible using the following syntax:</description>
  157. </item>
  158. <item>
  159. <title>References</title>
  160. <link>https://heydon.github.io/infusion/patterns/writing/references/</link>
  161. <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
  162. <guid>https://heydon.github.io/infusion/patterns/writing/references/</guid>
  163. <description>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;amp; warnings pattern. Here&amp;rsquo;s what the markdown looks like, including the shortcode:
  164. I can reference the &amp;#x7b;{% pattern &#34;Notes &amp; warnings&#34; %}} 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.</description>
  165. </item>
  166. <item>
  167. <title>Tables of contents</title>
  168. <link>https://heydon.github.io/infusion/patterns/writing/tables-of-contents/</link>
  169. <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
  170. <guid>https://heydon.github.io/infusion/patterns/writing/tables-of-contents/</guid>
  171. <description>Pattern pages in Infusion that have two or more subheadings — &amp;lt;h2&amp;gt;s — automatically get a table of contents: a list of links to the main subsections for the page. This feature is made accessible as a navigation region with the &amp;ldquo;Table of contents&amp;rdquo; label and uses an ordered list. The table of contents markup for the Library setup page looks something like this:
  172. &amp;lt;nav class=&amp;quot;toc&amp;quot; aria-labelledby=&amp;quot;toc-heading&amp;quot;&amp;gt; &amp;lt;h2 id=&amp;quot;toc-heading&amp;quot;&amp;gt;Table of contents&amp;lt;/h2&amp;gt; &amp;lt;ol&amp;gt; &amp;lt;li&amp;gt; &amp;lt;a href=&amp;quot;#cleaning-the-content-folder&amp;quot;&amp;gt;“Cleaning” the content folder&amp;lt;/a&amp;gt; &amp;lt;/li&amp;gt; &amp;lt;li&amp;gt; &amp;lt;a href=&amp;quot;#the-setup-command&amp;quot;&amp;gt;The setup command&amp;lt;/a&amp;gt; &amp;lt;/li&amp;gt; &amp;lt;li&amp;gt; &amp;lt;a href=&amp;quot;#the-config-file&amp;quot;&amp;gt;The config file&amp;lt;/a&amp;gt; &amp;lt;/li&amp;gt; &amp;lt;li&amp;gt; &amp;lt;a href=&amp;quot;#including-a-logo&amp;quot;&amp;gt;Including a logo&amp;lt;/a&amp;gt; &amp;lt;/li&amp;gt; &amp;lt;/ol&amp;gt; &amp;lt;/nav&amp;gt; Tables of contents are a neat way to break down the content of the page and give users a navigable overview.</description>
  173. </item>
  174. <item>
  175. <title>Tested using...</title>
  176. <link>https://heydon.github.io/infusion/patterns/coding/tested/</link>
  177. <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
  178. <guid>https://heydon.github.io/infusion/patterns/coding/tested/</guid>
  179. <description>When you&amp;rsquo;re an inclusive designer, it&amp;rsquo;s pertinent to do some testing. Following specs is one thing, but you need to verify that your component works okay for users.
  180. Infusion provided a tested shortcode that let&amp;rsquo;s you show which browsers and assistive technologies you&amp;rsquo;ve tried your design out in. Here&amp;rsquo;s an example. Note the commas and &amp;ldquo;+&amp;rdquo; signs.
  181. &amp;#x7b;{% tested using=&#34;Firefox + JAWS, Chrome, Safari iOS + Voiceover, Edge&#34; %}} This outputs:</description>
  182. </item>
  183. </channel>
  184. </rss>