diff --git a/rest_framework/documentation.py b/rest_framework/documentation.py index 8aee5c932..3a78bb341 100644 --- a/rest_framework/documentation.py +++ b/rest_framework/documentation.py @@ -11,8 +11,11 @@ def get_docs_view( title=None, description=None, schema_url=None, public=True, patterns=None, generator_class=SchemaGenerator, authentication_classes=api_settings.DEFAULT_AUTHENTICATION_CLASSES, - permission_classes=api_settings.DEFAULT_PERMISSION_CLASSES): - renderer_classes = [DocumentationRenderer, CoreJSONRenderer] + permission_classes=api_settings.DEFAULT_PERMISSION_CLASSES, + renderer_classes=None): + + if renderer_classes is None: + renderer_classes = [DocumentationRenderer, CoreJSONRenderer] return get_schema_view( title=title, @@ -51,7 +54,8 @@ def include_docs_urls( title=None, description=None, schema_url=None, public=True, patterns=None, generator_class=SchemaGenerator, authentication_classes=api_settings.DEFAULT_AUTHENTICATION_CLASSES, - permission_classes=api_settings.DEFAULT_PERMISSION_CLASSES): + permission_classes=api_settings.DEFAULT_PERMISSION_CLASSES, + renderer_classes=None): docs_view = get_docs_view( title=title, description=description, @@ -60,6 +64,7 @@ def include_docs_urls( patterns=patterns, generator_class=generator_class, authentication_classes=authentication_classes, + renderer_classes=renderer_classes, permission_classes=permission_classes, ) schema_js_view = get_schemajs_view( diff --git a/rest_framework/renderers.py b/rest_framework/renderers.py index 304b2e292..14a371852 100644 --- a/rest_framework/renderers.py +++ b/rest_framework/renderers.py @@ -830,6 +830,8 @@ class DocumentationRenderer(BaseRenderer): return { 'document': data, 'langs': self.languages, + 'lang_htmls': ["rest_framework/docs/langs/%s.html" % l for l in self.languages], + 'lang_intro_htmls': ["rest_framework/docs/langs/%s-intro.html" % l for l in self.languages], 'code_style': pygments_css(self.code_style), 'request': request } diff --git a/rest_framework/templates/rest_framework/docs/document.html b/rest_framework/templates/rest_framework/docs/document.html index 7922142f3..9aecb40e0 100644 --- a/rest_framework/templates/rest_framework/docs/document.html +++ b/rest_framework/templates/rest_framework/docs/document.html @@ -8,9 +8,9 @@ {% endif %}
- {% if 'shell' in langs %}{% include "rest_framework/docs/langs/shell-intro.html" %}{% endif %} - {% if 'python' in langs %}{% include "rest_framework/docs/langs/python-intro.html" %}{% endif %} - {% if 'javascript' in langs %}{% include "rest_framework/docs/langs/javascript-intro.html" %}{% endif %} + {% for html in lang_intro_htmls %} + {% include html %} + {% endfor %}
{% if document|data %} diff --git a/rest_framework/templates/rest_framework/docs/index.html b/rest_framework/templates/rest_framework/docs/index.html index 9b7bb85d0..de704ab51 100644 --- a/rest_framework/templates/rest_framework/docs/index.html +++ b/rest_framework/templates/rest_framework/docs/index.html @@ -51,6 +51,7 @@ $('#auth-control').children().removeClass('active'); $('#auth-control').find("[data-auth='session']").closest('li').addClass('active'); {% endif %} + $('pre.highlight').filter('[data-language="{{ langs | first }}"]').removeClass('hide'); diff --git a/rest_framework/templates/rest_framework/docs/langs/shell-intro.html b/rest_framework/templates/rest_framework/docs/langs/shell-intro.html index fa77bce4a..2320ddfa9 100644 --- a/rest_framework/templates/rest_framework/docs/langs/shell-intro.html +++ b/rest_framework/templates/rest_framework/docs/langs/shell-intro.html @@ -1,3 +1,3 @@ {% load rest_framework %} -
{% code bash %}# Install the command line client
+
{% code bash %}# Install the command line client
 $ pip install coreapi-cli{% endcode %}
diff --git a/rest_framework/templates/rest_framework/docs/langs/shell.html b/rest_framework/templates/rest_framework/docs/langs/shell.html index d2744920c..24137e4ae 100644 --- a/rest_framework/templates/rest_framework/docs/langs/shell.html +++ b/rest_framework/templates/rest_framework/docs/langs/shell.html @@ -1,5 +1,5 @@ {% load rest_framework %} -
{% code bash %}# Load the schema document
+
{% code bash %}# Load the schema document
 $ coreapi get {{ document.url }}{% if schema_format %} --format {{ schema_format }}{% endif %}
 
 # Interact with the API endpoint
diff --git a/rest_framework/templates/rest_framework/docs/link.html b/rest_framework/templates/rest_framework/docs/link.html
index fc2320a5f..c40a44733 100644
--- a/rest_framework/templates/rest_framework/docs/link.html
+++ b/rest_framework/templates/rest_framework/docs/link.html
@@ -93,9 +93,9 @@
 
 
     
- {% if 'shell' in langs %}{% include "rest_framework/docs/langs/shell.html" %}{% endif %} - {% if 'python' in langs %}{% include "rest_framework/docs/langs/python.html" %}{% endif %} - {% if 'javascript' in langs %}{% include "rest_framework/docs/langs/javascript.html" %}{% endif %} + {% for html in lang_htmls %} + {% include html %} + {% endfor %}
diff --git a/rest_framework/templates/rest_framework/docs/sidebar.html b/rest_framework/templates/rest_framework/docs/sidebar.html index d23787025..c318789f6 100644 --- a/rest_framework/templates/rest_framework/docs/sidebar.html +++ b/rest_framework/templates/rest_framework/docs/sidebar.html @@ -31,12 +31,12 @@