--- title: Including and excluding targets and features blurb: A reference of how to use targets and features in more detail than that provided in the Help Structure section. layout: template-logo-medium --- <%= md_links %> <%= md_images %> <%= current_page.data.title %> ============================== <%= current_page.data.blurb %> Why include and exclude? ------------------------ Although _Middlemac_ is an excellent tool for developing single-target Apple Help Books, it really shines when you want to develop multiple versions of help books for multiple versions of your application. Delivering a help system tailored _specifically_ for the version of the application that it belongs to will increase user satisfaction by allowing them to focus on the aspects of the help that’s applicable to them. No one wants to attempt to solve a problem and then learn, during troubleshooting, that some fancy feature is only available in some other version of your application. You want to promote other versions of your application, certainly. Multiple targets allows you appropriately place upsell messages without distracting your users. It also allows you to avoid upselling the users who are already using your premium or top-level version. Maybe your application is available on your website and also the Mac App Store? In this case there are certainly going to be feature differences. You web version uses _Sparkle_ for updates, but the MAS version doesn’t. Your MAS version requires users to authorize writing to user directories because of sandboxing, whereas your web-distributed version does not. Make your help files as polished as your applications, and users will be happy and delighted without even really knowing why! Include and Exclude Parts of Pages ---------------------------------- In the simplest case you have help page that is present for all versions of your help book, but some of the content will be different for different targets and features. You can re-visit the [`target_name?`][targets] example and the [`target_feature?`][features] example to review how to show and hide specific content on each page. Limit Images to Particular Targets and Features ----------------------------------------------- Don't forget that the [`image_tag` helper][helpers_ext_ref] can be used with parameters to limit images to certain targets and features, too. Include and Exclude Entire Pages -------------------------------- In the case of wanting to hide or show entire pages based on target or feature, you’ve also seen the `target` and `exclude` [front matter][frontmatter] keys. When used, you have excellent control over whether entire pages are visible or not.