middlemac 2.0.0 → 3.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +7 -0
- data/Gemfile +11 -1
- data/README.md +38 -6
- data/Rakefile +7 -2
- data/documentation_project/.gitignore +1 -1
- data/documentation_project/Contents/Info.plist.erb +1 -1
- data/documentation_project/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/_data/globals.yml +0 -0
- data/documentation_project/Contents/Resources/SharedGlobalAssets/_data/locale-list.json +318 -0
- data/documentation_project/Contents/Resources/SharedGlobalAssets/_layouts/layout-apple-modern-aside.haml +19 -0
- data/documentation_project/Contents/Resources/SharedGlobalAssets/_layouts/layout-apple-modern.haml +61 -0
- data/documentation_project/Contents/Resources/SharedGlobalAssets/_layouts/layout-blank.haml +11 -0
- data/documentation_project/Contents/Resources/SharedGlobalAssets/_partials/_yard_middlemac_config.erb +276 -0
- data/documentation_project/Contents/Resources/SharedGlobalAssets/_partials/_yard_middlemac_helpers.erb +897 -0
- data/documentation_project/Contents/Resources/SharedGlobalAssets/_partials/_yard_middlemac_helpers_extended.erb +369 -0
- data/documentation_project/Contents/Resources/{Base.lproj/assets/partials/_yard_pagegroups_resources.erb → SharedGlobalAssets/_partials/_yard_middlemac_resources.erb} +342 -37
- data/documentation_project/Contents/Resources/{Base.lproj/assets/partials/_yard_targets_config.erb → SharedGlobalAssets/_partials/_yard_mmtargets_config.erb} +15 -110
- data/documentation_project/Contents/Resources/{Base.lproj/assets/partials/_yard_targets_helpers.erb → SharedGlobalAssets/_partials/_yard_mmtargets_helpers.erb} +4 -4
- data/documentation_project/Contents/Resources/{Base.lproj/assets/partials/_yard_targets_helpers_extended.erb → SharedGlobalAssets/_partials/_yard_mmtargets_helpers_extended.erb} +6 -2
- data/documentation_project/Contents/Resources/{Base.lproj/assets/partials/_yard_targets_instance.erb → SharedGlobalAssets/_partials/_yard_mmtargets_instance.erb} +1 -1
- data/documentation_project/Contents/Resources/{Base.lproj/assets/partials/_yard_targets_resources.erb → SharedGlobalAssets/_partials/_yard_mmtargets_resources.erb} +2 -2
- data/documentation_project/Contents/Resources/SharedGlobalAssets/convention/icon-webclip-120x120.png +0 -0
- data/documentation_project/Contents/Resources/SharedGlobalAssets/convention/icon-webclip-152x152.png +0 -0
- data/documentation_project/Contents/Resources/SharedGlobalAssets/convention/icon-webclip-57x57.png +0 -0
- data/documentation_project/Contents/Resources/SharedGlobalAssets/convention/icon-webclip-76x76.png +0 -0
- data/documentation_project/Contents/Resources/SharedGlobalAssets/convention/icon-webclip-ipad.png +0 -0
- data/documentation_project/Contents/Resources/SharedGlobalAssets/convention/icon-webclip-ipad_2x.png +0 -0
- data/documentation_project/Contents/Resources/SharedGlobalAssets/convention/icon-webclip-iphone.png +0 -0
- data/documentation_project/Contents/Resources/SharedGlobalAssets/convention/icon-webclip-iphone_2x.png +0 -0
- data/documentation_project/Contents/Resources/{shared → SharedGlobalAssets/convention}/icon_256x256.png +0 -0
- data/documentation_project/Contents/Resources/{shared → SharedGlobalAssets/convention}/icon_256x256@2x.png +0 -0
- data/documentation_project/Contents/Resources/{shared → SharedGlobalAssets/convention}/icon_32x32.png +0 -0
- data/documentation_project/Contents/Resources/{shared → SharedGlobalAssets/convention}/icon_32x32@2x.png +0 -0
- data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/apple.css +3831 -0
- data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/L0200_LeftArrow_2x.png +0 -0
- data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/L0201_RightArrow_2x.png +0 -0
- data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/arrow-blue.svg +1 -0
- data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/arrow.svg +1 -0
- data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/ask-siri.svg +1 -0
- data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-clear-search.png +0 -0
- data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-close-2.png +0 -0
- data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-close-learnmore.png +0 -0
- data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-close.png +0 -0
- data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-search-small.png +0 -0
- data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-search.png +0 -0
- data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-toc-rtl.png +0 -0
- data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-toc-small-rtl.png +0 -0
- data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-toc-small.png +0 -0
- data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-toc-toggle-rtl.png +0 -0
- data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-toc-toggle.png +0 -0
- data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-toc.png +0 -0
- data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/changelanguage_icon2x.png +0 -0
- data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/force-click.svg +1 -0
- data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-arrow-2.svg +1 -0
- data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-arrow.png +0 -0
- data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-close.svg +1 -0
- data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-external-link-lg.png +0 -0
- data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-external-link.png +0 -0
- data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-pause.svg +1 -0
- data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-play.svg +1 -0
- data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-replay.svg +1 -0
- data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-warning-black.png +0 -0
- data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-warning-eu.png +0 -0
- data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-warning.png +0 -0
- data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-webclip-120x120.png +0 -0
- data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-webclip-152x152.png +0 -0
- data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-webclip-57x57.png +0 -0
- data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-webclip-76x76.png +0 -0
- data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-webclip-ipad.png +0 -0
- data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-webclip-ipad_2x.png +0 -0
- data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-webclip-iphone.png +0 -0
- data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-webclip-iphone_2x.png +0 -0
- data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/movie-play_2x.png +0 -0
- data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/nav-left.svg +1 -0
- data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/nav-paddle-left.png +0 -0
- data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/nav-paddle-right.png +0 -0
- data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/nav-right.svg +1 -0
- data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/search_image_large.svg +1 -0
- data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/tip.svg +1 -0
- data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/toc_blue_large.svg +1 -0
- data/documentation_project/Contents/Resources/SharedGlobalAssets/css/apple/css/img/toc_large.svg +1 -0
- data/documentation_project/Contents/Resources/{Base.lproj/assets/stylesheets/_github.scss → SharedGlobalAssets/css/middlemac/github.css.scss} +0 -0
- data/documentation_project/Contents/Resources/SharedGlobalAssets/css/middlemac/middlemac.css.scss +129 -0
- data/documentation_project/Contents/Resources/SharedGlobalAssets/css/middlemac/note.svg +19 -0
- data/documentation_project/Contents/Resources/SharedGlobalAssets/css/middlemac/tip.svg +1 -0
- data/documentation_project/Contents/Resources/SharedGlobalAssets/css/middlemac/warning.svg +19 -0
- data/documentation_project/Contents/Resources/SharedGlobalAssets/fonts/_dummy.txt +1 -0
- data/documentation_project/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/images/all-sample.png +0 -0
- data/documentation_project/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/images/all-sample@2x.png +0 -0
- data/documentation_project/Contents/Resources/{shared → SharedGlobalAssets/images}/free-icon_256x256.png +0 -0
- data/documentation_project/Contents/Resources/{shared → SharedGlobalAssets/images}/free-icon_256x256@2x.png +0 -0
- data/documentation_project/Contents/Resources/{shared → SharedGlobalAssets/images}/free-icon_32x32.png +0 -0
- data/documentation_project/Contents/Resources/{shared → SharedGlobalAssets/images}/free-icon_32x32@2x.png +0 -0
- data/documentation_project/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/images/free-middlemac-logo-small.png +0 -0
- data/documentation_project/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/images/free-middlemac-logo-small@2x.png +0 -0
- data/documentation_project/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/images/free-middlemac-logo.png +0 -0
- data/documentation_project/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/images/free-middlemac-logo@2x.png +0 -0
- data/documentation_project/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/images/middlemac-logo-small.png +0 -0
- data/documentation_project/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/images/middlemac-logo-small@2x.png +0 -0
- data/documentation_project/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/images/middlemac-logo.png +0 -0
- data/documentation_project/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/images/middlemac-logo@2x.png +0 -0
- data/documentation_project/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/images/mm-targets/free-logo-small.png +0 -0
- data/documentation_project/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/images/mm-targets/free-logo-small@2x.png +0 -0
- data/documentation_project/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/images/mm-targets/free-logo.png +0 -0
- data/documentation_project/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/images/mm-targets/free-logo@2x.png +0 -0
- data/documentation_project/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/images/mm-targets/pro-logo-small.png +0 -0
- data/documentation_project/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/images/mm-targets/pro-logo-small@2x.png +0 -0
- data/documentation_project/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/images/mm-targets/pro-logo.png +0 -0
- data/documentation_project/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/images/mm-targets/pro-logo@2x.png +0 -0
- data/documentation_project/Contents/Resources/{shared → SharedGlobalAssets/images}/pro-icon_256x256.png +0 -0
- data/documentation_project/Contents/Resources/{shared → SharedGlobalAssets/images}/pro-icon_256x256@2x.png +0 -0
- data/documentation_project/Contents/Resources/{shared → SharedGlobalAssets/images}/pro-icon_32x32.png +0 -0
- data/documentation_project/Contents/Resources/{shared → SharedGlobalAssets/images}/pro-icon_32x32@2x.png +0 -0
- data/documentation_project/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/images/pro-middlemac-logo-small.png +0 -0
- data/documentation_project/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/images/pro-middlemac-logo-small@2x.png +0 -0
- data/documentation_project/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/images/pro-middlemac-logo.png +0 -0
- data/documentation_project/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/images/pro-middlemac-logo@2x.png +0 -0
- data/documentation_project/Contents/Resources/SharedGlobalAssets/js/app.5.1.27.js +6295 -0
- data/documentation_project/Contents/Resources/SharedGlobalAssets/js/middlemac-debug.js +20 -0
- data/documentation_project/Contents/Resources/SharedGlobalAssets/js/vendor.js +226 -0
- data/documentation_project/Contents/Resources/en.lproj/010_what_is_middlemac/index.html.md.erb +114 -0
- data/documentation_project/Contents/Resources/en.lproj/020_apple_help_features/index.html.md.erb +241 -0
- data/documentation_project/Contents/Resources/{Base.lproj/020_setup_tutorial/index.html.md.erb → en.lproj/030_get_started/010_set_up_middlemac.html.md.erb} +33 -37
- data/documentation_project/Contents/Resources/en.lproj/030_get_started/020_your_first_help_book.html.md.erb +374 -0
- data/documentation_project/Contents/Resources/en.lproj/030_get_started/030_serve_your_help_book.html.md.erb +97 -0
- data/documentation_project/Contents/Resources/en.lproj/030_get_started/040_build_your_help_book.html.md.erb +56 -0
- data/documentation_project/Contents/Resources/{Base.lproj/030_skills_refresher/10_markdown_skill.html.md.erb → en.lproj/030_get_started/050_about_markdown.html.md.erb} +12 -14
- data/documentation_project/Contents/Resources/{Base.lproj/030_skills_refresher/30_middleman_skill.html.md.erb → en.lproj/030_get_started/060_about_middleman.html.md.erb} +10 -14
- data/documentation_project/Contents/Resources/en.lproj/030_get_started/070_about_ruby.html.md.erb +194 -0
- data/documentation_project/Contents/Resources/en.lproj/030_get_started/aside_frontmatter.html.md.erb +64 -0
- data/documentation_project/Contents/Resources/en.lproj/030_get_started/index.html.md.erb +4 -0
- data/documentation_project/Contents/Resources/en.lproj/040_compose_project/010_setup.html.md.erb +204 -0
- data/documentation_project/Contents/Resources/{Base.lproj/030_skills_refresher/60_filetypes_skill.html.md.erb → en.lproj/040_compose_project/020_filetypes.html.md.erb} +7 -11
- data/documentation_project/Contents/Resources/en.lproj/040_compose_project/030_directory_conventions.html.md.erb +206 -0
- data/documentation_project/Contents/Resources/en.lproj/040_compose_project/040_groups.html.md.erb +96 -0
- data/documentation_project/Contents/Resources/en.lproj/040_compose_project/050_targets_and_features.html.md.erb +220 -0
- data/documentation_project/Contents/Resources/en.lproj/040_compose_project/060_frontmatter.html.md.erb +98 -0
- data/documentation_project/Contents/Resources/{Base.lproj/060_content/100_using_local_data.html.md.erb → en.lproj/040_compose_project/070_local_data.html.md.erb} +22 -9
- data/documentation_project/Contents/Resources/{Base.lproj/060_content/030_helpers.html.md.erb → en.lproj/040_compose_project/080_helpers/010_helpers.html.md.erb} +35 -69
- data/documentation_project/Contents/Resources/en.lproj/040_compose_project/080_helpers/020_markdown_links.html.md.erb +51 -0
- data/documentation_project/Contents/Resources/en.lproj/040_compose_project/080_helpers/030_markdown_images.html.md.erb +52 -0
- data/documentation_project/Contents/Resources/en.lproj/040_compose_project/080_helpers/index.html.md.erb +4 -0
- data/documentation_project/Contents/Resources/en.lproj/040_compose_project/090_partials.html.md.erb +64 -0
- data/documentation_project/Contents/Resources/en.lproj/040_compose_project/100_resources.html.md.erb +36 -0
- data/documentation_project/Contents/Resources/en.lproj/040_compose_project/110_implement_features.html.md.erb +197 -0
- data/documentation_project/Contents/Resources/en.lproj/040_compose_project/120_preview_build.html.md.erb +85 -0
- data/documentation_project/Contents/Resources/en.lproj/040_compose_project/index.html.md.erb +4 -0
- data/documentation_project/Contents/Resources/{Base.lproj/050_structure → en.lproj/040_compose_project}/not_free.html.md.erb +4 -11
- data/documentation_project/Contents/Resources/{Base.lproj/050_structure → en.lproj/040_compose_project}/not_pro.html.md.erb +4 -11
- data/documentation_project/Contents/Resources/en.lproj/100_reference/010_apple_help_books/010_dissect_help_book.html.md.erb +295 -0
- data/documentation_project/Contents/Resources/en.lproj/100_reference/010_apple_help_books/020_dissect_modern_help.html.md.erb +246 -0
- data/documentation_project/Contents/Resources/en.lproj/100_reference/010_apple_help_books/index.html.md.erb +4 -0
- data/documentation_project/Contents/Resources/en.lproj/100_reference/030_backwards_compatibility.html.md.erb +82 -0
- data/documentation_project/Contents/Resources/en.lproj/100_reference/040_directory_reference.html.md.erb +260 -0
- data/documentation_project/Contents/Resources/en.lproj/100_reference/050_xcode_integration.html.md.erb +165 -0
- data/documentation_project/Contents/Resources/{Base.lproj/100_reference/10_cli_ref.html.md.erb → en.lproj/100_reference/060_cli_ref.html.md.erb} +3 -29
- data/documentation_project/Contents/Resources/en.lproj/100_reference/080_frontmatter_reference.html.md.erb +111 -0
- data/documentation_project/Contents/Resources/en.lproj/100_reference/120_api_reference/070_config_ref.html.md.erb +31 -0
- data/documentation_project/Contents/Resources/en.lproj/100_reference/120_api_reference/090_helpers_ref.html.md.erb +20 -0
- data/documentation_project/Contents/Resources/{Base.lproj/100_reference/30_helpers_ext_ref.html.md.erb → en.lproj/100_reference/120_api_reference/091_helpers_ext_ref.html.md.erb} +3 -21
- data/documentation_project/Contents/Resources/{Base.lproj/100_reference/50_resource_ext_ref.html.md.erb → en.lproj/100_reference/120_api_reference/100_resource_ext_ref.html.md.erb} +3 -8
- data/documentation_project/Contents/Resources/en.lproj/100_reference/120_api_reference/index.html.md.erb +4 -0
- data/documentation_project/Contents/Resources/en.lproj/100_reference/index.html.md.erb +4 -0
- data/documentation_project/Contents/Resources/{Base.lproj → en.lproj}/110_acknowledgements/index.html.md.erb +5 -7
- data/documentation_project/Contents/Resources/en.lproj/ExactMatch.plist.erb +15 -0
- data/documentation_project/Contents/Resources/{Base.lproj → en.lproj}/InfoPlist.strings.erb +0 -0
- data/documentation_project/Contents/Resources/en.lproj/asides/aside_description.html.md.erb +21 -0
- data/documentation_project/Contents/Resources/en.lproj/assets/images/apple_help_books_folder_reference.png +0 -0
- data/documentation_project/Contents/Resources/en.lproj/assets/images/apple_help_books_project_membership.png +0 -0
- data/documentation_project/Contents/Resources/en.lproj/assets/images/apple_help_features_aside_example.png +0 -0
- data/documentation_project/Contents/Resources/en.lproj/assets/images/apple_help_features_chapter_heading.png +0 -0
- data/documentation_project/Contents/Resources/en.lproj/assets/images/apple_help_features_copyright_footer.png +0 -0
- data/documentation_project/Contents/Resources/en.lproj/assets/images/apple_help_features_landing_links.png +0 -0
- data/documentation_project/Contents/Resources/en.lproj/assets/images/apple_help_features_language_chooser.png +0 -0
- data/documentation_project/Contents/Resources/en.lproj/assets/images/apple_help_features_navigator.png +0 -0
- data/documentation_project/Contents/Resources/en.lproj/assets/images/apple_help_features_see_also.png +0 -0
- data/documentation_project/Contents/Resources/en.lproj/assets/images/apple_help_features_title_icons.png +0 -0
- data/documentation_project/Contents/Resources/en.lproj/assets/images/apple_help_features_universal.png +0 -0
- data/documentation_project/Contents/Resources/en.lproj/assets/images/get_started_init_contents.png +0 -0
- data/documentation_project/Contents/Resources/en.lproj/assets/images/get_started_init_english.png +0 -0
- data/documentation_project/Contents/Resources/en.lproj/assets/images/xcode_integration_config_sets.png +0 -0
- data/documentation_project/Contents/Resources/en.lproj/assets/images/xcode_integration_plist_definitions.png +0 -0
- data/documentation_project/Contents/Resources/en.lproj/assets/images/xcode_integration_target_dependencies.png +0 -0
- data/documentation_project/Contents/Resources/en.lproj/assets/images/xcode_integration_target_template.png +0 -0
- data/documentation_project/Contents/Resources/en.lproj/assets/images/xcode_integration_tool_configuration.png +0 -0
- data/documentation_project/Contents/Resources/{Base.lproj → en.lproj}/index.html.md.erb +3 -13
- data/documentation_project/Contents/Resources/en.lproj/locale-info.json.erb +16 -0
- data/documentation_project/Contents/Resources/en.lproj/navigation.json.erb +57 -0
- data/documentation_project/Contents/Resources/en.lproj/searchTree.json.erb +1 -0
- data/documentation_project/Contents/Resources/es.lproj/ExactMatch.plist.erb +15 -0
- data/{fixtures/middlemac_app/Contents/Resources/Base.lproj → documentation_project/Contents/Resources/es.lproj}/InfoPlist.strings.erb +0 -0
- data/documentation_project/Contents/Resources/es.lproj/index.html.md.erb +27 -0
- data/documentation_project/Contents/Resources/es.lproj/locale-info.json.erb +16 -0
- data/documentation_project/Contents/Resources/es.lproj/navigation.json.erb +57 -0
- data/documentation_project/Contents/Resources/es.lproj/searchTree.json.erb +1 -0
- data/documentation_project/Contents/Resources/index.html.erb +118 -0
- data/documentation_project/Contents/Resources/locale-list.json.erb +14 -0
- data/documentation_project/Gemfile +4 -17
- data/documentation_project/HelpViewerApp/HelpViewerApp/AppDelegate.h +1 -0
- data/documentation_project/HelpViewerApp/HelpViewerApp/AppDelegate.m +6 -0
- data/documentation_project/HelpViewerApp/HelpViewerApp/Base.lproj/MainMenu.xib +39 -10
- data/documentation_project/HelpViewerApp/HelpViewerApp/Info-free.plist +4 -4
- data/documentation_project/HelpViewerApp/HelpViewerApp/Info-pro.plist +4 -4
- data/documentation_project/HelpViewerApp/HelpViewerApp/versions.xcconfig +8 -0
- data/documentation_project/HelpViewerApp/HelpViewerApp.xcodeproj/project.pbxproj +79 -101
- data/documentation_project/HelpViewerApp/HelpViewerApp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
- data/documentation_project/HelpViewerApp/HelpViewerApp.xcodeproj/xcshareddata/xcschemes/Help (free).xcscheme +11 -6
- data/documentation_project/HelpViewerApp/HelpViewerApp.xcodeproj/xcshareddata/xcschemes/Help (pro).xcscheme +80 -0
- data/documentation_project/HelpViewerApp/HelpViewerApp.xcodeproj/xcshareddata/xcschemes/HelpViewerApp (free).xcscheme +1 -1
- data/documentation_project/HelpViewerApp/HelpViewerApp.xcodeproj/xcshareddata/xcschemes/HelpViewerApp (pro).xcscheme +1 -1
- data/documentation_project/HelpViewerApp/README.md +6 -26
- data/documentation_project/{Middlemac (free).help → Middlemac_(free).help}/.gitignore +0 -0
- data/documentation_project/{Middlemac (pro).help → Middlemac_(pro).help}/.gitignore +0 -0
- data/documentation_project/config.rb +68 -100
- data/documentation_project/makefile +93 -0
- data/documentation_project/middlemac.webloc +0 -0
- data/features/helpers_features.feature +59 -0
- data/features/main_features.feature +21 -17
- data/features/support/env.rb +0 -14
- data/fixtures/middlemac_app/.gitignore +0 -1
- data/fixtures/middlemac_app/Contents/Info.plist.erb +1 -1
- data/fixtures/middlemac_app/Contents/Resources/{Base.lproj/assets → SharedGlobalAssets}/_data/globals.yml +0 -0
- data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/_data/locale-list.json +318 -0
- data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/_layouts/layout-apple-modern-aside.haml +19 -0
- data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/_layouts/layout-apple-modern.haml +61 -0
- data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/_layouts/layout-blank.haml +11 -0
- data/fixtures/middlemac_app/Contents/Resources/{Base.lproj/assets/partials → SharedGlobalAssets/_partials}/_partials_dir_partial.erb +0 -0
- data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/convention/icon-webclip-120x120.png +0 -0
- data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/convention/icon-webclip-152x152.png +0 -0
- data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/convention/icon-webclip-57x57.png +0 -0
- data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/convention/icon-webclip-76x76.png +0 -0
- data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/convention/icon-webclip-ipad.png +0 -0
- data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/convention/icon-webclip-ipad_2x.png +0 -0
- data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/convention/icon-webclip-iphone.png +0 -0
- data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/convention/icon-webclip-iphone_2x.png +0 -0
- data/fixtures/middlemac_app/Contents/Resources/{shared → SharedGlobalAssets/convention}/icon_256x256.png +0 -0
- data/fixtures/middlemac_app/Contents/Resources/{shared → SharedGlobalAssets/convention}/icon_256x256@2x.png +0 -0
- data/fixtures/middlemac_app/Contents/Resources/{shared → SharedGlobalAssets/convention}/icon_32x32.png +0 -0
- data/fixtures/middlemac_app/Contents/Resources/{shared → SharedGlobalAssets/convention}/icon_32x32@2x.png +0 -0
- data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/apple.css +3831 -0
- data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/L0200_LeftArrow_2x.png +0 -0
- data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/L0201_RightArrow_2x.png +0 -0
- data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/arrow-blue.svg +1 -0
- data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/arrow.svg +1 -0
- data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/ask-siri.svg +1 -0
- data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-clear-search.png +0 -0
- data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-close-2.png +0 -0
- data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-close-learnmore.png +0 -0
- data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-close.png +0 -0
- data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-search-small.png +0 -0
- data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-search.png +0 -0
- data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-toc-rtl.png +0 -0
- data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-toc-small-rtl.png +0 -0
- data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-toc-small.png +0 -0
- data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-toc-toggle-rtl.png +0 -0
- data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-toc-toggle.png +0 -0
- data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/button-toc.png +0 -0
- data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/changelanguage_icon2x.png +0 -0
- data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/force-click.svg +1 -0
- data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-arrow-2.svg +1 -0
- data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-arrow.png +0 -0
- data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-close.svg +1 -0
- data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-external-link-lg.png +0 -0
- data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-external-link.png +0 -0
- data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-pause.svg +1 -0
- data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-play.svg +1 -0
- data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-replay.svg +1 -0
- data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-warning-black.png +0 -0
- data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-warning-eu.png +0 -0
- data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-warning.png +0 -0
- data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-webclip-120x120.png +0 -0
- data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-webclip-152x152.png +0 -0
- data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-webclip-57x57.png +0 -0
- data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-webclip-76x76.png +0 -0
- data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-webclip-ipad.png +0 -0
- data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-webclip-ipad_2x.png +0 -0
- data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-webclip-iphone.png +0 -0
- data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/icon-webclip-iphone_2x.png +0 -0
- data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/movie-play_2x.png +0 -0
- data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/nav-left.svg +1 -0
- data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/nav-paddle-left.png +0 -0
- data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/nav-paddle-right.png +0 -0
- data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/nav-right.svg +1 -0
- data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/search_image_large.svg +1 -0
- data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/tip.svg +1 -0
- data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/toc_blue_large.svg +1 -0
- data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/apple/css/img/toc_large.svg +1 -0
- data/fixtures/middlemac_app/Contents/Resources/{Base.lproj/assets/stylesheets/_github.scss → SharedGlobalAssets/css/middlemac/github.css.scss} +0 -0
- data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/middlemac/middlemac.css.scss +129 -0
- data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/middlemac/note.svg +19 -0
- data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/middlemac/tip.svg +1 -0
- data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/css/middlemac/warning.svg +19 -0
- data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/fonts/_dummy.txt +1 -0
- data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/images/global_thing_32x32.png +0 -0
- data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/js/app.5.1.27.js +6295 -0
- data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/js/middlemac-debug.js +20 -0
- data/fixtures/middlemac_app/Contents/Resources/SharedGlobalAssets/js/vendor.js +226 -0
- data/fixtures/middlemac_app/Contents/Resources/en.lproj/10_hello_world_file.html.md.erb +17 -0
- data/fixtures/middlemac_app/Contents/Resources/en.lproj/30_sample_group_number_one/index.html.md.erb +8 -0
- data/fixtures/middlemac_app/Contents/Resources/en.lproj/30_sample_group_number_one/page_one.html.md.erb +108 -0
- data/fixtures/middlemac_app/Contents/Resources/en.lproj/30_sample_group_number_one/page_two.html.md.erb +36 -0
- data/fixtures/middlemac_app/Contents/Resources/{Base.lproj → en.lproj}/40_sample_group_number_two/01_nested_group_example/01_page_one.html.md.erb +0 -5
- data/fixtures/middlemac_app/Contents/Resources/{Base.lproj → en.lproj}/40_sample_group_number_two/01_nested_group_example/02_pagina_dos.html.md.erb +0 -5
- data/fixtures/middlemac_app/Contents/Resources/{Base.lproj → en.lproj}/40_sample_group_number_two/01_nested_group_example/03_page_san.html.md.erb +0 -5
- data/fixtures/middlemac_app/Contents/Resources/en.lproj/40_sample_group_number_two/01_nested_group_example/index.html.md.erb +4 -0
- data/fixtures/middlemac_app/Contents/Resources/{Base.lproj → en.lproj}/40_sample_group_number_two/02_page_two.html.md.erb +0 -5
- data/fixtures/middlemac_app/Contents/Resources/{Base.lproj → en.lproj}/40_sample_group_number_two/03_page_three.html.md.erb +0 -5
- data/fixtures/middlemac_app/Contents/Resources/en.lproj/40_sample_group_number_two/index.html.md.erb +4 -0
- data/fixtures/middlemac_app/Contents/Resources/en.lproj/50_testing_world_file.html.md.erb +58 -0
- data/fixtures/middlemac_app/Contents/Resources/en.lproj/60_goodbye_world_file.html.md.erb +203 -0
- data/fixtures/middlemac_app/Contents/Resources/en.lproj/ExactMatch.plist.erb +15 -0
- data/fixtures/middlemac_app/Contents/Resources/en.lproj/InfoPlist.strings.erb +10 -0
- data/fixtures/middlemac_app/Contents/Resources/{Base.lproj → en.lproj}/_new_style_partial.erb +0 -0
- data/fixtures/middlemac_app/Contents/Resources/en.lproj/asides/aside_description.html.md.erb +20 -0
- data/fixtures/middlemac_app/Contents/Resources/en.lproj/assets/_partials/_localized_partials_dir_partial.erb +1 -0
- data/fixtures/middlemac_app/Contents/Resources/en.lproj/assets/images/all-graphic_32x32.png +0 -0
- data/fixtures/middlemac_app/Contents/Resources/en.lproj/assets/images/neat_thing_32x32.png +0 -0
- data/fixtures/middlemac_app/Contents/Resources/en.lproj/assets/images/subdirectory/logo_32x32.png +0 -0
- data/fixtures/middlemac_app/Contents/Resources/en.lproj/assets/images/subdirectory/pro-image_32x32.png +0 -0
- data/fixtures/middlemac_app/Contents/Resources/en.lproj/copyright.html.md.erb +19 -0
- data/fixtures/middlemac_app/Contents/Resources/en.lproj/index.html.md.erb +20 -0
- data/fixtures/middlemac_app/Contents/Resources/en.lproj/locale-info.json.erb +16 -0
- data/fixtures/middlemac_app/Contents/Resources/en.lproj/navigation.json.erb +57 -0
- data/fixtures/middlemac_app/Contents/Resources/en.lproj/searchTree.json.erb +1 -0
- data/fixtures/middlemac_app/Contents/Resources/es.lproj/10_hola_mundo_file.html.md.erb +15 -0
- data/fixtures/middlemac_app/Contents/Resources/es.lproj/60_goodbye_world_file.html.md.erb +193 -0
- data/fixtures/middlemac_app/Contents/Resources/es.lproj/ExactMatch.plist.erb +15 -0
- data/fixtures/middlemac_app/Contents/Resources/es.lproj/InfoPlist.strings.erb +10 -0
- data/fixtures/middlemac_app/Contents/Resources/es.lproj/assets/images/all-graphic_32x32.png +0 -0
- data/fixtures/middlemac_app/Contents/Resources/es.lproj/assets/images/neat_thing_32x32.png +0 -0
- data/fixtures/middlemac_app/Contents/Resources/es.lproj/assets/images/subdirectory/logo_32x32.png +0 -0
- data/fixtures/middlemac_app/Contents/Resources/es.lproj/assets/images/subdirectory/pro-image_32x32.png +0 -0
- data/fixtures/middlemac_app/Contents/Resources/es.lproj/copyright.html.md.erb +19 -0
- data/fixtures/middlemac_app/Contents/Resources/es.lproj/index.html.md.erb +21 -0
- data/fixtures/middlemac_app/Contents/Resources/es.lproj/locale-info.json.erb +16 -0
- data/fixtures/middlemac_app/Contents/Resources/es.lproj/navigation.json.erb +57 -0
- data/fixtures/middlemac_app/Contents/Resources/es.lproj/searchTree.json.erb +1 -0
- data/fixtures/middlemac_app/Contents/Resources/index.html.erb +118 -0
- data/fixtures/middlemac_app/Contents/Resources/locale-list.json.erb +14 -0
- data/fixtures/middlemac_app/Gemfile +4 -17
- data/fixtures/middlemac_app/config.rb +71 -100
- data/fixtures/middlemac_app/makefile +93 -0
- data/fixtures/middlemac_app/middlemac.webloc +0 -0
- data/lib/middlemac/extension.rb +123 -211
- data/lib/middlemac/helpers.rb +470 -0
- data/lib/middlemac/private.rb +494 -0
- data/lib/middlemac/sitemap.rb +516 -0
- data/lib/middlemac/trie.rb +37 -0
- data/lib/middlemac/version.rb +1 -1
- data/lib/middlemac.rb +4 -0
- data/middlemac.gemspec +7 -6
- data/resources/stopwords/ar.plist +206 -0
- data/resources/stopwords/ca.plist +0 -0
- data/resources/stopwords/cs.plist +30 -0
- data/resources/stopwords/da.plist +6 -0
- data/resources/stopwords/de.plist +119 -0
- data/resources/stopwords/el.plist +0 -0
- data/resources/stopwords/en.plist +0 -0
- data/resources/stopwords/es.plist +282 -0
- data/resources/stopwords/es_419.plist +282 -0
- data/resources/stopwords/fi.plist +206 -0
- data/resources/stopwords/fr.plist +132 -0
- data/resources/stopwords/he.plist +0 -0
- data/resources/stopwords/hr.plist +0 -0
- data/resources/stopwords/hu.plist +44 -0
- data/resources/stopwords/id.plist +6 -0
- data/resources/stopwords/it.plist +153 -0
- data/resources/stopwords/ja.plist +6 -0
- data/resources/stopwords/ko.plist +106 -0
- data/resources/stopwords/ms.plist +6 -0
- data/resources/stopwords/nl.plist +198 -0
- data/resources/stopwords/no.plist +207 -0
- data/resources/stopwords/pl.plist +207 -0
- data/resources/stopwords/pt.plist +207 -0
- data/resources/stopwords/pt_PT.plist +207 -0
- data/resources/stopwords/ro.plist +0 -0
- data/resources/stopwords/ru.plist +207 -0
- data/resources/stopwords/sk.plist +0 -0
- data/resources/stopwords/sv.plist +280 -0
- data/resources/stopwords/th.plist +56 -0
- data/resources/stopwords/tr.plist +200 -0
- data/resources/stopwords/uk.plist +764 -0
- data/resources/stopwords/vi.plist +6 -0
- data/resources/stopwords/zh_CN.plist +207 -0
- data/resources/stopwords/zh_TW.plist +207 -0
- data/yard/readme.md +4 -4
- metadata +394 -219
- data/documentation_project/Contents/Resources/Base.lproj/010_what_is_middlemac/index.html.md.erb +0 -126
- data/documentation_project/Contents/Resources/Base.lproj/030_skills_refresher/20_frontmatter_skill.html.md.erb +0 -54
- data/documentation_project/Contents/Resources/Base.lproj/030_skills_refresher/40_ruby_skill.html.md.erb +0 -67
- data/documentation_project/Contents/Resources/Base.lproj/030_skills_refresher/50_ruby_ecosystem.html.md.erb +0 -136
- data/documentation_project/Contents/Resources/Base.lproj/030_skills_refresher/index.html.md.erb +0 -35
- data/documentation_project/Contents/Resources/Base.lproj/040_setup/index.html.md.erb +0 -88
- data/documentation_project/Contents/Resources/Base.lproj/050_structure/010_directories_and_images.html.md.erb +0 -176
- data/documentation_project/Contents/Resources/Base.lproj/050_structure/020_layouts_and_templates.html.md.erb +0 -71
- data/documentation_project/Contents/Resources/Base.lproj/050_structure/025_css.html.md.erb +0 -71
- data/documentation_project/Contents/Resources/Base.lproj/050_structure/030_groups.html.md.erb +0 -83
- data/documentation_project/Contents/Resources/Base.lproj/050_structure/040_breadcrumbs.html.md.erb +0 -43
- data/documentation_project/Contents/Resources/Base.lproj/050_structure/050_navigator.html.md.erb +0 -26
- data/documentation_project/Contents/Resources/Base.lproj/050_structure/060_targets.html.md.erb +0 -63
- data/documentation_project/Contents/Resources/Base.lproj/050_structure/070_features.html.md.erb +0 -122
- data/documentation_project/Contents/Resources/Base.lproj/050_structure/index.html.md.erb +0 -21
- data/documentation_project/Contents/Resources/Base.lproj/060_content/010_frontmatter.html.md.erb +0 -88
- data/documentation_project/Contents/Resources/Base.lproj/060_content/040_partials.html.md.erb +0 -121
- data/documentation_project/Contents/Resources/Base.lproj/060_content/050_resources.html.md.erb +0 -60
- data/documentation_project/Contents/Resources/Base.lproj/060_content/070_including_excluding.html.md.erb +0 -68
- data/documentation_project/Contents/Resources/Base.lproj/060_content/080_markdown_links_images.html.md.erb +0 -93
- data/documentation_project/Contents/Resources/Base.lproj/060_content/090_css_image_sizes.html.md.erb +0 -90
- data/documentation_project/Contents/Resources/Base.lproj/060_content/index.html.md.erb +0 -21
- data/documentation_project/Contents/Resources/Base.lproj/070_preview_build/index.html.md.erb +0 -78
- data/documentation_project/Contents/Resources/Base.lproj/090_build_application/10_apple_help_setup.html.md.erb +0 -110
- data/documentation_project/Contents/Resources/Base.lproj/090_build_application/20_xcode_integration.html.md.erb +0 -64
- data/documentation_project/Contents/Resources/Base.lproj/090_build_application/index.html.md.erb +0 -25
- data/documentation_project/Contents/Resources/Base.lproj/100_reference/20_config_ref.html.md.erb +0 -56
- data/documentation_project/Contents/Resources/Base.lproj/100_reference/40_helpers_ref.html.md.erb +0 -45
- data/documentation_project/Contents/Resources/Base.lproj/100_reference/index.html.md.erb +0 -26
- data/documentation_project/Contents/Resources/Base.lproj/120_backwards_compatibility/index.html.md.erb +0 -88
- data/documentation_project/Contents/Resources/Base.lproj/130_all_help_content/index.html.md.erb +0 -15
- data/documentation_project/Contents/Resources/Base.lproj/assets/_layouts/layout-html4.haml +0 -22
- data/documentation_project/Contents/Resources/Base.lproj/assets/_layouts/layout-xhtml.haml +0 -28
- data/documentation_project/Contents/Resources/Base.lproj/assets/_layouts/template-logo-large.haml +0 -30
- data/documentation_project/Contents/Resources/Base.lproj/assets/_layouts/template-logo-medium.haml +0 -30
- data/documentation_project/Contents/Resources/Base.lproj/assets/_layouts/template-logo-small.haml +0 -30
- data/documentation_project/Contents/Resources/Base.lproj/assets/fonts/font-awesome/FontAwesome.otf +0 -0
- data/documentation_project/Contents/Resources/Base.lproj/assets/fonts/font-awesome/fontawesome-webfont.eot +0 -0
- data/documentation_project/Contents/Resources/Base.lproj/assets/fonts/font-awesome/fontawesome-webfont.svg +0 -655
- data/documentation_project/Contents/Resources/Base.lproj/assets/fonts/font-awesome/fontawesome-webfont.ttf +0 -0
- data/documentation_project/Contents/Resources/Base.lproj/assets/fonts/font-awesome/fontawesome-webfont.woff +0 -0
- data/documentation_project/Contents/Resources/Base.lproj/assets/fonts/font-awesome/fontawesome-webfont.woff2 +0 -0
- data/documentation_project/Contents/Resources/Base.lproj/assets/images/mm-extras/middlemac-extras-small.png +0 -0
- data/documentation_project/Contents/Resources/Base.lproj/assets/images/mm-extras/middlemac-extras-small@2x.png +0 -0
- data/documentation_project/Contents/Resources/Base.lproj/assets/images/mm-extras/middlemac-extras.png +0 -0
- data/documentation_project/Contents/Resources/Base.lproj/assets/images/mm-extras/middlemac-extras@2x.png +0 -0
- data/documentation_project/Contents/Resources/Base.lproj/assets/images/mm-extras/sub_images/middlemac-extras-small.png +0 -0
- data/documentation_project/Contents/Resources/Base.lproj/assets/images/mm-extras/sub_images/middlemac-extras-small@2x.png +0 -0
- data/documentation_project/Contents/Resources/Base.lproj/assets/images/mm-extras/sub_images/middlemac-extras.png +0 -0
- data/documentation_project/Contents/Resources/Base.lproj/assets/images/mm-extras/sub_images/middlemac-extras@2x.png +0 -0
- data/documentation_project/Contents/Resources/Base.lproj/assets/images/mm-pagegroups/middleman-pagegroups-small.png +0 -0
- data/documentation_project/Contents/Resources/Base.lproj/assets/images/mm-pagegroups/middleman-pagegroups.png +0 -0
- data/documentation_project/Contents/Resources/Base.lproj/assets/javascripts/all.js +0 -1
- data/documentation_project/Contents/Resources/Base.lproj/assets/partials/_nav_breadcrumbs.haml +0 -11
- data/documentation_project/Contents/Resources/Base.lproj/assets/partials/_nav_breadcrumbs_alt.haml +0 -15
- data/documentation_project/Contents/Resources/Base.lproj/assets/partials/_nav_brethren.haml +0 -18
- data/documentation_project/Contents/Resources/Base.lproj/assets/partials/_nav_brethren_index.haml +0 -14
- data/documentation_project/Contents/Resources/Base.lproj/assets/partials/_nav_legitimate_children.haml +0 -16
- data/documentation_project/Contents/Resources/Base.lproj/assets/partials/_nav_prev_next.haml +0 -21
- data/documentation_project/Contents/Resources/Base.lproj/assets/partials/_nav_toc_index.haml +0 -21
- data/documentation_project/Contents/Resources/Base.lproj/assets/partials/_yard_extras_config.erb +0 -200
- data/documentation_project/Contents/Resources/Base.lproj/assets/partials/_yard_extras_helpers.erb +0 -146
- data/documentation_project/Contents/Resources/Base.lproj/assets/partials/_yard_extras_helpers_extended.erb +0 -135
- data/documentation_project/Contents/Resources/Base.lproj/assets/partials/_yard_middlemac_config.erb +0 -207
- data/documentation_project/Contents/Resources/Base.lproj/assets/partials/_yard_middlemac_helpers.erb +0 -297
- data/documentation_project/Contents/Resources/Base.lproj/assets/partials/_yard_middlemac_helpers_extended.erb +0 -96
- data/documentation_project/Contents/Resources/Base.lproj/assets/partials/_yard_pagegroups_config.erb +0 -744
- data/documentation_project/Contents/Resources/Base.lproj/assets/partials/_yard_pagegroups_helpers.erb +0 -710
- data/documentation_project/Contents/Resources/Base.lproj/assets/partials/_yard_pagegroups_helpers_css.erb +0 -523
- data/documentation_project/Contents/Resources/Base.lproj/assets/partials/_yard_pagegroups_helpers_extended.erb +0 -56
- data/documentation_project/Contents/Resources/Base.lproj/assets/stylesheets/_apple_helpbook.scss +0 -946
- data/documentation_project/Contents/Resources/Base.lproj/assets/stylesheets/_normalize.scss +0 -374
- data/documentation_project/Contents/Resources/Base.lproj/assets/stylesheets/breadcrumb-separator-light.png +0 -0
- data/documentation_project/Contents/Resources/Base.lproj/assets/stylesheets/image_sizes.css.erb +0 -8
- data/documentation_project/Contents/Resources/Base.lproj/assets/stylesheets/style.css.scss +0 -4
- data/fixtures/middlemac_app/Contents/Resources/Base.lproj/10_hello_world_file.html.md.erb +0 -22
- data/fixtures/middlemac_app/Contents/Resources/Base.lproj/20_goodbye_world_file.html.md.erb +0 -22
- data/fixtures/middlemac_app/Contents/Resources/Base.lproj/30_sample_group_number_one/index.html.md.erb +0 -24
- data/fixtures/middlemac_app/Contents/Resources/Base.lproj/30_sample_group_number_one/page_one.html.md.erb +0 -20
- data/fixtures/middlemac_app/Contents/Resources/Base.lproj/30_sample_group_number_one/page_two.html.md.erb +0 -19
- data/fixtures/middlemac_app/Contents/Resources/Base.lproj/40_sample_group_number_two/01_nested_group_example/index.html.md.erb +0 -18
- data/fixtures/middlemac_app/Contents/Resources/Base.lproj/40_sample_group_number_two/index.html.md.erb +0 -24
- data/fixtures/middlemac_app/Contents/Resources/Base.lproj/45_testing_world_file.html.md.erb +0 -55
- data/fixtures/middlemac_app/Contents/Resources/Base.lproj/50_entire_world_file.html.md.erb +0 -15
- data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/_layouts/layout-html4.haml +0 -22
- data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/_layouts/layout-xhtml.haml +0 -28
- data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/_layouts/template-logo-large.haml +0 -30
- data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/_layouts/template-logo-medium.haml +0 -30
- data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/_layouts/template-logo-small.haml +0 -30
- data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/fonts/font-awesome/FontAwesome.otf +0 -0
- data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/fonts/font-awesome/fontawesome-webfont.eot +0 -0
- data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/fonts/font-awesome/fontawesome-webfont.svg +0 -655
- data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/fonts/font-awesome/fontawesome-webfont.ttf +0 -0
- data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/fonts/font-awesome/fontawesome-webfont.woff +0 -0
- data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/fonts/font-awesome/fontawesome-webfont.woff2 +0 -0
- data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/images/_empty_directory.html.md.erb +0 -1
- data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/javascripts/all.js +0 -1
- data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/partials/_nav_breadcrumbs.haml +0 -11
- data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/partials/_nav_breadcrumbs_alt.haml +0 -15
- data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/partials/_nav_brethren.haml +0 -18
- data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/partials/_nav_brethren_index.haml +0 -14
- data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/partials/_nav_legitimate_children.haml +0 -16
- data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/partials/_nav_prev_next.haml +0 -21
- data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/partials/_nav_toc_index.haml +0 -21
- data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/stylesheets/_apple_helpbook.scss +0 -946
- data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/stylesheets/_normalize.scss +0 -374
- data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/stylesheets/breadcrumb-separator-light.png +0 -0
- data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/stylesheets/image_sizes.css.erb +0 -8
- data/fixtures/middlemac_app/Contents/Resources/Base.lproj/assets/stylesheets/style.css.scss +0 -4
- data/fixtures/middlemac_app/Contents/Resources/Base.lproj/index.html.md.erb +0 -17
@@ -0,0 +1,374 @@
|
|
1
|
+
---
|
2
|
+
title: Your First Help Book
|
3
|
+
blurb: This walkthrough takes you through the quick process of creating
|
4
|
+
and composing your very first Help Book. Along the way you’ll touch
|
5
|
+
upon most of the skills that you need to be successful on larger
|
6
|
+
projects.
|
7
|
+
---
|
8
|
+
<%= md_links %>
|
9
|
+
<%= md_images %>
|
10
|
+
|
11
|
+
<%= current_page.data.blurb %>
|
12
|
+
|
13
|
+
|
14
|
+
<% helpbook_task "first_project_01", "Install a (nearly) empty project template" do %>
|
15
|
+
|
16
|
+
After [setting up _Middlemac_][set_up_middlemac], you’re ready to to start
|
17
|
+
**Your First Help Book** project. From within your **Terminal** application,
|
18
|
+
make sure you’re in the directory of your choice. You will instruct
|
19
|
+
_Middlemac_ to create a starter project in this location. Then:
|
20
|
+
|
21
|
+
~~~ bash
|
22
|
+
bundle exec middlemac init
|
23
|
+
~~~
|
24
|
+
|
25
|
+
In theory, `middlemac init` should be enough, but prefixing Ruby binaries with
|
26
|
+
`bundle exec` ensures that the environment is correctly set up to handle any
|
27
|
+
dependencies.
|
28
|
+
{: .note .callout}
|
29
|
+
|
30
|
+
Feel free to `cd` into the newly created `middlemac-init/` directory, and have
|
31
|
+
a look around. Or browse its contents in **Finder**. You’re free to rename
|
32
|
+
this directory to something meaningful, but we’ll refer to it by its current
|
33
|
+
name throughout this tutorial.
|
34
|
+
![Contents of middlemac-init folder][get_started_init_contents]
|
35
|
+
|
36
|
+
You should notice fairly quickly that the directory contents resemble that of
|
37
|
+
a typical Apple bundle format. The paths `Contents/Resources/en.lproj/` and
|
38
|
+
`Contents/Resources/Info.plist.erb` are standard bundle contents, after all,
|
39
|
+
other than that strange `.erb` file type added to `Info.plist`.
|
40
|
+
|
41
|
+
In this exercise, we’ll be using the `en.lproj/` for our work. The `es.lproj/`
|
42
|
+
directory is simply installed as a “quick start” for writing multilingual
|
43
|
+
Help Books. If you choose to develop a Help Book for a language other than
|
44
|
+
English, then it’s probably safe to change the name of the `en.lproj`, but
|
45
|
+
skip ahead to [Localization][localization] to ensure that you name the folder
|
46
|
+
properly.
|
47
|
+
|
48
|
+
|
49
|
+
<% end %>
|
50
|
+
<% helpbook_task "first_project_02", "Examine the Key Project Files" do %>
|
51
|
+
|
52
|
+
![Contents of middlemac-init folder][get_started_init_contents]
|
53
|
+
|
54
|
+
Have a look at the files above the `en.lproj` level, and the file contents.
|
55
|
+
In most cases, you won’t have to make modifications to any of these, other
|
56
|
+
than providing your own assets in `SharedGlobalAssets/`, and managing the
|
57
|
+
configuration in `config.rb`. This documentation’s **Reference** section
|
58
|
+
contains a [full description][directory_reference] of each of these files.
|
59
|
+
|
60
|
+
A couple of key points:
|
61
|
+
|
62
|
+
- Files with the `.erb` extension are “embedded Ruby”, i.e., they are are
|
63
|
+
Markdown and/or HTML files that have Ruby code which will be executing
|
64
|
+
when serving or building your Help Books. Other than for HTML files that
|
65
|
+
you create, these `.erb` files are used by _Middlemac_ to build you help
|
66
|
+
project. The only thing you have to do with them is not delete them.
|
67
|
+
- The `config.rb` file is where you will configure some of the build options,
|
68
|
+
metadata, and target/feature information for your project. For now, simply
|
69
|
+
have a look to become acquainted with it. It’s very well documented.
|
70
|
+
- The `makefile` might be used if you care to use **Xcode** for building your
|
71
|
+
Help Books. Feel free to ignore it for now.
|
72
|
+
- `SharedGlobalAssets/` includes both assets required by _Middlemac_ to
|
73
|
+
function, as well as a place to put your global, non-localized assets. A
|
74
|
+
more complete description of its contents is elsewhere in this
|
75
|
+
documentation.
|
76
|
+
- `Resources/index.html.erb` is the file that runs your entire Help Book.
|
77
|
+
There is little need to modify this file. Your own index file – used as a
|
78
|
+
landing page – exists in the `en.lproj/` directory.
|
79
|
+
|
80
|
+
|
81
|
+
<% end %>
|
82
|
+
<% helpbook_task "first_project_03", "Examine the Current Help Book Contents" do %>
|
83
|
+
|
84
|
+
This “nearly empty” project does ship with some simple pages used to
|
85
|
+
demonstrate how to create sections, nested sections, pages, partials, specify
|
86
|
+
page numbers, and other basics. Let’s have a look at these now.
|
87
|
+
|
88
|
+
<div style="display: flex; justify-content: space-around;">
|
89
|
+
<div style="flex: 0 0 auto;" markdown="1">
|
90
|
+
![Contents of en.lproj directory][get_started_init_english]
|
91
|
+
</div>
|
92
|
+
<div style="padding: 1.5em;" markdown="1">
|
93
|
+
Without worrying too much about the other files in the root level of this
|
94
|
+
directory, you will notice the `index.html` file. This serves as the root of
|
95
|
+
your Help Book, and is often referred to as your “landing page.” Multi-topic
|
96
|
+
Help Books usually only have minimal information, such as the application name
|
97
|
+
and its logo, on the landing page. Single-topic Help Books, of course, contain
|
98
|
+
the entirety of their help content.
|
99
|
+
|
100
|
+
You should also notice some other `.html.md.erb` files, prefixed with numbers
|
101
|
+
and an underscore. This is one of the two ways that _Middlemac_ lets you choose
|
102
|
+
page display order in the navigation system. Similarly, you see at least two
|
103
|
+
directories prefixed in the same manner. These directories function as groups
|
104
|
+
or sections, and contain files and/or additional group directories for nested
|
105
|
+
sections.
|
106
|
+
|
107
|
+
These page order prefixes are normally removed when your project is built,
|
108
|
+
although you can control this behavior in your `config.rb` file.
|
109
|
+
{: .tip .callout}
|
110
|
+
|
111
|
+
In the `30_sample_group_number_one/` directory, the `index.html.md.erb` file
|
112
|
+
serves as a metadata container _only_; it has `title` [frontmatter][frontmatter]
|
113
|
+
that gives a title to the group. The other `.html.md.erb` files, as you can see,
|
114
|
+
do not have page order prefixes; instead, they receive their page order via
|
115
|
+
their `order` setting in their [frontmatter][frontmatter].
|
116
|
+
</div>
|
117
|
+
</div>
|
118
|
+
|
119
|
+
The `40_sample_group_number_two/` folder contains a nested group, in the
|
120
|
+
`01_nested_group_example/` directory.
|
121
|
+
|
122
|
+
The folder `asides/` is simply a convenient location to store all of your aside
|
123
|
+
files. While it’s not _necessary_ to store them here, doing so has the advantage
|
124
|
+
that your aside files do not require the `layout` key in their
|
125
|
+
[frontmatter][frontmatter].
|
126
|
+
|
127
|
+
Finally, the `assets/` directory contains localized versions of various assets,
|
128
|
+
such as [partials][partials], images, etc.
|
129
|
+
|
130
|
+
<% end %>
|
131
|
+
<% helpbook_task "first_project_04", "Personalize the Project in config.rb" do %>
|
132
|
+
|
133
|
+
Let’s personalize the project for your application. If you don’t have a specific
|
134
|
+
one in mind now, just invent one. Open the `config.rb` file, and look for the
|
135
|
+
line beginning `config[:targets] =`. This is the beginning of your targets’
|
136
|
+
configuration.
|
137
|
+
|
138
|
+
~~~ ruby
|
139
|
+
config[:targets] = {
|
140
|
+
:free =>
|
141
|
+
{
|
142
|
+
:CFBundleID => 'com.balthisar.middlemac.free.help',
|
143
|
+
:HPDBookIconPath => 'SharedGlobalArt/free-icon_32x32@2x.png',
|
144
|
+
:CFBundleName => 'Middlemac',
|
145
|
+
:ProductName => 'Middlemac',
|
146
|
+
:ProductVersion => '3.0.0.wip',
|
147
|
+
:ProductURI => 'http://www.balthisar.com/developer',
|
148
|
+
:ProductCopyright => '© 2018 Jim Derry. All rights reserved.',
|
149
|
+
:features =>
|
150
|
+
{
|
151
|
+
:feature_advertise_pro => true,
|
152
|
+
:feature_performs_miracles => false,
|
153
|
+
:feature_insults_user => true,
|
154
|
+
:feature_shows_pink_rectangle => true,
|
155
|
+
}
|
156
|
+
},
|
157
|
+
|
158
|
+
:pro =>
|
159
|
+
{
|
160
|
+
:CFBundleID => 'com.balthisar.middlemac.pro.help',
|
161
|
+
:HPDBookIconPath => 'SharedGlobalArt/pro-icon_32x32@2x.png',
|
162
|
+
:CFBundleName => 'Middlemac',
|
163
|
+
:ProductName => 'Middlemac Pro',
|
164
|
+
:ProductVersion => '3.0.0.wip',
|
165
|
+
:ProductURI => 'http://www.balthisar.com/developer',
|
166
|
+
:ProductCopyright => '© 2018 Jim Derry. All rights reserved.',
|
167
|
+
:features =>
|
168
|
+
{
|
169
|
+
:feature_advertise_pro => false,
|
170
|
+
:feature_performs_miracles => true,
|
171
|
+
:feature_insults_user => false,
|
172
|
+
:feature_shows_pink_rectangle => true,
|
173
|
+
}
|
174
|
+
},
|
175
|
+
|
176
|
+
} # targets
|
177
|
+
~~~
|
178
|
+
|
179
|
+
Looking at this data structure, it should be evident that the project is set up
|
180
|
+
for two targets: `:free` and `:pro`. This would be appropriate for an
|
181
|
+
application that has two versions, such as a “free” version and a “professional”
|
182
|
+
version.
|
183
|
+
|
184
|
+
The use of multiple targets is optional; you may specify as few as one, or as
|
185
|
+
many as you like.
|
186
|
+
{: .tip .callout}
|
187
|
+
|
188
|
+
Each of these targets is configured with some target-specific data, including
|
189
|
+
feature configuration. For example, the product name of the `:pro` target is
|
190
|
+
“New Project Pro”, whereas it’s “New Project” for the `:free` target. Similarly,
|
191
|
+
when it comes to features, it looks like the `:pro` version supports the
|
192
|
+
`feature_performs_miracles` feature, whereas you don’t get that in the `:free`
|
193
|
+
version.
|
194
|
+
|
195
|
+
Leaving the other fields alone for now, go ahead and personalize **Your First
|
196
|
+
Help Book** by changing the `:ProductName`, `:ProductVersion`, `:ProductURI`,
|
197
|
+
and `:ProductCopyright` for each of the targets.
|
198
|
+
|
199
|
+
This `:targets` structure in Ruby is called a “hash”, which is similar to an
|
200
|
+
`NSDictionary` in that it stores key-value pairs. This hash has values for the
|
201
|
+
Ruby symbols `:free` and `:pro`. The value of each of these keys is another
|
202
|
+
hash, the keys of which define things such as the `:ProductCopyright`. The
|
203
|
+
`:features` key of each of these hashes has yet another has as its value.
|
204
|
+
{: .note .callout}
|
205
|
+
|
206
|
+
|
207
|
+
<% end %>
|
208
|
+
<% helpbook_task "first_project_05", "Make changes to the Landing Page" do %>
|
209
|
+
|
210
|
+
The landing page is the usually the page that your Help Book first opens to,
|
211
|
+
unless your application is providing context-sensitive help, or you arrive
|
212
|
+
via a search. By convention, the landing page is the `index.html` file at the
|
213
|
+
root of your `.lproj` directory.
|
214
|
+
|
215
|
+
In the project, `index.html` is represented by the file `index.html.md.erb`,
|
216
|
+
which will become `index.html` when the project is built or served. You should
|
217
|
+
already have read that `.erb` signifies an “embedded Ruby” file, but what
|
218
|
+
about `.md`?
|
219
|
+
|
220
|
+
In _Middlemac_, files are built with various processors according to their
|
221
|
+
extensions. In the case of `index.html.md.erb`, the file will be processed as
|
222
|
+
embedded Ruby. Next, the `.md` indicates it will be processed as Markdown.
|
223
|
+
When there's only a single file extension left – in this case HTML –
|
224
|
+
_Middlemac_ knows that it’s done processing, and will output a file of the
|
225
|
+
remaining extension type. Similarly, the file `searchTree.json.erb` will
|
226
|
+
result in a file `searchTree.json` when your project is built.
|
227
|
+
|
228
|
+
Now that you understand why the landing page is named such, go ahead and open
|
229
|
+
it for editing.
|
230
|
+
|
231
|
+
~~~ erb
|
232
|
+
---
|
233
|
+
title: Middlemac Project
|
234
|
+
categories:
|
235
|
+
- landing
|
236
|
+
---
|
237
|
+
<%%= md_links %>
|
238
|
+
<%%= md_images %>
|
239
|
+
This is a (mostly) blank project, and this is its landing page.
|
240
|
+
|
241
|
+
There are a few sample groups already set up, and some of the sample pages
|
242
|
+
demonstrate the basic features of Apple’s help system and Middlemac’s helpers.
|
243
|
+
|
244
|
+
* * *
|
245
|
+
|
246
|
+
This project includes a few sample pages in another locale, and as such a
|
247
|
+
language selector should be available below, _if_ this page is viewed in a
|
248
|
+
browser.
|
249
|
+
|
250
|
+
* * *
|
251
|
+
~~~
|
252
|
+
|
253
|
+
Superficially, it looks pretty spartan; it’s essentially a text file with no
|
254
|
+
hints of HTML and something that looks like it _might_ be embedded Ruby. How
|
255
|
+
does the minimalistic text become a full featured landing page?
|
256
|
+
|
257
|
+
Let’s start with an examination of the top of the file, which is called the
|
258
|
+
“frontmatter,” delimited by the `---` at the start and end. The data it
|
259
|
+
contains is in YAML format, which is similar to JSON and very legible for
|
260
|
+
humans to read. In this case, it should evident that we are providing a
|
261
|
+
string for `title` and a single element array for `categories`. These data
|
262
|
+
will be used by _Middlemac_ for the construction of your Help Book.
|
263
|
+
|
264
|
+
The next two lines, `<%%= md_links %>` and `<%%= md_images %>`, are examples
|
265
|
+
of embedded Ruby, in this case, they are used to call “helpers” named
|
266
|
+
[`md_links`][markdown_links] and [`md_images`][markdown_images], respectively.
|
267
|
+
On this particular page, they’re not being used for anything, but it’s nice to
|
268
|
+
know that the features they provide are available should you want them. We can
|
269
|
+
ignore these for the time being.
|
270
|
+
|
271
|
+
Finally, we arrive at the meat of your page: two paragraphs followed by a
|
272
|
+
horizontal rule, followed by another paragraph followed by another horizontal
|
273
|
+
rule. This is all determined by the rules for [Markdown][about_markdown],
|
274
|
+
which is an easy to read, easy to write, system for converting plain text into
|
275
|
+
HTML (in the case of Apple Help Books and _Middlemac_) or any other markup
|
276
|
+
language.
|
277
|
+
|
278
|
+
If you’re not yet familiar with Markdown, give the
|
279
|
+
[About Markdown][about_markdown] topic a quick review, and then feel free to
|
280
|
+
edit the `index.html.md.erb` file with some new Markdown content of your
|
281
|
+
choice.
|
282
|
+
|
283
|
+
|
284
|
+
<% end %>
|
285
|
+
<% helpbook_task "first_project_06", "Make changes to the Copyright Page" do %>
|
286
|
+
|
287
|
+
Next, open the `copyright.html.md.erb` file for editing. As before, this file
|
288
|
+
contains some frontmatter:
|
289
|
+
|
290
|
+
~~~ yaml
|
291
|
+
---
|
292
|
+
title: License
|
293
|
+
blurb: License Page
|
294
|
+
categories:
|
295
|
+
- copyright
|
296
|
+
---
|
297
|
+
~~~
|
298
|
+
|
299
|
+
This page has a `blurb` key in its frontmatter. You can use this data on your
|
300
|
+
own page, if you like, but _Middlemac_ uses this blurb to populate a lot of
|
301
|
+
fields that Apple’s help system expects, such as the `navigation.json` file,
|
302
|
+
the help indexes, and the `description` meta tag for each page.
|
303
|
+
|
304
|
+
Additionally, its `categories` array contains the `copyright` value. This is
|
305
|
+
a flag to _Middlemac_ that this page should be treated as the copyright page
|
306
|
+
when your Help Book is served to a browser, i.e., this is the page that should
|
307
|
+
be linked to from your landing page’s copyright notice.
|
308
|
+
|
309
|
+
_Middlemac_ searches for the first page in its sitemap that contains this
|
310
|
+
value in its `categories`; if you assign `copyright` to multiple pages, then
|
311
|
+
the choice of which page will be used is undefined.
|
312
|
+
{: .tip}
|
313
|
+
|
314
|
+
Because this page has no page order assigned, neither via a page order as part
|
315
|
+
of the filename, nor via an `order` key, it will not be included in the
|
316
|
+
navigation menu, and will be excluded from any next/previous page features,
|
317
|
+
although you can still link to it manually.
|
318
|
+
|
319
|
+
Feel free to practice your elite Markdown skills on this file before
|
320
|
+
continuing to the next step.
|
321
|
+
|
322
|
+
|
323
|
+
<% end %>
|
324
|
+
<% helpbook_task "first_project_07", "A Look at ‹30_sample_group_number_one›" do %>
|
325
|
+
|
326
|
+
Open the file `30_sample_group_number_one/index.html.md.erb` As indicated in
|
327
|
+
a task above, this file serves only as a metadata container for the group
|
328
|
+
within this folder. Looking at its frontmatter, we see:
|
329
|
+
|
330
|
+
~~~ yaml
|
331
|
+
---
|
332
|
+
title: First Sample Group
|
333
|
+
layout: layout-blank
|
334
|
+
---
|
335
|
+
~~~
|
336
|
+
|
337
|
+
When the Help Book builds its navigation structure the title from the group
|
338
|
+
is taken from this file’s `title`. But what about the `layout`, and why are
|
339
|
+
we specifying what looks like a blank layout with `layout-blank`?
|
340
|
+
|
341
|
+
_Middlemac_ uses _layouts_ to describe how `.html.md.erb` files are
|
342
|
+
transformed into HTML files. Because these unused `index.html` files _will_
|
343
|
+
be included in the final help project, there's the possibility that they
|
344
|
+
might be indexed by `hiutil`. The `layout-blank` layout ensures that a
|
345
|
+
meta `robots` tag for these files prohibits indexing, and suppresses any HTML
|
346
|
+
body content that might inadvertently be included in the file, such as the
|
347
|
+
example that you opened.
|
348
|
+
|
349
|
+
Layouts are located in `SharedGlobalAssets/_layouts/`, and you generally don’t
|
350
|
+
have to make changes to them if you want to build an Apple Help Book, unless
|
351
|
+
you’re looking to automate advanced features not provided by _Middlemac_.
|
352
|
+
{: .tip .callout}
|
353
|
+
|
354
|
+
Although the sort order of this group is defined by the order prefix on the
|
355
|
+
group folder (i.e., `30_`), it could have just as easily been specified using
|
356
|
+
an `order` key in this metadata file. In fact, have a look at the
|
357
|
+
`page_two.html.md.erb` file: it has no page order prefix, and so its
|
358
|
+
frontmatter `order` key specifies its page order within its group.
|
359
|
+
|
360
|
+
<% end %>
|
361
|
+
<% helpbook_task "first_project_08", "Next Steps" do %>
|
362
|
+
|
363
|
+
As you browse the files in this nearly blank project, you should gain an
|
364
|
+
understanding of how some of the features of _Middlemac_ are implemented, and
|
365
|
+
if not, then don’t worry; that's why this documentation exists.
|
366
|
+
|
367
|
+
Feel free to make changes to the existing project to suit your needs and
|
368
|
+
taste, and when you’re ready to see the results, move on to the
|
369
|
+
[Serve Your Help Book][serve_your_help_book] and
|
370
|
+
[Build Your Help Book][build_your_help_book] topics.
|
371
|
+
|
372
|
+
<% end %>
|
373
|
+
|
374
|
+
|
@@ -0,0 +1,97 @@
|
|
1
|
+
---
|
2
|
+
title: Serve Your Help Book
|
3
|
+
blurb: Learn how to interact with your Help Book in a live environment using
|
4
|
+
<em>Middleman</em>’s development server.
|
5
|
+
---
|
6
|
+
<%= md_links %>
|
7
|
+
<%= md_images %>
|
8
|
+
|
9
|
+
When developing the majority of your Help Book content, it’s likely that you
|
10
|
+
will want to view the results in a web browser from time to time, which is
|
11
|
+
much faster than building the Help Book, clearing Apple Help Builder’s cache,
|
12
|
+
building your application, then running it.
|
13
|
+
|
14
|
+
While it’s possible to build your Help Book, and open the individual pages in
|
15
|
+
your browser, this isn’t practical for a modern Help Book, which depends on
|
16
|
+
AJAX and rewriting paths and other things that a file system doesn’t support,
|
17
|
+
despite being static pages.
|
18
|
+
|
19
|
+
Instead, you can use _Middleman_’s built-in preview server to host your Help
|
20
|
+
Books. It’s a zero-configuration that, quite simply, just works.
|
21
|
+
|
22
|
+
Let’s have a look at **Your First Help Book** that you worked on in the
|
23
|
+
previous topic. From within that project directory in **Terminal**, simply:
|
24
|
+
|
25
|
+
~~~ bash
|
26
|
+
bundle exec middleman serve --target pro
|
27
|
+
~~~
|
28
|
+
|
29
|
+
In just a few seconds, you will see a message indicating that the server is
|
30
|
+
running, as well as the address for your site, which is generally something
|
31
|
+
like:
|
32
|
+
|
33
|
+
~~~ bash
|
34
|
+
== View your site at "http://localhost:4567", "http://127.0.0.1:4567"
|
35
|
+
== Inspect your site configuration at "http://localhost:4567/__middleman", "http://127.0.0.1:4567/__middleman"
|
36
|
+
~~~
|
37
|
+
|
38
|
+
If you follow this advice, though, you’re like to see this message in your
|
39
|
+
browser:
|
40
|
+
|
41
|
+
> ###File Not Found
|
42
|
+
|
43
|
+
Remember, this is a macOS bundle, so the content we want is really located at
|
44
|
+
`http://localhost:4567/Resources/`. Go ahead and type that into your browser,
|
45
|
+
and browse the working Help Book, paying particular attention to whatever
|
46
|
+
changes you made in the previous lesson.
|
47
|
+
|
48
|
+
When ready, try navigating to this file by copying and inserting into the
|
49
|
+
browser address bar.
|
50
|
+
|
51
|
+
`/Resources/en.lproj/hello_world_file.html`
|
52
|
+
|
53
|
+
You should notice the the browser automatically redirected you to:
|
54
|
+
|
55
|
+
`http://localhost:4567/Resources/index.html?localePath=en.lproj#/topic-en.lproj-hello_world_file`
|
56
|
+
|
57
|
+
|
58
|
+
## What’s going on here?
|
59
|
+
|
60
|
+
Modern Apple Help Books function completely from the `/Resources/index.html`
|
61
|
+
file. Every other page in the Help Book is loaded via AJAX by this file, and
|
62
|
+
then applied to the current browser window after rewriting paths so that they
|
63
|
+
are relative to this `index.html`. Apple’s JavaScript and styles are then
|
64
|
+
applied, and then you have a modern Apple Help Book.
|
65
|
+
|
66
|
+
Because the help indexer tool, `hiutil`, indexes individual pages, a
|
67
|
+
search result would lead to that indexed page, and that indexed page has none
|
68
|
+
of Apple’s JavaScripts or styling. So, each page of your Help Book, when
|
69
|
+
built, also includes a redirect to the main `index.html`, ensuring that search
|
70
|
+
works flawlessly.
|
71
|
+
|
72
|
+
During development, troubleshooting sometimes indicates the necessity
|
73
|
+
of viewing the HTML file in the browser without this redirect. If you’d like
|
74
|
+
to prevent this redirect from happening so quickly during development, have a
|
75
|
+
look at the `options.show_debug` option in your `config.rb`.
|
76
|
+
|
77
|
+
|
78
|
+
## Specifying Targets
|
79
|
+
|
80
|
+
As you may have guessed from earlier, by starting the server with:
|
81
|
+
|
82
|
+
~~~ bash
|
83
|
+
bundle exec middleman serve --target pro
|
84
|
+
~~~
|
85
|
+
|
86
|
+
…you’ve started the `pro` target. Because **Your First Help Book** was also
|
87
|
+
configured with a `free` target, you can start it, instead, with:
|
88
|
+
|
89
|
+
~~~ bash
|
90
|
+
bundle exec middleman serve --target pro
|
91
|
+
~~~
|
92
|
+
|
93
|
+
You can also start the server with a simple `bundle exec middleman`. The
|
94
|
+
action `serve` is _Middleman_’s default, and omitting the `--target` option
|
95
|
+
will have _Middlemac_ use the `config[:target]` setting (the default target)
|
96
|
+
from your `config.rb`.
|
97
|
+
{: .tip .callout}
|
@@ -0,0 +1,56 @@
|
|
1
|
+
---
|
2
|
+
title: Build Your Help Book
|
3
|
+
blurb: This article shows you how simple it is to build your Help Book, so
|
4
|
+
that it may be included with your Xcode project.
|
5
|
+
---
|
6
|
+
<%= md_links %>
|
7
|
+
<%= md_images %>
|
8
|
+
|
9
|
+
When you’re finally ready to build your Help Book, either for including in
|
10
|
+
your application or for hosting on a website, you can do so easily with
|
11
|
+
_Middleman_. Let’s build **Your First Help Book** now. In **Terminal** from
|
12
|
+
within the project directory:
|
13
|
+
|
14
|
+
~~~ bash
|
15
|
+
bundle exec middleman build_all
|
16
|
+
~~~
|
17
|
+
|
18
|
+
Within just a few seconds (depending on the speed of your computer), you
|
19
|
+
should find that _Middleman_/_Middlemac_ will have built two, new help
|
20
|
+
bundles: `New_Project_(free).help` and `New_Project_(pro).help`.
|
21
|
+
|
22
|
+
_Middlemac_ ensures that no spaces are in help bundle filenames, just in case
|
23
|
+
you want to use `make` to build them. The default macOS `make` is
|
24
|
+
**GNU Make**, and it simply doesn’t work with paths containing spaces.
|
25
|
+
{: .note .callout}
|
26
|
+
|
27
|
+
You can `cd` into these bundles in **Terminal**, or use **Show Package
|
28
|
+
Contents** in **Finder** to browse the folders and contents there.
|
29
|
+
|
30
|
+
What you should find is a complete, modern Apple Help Book consisting of
|
31
|
+
HTML files that you built, as well as all of the supporting `.plist`, `.json`,
|
32
|
+
and other files needed to operate the Help Book.
|
33
|
+
|
34
|
+
|
35
|
+
## Targets
|
36
|
+
|
37
|
+
As with the server, you can specify that _Middlemac_ build a single target,
|
38
|
+
rather than all of them. This is accomplished by using the `build` action
|
39
|
+
and specifying the `--target` option when invoking _Middleman_:
|
40
|
+
|
41
|
+
~~~ bash
|
42
|
+
bundle exec middleman build --target pro
|
43
|
+
bundle exec middleman build --target free
|
44
|
+
bundle exec middleman build
|
45
|
+
~~~
|
46
|
+
|
47
|
+
That last example builds the default target as defined in your `config.rb`
|
48
|
+
file.
|
49
|
+
{: .tip .callout}
|
50
|
+
|
51
|
+
|
52
|
+
## Add Your First Help Book to your application
|
53
|
+
|
54
|
+
If you’re ready to add **Your First Help Book** to your application, then
|
55
|
+
skip ahead to [Set Up your Help Project][setup] for information on getting
|
56
|
+
your application to recognize your Help Book.
|
@@ -1,27 +1,24 @@
|
|
1
1
|
---
|
2
|
-
title: Markdown
|
3
|
-
blurb: Although you can hand-write all of your documents in HTML, why not
|
4
|
-
advantage of the clarity and ease of use offered by Markdown?
|
5
|
-
layout: template-logo-medium
|
2
|
+
title: About Markdown
|
3
|
+
blurb: Although you can hand-write all of your documents in HTML, why not
|
4
|
+
take advantage of the clarity and ease of use offered by Markdown?
|
6
5
|
---
|
7
6
|
<%= md_links %>
|
8
7
|
<%= md_images %>
|
9
8
|
|
10
|
-
<%= current_page.data.title %>
|
11
|
-
==============================
|
12
|
-
|
13
9
|
<%= current_page.data.blurb %>
|
14
10
|
|
15
|
-
_Middlemac_ takes care of a lot of the details for generating Apple Help
|
16
|
-
and that may be reason enough to use _Middlemac_. However if you decide
|
17
|
-
use Markdown, then you’re throwing away the single, largest
|
18
|
-
help file building productivity that there is.
|
11
|
+
_Middlemac_ takes care of a lot of the details for generating Apple Help
|
12
|
+
Books, and that may be reason enough to use _Middlemac_. However if you decide
|
13
|
+
_not_ to use Markdown, then you’re throwing away the single, largest
|
14
|
+
contributor to your help file building productivity that there is.
|
19
15
|
|
20
16
|
|
21
17
|
What is Markdown?
|
22
18
|
-----------------
|
23
19
|
|
24
|
-
In the words of the estimable John Gruber (the author of the original
|
20
|
+
In the words of the estimable John Gruber (the author of the original
|
21
|
+
Markdown):
|
25
22
|
|
26
23
|
> Markdown is a text-to-HTML conversion tool for web writers. Markdown allows
|
27
24
|
> you to write using an easy-to-read, easy-to-write plain text format, then
|
@@ -35,7 +32,8 @@ the page was written so:
|
|
35
32
|
What is Markdown?
|
36
33
|
-----------------
|
37
34
|
|
38
|
-
In the words of the estimable John Gruber (the author of the original
|
35
|
+
In the words of the estimable John Gruber (the author of the original
|
36
|
+
Markdown):
|
39
37
|
|
40
38
|
> Markdown is a text-to-HTML conversion tool for web writers. Markdown allows
|
41
39
|
> you to write using an easy-to-read, easy-to-write plain text format, then
|
@@ -59,5 +57,5 @@ are all fairly well compatible.
|
|
59
57
|
|
60
58
|
_Middlemac_ uses [_Kramdown_](http://kramdown.gettalong.org/) as its Markdown
|
61
59
|
engine because that’s what _Middleman_ uses by default. You can read about all
|
62
|
-
its features
|
60
|
+
its features and syntax on its
|
63
61
|
[documentation page](http://kramdown.gettalong.org/documentation.html).
|
@@ -1,15 +1,11 @@
|
|
1
1
|
---
|
2
|
-
title: Middleman
|
3
|
-
blurb: <em>Middleman</em> is the engine that makes <em>Middlemac</em>
|
4
|
-
It’s critical to know a little bit about this tool.
|
5
|
-
layout: template-logo-medium
|
2
|
+
title: About Middleman
|
3
|
+
blurb: <em>Middleman</em> is the engine that makes <em>Middlemac</em>
|
4
|
+
possible. It’s critical to know a little bit about this tool.
|
6
5
|
---
|
7
6
|
<%= md_links %>
|
8
7
|
<%= md_images %>
|
9
8
|
|
10
|
-
<%= current_page.data.title %>
|
11
|
-
==============================
|
12
|
-
|
13
9
|
<%= current_page.data.blurb %>
|
14
10
|
|
15
11
|
_Middleman_ is a [static site generator using all the shortcuts and tools in
|
@@ -26,7 +22,7 @@ development toolchain.
|
|
26
22
|
Builder _and_ server
|
27
23
|
--------------------
|
28
24
|
_Middleman_ doesn’t merely build final output; it includes a non-configuration
|
29
|
-
server that makes it much easier to develop your website or
|
25
|
+
server that makes it much easier to develop your website or Help Book. Features
|
30
26
|
such as live reload mean that when you change your source file, the site in
|
31
27
|
your web browser will update automatically.
|
32
28
|
|
@@ -40,13 +36,13 @@ Basic concepts
|
|
40
36
|
_Middleman_’s basic concepts are these:
|
41
37
|
|
42
38
|
- Organize your site in a source directory that mirrors the desired structure
|
43
|
-
on the server (or in our case, in our
|
39
|
+
on the server (or in our case, in our Help Book).
|
44
40
|
- Add file extensions to the source files to indicate the type of pre-processing
|
45
41
|
that you want to perform on each of them.
|
46
42
|
- Provide the ability to include partials and use helpers to improve your
|
47
43
|
content development productivity, while keeping yourself DRY.
|
48
44
|
- Provide the ability to use templates and layouts to bring uniformity to your
|
49
|
-
website (in our case, to your
|
45
|
+
website (in our case, to your Help Book).
|
50
46
|
- Act as a server in developer mode, building content dynamically as you develop
|
51
47
|
it.
|
52
48
|
- Build final output, ready to use wherever you need it.
|
@@ -60,25 +56,25 @@ will actually execute `middleman` to serve or to build your projects.
|
|
60
56
|
|
61
57
|
To start the built-in server in order to preview your work, simply do:
|
62
58
|
|
63
|
-
~~~
|
59
|
+
~~~
|
64
60
|
bundle exec middleman serve --target free
|
65
61
|
~~~
|
66
62
|
|
67
63
|
Instructions for accessing the server (the address and port) will be reported to
|
68
64
|
you.
|
69
65
|
|
70
|
-
Note, too, that `--target` specifies an option; the example
|
66
|
+
Note, too, that `--target` specifies an option; the example above would serve
|
71
67
|
the `free` target.
|
72
68
|
|
73
69
|
To build the `pro` target, you would do this:
|
74
70
|
|
75
|
-
~~~
|
71
|
+
~~~
|
76
72
|
bundle exec middleman build --target pro
|
77
73
|
~~~
|
78
74
|
|
79
75
|
And if you wanted to build every target at once, simply this:
|
80
76
|
|
81
|
-
~~~
|
77
|
+
~~~
|
82
78
|
bundle exec middleman build_all
|
83
79
|
~~~
|
84
80
|
|