middlemac 2.0.0 → 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (497) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +7 -0
  3. data/Gemfile +11 -1
  4. data/README.md +38 -6
  5. data/Rakefile +7 -2
  6. data/documentation_project/.gitignore +1 -1
  7. data/documentation_project/Contents/Info.plist.erb +1 -1
  8. data/documentation_project/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/_data/globals.yml +0 -0
  9. data/documentation_project/Contents/Resources/SharedGlobalAssets/_data/locale-list.json +318 -0
  10. data/documentation_project/Contents/Resources/SharedGlobalAssets/_layouts/layout-apple-modern-aside.haml +19 -0
  11. data/documentation_project/Contents/Resources/SharedGlobalAssets/_layouts/layout-apple-modern.haml +61 -0
  12. data/documentation_project/Contents/Resources/SharedGlobalAssets/_layouts/layout-blank.haml +11 -0
  13. data/documentation_project/Contents/Resources/SharedGlobalAssets/_partials/_yard_middlemac_config.erb +276 -0
  14. data/documentation_project/Contents/Resources/SharedGlobalAssets/_partials/_yard_middlemac_helpers.erb +897 -0
  15. data/documentation_project/Contents/Resources/SharedGlobalAssets/_partials/_yard_middlemac_helpers_extended.erb +369 -0
  16. data/documentation_project/Contents/Resources/{Base.lproj/assets/partials/_yard_pagegroups_resources.erb → SharedGlobalAssets/_partials/_yard_middlemac_resources.erb} +342 -37
  17. data/documentation_project/Contents/Resources/{Base.lproj/assets/partials/_yard_targets_config.erb → SharedGlobalAssets/_partials/_yard_mmtargets_config.erb} +15 -110
  18. data/documentation_project/Contents/Resources/{Base.lproj/assets/partials/_yard_targets_helpers.erb → SharedGlobalAssets/_partials/_yard_mmtargets_helpers.erb} +4 -4
  19. data/documentation_project/Contents/Resources/{Base.lproj/assets/partials/_yard_targets_helpers_extended.erb → SharedGlobalAssets/_partials/_yard_mmtargets_helpers_extended.erb} +6 -2
  20. data/documentation_project/Contents/Resources/{Base.lproj/assets/partials/_yard_targets_instance.erb → SharedGlobalAssets/_partials/_yard_mmtargets_instance.erb} +1 -1
  21. data/documentation_project/Contents/Resources/{Base.lproj/assets/partials/_yard_targets_resources.erb → SharedGlobalAssets/_partials/_yard_mmtargets_resources.erb} +2 -2
  22. data/documentation_project/Contents/Resources/SharedGlobalAssets/convention/icon-webclip-120x120.png +0 -0
  23. data/documentation_project/Contents/Resources/SharedGlobalAssets/convention/icon-webclip-152x152.png +0 -0
  24. data/documentation_project/Contents/Resources/SharedGlobalAssets/convention/icon-webclip-57x57.png +0 -0
  25. data/documentation_project/Contents/Resources/SharedGlobalAssets/convention/icon-webclip-76x76.png +0 -0
  26. data/documentation_project/Contents/Resources/SharedGlobalAssets/convention/icon-webclip-ipad.png +0 -0
  27. data/documentation_project/Contents/Resources/SharedGlobalAssets/convention/icon-webclip-ipad_2x.png +0 -0
  28. data/documentation_project/Contents/Resources/SharedGlobalAssets/convention/icon-webclip-iphone.png +0 -0
  29. data/documentation_project/Contents/Resources/SharedGlobalAssets/convention/icon-webclip-iphone_2x.png +0 -0
  30. data/documentation_project/Contents/Resources/{shared → SharedGlobalAssets/convention}/icon_256x256.png +0 -0
  31. data/documentation_project/Contents/Resources/{shared → SharedGlobalAssets/convention}/icon_256x256@2x.png +0 -0
  32. data/documentation_project/Contents/Resources/{shared → SharedGlobalAssets/convention}/icon_32x32.png +0 -0
  33. data/documentation_project/Contents/Resources/{shared → SharedGlobalAssets/convention}/icon_32x32@2x.png +0 -0
  34. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/apple.css +3831 -0
  35. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/L0200_LeftArrow_2x.png +0 -0
  36. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/L0201_RightArrow_2x.png +0 -0
  37. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/arrow-blue.svg +1 -0
  38. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/arrow.svg +1 -0
  39. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/ask-siri.svg +1 -0
  40. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-clear-search.png +0 -0
  41. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-close-2.png +0 -0
  42. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-close-learnmore.png +0 -0
  43. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-close.png +0 -0
  44. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-search-small.png +0 -0
  45. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-search.png +0 -0
  46. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-toc-rtl.png +0 -0
  47. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-toc-small-rtl.png +0 -0
  48. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-toc-small.png +0 -0
  49. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-toc-toggle-rtl.png +0 -0
  50. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-toc-toggle.png +0 -0
  51. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-toc.png +0 -0
  52. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/changelanguage_icon2x.png +0 -0
  53. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/force-click.svg +1 -0
  54. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-arrow-2.svg +1 -0
  55. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-arrow.png +0 -0
  56. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-close.svg +1 -0
  57. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-external-link-lg.png +0 -0
  58. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-external-link.png +0 -0
  59. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-pause.svg +1 -0
  60. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-play.svg +1 -0
  61. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-replay.svg +1 -0
  62. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-warning-black.png +0 -0
  63. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-warning-eu.png +0 -0
  64. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-warning.png +0 -0
  65. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-webclip-120x120.png +0 -0
  66. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-webclip-152x152.png +0 -0
  67. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-webclip-57x57.png +0 -0
  68. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-webclip-76x76.png +0 -0
  69. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-webclip-ipad.png +0 -0
  70. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-webclip-ipad_2x.png +0 -0
  71. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-webclip-iphone.png +0 -0
  72. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-webclip-iphone_2x.png +0 -0
  73. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/movie-play_2x.png +0 -0
  74. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/nav-left.svg +1 -0
  75. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/nav-paddle-left.png +0 -0
  76. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/nav-paddle-right.png +0 -0
  77. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/nav-right.svg +1 -0
  78. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/search_image_large.svg +1 -0
  79. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/tip.svg +1 -0
  80. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/toc_blue_large.svg +1 -0
  81. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/toc_large.svg +1 -0
  82. data/documentation_project/Contents/Resources/{Base.lproj/assets/stylesheets/_github.scss → SharedGlobalAssets/css/middlemac/github.css.scss} +0 -0
  83. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/middlemac/middlemac.css.scss +129 -0
  84. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/middlemac/note.svg +19 -0
  85. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/middlemac/tip.svg +1 -0
  86. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/middlemac/warning.svg +19 -0
  87. data/documentation_project/Contents/Resources/SharedGlobalAssets/fonts/_dummy.txt +1 -0
  88. data/documentation_project/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/images/all-sample.png +0 -0
  89. data/documentation_project/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/images/all-sample@2x.png +0 -0
  90. data/documentation_project/Contents/Resources/{shared → SharedGlobalAssets/images}/free-icon_256x256.png +0 -0
  91. data/documentation_project/Contents/Resources/{shared → SharedGlobalAssets/images}/free-icon_256x256@2x.png +0 -0
  92. data/documentation_project/Contents/Resources/{shared → SharedGlobalAssets/images}/free-icon_32x32.png +0 -0
  93. data/documentation_project/Contents/Resources/{shared → SharedGlobalAssets/images}/free-icon_32x32@2x.png +0 -0
  94. data/documentation_project/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/images/free-middlemac-logo-small.png +0 -0
  95. data/documentation_project/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/images/free-middlemac-logo-small@2x.png +0 -0
  96. data/documentation_project/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/images/free-middlemac-logo.png +0 -0
  97. data/documentation_project/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/images/free-middlemac-logo@2x.png +0 -0
  98. data/documentation_project/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/images/middlemac-logo-small.png +0 -0
  99. data/documentation_project/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/images/middlemac-logo-small@2x.png +0 -0
  100. data/documentation_project/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/images/middlemac-logo.png +0 -0
  101. data/documentation_project/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/images/middlemac-logo@2x.png +0 -0
  102. data/documentation_project/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/images/mm-targets/free-logo-small.png +0 -0
  103. data/documentation_project/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/images/mm-targets/free-logo-small@2x.png +0 -0
  104. data/documentation_project/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/images/mm-targets/free-logo.png +0 -0
  105. data/documentation_project/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/images/mm-targets/free-logo@2x.png +0 -0
  106. data/documentation_project/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/images/mm-targets/pro-logo-small.png +0 -0
  107. data/documentation_project/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/images/mm-targets/pro-logo-small@2x.png +0 -0
  108. data/documentation_project/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/images/mm-targets/pro-logo.png +0 -0
  109. data/documentation_project/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/images/mm-targets/pro-logo@2x.png +0 -0
  110. data/documentation_project/Contents/Resources/{shared → SharedGlobalAssets/images}/pro-icon_256x256.png +0 -0
  111. data/documentation_project/Contents/Resources/{shared → SharedGlobalAssets/images}/pro-icon_256x256@2x.png +0 -0
  112. data/documentation_project/Contents/Resources/{shared → SharedGlobalAssets/images}/pro-icon_32x32.png +0 -0
  113. data/documentation_project/Contents/Resources/{shared → SharedGlobalAssets/images}/pro-icon_32x32@2x.png +0 -0
  114. data/documentation_project/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/images/pro-middlemac-logo-small.png +0 -0
  115. data/documentation_project/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/images/pro-middlemac-logo-small@2x.png +0 -0
  116. data/documentation_project/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/images/pro-middlemac-logo.png +0 -0
  117. data/documentation_project/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/images/pro-middlemac-logo@2x.png +0 -0
  118. data/documentation_project/Contents/Resources/SharedGlobalAssets/js/app.5.1.27.js +6295 -0
  119. data/documentation_project/Contents/Resources/SharedGlobalAssets/js/middlemac-debug.js +20 -0
  120. data/documentation_project/Contents/Resources/SharedGlobalAssets/js/vendor.js +226 -0
  121. data/documentation_project/Contents/Resources/en.lproj/010_what_is_middlemac/index.html.md.erb +114 -0
  122. data/documentation_project/Contents/Resources/en.lproj/020_apple_help_features/index.html.md.erb +241 -0
  123. 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
  124. data/documentation_project/Contents/Resources/en.lproj/030_get_started/020_your_first_help_book.html.md.erb +374 -0
  125. data/documentation_project/Contents/Resources/en.lproj/030_get_started/030_serve_your_help_book.html.md.erb +97 -0
  126. data/documentation_project/Contents/Resources/en.lproj/030_get_started/040_build_your_help_book.html.md.erb +56 -0
  127. 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
  128. 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
  129. data/documentation_project/Contents/Resources/en.lproj/030_get_started/070_about_ruby.html.md.erb +194 -0
  130. data/documentation_project/Contents/Resources/en.lproj/030_get_started/aside_frontmatter.html.md.erb +64 -0
  131. data/documentation_project/Contents/Resources/en.lproj/030_get_started/index.html.md.erb +4 -0
  132. data/documentation_project/Contents/Resources/en.lproj/040_compose_project/010_setup.html.md.erb +204 -0
  133. 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
  134. data/documentation_project/Contents/Resources/en.lproj/040_compose_project/030_directory_conventions.html.md.erb +206 -0
  135. data/documentation_project/Contents/Resources/en.lproj/040_compose_project/040_groups.html.md.erb +96 -0
  136. data/documentation_project/Contents/Resources/en.lproj/040_compose_project/050_targets_and_features.html.md.erb +220 -0
  137. data/documentation_project/Contents/Resources/en.lproj/040_compose_project/060_frontmatter.html.md.erb +98 -0
  138. 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
  139. 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
  140. data/documentation_project/Contents/Resources/en.lproj/040_compose_project/080_helpers/020_markdown_links.html.md.erb +51 -0
  141. data/documentation_project/Contents/Resources/en.lproj/040_compose_project/080_helpers/030_markdown_images.html.md.erb +52 -0
  142. data/documentation_project/Contents/Resources/en.lproj/040_compose_project/080_helpers/index.html.md.erb +4 -0
  143. data/documentation_project/Contents/Resources/en.lproj/040_compose_project/090_partials.html.md.erb +64 -0
  144. data/documentation_project/Contents/Resources/en.lproj/040_compose_project/100_resources.html.md.erb +36 -0
  145. data/documentation_project/Contents/Resources/en.lproj/040_compose_project/110_implement_features.html.md.erb +197 -0
  146. data/documentation_project/Contents/Resources/en.lproj/040_compose_project/120_preview_build.html.md.erb +85 -0
  147. data/documentation_project/Contents/Resources/en.lproj/040_compose_project/index.html.md.erb +4 -0
  148. data/documentation_project/Contents/Resources/{Base.lproj/050_structure → en.lproj/040_compose_project}/not_free.html.md.erb +4 -11
  149. data/documentation_project/Contents/Resources/{Base.lproj/050_structure → en.lproj/040_compose_project}/not_pro.html.md.erb +4 -11
  150. data/documentation_project/Contents/Resources/en.lproj/100_reference/010_apple_help_books/010_dissect_help_book.html.md.erb +295 -0
  151. data/documentation_project/Contents/Resources/en.lproj/100_reference/010_apple_help_books/020_dissect_modern_help.html.md.erb +246 -0
  152. data/documentation_project/Contents/Resources/en.lproj/100_reference/010_apple_help_books/index.html.md.erb +4 -0
  153. data/documentation_project/Contents/Resources/en.lproj/100_reference/030_backwards_compatibility.html.md.erb +82 -0
  154. data/documentation_project/Contents/Resources/en.lproj/100_reference/040_directory_reference.html.md.erb +260 -0
  155. data/documentation_project/Contents/Resources/en.lproj/100_reference/050_xcode_integration.html.md.erb +165 -0
  156. 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
  157. data/documentation_project/Contents/Resources/en.lproj/100_reference/080_frontmatter_reference.html.md.erb +111 -0
  158. data/documentation_project/Contents/Resources/en.lproj/100_reference/120_api_reference/070_config_ref.html.md.erb +31 -0
  159. data/documentation_project/Contents/Resources/en.lproj/100_reference/120_api_reference/090_helpers_ref.html.md.erb +20 -0
  160. 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
  161. 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
  162. data/documentation_project/Contents/Resources/en.lproj/100_reference/120_api_reference/index.html.md.erb +4 -0
  163. data/documentation_project/Contents/Resources/en.lproj/100_reference/index.html.md.erb +4 -0
  164. data/documentation_project/Contents/Resources/{Base.lproj → en.lproj}/110_acknowledgements/index.html.md.erb +5 -7
  165. data/documentation_project/Contents/Resources/en.lproj/ExactMatch.plist.erb +15 -0
  166. data/documentation_project/Contents/Resources/{Base.lproj → en.lproj}/InfoPlist.strings.erb +0 -0
  167. data/documentation_project/Contents/Resources/en.lproj/asides/aside_description.html.md.erb +21 -0
  168. data/documentation_project/Contents/Resources/en.lproj/assets/images/apple_help_books_folder_reference.png +0 -0
  169. data/documentation_project/Contents/Resources/en.lproj/assets/images/apple_help_books_project_membership.png +0 -0
  170. data/documentation_project/Contents/Resources/en.lproj/assets/images/apple_help_features_aside_example.png +0 -0
  171. data/documentation_project/Contents/Resources/en.lproj/assets/images/apple_help_features_chapter_heading.png +0 -0
  172. data/documentation_project/Contents/Resources/en.lproj/assets/images/apple_help_features_copyright_footer.png +0 -0
  173. data/documentation_project/Contents/Resources/en.lproj/assets/images/apple_help_features_landing_links.png +0 -0
  174. data/documentation_project/Contents/Resources/en.lproj/assets/images/apple_help_features_language_chooser.png +0 -0
  175. data/documentation_project/Contents/Resources/en.lproj/assets/images/apple_help_features_navigator.png +0 -0
  176. data/documentation_project/Contents/Resources/en.lproj/assets/images/apple_help_features_see_also.png +0 -0
  177. data/documentation_project/Contents/Resources/en.lproj/assets/images/apple_help_features_title_icons.png +0 -0
  178. data/documentation_project/Contents/Resources/en.lproj/assets/images/apple_help_features_universal.png +0 -0
  179. data/documentation_project/Contents/Resources/en.lproj/assets/images/get_started_init_contents.png +0 -0
  180. data/documentation_project/Contents/Resources/en.lproj/assets/images/get_started_init_english.png +0 -0
  181. data/documentation_project/Contents/Resources/en.lproj/assets/images/xcode_integration_config_sets.png +0 -0
  182. data/documentation_project/Contents/Resources/en.lproj/assets/images/xcode_integration_plist_definitions.png +0 -0
  183. data/documentation_project/Contents/Resources/en.lproj/assets/images/xcode_integration_target_dependencies.png +0 -0
  184. data/documentation_project/Contents/Resources/en.lproj/assets/images/xcode_integration_target_template.png +0 -0
  185. data/documentation_project/Contents/Resources/en.lproj/assets/images/xcode_integration_tool_configuration.png +0 -0
  186. data/documentation_project/Contents/Resources/{Base.lproj → en.lproj}/index.html.md.erb +3 -13
  187. data/documentation_project/Contents/Resources/en.lproj/locale-info.json.erb +16 -0
  188. data/documentation_project/Contents/Resources/en.lproj/navigation.json.erb +57 -0
  189. data/documentation_project/Contents/Resources/en.lproj/searchTree.json.erb +1 -0
  190. data/documentation_project/Contents/Resources/es.lproj/ExactMatch.plist.erb +15 -0
  191. data/{fixtures/middlemac_app/Contents/Resources/Base.lproj → documentation_project/Contents/Resources/es.lproj}/InfoPlist.strings.erb +0 -0
  192. data/documentation_project/Contents/Resources/es.lproj/index.html.md.erb +27 -0
  193. data/documentation_project/Contents/Resources/es.lproj/locale-info.json.erb +16 -0
  194. data/documentation_project/Contents/Resources/es.lproj/navigation.json.erb +57 -0
  195. data/documentation_project/Contents/Resources/es.lproj/searchTree.json.erb +1 -0
  196. data/documentation_project/Contents/Resources/index.html.erb +118 -0
  197. data/documentation_project/Contents/Resources/locale-list.json.erb +14 -0
  198. data/documentation_project/Gemfile +4 -17
  199. data/documentation_project/HelpViewerApp/HelpViewerApp/AppDelegate.h +1 -0
  200. data/documentation_project/HelpViewerApp/HelpViewerApp/AppDelegate.m +6 -0
  201. data/documentation_project/HelpViewerApp/HelpViewerApp/Base.lproj/MainMenu.xib +39 -10
  202. data/documentation_project/HelpViewerApp/HelpViewerApp/Info-free.plist +4 -4
  203. data/documentation_project/HelpViewerApp/HelpViewerApp/Info-pro.plist +4 -4
  204. data/documentation_project/HelpViewerApp/HelpViewerApp/versions.xcconfig +8 -0
  205. data/documentation_project/HelpViewerApp/HelpViewerApp.xcodeproj/project.pbxproj +79 -101
  206. data/documentation_project/HelpViewerApp/HelpViewerApp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  207. data/documentation_project/HelpViewerApp/HelpViewerApp.xcodeproj/xcshareddata/xcschemes/Help (free).xcscheme +11 -6
  208. data/documentation_project/HelpViewerApp/HelpViewerApp.xcodeproj/xcshareddata/xcschemes/Help (pro).xcscheme +80 -0
  209. data/documentation_project/HelpViewerApp/HelpViewerApp.xcodeproj/xcshareddata/xcschemes/HelpViewerApp (free).xcscheme +1 -1
  210. data/documentation_project/HelpViewerApp/HelpViewerApp.xcodeproj/xcshareddata/xcschemes/HelpViewerApp (pro).xcscheme +1 -1
  211. data/documentation_project/HelpViewerApp/README.md +6 -26
  212. data/documentation_project/{Middlemac (free).help → Middlemac_(free).help}/.gitignore +0 -0
  213. data/documentation_project/{Middlemac (pro).help → Middlemac_(pro).help}/.gitignore +0 -0
  214. data/documentation_project/config.rb +68 -100
  215. data/documentation_project/makefile +93 -0
  216. data/documentation_project/middlemac.webloc +0 -0
  217. data/features/helpers_features.feature +59 -0
  218. data/features/main_features.feature +21 -17
  219. data/features/support/env.rb +0 -14
  220. data/fixtures/middlemac_app/.gitignore +0 -1
  221. data/fixtures/middlemac_app/Contents/Info.plist.erb +1 -1
  222. data/fixtures/middlemac_app/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/_data/globals.yml +0 -0
  223. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/_data/locale-list.json +318 -0
  224. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/_layouts/layout-apple-modern-aside.haml +19 -0
  225. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/_layouts/layout-apple-modern.haml +61 -0
  226. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/_layouts/layout-blank.haml +11 -0
  227. data/fixtures/middlemac_app/Contents/Resources/{Base.lproj/assets/partials → SharedGlobalAssets/_partials}/_partials_dir_partial.erb +0 -0
  228. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/convention/icon-webclip-120x120.png +0 -0
  229. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/convention/icon-webclip-152x152.png +0 -0
  230. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/convention/icon-webclip-57x57.png +0 -0
  231. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/convention/icon-webclip-76x76.png +0 -0
  232. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/convention/icon-webclip-ipad.png +0 -0
  233. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/convention/icon-webclip-ipad_2x.png +0 -0
  234. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/convention/icon-webclip-iphone.png +0 -0
  235. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/convention/icon-webclip-iphone_2x.png +0 -0
  236. data/fixtures/middlemac_app/Contents/Resources/{shared → SharedGlobalAssets/convention}/icon_256x256.png +0 -0
  237. data/fixtures/middlemac_app/Contents/Resources/{shared → SharedGlobalAssets/convention}/icon_256x256@2x.png +0 -0
  238. data/fixtures/middlemac_app/Contents/Resources/{shared → SharedGlobalAssets/convention}/icon_32x32.png +0 -0
  239. data/fixtures/middlemac_app/Contents/Resources/{shared → SharedGlobalAssets/convention}/icon_32x32@2x.png +0 -0
  240. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/apple.css +3831 -0
  241. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/L0200_LeftArrow_2x.png +0 -0
  242. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/L0201_RightArrow_2x.png +0 -0
  243. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/arrow-blue.svg +1 -0
  244. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/arrow.svg +1 -0
  245. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/ask-siri.svg +1 -0
  246. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-clear-search.png +0 -0
  247. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-close-2.png +0 -0
  248. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-close-learnmore.png +0 -0
  249. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-close.png +0 -0
  250. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-search-small.png +0 -0
  251. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-search.png +0 -0
  252. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-toc-rtl.png +0 -0
  253. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-toc-small-rtl.png +0 -0
  254. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-toc-small.png +0 -0
  255. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-toc-toggle-rtl.png +0 -0
  256. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-toc-toggle.png +0 -0
  257. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-toc.png +0 -0
  258. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/changelanguage_icon2x.png +0 -0
  259. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/force-click.svg +1 -0
  260. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-arrow-2.svg +1 -0
  261. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-arrow.png +0 -0
  262. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-close.svg +1 -0
  263. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-external-link-lg.png +0 -0
  264. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-external-link.png +0 -0
  265. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-pause.svg +1 -0
  266. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-play.svg +1 -0
  267. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-replay.svg +1 -0
  268. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-warning-black.png +0 -0
  269. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-warning-eu.png +0 -0
  270. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-warning.png +0 -0
  271. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-webclip-120x120.png +0 -0
  272. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-webclip-152x152.png +0 -0
  273. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-webclip-57x57.png +0 -0
  274. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-webclip-76x76.png +0 -0
  275. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-webclip-ipad.png +0 -0
  276. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-webclip-ipad_2x.png +0 -0
  277. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-webclip-iphone.png +0 -0
  278. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-webclip-iphone_2x.png +0 -0
  279. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/movie-play_2x.png +0 -0
  280. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/nav-left.svg +1 -0
  281. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/nav-paddle-left.png +0 -0
  282. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/nav-paddle-right.png +0 -0
  283. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/nav-right.svg +1 -0
  284. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/search_image_large.svg +1 -0
  285. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/tip.svg +1 -0
  286. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/toc_blue_large.svg +1 -0
  287. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/toc_large.svg +1 -0
  288. data/fixtures/middlemac_app/Contents/Resources/{Base.lproj/assets/stylesheets/_github.scss → SharedGlobalAssets/css/middlemac/github.css.scss} +0 -0
  289. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/middlemac/middlemac.css.scss +129 -0
  290. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/middlemac/note.svg +19 -0
  291. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/middlemac/tip.svg +1 -0
  292. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/middlemac/warning.svg +19 -0
  293. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/fonts/_dummy.txt +1 -0
  294. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/images/global_thing_32x32.png +0 -0
  295. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/js/app.5.1.27.js +6295 -0
  296. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/js/middlemac-debug.js +20 -0
  297. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/js/vendor.js +226 -0
  298. data/fixtures/middlemac_app/Contents/Resources/en.lproj/10_hello_world_file.html.md.erb +17 -0
  299. data/fixtures/middlemac_app/Contents/Resources/en.lproj/30_sample_group_number_one/index.html.md.erb +8 -0
  300. data/fixtures/middlemac_app/Contents/Resources/en.lproj/30_sample_group_number_one/page_one.html.md.erb +108 -0
  301. data/fixtures/middlemac_app/Contents/Resources/en.lproj/30_sample_group_number_one/page_two.html.md.erb +36 -0
  302. 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
  303. 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
  304. 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
  305. data/fixtures/middlemac_app/Contents/Resources/en.lproj/40_sample_group_number_two/01_nested_group_example/index.html.md.erb +4 -0
  306. data/fixtures/middlemac_app/Contents/Resources/{Base.lproj → en.lproj}/40_sample_group_number_two/02_page_two.html.md.erb +0 -5
  307. data/fixtures/middlemac_app/Contents/Resources/{Base.lproj → en.lproj}/40_sample_group_number_two/03_page_three.html.md.erb +0 -5
  308. data/fixtures/middlemac_app/Contents/Resources/en.lproj/40_sample_group_number_two/index.html.md.erb +4 -0
  309. data/fixtures/middlemac_app/Contents/Resources/en.lproj/50_testing_world_file.html.md.erb +58 -0
  310. data/fixtures/middlemac_app/Contents/Resources/en.lproj/60_goodbye_world_file.html.md.erb +203 -0
  311. data/fixtures/middlemac_app/Contents/Resources/en.lproj/ExactMatch.plist.erb +15 -0
  312. data/fixtures/middlemac_app/Contents/Resources/en.lproj/InfoPlist.strings.erb +10 -0
  313. data/fixtures/middlemac_app/Contents/Resources/{Base.lproj → en.lproj}/_new_style_partial.erb +0 -0
  314. data/fixtures/middlemac_app/Contents/Resources/en.lproj/asides/aside_description.html.md.erb +20 -0
  315. data/fixtures/middlemac_app/Contents/Resources/en.lproj/assets/_partials/_localized_partials_dir_partial.erb +1 -0
  316. data/fixtures/middlemac_app/Contents/Resources/en.lproj/assets/images/all-graphic_32x32.png +0 -0
  317. data/fixtures/middlemac_app/Contents/Resources/en.lproj/assets/images/neat_thing_32x32.png +0 -0
  318. data/fixtures/middlemac_app/Contents/Resources/en.lproj/assets/images/subdirectory/logo_32x32.png +0 -0
  319. data/fixtures/middlemac_app/Contents/Resources/en.lproj/assets/images/subdirectory/pro-image_32x32.png +0 -0
  320. data/fixtures/middlemac_app/Contents/Resources/en.lproj/copyright.html.md.erb +19 -0
  321. data/fixtures/middlemac_app/Contents/Resources/en.lproj/index.html.md.erb +20 -0
  322. data/fixtures/middlemac_app/Contents/Resources/en.lproj/locale-info.json.erb +16 -0
  323. data/fixtures/middlemac_app/Contents/Resources/en.lproj/navigation.json.erb +57 -0
  324. data/fixtures/middlemac_app/Contents/Resources/en.lproj/searchTree.json.erb +1 -0
  325. data/fixtures/middlemac_app/Contents/Resources/es.lproj/10_hola_mundo_file.html.md.erb +15 -0
  326. data/fixtures/middlemac_app/Contents/Resources/es.lproj/60_goodbye_world_file.html.md.erb +193 -0
  327. data/fixtures/middlemac_app/Contents/Resources/es.lproj/ExactMatch.plist.erb +15 -0
  328. data/fixtures/middlemac_app/Contents/Resources/es.lproj/InfoPlist.strings.erb +10 -0
  329. data/fixtures/middlemac_app/Contents/Resources/es.lproj/assets/images/all-graphic_32x32.png +0 -0
  330. data/fixtures/middlemac_app/Contents/Resources/es.lproj/assets/images/neat_thing_32x32.png +0 -0
  331. data/fixtures/middlemac_app/Contents/Resources/es.lproj/assets/images/subdirectory/logo_32x32.png +0 -0
  332. data/fixtures/middlemac_app/Contents/Resources/es.lproj/assets/images/subdirectory/pro-image_32x32.png +0 -0
  333. data/fixtures/middlemac_app/Contents/Resources/es.lproj/copyright.html.md.erb +19 -0
  334. data/fixtures/middlemac_app/Contents/Resources/es.lproj/index.html.md.erb +21 -0
  335. data/fixtures/middlemac_app/Contents/Resources/es.lproj/locale-info.json.erb +16 -0
  336. data/fixtures/middlemac_app/Contents/Resources/es.lproj/navigation.json.erb +57 -0
  337. data/fixtures/middlemac_app/Contents/Resources/es.lproj/searchTree.json.erb +1 -0
  338. data/fixtures/middlemac_app/Contents/Resources/index.html.erb +118 -0
  339. data/fixtures/middlemac_app/Contents/Resources/locale-list.json.erb +14 -0
  340. data/fixtures/middlemac_app/Gemfile +4 -17
  341. data/fixtures/middlemac_app/config.rb +71 -100
  342. data/fixtures/middlemac_app/makefile +93 -0
  343. data/fixtures/middlemac_app/middlemac.webloc +0 -0
  344. data/lib/middlemac/extension.rb +123 -211
  345. data/lib/middlemac/helpers.rb +470 -0
  346. data/lib/middlemac/private.rb +494 -0
  347. data/lib/middlemac/sitemap.rb +516 -0
  348. data/lib/middlemac/trie.rb +37 -0
  349. data/lib/middlemac/version.rb +1 -1
  350. data/lib/middlemac.rb +4 -0
  351. data/middlemac.gemspec +7 -6
  352. data/resources/stopwords/ar.plist +206 -0
  353. data/resources/stopwords/ca.plist +0 -0
  354. data/resources/stopwords/cs.plist +30 -0
  355. data/resources/stopwords/da.plist +6 -0
  356. data/resources/stopwords/de.plist +119 -0
  357. data/resources/stopwords/el.plist +0 -0
  358. data/resources/stopwords/en.plist +0 -0
  359. data/resources/stopwords/es.plist +282 -0
  360. data/resources/stopwords/es_419.plist +282 -0
  361. data/resources/stopwords/fi.plist +206 -0
  362. data/resources/stopwords/fr.plist +132 -0
  363. data/resources/stopwords/he.plist +0 -0
  364. data/resources/stopwords/hr.plist +0 -0
  365. data/resources/stopwords/hu.plist +44 -0
  366. data/resources/stopwords/id.plist +6 -0
  367. data/resources/stopwords/it.plist +153 -0
  368. data/resources/stopwords/ja.plist +6 -0
  369. data/resources/stopwords/ko.plist +106 -0
  370. data/resources/stopwords/ms.plist +6 -0
  371. data/resources/stopwords/nl.plist +198 -0
  372. data/resources/stopwords/no.plist +207 -0
  373. data/resources/stopwords/pl.plist +207 -0
  374. data/resources/stopwords/pt.plist +207 -0
  375. data/resources/stopwords/pt_PT.plist +207 -0
  376. data/resources/stopwords/ro.plist +0 -0
  377. data/resources/stopwords/ru.plist +207 -0
  378. data/resources/stopwords/sk.plist +0 -0
  379. data/resources/stopwords/sv.plist +280 -0
  380. data/resources/stopwords/th.plist +56 -0
  381. data/resources/stopwords/tr.plist +200 -0
  382. data/resources/stopwords/uk.plist +764 -0
  383. data/resources/stopwords/vi.plist +6 -0
  384. data/resources/stopwords/zh_CN.plist +207 -0
  385. data/resources/stopwords/zh_TW.plist +207 -0
  386. data/yard/readme.md +4 -4
  387. metadata +394 -219
  388. data/documentation_project/Contents/Resources/Base.lproj/010_what_is_middlemac/index.html.md.erb +0 -126
  389. data/documentation_project/Contents/Resources/Base.lproj/030_skills_refresher/20_frontmatter_skill.html.md.erb +0 -54
  390. data/documentation_project/Contents/Resources/Base.lproj/030_skills_refresher/40_ruby_skill.html.md.erb +0 -67
  391. data/documentation_project/Contents/Resources/Base.lproj/030_skills_refresher/50_ruby_ecosystem.html.md.erb +0 -136
  392. data/documentation_project/Contents/Resources/Base.lproj/030_skills_refresher/index.html.md.erb +0 -35
  393. data/documentation_project/Contents/Resources/Base.lproj/040_setup/index.html.md.erb +0 -88
  394. data/documentation_project/Contents/Resources/Base.lproj/050_structure/010_directories_and_images.html.md.erb +0 -176
  395. data/documentation_project/Contents/Resources/Base.lproj/050_structure/020_layouts_and_templates.html.md.erb +0 -71
  396. data/documentation_project/Contents/Resources/Base.lproj/050_structure/025_css.html.md.erb +0 -71
  397. data/documentation_project/Contents/Resources/Base.lproj/050_structure/030_groups.html.md.erb +0 -83
  398. data/documentation_project/Contents/Resources/Base.lproj/050_structure/040_breadcrumbs.html.md.erb +0 -43
  399. data/documentation_project/Contents/Resources/Base.lproj/050_structure/050_navigator.html.md.erb +0 -26
  400. data/documentation_project/Contents/Resources/Base.lproj/050_structure/060_targets.html.md.erb +0 -63
  401. data/documentation_project/Contents/Resources/Base.lproj/050_structure/070_features.html.md.erb +0 -122
  402. data/documentation_project/Contents/Resources/Base.lproj/050_structure/index.html.md.erb +0 -21
  403. data/documentation_project/Contents/Resources/Base.lproj/060_content/010_frontmatter.html.md.erb +0 -88
  404. data/documentation_project/Contents/Resources/Base.lproj/060_content/040_partials.html.md.erb +0 -121
  405. data/documentation_project/Contents/Resources/Base.lproj/060_content/050_resources.html.md.erb +0 -60
  406. data/documentation_project/Contents/Resources/Base.lproj/060_content/070_including_excluding.html.md.erb +0 -68
  407. data/documentation_project/Contents/Resources/Base.lproj/060_content/080_markdown_links_images.html.md.erb +0 -93
  408. data/documentation_project/Contents/Resources/Base.lproj/060_content/090_css_image_sizes.html.md.erb +0 -90
  409. data/documentation_project/Contents/Resources/Base.lproj/060_content/index.html.md.erb +0 -21
  410. data/documentation_project/Contents/Resources/Base.lproj/070_preview_build/index.html.md.erb +0 -78
  411. data/documentation_project/Contents/Resources/Base.lproj/090_build_application/10_apple_help_setup.html.md.erb +0 -110
  412. data/documentation_project/Contents/Resources/Base.lproj/090_build_application/20_xcode_integration.html.md.erb +0 -64
  413. data/documentation_project/Contents/Resources/Base.lproj/090_build_application/index.html.md.erb +0 -25
  414. data/documentation_project/Contents/Resources/Base.lproj/100_reference/20_config_ref.html.md.erb +0 -56
  415. data/documentation_project/Contents/Resources/Base.lproj/100_reference/40_helpers_ref.html.md.erb +0 -45
  416. data/documentation_project/Contents/Resources/Base.lproj/100_reference/index.html.md.erb +0 -26
  417. data/documentation_project/Contents/Resources/Base.lproj/120_backwards_compatibility/index.html.md.erb +0 -88
  418. data/documentation_project/Contents/Resources/Base.lproj/130_all_help_content/index.html.md.erb +0 -15
  419. data/documentation_project/Contents/Resources/Base.lproj/assets/_layouts/layout-html4.haml +0 -22
  420. data/documentation_project/Contents/Resources/Base.lproj/assets/_layouts/layout-xhtml.haml +0 -28
  421. data/documentation_project/Contents/Resources/Base.lproj/assets/_layouts/template-logo-large.haml +0 -30
  422. data/documentation_project/Contents/Resources/Base.lproj/assets/_layouts/template-logo-medium.haml +0 -30
  423. data/documentation_project/Contents/Resources/Base.lproj/assets/_layouts/template-logo-small.haml +0 -30
  424. data/documentation_project/Contents/Resources/Base.lproj/assets/fonts/font-awesome/FontAwesome.otf +0 -0
  425. data/documentation_project/Contents/Resources/Base.lproj/assets/fonts/font-awesome/fontawesome-webfont.eot +0 -0
  426. data/documentation_project/Contents/Resources/Base.lproj/assets/fonts/font-awesome/fontawesome-webfont.svg +0 -655
  427. data/documentation_project/Contents/Resources/Base.lproj/assets/fonts/font-awesome/fontawesome-webfont.ttf +0 -0
  428. data/documentation_project/Contents/Resources/Base.lproj/assets/fonts/font-awesome/fontawesome-webfont.woff +0 -0
  429. data/documentation_project/Contents/Resources/Base.lproj/assets/fonts/font-awesome/fontawesome-webfont.woff2 +0 -0
  430. data/documentation_project/Contents/Resources/Base.lproj/assets/images/mm-extras/middlemac-extras-small.png +0 -0
  431. data/documentation_project/Contents/Resources/Base.lproj/assets/images/mm-extras/middlemac-extras-small@2x.png +0 -0
  432. data/documentation_project/Contents/Resources/Base.lproj/assets/images/mm-extras/middlemac-extras.png +0 -0
  433. data/documentation_project/Contents/Resources/Base.lproj/assets/images/mm-extras/middlemac-extras@2x.png +0 -0
  434. data/documentation_project/Contents/Resources/Base.lproj/assets/images/mm-extras/sub_images/middlemac-extras-small.png +0 -0
  435. data/documentation_project/Contents/Resources/Base.lproj/assets/images/mm-extras/sub_images/middlemac-extras-small@2x.png +0 -0
  436. data/documentation_project/Contents/Resources/Base.lproj/assets/images/mm-extras/sub_images/middlemac-extras.png +0 -0
  437. data/documentation_project/Contents/Resources/Base.lproj/assets/images/mm-extras/sub_images/middlemac-extras@2x.png +0 -0
  438. data/documentation_project/Contents/Resources/Base.lproj/assets/images/mm-pagegroups/middleman-pagegroups-small.png +0 -0
  439. data/documentation_project/Contents/Resources/Base.lproj/assets/images/mm-pagegroups/middleman-pagegroups.png +0 -0
  440. data/documentation_project/Contents/Resources/Base.lproj/assets/javascripts/all.js +0 -1
  441. data/documentation_project/Contents/Resources/Base.lproj/assets/partials/_nav_breadcrumbs.haml +0 -11
  442. data/documentation_project/Contents/Resources/Base.lproj/assets/partials/_nav_breadcrumbs_alt.haml +0 -15
  443. data/documentation_project/Contents/Resources/Base.lproj/assets/partials/_nav_brethren.haml +0 -18
  444. data/documentation_project/Contents/Resources/Base.lproj/assets/partials/_nav_brethren_index.haml +0 -14
  445. data/documentation_project/Contents/Resources/Base.lproj/assets/partials/_nav_legitimate_children.haml +0 -16
  446. data/documentation_project/Contents/Resources/Base.lproj/assets/partials/_nav_prev_next.haml +0 -21
  447. data/documentation_project/Contents/Resources/Base.lproj/assets/partials/_nav_toc_index.haml +0 -21
  448. data/documentation_project/Contents/Resources/Base.lproj/assets/partials/_yard_extras_config.erb +0 -200
  449. data/documentation_project/Contents/Resources/Base.lproj/assets/partials/_yard_extras_helpers.erb +0 -146
  450. data/documentation_project/Contents/Resources/Base.lproj/assets/partials/_yard_extras_helpers_extended.erb +0 -135
  451. data/documentation_project/Contents/Resources/Base.lproj/assets/partials/_yard_middlemac_config.erb +0 -207
  452. data/documentation_project/Contents/Resources/Base.lproj/assets/partials/_yard_middlemac_helpers.erb +0 -297
  453. data/documentation_project/Contents/Resources/Base.lproj/assets/partials/_yard_middlemac_helpers_extended.erb +0 -96
  454. data/documentation_project/Contents/Resources/Base.lproj/assets/partials/_yard_pagegroups_config.erb +0 -744
  455. data/documentation_project/Contents/Resources/Base.lproj/assets/partials/_yard_pagegroups_helpers.erb +0 -710
  456. data/documentation_project/Contents/Resources/Base.lproj/assets/partials/_yard_pagegroups_helpers_css.erb +0 -523
  457. data/documentation_project/Contents/Resources/Base.lproj/assets/partials/_yard_pagegroups_helpers_extended.erb +0 -56
  458. data/documentation_project/Contents/Resources/Base.lproj/assets/stylesheets/_apple_helpbook.scss +0 -946
  459. data/documentation_project/Contents/Resources/Base.lproj/assets/stylesheets/_normalize.scss +0 -374
  460. data/documentation_project/Contents/Resources/Base.lproj/assets/stylesheets/breadcrumb-separator-light.png +0 -0
  461. data/documentation_project/Contents/Resources/Base.lproj/assets/stylesheets/image_sizes.css.erb +0 -8
  462. data/documentation_project/Contents/Resources/Base.lproj/assets/stylesheets/style.css.scss +0 -4
  463. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/10_hello_world_file.html.md.erb +0 -22
  464. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/20_goodbye_world_file.html.md.erb +0 -22
  465. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/30_sample_group_number_one/index.html.md.erb +0 -24
  466. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/30_sample_group_number_one/page_one.html.md.erb +0 -20
  467. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/30_sample_group_number_one/page_two.html.md.erb +0 -19
  468. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/40_sample_group_number_two/01_nested_group_example/index.html.md.erb +0 -18
  469. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/40_sample_group_number_two/index.html.md.erb +0 -24
  470. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/45_testing_world_file.html.md.erb +0 -55
  471. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/50_entire_world_file.html.md.erb +0 -15
  472. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/_layouts/layout-html4.haml +0 -22
  473. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/_layouts/layout-xhtml.haml +0 -28
  474. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/_layouts/template-logo-large.haml +0 -30
  475. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/_layouts/template-logo-medium.haml +0 -30
  476. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/_layouts/template-logo-small.haml +0 -30
  477. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/fonts/font-awesome/FontAwesome.otf +0 -0
  478. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/fonts/font-awesome/fontawesome-webfont.eot +0 -0
  479. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/fonts/font-awesome/fontawesome-webfont.svg +0 -655
  480. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/fonts/font-awesome/fontawesome-webfont.ttf +0 -0
  481. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/fonts/font-awesome/fontawesome-webfont.woff +0 -0
  482. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/fonts/font-awesome/fontawesome-webfont.woff2 +0 -0
  483. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/images/_empty_directory.html.md.erb +0 -1
  484. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/javascripts/all.js +0 -1
  485. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/partials/_nav_breadcrumbs.haml +0 -11
  486. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/partials/_nav_breadcrumbs_alt.haml +0 -15
  487. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/partials/_nav_brethren.haml +0 -18
  488. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/partials/_nav_brethren_index.haml +0 -14
  489. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/partials/_nav_legitimate_children.haml +0 -16
  490. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/partials/_nav_prev_next.haml +0 -21
  491. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/partials/_nav_toc_index.haml +0 -21
  492. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/stylesheets/_apple_helpbook.scss +0 -946
  493. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/stylesheets/_normalize.scss +0 -374
  494. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/stylesheets/breadcrumb-separator-light.png +0 -0
  495. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/stylesheets/image_sizes.css.erb +0 -8
  496. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/stylesheets/style.css.scss +0 -4
  497. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/index.html.md.erb +0 -17
@@ -0,0 +1,374 @@
1
+ ---
2
+ title: Your First Help Book
3
+ blurb: This walkthrough takes you through the quick process of creating
4
+ and composing your very first Help Book. Along the way you’ll touch
5
+ upon most of the skills that you need to be successful on larger
6
+ projects.
7
+ ---
8
+ <%= md_links %>
9
+ <%= md_images %>
10
+
11
+ <%= current_page.data.blurb %>
12
+
13
+
14
+ <% helpbook_task "first_project_01", "Install a (nearly) empty project template" do %>
15
+
16
+ After [setting up _Middlemac_][set_up_middlemac], you’re ready to to start
17
+ **Your First Help Book** project. From within your **Terminal** application,
18
+ make sure you’re in the directory of your choice. You will instruct
19
+ _Middlemac_ to create a starter project in this location. Then:
20
+
21
+ ~~~ bash
22
+ bundle exec middlemac init
23
+ ~~~
24
+
25
+ In theory, `middlemac init` should be enough, but prefixing Ruby binaries with
26
+ `bundle exec` ensures that the environment is correctly set up to handle any
27
+ dependencies.
28
+ {: .note .callout}
29
+
30
+ Feel free to `cd` into the newly created `middlemac-init/` directory, and have
31
+ a look around. Or browse its contents in **Finder**. You’re free to rename
32
+ this directory to something meaningful, but we’ll refer to it by its current
33
+ name throughout this tutorial.
34
+ ![Contents of middlemac-init folder][get_started_init_contents]
35
+
36
+ You should notice fairly quickly that the directory contents resemble that of
37
+ a typical Apple bundle format. The paths `Contents/Resources/en.lproj/` and
38
+ `Contents/Resources/Info.plist.erb` are standard bundle contents, after all,
39
+ other than that strange `.erb` file type added to `Info.plist`.
40
+
41
+ In this exercise, we’ll be using the `en.lproj/` for our work. The `es.lproj/`
42
+ directory is simply installed as a “quick start” for writing multilingual
43
+ Help Books. If you choose to develop a Help Book for a language other than
44
+ English, then it’s probably safe to change the name of the `en.lproj`, but
45
+ skip ahead to [Localization][localization] to ensure that you name the folder
46
+ properly.
47
+
48
+
49
+ <% end %>
50
+ <% helpbook_task "first_project_02", "Examine the Key Project Files" do %>
51
+
52
+ ![Contents of middlemac-init folder][get_started_init_contents]
53
+
54
+ Have a look at the files above the `en.lproj` level, and the file contents.
55
+ In most cases, you won’t have to make modifications to any of these, other
56
+ than providing your own assets in `SharedGlobalAssets/`, and managing the
57
+ configuration in `config.rb`. This documentation’s **Reference** section
58
+ contains a [full description][directory_reference] of each of these files.
59
+
60
+ A couple of key points:
61
+
62
+ - Files with the `.erb` extension are “embedded Ruby”, i.e., they are are
63
+ Markdown and/or HTML files that have Ruby code which will be executing
64
+ when serving or building your Help Books. Other than for HTML files that
65
+ you create, these `.erb` files are used by _Middlemac_ to build you help
66
+ project. The only thing you have to do with them is not delete them.
67
+ - The `config.rb` file is where you will configure some of the build options,
68
+ metadata, and target/feature information for your project. For now, simply
69
+ have a look to become acquainted with it. It’s very well documented.
70
+ - The `makefile` might be used if you care to use **Xcode** for building your
71
+ Help Books. Feel free to ignore it for now.
72
+ - `SharedGlobalAssets/` includes both assets required by _Middlemac_ to
73
+ function, as well as a place to put your global, non-localized assets. A
74
+ more complete description of its contents is elsewhere in this
75
+ documentation.
76
+ - `Resources/index.html.erb` is the file that runs your entire Help Book.
77
+ There is little need to modify this file. Your own index file – used as a
78
+ landing page – exists in the `en.lproj/` directory.
79
+
80
+
81
+ <% end %>
82
+ <% helpbook_task "first_project_03", "Examine the Current Help Book Contents" do %>
83
+
84
+ This “nearly empty” project does ship with some simple pages used to
85
+ demonstrate how to create sections, nested sections, pages, partials, specify
86
+ page numbers, and other basics. Let’s have a look at these now.
87
+
88
+ <div style="display: flex; justify-content: space-around;">
89
+ <div style="flex: 0 0 auto;" markdown="1">
90
+ ![Contents of en.lproj directory][get_started_init_english]
91
+ </div>
92
+ <div style="padding: 1.5em;" markdown="1">
93
+ Without worrying too much about the other files in the root level of this
94
+ directory, you will notice the `index.html` file. This serves as the root of
95
+ your Help Book, and is often referred to as your “landing page.” Multi-topic
96
+ Help Books usually only have minimal information, such as the application name
97
+ and its logo, on the landing page. Single-topic Help Books, of course, contain
98
+ the entirety of their help content.
99
+
100
+ You should also notice some other `.html.md.erb` files, prefixed with numbers
101
+ and an underscore. This is one of the two ways that _Middlemac_ lets you choose
102
+ page display order in the navigation system. Similarly, you see at least two
103
+ directories prefixed in the same manner. These directories function as groups
104
+ or sections, and contain files and/or additional group directories for nested
105
+ sections.
106
+
107
+ These page order prefixes are normally removed when your project is built,
108
+ although you can control this behavior in your `config.rb` file.
109
+ {: .tip .callout}
110
+
111
+ In the `30_sample_group_number_one/` directory, the `index.html.md.erb` file
112
+ serves as a metadata container _only_; it has `title` [frontmatter][frontmatter]
113
+ that gives a title to the group. The other `.html.md.erb` files, as you can see,
114
+ do not have page order prefixes; instead, they receive their page order via
115
+ their `order` setting in their [frontmatter][frontmatter].
116
+ </div>
117
+ </div>
118
+
119
+ The `40_sample_group_number_two/` folder contains a nested group, in the
120
+ `01_nested_group_example/` directory.
121
+
122
+ The folder `asides/` is simply a convenient location to store all of your aside
123
+ files. While it’s not _necessary_ to store them here, doing so has the advantage
124
+ that your aside files do not require the `layout` key in their
125
+ [frontmatter][frontmatter].
126
+
127
+ Finally, the `assets/` directory contains localized versions of various assets,
128
+ such as [partials][partials], images, etc.
129
+
130
+ <% end %>
131
+ <% helpbook_task "first_project_04", "Personalize the Project in config.rb" do %>
132
+
133
+ Let’s personalize the project for your application. If you don’t have a specific
134
+ one in mind now, just invent one. Open the `config.rb` file, and look for the
135
+ line beginning `config[:targets] =`. This is the beginning of your targets’
136
+ configuration.
137
+
138
+ ~~~ ruby
139
+ config[:targets] = {
140
+ :free =>
141
+ {
142
+ :CFBundleID => 'com.balthisar.middlemac.free.help',
143
+ :HPDBookIconPath => 'SharedGlobalArt/free-icon_32x32@2x.png',
144
+ :CFBundleName => 'Middlemac',
145
+ :ProductName => 'Middlemac',
146
+ :ProductVersion => '3.0.0.wip',
147
+ :ProductURI => 'http://www.balthisar.com/developer',
148
+ :ProductCopyright => '© 2018 Jim Derry. All rights reserved.',
149
+ :features =>
150
+ {
151
+ :feature_advertise_pro => true,
152
+ :feature_performs_miracles => false,
153
+ :feature_insults_user => true,
154
+ :feature_shows_pink_rectangle => true,
155
+ }
156
+ },
157
+
158
+ :pro =>
159
+ {
160
+ :CFBundleID => 'com.balthisar.middlemac.pro.help',
161
+ :HPDBookIconPath => 'SharedGlobalArt/pro-icon_32x32@2x.png',
162
+ :CFBundleName => 'Middlemac',
163
+ :ProductName => 'Middlemac Pro',
164
+ :ProductVersion => '3.0.0.wip',
165
+ :ProductURI => 'http://www.balthisar.com/developer',
166
+ :ProductCopyright => '© 2018 Jim Derry. All rights reserved.',
167
+ :features =>
168
+ {
169
+ :feature_advertise_pro => false,
170
+ :feature_performs_miracles => true,
171
+ :feature_insults_user => false,
172
+ :feature_shows_pink_rectangle => true,
173
+ }
174
+ },
175
+
176
+ } # targets
177
+ ~~~
178
+
179
+ Looking at this data structure, it should be evident that the project is set up
180
+ for two targets: `:free` and `:pro`. This would be appropriate for an
181
+ application that has two versions, such as a “free” version and a “professional”
182
+ version.
183
+
184
+ The use of multiple targets is optional; you may specify as few as one, or as
185
+ many as you like.
186
+ {: .tip .callout}
187
+
188
+ Each of these targets is configured with some target-specific data, including
189
+ feature configuration. For example, the product name of the `:pro` target is
190
+ “New Project Pro”, whereas it’s “New Project” for the `:free` target. Similarly,
191
+ when it comes to features, it looks like the `:pro` version supports the
192
+ `feature_performs_miracles` feature, whereas you don’t get that in the `:free`
193
+ version.
194
+
195
+ Leaving the other fields alone for now, go ahead and personalize **Your First
196
+ Help Book** by changing the `:ProductName`, `:ProductVersion`, `:ProductURI`,
197
+ and `:ProductCopyright` for each of the targets.
198
+
199
+ This `:targets` structure in Ruby is called a “hash”, which is similar to an
200
+ `NSDictionary` in that it stores key-value pairs. This hash has values for the
201
+ Ruby symbols `:free` and `:pro`. The value of each of these keys is another
202
+ hash, the keys of which define things such as the `:ProductCopyright`. The
203
+ `:features` key of each of these hashes has yet another has as its value.
204
+ {: .note .callout}
205
+
206
+
207
+ <% end %>
208
+ <% helpbook_task "first_project_05", "Make changes to the Landing Page" do %>
209
+
210
+ The landing page is the usually the page that your Help Book first opens to,
211
+ unless your application is providing context-sensitive help, or you arrive
212
+ via a search. By convention, the landing page is the `index.html` file at the
213
+ root of your `.lproj` directory.
214
+
215
+ In the project, `index.html` is represented by the file `index.html.md.erb`,
216
+ which will become `index.html` when the project is built or served. You should
217
+ already have read that `.erb` signifies an “embedded Ruby” file, but what
218
+ about `.md`?
219
+
220
+ In _Middlemac_, files are built with various processors according to their
221
+ extensions. In the case of `index.html.md.erb`, the file will be processed as
222
+ embedded Ruby. Next, the `.md` indicates it will be processed as Markdown.
223
+ When there's only a single file extension left – in this case HTML –
224
+ _Middlemac_ knows that it’s done processing, and will output a file of the
225
+ remaining extension type. Similarly, the file `searchTree.json.erb` will
226
+ result in a file `searchTree.json` when your project is built.
227
+
228
+ Now that you understand why the landing page is named such, go ahead and open
229
+ it for editing.
230
+
231
+ ~~~ erb
232
+ ---
233
+ title: Middlemac Project
234
+ categories:
235
+ - landing
236
+ ---
237
+ <%%= md_links %>
238
+ <%%= md_images %>
239
+ This is a (mostly) blank project, and this is its landing page.
240
+
241
+ There are a few sample groups already set up, and some of the sample pages
242
+ demonstrate the basic features of Apple’s help system and Middlemac’s helpers.
243
+
244
+ * * *
245
+
246
+ This project includes a few sample pages in another locale, and as such a
247
+ language selector should be available below, _if_ this page is viewed in a
248
+ browser.
249
+
250
+ * * *
251
+ ~~~
252
+
253
+ Superficially, it looks pretty spartan; it’s essentially a text file with no
254
+ hints of HTML and something that looks like it _might_ be embedded Ruby. How
255
+ does the minimalistic text become a full featured landing page?
256
+
257
+ Let’s start with an examination of the top of the file, which is called the
258
+ “frontmatter,” delimited by the `---` at the start and end. The data it
259
+ contains is in YAML format, which is similar to JSON and very legible for
260
+ humans to read. In this case, it should evident that we are providing a
261
+ string for `title` and a single element array for `categories`. These data
262
+ will be used by _Middlemac_ for the construction of your Help Book.
263
+
264
+ The next two lines, `<%%= md_links %>` and `<%%= md_images %>`, are examples
265
+ of embedded Ruby, in this case, they are used to call “helpers” named
266
+ [`md_links`][markdown_links] and [`md_images`][markdown_images], respectively.
267
+ On this particular page, they’re not being used for anything, but it’s nice to
268
+ know that the features they provide are available should you want them. We can
269
+ ignore these for the time being.
270
+
271
+ Finally, we arrive at the meat of your page: two paragraphs followed by a
272
+ horizontal rule, followed by another paragraph followed by another horizontal
273
+ rule. This is all determined by the rules for [Markdown][about_markdown],
274
+ which is an easy to read, easy to write, system for converting plain text into
275
+ HTML (in the case of Apple Help Books and _Middlemac_) or any other markup
276
+ language.
277
+
278
+ If you’re not yet familiar with Markdown, give the
279
+ [About Markdown][about_markdown] topic a quick review, and then feel free to
280
+ edit the `index.html.md.erb` file with some new Markdown content of your
281
+ choice.
282
+
283
+
284
+ <% end %>
285
+ <% helpbook_task "first_project_06", "Make changes to the Copyright Page" do %>
286
+
287
+ Next, open the `copyright.html.md.erb` file for editing. As before, this file
288
+ contains some frontmatter:
289
+
290
+ ~~~ yaml
291
+ ---
292
+ title: License
293
+ blurb: License Page
294
+ categories:
295
+ - copyright
296
+ ---
297
+ ~~~
298
+
299
+ This page has a `blurb` key in its frontmatter. You can use this data on your
300
+ own page, if you like, but _Middlemac_ uses this blurb to populate a lot of
301
+ fields that Apple’s help system expects, such as the `navigation.json` file,
302
+ the help indexes, and the `description` meta tag for each page.
303
+
304
+ Additionally, its `categories` array contains the `copyright` value. This is
305
+ a flag to _Middlemac_ that this page should be treated as the copyright page
306
+ when your Help Book is served to a browser, i.e., this is the page that should
307
+ be linked to from your landing page’s copyright notice.
308
+
309
+ _Middlemac_ searches for the first page in its sitemap that contains this
310
+ value in its `categories`; if you assign `copyright` to multiple pages, then
311
+ the choice of which page will be used is undefined.
312
+ {: .tip}
313
+
314
+ Because this page has no page order assigned, neither via a page order as part
315
+ of the filename, nor via an `order` key, it will not be included in the
316
+ navigation menu, and will be excluded from any next/previous page features,
317
+ although you can still link to it manually.
318
+
319
+ Feel free to practice your elite Markdown skills on this file before
320
+ continuing to the next step.
321
+
322
+
323
+ <% end %>
324
+ <% helpbook_task "first_project_07", "A Look at ‹30_sample_group_number_one›" do %>
325
+
326
+ Open the file `30_sample_group_number_one/index.html.md.erb` As indicated in
327
+ a task above, this file serves only as a metadata container for the group
328
+ within this folder. Looking at its frontmatter, we see:
329
+
330
+ ~~~ yaml
331
+ ---
332
+ title: First Sample Group
333
+ layout: layout-blank
334
+ ---
335
+ ~~~
336
+
337
+ When the Help Book builds its navigation structure the title from the group
338
+ is taken from this file’s `title`. But what about the `layout`, and why are
339
+ we specifying what looks like a blank layout with `layout-blank`?
340
+
341
+ _Middlemac_ uses _layouts_ to describe how `.html.md.erb` files are
342
+ transformed into HTML files. Because these unused `index.html` files _will_
343
+ be included in the final help project, there's the possibility that they
344
+ might be indexed by `hiutil`. The `layout-blank` layout ensures that a
345
+ meta `robots` tag for these files prohibits indexing, and suppresses any HTML
346
+ body content that might inadvertently be included in the file, such as the
347
+ example that you opened.
348
+
349
+ Layouts are located in `SharedGlobalAssets/_layouts/`, and you generally don’t
350
+ have to make changes to them if you want to build an Apple Help Book, unless
351
+ you’re looking to automate advanced features not provided by _Middlemac_.
352
+ {: .tip .callout}
353
+
354
+ Although the sort order of this group is defined by the order prefix on the
355
+ group folder (i.e., `30_`), it could have just as easily been specified using
356
+ an `order` key in this metadata file. In fact, have a look at the
357
+ `page_two.html.md.erb` file: it has no page order prefix, and so its
358
+ frontmatter `order` key specifies its page order within its group.
359
+
360
+ <% end %>
361
+ <% helpbook_task "first_project_08", "Next Steps" do %>
362
+
363
+ As you browse the files in this nearly blank project, you should gain an
364
+ understanding of how some of the features of _Middlemac_ are implemented, and
365
+ if not, then don’t worry; that's why this documentation exists.
366
+
367
+ Feel free to make changes to the existing project to suit your needs and
368
+ taste, and when you’re ready to see the results, move on to the
369
+ [Serve Your Help Book][serve_your_help_book] and
370
+ [Build Your Help Book][build_your_help_book] topics.
371
+
372
+ <% end %>
373
+
374
+
@@ -0,0 +1,97 @@
1
+ ---
2
+ title: Serve Your Help Book
3
+ blurb: Learn how to interact with your Help Book in a live environment using
4
+ <em>Middleman</em>’s development server.
5
+ ---
6
+ <%= md_links %>
7
+ <%= md_images %>
8
+
9
+ When developing the majority of your Help Book content, it’s likely that you
10
+ will want to view the results in a web browser from time to time, which is
11
+ much faster than building the Help Book, clearing Apple Help Builder’s cache,
12
+ building your application, then running it.
13
+
14
+ While it’s possible to build your Help Book, and open the individual pages in
15
+ your browser, this isn’t practical for a modern Help Book, which depends on
16
+ AJAX and rewriting paths and other things that a file system doesn’t support,
17
+ despite being static pages.
18
+
19
+ Instead, you can use _Middleman_’s built-in preview server to host your Help
20
+ Books. It’s a zero-configuration that, quite simply, just works.
21
+
22
+ Let’s have a look at **Your First Help Book** that you worked on in the
23
+ previous topic. From within that project directory in **Terminal**, simply:
24
+
25
+ ~~~ bash
26
+ bundle exec middleman serve --target pro
27
+ ~~~
28
+
29
+ In just a few seconds, you will see a message indicating that the server is
30
+ running, as well as the address for your site, which is generally something
31
+ like:
32
+
33
+ ~~~ bash
34
+ == View your site at "http://localhost:4567", "http://127.0.0.1:4567"
35
+ == Inspect your site configuration at "http://localhost:4567/__middleman", "http://127.0.0.1:4567/__middleman"
36
+ ~~~
37
+
38
+ If you follow this advice, though, you’re like to see this message in your
39
+ browser:
40
+
41
+ > ###File Not Found
42
+
43
+ Remember, this is a macOS bundle, so the content we want is really located at
44
+ `http://localhost:4567/Resources/`. Go ahead and type that into your browser,
45
+ and browse the working Help Book, paying particular attention to whatever
46
+ changes you made in the previous lesson.
47
+
48
+ When ready, try navigating to this file by copying and inserting into the
49
+ browser address bar.
50
+
51
+ `/Resources/en.lproj/hello_world_file.html`
52
+
53
+ You should notice the the browser automatically redirected you to:
54
+
55
+ `http://localhost:4567/Resources/index.html?localePath=en.lproj#/topic-en.lproj-hello_world_file`
56
+
57
+
58
+ ## What’s going on here?
59
+
60
+ Modern Apple Help Books function completely from the `/Resources/index.html`
61
+ file. Every other page in the Help Book is loaded via AJAX by this file, and
62
+ then applied to the current browser window after rewriting paths so that they
63
+ are relative to this `index.html`. Apple’s JavaScript and styles are then
64
+ applied, and then you have a modern Apple Help Book.
65
+
66
+ Because the help indexer tool, `hiutil`, indexes individual pages, a
67
+ search result would lead to that indexed page, and that indexed page has none
68
+ of Apple’s JavaScripts or styling. So, each page of your Help Book, when
69
+ built, also includes a redirect to the main `index.html`, ensuring that search
70
+ works flawlessly.
71
+
72
+ During development, troubleshooting sometimes indicates the necessity
73
+ of viewing the HTML file in the browser without this redirect. If you’d like
74
+ to prevent this redirect from happening so quickly during development, have a
75
+ look at the `options.show_debug` option in your `config.rb`.
76
+
77
+
78
+ ## Specifying Targets
79
+
80
+ As you may have guessed from earlier, by starting the server with:
81
+
82
+ ~~~ bash
83
+ bundle exec middleman serve --target pro
84
+ ~~~
85
+
86
+ …you’ve started the `pro` target. Because **Your First Help Book** was also
87
+ configured with a `free` target, you can start it, instead, with:
88
+
89
+ ~~~ bash
90
+ bundle exec middleman serve --target pro
91
+ ~~~
92
+
93
+ You can also start the server with a simple `bundle exec middleman`. The
94
+ action `serve` is _Middleman_’s default, and omitting the `--target` option
95
+ will have _Middlemac_ use the `config[:target]` setting (the default target)
96
+ from your `config.rb`.
97
+ {: .tip .callout}
@@ -0,0 +1,56 @@
1
+ ---
2
+ title: Build Your Help Book
3
+ blurb: This article shows you how simple it is to build your Help Book, so
4
+ that it may be included with your Xcode project.
5
+ ---
6
+ <%= md_links %>
7
+ <%= md_images %>
8
+
9
+ When you’re finally ready to build your Help Book, either for including in
10
+ your application or for hosting on a website, you can do so easily with
11
+ _Middleman_. Let’s build **Your First Help Book** now. In **Terminal** from
12
+ within the project directory:
13
+
14
+ ~~~ bash
15
+ bundle exec middleman build_all
16
+ ~~~
17
+
18
+ Within just a few seconds (depending on the speed of your computer), you
19
+ should find that _Middleman_/_Middlemac_ will have built two, new help
20
+ bundles: `New_Project_(free).help` and `New_Project_(pro).help`.
21
+
22
+ _Middlemac_ ensures that no spaces are in help bundle filenames, just in case
23
+ you want to use `make` to build them. The default macOS `make` is
24
+ **GNU Make**, and it simply doesn’t work with paths containing spaces.
25
+ {: .note .callout}
26
+
27
+ You can `cd` into these bundles in **Terminal**, or use **Show Package
28
+ Contents** in **Finder** to browse the folders and contents there.
29
+
30
+ What you should find is a complete, modern Apple Help Book consisting of
31
+ HTML files that you built, as well as all of the supporting `.plist`, `.json`,
32
+ and other files needed to operate the Help Book.
33
+
34
+
35
+ ## Targets
36
+
37
+ As with the server, you can specify that _Middlemac_ build a single target,
38
+ rather than all of them. This is accomplished by using the `build` action
39
+ and specifying the `--target` option when invoking _Middleman_:
40
+
41
+ ~~~ bash
42
+ bundle exec middleman build --target pro
43
+ bundle exec middleman build --target free
44
+ bundle exec middleman build
45
+ ~~~
46
+
47
+ That last example builds the default target as defined in your `config.rb`
48
+ file.
49
+ {: .tip .callout}
50
+
51
+
52
+ ## Add Your First Help Book to your application
53
+
54
+ If you’re ready to add **Your First Help Book** to your application, then
55
+ skip ahead to [Set Up your Help Project][setup] for information on getting
56
+ your application to recognize your Help Book.
@@ -1,27 +1,24 @@
1
1
  ---
2
- title: Markdown
3
- blurb: Although you can hand-write all of your documents in HTML, why not take
4
- advantage of the clarity and ease of use offered by Markdown?
5
- layout: template-logo-medium
2
+ title: About Markdown
3
+ blurb: Although you can hand-write all of your documents in HTML, why not
4
+ take advantage of the clarity and ease of use offered by Markdown?
6
5
  ---
7
6
  <%= md_links %>
8
7
  <%= md_images %>
9
8
 
10
- <%= current_page.data.title %>
11
- ==============================
12
-
13
9
  <%= current_page.data.blurb %>
14
10
 
15
- _Middlemac_ takes care of a lot of the details for generating Apple Help Books,
16
- and that may be reason enough to use _Middlemac_. However if you decide _not_ to
17
- use Markdown, then you’re throwing away the single, largest contributor to your
18
- help file building productivity that there is.
11
+ _Middlemac_ takes care of a lot of the details for generating Apple Help
12
+ Books, and that may be reason enough to use _Middlemac_. However if you decide
13
+ _not_ to use Markdown, then you’re throwing away the single, largest
14
+ contributor to your help file building productivity that there is.
19
15
 
20
16
 
21
17
  What is Markdown?
22
18
  -----------------
23
19
 
24
- In the words of the estimable John Gruber (the author of the original Markdown):
20
+ In the words of the estimable John Gruber (the author of the original
21
+ Markdown):
25
22
 
26
23
  > Markdown is a text-to-HTML conversion tool for web writers. Markdown allows
27
24
  > you to write using an easy-to-read, easy-to-write plain text format, then
@@ -35,7 +32,8 @@ the page was written so:
35
32
  What is Markdown?
36
33
  -----------------
37
34
 
38
- In the words of the estimable John Gruber (the author of the original Markdown):
35
+ In the words of the estimable John Gruber (the author of the original
36
+ Markdown):
39
37
 
40
38
  > Markdown is a text-to-HTML conversion tool for web writers. Markdown allows
41
39
  > you to write using an easy-to-read, easy-to-write plain text format, then
@@ -59,5 +57,5 @@ are all fairly well compatible.
59
57
 
60
58
  _Middlemac_ uses [_Kramdown_](http://kramdown.gettalong.org/) as its Markdown
61
59
  engine because that’s what _Middleman_ uses by default. You can read about all
62
- its features an syntax on its
60
+ its features and syntax on its
63
61
  [documentation page](http://kramdown.gettalong.org/documentation.html).
@@ -1,15 +1,11 @@
1
1
  ---
2
- title: Middleman
3
- blurb: <em>Middleman</em> is the engine that makes <em>Middlemac</em> possible.
4
- It’s critical to know a little bit about this tool.
5
- layout: template-logo-medium
2
+ title: About Middleman
3
+ blurb: <em>Middleman</em> is the engine that makes <em>Middlemac</em>
4
+ possible. It’s critical to know a little bit about this tool.
6
5
  ---
7
6
  <%= md_links %>
8
7
  <%= md_images %>
9
8
 
10
- <%= current_page.data.title %>
11
- ==============================
12
-
13
9
  <%= current_page.data.blurb %>
14
10
 
15
11
  _Middleman_ is a [static site generator using all the shortcuts and tools in
@@ -26,7 +22,7 @@ development toolchain.
26
22
  Builder _and_ server
27
23
  --------------------
28
24
  _Middleman_ doesn’t merely build final output; it includes a non-configuration
29
- server that makes it much easier to develop your website or help book. Features
25
+ server that makes it much easier to develop your website or Help Book. Features
30
26
  such as live reload mean that when you change your source file, the site in
31
27
  your web browser will update automatically.
32
28
 
@@ -40,13 +36,13 @@ Basic concepts
40
36
  _Middleman_’s basic concepts are these:
41
37
 
42
38
  - Organize your site in a source directory that mirrors the desired structure
43
- on the server (or in our case, in our help book).
39
+ on the server (or in our case, in our Help Book).
44
40
  - Add file extensions to the source files to indicate the type of pre-processing
45
41
  that you want to perform on each of them.
46
42
  - Provide the ability to include partials and use helpers to improve your
47
43
  content development productivity, while keeping yourself DRY.
48
44
  - Provide the ability to use templates and layouts to bring uniformity to your
49
- website (in our case, to your help book).
45
+ website (in our case, to your Help Book).
50
46
  - Act as a server in developer mode, building content dynamically as you develop
51
47
  it.
52
48
  - Build final output, ready to use wherever you need it.
@@ -60,25 +56,25 @@ will actually execute `middleman` to serve or to build your projects.
60
56
 
61
57
  To start the built-in server in order to preview your work, simply do:
62
58
 
63
- ~~~ bash
59
+ ~~~
64
60
  bundle exec middleman serve --target free
65
61
  ~~~
66
62
 
67
63
  Instructions for accessing the server (the address and port) will be reported to
68
64
  you.
69
65
 
70
- Note, too, that `--target` specifies an option; the example about would serve
66
+ Note, too, that `--target` specifies an option; the example above would serve
71
67
  the `free` target.
72
68
 
73
69
  To build the `pro` target, you would do this:
74
70
 
75
- ~~~ bash
71
+ ~~~
76
72
  bundle exec middleman build --target pro
77
73
  ~~~
78
74
 
79
75
  And if you wanted to build every target at once, simply this:
80
76
 
81
- ~~~ bash
77
+ ~~~
82
78
  bundle exec middleman build_all
83
79
  ~~~
84
80