middlemac 2.0.0 → 3.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (518) hide show
  1. checksums.yaml +5 -5
  2. data/.gitattributes +5 -0
  3. data/.gitignore +6 -0
  4. data/CHANGELOG.md +44 -10
  5. data/Gemfile +11 -1
  6. data/README.md +38 -6
  7. data/Rakefile +20 -4
  8. data/documentation_project/.gitignore +1 -1
  9. data/documentation_project/Contents/Info.plist.erb +5 -3
  10. data/documentation_project/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/_data/globals.yml +0 -0
  11. data/documentation_project/Contents/Resources/SharedGlobalAssets/_data/locale-list.json +318 -0
  12. data/documentation_project/Contents/Resources/SharedGlobalAssets/_layouts/layout-apple-modern-aside.haml +19 -0
  13. data/documentation_project/Contents/Resources/SharedGlobalAssets/_layouts/layout-apple-modern.haml +61 -0
  14. data/documentation_project/Contents/Resources/SharedGlobalAssets/_layouts/layout-blank.haml +11 -0
  15. data/documentation_project/Contents/Resources/SharedGlobalAssets/_layouts/layout-hpd.haml +14 -0
  16. data/documentation_project/Contents/Resources/SharedGlobalAssets/_partials/_yard_middlemac_config.erb +366 -0
  17. data/documentation_project/Contents/Resources/SharedGlobalAssets/_partials/_yard_middlemac_helpers.erb +897 -0
  18. data/documentation_project/Contents/Resources/SharedGlobalAssets/_partials/_yard_middlemac_helpers_extended.erb +369 -0
  19. data/documentation_project/Contents/Resources/{Base.lproj/assets/partials/_yard_pagegroups_resources.erb → SharedGlobalAssets/_partials/_yard_middlemac_resources.erb} +342 -37
  20. data/documentation_project/Contents/Resources/{Base.lproj/assets/partials/_yard_targets_config.erb → SharedGlobalAssets/_partials/_yard_mmtargets_config.erb} +15 -110
  21. data/documentation_project/Contents/Resources/{Base.lproj/assets/partials/_yard_targets_helpers.erb → SharedGlobalAssets/_partials/_yard_mmtargets_helpers.erb} +4 -4
  22. data/documentation_project/Contents/Resources/{Base.lproj/assets/partials/_yard_targets_helpers_extended.erb → SharedGlobalAssets/_partials/_yard_mmtargets_helpers_extended.erb} +6 -2
  23. data/documentation_project/Contents/Resources/{Base.lproj/assets/partials/_yard_targets_instance.erb → SharedGlobalAssets/_partials/_yard_mmtargets_instance.erb} +1 -1
  24. data/documentation_project/Contents/Resources/{Base.lproj/assets/partials/_yard_targets_resources.erb → SharedGlobalAssets/_partials/_yard_mmtargets_resources.erb} +2 -2
  25. data/documentation_project/Contents/Resources/SharedGlobalAssets/convention/icon-webclip-120x120.png +0 -0
  26. data/documentation_project/Contents/Resources/SharedGlobalAssets/convention/icon-webclip-152x152.png +0 -0
  27. data/documentation_project/Contents/Resources/SharedGlobalAssets/convention/icon-webclip-57x57.png +0 -0
  28. data/documentation_project/Contents/Resources/SharedGlobalAssets/convention/icon-webclip-76x76.png +0 -0
  29. data/documentation_project/Contents/Resources/SharedGlobalAssets/convention/icon-webclip-ipad.png +0 -0
  30. data/documentation_project/Contents/Resources/SharedGlobalAssets/convention/icon-webclip-ipad_2x.png +0 -0
  31. data/documentation_project/Contents/Resources/SharedGlobalAssets/convention/icon-webclip-iphone.png +0 -0
  32. data/documentation_project/Contents/Resources/SharedGlobalAssets/convention/icon-webclip-iphone_2x.png +0 -0
  33. data/documentation_project/Contents/Resources/{shared → SharedGlobalAssets/convention}/icon_256x256.png +0 -0
  34. data/documentation_project/Contents/Resources/{shared → SharedGlobalAssets/convention}/icon_256x256@2x.png +0 -0
  35. data/documentation_project/Contents/Resources/{shared → SharedGlobalAssets/convention}/icon_32x32.png +0 -0
  36. data/documentation_project/Contents/Resources/{shared → SharedGlobalAssets/convention}/icon_32x32@2x.png +0 -0
  37. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/apple.css +3831 -0
  38. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/L0200_LeftArrow_2x.png +0 -0
  39. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/L0201_RightArrow_2x.png +0 -0
  40. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/arrow-blue.svg +1 -0
  41. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/arrow.svg +1 -0
  42. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/ask-siri.svg +1 -0
  43. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-clear-search.png +0 -0
  44. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-close-2.png +0 -0
  45. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-close-learnmore.png +0 -0
  46. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-close.png +0 -0
  47. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-search-small.png +0 -0
  48. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-search.png +0 -0
  49. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-toc-rtl.png +0 -0
  50. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-toc-small-rtl.png +0 -0
  51. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-toc-small.png +0 -0
  52. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-toc-toggle-rtl.png +0 -0
  53. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-toc-toggle.png +0 -0
  54. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-toc.png +0 -0
  55. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/changelanguage_icon2x.png +0 -0
  56. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/force-click.svg +1 -0
  57. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-arrow-2.svg +1 -0
  58. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-arrow.png +0 -0
  59. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-close.svg +1 -0
  60. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-external-link-lg.png +0 -0
  61. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-external-link.png +0 -0
  62. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-pause.svg +1 -0
  63. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-play.svg +1 -0
  64. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-replay.svg +1 -0
  65. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-warning-black.png +0 -0
  66. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-warning-eu.png +0 -0
  67. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-warning.png +0 -0
  68. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-webclip-120x120.png +0 -0
  69. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-webclip-152x152.png +0 -0
  70. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-webclip-57x57.png +0 -0
  71. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-webclip-76x76.png +0 -0
  72. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-webclip-ipad.png +0 -0
  73. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-webclip-ipad_2x.png +0 -0
  74. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-webclip-iphone.png +0 -0
  75. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-webclip-iphone_2x.png +0 -0
  76. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/movie-play_2x.png +0 -0
  77. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/nav-left.svg +1 -0
  78. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/nav-paddle-left.png +0 -0
  79. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/nav-paddle-right.png +0 -0
  80. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/nav-right.svg +1 -0
  81. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/search_image_large.svg +1 -0
  82. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/tip.svg +1 -0
  83. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/toc_blue_large.svg +1 -0
  84. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/toc_large.svg +1 -0
  85. data/documentation_project/Contents/Resources/{Base.lproj/assets/stylesheets/_github.scss → SharedGlobalAssets/css/middlemac/github.css.scss} +0 -0
  86. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/middlemac/middlemac.css.scss +129 -0
  87. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/middlemac/note.svg +19 -0
  88. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/middlemac/tip.svg +1 -0
  89. data/documentation_project/Contents/Resources/SharedGlobalAssets/css/middlemac/warning.svg +19 -0
  90. data/documentation_project/Contents/Resources/SharedGlobalAssets/fonts/_dummy.txt +1 -0
  91. data/documentation_project/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/images/all-sample.png +0 -0
  92. data/documentation_project/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/images/all-sample@2x.png +0 -0
  93. data/documentation_project/Contents/Resources/{shared → SharedGlobalAssets/images}/free-icon_256x256.png +0 -0
  94. data/documentation_project/Contents/Resources/{shared → SharedGlobalAssets/images}/free-icon_256x256@2x.png +0 -0
  95. data/documentation_project/Contents/Resources/{shared → SharedGlobalAssets/images}/free-icon_32x32.png +0 -0
  96. data/documentation_project/Contents/Resources/{shared → SharedGlobalAssets/images}/free-icon_32x32@2x.png +0 -0
  97. data/documentation_project/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/images/free-middlemac-logo-small.png +0 -0
  98. data/documentation_project/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/images/free-middlemac-logo-small@2x.png +0 -0
  99. data/documentation_project/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/images/free-middlemac-logo.png +0 -0
  100. data/documentation_project/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/images/free-middlemac-logo@2x.png +0 -0
  101. data/documentation_project/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/images/middlemac-logo-small.png +0 -0
  102. data/documentation_project/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/images/middlemac-logo-small@2x.png +0 -0
  103. data/documentation_project/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/images/middlemac-logo.png +0 -0
  104. data/documentation_project/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/images/middlemac-logo@2x.png +0 -0
  105. data/documentation_project/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/images/mm-targets/free-logo-small.png +0 -0
  106. data/documentation_project/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/images/mm-targets/free-logo-small@2x.png +0 -0
  107. data/documentation_project/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/images/mm-targets/free-logo.png +0 -0
  108. data/documentation_project/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/images/mm-targets/free-logo@2x.png +0 -0
  109. data/documentation_project/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/images/mm-targets/pro-logo-small.png +0 -0
  110. data/documentation_project/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/images/mm-targets/pro-logo-small@2x.png +0 -0
  111. data/documentation_project/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/images/mm-targets/pro-logo.png +0 -0
  112. data/documentation_project/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/images/mm-targets/pro-logo@2x.png +0 -0
  113. data/documentation_project/Contents/Resources/{shared → SharedGlobalAssets/images}/pro-icon_256x256.png +0 -0
  114. data/documentation_project/Contents/Resources/{shared → SharedGlobalAssets/images}/pro-icon_256x256@2x.png +0 -0
  115. data/documentation_project/Contents/Resources/{shared → SharedGlobalAssets/images}/pro-icon_32x32.png +0 -0
  116. data/documentation_project/Contents/Resources/{shared → SharedGlobalAssets/images}/pro-icon_32x32@2x.png +0 -0
  117. data/documentation_project/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/images/pro-middlemac-logo-small.png +0 -0
  118. data/documentation_project/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/images/pro-middlemac-logo-small@2x.png +0 -0
  119. data/documentation_project/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/images/pro-middlemac-logo.png +0 -0
  120. data/documentation_project/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/images/pro-middlemac-logo@2x.png +0 -0
  121. data/documentation_project/Contents/Resources/SharedGlobalAssets/js/app.5.1.27.js +6295 -0
  122. data/documentation_project/Contents/Resources/SharedGlobalAssets/js/middlemac-debug.js +20 -0
  123. data/documentation_project/Contents/Resources/SharedGlobalAssets/js/vendor.js +226 -0
  124. data/documentation_project/Contents/Resources/en.lproj/010_what_is_middlemac/index.html.md.erb +114 -0
  125. data/documentation_project/Contents/Resources/en.lproj/020_apple_help_features/index.html.md.erb +241 -0
  126. data/documentation_project/Contents/Resources/{Base.lproj/020_setup_tutorial/index.html.md.erb → en.lproj/030_get_started/010_set_up_middlemac.html.md.erb} +33 -37
  127. data/documentation_project/Contents/Resources/en.lproj/030_get_started/020_your_first_help_book.html.md.erb +374 -0
  128. data/documentation_project/Contents/Resources/en.lproj/030_get_started/030_serve_your_help_book.html.md.erb +97 -0
  129. data/documentation_project/Contents/Resources/en.lproj/030_get_started/040_build_your_help_book.html.md.erb +56 -0
  130. data/documentation_project/Contents/Resources/{Base.lproj/030_skills_refresher/10_markdown_skill.html.md.erb → en.lproj/030_get_started/050_about_markdown.html.md.erb} +12 -14
  131. data/documentation_project/Contents/Resources/{Base.lproj/030_skills_refresher/30_middleman_skill.html.md.erb → en.lproj/030_get_started/060_about_middleman.html.md.erb} +10 -14
  132. data/documentation_project/Contents/Resources/en.lproj/030_get_started/070_about_ruby.html.md.erb +194 -0
  133. data/documentation_project/Contents/Resources/en.lproj/030_get_started/aside_frontmatter.html.md.erb +64 -0
  134. data/documentation_project/Contents/Resources/en.lproj/030_get_started/index.html.md.erb +4 -0
  135. data/documentation_project/Contents/Resources/en.lproj/040_compose_project/010_setup.html.md.erb +204 -0
  136. data/documentation_project/Contents/Resources/{Base.lproj/030_skills_refresher/60_filetypes_skill.html.md.erb → en.lproj/040_compose_project/020_filetypes.html.md.erb} +7 -11
  137. data/documentation_project/Contents/Resources/en.lproj/040_compose_project/030_directory_conventions.html.md.erb +206 -0
  138. data/documentation_project/Contents/Resources/en.lproj/040_compose_project/040_groups.html.md.erb +96 -0
  139. data/documentation_project/Contents/Resources/en.lproj/040_compose_project/050_targets_and_features.html.md.erb +220 -0
  140. data/documentation_project/Contents/Resources/en.lproj/040_compose_project/060_frontmatter.html.md.erb +98 -0
  141. data/documentation_project/Contents/Resources/{Base.lproj/060_content/100_using_local_data.html.md.erb → en.lproj/040_compose_project/070_local_data.html.md.erb} +22 -9
  142. data/documentation_project/Contents/Resources/{Base.lproj/060_content/030_helpers.html.md.erb → en.lproj/040_compose_project/080_helpers/010_helpers.html.md.erb} +35 -69
  143. data/documentation_project/Contents/Resources/en.lproj/040_compose_project/080_helpers/020_markdown_links.html.md.erb +51 -0
  144. data/documentation_project/Contents/Resources/en.lproj/040_compose_project/080_helpers/030_markdown_images.html.md.erb +52 -0
  145. data/documentation_project/Contents/Resources/en.lproj/040_compose_project/080_helpers/index.html.md.erb +4 -0
  146. data/documentation_project/Contents/Resources/en.lproj/040_compose_project/090_partials.html.md.erb +64 -0
  147. data/documentation_project/Contents/Resources/en.lproj/040_compose_project/100_resources.html.md.erb +36 -0
  148. data/documentation_project/Contents/Resources/en.lproj/040_compose_project/110_implement_features.html.md.erb +197 -0
  149. data/documentation_project/Contents/Resources/en.lproj/040_compose_project/120_preview_build.html.md.erb +86 -0
  150. data/documentation_project/Contents/Resources/en.lproj/040_compose_project/index.html.md.erb +4 -0
  151. data/documentation_project/Contents/Resources/{Base.lproj/050_structure → en.lproj/040_compose_project}/not_free.html.md.erb +4 -11
  152. data/documentation_project/Contents/Resources/{Base.lproj/050_structure → en.lproj/040_compose_project}/not_pro.html.md.erb +4 -11
  153. data/documentation_project/Contents/Resources/en.lproj/100_reference/010_apple_help_books/010_dissect_help_book.html.md.erb +296 -0
  154. data/documentation_project/Contents/Resources/en.lproj/100_reference/010_apple_help_books/020_dissect_modern_help.html.md.erb +246 -0
  155. data/documentation_project/Contents/Resources/en.lproj/100_reference/010_apple_help_books/index.html.md.erb +4 -0
  156. data/documentation_project/Contents/Resources/en.lproj/100_reference/030_backwards_compatibility.html.md.erb +82 -0
  157. data/documentation_project/Contents/Resources/en.lproj/100_reference/040_directory_reference.html.md.erb +276 -0
  158. data/documentation_project/Contents/Resources/en.lproj/100_reference/050_xcode_integration.html.md.erb +165 -0
  159. data/documentation_project/Contents/Resources/{Base.lproj/100_reference/10_cli_ref.html.md.erb → en.lproj/100_reference/060_cli_ref.html.md.erb} +3 -29
  160. data/documentation_project/Contents/Resources/en.lproj/100_reference/080_frontmatter_reference.html.md.erb +111 -0
  161. data/documentation_project/Contents/Resources/en.lproj/100_reference/120_api_reference/070_config_ref.html.md.erb +31 -0
  162. data/documentation_project/Contents/Resources/en.lproj/100_reference/120_api_reference/090_helpers_ref.html.md.erb +20 -0
  163. data/documentation_project/Contents/Resources/{Base.lproj/100_reference/30_helpers_ext_ref.html.md.erb → en.lproj/100_reference/120_api_reference/091_helpers_ext_ref.html.md.erb} +3 -21
  164. data/documentation_project/Contents/Resources/{Base.lproj/100_reference/50_resource_ext_ref.html.md.erb → en.lproj/100_reference/120_api_reference/100_resource_ext_ref.html.md.erb} +3 -8
  165. data/documentation_project/Contents/Resources/en.lproj/100_reference/120_api_reference/index.html.md.erb +4 -0
  166. data/documentation_project/Contents/Resources/en.lproj/100_reference/index.html.md.erb +4 -0
  167. data/documentation_project/Contents/Resources/{Base.lproj → en.lproj}/110_acknowledgements/index.html.md.erb +5 -7
  168. data/documentation_project/Contents/Resources/en.lproj/ExactMatch.plist.erb +15 -0
  169. data/documentation_project/Contents/Resources/{Base.lproj → en.lproj}/InfoPlist.strings.erb +0 -0
  170. data/documentation_project/Contents/Resources/en.lproj/asides/aside_description.html.md.erb +21 -0
  171. data/documentation_project/Contents/Resources/en.lproj/assets/images/apple_help_books_folder_reference.png +0 -0
  172. data/documentation_project/Contents/Resources/en.lproj/assets/images/apple_help_books_project_membership.png +0 -0
  173. data/documentation_project/Contents/Resources/en.lproj/assets/images/apple_help_features_aside_example.png +0 -0
  174. data/documentation_project/Contents/Resources/en.lproj/assets/images/apple_help_features_chapter_heading.png +0 -0
  175. data/documentation_project/Contents/Resources/en.lproj/assets/images/apple_help_features_copyright_footer.png +0 -0
  176. data/documentation_project/Contents/Resources/en.lproj/assets/images/apple_help_features_landing_links.png +0 -0
  177. data/documentation_project/Contents/Resources/en.lproj/assets/images/apple_help_features_language_chooser.png +0 -0
  178. data/documentation_project/Contents/Resources/en.lproj/assets/images/apple_help_features_navigator.png +0 -0
  179. data/documentation_project/Contents/Resources/en.lproj/assets/images/apple_help_features_see_also.png +0 -0
  180. data/documentation_project/Contents/Resources/en.lproj/assets/images/apple_help_features_title_icons.png +0 -0
  181. data/documentation_project/Contents/Resources/en.lproj/assets/images/apple_help_features_universal.png +0 -0
  182. data/documentation_project/Contents/Resources/en.lproj/assets/images/get_started_init_contents.png +0 -0
  183. data/documentation_project/Contents/Resources/en.lproj/assets/images/get_started_init_english.png +0 -0
  184. data/documentation_project/Contents/Resources/en.lproj/assets/images/xcode_integration_config_sets.png +0 -0
  185. data/documentation_project/Contents/Resources/en.lproj/assets/images/xcode_integration_plist_definitions.png +0 -0
  186. data/documentation_project/Contents/Resources/en.lproj/assets/images/xcode_integration_target_dependencies.png +0 -0
  187. data/documentation_project/Contents/Resources/en.lproj/assets/images/xcode_integration_target_template.png +0 -0
  188. data/documentation_project/Contents/Resources/en.lproj/assets/images/xcode_integration_tool_configuration.png +0 -0
  189. data/documentation_project/Contents/Resources/{Base.lproj → en.lproj}/index.html.md.erb +3 -13
  190. data/documentation_project/Contents/Resources/en.lproj/index_hpd.html.md.erb +4 -0
  191. data/documentation_project/Contents/Resources/en.lproj/locale-info.json.erb +16 -0
  192. data/documentation_project/Contents/Resources/en.lproj/navigation.json.erb +57 -0
  193. data/documentation_project/Contents/Resources/en.lproj/searchTree.json.erb +1 -0
  194. data/documentation_project/Contents/Resources/es.lproj/ExactMatch.plist.erb +15 -0
  195. data/{fixtures/middlemac_app/Contents/Resources/Base.lproj → documentation_project/Contents/Resources/es.lproj}/InfoPlist.strings.erb +0 -0
  196. data/documentation_project/Contents/Resources/es.lproj/index.html.md.erb +27 -0
  197. data/documentation_project/Contents/Resources/es.lproj/index_hpd.html.md.erb +4 -0
  198. data/documentation_project/Contents/Resources/es.lproj/locale-info.json.erb +16 -0
  199. data/documentation_project/Contents/Resources/es.lproj/navigation.json.erb +57 -0
  200. data/documentation_project/Contents/Resources/es.lproj/searchTree.json.erb +1 -0
  201. data/documentation_project/Contents/Resources/index.html.erb +118 -0
  202. data/documentation_project/Contents/Resources/locale-list.json.erb +14 -0
  203. data/documentation_project/Gemfile +4 -17
  204. data/documentation_project/HelpViewerApp/HelpViewerApp.xcodeproj/project.pbxproj +79 -101
  205. data/documentation_project/HelpViewerApp/HelpViewerApp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  206. data/documentation_project/HelpViewerApp/HelpViewerApp.xcodeproj/xcshareddata/xcschemes/Help (free).xcscheme +11 -6
  207. data/documentation_project/HelpViewerApp/HelpViewerApp.xcodeproj/xcshareddata/xcschemes/Help (pro).xcscheme +80 -0
  208. data/documentation_project/HelpViewerApp/HelpViewerApp.xcodeproj/xcshareddata/xcschemes/HelpViewerApp (free).xcscheme +1 -1
  209. data/documentation_project/HelpViewerApp/HelpViewerApp.xcodeproj/xcshareddata/xcschemes/HelpViewerApp (pro).xcscheme +1 -1
  210. data/documentation_project/HelpViewerApp/HelpViewerApp/AppDelegate.h +1 -0
  211. data/documentation_project/HelpViewerApp/HelpViewerApp/AppDelegate.m +6 -0
  212. data/documentation_project/HelpViewerApp/HelpViewerApp/Base.lproj/MainMenu.xib +39 -10
  213. data/documentation_project/HelpViewerApp/HelpViewerApp/Info-free.plist +4 -4
  214. data/documentation_project/HelpViewerApp/HelpViewerApp/Info-pro.plist +4 -4
  215. data/documentation_project/HelpViewerApp/HelpViewerApp/versions.xcconfig +8 -0
  216. data/documentation_project/HelpViewerApp/README.md +6 -26
  217. data/documentation_project/{Middlemac (free).help → Middlemac_(free).help}/.gitignore +0 -0
  218. data/documentation_project/{Middlemac (pro).help → Middlemac_(pro).help}/.gitignore +0 -0
  219. data/documentation_project/config.rb +83 -100
  220. data/documentation_project/makefile +93 -0
  221. data/documentation_project/middlemac.webloc +0 -0
  222. data/ext/trie/darray.c +673 -0
  223. data/ext/trie/darray.h +233 -0
  224. data/ext/trie/extconf.rb +23 -0
  225. data/ext/trie/fileutils.c +151 -0
  226. data/ext/trie/fileutils.h +36 -0
  227. data/ext/trie/tail.c +340 -0
  228. data/ext/trie/tail.h +207 -0
  229. data/ext/trie/trie-private.c +299 -0
  230. data/ext/trie/trie-private.h +31 -0
  231. data/ext/trie/trie.c +628 -0
  232. data/ext/trie/trie.h +40 -0
  233. data/ext/trie/triedefs.h +73 -0
  234. data/ext/trie/typedefs.h +117 -0
  235. data/features/helpers_features.feature +58 -0
  236. data/features/main_features.feature +23 -19
  237. data/features/support/env.rb +0 -14
  238. data/fixtures/middlemac_app/.gitignore +0 -1
  239. data/fixtures/middlemac_app/Contents/Info.plist.erb +5 -3
  240. data/fixtures/middlemac_app/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/_data/globals.yml +0 -0
  241. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/_data/locale-list.json +318 -0
  242. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/_layouts/layout-apple-modern-aside.haml +19 -0
  243. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/_layouts/layout-apple-modern.haml +61 -0
  244. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/_layouts/layout-blank.haml +11 -0
  245. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/_layouts/layout-hpd.haml +14 -0
  246. data/fixtures/middlemac_app/Contents/Resources/{Base.lproj/assets/partials → SharedGlobalAssets/_partials}/_partials_dir_partial.erb +0 -0
  247. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/convention/icon-webclip-120x120.png +0 -0
  248. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/convention/icon-webclip-152x152.png +0 -0
  249. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/convention/icon-webclip-57x57.png +0 -0
  250. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/convention/icon-webclip-76x76.png +0 -0
  251. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/convention/icon-webclip-ipad.png +0 -0
  252. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/convention/icon-webclip-ipad_2x.png +0 -0
  253. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/convention/icon-webclip-iphone.png +0 -0
  254. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/convention/icon-webclip-iphone_2x.png +0 -0
  255. data/fixtures/middlemac_app/Contents/Resources/{shared → SharedGlobalAssets/convention}/icon_256x256.png +0 -0
  256. data/fixtures/middlemac_app/Contents/Resources/{shared → SharedGlobalAssets/convention}/icon_256x256@2x.png +0 -0
  257. data/fixtures/middlemac_app/Contents/Resources/{shared → SharedGlobalAssets/convention}/icon_32x32.png +0 -0
  258. data/fixtures/middlemac_app/Contents/Resources/{shared → SharedGlobalAssets/convention}/icon_32x32@2x.png +0 -0
  259. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/apple.css +3831 -0
  260. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/L0200_LeftArrow_2x.png +0 -0
  261. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/L0201_RightArrow_2x.png +0 -0
  262. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/arrow-blue.svg +1 -0
  263. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/arrow.svg +1 -0
  264. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/ask-siri.svg +1 -0
  265. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-clear-search.png +0 -0
  266. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-close-2.png +0 -0
  267. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-close-learnmore.png +0 -0
  268. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-close.png +0 -0
  269. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-search-small.png +0 -0
  270. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-search.png +0 -0
  271. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-toc-rtl.png +0 -0
  272. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-toc-small-rtl.png +0 -0
  273. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-toc-small.png +0 -0
  274. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-toc-toggle-rtl.png +0 -0
  275. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-toc-toggle.png +0 -0
  276. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-toc.png +0 -0
  277. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/changelanguage_icon2x.png +0 -0
  278. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/force-click.svg +1 -0
  279. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-arrow-2.svg +1 -0
  280. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-arrow.png +0 -0
  281. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-close.svg +1 -0
  282. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-external-link-lg.png +0 -0
  283. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-external-link.png +0 -0
  284. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-pause.svg +1 -0
  285. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-play.svg +1 -0
  286. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-replay.svg +1 -0
  287. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-warning-black.png +0 -0
  288. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-warning-eu.png +0 -0
  289. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-warning.png +0 -0
  290. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-webclip-120x120.png +0 -0
  291. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-webclip-152x152.png +0 -0
  292. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-webclip-57x57.png +0 -0
  293. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-webclip-76x76.png +0 -0
  294. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-webclip-ipad.png +0 -0
  295. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-webclip-ipad_2x.png +0 -0
  296. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-webclip-iphone.png +0 -0
  297. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-webclip-iphone_2x.png +0 -0
  298. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/movie-play_2x.png +0 -0
  299. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/nav-left.svg +1 -0
  300. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/nav-paddle-left.png +0 -0
  301. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/nav-paddle-right.png +0 -0
  302. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/nav-right.svg +1 -0
  303. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/search_image_large.svg +1 -0
  304. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/tip.svg +1 -0
  305. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/toc_blue_large.svg +1 -0
  306. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/toc_large.svg +1 -0
  307. data/fixtures/middlemac_app/Contents/Resources/{Base.lproj/assets/stylesheets/_github.scss → SharedGlobalAssets/css/middlemac/github.css.scss} +0 -0
  308. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/middlemac/middlemac.css.scss +129 -0
  309. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/middlemac/note.svg +19 -0
  310. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/middlemac/tip.svg +1 -0
  311. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/middlemac/warning.svg +19 -0
  312. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/fonts/_dummy.txt +1 -0
  313. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/images/global_thing_32x32.png +0 -0
  314. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/js/app.5.1.27.js +6295 -0
  315. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/js/middlemac-debug.js +20 -0
  316. data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/js/vendor.js +226 -0
  317. data/fixtures/middlemac_app/Contents/Resources/en.lproj/10_hello_world_file.html.md.erb +17 -0
  318. data/fixtures/middlemac_app/Contents/Resources/en.lproj/30_sample_group_number_one/index.html.md.erb +8 -0
  319. data/fixtures/middlemac_app/Contents/Resources/en.lproj/30_sample_group_number_one/page_one.html.md.erb +108 -0
  320. data/fixtures/middlemac_app/Contents/Resources/en.lproj/30_sample_group_number_one/page_two.html.md.erb +36 -0
  321. data/fixtures/middlemac_app/Contents/Resources/{Base.lproj → en.lproj}/40_sample_group_number_two/01_nested_group_example/01_page_one.html.md.erb +0 -5
  322. data/fixtures/middlemac_app/Contents/Resources/{Base.lproj → en.lproj}/40_sample_group_number_two/01_nested_group_example/02_pagina_dos.html.md.erb +0 -5
  323. data/fixtures/middlemac_app/Contents/Resources/{Base.lproj → en.lproj}/40_sample_group_number_two/01_nested_group_example/03_page_san.html.md.erb +0 -5
  324. data/fixtures/middlemac_app/Contents/Resources/en.lproj/40_sample_group_number_two/01_nested_group_example/index.html.md.erb +4 -0
  325. data/fixtures/middlemac_app/Contents/Resources/{Base.lproj → en.lproj}/40_sample_group_number_two/02_page_two.html.md.erb +0 -5
  326. data/fixtures/middlemac_app/Contents/Resources/{Base.lproj → en.lproj}/40_sample_group_number_two/03_page_three.html.md.erb +0 -5
  327. data/fixtures/middlemac_app/Contents/Resources/en.lproj/40_sample_group_number_two/index.html.md.erb +4 -0
  328. data/fixtures/middlemac_app/Contents/Resources/en.lproj/50_testing_world_file.html.md.erb +58 -0
  329. data/fixtures/middlemac_app/Contents/Resources/en.lproj/60_goodbye_world_file.html.md.erb +203 -0
  330. data/fixtures/middlemac_app/Contents/Resources/en.lproj/ExactMatch.plist.erb +15 -0
  331. data/fixtures/middlemac_app/Contents/Resources/en.lproj/InfoPlist.strings.erb +10 -0
  332. data/fixtures/middlemac_app/Contents/Resources/{Base.lproj → en.lproj}/_new_style_partial.erb +0 -0
  333. data/fixtures/middlemac_app/Contents/Resources/en.lproj/asides/aside_description.html.md.erb +20 -0
  334. data/fixtures/middlemac_app/Contents/Resources/en.lproj/assets/_partials/_localized_partials_dir_partial.erb +1 -0
  335. data/fixtures/middlemac_app/Contents/Resources/en.lproj/assets/images/all-graphic_32x32.png +0 -0
  336. data/fixtures/middlemac_app/Contents/Resources/en.lproj/assets/images/neat_thing_32x32.png +0 -0
  337. data/fixtures/middlemac_app/Contents/Resources/en.lproj/assets/images/subdirectory/logo_32x32.png +0 -0
  338. data/fixtures/middlemac_app/Contents/Resources/en.lproj/assets/images/subdirectory/pro-image_32x32.png +0 -0
  339. data/fixtures/middlemac_app/Contents/Resources/en.lproj/copyright.html.md.erb +19 -0
  340. data/fixtures/middlemac_app/Contents/Resources/en.lproj/index.html.md.erb +20 -0
  341. data/fixtures/middlemac_app/Contents/Resources/en.lproj/index_hpd.html.md.erb +4 -0
  342. data/fixtures/middlemac_app/Contents/Resources/en.lproj/locale-info.json.erb +16 -0
  343. data/fixtures/middlemac_app/Contents/Resources/en.lproj/navigation.json.erb +57 -0
  344. data/fixtures/middlemac_app/Contents/Resources/en.lproj/searchTree.json.erb +1 -0
  345. data/fixtures/middlemac_app/Contents/Resources/es.lproj/10_hola_mundo_file.html.md.erb +15 -0
  346. data/fixtures/middlemac_app/Contents/Resources/es.lproj/60_goodbye_world_file.html.md.erb +193 -0
  347. data/fixtures/middlemac_app/Contents/Resources/es.lproj/ExactMatch.plist.erb +15 -0
  348. data/fixtures/middlemac_app/Contents/Resources/es.lproj/InfoPlist.strings.erb +10 -0
  349. data/fixtures/middlemac_app/Contents/Resources/es.lproj/assets/images/all-graphic_32x32.png +0 -0
  350. data/fixtures/middlemac_app/Contents/Resources/es.lproj/assets/images/neat_thing_32x32.png +0 -0
  351. data/fixtures/middlemac_app/Contents/Resources/es.lproj/assets/images/subdirectory/logo_32x32.png +0 -0
  352. data/fixtures/middlemac_app/Contents/Resources/es.lproj/assets/images/subdirectory/pro-image_32x32.png +0 -0
  353. data/fixtures/middlemac_app/Contents/Resources/es.lproj/copyright.html.md.erb +19 -0
  354. data/fixtures/middlemac_app/Contents/Resources/es.lproj/index.html.md.erb +21 -0
  355. data/fixtures/middlemac_app/Contents/Resources/es.lproj/index_hpd.html.md.erb +4 -0
  356. data/fixtures/middlemac_app/Contents/Resources/es.lproj/locale-info.json.erb +16 -0
  357. data/fixtures/middlemac_app/Contents/Resources/es.lproj/navigation.json.erb +57 -0
  358. data/fixtures/middlemac_app/Contents/Resources/es.lproj/searchTree.json.erb +1 -0
  359. data/fixtures/middlemac_app/Contents/Resources/index.html.erb +118 -0
  360. data/fixtures/middlemac_app/Contents/Resources/locale-list.json.erb +14 -0
  361. data/fixtures/middlemac_app/Gemfile +4 -17
  362. data/fixtures/middlemac_app/config.rb +82 -99
  363. data/fixtures/middlemac_app/makefile +93 -0
  364. data/fixtures/middlemac_app/middlemac.webloc +0 -0
  365. data/lib/middlemac.rb +4 -0
  366. data/lib/middlemac/extension.rb +152 -211
  367. data/lib/middlemac/helpers.rb +470 -0
  368. data/lib/middlemac/private.rb +497 -0
  369. data/lib/middlemac/sitemap.rb +516 -0
  370. data/lib/middlemac/trie-extension.rb +37 -0
  371. data/lib/middlemac/version.rb +1 -1
  372. data/middlemac.gemspec +25 -6
  373. data/resources/stopwords/ar.plist +206 -0
  374. data/resources/stopwords/ca.plist +0 -0
  375. data/resources/stopwords/cs.plist +30 -0
  376. data/resources/stopwords/da.plist +6 -0
  377. data/resources/stopwords/de.plist +119 -0
  378. data/resources/stopwords/el.plist +0 -0
  379. data/resources/stopwords/en.plist +0 -0
  380. data/resources/stopwords/es.plist +282 -0
  381. data/resources/stopwords/es_419.plist +282 -0
  382. data/resources/stopwords/fi.plist +206 -0
  383. data/resources/stopwords/fr.plist +132 -0
  384. data/resources/stopwords/he.plist +0 -0
  385. data/resources/stopwords/hr.plist +0 -0
  386. data/resources/stopwords/hu.plist +44 -0
  387. data/resources/stopwords/id.plist +6 -0
  388. data/resources/stopwords/it.plist +153 -0
  389. data/resources/stopwords/ja.plist +6 -0
  390. data/resources/stopwords/ko.plist +106 -0
  391. data/resources/stopwords/ms.plist +6 -0
  392. data/resources/stopwords/nl.plist +198 -0
  393. data/resources/stopwords/no.plist +207 -0
  394. data/resources/stopwords/pl.plist +207 -0
  395. data/resources/stopwords/pt.plist +207 -0
  396. data/resources/stopwords/pt_PT.plist +207 -0
  397. data/resources/stopwords/ro.plist +0 -0
  398. data/resources/stopwords/ru.plist +207 -0
  399. data/resources/stopwords/sk.plist +0 -0
  400. data/resources/stopwords/sv.plist +280 -0
  401. data/resources/stopwords/th.plist +56 -0
  402. data/resources/stopwords/tr.plist +200 -0
  403. data/resources/stopwords/uk.plist +764 -0
  404. data/resources/stopwords/vi.plist +6 -0
  405. data/resources/stopwords/zh_CN.plist +207 -0
  406. data/resources/stopwords/zh_TW.plist +207 -0
  407. data/yard/readme.md +4 -4
  408. metadata +423 -225
  409. data/documentation_project/Contents/Resources/Base.lproj/010_what_is_middlemac/index.html.md.erb +0 -126
  410. data/documentation_project/Contents/Resources/Base.lproj/030_skills_refresher/20_frontmatter_skill.html.md.erb +0 -54
  411. data/documentation_project/Contents/Resources/Base.lproj/030_skills_refresher/40_ruby_skill.html.md.erb +0 -67
  412. data/documentation_project/Contents/Resources/Base.lproj/030_skills_refresher/50_ruby_ecosystem.html.md.erb +0 -136
  413. data/documentation_project/Contents/Resources/Base.lproj/030_skills_refresher/index.html.md.erb +0 -35
  414. data/documentation_project/Contents/Resources/Base.lproj/040_setup/index.html.md.erb +0 -88
  415. data/documentation_project/Contents/Resources/Base.lproj/050_structure/010_directories_and_images.html.md.erb +0 -176
  416. data/documentation_project/Contents/Resources/Base.lproj/050_structure/020_layouts_and_templates.html.md.erb +0 -71
  417. data/documentation_project/Contents/Resources/Base.lproj/050_structure/025_css.html.md.erb +0 -71
  418. data/documentation_project/Contents/Resources/Base.lproj/050_structure/030_groups.html.md.erb +0 -83
  419. data/documentation_project/Contents/Resources/Base.lproj/050_structure/040_breadcrumbs.html.md.erb +0 -43
  420. data/documentation_project/Contents/Resources/Base.lproj/050_structure/050_navigator.html.md.erb +0 -26
  421. data/documentation_project/Contents/Resources/Base.lproj/050_structure/060_targets.html.md.erb +0 -63
  422. data/documentation_project/Contents/Resources/Base.lproj/050_structure/070_features.html.md.erb +0 -122
  423. data/documentation_project/Contents/Resources/Base.lproj/050_structure/index.html.md.erb +0 -21
  424. data/documentation_project/Contents/Resources/Base.lproj/060_content/010_frontmatter.html.md.erb +0 -88
  425. data/documentation_project/Contents/Resources/Base.lproj/060_content/040_partials.html.md.erb +0 -121
  426. data/documentation_project/Contents/Resources/Base.lproj/060_content/050_resources.html.md.erb +0 -60
  427. data/documentation_project/Contents/Resources/Base.lproj/060_content/070_including_excluding.html.md.erb +0 -68
  428. data/documentation_project/Contents/Resources/Base.lproj/060_content/080_markdown_links_images.html.md.erb +0 -93
  429. data/documentation_project/Contents/Resources/Base.lproj/060_content/090_css_image_sizes.html.md.erb +0 -90
  430. data/documentation_project/Contents/Resources/Base.lproj/060_content/index.html.md.erb +0 -21
  431. data/documentation_project/Contents/Resources/Base.lproj/070_preview_build/index.html.md.erb +0 -78
  432. data/documentation_project/Contents/Resources/Base.lproj/090_build_application/10_apple_help_setup.html.md.erb +0 -110
  433. data/documentation_project/Contents/Resources/Base.lproj/090_build_application/20_xcode_integration.html.md.erb +0 -64
  434. data/documentation_project/Contents/Resources/Base.lproj/090_build_application/index.html.md.erb +0 -25
  435. data/documentation_project/Contents/Resources/Base.lproj/100_reference/20_config_ref.html.md.erb +0 -56
  436. data/documentation_project/Contents/Resources/Base.lproj/100_reference/40_helpers_ref.html.md.erb +0 -45
  437. data/documentation_project/Contents/Resources/Base.lproj/100_reference/index.html.md.erb +0 -26
  438. data/documentation_project/Contents/Resources/Base.lproj/120_backwards_compatibility/index.html.md.erb +0 -88
  439. data/documentation_project/Contents/Resources/Base.lproj/130_all_help_content/index.html.md.erb +0 -15
  440. data/documentation_project/Contents/Resources/Base.lproj/assets/_layouts/layout-html4.haml +0 -22
  441. data/documentation_project/Contents/Resources/Base.lproj/assets/_layouts/layout-xhtml.haml +0 -28
  442. data/documentation_project/Contents/Resources/Base.lproj/assets/_layouts/template-logo-large.haml +0 -30
  443. data/documentation_project/Contents/Resources/Base.lproj/assets/_layouts/template-logo-medium.haml +0 -30
  444. data/documentation_project/Contents/Resources/Base.lproj/assets/_layouts/template-logo-small.haml +0 -30
  445. data/documentation_project/Contents/Resources/Base.lproj/assets/fonts/font-awesome/FontAwesome.otf +0 -0
  446. data/documentation_project/Contents/Resources/Base.lproj/assets/fonts/font-awesome/fontawesome-webfont.eot +0 -0
  447. data/documentation_project/Contents/Resources/Base.lproj/assets/fonts/font-awesome/fontawesome-webfont.svg +0 -655
  448. data/documentation_project/Contents/Resources/Base.lproj/assets/fonts/font-awesome/fontawesome-webfont.ttf +0 -0
  449. data/documentation_project/Contents/Resources/Base.lproj/assets/fonts/font-awesome/fontawesome-webfont.woff +0 -0
  450. data/documentation_project/Contents/Resources/Base.lproj/assets/fonts/font-awesome/fontawesome-webfont.woff2 +0 -0
  451. data/documentation_project/Contents/Resources/Base.lproj/assets/images/mm-extras/middlemac-extras-small.png +0 -0
  452. data/documentation_project/Contents/Resources/Base.lproj/assets/images/mm-extras/middlemac-extras-small@2x.png +0 -0
  453. data/documentation_project/Contents/Resources/Base.lproj/assets/images/mm-extras/middlemac-extras.png +0 -0
  454. data/documentation_project/Contents/Resources/Base.lproj/assets/images/mm-extras/middlemac-extras@2x.png +0 -0
  455. data/documentation_project/Contents/Resources/Base.lproj/assets/images/mm-extras/sub_images/middlemac-extras-small.png +0 -0
  456. data/documentation_project/Contents/Resources/Base.lproj/assets/images/mm-extras/sub_images/middlemac-extras-small@2x.png +0 -0
  457. data/documentation_project/Contents/Resources/Base.lproj/assets/images/mm-extras/sub_images/middlemac-extras.png +0 -0
  458. data/documentation_project/Contents/Resources/Base.lproj/assets/images/mm-extras/sub_images/middlemac-extras@2x.png +0 -0
  459. data/documentation_project/Contents/Resources/Base.lproj/assets/images/mm-pagegroups/middleman-pagegroups-small.png +0 -0
  460. data/documentation_project/Contents/Resources/Base.lproj/assets/images/mm-pagegroups/middleman-pagegroups.png +0 -0
  461. data/documentation_project/Contents/Resources/Base.lproj/assets/javascripts/all.js +0 -1
  462. data/documentation_project/Contents/Resources/Base.lproj/assets/partials/_nav_breadcrumbs.haml +0 -11
  463. data/documentation_project/Contents/Resources/Base.lproj/assets/partials/_nav_breadcrumbs_alt.haml +0 -15
  464. data/documentation_project/Contents/Resources/Base.lproj/assets/partials/_nav_brethren.haml +0 -18
  465. data/documentation_project/Contents/Resources/Base.lproj/assets/partials/_nav_brethren_index.haml +0 -14
  466. data/documentation_project/Contents/Resources/Base.lproj/assets/partials/_nav_legitimate_children.haml +0 -16
  467. data/documentation_project/Contents/Resources/Base.lproj/assets/partials/_nav_prev_next.haml +0 -21
  468. data/documentation_project/Contents/Resources/Base.lproj/assets/partials/_nav_toc_index.haml +0 -21
  469. data/documentation_project/Contents/Resources/Base.lproj/assets/partials/_yard_extras_config.erb +0 -200
  470. data/documentation_project/Contents/Resources/Base.lproj/assets/partials/_yard_extras_helpers.erb +0 -146
  471. data/documentation_project/Contents/Resources/Base.lproj/assets/partials/_yard_extras_helpers_extended.erb +0 -135
  472. data/documentation_project/Contents/Resources/Base.lproj/assets/partials/_yard_middlemac_config.erb +0 -207
  473. data/documentation_project/Contents/Resources/Base.lproj/assets/partials/_yard_middlemac_helpers.erb +0 -297
  474. data/documentation_project/Contents/Resources/Base.lproj/assets/partials/_yard_middlemac_helpers_extended.erb +0 -96
  475. data/documentation_project/Contents/Resources/Base.lproj/assets/partials/_yard_pagegroups_config.erb +0 -744
  476. data/documentation_project/Contents/Resources/Base.lproj/assets/partials/_yard_pagegroups_helpers.erb +0 -710
  477. data/documentation_project/Contents/Resources/Base.lproj/assets/partials/_yard_pagegroups_helpers_css.erb +0 -523
  478. data/documentation_project/Contents/Resources/Base.lproj/assets/partials/_yard_pagegroups_helpers_extended.erb +0 -56
  479. data/documentation_project/Contents/Resources/Base.lproj/assets/stylesheets/_apple_helpbook.scss +0 -946
  480. data/documentation_project/Contents/Resources/Base.lproj/assets/stylesheets/_normalize.scss +0 -374
  481. data/documentation_project/Contents/Resources/Base.lproj/assets/stylesheets/breadcrumb-separator-light.png +0 -0
  482. data/documentation_project/Contents/Resources/Base.lproj/assets/stylesheets/image_sizes.css.erb +0 -8
  483. data/documentation_project/Contents/Resources/Base.lproj/assets/stylesheets/style.css.scss +0 -4
  484. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/10_hello_world_file.html.md.erb +0 -22
  485. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/20_goodbye_world_file.html.md.erb +0 -22
  486. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/30_sample_group_number_one/index.html.md.erb +0 -24
  487. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/30_sample_group_number_one/page_one.html.md.erb +0 -20
  488. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/30_sample_group_number_one/page_two.html.md.erb +0 -19
  489. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/40_sample_group_number_two/01_nested_group_example/index.html.md.erb +0 -18
  490. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/40_sample_group_number_two/index.html.md.erb +0 -24
  491. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/45_testing_world_file.html.md.erb +0 -55
  492. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/50_entire_world_file.html.md.erb +0 -15
  493. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/_layouts/layout-html4.haml +0 -22
  494. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/_layouts/layout-xhtml.haml +0 -28
  495. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/_layouts/template-logo-large.haml +0 -30
  496. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/_layouts/template-logo-medium.haml +0 -30
  497. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/_layouts/template-logo-small.haml +0 -30
  498. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/fonts/font-awesome/FontAwesome.otf +0 -0
  499. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/fonts/font-awesome/fontawesome-webfont.eot +0 -0
  500. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/fonts/font-awesome/fontawesome-webfont.svg +0 -655
  501. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/fonts/font-awesome/fontawesome-webfont.ttf +0 -0
  502. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/fonts/font-awesome/fontawesome-webfont.woff +0 -0
  503. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/fonts/font-awesome/fontawesome-webfont.woff2 +0 -0
  504. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/images/_empty_directory.html.md.erb +0 -1
  505. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/javascripts/all.js +0 -1
  506. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/partials/_nav_breadcrumbs.haml +0 -11
  507. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/partials/_nav_breadcrumbs_alt.haml +0 -15
  508. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/partials/_nav_brethren.haml +0 -18
  509. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/partials/_nav_brethren_index.haml +0 -14
  510. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/partials/_nav_legitimate_children.haml +0 -16
  511. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/partials/_nav_prev_next.haml +0 -21
  512. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/partials/_nav_toc_index.haml +0 -21
  513. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/stylesheets/_apple_helpbook.scss +0 -946
  514. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/stylesheets/_normalize.scss +0 -374
  515. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/stylesheets/breadcrumb-separator-light.png +0 -0
  516. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/stylesheets/image_sizes.css.erb +0 -8
  517. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/stylesheets/style.css.scss +0 -4
  518. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/index.html.md.erb +0 -17
@@ -0,0 +1,64 @@
1
+ ---
2
+ title: Front Matter
3
+ blurb: <em>Middleman</em> (and hence <em>Middlemac</em>) source files use
4
+ front matter to control many features of pages.
5
+ layout: layout-apple-modern-aside
6
+ ---
7
+ <%= md_links %>
8
+ <%= md_images %>
9
+
10
+ <%= current_page.data.blurb %>
11
+
12
+ Front matter is a document header section in format called YAML that contains
13
+ key-value data that applies to a page. This data can be referred to later for
14
+ output or control. For example, the title of this page was specified with a
15
+ `title:` key in the source document’s front matter, and it was given a blurb
16
+ (used as the opening paragraph and also the `meta description` `content` value
17
+ for the page) via the `blurb:` key.
18
+
19
+ If you examine the source for this page, you might notice that there is no
20
+ `meta description` tag in the `head`; rest assured, it _is_ present in the
21
+ HTML file, and used by the Apple Help Indexer.
22
+ {: .note}
23
+
24
+ Front matter can also control page order within a section, inclusion of pages
25
+ for targets/features (provided by the `middleman-targets` gem), and more.
26
+
27
+ Here’s this document’s front matter:
28
+
29
+ ~~~ yaml
30
+ ---
31
+ title: Front Matter
32
+ blurb: _Middleman_ (and hence _Middlemac_) source files use front matter to
33
+ control many features of pages.
34
+ ---
35
+ ~~~
36
+
37
+ ## Declaring Front Matter
38
+
39
+ Front matter is defined as being delimited at the beginning and end with a line
40
+ consisting of a series of three hyphens (`-`), and this block must appear at the
41
+ top of a document.
42
+
43
+ Although specific front matter keys are discussed elsewhere in this
44
+ documentation it’s worth pointing out that the `title:` and `:blurb` are used
45
+ extensively in _Middlemac_. For example all of the automatic navigation
46
+ features are built using this data, meaning that this data need only appear
47
+ once, here, in this very document.
48
+
49
+
50
+ ## JSON Frontmatter
51
+
52
+ Recent versions of _Middleman_ support the use of JSON instead of YAML for
53
+ frontmatter. The following example show how this page’s frontmatter may have
54
+ been written instead:
55
+
56
+ ~~~ json
57
+ ;;;
58
+ "title": "Front Matter",
59
+ "blurb": "_Middleman_ (and hence _Middlemac_) source files use front matter to control many features of pages."
60
+ ;;;
61
+ ~~~
62
+
63
+ JSON is indicated with delimiting `;;;` instead of hyphens.
64
+ {: .note}
@@ -0,0 +1,4 @@
1
+ ---
2
+ title: Get Started
3
+ layout: layout-blank
4
+ ---
@@ -0,0 +1,204 @@
1
+ ---
2
+ title: Set Up your Help Project
3
+ blurb: Setting up your help project is the first step in <em>Middlemac</em>’s
4
+ workflow. Understand how configure your project and Xcode in this
5
+ article.
6
+ ---
7
+ <%= md_links %>
8
+ <%= md_images %>
9
+
10
+ <%= current_page.data.blurb %>
11
+
12
+ The file `config.rb` has settings which both affect how _Middleman_ operates as
13
+ well as how _Middlemac_ builds your Help Books. **If you follow the _Middlemac_
14
+ conventions, there should be no reason to change the _Middleman_ settings.**
15
+
16
+ When you open `config.rb` in your text editor, at the top you will readily
17
+ identify the start of the _Middlemac_ configuration section, which is delimited
18
+ by this block at the beginning:
19
+
20
+ ~~~ ruby
21
+ ################################################################################
22
+ # config.rb
23
+ # Configure Middleman to generate Apple Help Book containers for multiple
24
+ # targets.
25
+ ################################################################################
26
+ ~~~
27
+
28
+ And terminated by this block at the end:
29
+
30
+ ~~~ ruby
31
+ ################################################################
32
+ # STOP! There's nothing below here that you should have to
33
+ # change. Just follow the conventions and framework provided.
34
+ ################################################################
35
+ ~~~
36
+
37
+ ## Sections
38
+
39
+ Because _Middlemac_ is made from a few different components, its key
40
+ configuration is performed in a couple of different blocks. The file is also
41
+ very well commented, and the [API Reference][config_ref] contains specific
42
+ documentation for each setting.
43
+
44
+ However the `targets` hash bears explaining.
45
+
46
+ ## The `targets` hash explained
47
+
48
+ At first the `targets` option looks complicated in that it consists of nested
49
+ hashes, but the format is quite simple to get used to. Each root level item
50
+ in `targets` consists of the following items, which are unique for each target.
51
+
52
+ `:CFBundleID`
53
+ : **Each help target must have a unique `CFBundleID` that matches a unique
54
+ `CFBundleHelpBookName` in your applications’ `Info.plist` files**. This
55
+ pairing is the mechanism by which macOS knows which help bundle belongs
56
+ to which application. If they are not unique, macOS _will_ become
57
+ confused, and your end-users, if they have multiple versions of your product
58
+ installed, will not be very satisfied.
59
+
60
+ `:HPDBookIconPath`
61
+ : If specified, a target-specific icon will be used as the Help Book icon by
62
+ Apple’s Help Viewer. This path must be relative to the location of the
63
+ `Info.plist` file per Apple’s specification. If `nil` (or not present)
64
+ then the default `SharedGlobalAssets/convention/icon_32x32@2x.png` will be
65
+ used.
66
+
67
+ `:CFBundleName`
68
+ : This value will be used for correct `.plists` and `.strings` setup, and will
69
+ determine final `.help` directory name. All targets should use the same
70
+ `:CFBundleName`. Built targets will be named `CFBundleName_(target).help`.
71
+ This is *not* intended to be a product name, which is defined below.
72
+
73
+ `:ProductName`
74
+ `:ProductVersion`
75
+ `:ProductURI`
76
+ `:ProductCopyright`
77
+ : The default templates use these in a prominent way, and they’re also
78
+ available to you using _Middlemac_’s helpers.
79
+
80
+ `:Features`
81
+ : Aside from **targets** the use of **features** can give you fine-grained
82
+ control over what content appears in each target. It’s considered a
83
+ best-practice to include all of the same features in the hash for each
84
+ target, and specify a boolean (true/false) value for each key, as
85
+ appropriate for your target. _Middlemac_ documentation has four features
86
+ defined.
87
+ {: .width25}
88
+
89
+
90
+
91
+ CFBundleName and Targets
92
+ ------------------------
93
+
94
+ The first thing we need to do is come up with a `CFBundleName` for our help
95
+ projects, and decide what the targets are going to be. This will help us setup
96
+ Xcode shortly.
97
+
98
+ Xcode doesn’t know or care what the help bundle’s `CFBundleName` is, but
99
+ _Middlemac_ uses it and the target to name the final, built help bundle, and
100
+ Xcode _does_ have to know the name of those.
101
+
102
+ All of your targets will share the same `CFBundleName`, so it should be
103
+ descriptive of all of your targets and related to your product name. If the
104
+ examples on this page, we’ll use `Middlemac`. This project also has the
105
+ targets `pro` and `free`. What this means is _Middlemac_ will build help
106
+ bundles named `Middlemac_(pro).help` and `Middlemac_(free).help`.
107
+
108
+ If your `CFBundleName` contains any space characters, they will be replaced
109
+ during build with underscores. This ensures that if you use `make` (e.g., such
110
+ as from within Xcode) to build your Help Books, `make`’s broken handling of
111
+ spaces won’t prevent a build.
112
+ {: .note .callout}
113
+
114
+
115
+ CFBundleID and Targets
116
+ ----------------------
117
+
118
+ You will also have to have unique bundle identifiers for each of your Help
119
+ Book targets, and you will have to have these available when you set up your
120
+ `Info.plist` files in Xcode.
121
+
122
+ As is standard with BundleID’s, reverse DNS notation is preferred. This
123
+ documentation project uses `com.balthisar.middlemac.free.help` and
124
+ `com.balthisar.middlemac.pro.help` for its two targets.
125
+
126
+ Let’s use this information and start to set up Xcode.
127
+
128
+
129
+ Xcode Configuration
130
+ -------------------
131
+
132
+ ### Add Files
133
+
134
+ Let’s first tell your Xcode application targets that the help bundle files are
135
+ available. In your Xcode project, create folders named `Middlemac_(pro).help`
136
+ and `Middlemac_(free).help`. They typically go into your project’s
137
+ `Resources/` folder. Mac OS will automatically display them as bundles. For
138
+ now, these are just proxies for the bundles we’ll build later.
139
+
140
+ Help Books are bundles with their own localizations inside of them. Don’t put
141
+ Help Books in your application’s localized folders such as `Base.lproj/` or
142
+ `en.lproj/`. Putting them into `Resources/` is the right thing to do.
143
+ {: .tip .callout}
144
+
145
+ Next you can add these files to Xcode the usual way (“Add files…”). **Make
146
+ sure you add these by creating folder references. This is critical.** If you
147
+ are able to browse the folder contents in Xcode, then they were not properly
148
+ added and will not properly copy into the final application bundle.
149
+
150
+ Assuming you have a Pro and Free target in Xcode, you can use the file
151
+ inspector to make sure the Pro `.help` and the Free `.help` have the
152
+ appropriate, obvious target memberships.
153
+
154
+ ### Configure your applications’ `Info.plist` files
155
+
156
+ If you have multiple Xcode targets, you may be using a different `Info.plist`
157
+ file for each target. If not, then you’ll have to start because they contain
158
+ information unique to each Help Book.
159
+
160
+ Alternatively you can setup an `Info.plist` pre-processor (this is my
161
+ preferred approach) that generates an `Info.plist` for each target when you
162
+ build. _That’s_ beyond the scope of this document, though. You can begin by
163
+ looking at your Xcode targets’ **Build Settings -> Packaging**.
164
+ {: .tip .callout}
165
+
166
+ In each of your `Info.plist` files, find or create the following keys:
167
+
168
+ `Help Book directory name` (`CFBundleHelpBookFolder`)
169
+
170
+ : Ensure you use the appropriate `Middlemac_(pro).help` or
171
+ `Middlemac_(free).help`, depending on which target’s `.plist` this is.
172
+
173
+ `Help Book identifier` (`CFBundleHelpBookName`)
174
+
175
+ : This must match the unique `CFBundleID` that you set for each of your
176
+ help targets in the help project’s `config.rb` file. If you’ve not setup
177
+ the `config.rb` yet, now is a good time to decide on the keys that you will
178
+ use.
179
+
180
+ This sample project uses `com.balthisar.middlemac.free.help` and
181
+ `com.balthisar.middlemac.pro.help`.
182
+ {: .nontabular}
183
+
184
+
185
+ Setup `config.rb` and especially `options.help_output_location`
186
+ -------------------------------------------------------------------
187
+
188
+ Next make sure you setup `config.rb` with matching values from above.
189
+
190
+ We setup empty proxy `.help` bundles for Xcode above. Make sure that you set
191
+ your `config.rb`’s `options.help_output_location` to the directory that you
192
+ created the proxy files. Then, any time you build your help projects with
193
+ _Middlemac_, they will be ready to go in Xcode automatically, the next time
194
+ you build your Xcode project.
195
+
196
+
197
+ _Middlemac_ takes care of everything else
198
+ -----------------------------------------
199
+
200
+ Once your `config.rb` is setup, _Middlemac_ takes care of setting all of the
201
+ required keys and data in all of the help bundle `.plist`, `.strings`, and
202
+ main `index.html` file, managing them for each target.
203
+
204
+
@@ -3,17 +3,13 @@ title: File Types
3
3
  blurb: <em>Middleman</em> uses several filetypes to get its job done. An
4
4
  understanding of their differences is important to your successful use
5
5
  of <em>Middlemac</em>.
6
- layout: template-logo-medium
7
6
  ---
8
7
  <%= md_links %>
9
8
  <%= md_images %>
10
9
 
11
- <%= current_page.data.title %>
12
- ==============================
13
-
14
10
  <%= current_page.data.blurb %>
15
11
 
16
- Although you can use static `.html` files to build your help book, you would be
12
+ Although you can use static `.html` files to build your Help Book, you would be
17
13
  sacrificing a lot of _Middleman_’s utility to do so, because static html is
18
14
  simply copied to your build directory as-is, with no opportunity to take
19
15
  advantages of the infrastructure that _Middleman_ and _Middlemac_ offer you.
@@ -43,11 +39,11 @@ extensions and will process them accordingly.
43
39
 
44
40
  `.haml`
45
41
 
46
- : The “HTML abstraction markup language” excels at enforcing structure in your
47
- HTML-target documents, and is clutter-free and easy to read. It supports
48
- many built-in filters for including content in Ruby, Markdown, raw source
49
- code, and more. _Middlemac_’s templates, layouts, and partials are written
50
- in HAML.
42
+ : The “HTML abstraction markup language” excels at enforcing structure in
43
+ your HTML-target documents, and is clutter-free and easy to read. It
44
+ supports many built-in filters for including content in Ruby, Markdown,
45
+ raw source code, and more. _Middlemac_’s layouts are written in HAML, but
46
+ you probably won’t use it for your own HTML documents.
51
47
 
52
48
  You can learn more about HAML on [its website](http://haml.info/).
53
49
 
@@ -68,7 +64,7 @@ extensions and will process them accordingly.
68
64
  and SCSS is the file format.
69
65
 
70
66
  You can learn more about SASS on [its website](http://sass-lang.com/).
71
-
67
+ {: .width25}
72
68
 
73
69
  Files with a leading underscore
74
70
  -------------------------------
@@ -0,0 +1,206 @@
1
+ ---
2
+ title: Directory Conventions
3
+ blurb: Learn about proper structure for your directory hierarchy, filenames,
4
+ and image locations, and discover some best practices related to
5
+ paths.
6
+ ---
7
+ <%= md_links %>
8
+ <%= md_images %>
9
+
10
+ You will have noticed by now that your content root appears to be two levels
11
+ below the actual project root. This is a result of the Apple Help directory
12
+ structure. Remember, _Middleman_ depends on building an output project that
13
+ mirrors the input project. In order for links, images, and other content to
14
+ be accessed properly, _Middlemac_ uses Apple’s convention.
15
+
16
+ Fortunately once inside the `en.lproj` directory (or the directory of the
17
+ locale for which you’re developing), we -- as Help Book developers -- are free
18
+ to organize files as we see fit, despite the examples you may have seen in
19
+ Apple’s documentation. _Middlemac_, though, has setup a hierarchy that “just
20
+ works,” and the explanation follows. Starting at the top, let’s look at a
21
+ _Middleman_ project layout so that you can determine where to put your files.
22
+ Also don’t forget to have a look later at the
23
+ [Directory and File Reference][directory_reference] topic for additional
24
+ information about these directories and the specific files within them.
25
+
26
+ `Contents/`
27
+
28
+ : Contains everything in your help project that will be compiled into or
29
+ contribute to the final `.help` project.
30
+
31
+ `Contents/Resources/SharedGlobalAssets/`
32
+
33
+ : This directory contains assets that are common between all of your
34
+ different help language projects, as well as assets that _Middlemac_
35
+ requires by convention, such as Apple’s CSS and JavaScripts, certain image
36
+ files, data files, layouts, and so on. Full reference documentation is
37
+ available in the [Directory Layout][directory_reference] topic.
38
+
39
+
40
+ `Contents/Resources/SharedGlobalAssets/_data/`
41
+
42
+ : This directory contains data files that you can use to supply data for
43
+ [using local data][local_data]. This directory will not be output in the
44
+ final build.
45
+
46
+ `Contents/Resources/SharedGlobalAssets/_layouts/`
47
+
48
+ : All layouts exist here. This directory will not be output in the final
49
+ build. In general, you should have no reason to add additional layouts
50
+ when building current Apple Help Books.
51
+
52
+ `Contents/Resources/SharedGlobalAssets/_partials/`
53
+
54
+ : Partials can go here, and should be prefaced with an underscore so that
55
+ they will not generate build output. Partial files can also be included
56
+ in any other directory, too. This is for organizational convenience of
57
+ common partials that may be used anywhere.
58
+
59
+ `Contents/Resources/SharedGlobalAssets/convention/`
60
+
61
+ : Images that the Apple Help Book and _Middlemac_ require by convention go
62
+ here. This is separate from the `images/` directory simply to make
63
+ directory management simpler by avoiding the mixing of required and
64
+ non-required files. _Middleman_ helpers will find images that are in
65
+ this location automatically, if needed.
66
+
67
+
68
+ `Contents/Resources/SharedGlobalAssets/css/`
69
+
70
+ : Your `.css` and `.scss` files, if any, should go here. They will not be
71
+ included automatically in your project unless you modify the main
72
+ `index.html` file to include them.
73
+
74
+
75
+ `Contents/Resources/SharedGlobalAssets/fonts/`
76
+
77
+ : Any fonts that you wish to include should go here. In general if you are
78
+ building an Apple Help Book, additional fonts should not be needed.
79
+
80
+
81
+ `Contents/Resources/SharedGlobalAssets/images/`
82
+
83
+ : All images should go here. _Middleman_ will find them automatically if
84
+ you use the helpers.
85
+
86
+
87
+ `Contents/Resources/SharedGlobalAssets/js/`
88
+
89
+ : Javascripts, if any, should go here. They will not be included
90
+ automatically in your project unless you modify the main `index.html`
91
+ file to include them.
92
+
93
+
94
+ `Contents/Resources/en.lproj`
95
+
96
+ : This directory serves as your base [group][groups] for the English version
97
+ of your Help Book, and it contains all of your Help Book’s content,
98
+ including locale-specific versions of your resources.
99
+
100
+ Any other files that result in `.html` in this directory level, except for
101
+ `index.html` constitute part of the `en.lproj` group. At this level you
102
+ should start adding directories to contain your other groups.
103
+
104
+ Certainly, you’re not required to develop in English, and _Middlemac_
105
+ supports multiple languages simultaneously. See **Locale Directories**,
106
+ below.
107
+
108
+
109
+ `Contents/Resources/en.lproj/assets/`
110
+
111
+ : This directory contains all of the localized assets used in your Help Book.
112
+ In order for _Middlemac_’s asset helpers such as `image_tag` and `partial`
113
+ to find localized resources, and subdirectories of `assets/` must mirror
114
+ the subdirectories of `SharedGlobalAssets/`, e.g., `assets/images/`.
115
+
116
+
117
+ `Contents/Resources/en.lproj/asides/`
118
+
119
+ : This optional directory can be used to house your `.html.md.erb` files that
120
+ you use for the Help Book _asides_ feature. Any asides in this directory
121
+ will have the correct layout applied to them automatically, meaning that
122
+ it won’t be necessary to specify `layout: layout-apple-modern-aside` in
123
+ these files’ frontmatter.
124
+ {: .nontabular}
125
+
126
+
127
+ Locale Directories
128
+ ------------------
129
+
130
+ Throughout this documentation we assume the use of the English locale, with
131
+ your localized files placed into `en.lproj`. Apple’s JavaScripts do not
132
+ support the use of `Base.lproj` or development regions, and so development in
133
+ other languages must take place in language specific directories, as defined
134
+ in `SharedGlobalAssets/_data/locale-list.json`:
135
+
136
+ | Name | ISO Name | Directory
137
+ |-----------------------|-------------------------|-----------------------
138
+ <% data[:'locale-list'].each do |locale| %>
139
+ | <%= locale[:name] %> | <%= locale[:isoName] %> | <%= locale[:folder] %>
140
+ <% end %>
141
+
142
+ The file `SharedGlobalAssets/_data/locale-list.json` is as it was provided by
143
+ Apple; you are free to modify this file if you wish to add a localization that
144
+ is not already present.
145
+ {: .tip .callout}
146
+
147
+ To rename an existing locale in your project, simply rename the `.lproj` folder
148
+ to one of the supported folder names above. Everything else will be taken care
149
+ of automatically when you build your project.
150
+
151
+ To create an additional locale, create a new folder in `Resources/` with one of
152
+ the supported names from the table above, and then copy into this new folder
153
+ the following files from the `en.lproj` folder:
154
+
155
+ - `ExactMatch.plist.erb`
156
+ - `InfoPlist.strings.erb`
157
+ - `locale-info.json.erb`
158
+ - `navigation.json.erb`
159
+ - `searchTree.json.erb`
160
+
161
+
162
+ Images
163
+ ------
164
+
165
+ Most images, of course, should go into the `images` directory of your locale’s
166
+ `assets` folder or `SharedGlobalAssets/images`.
167
+
168
+ However _Middlemac_ also depends on some magic images being placed in
169
+ `SharedGlobalAssets/convention/`:
170
+
171
+ `icon_32x32.png`
172
+ `icon_32x32@2x.png`
173
+
174
+ : These files are your help file icon at 32 × 32 pixels and @2x, and will be
175
+ used by the included layouts automatically. More importantly, however, your
176
+ main landing page is linked to this icon so that Apple Help Viewer knows what
177
+ the help icon is.
178
+
179
+ `icon_256x256.png`
180
+ `icon_256x256@2x.png`
181
+
182
+ : The same as above, but at 256 × 256 pixels and @2x.
183
+
184
+ `icon-webclip-*.png`
185
+
186
+ : These assets are used automatically by Apple Help when serving help content
187
+ to a browser, typically on a mobile device.
188
+
189
+
190
+ ### Images Organization
191
+
192
+ When your content images are located in the `SharedGlobalAssets/images/`
193
+ directory or your `en.lproj/assets/images/` directory (or directory as
194
+ appropriate to your locale), then _Middleman_’s [helpers][helpers] can find
195
+ them automatically without any worry about relative or absolute file paths.
196
+
197
+ Images specified without paths are sought first in your `language.lproj/`
198
+ directory, then `SharedGlobalAssets/images/`, and then finally in
199
+ `SharedGlobalAssets/convention`.
200
+
201
+ ### Image Paths
202
+
203
+ Apple’s JavaScript rewrites image paths to make them load properly from
204
+ the main `index.html` file. Thus, when _Middlemac_ builds your pages, images
205
+ will be root-relative when you examine the source, but relative to the main
206
+ `index.html` when examined in your browser’s debugging tools.