middlemac 2.0.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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
+