mitar avatar mitar committed ecd3d2e

Support also static and downloads files.

Comments (0)

Files changed (2)

sphinxdoc/urls.py

         'images',
     ),
     url(
+        r'^(?P<slug>[\w-]+)/_static/(?P<path>.*)$',
+        'static',
+    ),
+    url(
+        r'^(?P<slug>[\w-]+)/_downloads/(?P<path>.*)$',
+        'downloads',
+    ),
+    url(
         r'^(?P<slug>[\w-]+)/_source/(?P<path>.*)$',
         'source',
     ),

sphinxdoc/views.py

 
 
 @cache_page(60 * CACHE_MINUTES)
+def static(request, slug, path):
+    """
+    Shows the specified static file.
+
+    """
+    project = get_object_or_404(Project, slug=slug)
+    return serve(
+        request,
+        document_root=os.path.join(project.path, BUILDDIR, '_static'),
+        path=path,
+    )
+
+
+@cache_page(60 * CACHE_MINUTES)
+def downloads(request, slug, path):
+    """
+    Shows the specified downloads file.
+
+    """
+    project = get_object_or_404(Project, slug=slug)
+    return serve(
+        request,
+        document_root=os.path.join(project.path, BUILDDIR, '_downloads'),
+        path=path,
+    )
+
+
+@cache_page(60 * CACHE_MINUTES)
 def source(request, slug, path):
     """
     Shows the ReST source of a document.
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.