diff --git a/snipts/templates/snipts/raw.html b/snipts/templates/snipts/raw.html
new file mode 100644
index 0000000..5616f6e
--- /dev/null
+++ b/snipts/templates/snipts/raw.html
@@ -0,0 +1 @@
+{{ snipt.code|safe }}
diff --git a/snipts/urls.py b/snipts/urls.py
index 0828415..d2e1f9f 100644
--- a/snipts/urls.py
+++ b/snipts/urls.py
@@ -8,6 +8,7 @@ urlpatterns = patterns('',
url(r'^public/$', views.list_public, name='list-public'),
url(r'^public/tag/(?P[^/]+)/$', views.list_public, name='list-public-tag'),
url(r'^embed/(?P[^/]+)/$', views.embed, name='embed'),
+ url(r'^raw/(?P[^/]+)/$', views.raw, name='raw'),
url(r'^(?P[^/]+)/$', views.list_user, name='list-user'),
url(r'^(?P[^/]+)/tag/(?P[^/]+)/$', views.list_user, name='list-user-tag'),
url(r'^(?P[^/]+)/(?P[^/]+)/$', views.detail, name='detail'),
diff --git a/snipts/views.py b/snipts/views.py
index b1da2b2..90b54d4 100644
--- a/snipts/views.py
+++ b/snipts/views.py
@@ -1,6 +1,6 @@
+from django.http import Http404, HttpResponseRedirect, HttpResponseBadRequest
from django.shortcuts import get_object_or_404, render_to_response
from django.core.paginator import Paginator, InvalidPage
-from django.http import Http404, HttpResponseRedirect
from django.contrib.auth.models import User
from django.template import RequestContext
from annoying.decorators import render_to
@@ -148,6 +148,17 @@ def embed(request, snipt_key):
context_instance=RequestContext(request),
mimetype='application/javascript')
+def raw(request, snipt_key):
+ snipt = get_object_or_404(Snipt, key=snipt_key)
+
+ if snipt.lexer != 'js':
+ return HttpResponseBadRequest()
+
+ return render_to_response('snipts/raw.html',
+ {'snipt': snipt},
+ context_instance=RequestContext(request),
+ mimetype='text/javascript')
+
def rss(request, context):
return render_to_response(
'rss.xml',