middlemac 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
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.