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,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: d2b3410abbcf1647fe5bb583455675fc72a44c94
4
+ data.tar.gz: 92adcc43e61ddf09e65e84c99eb031fb183b3cb1
5
+ SHA512:
6
+ metadata.gz: b8ec6cd32d7a0f7c23fff233455cb8b9d52ab4031db52c3561516f06879ba07f915142f70c208f0da68c23d88ac696ecd1eb889c6a52a8dbbed059d30624fb0e
7
+ data.tar.gz: e523e9deb1141f927269495e61aa0fa8afdde9105f8e9fef6545e6cb88c12f156d599e708713b0e94a69968d7060a73cd8964606fbfe2d94c1ff69d3723019d4
@@ -0,0 +1,24 @@
1
+ # Rubymine noise
2
+ .idea/
3
+
4
+ # BBedit noise
5
+ *.bbprojectd
6
+
7
+ # Mac OS X noise
8
+ .DS_Store
9
+
10
+ # Ignore bundler lock files
11
+ Gemfile.lock
12
+
13
+ # Ignore pkg folder
14
+ /pkg
15
+
16
+ # Ignore build folders
17
+ build/*
18
+
19
+ # Yard cruft
20
+ /doc/
21
+ /.yardoc
22
+
23
+ # Aruba
24
+ /tmp/
@@ -0,0 +1,7 @@
1
+ --no-private
2
+ --markup=markdown
3
+ --load yard/yard_extensions.rb
4
+ --exclude middlemac/version.rb
5
+ --one-file
6
+ --readme yard/readme.md
7
+ --title middlemac
@@ -0,0 +1,43 @@
1
+ middlemac change log
2
+ ====================
3
+
4
+ - Version 2.0.0 / 2016-May-15
5
+
6
+ - All new Middlemac version 2.0.0!
7
+ - _Significant_, major upgrade to _Middlemac_.
8
+ - Now packaged as a real Ruby gem.
9
+ - Uses the latest Middleman 4.1 series (4.1.7 or newer required).
10
+ - This version _will_ break old projects.
11
+ - Read the full documentation to understand the full scope of changes.
12
+
13
+ - Previous
14
+ - Updated to newer middleman.
15
+ - Use font-awesome-sass gem instead of keeping it in the file system.
16
+ - Fixed 256x256 image file.
17
+ - Added built output. RC1
18
+ - Content. Readme. Version.
19
+ - Ibid.
20
+ - More content added.
21
+ - Typo.
22
+ - More content
23
+ - More yummy content\!
24
+ - Partials overview complete.
25
+ - More content. yay
26
+ - Added new content.
27
+ - Header information added.
28
+ - Header information added.
29
+ - Content cleanup; new features content.
30
+ - Reverted to full breadcrumbs; breadcrumb css tweak.
31
+ - Separate navigate (children do) and navigator (I do)
32
+ - Content enhancements.
33
+ - Fixed indentation error.
34
+ - README, getting started.
35
+ - Overhaul of helpers and sitemap manipulators complete.
36
+ - BRETHREN checkpoint
37
+ - Continued refactoring resources.
38
+ - Begin refactor helpers to methods.
39
+ - Topical content.
40
+ - Bug-proofing.
41
+ - Added topical content.
42
+ - Removed conflicting LESS stuff.
43
+ - More content.
data/Gemfile ADDED
@@ -0,0 +1,18 @@
1
+ # If you do not have OpenSSL installed, update
2
+ # the following line to use "http://" instead
3
+ source 'https://rubygems.org'
4
+
5
+ # Specify your gem's dependencies in middleman-pagegroups.gemspec
6
+ gemspec
7
+
8
+ group :development do
9
+ gem 'rake'
10
+ gem 'rdoc'
11
+ gem 'yard'
12
+ end
13
+
14
+ group :test do
15
+ gem 'cucumber'
16
+ gem 'aruba'
17
+ gem 'rspec'
18
+ end
@@ -0,0 +1,22 @@
1
+ The MIT License
2
+ ===============
3
+
4
+ Copyright (c) 2016 Jim Derry
5
+
6
+ Permission is hereby granted, free of charge, to any person obtaining a copy
7
+ of this software and associated documentation files (the "Software"), to deal
8
+ in the Software without restriction, including without limitation the rights
9
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10
+ copies of the Software, and to permit persons to whom the Software is
11
+ furnished to do so, subject to the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be included in
14
+ all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22
+ THE SOFTWARE.
@@ -0,0 +1,225 @@
1
+ Middlemac, the Middleman Build System for Mac OS X Help Projects
2
+ ================================================================
3
+ [![Gem Version](https://badge.fury.io/rb/middlemac.svg)](https://badge.fury.io/rb/middlemac)
4
+
5
+
6
+ _Middlemac_
7
+
8
+ This gem provides a complete solution to generating help documentation for
9
+ Mac OS X applications in the form of Help Books, using Middleman and a
10
+ selection of custom extensions to provide everything a developer needs.
11
+
12
+ Using this Apple Help Book building system leverages the tools of _Middleman_ to
13
+ make building end-user documentation for your Mac OS X applications a snap.
14
+ Whether you are targeting multiple versions of your application or a single
15
+ version, once properly configured, _Middlemac_ will take all of the pain out of
16
+ building help files.
17
+
18
+
19
+ Simple README
20
+ -------------
21
+ Jump to the [verbose README](#verbose-readme) and instructions below, otherwise…
22
+
23
+
24
+ Install the Gem
25
+ ---------------
26
+
27
+ Install the gem in your preferred way, typically:
28
+
29
+ ~~~ bash
30
+ gem install middlemac
31
+ ~~~
32
+
33
+ From git source:
34
+
35
+ ~~~ bash
36
+ rake install
37
+ ~~~
38
+
39
+
40
+ Documentation
41
+ -------------
42
+
43
+ The complete documentation leverages the features of this gem in order to better
44
+ document them. Having installed the gem, read the full documentation in your
45
+ web browser:
46
+
47
+ ~~~ bash
48
+ middlemac documentation
49
+ cd middlemac-docs/
50
+ bundle install
51
+ bundle exec middleman server
52
+ ~~~
53
+
54
+ And then open your web browser to the address specified (typically
55
+ `localhost:4567`).
56
+
57
+
58
+ License
59
+ -------
60
+
61
+ MIT. See `LICENSE.md`.
62
+
63
+
64
+ Changelog
65
+ ---------
66
+
67
+ See `CHANGELOG.md` for point changes, or simply have a look at the commit
68
+ history for non-version changes (such as readme updates).
69
+
70
+
71
+ Verbose README
72
+ ==============
73
+
74
+ About
75
+ -----
76
+
77
+ _Middlemac_ makes it simple to do this in Terminal…
78
+
79
+ `bundle exec middleman build_all`
80
+
81
+ …and end up with versions of your helpbooks with all of the Apple-required files
82
+ in the Apple-required formats in the correct locations of your XCode build
83
+ directory. Simply build your help target, run your application, and find that
84
+ it just works!
85
+
86
+ At its simplest _Middlemac_ offers:
87
+
88
+ - Write your help files with plain text using the **Markdown** format (if you
89
+ are reading this file in a text editor, this is an example of Markdown).
90
+ - Single or multiple build **targets**, e.g., your `pro` target can include
91
+ content specific to the professional version of your application.
92
+ - **Features** support for each build target, e.g. each of your build targets
93
+ can specify whether or not they support specific features, and this content
94
+ will be included or excluded as your needs require.
95
+ - A low learning curve if you’re a developer.
96
+ - A set of conventions and tools that make automatic tables of contents,
97
+ automatic sections, and automatic behavior effortless to implement.
98
+ - A basic, Apple-like CSS stylesheet and set of templates that can be used as-is
99
+ or easily tweaked to suit your needs.
100
+
101
+
102
+ **Please note that _Middlemac_ is not associated in any way with the team at
103
+ _Middleman_.**
104
+
105
+
106
+ Documentation
107
+ -------------
108
+
109
+ _Middlemac_’s documentation is included in the starter project (and more than
110
+ likely at [http://www.balthisar.com/manuals](http://www.balthisar.com/manuals)).
111
+ There are multiple ways you could be reading this content now, but for now we
112
+ will assume that you have not yet installed _Middlemac_ and its dependencies.
113
+
114
+ To get started and read the full documentation, make sure that your system has
115
+ [Ruby](https://www.ruby-lang.org/) installed (it comes pre-installed on Mac OS X
116
+ and some Linuxes), and follow these steps below.
117
+
118
+ We now recommend the use of the Ruby Version Manager [(RVM)](https://rvm.io/).
119
+ While installation and setup of RVM is entirely outside the scope of this
120
+ tutorial, it avoids the use of `sudo` and the occasional hassles involved with
121
+ using the built in version of Ruby.
122
+
123
+ Note that depending on your system’s setup you might have to prefix some of the
124
+ commands below with `sudo`. For example if the instruction is given as
125
+ `gem install bundler` and a permissions error is reported, you may probably
126
+ have to use `sudo gem install bundler` instead.
127
+
128
+ If you’re behind a proxy and haven’t already setup an `http-proxy` environment
129
+ variable, then that previous clause is a good hint and Google is your friend.
130
+
131
+
132
+ Installation
133
+ ------------
134
+
135
+ ### Install XCode
136
+
137
+ If you’re on a Mac you’ll have to install XCode first, or at least the XCode
138
+ command line tools. You can _try_ just installing the tools first:
139
+
140
+ ~~~ bash
141
+ xcode-select --install
142
+ ~~~
143
+
144
+ If that fails or the rest of the installation fails, then install all of XCode.
145
+ It’s available in the App Store. It’s free of charge. And you’re using this
146
+ project to develop help for Mac OS X applications that you’re developing using
147
+ XCode anyway. Install it, already!
148
+
149
+ Dependencies on Linux are left up to you. Most modern Linuxes will prompt you to
150
+ install packages that are missing.
151
+
152
+ _Middlemac_ works quite well on Linux, but keep in mind that Linux doesn’t have
153
+ the help indexing tool that’s required in order to build a proper helpbook.
154
+ Other than for generating your final helpbook, Linux makes a fine development
155
+ environment.
156
+
157
+
158
+ ### Install _Middlemac_
159
+
160
+ ~~~ bash
161
+ gem install middlemac
162
+ ~~~
163
+
164
+ ### Install the documentation project
165
+
166
+ ~~~ bash
167
+ middleman documentation
168
+ ~~~
169
+
170
+ This will install _Middlemac_’s documentation project into a new directory
171
+ `middlemac-docs`.
172
+
173
+
174
+ ### Go into the documentation directory
175
+
176
+ ~~~ bash
177
+ cd middlemac-docs
178
+ ~~~
179
+
180
+
181
+ ### Install bundler (if not already installed)
182
+
183
+ ~~~ bash
184
+ gem install bundler
185
+ ~~~
186
+
187
+ Bundler is the most common Ruby package management system, and it will be used
188
+ to ensure that all of _Middlemac_’s dependencies are present.
189
+
190
+
191
+ ### Make sure all of the project dependencies are met
192
+
193
+ ~~~ bash
194
+ bundle install
195
+ ~~~
196
+
197
+ This tells bundler to install the remaining gems that _Middlemac_ requires to
198
+ function.
199
+
200
+
201
+ ### Start the _Middleman_ server
202
+
203
+ _Middleman_ comes with its own HTTP server and requires no configuration. It
204
+ simply works, serving your helpbook as a website.
205
+
206
+ ~~~ bash
207
+ bundle exec middleman --target free
208
+ ~~~
209
+
210
+ This will start the server using our `:free` target.
211
+
212
+
213
+ ### Open the site in your browser
214
+
215
+ Simply open the `middlemac.webloc` file from Finder to view the project results
216
+ in your default browser.
217
+
218
+ Or can open the bookmark file from Terminal with `open middleman.webloc`.
219
+
220
+ Or you prefer to open the help site manually, or if the .webloc file doesn’t
221
+ work on your Linux distro, you can usually go to
222
+ [http://localhost:4567/Resources/Base.lproj/](http://localhost:4567/Resources/Base.lproj/).
223
+ If you have setup a custom hostname, then `localhost` may not work for you.
224
+
225
+ See also the [change log](CHANGELOG.md) and the [license](LICENSE.md).
@@ -0,0 +1,213 @@
1
+ require 'bundler/gem_tasks'
2
+ require 'cucumber/rake/task'
3
+ require 'yard'
4
+ require 'git'
5
+ require File.expand_path('../lib/middlemac/version.rb', __FILE__)
6
+
7
+
8
+ ###############################################################################
9
+ # :default
10
+ # Define the default task.
11
+ ###############################################################################
12
+ task :default => :test
13
+
14
+
15
+ ###############################################################################
16
+ # :test
17
+ # Perform Cucumber testing.
18
+ ###############################################################################
19
+ Cucumber::Rake::Task.new(:test, 'Features that must pass') do |task|
20
+ task.cucumber_opts = '--require features --color --tags ~@wip --strict --format QuietFormatter'
21
+ end
22
+
23
+
24
+ ###############################################################################
25
+ # :yard
26
+ # Generate documentation using YARD. Note that there is a `.yardopts` file
27
+ # present that will load the `yard/yard_extensions.rb` file in order to
28
+ # control how output is generated. Output will be to the default `doc`
29
+ # directory using the template-grouped template, as a single page.
30
+ ###############################################################################
31
+ YARD::Rake::YardocTask.new(:yard) do |task|
32
+ task.stats_options = ['--list-undoc']
33
+ end
34
+
35
+
36
+ ###############################################################################
37
+ # :partials
38
+ # Generate documentation partials using YARD. These are used by the
39
+ # documentation project in order to include the API documentation.
40
+ ###############################################################################
41
+ desc 'Make separate documents for documentation_project'
42
+ task :partials do
43
+
44
+ # Define the @!group to output file relationships.
45
+ sections = [
46
+ { :file => '_yard_middlemac_helpers.erb', :group => 'Helpers', },
47
+ { :file => '_yard_middlemac_helpers_extended.erb', :group => 'Extended Helpers' },
48
+ { :file => '_yard_middlemac_config.erb', :group => 'Extension Configuration' },
49
+ ]
50
+
51
+ # Define the output directory.
52
+ dest = File.join('documentation_project', 'Contents', 'Resources', 'Base.lproj', 'assets', 'partials')
53
+
54
+ # Run YARD multiple times, filtering the group that interests us.
55
+ sections.each do |s|
56
+ params = [
57
+ "--query 'o.group == \"#{s[:group]}\" || has_tag?(:author)'",
58
+ "-o #{dest}",
59
+ "-t default",
60
+ "-p #{File.join(File.dirname(__FILE__), 'yard', 'template-partials')}"
61
+ ]
62
+ command = "yardoc #{params.join(' ')}"
63
+ puts command
64
+ system(command)
65
+ File.rename( File.join(dest, 'index.html'), File.join(dest, s[:file]) )
66
+ end
67
+
68
+ end
69
+
70
+
71
+ ###############################################################################
72
+ # :version
73
+ # Displays the current version.
74
+ ###############################################################################
75
+ desc 'Displays the current version'
76
+ task :version do
77
+ puts "Current version: #{Middleman::Middlemac::VERSION}"
78
+ end
79
+
80
+
81
+ ###############################################################################
82
+ # :version_finalize
83
+ # Remove any wip suffix from the version, as we are ready to release.
84
+ ###############################################################################
85
+ desc 'Remove any wip suffix from the version'
86
+ task :version_finalize do
87
+ version_old = Middleman::Middlemac::VERSION
88
+ version_new = version_old.sub('.wip', '')
89
+ update_versions( version_new )
90
+ end
91
+
92
+
93
+ ###############################################################################
94
+ # :version_next_wip
95
+ # Increment the patch level and add a wip suffix. We are ready for work.
96
+ ###############################################################################
97
+ desc 'Increment the patch level and add a wip suffix'
98
+ task :version_next_wip do
99
+ version_old = Middleman::Middlemac::VERSION
100
+ version_new = version_old.sub('.wip', '').split('.')
101
+ version_new.last.succ!
102
+ version_new = version_new.join('.') + '.wip'
103
+ update_versions( version_new )
104
+ end
105
+
106
+
107
+ ###############################################################################
108
+ # :version_set
109
+ # Sets an arbitrary version.
110
+ ###############################################################################
111
+ desc 'Sets all of the files to the version specified. Use rake version_set[value].'
112
+ task :version_set, :new_version do |t, args|
113
+ update_versions( args[:new_version] )
114
+ end
115
+
116
+
117
+ ###############################################################################
118
+ # :log
119
+ # Generate the CHANGELOG.md file.
120
+ ###############################################################################
121
+ desc 'Generate the CHANGELOG.md file'
122
+ task :log do
123
+ report = ''
124
+ report << "middlemac change log\n"
125
+ report << "====================\n"
126
+
127
+ Git.open( File.expand_path('..', __FILE__) ).log.each_with_index do |l, i|
128
+
129
+ version = nil
130
+ if i == 0 && !l.name.start_with?('tags/')
131
+ version = "Version #{Middleman::Middlemac::VERSION}"
132
+ elsif l.name.end_with?('^0')
133
+ version = "Version #{l.name.match(/tags\/v(.*)\^0/)[1]}"
134
+ end
135
+
136
+ if version
137
+ report << "\n- #{version} / #{l.date.strftime('%Y-%B-%d')}\n"
138
+ report << "\n"
139
+ end
140
+
141
+ l.message.each_line.with_index do |line, lineno|
142
+ if lineno == 0
143
+ report << " - #{line}"
144
+ else
145
+ report << " #{line}" unless line.strip == ''
146
+ end
147
+ end
148
+ report << "\n"
149
+ end # Git.open
150
+
151
+ file = File.expand_path('../CHANGELOG.md', __FILE__)
152
+ File.write(file, report)
153
+ puts "The changelog has been written."
154
+ end
155
+
156
+
157
+ ###############################################################################
158
+ # :pre_release
159
+ # Prepares the project for release.
160
+ ###############################################################################
161
+ desc "Prepares the project for release"
162
+ task :pre_release do
163
+
164
+ if `git status -s`.length > 0
165
+ puts "Cannot continue because you have uncommitted changes."
166
+ exit 1
167
+ end
168
+
169
+ Rake::Task[:version_finalize].execute
170
+ Rake::Task[:partials].execute
171
+ Rake::Task[:log].execute
172
+ sh "git add -A"
173
+ sh "git commit --amend --no-edit"
174
+ end
175
+
176
+ private
177
+
178
+
179
+ ###############################################################################
180
+ # update_versions
181
+ # Update the version in various files that depend on the correct version.
182
+ ###############################################################################
183
+ def update_versions( version_new )
184
+ [ {
185
+ :file => File.expand_path('../lib/middlemac/version.rb', __FILE__),
186
+ :regex => /(?<=VERSION = ')(.*)(?=')/
187
+ },
188
+ {
189
+ :file => File.expand_path('../documentation_project/Gemfile', __FILE__),
190
+ :regex => /(?<=gem 'middlemac', '~> ).*(?=')/
191
+ },
192
+ {
193
+ :file => File.expand_path('../documentation_project/config.rb', __FILE__),
194
+ :regex => /(?<=:ProductVersion => ')(.*)(?=')/
195
+ },
196
+ {
197
+ :file => File.expand_path('../fixtures/middlemac_app/Gemfile', __FILE__),
198
+ :regex => /(?<=gem 'middlemac', '~> ).*(?=')/
199
+ },
200
+ {
201
+ :file => File.expand_path('../fixtures/middlemac_app/config.rb', __FILE__),
202
+ :regex => /(?<=:ProductVersion => ')(.*)(?=')/
203
+ },
204
+ ].each do | item |
205
+
206
+ content = File.read( item[:file] )
207
+ content.gsub!( item[:regex], version_new )
208
+ File.write( item[:file], content )
209
+ puts "#{File.basename( item[:file] )} changed to '#{version_new}'."
210
+ end
211
+
212
+ Middleman::Middlemac::VERSION.replace version_new
213
+ end