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',