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,38 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+ <plist version="1.0">
4
+ <dict>
5
+ <key>CFBundleHelpBookFolder</key>
6
+ <string>Middlemac (free).help</string>
7
+ <key>CFBundleDevelopmentRegion</key>
8
+ <string>en</string>
9
+ <key>CFBundleExecutable</key>
10
+ <string>$(EXECUTABLE_NAME)</string>
11
+ <key>CFBundleIconFile</key>
12
+ <string></string>
13
+ <key>CFBundleIdentifier</key>
14
+ <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
15
+ <key>CFBundleInfoDictionaryVersion</key>
16
+ <string>6.0</string>
17
+ <key>CFBundleName</key>
18
+ <string>$(PRODUCT_NAME)</string>
19
+ <key>CFBundlePackageType</key>
20
+ <string>APPL</string>
21
+ <key>CFBundleShortVersionString</key>
22
+ <string>1.0</string>
23
+ <key>CFBundleSignature</key>
24
+ <string>????</string>
25
+ <key>CFBundleVersion</key>
26
+ <string>1</string>
27
+ <key>LSMinimumSystemVersion</key>
28
+ <string>$(MACOSX_DEPLOYMENT_TARGET)</string>
29
+ <key>NSHumanReadableCopyright</key>
30
+ <string>Copyright © 2016 Jim Derry. All rights reserved.</string>
31
+ <key>NSMainNibFile</key>
32
+ <string>MainMenu</string>
33
+ <key>CFBundleHelpBookName</key>
34
+ <string>com.balthisar.middlemac.free.help</string>
35
+ <key>NSPrincipalClass</key>
36
+ <string>NSApplication</string>
37
+ </dict>
38
+ </plist>
@@ -0,0 +1,38 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+ <plist version="1.0">
4
+ <dict>
5
+ <key>CFBundleHelpBookFolder</key>
6
+ <string>Middlemac (pro).help</string>
7
+ <key>CFBundleDevelopmentRegion</key>
8
+ <string>en</string>
9
+ <key>CFBundleExecutable</key>
10
+ <string>$(EXECUTABLE_NAME)</string>
11
+ <key>CFBundleIconFile</key>
12
+ <string></string>
13
+ <key>CFBundleIdentifier</key>
14
+ <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
15
+ <key>CFBundleInfoDictionaryVersion</key>
16
+ <string>6.0</string>
17
+ <key>CFBundleName</key>
18
+ <string>$(PRODUCT_NAME)</string>
19
+ <key>CFBundlePackageType</key>
20
+ <string>APPL</string>
21
+ <key>CFBundleShortVersionString</key>
22
+ <string>1.0</string>
23
+ <key>CFBundleSignature</key>
24
+ <string>????</string>
25
+ <key>CFBundleVersion</key>
26
+ <string>1</string>
27
+ <key>LSMinimumSystemVersion</key>
28
+ <string>$(MACOSX_DEPLOYMENT_TARGET)</string>
29
+ <key>NSHumanReadableCopyright</key>
30
+ <string>Copyright © 2016 Jim Derry. All rights reserved.</string>
31
+ <key>NSMainNibFile</key>
32
+ <string>MainMenu</string>
33
+ <key>CFBundleHelpBookName</key>
34
+ <string>com.balthisar.middlemac.pro.help</string>
35
+ <key>NSPrincipalClass</key>
36
+ <string>NSApplication</string>
37
+ </dict>
38
+ </plist>
@@ -0,0 +1,13 @@
1
+ //
2
+ // main.m
3
+ // HelpViewerApp
4
+ //
5
+ // Created by Jim Derry on 5/13/16.
6
+ // Copyright © 2016 Jim Derry. All rights reserved.
7
+ //
8
+
9
+ #import <Cocoa/Cocoa.h>
10
+
11
+ int main(int argc, const char * argv[]) {
12
+ return NSApplicationMain(argc, argv);
13
+ }
@@ -0,0 +1,43 @@
1
+ HelpViewApp README
2
+ ==================
3
+
4
+ This simple app can display the sample `documentation_project` in Apple’s Help
5
+ Viewer application, and demonstrates how you might integrate **Middlemac** with
6
+ your Xcode project.
7
+
8
+ It consists of the following four targets:
9
+
10
+ `Help (free)`
11
+
12
+ : This is an external build system target that uses **Middlemac** to generate
13
+ the help files for the `HelpViewerApp (free)` target.
14
+
15
+ `Help (pro)`
16
+
17
+ : This is an external build system target that uses **Middlemac** to generate
18
+ the help files for the `HelpViewerApp (pro)` target.
19
+
20
+ `HelpViewerApp (free)`
21
+
22
+ : The “free” version of this application will display the `:free` target in
23
+ the Help Viewer. It uses the target `Help (free)` as a build dependency.
24
+
25
+ `HelpViewerApp (pro)`
26
+
27
+ : The “pro” version of this application will display the `:pro` target in the
28
+ Help Viewer. It uses the target `Help (pro)` as a build dependency.
29
+
30
+
31
+ ## The Help file “build system”
32
+
33
+ The build system is a bash script that executes the default version of
34
+ **Middleman** on your system. In order to prevent re-building the help file
35
+ every time you run the HelpViewerApp it tries to remember that it was already
36
+ built using a marker file in the Xcode build directory.
37
+
38
+ It's a simple script and doesn’t try at all to know whether or not you’ve made
39
+ changes to the source. If you want to rebuild the help files using the build
40
+ command in Xcode, then perform **Clean**, which will remove this marker file.
41
+
42
+ Xcode’s **Clean** will _not_ remove the built help book using this script; you
43
+ are free to make the script do so if you want, however.
@@ -0,0 +1,309 @@
1
+ ################################################################################
2
+ # config.rb
3
+ # Configure Middleman to generate Apple HelpBook containers for multiple
4
+ # targets.
5
+ ################################################################################
6
+
7
+ ##########################################################################
8
+ # Targets Configuration
9
+ # Middlemac is capable of building multiple targets for variants of your
10
+ # application using the `middleman-targets` gem. Activate it and change
11
+ # the option values here to suit your needs. Note that middleman-targets
12
+ # adds configuration parameters to the base Middleman application; these
13
+ # are *not* extension options.
14
+ ##########################################################################
15
+ activate :MiddlemanTargets
16
+
17
+ # Set the default target, i.e, the target that is used automatically when you
18
+ # `middleman build` or `middleman server` without the `targets` CLI option.
19
+ config[:target] = :pro
20
+
21
+ # Targets
22
+
23
+ # NOTE: Ruby has a type of variable called a `symbol`, which are used below
24
+ # quite extensively and look like :this_symbol. Except they’re not really
25
+ # variables; you can’t assign values to them. Their value is themselves,
26
+ # though they have useful string representations (:this_symbol.to_s). You
27
+ # can even get the symbol representation of this_string.to_sym. Because
28
+ # they're unique, they make excellent array/hash keys and excellent,
29
+ # guaranteed unique values.
30
+
31
+ # :CFBundleID
32
+ # Just as different versions of your app must have different bundle identifiers
33
+ # so the OS can distinguish them, their help files must have unique bundle IDs,
34
+ # too. Your application specifies the help file `CFBundleID` in its
35
+ # `CFBundleHelpBookName` entry. Therefore for each target, ensure that your
36
+ # application has a `CFBundleHelpBookName` that matches the `CFBundleID` that
37
+ # you will set here.
38
+
39
+ # :HPDBookIconPath
40
+ # If specified a target-specific icon will be used as the help book icon by
41
+ # Apple’s help viewer. This path must be relative to the location of the
42
+ # `Resources` directory per Apple’s specification. If `nil` (or not present)
43
+ # then the default `shared/icon_32x32@2x.png` will be used.
44
+
45
+ # :CFBundleName
46
+ # This value will be used for correct .plists and .strings setup, and will
47
+ # determine final .help directory name. All targets should use the same
48
+ # :CFBundleName. Built targets will be named `CFBundleName (target).help`.
49
+ # This is *not* intended to be a product name, which is defined below.
50
+
51
+ # :ProductName
52
+ # You can specify different product names for each build target. The product
53
+ # name for the current target will be available via the `product_name` helper.
54
+
55
+ # :ProductVersion
56
+ # You can specify different product versions for each build target. The
57
+ # product version for the current target will be available via the
58
+ # `product_version` helper.
59
+
60
+ # :ProductURI
61
+ # You can specify different product URIs for each build target. The URI
62
+ # for the current target will be available via the `product_uri` helper.
63
+
64
+ # (other)
65
+ # You can specify additional .plist and .strings keys here, too. Have a look
66
+ # at `Info.plist.erb` and `InfoPlist.strings.erb`; simply use the exact key
67
+ # name and they will be supported. This is probably unneeded unless you are
68
+ # implementing advanced help book features.
69
+
70
+ # :Features
71
+ # A hash of features that a particular target supports or doesn't support.
72
+ # The `has_feature` function and several helpers will use the true/false value
73
+ # of these features in order to conditionally include content.
74
+
75
+ config[:targets] = {
76
+ :free =>
77
+ {
78
+ :CFBundleID => 'com.balthisar.middlemac.free.help',
79
+ :HPDBookIconPath => 'shared/free-icon_32x32@2x.png',
80
+ :CFBundleName => 'Middlemac',
81
+ :ProductName => 'Middlemac',
82
+ :ProductVersion => '2.0.0',
83
+ :ProductURI => 'http://www.balthisar.com/developer',
84
+ :features =>
85
+ {
86
+ :feature_advertise_pro => true,
87
+ :feature_performs_miracles => false,
88
+ :feature_insults_user => true,
89
+ :feature_shows_pink_rectangle => true,
90
+ }
91
+ },
92
+
93
+ :pro =>
94
+ {
95
+ :CFBundleID => 'com.balthisar.middlemac.pro.help',
96
+ :HPDBookIconPath => 'shared/pro-icon_32x32@2x.png',
97
+ :CFBundleName => 'Middlemac',
98
+ :ProductName => 'Middlemac Pro',
99
+ :ProductVersion => '2.0.0',
100
+ :ProductURI => 'http://www.balthisar.com/developer',
101
+ :features =>
102
+ {
103
+ :feature_advertise_pro => false,
104
+ :feature_performs_miracles => true,
105
+ :feature_insults_user => false,
106
+ :feature_shows_pink_rectangle => true,
107
+ }
108
+ },
109
+
110
+ } # targets
111
+
112
+ # By enabling :target_magic_images, target specific images will be used instead
113
+ # of the image you specify if it'ss prefixed with :target_magic_word. For
114
+ # example, you might request "all-my_image.png", and "pro-my_image.png" (if it
115
+ # exists) will be used in your :pro target instead.
116
+ #
117
+ # Important: when this is enabled, images from *other* targets will *not* be
118
+ # included in the build! In the example above, *any* image prefixed with "free-"
119
+ # would not be included in the output directory.
120
+ config[:target_magic_images] = true
121
+ config[:target_magic_word] = 'all'
122
+
123
+
124
+ ################################################################
125
+ # Page Groups Configuration
126
+ # Middlemac uses the `middleman-pagegroups` gem in order to
127
+ # automate nearly all of the navigation in your help book
128
+ # project.
129
+ ################################################################
130
+ activate :MiddlemanPageGroups do |config|
131
+
132
+ # Indicate whether or not numeric file name prefixes used for sorting
133
+ # pages should be eliminated during output. This results in cleaner
134
+ # URI's. Helpers such as `page_name` and Middleman helpers such as
135
+ # `page_class` will reflect the pretty name.
136
+ config.strip_file_prefixes = true
137
+
138
+ # Indicates whether or not Middleman's built-in `page_class` helper is
139
+ # extended to include the page_group and page_name.
140
+ config.extend_page_class = true
141
+
142
+ # the following options provide defaults for the built-in helpers and
143
+ # sample partials. They'll also work in your own partials and helpers.
144
+
145
+ config.nav_breadcrumbs_class = 'breadcrumbs'
146
+ config.nav_breadcrumbs_alt_class = 'breadcrumbs'
147
+ config.nav_breadcrumbs_alt_label = 'Current page'
148
+ config.nav_brethren_class = 'table_contents'
149
+ config.nav_brethren_index_class = 'related-topics'
150
+ config.nav_legitimate_children_class = 'table_contents'
151
+ config.nav_prev_next_class = 'navigate_prev_next'
152
+ config.nav_prev_next_label_prev = 'Previous'
153
+ config.nav_prev_next_label_next = 'Next'
154
+ config.nav_toc_index_class = 'help_map'
155
+
156
+ end
157
+
158
+
159
+ ################################################################
160
+ # Extras Configuration
161
+ # Middlemac uses the `middlemac-extras` gem in order to
162
+ # provide other useful tools. They can be configured here.
163
+ ################################################################
164
+ activate :MiddlemacExtras do |config|
165
+
166
+ # If set to true, then the enhanced image_tag helper will be used
167
+ # to include @2x srcset automatically, if the image asset exists.
168
+ config.retina_srcset = true
169
+
170
+ # If set to true then the `image_tag` helper will work for images even
171
+ # if you don't specify an extension, but only if a file exists on disk
172
+ # that has one of the extensions in :img_auto_extensions_order.
173
+ config.img_auto_extensions = true
174
+
175
+ # Set this to an array of extensions in the order of precedence for
176
+ # using `image_tag` without file extensions.
177
+ config.img_auto_extensions_order = %w(.svg .png .jpg .jpeg .gif .tiff .tif)
178
+
179
+ end
180
+
181
+
182
+ ################################################################
183
+ # Configuration
184
+ # Change the option values to suit your needs.
185
+ ################################################################
186
+ activate :Middlemac do |options|
187
+
188
+ # Directory where finished .help bundle should go. It should be relative
189
+ # to this file, or make nil to leave in this help project directory. The
190
+ # *actual* output directory will be an Apple Help bundle at this location
191
+ # named in the form `#{CFBundleName} (target).help`. You might want to target
192
+ # the `Resources` directory of your XCode project so that your XCode project
193
+ # is always up to date.
194
+ options.Help_Output_Location = nil
195
+
196
+ # Indicates the name of the breadcrumbs helper to use for breadcrumbs.
197
+ # Built-in breadcrumbs are "nav_breadcrumbs" and "nav_breadcrumbs_alt".
198
+ # Change to `nil` to disable breadcrumbs completely.
199
+ options.Breadcrumbs = 'nav_breadcrumbs'
200
+
201
+ # This was removed in Middleman version 4.0. We are reintroducing it
202
+ # as a Middlemac feature.
203
+ options.partials_dir = 'Resources/Base.lproj/assets/partials'
204
+
205
+ end #activate
206
+
207
+
208
+ ################################################################
209
+ # STOP! There's nothing below here that you should have to
210
+ # change. Just follow the conventions and framework provided.
211
+ ################################################################
212
+
213
+
214
+ #===============================================================
215
+ # Setup directories to mirror Help Book directory layout.
216
+ #===============================================================
217
+ set :source, 'Contents'
218
+ set :build_dir, 'Contents (build)'
219
+
220
+ set :fonts_dir, 'Resources/Base.lproj/assets/fonts'
221
+ set :images_dir, 'Resources/Base.lproj/assets/images'
222
+ set :js_dir, 'Resources/Base.lproj/assets/javascripts'
223
+ set :css_dir, 'Resources/Base.lproj/assets/stylesheets'
224
+
225
+ set :layouts_dir, 'Resources/Base.lproj/assets/_layouts'
226
+ set :data_dir, 'Contents/Resources/Base.lproj/assets/_data'
227
+
228
+
229
+ #===============================================================
230
+ # Ignore items we don't want copied to the destination
231
+ #===============================================================
232
+ #ignore 'data/*'
233
+
234
+
235
+ #===============================================================
236
+ # All of our links and assets must be relative to the file
237
+ # location, and never absolute. However we will *use* absolute
238
+ # paths with root being the source directory; they will be
239
+ # converted to relative paths at build.
240
+ #===============================================================
241
+ set :strip_index_file, false
242
+ set :relative_links, true
243
+ activate :relative_assets do |options|
244
+ options.rewrite_ignore = [/image_sizes\.css/]
245
+ end
246
+
247
+
248
+ #===============================================================
249
+ # Default to Apple-recommended HTML 4.01 layout.
250
+ #===============================================================
251
+ set :haml, :format => :html4
252
+ page 'Resources/Base.lproj/*.html', :layout => :'layout-html4'
253
+
254
+
255
+ #===============================================================
256
+ # Add-on features
257
+ #===============================================================
258
+ activate :syntax
259
+
260
+
261
+ ################################################################################
262
+ # Helpers
263
+ ################################################################################
264
+
265
+
266
+ #===============================================================
267
+ # Methods defined in this helpers block are available in
268
+ # templates.
269
+ #===============================================================
270
+ helpers do
271
+
272
+ # no helpers here, but the Middlemac class offers quite a few,
273
+ # or you can add your own.
274
+
275
+ end #helpers
276
+
277
+
278
+ ################################################################################
279
+ # Build-specific configurations
280
+ ################################################################################
281
+
282
+
283
+ #===============================================================
284
+ # :server - the server is running and watching files.
285
+ #===============================================================
286
+ configure :server do
287
+
288
+ # Reload the browser automatically whenever files change
289
+ # activate :livereload, :host => '127.0.0.1'
290
+
291
+ compass_config do |config|
292
+ config.output_style = :expanded
293
+ config.sass_options = { :line_comments => true }
294
+ end
295
+
296
+ end #configure
297
+
298
+
299
+ #===============================================================
300
+ # :build - build is executed specifically.
301
+ #===============================================================
302
+ configure :build do
303
+
304
+ compass_config do |config|
305
+ config.output_style = :expanded
306
+ config.sass_options = { :line_comments => false }
307
+ end
308
+
309
+ end #configure