middlemac 2.0.0 → 3.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (518) hide show
  1. checksums.yaml +5 -5
  2. data/.gitattributes +5 -0
  3. data/.gitignore +6 -0
  4. data/CHANGELOG.md +44 -10
  5. data/Gemfile +11 -1
  6. data/README.md +38 -6
  7. data/Rakefile +20 -4
  8. data/documentation_project/.gitignore +1 -1
  9. data/documentation_project/Contents/Info.plist.erb +5 -3
  10. data/documentation_project/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/_data/globals.yml +0 -0
  11. data/documentation_project/Contents/Resources/SharedGlobalAssets/_data/locale-list.json +318 -0
  12. data/documentation_project/Contents/Resources/SharedGlobalAssets/_layouts/layout-apple-modern-aside.haml +19 -0
  13. data/documentation_project/Contents/Resources/SharedGlobalAssets/_layouts/layout-apple-modern.haml +61 -0
  14. data/documentation_project/Contents/Resources/SharedGlobalAssets/_layouts/layout-blank.haml +11 -0
  15. data/documentation_project/Contents/Resources/SharedGlobalAssets/_layouts/layout-hpd.haml +14 -0
  16. data/documentation_project/Contents/Resources/SharedGlobalAssets/_partials/_yard_middlemac_config.erb +366 -0
  17. data/documentation_project/Contents/Resources/SharedGlobalAssets/_partials/_yard_middlemac_helpers.erb +897 -0
  18. data/documentation_project/Contents/Resources/SharedGlobalAssets/_partials/_yard_middlemac_helpers_extended.erb +369 -0
  19. data/documentation_project/Contents/Resources/{Base.lproj/assets/partials/_yard_pagegroups_resources.erb → SharedGlobalAssets/_partials/_yard_middlemac_resources.erb} +342 -37
  20. data/documentation_project/Contents/Resources/{Base.lproj/assets/partials/_yard_targets_config.erb → SharedGlobalAssets/_partials/_yard_mmtargets_config.erb} +15 -110
  21. data/documentation_project/Contents/Resources/{Base.lproj/assets/partials/_yard_targets_helpers.erb → SharedGlobalAssets/_partials/_yard_mmtargets_helpers.erb} +4 -4
  22. data/documentation_project/Contents/Resources/{Base.lproj/assets/partials/_yard_targets_helpers_extended.erb → SharedGlobalAssets/_partials/_yard_mmtargets_helpers_extended.erb} +6 -2
  23. data/documentation_project/Contents/Resources/{Base.lproj/assets/partials/_yard_targets_instance.erb → SharedGlobalAssets/_partials/_yard_mmtargets_instance.erb} +1 -1
  24. data/documentation_project/Contents/Resources/{Base.lproj/assets/partials/_yard_targets_resources.erb → SharedGlobalAssets/_partials/_yard_mmtargets_resources.erb} +2 -2
  25. data/documentation_project/Contents/Resources/SharedGlobalAssets/convention/icon-webclip-120x120.png +0 -0
  26. data/documentation_project/Contents/Resources/SharedGlobalAssets/convention/icon-webclip-152x152.png +0 -0
  27. data/documentation_project/Contents/Resources/SharedGlobalAssets/convention/icon-webclip-57x57.png +0 -0
  28. data/documentation_project/Contents/Resources/SharedGlobalAssets/convention/icon-webclip-76x76.png +0 -0
  29. data/documentation_project/Contents/Resources/SharedGlobalAssets/convention/icon-webclip-ipad.png +0 -0
  30. data/documentation_project/Contents/Resources/SharedGlobalAssets/convention/icon-webclip-ipad_2x.png +0 -0
  31. data/documentation_project/Contents/Resources/SharedGlobalAssets/convention/icon-webclip-iphone.png +0 -0
  32. data/documentation_project/Contents/Resources/SharedGlobalAssets/convention/icon-webclip-iphone_2x.png +0 -0
  33. data/documentation_project/Contents/Resources/{shared → SharedGlobalAssets/convention}/icon_256x256.png +0 -0
  34. data/documentation_project/Contents/Resources/{shared → SharedGlobalAssets/convention}/icon_256x256@2x.png +0 -0
  35. data/documentation_project/Contents/Resources/{shared → SharedGlobalAssets/convention}/icon_32x32.png +0 -0
  36. data/documentation_project/Contents/Resources/{shared → SharedGlobalAssets/convention}/icon_32x32@2x.png +0 -0
  37. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/apple.css +3831 -0
  38. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/L0200_LeftArrow_2x.png +0 -0
  39. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/L0201_RightArrow_2x.png +0 -0
  40. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/arrow-blue.svg +1 -0
  41. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/arrow.svg +1 -0
  42. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/ask-siri.svg +1 -0
  43. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-clear-search.png +0 -0
  44. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-close-2.png +0 -0
  45. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-close-learnmore.png +0 -0
  46. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-close.png +0 -0
  47. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-search-small.png +0 -0
  48. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-search.png +0 -0
  49. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-toc-rtl.png +0 -0
  50. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-toc-small-rtl.png +0 -0
  51. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-toc-small.png +0 -0
  52. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-toc-toggle-rtl.png +0 -0
  53. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-toc-toggle.png +0 -0
  54. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-toc.png +0 -0
  55. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/changelanguage_icon2x.png +0 -0
  56. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/force-click.svg +1 -0
  57. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-arrow-2.svg +1 -0
  58. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-arrow.png +0 -0
  59. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-close.svg +1 -0
  60. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-external-link-lg.png +0 -0
  61. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-external-link.png +0 -0
  62. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-pause.svg +1 -0
  63. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-play.svg +1 -0
  64. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-replay.svg +1 -0
  65. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-warning-black.png +0 -0
  66. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-warning-eu.png +0 -0
  67. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-warning.png +0 -0
  68. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-webclip-120x120.png +0 -0
  69. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-webclip-152x152.png +0 -0
  70. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-webclip-57x57.png +0 -0
  71. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-webclip-76x76.png +0 -0
  72. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-webclip-ipad.png +0 -0
  73. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-webclip-ipad_2x.png +0 -0
  74. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-webclip-iphone.png +0 -0
  75. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-webclip-iphone_2x.png +0 -0
  76. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/movie-play_2x.png +0 -0
  77. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/nav-left.svg +1 -0
  78. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/nav-paddle-left.png +0 -0
  79. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/nav-paddle-right.png +0 -0
  80. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/nav-right.svg +1 -0
  81. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/search_image_large.svg +1 -0
  82. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/tip.svg +1 -0
  83. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/toc_blue_large.svg +1 -0
  84. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/toc_large.svg +1 -0
  85. data/documentation_project/Contents/Resources/{Base.lproj/assets/stylesheets/_github.scss → SharedGlobalAssets/css/middlemac/github.css.scss} +0 -0
  86. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/middlemac/middlemac.css.scss +129 -0
  87. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/middlemac/note.svg +19 -0
  88. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/middlemac/tip.svg +1 -0
  89. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/middlemac/warning.svg +19 -0
  90. data/documentation_project/Contents/Resources/SharedGlobalAssets/fonts/_dummy.txt +1 -0
  91. data/documentation_project/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/images/all-sample.png +0 -0
  92. data/documentation_project/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/images/all-sample@2x.png +0 -0
  93. data/documentation_project/Contents/Resources/{shared → SharedGlobalAssets/images}/free-icon_256x256.png +0 -0
  94. data/documentation_project/Contents/Resources/{shared → SharedGlobalAssets/images}/free-icon_256x256@2x.png +0 -0
  95. data/documentation_project/Contents/Resources/{shared → SharedGlobalAssets/images}/free-icon_32x32.png +0 -0
  96. data/documentation_project/Contents/Resources/{shared → SharedGlobalAssets/images}/free-icon_32x32@2x.png +0 -0
  97. data/documentation_project/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/images/free-middlemac-logo-small.png +0 -0
  98. data/documentation_project/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/images/free-middlemac-logo-small@2x.png +0 -0
  99. data/documentation_project/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/images/free-middlemac-logo.png +0 -0
  100. data/documentation_project/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/images/free-middlemac-logo@2x.png +0 -0
  101. data/documentation_project/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/images/middlemac-logo-small.png +0 -0
  102. data/documentation_project/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/images/middlemac-logo-small@2x.png +0 -0
  103. data/documentation_project/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/images/middlemac-logo.png +0 -0
  104. data/documentation_project/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/images/middlemac-logo@2x.png +0 -0
  105. data/documentation_project/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/images/mm-targets/free-logo-small.png +0 -0
  106. data/documentation_project/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/images/mm-targets/free-logo-small@2x.png +0 -0
  107. data/documentation_project/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/images/mm-targets/free-logo.png +0 -0
  108. data/documentation_project/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/images/mm-targets/free-logo@2x.png +0 -0
  109. data/documentation_project/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/images/mm-targets/pro-logo-small.png +0 -0
  110. data/documentation_project/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/images/mm-targets/pro-logo-small@2x.png +0 -0
  111. data/documentation_project/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/images/mm-targets/pro-logo.png +0 -0
  112. data/documentation_project/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/images/mm-targets/pro-logo@2x.png +0 -0
  113. data/documentation_project/Contents/Resources/{shared → SharedGlobalAssets/images}/pro-icon_256x256.png +0 -0
  114. data/documentation_project/Contents/Resources/{shared → SharedGlobalAssets/images}/pro-icon_256x256@2x.png +0 -0
  115. data/documentation_project/Contents/Resources/{shared → SharedGlobalAssets/images}/pro-icon_32x32.png +0 -0
  116. data/documentation_project/Contents/Resources/{shared → SharedGlobalAssets/images}/pro-icon_32x32@2x.png +0 -0
  117. data/documentation_project/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/images/pro-middlemac-logo-small.png +0 -0
  118. data/documentation_project/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/images/pro-middlemac-logo-small@2x.png +0 -0
  119. data/documentation_project/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/images/pro-middlemac-logo.png +0 -0
  120. data/documentation_project/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/images/pro-middlemac-logo@2x.png +0 -0
  121. data/documentation_project/Contents/Resources/SharedGlobalAssets/js/app.5.1.27.js +6295 -0
  122. data/documentation_project/Contents/Resources/SharedGlobalAssets/js/middlemac-debug.js +20 -0
  123. data/documentation_project/Contents/Resources/SharedGlobalAssets/js/vendor.js +226 -0
  124. data/documentation_project/Contents/Resources/en.lproj/010_what_is_middlemac/index.html.md.erb +114 -0
  125. data/documentation_project/Contents/Resources/en.lproj/020_apple_help_features/index.html.md.erb +241 -0
  126. data/documentation_project/Contents/Resources/{Base.lproj/020_setup_tutorial/index.html.md.erb → en.lproj/030_get_started/010_set_up_middlemac.html.md.erb} +33 -37
  127. data/documentation_project/Contents/Resources/en.lproj/030_get_started/020_your_first_help_book.html.md.erb +374 -0
  128. data/documentation_project/Contents/Resources/en.lproj/030_get_started/030_serve_your_help_book.html.md.erb +97 -0
  129. data/documentation_project/Contents/Resources/en.lproj/030_get_started/040_build_your_help_book.html.md.erb +56 -0
  130. data/documentation_project/Contents/Resources/{Base.lproj/030_skills_refresher/10_markdown_skill.html.md.erb → en.lproj/030_get_started/050_about_markdown.html.md.erb} +12 -14
  131. data/documentation_project/Contents/Resources/{Base.lproj/030_skills_refresher/30_middleman_skill.html.md.erb → en.lproj/030_get_started/060_about_middleman.html.md.erb} +10 -14
  132. data/documentation_project/Contents/Resources/en.lproj/030_get_started/070_about_ruby.html.md.erb +194 -0
  133. data/documentation_project/Contents/Resources/en.lproj/030_get_started/aside_frontmatter.html.md.erb +64 -0
  134. data/documentation_project/Contents/Resources/en.lproj/030_get_started/index.html.md.erb +4 -0
  135. data/documentation_project/Contents/Resources/en.lproj/040_compose_project/010_setup.html.md.erb +204 -0
  136. data/documentation_project/Contents/Resources/{Base.lproj/030_skills_refresher/60_filetypes_skill.html.md.erb → en.lproj/040_compose_project/020_filetypes.html.md.erb} +7 -11
  137. data/documentation_project/Contents/Resources/en.lproj/040_compose_project/030_directory_conventions.html.md.erb +206 -0
  138. data/documentation_project/Contents/Resources/en.lproj/040_compose_project/040_groups.html.md.erb +96 -0
  139. data/documentation_project/Contents/Resources/en.lproj/040_compose_project/050_targets_and_features.html.md.erb +220 -0
  140. data/documentation_project/Contents/Resources/en.lproj/040_compose_project/060_frontmatter.html.md.erb +98 -0
  141. data/documentation_project/Contents/Resources/{Base.lproj/060_content/100_using_local_data.html.md.erb → en.lproj/040_compose_project/070_local_data.html.md.erb} +22 -9
  142. data/documentation_project/Contents/Resources/{Base.lproj/060_content/030_helpers.html.md.erb → en.lproj/040_compose_project/080_helpers/010_helpers.html.md.erb} +35 -69
  143. data/documentation_project/Contents/Resources/en.lproj/040_compose_project/080_helpers/020_markdown_links.html.md.erb +51 -0
  144. data/documentation_project/Contents/Resources/en.lproj/040_compose_project/080_helpers/030_markdown_images.html.md.erb +52 -0
  145. data/documentation_project/Contents/Resources/en.lproj/040_compose_project/080_helpers/index.html.md.erb +4 -0
  146. data/documentation_project/Contents/Resources/en.lproj/040_compose_project/090_partials.html.md.erb +64 -0
  147. data/documentation_project/Contents/Resources/en.lproj/040_compose_project/100_resources.html.md.erb +36 -0
  148. data/documentation_project/Contents/Resources/en.lproj/040_compose_project/110_implement_features.html.md.erb +197 -0
  149. data/documentation_project/Contents/Resources/en.lproj/040_compose_project/120_preview_build.html.md.erb +86 -0
  150. data/documentation_project/Contents/Resources/en.lproj/040_compose_project/index.html.md.erb +4 -0
  151. data/documentation_project/Contents/Resources/{Base.lproj/050_structure → en.lproj/040_compose_project}/not_free.html.md.erb +4 -11
  152. data/documentation_project/Contents/Resources/{Base.lproj/050_structure → en.lproj/040_compose_project}/not_pro.html.md.erb +4 -11
  153. data/documentation_project/Contents/Resources/en.lproj/100_reference/010_apple_help_books/010_dissect_help_book.html.md.erb +296 -0
  154. data/documentation_project/Contents/Resources/en.lproj/100_reference/010_apple_help_books/020_dissect_modern_help.html.md.erb +246 -0
  155. data/documentation_project/Contents/Resources/en.lproj/100_reference/010_apple_help_books/index.html.md.erb +4 -0
  156. data/documentation_project/Contents/Resources/en.lproj/100_reference/030_backwards_compatibility.html.md.erb +82 -0
  157. data/documentation_project/Contents/Resources/en.lproj/100_reference/040_directory_reference.html.md.erb +276 -0
  158. data/documentation_project/Contents/Resources/en.lproj/100_reference/050_xcode_integration.html.md.erb +165 -0
  159. data/documentation_project/Contents/Resources/{Base.lproj/100_reference/10_cli_ref.html.md.erb → en.lproj/100_reference/060_cli_ref.html.md.erb} +3 -29
  160. data/documentation_project/Contents/Resources/en.lproj/100_reference/080_frontmatter_reference.html.md.erb +111 -0
  161. data/documentation_project/Contents/Resources/en.lproj/100_reference/120_api_reference/070_config_ref.html.md.erb +31 -0
  162. data/documentation_project/Contents/Resources/en.lproj/100_reference/120_api_reference/090_helpers_ref.html.md.erb +20 -0
  163. data/documentation_project/Contents/Resources/{Base.lproj/100_reference/30_helpers_ext_ref.html.md.erb → en.lproj/100_reference/120_api_reference/091_helpers_ext_ref.html.md.erb} +3 -21
  164. data/documentation_project/Contents/Resources/{Base.lproj/100_reference/50_resource_ext_ref.html.md.erb → en.lproj/100_reference/120_api_reference/100_resource_ext_ref.html.md.erb} +3 -8
  165. data/documentation_project/Contents/Resources/en.lproj/100_reference/120_api_reference/index.html.md.erb +4 -0
  166. data/documentation_project/Contents/Resources/en.lproj/100_reference/index.html.md.erb +4 -0
  167. data/documentation_project/Contents/Resources/{Base.lproj → en.lproj}/110_acknowledgements/index.html.md.erb +5 -7
  168. data/documentation_project/Contents/Resources/en.lproj/ExactMatch.plist.erb +15 -0
  169. data/documentation_project/Contents/Resources/{Base.lproj → en.lproj}/InfoPlist.strings.erb +0 -0
  170. data/documentation_project/Contents/Resources/en.lproj/asides/aside_description.html.md.erb +21 -0
  171. data/documentation_project/Contents/Resources/en.lproj/assets/images/apple_help_books_folder_reference.png +0 -0
  172. data/documentation_project/Contents/Resources/en.lproj/assets/images/apple_help_books_project_membership.png +0 -0
  173. data/documentation_project/Contents/Resources/en.lproj/assets/images/apple_help_features_aside_example.png +0 -0
  174. data/documentation_project/Contents/Resources/en.lproj/assets/images/apple_help_features_chapter_heading.png +0 -0
  175. data/documentation_project/Contents/Resources/en.lproj/assets/images/apple_help_features_copyright_footer.png +0 -0
  176. data/documentation_project/Contents/Resources/en.lproj/assets/images/apple_help_features_landing_links.png +0 -0
  177. data/documentation_project/Contents/Resources/en.lproj/assets/images/apple_help_features_language_chooser.png +0 -0
  178. data/documentation_project/Contents/Resources/en.lproj/assets/images/apple_help_features_navigator.png +0 -0
  179. data/documentation_project/Contents/Resources/en.lproj/assets/images/apple_help_features_see_also.png +0 -0
  180. data/documentation_project/Contents/Resources/en.lproj/assets/images/apple_help_features_title_icons.png +0 -0
  181. data/documentation_project/Contents/Resources/en.lproj/assets/images/apple_help_features_universal.png +0 -0
  182. data/documentation_project/Contents/Resources/en.lproj/assets/images/get_started_init_contents.png +0 -0
  183. data/documentation_project/Contents/Resources/en.lproj/assets/images/get_started_init_english.png +0 -0
  184. data/documentation_project/Contents/Resources/en.lproj/assets/images/xcode_integration_config_sets.png +0 -0
  185. data/documentation_project/Contents/Resources/en.lproj/assets/images/xcode_integration_plist_definitions.png +0 -0
  186. data/documentation_project/Contents/Resources/en.lproj/assets/images/xcode_integration_target_dependencies.png +0 -0
  187. data/documentation_project/Contents/Resources/en.lproj/assets/images/xcode_integration_target_template.png +0 -0
  188. data/documentation_project/Contents/Resources/en.lproj/assets/images/xcode_integration_tool_configuration.png +0 -0
  189. data/documentation_project/Contents/Resources/{Base.lproj → en.lproj}/index.html.md.erb +3 -13
  190. data/documentation_project/Contents/Resources/en.lproj/index_hpd.html.md.erb +4 -0
  191. data/documentation_project/Contents/Resources/en.lproj/locale-info.json.erb +16 -0
  192. data/documentation_project/Contents/Resources/en.lproj/navigation.json.erb +57 -0
  193. data/documentation_project/Contents/Resources/en.lproj/searchTree.json.erb +1 -0
  194. data/documentation_project/Contents/Resources/es.lproj/ExactMatch.plist.erb +15 -0
  195. data/{fixtures/middlemac_app/Contents/Resources/Base.lproj → documentation_project/Contents/Resources/es.lproj}/InfoPlist.strings.erb +0 -0
  196. data/documentation_project/Contents/Resources/es.lproj/index.html.md.erb +27 -0
  197. data/documentation_project/Contents/Resources/es.lproj/index_hpd.html.md.erb +4 -0
  198. data/documentation_project/Contents/Resources/es.lproj/locale-info.json.erb +16 -0
  199. data/documentation_project/Contents/Resources/es.lproj/navigation.json.erb +57 -0
  200. data/documentation_project/Contents/Resources/es.lproj/searchTree.json.erb +1 -0
  201. data/documentation_project/Contents/Resources/index.html.erb +118 -0
  202. data/documentation_project/Contents/Resources/locale-list.json.erb +14 -0
  203. data/documentation_project/Gemfile +4 -17
  204. data/documentation_project/HelpViewerApp/HelpViewerApp.xcodeproj/project.pbxproj +79 -101
  205. data/documentation_project/HelpViewerApp/HelpViewerApp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  206. data/documentation_project/HelpViewerApp/HelpViewerApp.xcodeproj/xcshareddata/xcschemes/Help (free).xcscheme +11 -6
  207. data/documentation_project/HelpViewerApp/HelpViewerApp.xcodeproj/xcshareddata/xcschemes/Help (pro).xcscheme +80 -0
  208. data/documentation_project/HelpViewerApp/HelpViewerApp.xcodeproj/xcshareddata/xcschemes/HelpViewerApp (free).xcscheme +1 -1
  209. data/documentation_project/HelpViewerApp/HelpViewerApp.xcodeproj/xcshareddata/xcschemes/HelpViewerApp (pro).xcscheme +1 -1
  210. data/documentation_project/HelpViewerApp/HelpViewerApp/AppDelegate.h +1 -0
  211. data/documentation_project/HelpViewerApp/HelpViewerApp/AppDelegate.m +6 -0
  212. data/documentation_project/HelpViewerApp/HelpViewerApp/Base.lproj/MainMenu.xib +39 -10
  213. data/documentation_project/HelpViewerApp/HelpViewerApp/Info-free.plist +4 -4
  214. data/documentation_project/HelpViewerApp/HelpViewerApp/Info-pro.plist +4 -4
  215. data/documentation_project/HelpViewerApp/HelpViewerApp/versions.xcconfig +8 -0
  216. data/documentation_project/HelpViewerApp/README.md +6 -26
  217. data/documentation_project/{Middlemac (free).help → Middlemac_(free).help}/.gitignore +0 -0
  218. data/documentation_project/{Middlemac (pro).help → Middlemac_(pro).help}/.gitignore +0 -0
  219. data/documentation_project/config.rb +83 -100
  220. data/documentation_project/makefile +93 -0
  221. data/documentation_project/middlemac.webloc +0 -0
  222. data/ext/trie/darray.c +673 -0
  223. data/ext/trie/darray.h +233 -0
  224. data/ext/trie/extconf.rb +23 -0
  225. data/ext/trie/fileutils.c +151 -0
  226. data/ext/trie/fileutils.h +36 -0
  227. data/ext/trie/tail.c +340 -0
  228. data/ext/trie/tail.h +207 -0
  229. data/ext/trie/trie-private.c +299 -0
  230. data/ext/trie/trie-private.h +31 -0
  231. data/ext/trie/trie.c +628 -0
  232. data/ext/trie/trie.h +40 -0
  233. data/ext/trie/triedefs.h +73 -0
  234. data/ext/trie/typedefs.h +117 -0
  235. data/features/helpers_features.feature +58 -0
  236. data/features/main_features.feature +23 -19
  237. data/features/support/env.rb +0 -14
  238. data/fixtures/middlemac_app/.gitignore +0 -1
  239. data/fixtures/middlemac_app/Contents/Info.plist.erb +5 -3
  240. data/fixtures/middlemac_app/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/_data/globals.yml +0 -0
  241. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/_data/locale-list.json +318 -0
  242. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/_layouts/layout-apple-modern-aside.haml +19 -0
  243. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/_layouts/layout-apple-modern.haml +61 -0
  244. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/_layouts/layout-blank.haml +11 -0
  245. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/_layouts/layout-hpd.haml +14 -0
  246. data/fixtures/middlemac_app/Contents/Resources/{Base.lproj/assets/partials → SharedGlobalAssets/_partials}/_partials_dir_partial.erb +0 -0
  247. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/convention/icon-webclip-120x120.png +0 -0
  248. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/convention/icon-webclip-152x152.png +0 -0
  249. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/convention/icon-webclip-57x57.png +0 -0
  250. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/convention/icon-webclip-76x76.png +0 -0
  251. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/convention/icon-webclip-ipad.png +0 -0
  252. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/convention/icon-webclip-ipad_2x.png +0 -0
  253. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/convention/icon-webclip-iphone.png +0 -0
  254. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/convention/icon-webclip-iphone_2x.png +0 -0
  255. data/fixtures/middlemac_app/Contents/Resources/{shared → SharedGlobalAssets/convention}/icon_256x256.png +0 -0
  256. data/fixtures/middlemac_app/Contents/Resources/{shared → SharedGlobalAssets/convention}/icon_256x256@2x.png +0 -0
  257. data/fixtures/middlemac_app/Contents/Resources/{shared → SharedGlobalAssets/convention}/icon_32x32.png +0 -0
  258. data/fixtures/middlemac_app/Contents/Resources/{shared → SharedGlobalAssets/convention}/icon_32x32@2x.png +0 -0
  259. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/apple.css +3831 -0
  260. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/L0200_LeftArrow_2x.png +0 -0
  261. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/L0201_RightArrow_2x.png +0 -0
  262. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/arrow-blue.svg +1 -0
  263. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/arrow.svg +1 -0
  264. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/ask-siri.svg +1 -0
  265. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-clear-search.png +0 -0
  266. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-close-2.png +0 -0
  267. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-close-learnmore.png +0 -0
  268. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-close.png +0 -0
  269. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-search-small.png +0 -0
  270. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-search.png +0 -0
  271. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-toc-rtl.png +0 -0
  272. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-toc-small-rtl.png +0 -0
  273. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-toc-small.png +0 -0
  274. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-toc-toggle-rtl.png +0 -0
  275. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-toc-toggle.png +0 -0
  276. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-toc.png +0 -0
  277. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/changelanguage_icon2x.png +0 -0
  278. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/force-click.svg +1 -0
  279. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-arrow-2.svg +1 -0
  280. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-arrow.png +0 -0
  281. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-close.svg +1 -0
  282. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-external-link-lg.png +0 -0
  283. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-external-link.png +0 -0
  284. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-pause.svg +1 -0
  285. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-play.svg +1 -0
  286. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-replay.svg +1 -0
  287. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-warning-black.png +0 -0
  288. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-warning-eu.png +0 -0
  289. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-warning.png +0 -0
  290. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-webclip-120x120.png +0 -0
  291. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-webclip-152x152.png +0 -0
  292. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-webclip-57x57.png +0 -0
  293. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-webclip-76x76.png +0 -0
  294. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-webclip-ipad.png +0 -0
  295. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-webclip-ipad_2x.png +0 -0
  296. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-webclip-iphone.png +0 -0
  297. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-webclip-iphone_2x.png +0 -0
  298. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/movie-play_2x.png +0 -0
  299. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/nav-left.svg +1 -0
  300. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/nav-paddle-left.png +0 -0
  301. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/nav-paddle-right.png +0 -0
  302. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/nav-right.svg +1 -0
  303. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/search_image_large.svg +1 -0
  304. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/tip.svg +1 -0
  305. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/toc_blue_large.svg +1 -0
  306. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/toc_large.svg +1 -0
  307. data/fixtures/middlemac_app/Contents/Resources/{Base.lproj/assets/stylesheets/_github.scss → SharedGlobalAssets/css/middlemac/github.css.scss} +0 -0
  308. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/middlemac/middlemac.css.scss +129 -0
  309. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/middlemac/note.svg +19 -0
  310. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/middlemac/tip.svg +1 -0
  311. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/middlemac/warning.svg +19 -0
  312. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/fonts/_dummy.txt +1 -0
  313. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/images/global_thing_32x32.png +0 -0
  314. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/js/app.5.1.27.js +6295 -0
  315. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/js/middlemac-debug.js +20 -0
  316. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/js/vendor.js +226 -0
  317. data/fixtures/middlemac_app/Contents/Resources/en.lproj/10_hello_world_file.html.md.erb +17 -0
  318. data/fixtures/middlemac_app/Contents/Resources/en.lproj/30_sample_group_number_one/index.html.md.erb +8 -0
  319. data/fixtures/middlemac_app/Contents/Resources/en.lproj/30_sample_group_number_one/page_one.html.md.erb +108 -0
  320. data/fixtures/middlemac_app/Contents/Resources/en.lproj/30_sample_group_number_one/page_two.html.md.erb +36 -0
  321. data/fixtures/middlemac_app/Contents/Resources/{Base.lproj → en.lproj}/40_sample_group_number_two/01_nested_group_example/01_page_one.html.md.erb +0 -5
  322. data/fixtures/middlemac_app/Contents/Resources/{Base.lproj → en.lproj}/40_sample_group_number_two/01_nested_group_example/02_pagina_dos.html.md.erb +0 -5
  323. data/fixtures/middlemac_app/Contents/Resources/{Base.lproj → en.lproj}/40_sample_group_number_two/01_nested_group_example/03_page_san.html.md.erb +0 -5
  324. data/fixtures/middlemac_app/Contents/Resources/en.lproj/40_sample_group_number_two/01_nested_group_example/index.html.md.erb +4 -0
  325. data/fixtures/middlemac_app/Contents/Resources/{Base.lproj → en.lproj}/40_sample_group_number_two/02_page_two.html.md.erb +0 -5
  326. data/fixtures/middlemac_app/Contents/Resources/{Base.lproj → en.lproj}/40_sample_group_number_two/03_page_three.html.md.erb +0 -5
  327. data/fixtures/middlemac_app/Contents/Resources/en.lproj/40_sample_group_number_two/index.html.md.erb +4 -0
  328. data/fixtures/middlemac_app/Contents/Resources/en.lproj/50_testing_world_file.html.md.erb +58 -0
  329. data/fixtures/middlemac_app/Contents/Resources/en.lproj/60_goodbye_world_file.html.md.erb +203 -0
  330. data/fixtures/middlemac_app/Contents/Resources/en.lproj/ExactMatch.plist.erb +15 -0
  331. data/fixtures/middlemac_app/Contents/Resources/en.lproj/InfoPlist.strings.erb +10 -0
  332. data/fixtures/middlemac_app/Contents/Resources/{Base.lproj → en.lproj}/_new_style_partial.erb +0 -0
  333. data/fixtures/middlemac_app/Contents/Resources/en.lproj/asides/aside_description.html.md.erb +20 -0
  334. data/fixtures/middlemac_app/Contents/Resources/en.lproj/assets/_partials/_localized_partials_dir_partial.erb +1 -0
  335. data/fixtures/middlemac_app/Contents/Resources/en.lproj/assets/images/all-graphic_32x32.png +0 -0
  336. data/fixtures/middlemac_app/Contents/Resources/en.lproj/assets/images/neat_thing_32x32.png +0 -0
  337. data/fixtures/middlemac_app/Contents/Resources/en.lproj/assets/images/subdirectory/logo_32x32.png +0 -0
  338. data/fixtures/middlemac_app/Contents/Resources/en.lproj/assets/images/subdirectory/pro-image_32x32.png +0 -0
  339. data/fixtures/middlemac_app/Contents/Resources/en.lproj/copyright.html.md.erb +19 -0
  340. data/fixtures/middlemac_app/Contents/Resources/en.lproj/index.html.md.erb +20 -0
  341. data/fixtures/middlemac_app/Contents/Resources/en.lproj/index_hpd.html.md.erb +4 -0
  342. data/fixtures/middlemac_app/Contents/Resources/en.lproj/locale-info.json.erb +16 -0
  343. data/fixtures/middlemac_app/Contents/Resources/en.lproj/navigation.json.erb +57 -0
  344. data/fixtures/middlemac_app/Contents/Resources/en.lproj/searchTree.json.erb +1 -0
  345. data/fixtures/middlemac_app/Contents/Resources/es.lproj/10_hola_mundo_file.html.md.erb +15 -0
  346. data/fixtures/middlemac_app/Contents/Resources/es.lproj/60_goodbye_world_file.html.md.erb +193 -0
  347. data/fixtures/middlemac_app/Contents/Resources/es.lproj/ExactMatch.plist.erb +15 -0
  348. data/fixtures/middlemac_app/Contents/Resources/es.lproj/InfoPlist.strings.erb +10 -0
  349. data/fixtures/middlemac_app/Contents/Resources/es.lproj/assets/images/all-graphic_32x32.png +0 -0
  350. data/fixtures/middlemac_app/Contents/Resources/es.lproj/assets/images/neat_thing_32x32.png +0 -0
  351. data/fixtures/middlemac_app/Contents/Resources/es.lproj/assets/images/subdirectory/logo_32x32.png +0 -0
  352. data/fixtures/middlemac_app/Contents/Resources/es.lproj/assets/images/subdirectory/pro-image_32x32.png +0 -0
  353. data/fixtures/middlemac_app/Contents/Resources/es.lproj/copyright.html.md.erb +19 -0
  354. data/fixtures/middlemac_app/Contents/Resources/es.lproj/index.html.md.erb +21 -0
  355. data/fixtures/middlemac_app/Contents/Resources/es.lproj/index_hpd.html.md.erb +4 -0
  356. data/fixtures/middlemac_app/Contents/Resources/es.lproj/locale-info.json.erb +16 -0
  357. data/fixtures/middlemac_app/Contents/Resources/es.lproj/navigation.json.erb +57 -0
  358. data/fixtures/middlemac_app/Contents/Resources/es.lproj/searchTree.json.erb +1 -0
  359. data/fixtures/middlemac_app/Contents/Resources/index.html.erb +118 -0
  360. data/fixtures/middlemac_app/Contents/Resources/locale-list.json.erb +14 -0
  361. data/fixtures/middlemac_app/Gemfile +4 -17
  362. data/fixtures/middlemac_app/config.rb +82 -99
  363. data/fixtures/middlemac_app/makefile +93 -0
  364. data/fixtures/middlemac_app/middlemac.webloc +0 -0
  365. data/lib/middlemac.rb +4 -0
  366. data/lib/middlemac/extension.rb +152 -211
  367. data/lib/middlemac/helpers.rb +470 -0
  368. data/lib/middlemac/private.rb +497 -0
  369. data/lib/middlemac/sitemap.rb +516 -0
  370. data/lib/middlemac/trie-extension.rb +37 -0
  371. data/lib/middlemac/version.rb +1 -1
  372. data/middlemac.gemspec +25 -6
  373. data/resources/stopwords/ar.plist +206 -0
  374. data/resources/stopwords/ca.plist +0 -0
  375. data/resources/stopwords/cs.plist +30 -0
  376. data/resources/stopwords/da.plist +6 -0
  377. data/resources/stopwords/de.plist +119 -0
  378. data/resources/stopwords/el.plist +0 -0
  379. data/resources/stopwords/en.plist +0 -0
  380. data/resources/stopwords/es.plist +282 -0
  381. data/resources/stopwords/es_419.plist +282 -0
  382. data/resources/stopwords/fi.plist +206 -0
  383. data/resources/stopwords/fr.plist +132 -0
  384. data/resources/stopwords/he.plist +0 -0
  385. data/resources/stopwords/hr.plist +0 -0
  386. data/resources/stopwords/hu.plist +44 -0
  387. data/resources/stopwords/id.plist +6 -0
  388. data/resources/stopwords/it.plist +153 -0
  389. data/resources/stopwords/ja.plist +6 -0
  390. data/resources/stopwords/ko.plist +106 -0
  391. data/resources/stopwords/ms.plist +6 -0
  392. data/resources/stopwords/nl.plist +198 -0
  393. data/resources/stopwords/no.plist +207 -0
  394. data/resources/stopwords/pl.plist +207 -0
  395. data/resources/stopwords/pt.plist +207 -0
  396. data/resources/stopwords/pt_PT.plist +207 -0
  397. data/resources/stopwords/ro.plist +0 -0
  398. data/resources/stopwords/ru.plist +207 -0
  399. data/resources/stopwords/sk.plist +0 -0
  400. data/resources/stopwords/sv.plist +280 -0
  401. data/resources/stopwords/th.plist +56 -0
  402. data/resources/stopwords/tr.plist +200 -0
  403. data/resources/stopwords/uk.plist +764 -0
  404. data/resources/stopwords/vi.plist +6 -0
  405. data/resources/stopwords/zh_CN.plist +207 -0
  406. data/resources/stopwords/zh_TW.plist +207 -0
  407. data/yard/readme.md +4 -4
  408. metadata +423 -225
  409. data/documentation_project/Contents/Resources/Base.lproj/010_what_is_middlemac/index.html.md.erb +0 -126
  410. data/documentation_project/Contents/Resources/Base.lproj/030_skills_refresher/20_frontmatter_skill.html.md.erb +0 -54
  411. data/documentation_project/Contents/Resources/Base.lproj/030_skills_refresher/40_ruby_skill.html.md.erb +0 -67
  412. data/documentation_project/Contents/Resources/Base.lproj/030_skills_refresher/50_ruby_ecosystem.html.md.erb +0 -136
  413. data/documentation_project/Contents/Resources/Base.lproj/030_skills_refresher/index.html.md.erb +0 -35
  414. data/documentation_project/Contents/Resources/Base.lproj/040_setup/index.html.md.erb +0 -88
  415. data/documentation_project/Contents/Resources/Base.lproj/050_structure/010_directories_and_images.html.md.erb +0 -176
  416. data/documentation_project/Contents/Resources/Base.lproj/050_structure/020_layouts_and_templates.html.md.erb +0 -71
  417. data/documentation_project/Contents/Resources/Base.lproj/050_structure/025_css.html.md.erb +0 -71
  418. data/documentation_project/Contents/Resources/Base.lproj/050_structure/030_groups.html.md.erb +0 -83
  419. data/documentation_project/Contents/Resources/Base.lproj/050_structure/040_breadcrumbs.html.md.erb +0 -43
  420. data/documentation_project/Contents/Resources/Base.lproj/050_structure/050_navigator.html.md.erb +0 -26
  421. data/documentation_project/Contents/Resources/Base.lproj/050_structure/060_targets.html.md.erb +0 -63
  422. data/documentation_project/Contents/Resources/Base.lproj/050_structure/070_features.html.md.erb +0 -122
  423. data/documentation_project/Contents/Resources/Base.lproj/050_structure/index.html.md.erb +0 -21
  424. data/documentation_project/Contents/Resources/Base.lproj/060_content/010_frontmatter.html.md.erb +0 -88
  425. data/documentation_project/Contents/Resources/Base.lproj/060_content/040_partials.html.md.erb +0 -121
  426. data/documentation_project/Contents/Resources/Base.lproj/060_content/050_resources.html.md.erb +0 -60
  427. data/documentation_project/Contents/Resources/Base.lproj/060_content/070_including_excluding.html.md.erb +0 -68
  428. data/documentation_project/Contents/Resources/Base.lproj/060_content/080_markdown_links_images.html.md.erb +0 -93
  429. data/documentation_project/Contents/Resources/Base.lproj/060_content/090_css_image_sizes.html.md.erb +0 -90
  430. data/documentation_project/Contents/Resources/Base.lproj/060_content/index.html.md.erb +0 -21
  431. data/documentation_project/Contents/Resources/Base.lproj/070_preview_build/index.html.md.erb +0 -78
  432. data/documentation_project/Contents/Resources/Base.lproj/090_build_application/10_apple_help_setup.html.md.erb +0 -110
  433. data/documentation_project/Contents/Resources/Base.lproj/090_build_application/20_xcode_integration.html.md.erb +0 -64
  434. data/documentation_project/Contents/Resources/Base.lproj/090_build_application/index.html.md.erb +0 -25
  435. data/documentation_project/Contents/Resources/Base.lproj/100_reference/20_config_ref.html.md.erb +0 -56
  436. data/documentation_project/Contents/Resources/Base.lproj/100_reference/40_helpers_ref.html.md.erb +0 -45
  437. data/documentation_project/Contents/Resources/Base.lproj/100_reference/index.html.md.erb +0 -26
  438. data/documentation_project/Contents/Resources/Base.lproj/120_backwards_compatibility/index.html.md.erb +0 -88
  439. data/documentation_project/Contents/Resources/Base.lproj/130_all_help_content/index.html.md.erb +0 -15
  440. data/documentation_project/Contents/Resources/Base.lproj/assets/_layouts/layout-html4.haml +0 -22
  441. data/documentation_project/Contents/Resources/Base.lproj/assets/_layouts/layout-xhtml.haml +0 -28
  442. data/documentation_project/Contents/Resources/Base.lproj/assets/_layouts/template-logo-large.haml +0 -30
  443. data/documentation_project/Contents/Resources/Base.lproj/assets/_layouts/template-logo-medium.haml +0 -30
  444. data/documentation_project/Contents/Resources/Base.lproj/assets/_layouts/template-logo-small.haml +0 -30
  445. data/documentation_project/Contents/Resources/Base.lproj/assets/fonts/font-awesome/FontAwesome.otf +0 -0
  446. data/documentation_project/Contents/Resources/Base.lproj/assets/fonts/font-awesome/fontawesome-webfont.eot +0 -0
  447. data/documentation_project/Contents/Resources/Base.lproj/assets/fonts/font-awesome/fontawesome-webfont.svg +0 -655
  448. data/documentation_project/Contents/Resources/Base.lproj/assets/fonts/font-awesome/fontawesome-webfont.ttf +0 -0
  449. data/documentation_project/Contents/Resources/Base.lproj/assets/fonts/font-awesome/fontawesome-webfont.woff +0 -0
  450. data/documentation_project/Contents/Resources/Base.lproj/assets/fonts/font-awesome/fontawesome-webfont.woff2 +0 -0
  451. data/documentation_project/Contents/Resources/Base.lproj/assets/images/mm-extras/middlemac-extras-small.png +0 -0
  452. data/documentation_project/Contents/Resources/Base.lproj/assets/images/mm-extras/middlemac-extras-small@2x.png +0 -0
  453. data/documentation_project/Contents/Resources/Base.lproj/assets/images/mm-extras/middlemac-extras.png +0 -0
  454. data/documentation_project/Contents/Resources/Base.lproj/assets/images/mm-extras/middlemac-extras@2x.png +0 -0
  455. data/documentation_project/Contents/Resources/Base.lproj/assets/images/mm-extras/sub_images/middlemac-extras-small.png +0 -0
  456. data/documentation_project/Contents/Resources/Base.lproj/assets/images/mm-extras/sub_images/middlemac-extras-small@2x.png +0 -0
  457. data/documentation_project/Contents/Resources/Base.lproj/assets/images/mm-extras/sub_images/middlemac-extras.png +0 -0
  458. data/documentation_project/Contents/Resources/Base.lproj/assets/images/mm-extras/sub_images/middlemac-extras@2x.png +0 -0
  459. data/documentation_project/Contents/Resources/Base.lproj/assets/images/mm-pagegroups/middleman-pagegroups-small.png +0 -0
  460. data/documentation_project/Contents/Resources/Base.lproj/assets/images/mm-pagegroups/middleman-pagegroups.png +0 -0
  461. data/documentation_project/Contents/Resources/Base.lproj/assets/javascripts/all.js +0 -1
  462. data/documentation_project/Contents/Resources/Base.lproj/assets/partials/_nav_breadcrumbs.haml +0 -11
  463. data/documentation_project/Contents/Resources/Base.lproj/assets/partials/_nav_breadcrumbs_alt.haml +0 -15
  464. data/documentation_project/Contents/Resources/Base.lproj/assets/partials/_nav_brethren.haml +0 -18
  465. data/documentation_project/Contents/Resources/Base.lproj/assets/partials/_nav_brethren_index.haml +0 -14
  466. data/documentation_project/Contents/Resources/Base.lproj/assets/partials/_nav_legitimate_children.haml +0 -16
  467. data/documentation_project/Contents/Resources/Base.lproj/assets/partials/_nav_prev_next.haml +0 -21
  468. data/documentation_project/Contents/Resources/Base.lproj/assets/partials/_nav_toc_index.haml +0 -21
  469. data/documentation_project/Contents/Resources/Base.lproj/assets/partials/_yard_extras_config.erb +0 -200
  470. data/documentation_project/Contents/Resources/Base.lproj/assets/partials/_yard_extras_helpers.erb +0 -146
  471. data/documentation_project/Contents/Resources/Base.lproj/assets/partials/_yard_extras_helpers_extended.erb +0 -135
  472. data/documentation_project/Contents/Resources/Base.lproj/assets/partials/_yard_middlemac_config.erb +0 -207
  473. data/documentation_project/Contents/Resources/Base.lproj/assets/partials/_yard_middlemac_helpers.erb +0 -297
  474. data/documentation_project/Contents/Resources/Base.lproj/assets/partials/_yard_middlemac_helpers_extended.erb +0 -96
  475. data/documentation_project/Contents/Resources/Base.lproj/assets/partials/_yard_pagegroups_config.erb +0 -744
  476. data/documentation_project/Contents/Resources/Base.lproj/assets/partials/_yard_pagegroups_helpers.erb +0 -710
  477. data/documentation_project/Contents/Resources/Base.lproj/assets/partials/_yard_pagegroups_helpers_css.erb +0 -523
  478. data/documentation_project/Contents/Resources/Base.lproj/assets/partials/_yard_pagegroups_helpers_extended.erb +0 -56
  479. data/documentation_project/Contents/Resources/Base.lproj/assets/stylesheets/_apple_helpbook.scss +0 -946
  480. data/documentation_project/Contents/Resources/Base.lproj/assets/stylesheets/_normalize.scss +0 -374
  481. data/documentation_project/Contents/Resources/Base.lproj/assets/stylesheets/breadcrumb-separator-light.png +0 -0
  482. data/documentation_project/Contents/Resources/Base.lproj/assets/stylesheets/image_sizes.css.erb +0 -8
  483. data/documentation_project/Contents/Resources/Base.lproj/assets/stylesheets/style.css.scss +0 -4
  484. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/10_hello_world_file.html.md.erb +0 -22
  485. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/20_goodbye_world_file.html.md.erb +0 -22
  486. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/30_sample_group_number_one/index.html.md.erb +0 -24
  487. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/30_sample_group_number_one/page_one.html.md.erb +0 -20
  488. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/30_sample_group_number_one/page_two.html.md.erb +0 -19
  489. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/40_sample_group_number_two/01_nested_group_example/index.html.md.erb +0 -18
  490. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/40_sample_group_number_two/index.html.md.erb +0 -24
  491. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/45_testing_world_file.html.md.erb +0 -55
  492. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/50_entire_world_file.html.md.erb +0 -15
  493. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/_layouts/layout-html4.haml +0 -22
  494. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/_layouts/layout-xhtml.haml +0 -28
  495. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/_layouts/template-logo-large.haml +0 -30
  496. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/_layouts/template-logo-medium.haml +0 -30
  497. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/_layouts/template-logo-small.haml +0 -30
  498. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/fonts/font-awesome/FontAwesome.otf +0 -0
  499. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/fonts/font-awesome/fontawesome-webfont.eot +0 -0
  500. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/fonts/font-awesome/fontawesome-webfont.svg +0 -655
  501. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/fonts/font-awesome/fontawesome-webfont.ttf +0 -0
  502. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/fonts/font-awesome/fontawesome-webfont.woff +0 -0
  503. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/fonts/font-awesome/fontawesome-webfont.woff2 +0 -0
  504. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/images/_empty_directory.html.md.erb +0 -1
  505. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/javascripts/all.js +0 -1
  506. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/partials/_nav_breadcrumbs.haml +0 -11
  507. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/partials/_nav_breadcrumbs_alt.haml +0 -15
  508. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/partials/_nav_brethren.haml +0 -18
  509. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/partials/_nav_brethren_index.haml +0 -14
  510. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/partials/_nav_legitimate_children.haml +0 -16
  511. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/partials/_nav_prev_next.haml +0 -21
  512. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/partials/_nav_toc_index.haml +0 -21
  513. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/stylesheets/_apple_helpbook.scss +0 -946
  514. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/stylesheets/_normalize.scss +0 -374
  515. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/stylesheets/breadcrumb-separator-light.png +0 -0
  516. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/stylesheets/image_sizes.css.erb +0 -8
  517. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/stylesheets/style.css.scss +0 -4
  518. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/index.html.md.erb +0 -17
@@ -0,0 +1,96 @@
1
+ ---
2
+ title: Groups
3
+ blurb: Groups are the fundamental organizational technique that enable
4
+ automatic page management, navigation, and tables of contents simple
5
+ to implement, and they help you stay organized. They define the
6
+ sections that will appear in Apple Help Viewer.
7
+ ---
8
+ <%= md_links %>
9
+ <%= md_images %>
10
+
11
+ <%= current_page.data.blurb %>
12
+
13
+ What are groups?
14
+ ----------------
15
+
16
+ A Group is one of more files in a single level of directory, and also any
17
+ `index.html` file of immediate subdirectories of the group.
18
+
19
+ Group directories require one file that will compile into `index.html` file in
20
+ that directory, e.g., `index.html.md.erb`. This file _is not part of the
21
+ group_; it serves to _define_ the group, and if you use any helpers, it acts
22
+ as a virtual _parent_ to the group. As such, the files in the group are all
23
+ _children_ of the `index.html` file. Each file in the group is a _sibling_ of
24
+ the other files in the group.
25
+
26
+ A group’s `index.html` file serves as a metadata container only! Their
27
+ [frontmatter][frontmatter] defines the _title_ of the group. You should assign
28
+ the `layout: layout-blank` frontmatter in these files, as well. The only
29
+ `index.html` file with any content can be your top-level `en.lproj/index.html`
30
+ file, which is defined used as the landing page.
31
+
32
+ Groups are named (not titled) based on their containing directory. The highest
33
+ level group is `en.lproj` (or respective locale folder) and cannot be changed.
34
+ Group names are generally not user-facing, and the Apple Help system requires
35
+ this directory name, so don’t worry about it.
36
+
37
+
38
+ Example:
39
+
40
+ ~~~
41
+ en.lproj/
42
+ index.html
43
+ introduction.html
44
+ basics/
45
+ index.html
46
+ counters.html
47
+ ~~~
48
+
49
+ This entire project consists of three pages: the top level `index.html`, and
50
+ `introduction.html`, and `counters.html`. The file `counters.html` is assigned
51
+ the group name “basics”, and the group title is defined in the
52
+ `basics/index.html` file’s frontmatter.
53
+
54
+ Although groups can be nested to arbitrary levels, Apple’s JavaScripts begins
55
+ to flatten groups at a depth of three levels (plus the root, level 0). Groups
56
+ nested deeper than this will still appear in the Help Book, but they will be
57
+ flattened to the bottom level.
58
+ {: .tip .callout}
59
+
60
+ Page order in groups
61
+ --------------------
62
+
63
+ Apple’s scripts will generate the table of contents according to the pages’
64
+ and groups’ sort order. Additionally, if `show_previous_next` is enabled, the
65
+ scripts will provide navigation links according to the same sort order.
66
+
67
+ A group member’s sort/navigation order can be determined two ways.
68
+
69
+ - Files in the group can have an `:order` key in the frontmatter, or
70
+ - File names can be prefixed with an integer sort order followed by an
71
+ underscore, .e.g, `40_hello.html.md.erb` or `12345_big_numbers.html.md.erb`.
72
+
73
+ Some important aspects about order numbers in groups are:
74
+
75
+ - If both a prefix and `:order` key are present, then the `:order` key takes
76
+ precedence.
77
+ - If any pages in the same group end up with the same sort order, then the
78
+ actual behavior is undefined.
79
+ - Parent `index.html` files cannot be prefixed, and so must include an `:order`
80
+ key in their frontmatter, or prefix the containing directory name instead.
81
+ - Pages without a sort order are _not_ present in any of the automatic
82
+ navigation features. This is by design. You can still link to them, though.
83
+ - Prefixing file names can be convenient so that source files are sorted in your
84
+ file system the same way they will be displayed in your help system. Keep in
85
+ mind, though, that if you’re using the automatic markdown links from the
86
+ `md_links` helper and name collisions occur, then it’s possible that some of your
87
+ links will become invalid.
88
+ - Finally, page orders do not have to be sequential. It may be helpful to space
89
+ them apart so that later insertions can be simplified.
90
+
91
+
92
+ File naming
93
+ -----------
94
+
95
+ Note that section names cannot begin with the letters “help” because doing so
96
+ causes Apple’s JavaScript to break.
@@ -0,0 +1,220 @@
1
+ ---
2
+ title: Targets and Features
3
+ blurb: A lesson on how to use include and exclude targets and features.
4
+ ---
5
+ <%= md_links %>
6
+ <%= md_images %>
7
+
8
+ <%= current_page.data.blurb %>
9
+
10
+
11
+ Why include and exclude?
12
+ ------------------------
13
+
14
+ Although _Middlemac_ is an excellent tool for developing single-target Apple
15
+ Help Books, it really shines when you want to develop multiple versions of
16
+ Help Book for multiple versions of your application.
17
+
18
+ Delivering a help system tailored _specifically_ for the version of the
19
+ application that it belongs to will increase user satisfaction by allowing
20
+ them to focus on the aspects of the help that’s applicable to them. No one
21
+ wants to attempt to solve a problem and then learn, during troubleshooting,
22
+ that some fancy feature is only available in some other version of your
23
+ application.
24
+
25
+ You want to promote other versions of your application, certainly. Multiple
26
+ targets allows you appropriately place upsell messages without distracting
27
+ your users. It also allows you to avoid upselling the users who are already
28
+ using your premium or top-level version.
29
+
30
+ Maybe your application is available on your website and also the Mac App
31
+ Store? In this case there are certainly going to be feature differences. You
32
+ web version uses _Sparkle_ for updates, but the MAS version doesn’t. Your MAS
33
+ version requires users to authorize writing to user directories because of
34
+ sandboxing, whereas your web-distributed version does not.
35
+
36
+ Make your help files as polished as your applications, and users will be happy
37
+ and delighted without even really knowing why!
38
+
39
+
40
+ Include and Exclude Parts of Pages
41
+ ----------------------------------
42
+
43
+ In the simplest case you have help page that is present for all versions of
44
+ your Help Book, but some of the content will be different for different
45
+ targets and features. You can review the `target_name?` example and the
46
+ `target_feature?` examples below to review how to show and hide specific
47
+ content on each page.
48
+
49
+
50
+ Limit Images to Particular Targets and Features
51
+ -----------------------------------------------
52
+
53
+ Don't forget that the [`image_tag` helper][helpers_ext_ref] can be used with
54
+ parameters to limit images to certain targets and features, too.
55
+
56
+
57
+ Include and Exclude Entire Pages
58
+ --------------------------------
59
+
60
+ In the case of wanting to hide or show entire pages based on target or
61
+ feature, you’ve also seen the `target` and `exclude`
62
+ [frontmatter][frontmatter] keys. When used, you have excellent control over
63
+ whether entire pages are visible or not.
64
+
65
+
66
+ Targets Demonstration
67
+ ---------------------
68
+ <% if target_name?(:pro) %>
69
+ You are reading this Help Book using the `:pro` target. You can try rebuilding
70
+ the project or starting the server with the `:free` target to get a different
71
+ result.
72
+ <% end %>
73
+ <% if target_name?(:free) %>
74
+ You are reading this Help Book using the `:free` target. You can try rebuilding
75
+ the project or starting the server with the `:pro` target to get a different
76
+ result.
77
+ <% end %>
78
+
79
+
80
+ ### How did this work?
81
+
82
+ The source file uses a simple conditional and helper to display content based on
83
+ the target name. Here’s the (nearly) exact code that was used:
84
+
85
+ ~~~ erb
86
+ <%% if target_name?(:pro) %>
87
+ You are reading this Help Book using the `:pro` target. You can try rebuilding
88
+ the project or starting the server with the `:free` target to get a different
89
+ result.
90
+ <%% end %>
91
+ <%% if target_name?(:free) %>
92
+ You are reading this Help Book using the `:free` target. You can try rebuilding
93
+ the project or starting the server with the `:pro` target to get a different
94
+ result.
95
+ <%% end %>
96
+ ~~~
97
+
98
+ Why “nearly” exact code? If you examine the `.md.erb` file you will see how to
99
+ escape ERB delimiters so that ERB doesn’t try to process them as Ruby code.
100
+ In order to display `<%% %>` it is necessary to specify `<%%% %>` in code
101
+ blocks. And of course you can read about code blocks and other Markdown
102
+ formatting on
103
+ [kramdown’s documentation site](http://kramdown.gettalong.org/documentation.html).
104
+
105
+
106
+ ### Include or exclude entire pages
107
+
108
+ Whether you’re currently using the `:pro` or `:free` target, try visiting
109
+ each of these pages:
110
+
111
+ - [sample page excludes target `:free`](not_free.html)
112
+ - [sample page excludes target `:pro`](not_pro.html)
113
+
114
+
115
+ Features Demonstrations
116
+ -----------------------
117
+
118
+ * * *
119
+
120
+ <% if target_feature?(:feature_advertise_pro) %>
121
+ **New! Today Only!!! Act before this special offer is gone forever!** Why settle
122
+ for the limitations of _Middlemac Free_ when you can upgrade to _Middlemac Pro_
123
+ for this limited time, special price of only $1299.99?
124
+
125
+ (Note: there is no _Middlemac Pro_. This is part of the Features demonstration.)
126
+
127
+ * * *
128
+ <% end %>
129
+
130
+
131
+ <% if target_feature?(:feature_performs_miracles) %>
132
+ If you open your water faucet, clean, safe, potable water will flow out of it.
133
+ _Middlemac_ has made this miracle happen for you.
134
+
135
+ * * *
136
+ <% end %>
137
+
138
+
139
+ <% if target_feature?(:feature_insults_user) %>
140
+ If you have made it this far, dear reader, you should know that if brains were
141
+ dynamite, you wouldn’t have enough to blow your nose.
142
+ <% else %>
143
+ If you have made it this far, dear reader, you should know that you are one of
144
+ the best people in the world.
145
+ <% end %>
146
+
147
+ * * *
148
+
149
+ <% if target_feature?(:feature_shows_pink_rectangle) %>
150
+ I made a special, pink rectangle just for you!
151
+ <svg style="width:50px; height:35px; display:block; margin:auto;">
152
+ <rect width="50" height="35" style="fill:pink;stroke-width:0" />
153
+ </svg>
154
+ <% else %>
155
+ Too bad; other people got to see a nice, pink rectangle.
156
+ <% end %>
157
+
158
+ * * *
159
+
160
+
161
+ ### Recall our targets’ `feature` settings
162
+
163
+ Our `:free` target uses these `feature` settings:
164
+
165
+ ~~~ ruby
166
+ :feature_advertise_pro => true,
167
+ :feature_performs_miracles => false,
168
+ :feature_insults_user => true,
169
+ :feature_shows_pink_rectangle => true,
170
+ ~~~
171
+
172
+ And `:pro` was setup with these `feature` settings:
173
+
174
+ ~~~ ruby
175
+ :feature_advertise_pro => false,
176
+ :feature_performs_miracles => true,
177
+ :feature_insults_user => false,
178
+ :feature_shows_pink_rectangle => true,
179
+ ~~~
180
+
181
+ Depending on the target that you are currently viewing, you should very easily
182
+ be able to correlate what appears in the **Demonstrations** section with the
183
+ `feature`s settings above. Try changing some of the values and see what happens
184
+ to this page.
185
+
186
+
187
+ ### How did this work?
188
+
189
+ Features work nearly identically to targets. Instead of using the
190
+ `target_name?` helper, use the `target_feature?` helper instead. For example:
191
+
192
+ ~~~ erb
193
+ <%% if target_feature?(:feature_insults_user) %>
194
+ If you have made it this far, dear reader, you should know that if brains were
195
+ dynamite, you wouldn’t have enough to blow your nose.
196
+ <%% else %>
197
+ If you have made it this far, dear reader, you should know that you are one of
198
+ the best people in the world.
199
+ <%% end %>
200
+ ~~~
201
+
202
+
203
+ ### Include or exclude entire pages
204
+
205
+ Just as with targets, you can use [frontmatter][frontmatter] `target` and `exclude` to include
206
+ or exclude entire pages.
207
+
208
+
209
+ Targets vs Features
210
+ -------------------
211
+
212
+ While you can use targets exclusively, it’s then up to you to decide which
213
+ content you want to include in each of your Help Books when your macOS
214
+ applications have different features. For example, what happens when you decide
215
+ to enable or disable a feature in a future release of your application? If you
216
+ use targets alone, you’ll have to go back and make a lot of changes to your
217
+ help content. If you use **features**, instead, it’s as simple as toggling the
218
+ value of your target’s `:features` sub-key between `true` and `false`.
219
+
220
+
@@ -0,0 +1,98 @@
1
+ ---
2
+ title: Frontmatter and Keys
3
+ blurb: Explore how frontmatter can be used to configure your Help Book pages
4
+ and the Apple Help System.
5
+ keywords:
6
+ - pluto
7
+ - mercury
8
+ - venus
9
+ ---
10
+ <%= md_links %>
11
+ <%= md_images %>
12
+
13
+ <%= current_page.data.blurb %>
14
+
15
+
16
+ Frontmatter
17
+ -----------
18
+ Frontmatter is metadata that is included at the top of every content page but
19
+ will not be present in the output. It is used to provide information to
20
+ _Middleman_ and _Middlemac_ on a page by page and group basis.
21
+
22
+ Here is the frontmatter from this very page’s source file:
23
+
24
+ ~~~ yaml
25
+ title: Frontmatter and Keys
26
+ blurb: Explore how frontmatter can be used to configure your Help Book pages
27
+ and the Apple Help System.
28
+ keywords:
29
+ - pluto
30
+ - mercury
31
+ - venus
32
+ ~~~
33
+
34
+ You can also specify your own frontmatter keys and values.
35
+ {: .tip .callout}
36
+
37
+ Required Frontmatter
38
+ --------------------
39
+
40
+ Any file processed by _Middlemac_ may contain frontmatter. Files that generate
41
+ HTML _require_ a minimum amount of frontmatter in order for them to work with
42
+ Apple’s help system.
43
+
44
+ `title`
45
+
46
+ : All HTML-producing files require the `title` key. Additionally, the
47
+ group `index.html` metadata files, although not intended to produce HTML,
48
+ require this key as well in order to give a title to the group.
49
+
50
+ `categories`
51
+
52
+ : The `landing` category is required for you main `index.html` landing page,
53
+ and `copyright` is required if you wish to have a copyright page. In
54
+ addition, you can add your own categories to this array as well, and they
55
+ will be available as a class to your document when loaded. Asides require
56
+ the `aside` category.
57
+
58
+ `blurb`
59
+
60
+ : HTML-producing pages require a blurb that can be used as a description
61
+ by the help indexers.
62
+
63
+ `order`
64
+
65
+ : If you wish the page to appear in the navigation features, and you’ve not
66
+ specified a page order in the file name, then an `order` key and value
67
+ must be present.
68
+ {: .width25}
69
+
70
+
71
+ Frontmatter Availability
72
+ ------------------------
73
+
74
+ All frontmatter is
75
+ available for use in your pages and templates via `current_page.data`, e.g.,
76
+ `current_page.data.title`. For example, this page has the title
77
+ "<%= current_page.data.title %>" and the following keywords:
78
+ <ul>
79
+ <% current_page.data.keywords.each do |word| %>
80
+ <%= "<li>#{word}</li>" %>
81
+ <% end %>
82
+ </ul>
83
+
84
+
85
+ HTML and Markdown In Frontmatter
86
+ --------------------------------
87
+ Markdown is not always rendered in frontmatter, meaning that any use of
88
+ Markdown is likely to result in \_formatting_ that looks \**wrong** when
89
+ displayed. Additionally, the help indexer does not know how to deal with
90
+ Markdown.
91
+
92
+ Thus, it’ best to use pure text for `title`, and use HTML for `blurb`, which
93
+ the help indexer knows how to deal with.
94
+
95
+
96
+ <% content_for :seeAlso do %>
97
+ <%= link_to 'Frontmatter and Keys Reference', 'reference/frontmatter_reference.html' %>
98
+ <% end %>
@@ -1,21 +1,34 @@
1
1
  ---
2
- title: Using local data
2
+ title: Local Data
3
3
  blurb: You can use a local file as a datasource to generate data-based pages
4
- automatically. Learn how in this reference section.
5
- layout: template-logo-medium
4
+ automatically. Learn how in this section.
6
5
  ---
7
6
  <%= md_links %>
8
7
  <%= md_images %>
9
8
 
10
-
11
- <%= current_page.data.title %>
12
- ==============================
13
-
14
9
  <%= current_page.data.blurb %>
15
10
 
16
11
  You can use data from external sources with _Middleman_ and _Middlemac_, too.
17
- In `assets/data/` a sample `globals.yml` contains some sample data in YAML
18
- format. Let’s see what it contains:
12
+ These data files must be in YAML or JSON format, and be present in
13
+ `SharedGlobalAssets/_data/`.
14
+
15
+ This project contains sample in YAML format called `globals.yml`. Let’s see
16
+ what it contains:
17
+
18
+ ~~~ yaml
19
+ famous_writers:
20
+ -
21
+ author: Douglas Adams
22
+ sample_work: The Restaurant at the End of the Universe
23
+ -
24
+ author: Edward Bulwer-Lytton
25
+ sample_work: Paul Clifford
26
+ -
27
+ author: Daniel Defoe
28
+ sample_work: Robinson Crusoe
29
+ ~~~
30
+
31
+ We can use this data to build something more interesting. Let’s try this:
19
32
 
20
33
  <% data.globals.famous_writers.each do |writer| %>
21
34
  - A sample work of <%= writer.author %> is _<%= writer.sample_work %>_.