diff --git a/.gitignore b/.gitignore
index 2954c1d..e9a0c00 100644
--- a/.gitignore
+++ b/.gitignore
@@ -8,5 +8,17 @@ venv
settings_local.py
media/cache
-static
tags
+
+media/css/pro.css
+media/css/snipt.css
+media/js/src/account.min.js
+media/js/src/snipts.min.js
+media/js/src/search.min.js
+media/js/src/jobs.min.js
+media/js/src/application.min.js
+media/js/src/modules/site.min.js
+media/js/src/modules/snipt.min.js
+media/js/src/pro.min.js
+media/js/snipt-all.min.js
+media/js/pro-all.min.js
diff --git a/Dockerfile b/Dockerfile
deleted file mode 100644
index 6fc3eb5..0000000
--- a/Dockerfile
+++ /dev/null
@@ -1,21 +0,0 @@
-FROM debian:jessie
-ENV DEBIAN_FRONTEND noninteractive
-RUN apt-get update && apt-get install -y \
- build-essential \
- python \
- python-dev \
- python-setuptools \
- git-core \
- mercurial \
- libxml2-dev \
- libxslt-dev \
- libpq-dev
-RUN easy_install pip
-COPY . /app/snipt
-RUN pip install -r /app/snipt/requirements.txt
-RUN pip install --index-url https://code.stripe.com --upgrade stripe
-ADD .docker/run.sh /docker-run
-RUN mkdir -p /tmp/app
-WORKDIR /app/snipt
-EXPOSE 8000
-CMD ["/docker-run"]
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..32f87e1
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,68 @@
+deploy:
+ @git push heroku heroku:master
+
+deploy-with-assets:
+ @cat media/css/bootstrap.min.css \
+ media/css/blog-themes/pro-adams/style.css \
+ media/css/highlightjs-themes/tomorrow.css \
+ media/css/themes.css \
+ > media/css/pro.css
+ @cat media/css/bootstrap.min.css \
+ media/css/style.css \
+ media/css/themes.css \
+ media/css/chosen.css \
+ media/css/codemirror.css \
+ media/css/codemirror-themes/ambiance.css \
+ media/css/codemirror-themes/blackboard.css \
+ media/css/codemirror-themes/cobalt.css \
+ media/css/codemirror-themes/eclipse.css \
+ media/css/codemirror-themes/elegant.css \
+ media/css/codemirror-themes/erlang-dark.css \
+ media/css/codemirror-themes/lesser-dark.css \
+ media/css/codemirror-themes/monokai.css \
+ media/css/codemirror-themes/neat.css \
+ media/css/codemirror-themes/night.css \
+ media/css/codemirror-themes/rubyblue.css \
+ media/css/codemirror-themes/solarized.css \
+ media/css/codemirror-themes/twilight.css \
+ media/css/codemirror-themes/vibrant-ink.css \
+ media/css/codemirror-themes/xq-dark.css \
+ media/css/highlightjs-themes/tomorrow.css \
+ media/css/blog-themes/default/style.css \
+ > media/css/snipt.css
+ @cat media/js/src/account.js|jsmin > media/js/src/account.min.js
+ @cat media/js/src/snipts.js|jsmin > media/js/src/snipts.min.js
+ @cat media/js/src/search.js|jsmin > media/js/src/search.min.js
+ @cat media/js/src/jobs.js|jsmin > media/js/src/jobs.min.js
+ @cat media/js/src/application.js|jsmin > media/js/src/application.min.js
+ @cat media/js/src/modules/site.js|jsmin > media/js/src/modules/site.min.js
+ @cat media/js/src/modules/snipt.js|jsmin > media/js/src/modules/snipt.min.js
+ @cat media/js/src/pro.js|jsmin > media/js/src/pro.min.js
+ @cat media/js/libs/jquery.min.js \
+ media/js/libs/jquery-ui.min.js \
+ media/js/libs/angular.min.js \
+ media/js/libs/angular-route.min.js \
+ media/js/libs/underscore.js \
+ media/js/libs/json2.js \
+ media/js/libs/backbone.js \
+ media/js/libs/bootstrap.min.js \
+ media/js/plugins/jquery.hotkeys.js \
+ media/js/plugins/jquery.infieldlabel.js \
+ media/js/plugins/jquery.chosen.js \
+ media/js/src/application.min.js \
+ media/js/src/modules/site.min.js \
+ media/js/src/modules/snipt.min.js \
+ media/js/src/account.min.js \
+ media/js/src/snipts.min.js \
+ media/js/src/search.min.js \
+ media/js/src/jobs.min.js \
+ media/js/libs/codemirror.js \
+ media/js/libs/highlight.js \
+ > media/js/snipt-all.min.js
+ @cat media/js/libs/highlight.js \
+ media/js/src/pro.js \
+ > media/js/pro-all.min.js
+ /Users/Nick/.virtualenvs/snipt/bin/python manage.py collectstatic --noinput
+ @git push heroku heroku:master
+
+.PHONY: deploy, deploy-with-assets
diff --git a/Procfile b/Procfile
new file mode 100644
index 0000000..b94b07e
--- /dev/null
+++ b/Procfile
@@ -0,0 +1 @@
+web: gunicorn wsgi --log-file -
diff --git a/README.md b/README.md
index 012c4e5..c1f64a3 100644
--- a/README.md
+++ b/README.md
@@ -2,22 +2,36 @@
This is the codebase for the website, [Snipt.net](https://snipt.net/).
-It's a relatively well-kept Django app, so you shouldn't have too many problems getting a local copy running.
-
-**Note:** These instructions assume you already have [Git](http://git-scm.com/) and [Mercurial](http://mercurial.selenic.com/) installed.
-
-If you need help, visit `#snipt` on irc.freenode.net.
-
# Running the Django app
1. Clone the repo.
2. Setup a virtualenv.
3. `pip install -r requirements.txt`
4. `pip install --index-url https://code.stripe.com --upgrade stripe`
-5. Copy settings_local-template.py to settings_local.py and edit the settings. Be sure to change the [`SESSION_COOKIE_DOMAIN`](https://github.com/nicksergeant/snipt/blob/master/settings_local-template.py#L58), or authentication won't work.
-6. `python manage.py syncdb`
-7. `python manage.py migrate`
-8. `python manage.py runserver`
-9. If you created a superuser in the syncdb step, you need to also run `python manage.py backfill_api_keys` to generate an API key for that user.
+5. `python manage.py syncdb`
+6. `python manage.py migrate`
+7. `python manage.py runserver`
+8. If you created a superuser in the syncdb step, you need to also run `python manage.py backfill_api_keys` to generate an API key for that user.
+
+# Deploying to Heroku
+
+1. Clone the repo.
+2. `heroku create`
+3. `heroku addons:add heroku-postgresql:standard-0`
+4. `heroku addons:add bonsai`
+5. `heroku config:add AWS_ACCESS_KEY_ID=`
+6. `heroku config:add AWS_SECRET_ACCESS_KEY=`
+7. `heroku config:add AWS_STORAGE_BUCKET_NAME=`
+8. `heroku config:add DEBUG=False`
+9. `heroku config:add INTERCOM_SECRET_KEY=`
+9. `heroku config:add POSTMARK_API_KEY=`
+11. `heroku config:add RAVEN_CONFIG_DSN=`
+12. `heroku config:add SECRET_KEY=`
+13. `heroku config:add STRIPE_SECRET_KEY=`
+14. `heroku config:add USE_SSL=False`
+15. `git push heroku`
+16. `heroku run pip install --index-url https://code.stripe.com --upgrade stripe`
+17. `heroku run python manage.py syncdb`
+18. `heroku run python manage.py migrate`
Any problems / questions / bugs, [create an issue](https://github.com/nicksergeant/snipt/issues). Thanks! :)
diff --git a/accounts/views.py b/accounts/views.py
index ed4213d..2843e62 100644
--- a/accounts/views.py
+++ b/accounts/views.py
@@ -2,9 +2,7 @@ from django.contrib.auth.decorators import login_required
from annoying.decorators import ajax_request, render_to
from snipts.models import Snipt
-import stripe
-
-from settings_local import STRIPE_SECRET_KEY
+import os, stripe
@login_required
@@ -20,7 +18,7 @@ def cancel_subscription(request):
if request.user.profile.stripe_id is None:
return {}
else:
- stripe.api_key = STRIPE_SECRET_KEY
+ stripe.api_key = os.environ.get('STRIPE_SECRET_KEY', '')
customer = stripe.Customer.retrieve(request.user.profile.stripe_id)
customer.delete()
@@ -38,7 +36,7 @@ def stripe_account_details(request):
if request.user.profile.stripe_id is None:
return {}
else:
- stripe.api_key = STRIPE_SECRET_KEY
+ stripe.api_key = os.environ.get('STRIPE_SECRET_KEY', '')
customer = stripe.Customer.retrieve(request.user.profile.stripe_id)
data = {
diff --git a/blogs/templates/blogs/themes/pro-adams/base.html b/blogs/templates/blogs/themes/pro-adams/base.html
index ecda596..38287f9 100644
--- a/blogs/templates/blogs/themes/pro-adams/base.html
+++ b/blogs/templates/blogs/themes/pro-adams/base.html
@@ -35,7 +35,7 @@
{% endif %}
-
+
{% if custom_css %}