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,82 @@
1
+ ---
2
+ title: Backwards Compatibility
3
+ blurb: Notes about Backwards Compatibility with earlier versions of Middlemac.
4
+ ---
5
+ <%= md_links %>
6
+ <%= md_images %>
7
+
8
+ _Middlemac_ version 3.0.0 is a **major** update. It’s an API-breaking update
9
+ and projects using _Middlemac_ version 1._x_ or version 2._x_ will _not_ build
10
+ without some changes to your project.
11
+
12
+ This version of _Middlemac_ is a complete rewrite, and this was done in an
13
+ effort to let Apple’s Help Book tools do their job and make modern Apple Help
14
+ books. If you prefer full, manual control and custom styles that deviate from
15
+ Apple’s look and feel, it’s suggested that you stick with _Middlemac_ version
16
+ 2.0.
17
+
18
+ Middlemac 3.0 compared to older versions
19
+ ----------------------------------------
20
+
21
+ _Middlemac_ versions prior to 3.0 were intended to provided tools giving you
22
+ maximum control over page appearance while providing tools to allow automatic
23
+ navigation within groups/sections. Although it shipped with layout templates
24
+ and CSS to emulate the look of Apple’s Help Books for versions prior to
25
+ macOS 10.10 (i.e., “Mavericks” and earlier), you were always encouraged to
26
+ customize.
27
+
28
+ _Middlemac_ 3.0, however, does away with _all of that_ in favor of building
29
+ Apple Help Books that follow Apple’s own examples, standards, and practices.
30
+ _Middlemac_ no longer builds Help Books that emulate a style, rather, Apple’s
31
+ own tools provide the style and functionality. This necessarily represents a
32
+ departure from the previous model of doing things.
33
+
34
+
35
+ Project Upgrade Tips
36
+ --------------------
37
+
38
+ No automated method of upgrading a project is provided, but the steps for
39
+ achieving an upgrade are fairly simple.
40
+
41
+ The _vast_ majority of your source files will continue to work as they did in
42
+ the past, although you may wish to reorganize them to align nicely with the way
43
+ that modern Apple Help Books work. Here are some tips to help you migrate
44
+ faster:
45
+
46
+ - Begin by _reading_ this documentation and having a close look at the sample
47
+ project.
48
+
49
+ - Take a look at the [Directory and File Reference][directory_reference],
50
+ to have a good understanding of what all of the new files do, and what their
51
+ functions are.
52
+
53
+ - **It’s probably easiest to move your old source HTML files into the new sample
54
+ project.**
55
+
56
+ - Some Markdown reference style links may have their references changed. Keep a
57
+ lookout for this.
58
+
59
+ - There’s a new option called `show_debug` in the new `config.rb` file. Set this
60
+ to `true` to see all of the `md_links` and `md_images` values at the bottom
61
+ of each Help Book page. This setting will also highlight non-working Markdown
62
+ reference style links.
63
+
64
+ - `Base.lproj` is not supported by modern Apple Help Books. Ensure that this
65
+ directory is named `en.lproj`, or some other locale name supported by Apple’s
66
+ Help Book system.
67
+
68
+ - Group landing pages are no longer supported, because modern Apple Help Books
69
+ do no use them. Instead, group landing pages are now used solely as metadata
70
+ containers to provide the name of the group. If you absolutely require a
71
+ landing page, you can create a topic page in the group.
72
+
73
+ - In Apple parlance, “groups” are now called “sections,” although in order to
74
+ preserve as much backwards compatibility as possible, functions relating to
75
+ groups, if you use them, refer to groups.
76
+
77
+ - Most of the group navigation features and all of the helpers are no longer
78
+ included, nor are breadcrumbs. Modern Apple Help Books do not use them, and
79
+ handle all navigation via their JavaScript, so this support was dropped. If
80
+ you wish to go against Apple’s style, you can re-introduce these partials from
81
+ an older version of _Middleman_ yourself, as all of the internal logic is
82
+ still present.
@@ -0,0 +1,260 @@
1
+ ---
2
+ title: Directory and File Reference
3
+ blurb: Let us examine all of the files and folders in a standard
4
+ <em>Middlemac</em> project folder.
5
+ ---
6
+ <%= md_links %>
7
+ <%= md_images %>
8
+
9
+ <%= current_page.data.blurb %>
10
+
11
+
12
+ `your_project/`
13
+
14
+ : This is the self-contained directory containing everything that you need to
15
+ configure and build your project.
16
+
17
+ `your_project/config.rb`
18
+
19
+ : This file contains most of your project settings for configuring
20
+ _Middlemac_, _Middleman_, and other _Middleman_ extensions you might add
21
+ in the future.
22
+
23
+ `your_project/Gemfile`
24
+
25
+ : This file keeps track of the Ruby dependencies that are required for
26
+ _Middleman_ to work. You can edit this file to add additional _Middleman_
27
+ extensions, should you wish _Middlemac_/_Middleman_ do something more.
28
+
29
+ `your_project/Gemfile.lock`
30
+
31
+ : This is the bundler-generated file specifying the _exact_ dependency
32
+ configuration used. As Ruby Gems are updated on your system, this file will
33
+ ensure that updated versions are _not_ used, so that your configuration
34
+ stays frozen and steady. You can `bundle update` when you are ready to use
35
+ the newest version of Gems; doing so regenerates this file.
36
+
37
+ `your_project/middlemac.webloc`
38
+
39
+ : This is a convenient shortcut that, when used, will open your Help Book
40
+ in the default browser to the main `index.html` file.
41
+
42
+ `your_project/Contents/`
43
+
44
+ : Contains everything in your help project that will be compiled into or
45
+ contribute to the final `.help` project.
46
+
47
+
48
+ `your_project/Contents/Info.plist.erb`
49
+
50
+ : The `Info.plist.erb` file is the file that _Middlemac_ will process into the
51
+ final `Info.plist` that your macOS application needs in order to work with
52
+ your Help Book. For a basic project you shouldn’t have to modify anything in
53
+ this file, but if you want or need to have other key-value pairs in the
54
+ final `Info.plist`, then add them here.
55
+
56
+
57
+ `your_project/Contents/Resources/index.html`
58
+
59
+ : This file is the heart of your entire modern Help Book. When the Help Book
60
+ is open in Apple Help Viewer or being served to your web browser, it is the
61
+ only page that you will ever truly see. The entire rest of your Help Book,
62
+ in any language, is loaded by this file for display via AJAX. Consequently,
63
+ it strips out most of the `<head>` information from your own files, loads
64
+ all of the JavaScripts and styles, and manages language selection, TOC, and
65
+ everything else in your Help Book.
66
+
67
+ The data that appear in your generated HTML documents’ `<head>` is still
68
+ critical to the Apple Help Indexer. Don’t try to simplify things by removing
69
+ these items from the layout templates.
70
+
71
+ You generally should never have to edit this file, unless you want to
72
+ include some CSS or JavaScript that is not provided by _Middlemac_.
73
+
74
+
75
+ `your_project/Contents/Resources/locale-list.json.erb`
76
+
77
+ : When served to a web browser, Apple’s JavaScript will refer to this file
78
+ to determine which languages are available. This file is managed
79
+ automatically by _Middlemac_ based on the actual `language.lproj` files
80
+ that are present in your project.
81
+
82
+
83
+ `your_project/Contents/Resources/SharedGlobalAssets/`
84
+
85
+ : This directory contains assets that are common between all of your
86
+ different help language projects, as well as assets that _Middlemac_
87
+ requires by convention, such as Apple’s CSS and JavaScripts, certain image
88
+ files, data files, layouts, and so on.
89
+
90
+
91
+ `your_project/Contents/Resources/SharedGlobalAssets/_data/`
92
+
93
+ : This directory contains data files that you can use to supply data for
94
+ [using local data][local_data]. This directory will not be
95
+ output in the final build.
96
+
97
+
98
+ `your_project/Contents/Resources/SharedGlobalAssets/_data/locale-list.json`
99
+
100
+ : This file contains all of the source information for the locales that
101
+ _Middlemac_ supports “out of the box,” and is the same that Apple
102
+ generally provides for most of its applications. You should consult this
103
+ file to determine the correct `language.lproj` directory name to use for
104
+ developing help for locales other then the default `en.lproj`.
105
+
106
+
107
+ `your_project/Contents/Resources/SharedGlobalAssets/_layouts/`
108
+
109
+ : All layouts and templates should go here. This directory will not be
110
+ output in the final build.
111
+
112
+
113
+ `your_project/Contents/Resources/SharedGlobalAssets/_layouts/layout-apple-modern-aside.haml`
114
+
115
+ : This is the layout use for “aside” files. Your asides should set their
116
+ `layout` frontmatter key to this layout.
117
+
118
+
119
+ `your_project/Contents/Resources/SharedGlobalAssets/_layouts/layout-apple-modern.haml`
120
+
121
+ : This is the layout for all content files, and is used by default when
122
+ the frontmatter does not override it with a different `layout` key.
123
+
124
+
125
+ `your_project/Contents/Resources/SharedGlobalAssets/_layouts/layout-blank.haml`
126
+
127
+ : This is a layout that generates no content, and should be used for group
128
+ metadata `index.html` files.
129
+
130
+
131
+ `your_project/Contents/Resources/SharedGlobalAssets/_partials/`
132
+
133
+ : Partials can go here, and should be prefaced with an underscore so that
134
+ they will not generate build output. Partial files can also be included
135
+ in any other directory, too. This is for organizational convenience of
136
+ common partials that may be used anywhere.
137
+
138
+
139
+ `your_project/Contents/Resources/SharedGlobalAssets/convention/`
140
+
141
+ : Images that the Apple Help Book and _Middlemac_ require by convention go
142
+ here. This is separate from the `images/` directory simply to make
143
+ directory management simpler by avoiding the mixing of required and
144
+ non-required files.
145
+
146
+
147
+ `your_project/Contents/Resources/SharedGlobalAssets/css/`
148
+
149
+ : Your `.css` and `.scss` files should go here.
150
+
151
+
152
+ `your_project/Contents/Resources/SharedGlobalAssets/css/apple/`
153
+
154
+ : Apple’s CSS and CSS related files exist in this directory.
155
+
156
+
157
+ `your_project/Contents/Resources/SharedGlobalAssets/css/middlemac/`
158
+
159
+ : _Middlemac_’s CSS and CSS related files exist in this directory.
160
+
161
+
162
+ `your_project/Contents/Resources/SharedGlobalAssets/fonts/`
163
+
164
+ : Any fonts that you wish to include should go here. In general if you are
165
+ building an Apple Help Book, additional fonts should not be needed.
166
+
167
+
168
+ `your_project/Contents/Resources/SharedGlobalAssets/images/`
169
+
170
+ : All images should go here. _Middleman_ will find them automatically if
171
+ you use the helpers.
172
+
173
+
174
+ `your_project/Contents/Resources/SharedGlobalAssets/js/`
175
+
176
+ : Javascripts, if any, should go here. They will not be included
177
+ automatically in your project unless you modify the main `index.html`
178
+ file to include them.
179
+
180
+
181
+ `your_project/Contents/Resources/SharedGlobalAssets/js/app.5.1.xx.js`
182
+ `your_project/Contents/Resources/SharedGlobalAssets/js/middlemac-debug.js`
183
+ `your_project/Contents/Resources/SharedGlobalAssets/js/vendor.js`
184
+
185
+ : These are the Apple and _Middlemac_ JavaScript files that operate the
186
+ modern Apple Help Book. Note that the `app.5.1.xx.js` file is as Apple
187
+ originally provides it, with some minor editing to work with `<img>` tag
188
+ `srcset` attributes.
189
+
190
+ You should add any JavaScripts that your HelpBook requires here, and then
191
+ modify the main `index.html` file to include them.
192
+
193
+
194
+ `your_project/Contents/Resources/en.lproj`
195
+
196
+ : This directory serves as your base [group][groups] for the English version
197
+ of your Help Book, and it contains all of your Help Book’s content,
198
+ including locale-specific versions of your resources.
199
+
200
+ Any other files that result in `.html` in this directory level, except for
201
+ `index.html` constitute part of the `en.lproj` group. At this level you
202
+ should start adding directories to contain your other groups.
203
+
204
+ Certainly, you’re not required to develop in English, and _Middlemac_
205
+ supports multiple languages simultaneously. Out of the box, you can use
206
+ any language supported by `SharedGlobalAssets/_data/locale-list.json`.
207
+
208
+ `your_project/Contents/Resources/en.lproj/ExactMatch.plist.erb`
209
+
210
+ : This file supplements the `.helpindex` file when the Help Book is viewed in
211
+ Apple Help Viewer by providing exact word matching. _Middlemac_ generates
212
+ the finished version of this file based on the `exactmatch` keys in your
213
+ pages’ frontmatter. See [Apple’s documentation][1] for details.
214
+
215
+
216
+ `your_project/Contents/Resources/en.lproj/InfoPlist.strings`
217
+
218
+ : The `InfoPlist.strings` file is the file that _Middlemac_ will process into
219
+ the final `InfoPlist.strings`, which contains the localized version of your
220
+ applications’ human-readable `Info.plist` data (specifically, `CFBundleName`
221
+ and `HPDBookTitle`).
222
+
223
+
224
+ `your_project/Contents/Resources/en.lproj/locale-info.json.erb`
225
+
226
+ : This file contains metadata used by Apple’s JavaScript to understand the
227
+ locale details for this locale’s directory. It is managed automatically by
228
+ _Middlemac_.
229
+
230
+
231
+ `your_project/Contents/Resources/en.lproj/navigation.json.erb`
232
+
233
+ : _Middlemac_ builds the output version of this file from your Help Book’s
234
+ sitemap. It is used by Apple’s JavaScript to make all of the navigation
235
+ features possible.
236
+
237
+
238
+ `your_project/Contents/Resources/en.lproj/searchTree.json..erb`
239
+
240
+ : This file contains the search index used when your Help Book is viewed in
241
+ a browser. _Middlemac_ generates the final version of this file when it
242
+ indexes your Help Book.
243
+
244
+
245
+ `your_project/Contents/Resources/en.lproj/asides/`
246
+
247
+ : This optional folder can be used to hold your aside files. Besides being a
248
+ convenient organizational location, it has the magic property of not
249
+ requiring the `aside` category in their frontmatter.
250
+
251
+ `your_project/Contents/Resources/en.lproj/assets/`
252
+
253
+ : This directory contains all of the localized assets used in your Help Book.
254
+ In order for _Middlemac_’s asset helpers such as `image_tag` and `partial`
255
+ to find localized resources, any subdirectories of `assets/` must mirror
256
+ the subdirectories of `SharedGlobalAssets/`, e.g., `assets/images/`.
257
+ {: .nontabular}
258
+
259
+
260
+ [1]: https://developer.apple.com/library/archive/documentation/Carbon/Conceptual/ProvidingUserAssitAppleHelp/authoring_help/authoring_help_book.html#//apple_ref/doc/uid/TP30000903-CH206-SW5
@@ -0,0 +1,165 @@
1
+ ---
2
+ title: Xcode Integration
3
+ blurb: Integration with Xcode makes it simple to include the building of
4
+ Help Books as part of your native Xcode workflow.
5
+ ---
6
+ <%= md_links %>
7
+ <%= md_images %>
8
+
9
+
10
+ <%= current_page.data.blurb %>
11
+
12
+ If you choose to use optional integration, Xcode will build your Help Books
13
+ for you, as needed, whenever you build your application. And if your Help Book
14
+ has no updates, Xcode will be smart enough not to invoke _Middlemac_. You can
15
+ reference the **HelpViewerApp** Xcode project that’s included in this
16
+ documentation’s source distribution, and follow along below.
17
+
18
+ GNU’s `make` is not happy with spaces in file paths. This is a shortcoming of
19
+ `make`, and it will fail if there are any spaces in your Help Book source
20
+ project directory or file names.
21
+ {: .warning .callout}
22
+
23
+
24
+ <% helpbook_task "xcode_integration_1", "Add the Help Book to your Project" do %>
25
+
26
+
27
+ Built Help Books are just like any other asset in Xcode: as long as they are
28
+ properly included in your project and part of a “Copy Resources” build phase,
29
+ they will end up in the proper location in your application’s bundle when it
30
+ is built.
31
+
32
+ To make sure this happens, import your Help Book to your project as a
33
+ _folder reference_; if it’s shown in the organizer with a disclosure triangle
34
+ that lets you browse the contents, then you’ve done it wrong, and it will not
35
+ copy properly during your “Copy Resources” build phase.
36
+
37
+ ![Import as folder reference][apple_help_books_folder_reference]
38
+
39
+
40
+ <% end %>
41
+ <% helpbook_task "xcode_integration_2", "Set up Target Membership" do %>
42
+
43
+
44
+ Additionally, make sure that the Help Book has the correct target membership,
45
+ in order to ensure that it will be copied during the “Copy Resources” build
46
+ phase, _and_ do _not_ localize this file. It’s already localized internally
47
+ by virtue of being a localized bundle.
48
+
49
+ ![Correct project membership][apple_help_books_project_membership]
50
+
51
+
52
+ <% end %>
53
+ <% helpbook_task "xcode_integration_3", "Create and Configure a Build Target" do %>
54
+
55
+
56
+ Although Xcode provides its own build system, it also supports external build
57
+ systems, including `make`, which is ubiquitous in the world. Even other build
58
+ systems typically include `make` as a possible target.
59
+
60
+ `make`, when executed, looks for a configuration file named `makefile` that
61
+ contains all of the building instructions; _Middlemac_ provides this make file
62
+ in new projects any time you `middlemac init` in terminal. The source for this
63
+ documentation also includes _Middlemac_’s `makefile`.
64
+
65
+ `make` has a superior advantage over shell scripts when it comes to automating
66
+ builds: `make` will only perform the build if its necessary. Changes to your
67
+ Help Book source project are detected, and if no files have changed, then
68
+ `make` will simply report success instead of rebuilding your Help Book.
69
+ {: .tip .callout}
70
+
71
+ To instruct Xcode to use `make`, add a new target in Xcode, and choose the
72
+ “External Build System” template for the target:
73
+
74
+ ![Xcode's target template chooser][xcode_integration_target_template]
75
+
76
+ Give it a name appropriate to your Help Book.
77
+
78
+ Next, set up the **External Build Tool Configuration**:
79
+
80
+ - The **Build Tool** should be set to `/usr/bin/make`
81
+ - Set **Arguments** to `$(ACTION) TARGET=pro`, where `pro` will be one of
82
+ your targets.
83
+ - Set **Directory** to the location of the `makefile` in your project.
84
+
85
+ ![Configuring the external build target][xcode_integration_tool_configuration]
86
+
87
+ Xcode will populate `$(ACTION)` with `clean` when you clean your project;
88
+ otherwise it’s set to a null string. The `TARGET=` macro assignment
89
+ is required.
90
+ {: .note .callout}
91
+
92
+ At this point, Xcode should have already created and selected a scheme for
93
+ building this target, and so you should be able to conduct a build from within
94
+ Xcode immediately.
95
+
96
+ <% end %>
97
+ <% helpbook_task "xcode_integration_4", "Set up Target Dependencies" do %>
98
+
99
+
100
+ Because this integration uses `make`, your Help Books will only be built as
101
+ needed. You can take advantage of this property to ensure that your macOS
102
+ application never builds with an out-of-date Help Book that you forgot to
103
+ rebuild, while allowing you to avoid the slow, Help Book building process
104
+ every time you rebuild your application.
105
+
106
+ To accomplish this, simply add the Help Book target as a dependency of your
107
+ application.
108
+
109
+ ![Xcode target dependency][xcode_integration_target_dependencies]
110
+
111
+ Now, like magic – or like any build system _should_ word – your Help Book will
112
+ be created/updated when needed, and the latest version will always be included
113
+ in your application builds.
114
+
115
+
116
+ <% end %>
117
+ <% helpbook_task "xcode_integration_5", "Passing Variables to Middlemac during Build" do %>
118
+
119
+
120
+ Nothing is as disappointing as forgetting to update the version number in your
121
+ Help Book when releasing a new version of your application. It looks sloppy
122
+ and unprofessional. This can be avoided by using Xcode’s preprocessor
123
+ definitions, which are exposed as environment variables during build operations.
124
+ The included **HelpViewerApp** project is set up to get version and copyright
125
+ information from its `versions.xcconfig` file:
126
+
127
+ ~~~ xcconfig
128
+ MIDDLEMAC_CFBundleShortVersionString = 3.0.0
129
+ MIDDLEMAC_CFBundleVersion = 3.0.0
130
+ MIDDLEMAC_NSHumanReadableCopyright = Copyright ©2018 Jim Derry. All Rights Reserved.
131
+ ~~~
132
+
133
+ In order to expose these to the environment during builds, though, Xcode must
134
+ know that this file is part of the configuration. In the **HelpViewerApp** this
135
+ is simple:
136
+
137
+ ![Using configuration sets][xcode_integration_config_sets]
138
+
139
+
140
+ The two target applications’ `.plist` files, of course, can use these
141
+ definitions just as easily as the built-in definitions:
142
+
143
+ ![Using preprocessor definitions in plists][xcode_integration_plist_definitions]
144
+
145
+ Because these variables are also passed to the environment during builds, you
146
+ will notice that this documentation’s source code `config.rb` file contains
147
+ this line near the top:
148
+
149
+ ~~~ ruby
150
+ version_app = ENV.has_key?('MIDDLEMAC_CFBundleShortVersionString') ? ENV['MIDDLEMAC_CFBundleShortVersionString'] : nil
151
+ ~~~
152
+
153
+ and
154
+
155
+ ~~~ ruby
156
+ :ProductVersion => version_app || '3.0.0'
157
+ ~~~
158
+
159
+ …in the the `:targets` configuration. This ensures that when Xcode builds your
160
+ Help Book using `make`, the correct version information will be used. A fallback
161
+ value ('3.0.0') is provided in the event that you build from the shell directly.
162
+
163
+ <% end %>
164
+
165
+
@@ -2,14 +2,10 @@
2
2
  title: Command Line Interfaces
3
3
  blurb: Discover the CLI’s offered by the various Ruby gems that compose
4
4
  <em>Middlemac</em>.
5
- layout: template-logo-medium
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` command signature
@@ -17,7 +13,7 @@ layout: template-logo-medium
17
13
 
18
14
  You will use `middleman` to build `middlemac` projects.
19
15
 
20
- ~~~ bash
16
+ ~~~
21
17
  bundle exec middleman [[build|server] [--target xxx]] | [build_all|all]
22
18
  ~~~
23
19
 
@@ -32,7 +28,7 @@ with a list of targets defined in the project.
32
28
  _Middlemac_ offers its own commands for generating new projects and getting
33
29
  help.
34
30
 
35
- ~~~ bash
31
+ ~~~
36
32
  middlemac [init|documentation|help|--version]
37
33
  ~~~
38
34
 
@@ -40,32 +36,10 @@ Use `init` to generate the structure for a new, empty project, and use
40
36
  `documentation` to generate a project that can build this very documentation.
41
37
 
42
38
 
43
- `middlemac-extras` command signature
44
- ------------------------------------
45
-
46
- ~~~ bash
47
- middlemac-extras [documentation|help|--version]
48
- ~~~
49
-
50
- Use `documentation` to generate a project that can build complete documentation.
51
-
52
-
53
- `middleman-pagegroups` command signature
54
- ----------------------------------------
55
-
56
- ~~~ bash
57
- middleman-pagegroups [documentation|partials|help|--version]
58
- ~~~
59
-
60
- Use `documentation` to generate a project that can build complete documentation,
61
- or use `partials` to generate the partial files that you can use instead of
62
- helpers.
63
-
64
-
65
39
  `middlemac-targets` command signature
66
40
  -------------------------------------
67
41
 
68
- ~~~ bash
42
+ ~~~
69
43
  middlemac-targets [documentation|help|--version]
70
44
  ~~~
71
45
 
@@ -0,0 +1,111 @@
1
+ ---
2
+ title: Frontmatter and Keys Reference
3
+ blurb: Examine all of the different frontmatter keys and their use in a single
4
+ location.
5
+ exactmatch:
6
+ - frontmatter
7
+ - frontmatterkeys
8
+ - exactmatch
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
+ ---
26
+ title: Frontmatter and keys
27
+ blurb: Examine all of the different frontmatter keys and their use in a single
28
+ location.
29
+ exactmatch:
30
+ - frontmatter
31
+ - frontmatterkeys
32
+ - exactmatch
33
+ ---
34
+ ~~~
35
+
36
+ You can also specify your own frontmatter keys and values. All frontmatter is
37
+ available for use in your pages and templates via `current_page.data`, e.g.,
38
+ `current_page.data.title`.
39
+
40
+
41
+ Middlemac Frontmatter Keys
42
+ --------------------------
43
+
44
+ `anchor`
45
+
46
+ : Every Help Book page that you generate will include an anchor, which is
47
+ usually the page name determined by _Middlemac_, and can be found using
48
+ the `current_page.page_name` helper. You can specify your own anchor, if
49
+ you prefer, using this frontmatter key.
50
+
51
+ Anchors are very useful when using `NSHelpManager` to open a Help Book to a
52
+ specific page.
53
+
54
+ `blurb`
55
+
56
+ : The blurb will be used as a `meta description` for each of your pages, where
57
+ it will be picked up and indexed by the Apple Help Indexer. This Help Book
58
+ also uses the blurb on most pages as the opening paragraph. Finally, the
59
+ blurb is used in building the `navigation.json` file.
60
+
61
+ `categories`
62
+
63
+ : Pages can be assigned to one or more categories which _Middlemac_ and
64
+ Apple’s help system will use to control certain behaviors. Your landing
65
+ page should be assigned the category `landing`. If you have a copyright
66
+ page, it should be assigned `copyright`. Any “aside” pages should be
67
+ assigned `aside` among their categories.
68
+
69
+ `exactmatch`
70
+
71
+ : You can add `ExactMatch.plist` entries, which will be added to the final
72
+ `ExactMatch.plist` when the Help Book is built.
73
+
74
+ `exclude`
75
+
76
+ : Indicates which [targets and features][targets_and_features] this page should
77
+ be hidden from.
78
+
79
+ `keywords`
80
+
81
+ : Specify keywords for the `meta keywords` tag for each page of your Help
82
+ Book. These will be indexed by web crawlers (if your project is online),
83
+ and importantly, will be indexed by the Apple Help Indexer so that search
84
+ may work.
85
+
86
+ `layout`
87
+
88
+ : Specify the layout or template to use to render the page. If you don’t
89
+ specify a layout, then the `layout-apple-modern` layout will be used by
90
+ default.
91
+
92
+ In general, the default works perfectly fine for building a modern Apple
93
+ Help Book. However, [group][groups] `index.html` metadata files should be
94
+ set to `layout-blank`, and “aside” pages should be set to
95
+ `layout-apple-modern-aside`.
96
+
97
+ `order`
98
+
99
+ : Set the sorting/display order for a particular file within its group.
100
+
101
+ `target`
102
+
103
+ : Indicates which [targets and features][targets_and_features] this page is
104
+ applicable for.
105
+
106
+ `title`
107
+
108
+ : The page title will be used in to the HTML `<title>` tag for every page,
109
+ and more importantly, will be the text displayed for links by all of
110
+ _Middlemac_’s helpers and Apple’s Help Book navigation.
111
+