def parse_args(args):
    """
    Parse command line parameters

    :param args: command line parameters as list of strings
    :return: command line parameters as :obj:`argparse.Namespace`
    """
    parser = argparse.ArgumentParser(
        description="Build html reveal.js slides from markdown in docs/ dir")
    parser.add_argument(
        '-v',
        '--verbose',
        help='Whether to show progress messages on stdout, including HTML',
        action='store_true')
    parser.add_argument(
        '--version',
        help='print twip package version and exit.',
        action='version',
        version='twip {ver}'.format(ver=__version__))
    parser.add_argument(
        '-b',
        '--blog_path',
        help='Path to source markdown files. Must contain an `images` subdir',
        default=BLOG_PATH)
    parser.add_argument(
        '-s',
        '--slide_path',
        help='Path to dir for output slides (HTML). An images subdir will be added. A slides subdir should already exist.',
        default=DOCS_PATH)
    parser.add_argument(
        '-p',
        '--presentation',
        help='Source markdown base file name (without .md extension). The HTML slides will share the same basename.',
        default='2015-10-27-Hacking-Oregon-Hidden-Political-Connections')
    return parser.parse_args(args)