diff --git a/mkdocs/build.py b/mkdocs/build.py
index 40985488..38d83e5b 100644
--- a/mkdocs/build.py
+++ b/mkdocs/build.py
@@ -103,6 +103,12 @@ def get_context(page, content, nav, toc, meta, config):
else:
site_favicon = None
+ if config['extra_javascript']:
+ config['extra_javascript'] = utils.create_media_urls(nav=nav, url_list=config['extra_javascript'])
+
+ if config['extra_css']:
+ config['extra_css'] = utils.create_media_urls(nav=nav, url_list=config['extra_css'])
+
return {
'site_name': site_name,
'site_author': config['site_author'],
diff --git a/mkdocs/test.py b/mkdocs/test.py
index 27241ae8..f19348f8 100755
--- a/mkdocs/test.py
+++ b/mkdocs/test.py
@@ -105,6 +105,23 @@ class UtilsTests(unittest.TestCase):
is_html = utils.is_html_file(path)
self.assertEqual(is_html, expected_result)
+ def test_create_media_urls(self):
+ pages = [
+ ('index.md', 'Home'),
+ ('about.md', 'About')
+ ]
+ expected_results = {
+ 'https://media.cdn.org/jquery.js': 'https://media.cdn.org/jquery.js',
+ 'http://media.cdn.org/jquery.js': 'http://media.cdn.org/jquery.js',
+ '//media.cdn.org/jquery.js': '//media.cdn.org/jquery.js',
+ 'media.cdn.org/jquery.js': './media.cdn.org/jquery.js',
+ 'local/file/jquery.js': './local/file/jquery.js',
+ }
+ site_navigation = nav.SiteNavigation(pages)
+ for path, expected_result in expected_results.items():
+ urls = utils.create_media_urls(site_navigation, [path])
+ self.assertEqual(urls[0], expected_result)
+
class TableOfContentsTests(unittest.TestCase):
def markdown_to_toc(self, markdown_source):
diff --git a/mkdocs/themes/mkdocs/base.html b/mkdocs/themes/mkdocs/base.html
index 97902fe9..acaeb1cc 100644
--- a/mkdocs/themes/mkdocs/base.html
+++ b/mkdocs/themes/mkdocs/base.html
@@ -16,7 +16,7 @@
- {% for path in extra_css %}{% endfor %}
+ {% for path in extra_css %}{% endfor %}