middlemac 2.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 (230) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +24 -0
  3. data/.yardopts +7 -0
  4. data/CHANGELOG.md +43 -0
  5. data/Gemfile +18 -0
  6. data/LICENSE.md +22 -0
  7. data/README.md +225 -0
  8. data/Rakefile +213 -0
  9. data/bin/middlemac +103 -0
  10. data/documentation_project/.gitignore +37 -0
  11. data/documentation_project/Contents/Info.plist.erb +42 -0
  12. data/documentation_project/Contents/Resources/Base.lproj/010_what_is_middlemac/index.html.md.erb +126 -0
  13. data/documentation_project/Contents/Resources/Base.lproj/020_setup_tutorial/index.html.md.erb +168 -0
  14. data/documentation_project/Contents/Resources/Base.lproj/030_skills_refresher/10_markdown_skill.html.md.erb +63 -0
  15. data/documentation_project/Contents/Resources/Base.lproj/030_skills_refresher/20_frontmatter_skill.html.md.erb +54 -0
  16. data/documentation_project/Contents/Resources/Base.lproj/030_skills_refresher/30_middleman_skill.html.md.erb +93 -0
  17. data/documentation_project/Contents/Resources/Base.lproj/030_skills_refresher/40_ruby_skill.html.md.erb +67 -0
  18. data/documentation_project/Contents/Resources/Base.lproj/030_skills_refresher/50_ruby_ecosystem.html.md.erb +136 -0
  19. data/documentation_project/Contents/Resources/Base.lproj/030_skills_refresher/60_filetypes_skill.html.md.erb +165 -0
  20. data/documentation_project/Contents/Resources/Base.lproj/030_skills_refresher/index.html.md.erb +35 -0
  21. data/documentation_project/Contents/Resources/Base.lproj/040_setup/index.html.md.erb +88 -0
  22. data/documentation_project/Contents/Resources/Base.lproj/050_structure/010_directories_and_images.html.md.erb +176 -0
  23. data/documentation_project/Contents/Resources/Base.lproj/050_structure/020_layouts_and_templates.html.md.erb +71 -0
  24. data/documentation_project/Contents/Resources/Base.lproj/050_structure/025_css.html.md.erb +71 -0
  25. data/documentation_project/Contents/Resources/Base.lproj/050_structure/030_groups.html.md.erb +83 -0
  26. data/documentation_project/Contents/Resources/Base.lproj/050_structure/040_breadcrumbs.html.md.erb +43 -0
  27. data/documentation_project/Contents/Resources/Base.lproj/050_structure/050_navigator.html.md.erb +26 -0
  28. data/documentation_project/Contents/Resources/Base.lproj/050_structure/060_targets.html.md.erb +63 -0
  29. data/documentation_project/Contents/Resources/Base.lproj/050_structure/070_features.html.md.erb +122 -0
  30. data/documentation_project/Contents/Resources/Base.lproj/050_structure/index.html.md.erb +21 -0
  31. data/documentation_project/Contents/Resources/Base.lproj/050_structure/not_free.html.md.erb +43 -0
  32. data/documentation_project/Contents/Resources/Base.lproj/050_structure/not_pro.html.md.erb +43 -0
  33. data/documentation_project/Contents/Resources/Base.lproj/060_content/010_frontmatter.html.md.erb +88 -0
  34. data/documentation_project/Contents/Resources/Base.lproj/060_content/030_helpers.html.md.erb +247 -0
  35. data/documentation_project/Contents/Resources/Base.lproj/060_content/040_partials.html.md.erb +121 -0
  36. data/documentation_project/Contents/Resources/Base.lproj/060_content/050_resources.html.md.erb +60 -0
  37. data/documentation_project/Contents/Resources/Base.lproj/060_content/070_including_excluding.html.md.erb +68 -0
  38. data/documentation_project/Contents/Resources/Base.lproj/060_content/080_markdown_links_images.html.md.erb +93 -0
  39. data/documentation_project/Contents/Resources/Base.lproj/060_content/090_css_image_sizes.html.md.erb +90 -0
  40. data/documentation_project/Contents/Resources/Base.lproj/060_content/100_using_local_data.html.md.erb +37 -0
  41. data/documentation_project/Contents/Resources/Base.lproj/060_content/index.html.md.erb +21 -0
  42. data/documentation_project/Contents/Resources/Base.lproj/070_preview_build/index.html.md.erb +78 -0
  43. data/documentation_project/Contents/Resources/Base.lproj/090_build_application/10_apple_help_setup.html.md.erb +110 -0
  44. data/documentation_project/Contents/Resources/Base.lproj/090_build_application/20_xcode_integration.html.md.erb +64 -0
  45. data/documentation_project/Contents/Resources/Base.lproj/090_build_application/index.html.md.erb +25 -0
  46. data/documentation_project/Contents/Resources/Base.lproj/100_reference/10_cli_ref.html.md.erb +72 -0
  47. data/documentation_project/Contents/Resources/Base.lproj/100_reference/20_config_ref.html.md.erb +56 -0
  48. data/documentation_project/Contents/Resources/Base.lproj/100_reference/30_helpers_ext_ref.html.md.erb +51 -0
  49. data/documentation_project/Contents/Resources/Base.lproj/100_reference/40_helpers_ref.html.md.erb +45 -0
  50. data/documentation_project/Contents/Resources/Base.lproj/100_reference/50_resource_ext_ref.html.md.erb +25 -0
  51. data/documentation_project/Contents/Resources/Base.lproj/100_reference/index.html.md.erb +26 -0
  52. data/documentation_project/Contents/Resources/Base.lproj/110_acknowledgements/index.html.md.erb +61 -0
  53. data/documentation_project/Contents/Resources/Base.lproj/120_backwards_compatibility/index.html.md.erb +88 -0
  54. data/documentation_project/Contents/Resources/Base.lproj/130_all_help_content/index.html.md.erb +15 -0
  55. data/documentation_project/Contents/Resources/Base.lproj/InfoPlist.strings.erb +10 -0
  56. data/documentation_project/Contents/Resources/Base.lproj/assets/_data/globals.yml +11 -0
  57. data/documentation_project/Contents/Resources/Base.lproj/assets/_layouts/layout-html4.haml +22 -0
  58. data/documentation_project/Contents/Resources/Base.lproj/assets/_layouts/layout-xhtml.haml +28 -0
  59. data/documentation_project/Contents/Resources/Base.lproj/assets/_layouts/template-logo-large.haml +30 -0
  60. data/documentation_project/Contents/Resources/Base.lproj/assets/_layouts/template-logo-medium.haml +30 -0
  61. data/documentation_project/Contents/Resources/Base.lproj/assets/_layouts/template-logo-small.haml +30 -0
  62. data/documentation_project/Contents/Resources/Base.lproj/assets/fonts/font-awesome/FontAwesome.otf +0 -0
  63. data/documentation_project/Contents/Resources/Base.lproj/assets/fonts/font-awesome/fontawesome-webfont.eot +0 -0
  64. data/documentation_project/Contents/Resources/Base.lproj/assets/fonts/font-awesome/fontawesome-webfont.svg +655 -0
  65. data/documentation_project/Contents/Resources/Base.lproj/assets/fonts/font-awesome/fontawesome-webfont.ttf +0 -0
  66. data/documentation_project/Contents/Resources/Base.lproj/assets/fonts/font-awesome/fontawesome-webfont.woff +0 -0
  67. data/documentation_project/Contents/Resources/Base.lproj/assets/fonts/font-awesome/fontawesome-webfont.woff2 +0 -0
  68. data/documentation_project/Contents/Resources/Base.lproj/assets/images/all-sample.png +0 -0
  69. data/documentation_project/Contents/Resources/Base.lproj/assets/images/all-sample@2x.png +0 -0
  70. data/documentation_project/Contents/Resources/Base.lproj/assets/images/free-middlemac-logo-small.png +0 -0
  71. data/documentation_project/Contents/Resources/Base.lproj/assets/images/free-middlemac-logo-small@2x.png +0 -0
  72. data/documentation_project/Contents/Resources/Base.lproj/assets/images/free-middlemac-logo.png +0 -0
  73. data/documentation_project/Contents/Resources/Base.lproj/assets/images/free-middlemac-logo@2x.png +0 -0
  74. data/documentation_project/Contents/Resources/Base.lproj/assets/images/middlemac-logo-small.png +0 -0
  75. data/documentation_project/Contents/Resources/Base.lproj/assets/images/middlemac-logo-small@2x.png +0 -0
  76. data/documentation_project/Contents/Resources/Base.lproj/assets/images/middlemac-logo.png +0 -0
  77. data/documentation_project/Contents/Resources/Base.lproj/assets/images/middlemac-logo@2x.png +0 -0
  78. data/documentation_project/Contents/Resources/Base.lproj/assets/images/mm-extras/middlemac-extras-small.png +0 -0
  79. data/documentation_project/Contents/Resources/Base.lproj/assets/images/mm-extras/middlemac-extras-small@2x.png +0 -0
  80. data/documentation_project/Contents/Resources/Base.lproj/assets/images/mm-extras/middlemac-extras.png +0 -0
  81. data/documentation_project/Contents/Resources/Base.lproj/assets/images/mm-extras/middlemac-extras@2x.png +0 -0
  82. data/documentation_project/Contents/Resources/Base.lproj/assets/images/mm-extras/sub_images/middlemac-extras-small.png +0 -0
  83. data/documentation_project/Contents/Resources/Base.lproj/assets/images/mm-extras/sub_images/middlemac-extras-small@2x.png +0 -0
  84. data/documentation_project/Contents/Resources/Base.lproj/assets/images/mm-extras/sub_images/middlemac-extras.png +0 -0
  85. data/documentation_project/Contents/Resources/Base.lproj/assets/images/mm-extras/sub_images/middlemac-extras@2x.png +0 -0
  86. data/documentation_project/Contents/Resources/Base.lproj/assets/images/mm-pagegroups/middleman-pagegroups-small.png +0 -0
  87. data/documentation_project/Contents/Resources/Base.lproj/assets/images/mm-pagegroups/middleman-pagegroups.png +0 -0
  88. data/documentation_project/Contents/Resources/Base.lproj/assets/images/mm-targets/free-logo-small.png +0 -0
  89. data/documentation_project/Contents/Resources/Base.lproj/assets/images/mm-targets/free-logo-small@2x.png +0 -0
  90. data/documentation_project/Contents/Resources/Base.lproj/assets/images/mm-targets/free-logo.png +0 -0
  91. data/documentation_project/Contents/Resources/Base.lproj/assets/images/mm-targets/free-logo@2x.png +0 -0
  92. data/documentation_project/Contents/Resources/Base.lproj/assets/images/mm-targets/pro-logo-small.png +0 -0
  93. data/documentation_project/Contents/Resources/Base.lproj/assets/images/mm-targets/pro-logo-small@2x.png +0 -0
  94. data/documentation_project/Contents/Resources/Base.lproj/assets/images/mm-targets/pro-logo.png +0 -0
  95. data/documentation_project/Contents/Resources/Base.lproj/assets/images/mm-targets/pro-logo@2x.png +0 -0
  96. data/documentation_project/Contents/Resources/Base.lproj/assets/images/pro-middlemac-logo-small.png +0 -0
  97. data/documentation_project/Contents/Resources/Base.lproj/assets/images/pro-middlemac-logo-small@2x.png +0 -0
  98. data/documentation_project/Contents/Resources/Base.lproj/assets/images/pro-middlemac-logo.png +0 -0
  99. data/documentation_project/Contents/Resources/Base.lproj/assets/images/pro-middlemac-logo@2x.png +0 -0
  100. data/documentation_project/Contents/Resources/Base.lproj/assets/javascripts/all.js +1 -0
  101. data/documentation_project/Contents/Resources/Base.lproj/assets/partials/_nav_breadcrumbs.haml +11 -0
  102. data/documentation_project/Contents/Resources/Base.lproj/assets/partials/_nav_breadcrumbs_alt.haml +15 -0
  103. data/documentation_project/Contents/Resources/Base.lproj/assets/partials/_nav_brethren.haml +18 -0
  104. data/documentation_project/Contents/Resources/Base.lproj/assets/partials/_nav_brethren_index.haml +14 -0
  105. data/documentation_project/Contents/Resources/Base.lproj/assets/partials/_nav_legitimate_children.haml +16 -0
  106. data/documentation_project/Contents/Resources/Base.lproj/assets/partials/_nav_prev_next.haml +21 -0
  107. data/documentation_project/Contents/Resources/Base.lproj/assets/partials/_nav_toc_index.haml +21 -0
  108. data/documentation_project/Contents/Resources/Base.lproj/assets/partials/_yard_extras_config.erb +200 -0
  109. data/documentation_project/Contents/Resources/Base.lproj/assets/partials/_yard_extras_helpers.erb +146 -0
  110. data/documentation_project/Contents/Resources/Base.lproj/assets/partials/_yard_extras_helpers_extended.erb +135 -0
  111. data/documentation_project/Contents/Resources/Base.lproj/assets/partials/_yard_middlemac_config.erb +207 -0
  112. data/documentation_project/Contents/Resources/Base.lproj/assets/partials/_yard_middlemac_helpers.erb +297 -0
  113. data/documentation_project/Contents/Resources/Base.lproj/assets/partials/_yard_middlemac_helpers_extended.erb +96 -0
  114. data/documentation_project/Contents/Resources/Base.lproj/assets/partials/_yard_pagegroups_config.erb +744 -0
  115. data/documentation_project/Contents/Resources/Base.lproj/assets/partials/_yard_pagegroups_helpers.erb +710 -0
  116. data/documentation_project/Contents/Resources/Base.lproj/assets/partials/_yard_pagegroups_helpers_css.erb +523 -0
  117. data/documentation_project/Contents/Resources/Base.lproj/assets/partials/_yard_pagegroups_helpers_extended.erb +56 -0
  118. data/documentation_project/Contents/Resources/Base.lproj/assets/partials/_yard_pagegroups_resources.erb +540 -0
  119. data/documentation_project/Contents/Resources/Base.lproj/assets/partials/_yard_targets_config.erb +402 -0
  120. data/documentation_project/Contents/Resources/Base.lproj/assets/partials/_yard_targets_helpers.erb +235 -0
  121. data/documentation_project/Contents/Resources/Base.lproj/assets/partials/_yard_targets_helpers_extended.erb +138 -0
  122. data/documentation_project/Contents/Resources/Base.lproj/assets/partials/_yard_targets_instance.erb +81 -0
  123. data/documentation_project/Contents/Resources/Base.lproj/assets/partials/_yard_targets_resources.erb +109 -0
  124. data/documentation_project/Contents/Resources/Base.lproj/assets/stylesheets/_apple_helpbook.scss +946 -0
  125. data/documentation_project/Contents/Resources/Base.lproj/assets/stylesheets/_github.scss +61 -0
  126. data/documentation_project/Contents/Resources/Base.lproj/assets/stylesheets/_normalize.scss +374 -0
  127. data/documentation_project/Contents/Resources/Base.lproj/assets/stylesheets/breadcrumb-separator-light.png +0 -0
  128. data/documentation_project/Contents/Resources/Base.lproj/assets/stylesheets/image_sizes.css.erb +8 -0
  129. data/documentation_project/Contents/Resources/Base.lproj/assets/stylesheets/style.css.scss +4 -0
  130. data/documentation_project/Contents/Resources/Base.lproj/index.html.md.erb +31 -0
  131. data/documentation_project/Contents/Resources/shared/free-icon_256x256.png +0 -0
  132. data/documentation_project/Contents/Resources/shared/free-icon_256x256@2x.png +0 -0
  133. data/documentation_project/Contents/Resources/shared/free-icon_32x32.png +0 -0
  134. data/documentation_project/Contents/Resources/shared/free-icon_32x32@2x.png +0 -0
  135. data/documentation_project/Contents/Resources/shared/icon_256x256.png +0 -0
  136. data/documentation_project/Contents/Resources/shared/icon_256x256@2x.png +0 -0
  137. data/documentation_project/Contents/Resources/shared/icon_32x32.png +0 -0
  138. data/documentation_project/Contents/Resources/shared/icon_32x32@2x.png +0 -0
  139. data/documentation_project/Contents/Resources/shared/pro-icon_256x256.png +0 -0
  140. data/documentation_project/Contents/Resources/shared/pro-icon_256x256@2x.png +0 -0
  141. data/documentation_project/Contents/Resources/shared/pro-icon_32x32.png +0 -0
  142. data/documentation_project/Contents/Resources/shared/pro-icon_32x32@2x.png +0 -0
  143. data/documentation_project/Gemfile +51 -0
  144. data/documentation_project/HelpViewerApp/HelpViewerApp.xcodeproj/project.pbxproj +529 -0
  145. data/documentation_project/HelpViewerApp/HelpViewerApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  146. data/documentation_project/HelpViewerApp/HelpViewerApp.xcodeproj/xcshareddata/xcschemes/Help (free).xcscheme +80 -0
  147. data/documentation_project/HelpViewerApp/HelpViewerApp.xcodeproj/xcshareddata/xcschemes/HelpViewerApp (free).xcscheme +91 -0
  148. data/documentation_project/HelpViewerApp/HelpViewerApp.xcodeproj/xcshareddata/xcschemes/HelpViewerApp (pro).xcscheme +91 -0
  149. data/documentation_project/HelpViewerApp/HelpViewerApp/AppDelegate.h +16 -0
  150. data/documentation_project/HelpViewerApp/HelpViewerApp/AppDelegate.m +45 -0
  151. data/documentation_project/HelpViewerApp/HelpViewerApp/Assets.xcassets/AppIcon.appiconset/Contents.json +58 -0
  152. data/documentation_project/HelpViewerApp/HelpViewerApp/Base.lproj/MainMenu.xib +115 -0
  153. data/documentation_project/HelpViewerApp/HelpViewerApp/Info-free.plist +38 -0
  154. data/documentation_project/HelpViewerApp/HelpViewerApp/Info-pro.plist +38 -0
  155. data/documentation_project/HelpViewerApp/HelpViewerApp/main.m +13 -0
  156. data/documentation_project/HelpViewerApp/README.md +43 -0
  157. data/documentation_project/Middlemac (free).help/.gitignore +3 -0
  158. data/documentation_project/Middlemac (pro).help/.gitignore +3 -0
  159. data/documentation_project/config.rb +309 -0
  160. data/documentation_project/middlemac.webloc +0 -0
  161. data/features/main_features.feature +44 -0
  162. data/features/support/env.rb +20 -0
  163. data/fixtures/middlemac_app/.gitignore +25 -0
  164. data/fixtures/middlemac_app/Contents/Info.plist.erb +42 -0
  165. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/10_hello_world_file.html.md.erb +22 -0
  166. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/20_goodbye_world_file.html.md.erb +22 -0
  167. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/30_sample_group_number_one/index.html.md.erb +24 -0
  168. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/30_sample_group_number_one/page_one.html.md.erb +20 -0
  169. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/30_sample_group_number_one/page_two.html.md.erb +19 -0
  170. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/40_sample_group_number_two/01_nested_group_example/01_page_one.html.md.erb +18 -0
  171. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/40_sample_group_number_two/01_nested_group_example/02_pagina_dos.html.md.erb +19 -0
  172. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/40_sample_group_number_two/01_nested_group_example/03_page_san.html.md.erb +18 -0
  173. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/40_sample_group_number_two/01_nested_group_example/index.html.md.erb +18 -0
  174. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/40_sample_group_number_two/02_page_two.html.md.erb +19 -0
  175. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/40_sample_group_number_two/03_page_three.html.md.erb +19 -0
  176. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/40_sample_group_number_two/index.html.md.erb +24 -0
  177. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/45_testing_world_file.html.md.erb +55 -0
  178. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/50_entire_world_file.html.md.erb +15 -0
  179. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/InfoPlist.strings.erb +10 -0
  180. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/_new_style_partial.erb +1 -0
  181. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/_data/globals.yml +11 -0
  182. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/_layouts/layout-html4.haml +22 -0
  183. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/_layouts/layout-xhtml.haml +28 -0
  184. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/_layouts/template-logo-large.haml +30 -0
  185. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/_layouts/template-logo-medium.haml +30 -0
  186. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/_layouts/template-logo-small.haml +30 -0
  187. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/fonts/font-awesome/FontAwesome.otf +0 -0
  188. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/fonts/font-awesome/fontawesome-webfont.eot +0 -0
  189. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/fonts/font-awesome/fontawesome-webfont.svg +655 -0
  190. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/fonts/font-awesome/fontawesome-webfont.ttf +0 -0
  191. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/fonts/font-awesome/fontawesome-webfont.woff +0 -0
  192. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/fonts/font-awesome/fontawesome-webfont.woff2 +0 -0
  193. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/images/_empty_directory.html.md.erb +1 -0
  194. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/javascripts/all.js +1 -0
  195. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/partials/_nav_breadcrumbs.haml +11 -0
  196. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/partials/_nav_breadcrumbs_alt.haml +15 -0
  197. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/partials/_nav_brethren.haml +18 -0
  198. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/partials/_nav_brethren_index.haml +14 -0
  199. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/partials/_nav_legitimate_children.haml +16 -0
  200. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/partials/_nav_prev_next.haml +21 -0
  201. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/partials/_nav_toc_index.haml +21 -0
  202. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/partials/_partials_dir_partial.erb +1 -0
  203. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/stylesheets/_apple_helpbook.scss +946 -0
  204. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/stylesheets/_github.scss +61 -0
  205. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/stylesheets/_normalize.scss +374 -0
  206. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/stylesheets/breadcrumb-separator-light.png +0 -0
  207. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/stylesheets/image_sizes.css.erb +8 -0
  208. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/stylesheets/style.css.scss +4 -0
  209. data/fixtures/middlemac_app/Contents/Resources/Base.lproj/index.html.md.erb +17 -0
  210. data/fixtures/middlemac_app/Contents/Resources/shared/icon_256x256.png +0 -0
  211. data/fixtures/middlemac_app/Contents/Resources/shared/icon_256x256@2x.png +0 -0
  212. data/fixtures/middlemac_app/Contents/Resources/shared/icon_32x32.png +0 -0
  213. data/fixtures/middlemac_app/Contents/Resources/shared/icon_32x32@2x.png +0 -0
  214. data/fixtures/middlemac_app/Gemfile +51 -0
  215. data/fixtures/middlemac_app/config.rb +309 -0
  216. data/fixtures/middlemac_app/middlemac.webloc +0 -0
  217. data/lib/middlemac.rb +6 -0
  218. data/lib/middlemac/extension.rb +274 -0
  219. data/lib/middlemac/version.rb +5 -0
  220. data/middlemac.gemspec +38 -0
  221. data/yard/readme.md +9 -0
  222. data/yard/template-grouped/default/module/html/method_details_list.erb +11 -0
  223. data/yard/template-partials/default/method_details/setup.rb +4 -0
  224. data/yard/template-partials/default/module/html/attribute_details.erb +9 -0
  225. data/yard/template-partials/default/module/html/method_details_list.erb +10 -0
  226. data/yard/template-partials/default/module/setup.rb +6 -0
  227. data/yard/template-partials/default/onefile/html/layout.erb +1 -0
  228. data/yard/template-partials/default/onefile/html/setup.rb +4 -0
  229. data/yard/yard_extensions.rb +109 -0
  230. metadata +454 -0
@@ -0,0 +1,43 @@
1
+ ---
2
+ title: Breadcrumbs
3
+ blurb: Breadcrumbs help prevent your users from becoming lost, especially if
4
+ you have deeply nested content. Get to know your options here.
5
+ layout: template-logo-medium
6
+ ---
7
+ <%= md_links %>
8
+ <%= md_images %>
9
+
10
+
11
+ <%= current_page.data.title %>
12
+ ==============================
13
+
14
+ <%= current_page.data.blurb %>
15
+
16
+ Breadcrumbs by default appear on every page of your help file, except for the
17
+ main landing page (which, as root, has no breadcrumb trail).
18
+
19
+ There are two helpers that can each produce the breadcrumbs widget that’s at
20
+ the top:
21
+
22
+ `nav_breadcrumbs`
23
+ : Produces breadcrumbs ending with the title of the current page.
24
+
25
+ `nav_breadcrumbs_alt`
26
+ : Produces breadcrumbs with “Current page” at the end instead of the title of
27
+ the current page.
28
+
29
+
30
+ Configuration
31
+ -------------
32
+ Breadcrumbs are configured in your `config.rb` file using the `Breadcrumbs`
33
+ option, which can be set to one of the two helpers above, or to `nil` to
34
+ disable breadcrumbs completely.
35
+
36
+ If you design your own breadcrumbs helper, you can use the same configuration
37
+ setting to use it instead, too: simply specify the name of your own breadcrumbs
38
+ helper.
39
+
40
+
41
+ Including Breadcrumbs
42
+ ---------------------
43
+ _Middlemac_ includes breadcrumbs in the `layout-html4` template.
@@ -0,0 +1,26 @@
1
+ ---
2
+ title: Navigator
3
+ blurb: Learn how the page navigator can make navigation easy for your users, as
4
+ well as how to turn it on or off for groups and individual pages.
5
+ layout: template-logo-medium
6
+ ---
7
+ <%= md_links %>
8
+ <%= md_images %>
9
+
10
+
11
+ <%= current_page.data.title %>
12
+ ==============================
13
+
14
+ <%= current_page.data.blurb %>
15
+
16
+ Near the bottom of this page you can see the navigator. It’s visible because
17
+ this page’s parent `index.html` file includes `navigate: true` in its
18
+ frontmatter.
19
+
20
+ Setting `:navigate` in the frontmatter will cause all pages with an
21
+ [order][groups] to display the navigator. This can be overridden on a
22
+ page-per-page basis by using the `:navigator` frontmatter key, e.g., `navigator:
23
+ false`.
24
+
25
+ The helper `nav_prev_next` provides the navigator structure, and the appearance
26
+ is set in CSS.
@@ -0,0 +1,63 @@
1
+ ---
2
+ title: Targets
3
+ blurb: Targets let you build help files that are specific to each version or
4
+ variant of your Mac OS X application.
5
+ layout: template-logo-medium
6
+ ---
7
+ <%= md_links %>
8
+ <%= md_images %>
9
+
10
+ <%= current_page.data.title %>
11
+ ==============================
12
+
13
+ <%= current_page.data.blurb %>
14
+
15
+
16
+ Demonstration
17
+ --------------
18
+ <% if target_name?(:pro) %>
19
+ You are reading this help book using the `:pro` target. You can try rebuilding
20
+ the project or starting the server with the `:free` target to get a different
21
+ result.
22
+ <% end %>
23
+ <% if target_name?(:free) %>
24
+ You are reading this help book using the `:free` target. You can try rebuilding
25
+ the project or starting the server with the `:pro` target to get a different
26
+ result.
27
+ <% end %>
28
+
29
+
30
+ How did this work?
31
+ ------------------
32
+ The source file uses a simple conditional and helper to display content based on
33
+ the target name. Here’s the (nearly) exact code that was used:
34
+
35
+ ~~~ erb
36
+ <%% if target_name?(:pro) %>
37
+ You are reading this help book using the `:pro` target. You can try rebuilding
38
+ the project or starting the server with the `:free` target to get a different
39
+ result.
40
+ <%% end %>
41
+ <%% if target_name?(:free) %>
42
+ You are reading this help book using the `:free` target. You can try rebuilding
43
+ the project or starting the server with the `:pro` target to get a different
44
+ result.
45
+ <%% end %>
46
+ ~~~
47
+
48
+ Why “nearly” exact code? If you examine the `.md.erb` file you will see how to
49
+ escape ERB delimiters so that ERB doesn’t try to process them as Ruby code.
50
+ In order to display `<%% %>` it is necessary to specify `<%%% %>` in code
51
+ blocks. And of course you can read about code blocks and other Markdown
52
+ formatting on
53
+ [kramdown’s documentation site](http://kramdown.gettalong.org/documentation.html).
54
+
55
+
56
+ Include or exclude entire pages
57
+ -------------------------------
58
+
59
+ Whether you’re currently using the `:pro` or `:free` target, try visiting
60
+ each of these pages:
61
+
62
+ - [sample page excludes target `:free`](not_free.html)
63
+ - [sample page excludes target `:pro`](not_pro.html)
@@ -0,0 +1,122 @@
1
+ ---
2
+ title: Features
3
+ blurb: Features work similarly to targets, but give you much more fine-grained
4
+ control.
5
+ layout: template-logo-medium
6
+ ---
7
+ <%= md_links %>
8
+ <%= md_images %>
9
+
10
+
11
+ <%= current_page.data.title %>
12
+ ==============================
13
+
14
+ <%= current_page.data.blurb %>
15
+
16
+
17
+ Demonstrations
18
+ ---------------
19
+
20
+ * * *
21
+
22
+ <% if target_feature?(:feature_advertise_pro) %>
23
+ **New! Today Only!!! Act before this special offer is gone forever!** Why settle
24
+ for the limitations of _Middlemac Free_ when you can upgrade to _Middlemac Pro_
25
+ for this limited time, special price of only $1299.99?
26
+
27
+ (Note: there is no _Middlemac Pro_. This is part of the Features demonstration.)
28
+
29
+ * * *
30
+ <% end %>
31
+
32
+
33
+ <% if target_feature?(:feature_performs_miracles) %>
34
+ If you open your water faucet, clean, safe, potable water will flow out of it.
35
+ _Middlemac_ has made this miracle happen for you.
36
+
37
+ * * *
38
+ <% end %>
39
+
40
+
41
+ <% if target_feature?(:feature_insults_user) %>
42
+ If you have made it this far, dear reader, you should know that if brains were
43
+ dynamite, you wouldn’t have enough to blow your nose.
44
+ <% else %>
45
+ If you have made it this far, dear reader, you should know that you are one of
46
+ the best people in the world.
47
+ <% end %>
48
+
49
+ * * *
50
+
51
+ <% if target_feature?(:feature_shows_pink_rectangle) %>
52
+ I made a special, pink rectangle just for you!
53
+ <svg style="width:50px; height:35px; display:block; margin:auto;">
54
+ <rect width="50" height="35" style="fill:pink;stroke-width:0" />
55
+ </svg>
56
+ <% else %>
57
+ Too bad; other people got to see a nice, pink rectangle.
58
+ <% end %>
59
+
60
+ * * *
61
+
62
+
63
+ Recall our targets’ `feature` settings
64
+ --------------------------------------
65
+
66
+ Our `:free` target uses these `feature` settings:
67
+
68
+ ~~~ ruby
69
+ :feature_advertise_pro => true,
70
+ :feature_performs_miracles => false,
71
+ :feature_insults_user => true,
72
+ :feature_shows_pink_rectangle => true,
73
+ ~~~
74
+
75
+ And `:pro` was setup with these `feature` settings:
76
+
77
+ ~~~ ruby
78
+ :feature_advertise_pro => false,
79
+ :feature_performs_miracles => true,
80
+ :feature_insults_user => false,
81
+ :feature_shows_pink_rectangle => true,
82
+ ~~~
83
+
84
+ Depending on the target that you are currently viewing, you should very easily
85
+ be able to correlate what appears in the **Demonstrations** section with the
86
+ `feature`s settings above. Try changing some of the values and see what happens
87
+ to this page.
88
+
89
+
90
+ Targets vs Features
91
+ -------------------
92
+
93
+ While you can use targets exclusively, it’s then up to you to decide which
94
+ content you want to include in each of your help books when your Mac OS X
95
+ applications have different features. For example, what happens when you decide
96
+ to enable or disable a feature in a future release of your application? If you
97
+ use targets alone, you’ll have to go back and make a lot of changes to your
98
+ help content. If you use **features**, instead, it’s as simple as toggling the
99
+ value of your target’s `:features` sub-key between `true` and `false`.
100
+
101
+
102
+ How did this work?
103
+ ------------------
104
+ Features work nearly identically to [targets][targets]. Instead of using the
105
+ `target_name?` helper, use the `target_feature?` helper instead. For example:
106
+
107
+ ~~~ erb
108
+ <%% if target_feature?(:feature_insults_user) %>
109
+ If you have made it this far, dear reader, you should know that if brains were
110
+ dynamite, you wouldn’t have enough to blow your nose.
111
+ <%% else %>
112
+ If you have made it this far, dear reader, you should know that you are one of
113
+ the best people in the world.
114
+ <%% end %>
115
+ ~~~
116
+
117
+
118
+ Include or exclude entire pages
119
+ -------------------------------
120
+
121
+ Just as with targets, you can use front matter `target` and `exclude` to include
122
+ or exclude entire pages.
@@ -0,0 +1,21 @@
1
+ ---
2
+ title: "Workflow: Develop your Help Structure"
3
+ blurb: Before you get busy writing all of your content, learn how
4
+ <em>Middlemac</em> expects your project to be structured, and how this
5
+ structure benefits you.
6
+ layout: template-logo-large
7
+ navigate: true
8
+ ---
9
+ <%= md_links %>
10
+ <%= md_images %>
11
+
12
+ <%= current_page.data.title %>
13
+ ==============================
14
+
15
+ <%= current_page.data.blurb %>
16
+
17
+ * * *
18
+
19
+ <%= nav_legitimate_children %>
20
+
21
+ * * *
@@ -0,0 +1,43 @@
1
+ ---
2
+ title: Invisible On Free
3
+ blurb: This page is not available for target `:free`, as a demonstration of
4
+ the use of targets.
5
+ layout: template-logo-small
6
+ navigator: false
7
+ exclude:
8
+ - :free
9
+ ---
10
+ <%= md_links %>
11
+ <%= md_images %>
12
+
13
+ <%= current_page.data.title %>
14
+ ==============================
15
+
16
+ <%= current_page.data.blurb %>
17
+
18
+
19
+ How is this accomplished?
20
+ -------------------------
21
+
22
+ This is the frontmatter for this page. Note the key `exclude`, which indicates
23
+ that this is page should be hidden from _Middleman_’s navigation system and
24
+ build output.
25
+
26
+ ~~~ yaml
27
+ ---
28
+ title: Invisible On Free
29
+ blurb: This page is not available for target `:free`, as a demonstration of
30
+ the use of targets.
31
+ layout: template-logo-small
32
+ navigator: false
33
+ exclude:
34
+ - :free
35
+ ---
36
+ ~~~
37
+
38
+ The opposite of `exclude` is `target`. If you use `target`, only those targets
39
+ included in the target list will be included in _Middlemac_ navigation.
40
+ Using `exclude` overrides `target`.
41
+
42
+ Note that `target` and `exclude` are lists; you can specify multiple targets and
43
+ [features][features_overview] (which also can be used).
@@ -0,0 +1,43 @@
1
+ ---
2
+ title: Invisible On Pro
3
+ blurb: This page is not available for target `:pro`, as a demonstration of
4
+ the use of targets.
5
+ layout: template-logo-small
6
+ navigator: false
7
+ exclude:
8
+ - :pro
9
+ ---
10
+ <%= md_links %>
11
+ <%= md_images %>
12
+
13
+ <%= current_page.data.title %>
14
+ ==============================
15
+
16
+ <%= current_page.data.blurb %>
17
+
18
+
19
+ How is this accomplished?
20
+ -------------------------
21
+
22
+ This is the frontmatter for this page. Note the key `exclude`, which indicates
23
+ that this is page should be hidden from _Middleman_’s navigation system and
24
+ build output.
25
+
26
+ ~~~ yaml
27
+ ---
28
+ title: Invisible On Pro
29
+ blurb: This page is not available for target `:pro`, as a demonstration of
30
+ the use of targets.
31
+ layout: template-logo-small
32
+ navigator: false
33
+ exclude:
34
+ - :pro
35
+ ---
36
+ ~~~
37
+
38
+ The opposite of `exclude` is `target`. If you use `target`, only those targets
39
+ included in the target list will be included in _Middlemac_ navigation.
40
+ Using `exclude` overrides `target`.
41
+
42
+ Note that `target` and `exclude` are lists; you can specify multiple targets and
43
+ [features][features_overview] (which also can be used).
@@ -0,0 +1,88 @@
1
+ ---
2
+ title: Frontmatter and keys
3
+ blurb: Examine all of the different frontmatter keys and their use in a single
4
+ location.
5
+ layout: template-logo-medium
6
+ ---
7
+ <%= md_links %>
8
+ <%= md_images %>
9
+
10
+
11
+ <%= current_page.data.title %>
12
+ ==============================
13
+
14
+ <%= current_page.data.blurb %>
15
+
16
+
17
+ Frontmatter
18
+ -----------
19
+ Frontmatter is metadata that is included at the top of every content page but
20
+ will not be present in the output. It is used to provide information to
21
+ _Middleman_ and _Middlemac_ on a page by page and group basis.
22
+
23
+ Here is the frontmatter from this very page’s source file:
24
+
25
+ ~~~ yaml
26
+ ---
27
+ title: Frontmatter and keys
28
+ blurb: Examine all of the different frontmatter keys and their use in a single
29
+ location.
30
+ layout: template-logo-medium
31
+ ---
32
+ ~~~
33
+
34
+ You can also specify your own frontmatter keys and values. All frontmatter is
35
+ available for use in your pages and templates via `current_page.data`, e.g.,
36
+ `current_page.data.title`.
37
+
38
+ Also know that if you want to style content that will be rendered to HTML in
39
+ the frontmatter, such as in a blurb, then HTML is required. HAML and Markdown
40
+ do not touch content in the frontmatter. For example, if you want to emphasize
41
+ text in a blurb, you will have do to something like this example:
42
+
43
+ ~~~ yaml
44
+ blurb: I must <em>emphasize</em> that going to war with an empty treasury is bad.
45
+ ~~~
46
+
47
+
48
+ Middlemac Frontmatter Keys
49
+ --------------------------
50
+
51
+ `title`
52
+ : The page title will be used in to the HTML `<title>` tag for every page,
53
+ and more importantly, will be the text displayed for links by all of
54
+ _Middlemac_’s built-in partials.
55
+
56
+ `blurb`
57
+ : The blurb will be used as a description for a link for the included
58
+ _Middlemac_ partials that render indexes. This help documentation also
59
+ repeats the blurb at the top of every article.
60
+
61
+ `layout`
62
+ : Specify the layout or template to use to render the page. If you don’t
63
+ specify a layout, then the `layout-html4` layout will be used by default.
64
+
65
+ `xhtml`
66
+ : Specify this key if you want to force a page to use the `layout-xhtml`
67
+ layout instead of an html4 layout. You should never do this, though, except
68
+ for the main, top-level landing page. Apple’s help specifications require
69
+ HTML4.
70
+
71
+ `order`
72
+ : Set the sorting/display order for a particular file within its group.
73
+
74
+ `navigate`
75
+ : When used in a group’s parent (i.e., the `index.html` for the group) then
76
+ members of the group will display the page navigator buttons.
77
+
78
+ `navigator`
79
+ : When set to `false`, overrides the display of the page navigator for this
80
+ page only.
81
+
82
+ `target`
83
+ : Indicates which [targets][targets] and [features][features] this page is
84
+ applicable for.
85
+
86
+ `exclude`
87
+ : Indicates which [targets][targets] and [features][features] this page should
88
+ be hidden from.