diff options
author | Takeshi KOMIYA <i.tkomiya@gmail.com> | 2016-11-02 11:11:15 +0900 |
---|---|---|
committer | Takeshi KOMIYA <i.tkomiya@gmail.com> | 2016-11-02 11:11:15 +0900 |
commit | ae1f523d52cc42d4836e1408846d4b18434b1f3a (patch) | |
tree | 34ac6faccf35cc00b6e7766e3c5731430326d530 /sphinx/quickstart.py | |
parent | a759e5eae78e7cca6beffe9313357f1dd8cd4338 (diff) | |
download | sphinx-git-ae1f523d52cc42d4836e1408846d4b18434b1f3a.tar.gz |
Add ``--extensions`` to ``sphinx-quickstart`` to support enable arbitary extensions from command line (ref: #2904)
Diffstat (limited to 'sphinx/quickstart.py')
-rw-r--r-- | sphinx/quickstart.py | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/sphinx/quickstart.py b/sphinx/quickstart.py index 61abbb092..00449b988 100644 --- a/sphinx/quickstart.py +++ b/sphinx/quickstart.py @@ -388,14 +388,11 @@ def generate(d, overwrite=True, silent=False, templatedir=None): d['project_manpage'] = d['project_fn'].lower() d['now'] = time.asctime() d['project_underline'] = column_width(d['project']) * '=' - extensions = (',\n' + indent).join( - repr('sphinx.ext.' + name) - for name in EXTENSIONS - if d.get('ext_' + name)) - if extensions: - d['extensions'] = '\n' + indent + extensions + ',\n' - else: - d['extensions'] = extensions + d.setdefault('extensions', []) + for name in EXTENSIONS: + if d.get('ext_' + name): + d['extensions'].append('sphinx.ext.' + name) + d['extensions'] = (',\n' + indent).join(repr(name) for name in d['extensions']) d['copyright'] = time.strftime('%Y') + ', ' + d['author'] d['author_texescaped'] = text_type(d['author']).\ translate(texescape.tex_escape_map) @@ -581,6 +578,8 @@ def main(argv=sys.argv): group.add_option('--ext-' + ext, action='store_true', dest='ext_' + ext, default=False, help='enable %s extension' % ext) + group.add_option('--extensions', metavar='EXTENSIONS', dest='extensions', + action='append', help='enable extensions') group = parser.add_option_group('Makefile and Batchfile creation') group.add_option('--makefile', action='store_true', dest='makefile', @@ -659,6 +658,14 @@ def main(argv=sys.argv): if isinstance(value, binary_type): d[key] = term_decode(value) + # parse extensions list + d.setdefault('extensions', []) + for ext in d['extensions'][:]: + if ',' in ext: + d['extensions'].remove(ext) + for modname in ext.split(','): + d['extensions'].append(modname) + for variable in d.get('variables', []): try: name, value = variable.split('=') |