def find_package_docs(package_dir, skippedNames=None):
    logger = logging.getLogger(__name__)
    if skippedNames is None:
        skippedNames = []
    doc_dir = os.path.join(package_dir, 'doc')
    modules_yaml_path = os.path.join(doc_dir, 'manifest.yaml')
    if not os.path.exists(modules_yaml_path):
        raise NoPackageDocs(
            'Manifest YAML not found: {0}'.format(modules_yaml_path))
    with open(modules_yaml_path) as f:
        manifest_data = yaml.safe_load(f)
    module_dirs = {}
    package_dirs = {}
    static_dirs = {}
    if 'modules' in manifest_data:
        for module_name in manifest_data['modules']:
            if module_name in skippedNames:
                logger.debug('Skipping module {0}'.format(module_name))
                continue
            module_dir = os.path.join(doc_dir, module_name)
            if not os.path.isdir(module_dir):
                message = 'module doc dir not found: {0}'.format(module_dir)
                logger.warning(message)
                continue
            module_dirs[module_name] = module_dir
            logger.debug('Found module doc dir {0}'.format(module_dir))
    if 'package' in manifest_data:
        package_name = manifest_data['package']
        full_package_dir = os.path.join(doc_dir, package_name)
        if os.path.isdir(full_package_dir) \
                and package_name not in skippedNames:
            package_dirs[package_name] = full_package_dir
            logger.debug('Found package doc dir {0}'.format(full_package_dir))
        else:
            logger.warning('package doc dir excluded or not found: {0}'.format(
                full_package_dir))
    if 'statics' in manifest_data:
        for static_dirname in manifest_data['statics']:
            full_static_dir = os.path.join(doc_dir, static_dirname)
            if not os.path.isdir(full_static_dir):
                message = '_static doc dir not found: {0}'.format(
                    full_static_dir)
                logger.warning(message)
                continue
            relative_static_dir = os.path.relpath(
                full_static_dir,
                os.path.join(doc_dir, '_static'))
            static_dirs[relative_static_dir] = full_static_dir
            logger.debug('Found _static doc dir: {0}'.format(full_static_dir))
    Dirs = namedtuple('Dirs', ['module_dirs', 'package_dirs', 'static_dirs'])
    return Dirs(module_dirs=module_dirs,
                package_dirs=package_dirs,
                static_dirs=static_dirs)