mirror of
https://github.com/mkdocs/mkdocs.git
synced 2026-03-28 10:28:31 +07:00
Support multiple template directories
theme_dir is now a list which contains the user provided directory if given plus the packaged theme directory. Fixes #129
This commit is contained in:
@@ -217,6 +217,7 @@ def build(config, live_server=False, dump_json=False):
|
||||
if dump_json:
|
||||
build_pages(config, dump_json=True)
|
||||
else:
|
||||
utils.copy_media_files(config['theme_dir'], config['site_dir'])
|
||||
for theme_dir in config['theme_dir']:
|
||||
utils.copy_media_files(theme_dir, config['site_dir'])
|
||||
utils.copy_media_files(config['docs_dir'], config['site_dir'])
|
||||
build_pages(config)
|
||||
|
||||
@@ -117,9 +117,13 @@ def validate_config(user_config):
|
||||
if config['extra_javascript'] is None:
|
||||
config['extra_javascript'] = extra_javascript
|
||||
|
||||
if config['theme_dir'] is None:
|
||||
package_dir = os.path.dirname(__file__)
|
||||
config['theme_dir'] = os.path.join(package_dir, 'themes', config['theme'])
|
||||
package_dir = os.path.dirname(__file__)
|
||||
theme_dir = [os.path.join(package_dir, 'themes', config['theme'])]
|
||||
|
||||
if config['theme_dir'] is not None:
|
||||
theme_dir.insert(0, config['theme_dir'])
|
||||
|
||||
config['theme_dir'] = theme_dir
|
||||
|
||||
if config['repo_url'] is not None and config['repo_name'] is None:
|
||||
repo_host = urlparse(config['repo_url']).netloc.lower()
|
||||
|
||||
@@ -86,7 +86,8 @@ def serve(config, options=None):
|
||||
config_event_handler = ConfigEventHandler(options)
|
||||
observer = observers.Observer()
|
||||
observer.schedule(event_handler, config['docs_dir'], recursive=True)
|
||||
observer.schedule(event_handler, config['theme_dir'], recursive=True)
|
||||
for theme_dir in config['theme_dir']:
|
||||
observer.schedule(event_handler, theme_dir, recursive=True)
|
||||
observer.schedule(config_event_handler, '.')
|
||||
observer.start()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user