From 53199f41e0e22975c8efb45b68e67780c954a45f Mon Sep 17 00:00:00 2001
From: komalsheth286
Date: Thu, 22 Sep 2016 15:11:46 +0530
Subject: live
---
.gitignore | 45 ---------
scipy2016/settings.py~ | 142 +++++++++++++++++++++++++++
website/forms.py | 19 +++-
website/static/css/fileuploader.css | 93 ------------------
website/static/img/ajith.jpg | Bin 0 -> 9714 bytes
website/static/img/anand.jpg | Bin 0 -> 685679 bytes
website/static/img/background.png | Bin 885223 -> 0 bytes
website/static/img/c1.png | Bin 49890 -> 0 bytes
website/static/img/c2.png | Bin 84067 -> 0 bytes
website/static/img/c3.png | Bin 73385 -> 0 bytes
website/static/img/favicon.ico | Bin 0 -> 1082 bytes
website/static/img/pic01.jpg | Bin 17995 -> 0 bytes
website/static/img/pic01.png | Bin 17995 -> 0 bytes
website/static/img/pic02.jpg | Bin 17295 -> 0 bytes
website/static/img/pic03.jpg | Bin 18143 -> 0 bytes
website/static/img/pic04.jpg | Bin 63946 -> 0 bytes
website/static/img/pic05.jpg | Bin 9294 -> 0 bytes
website/static/img/pic06.jpg | Bin 9518 -> 0 bytes
website/static/img/s12.jpg | Bin 126781 -> 0 bytes
website/static/img/s13.jpg | Bin 70567 -> 0 bytes
website/static/img/s14.jpg | Bin 23640 -> 0 bytes
website/static/img/s15.jpg | Bin 332345 -> 0 bytes
website/static/js/respond.min.js | 6 ++
website/static/js/smoothscroll.js | 33 +++++++
website/templates/base.html | 166 +++++++++++++++++++++++++-------
website/templates/cfp.html | 10 +-
website/templates/comment-abstract.html | 4 -
website/templates/submit-cfp.html | 5 +-
website/templates/submit-cfw.html | 5 +-
website/views.py | 35 +++++--
30 files changed, 367 insertions(+), 196 deletions(-)
delete mode 100644 .gitignore
create mode 100755 scipy2016/settings.py~
delete mode 100755 website/static/css/fileuploader.css
create mode 100644 website/static/img/ajith.jpg
create mode 100644 website/static/img/anand.jpg
delete mode 100644 website/static/img/background.png
delete mode 100755 website/static/img/c1.png
delete mode 100755 website/static/img/c2.png
delete mode 100755 website/static/img/c3.png
create mode 100644 website/static/img/favicon.ico
delete mode 100755 website/static/img/pic01.jpg
delete mode 100644 website/static/img/pic01.png
delete mode 100755 website/static/img/pic02.jpg
delete mode 100755 website/static/img/pic03.jpg
delete mode 100755 website/static/img/pic04.jpg
delete mode 100755 website/static/img/pic05.jpg
delete mode 100755 website/static/img/pic06.jpg
delete mode 100644 website/static/img/s12.jpg
delete mode 100644 website/static/img/s13.jpg
delete mode 100644 website/static/img/s14.jpg
delete mode 100644 website/static/img/s15.jpg
create mode 100644 website/static/js/respond.min.js
create mode 100644 website/static/js/smoothscroll.js
diff --git a/.gitignore b/.gitignore
deleted file mode 100644
index 3f60a08..0000000
--- a/.gitignore
+++ /dev/null
@@ -1,45 +0,0 @@
-*.pyc
-*.zip
-*~
-.project
-.pydevproject
-app.yaml
-build
-tests/coverageResults
-*,cover
-tests/.coverage
-*.git
-*.egg-info
-eggs
-parts
-.installed.cfg
-bin
-develop-eggs
-.DS_Store
-.settings
-.*.swp
-*.egg
-*.egg-link
-*.svn*
-*.wpr
-.installed.cfg
-src/*
-parts
-downloads
-.xvpics*
-.project
-pytask/local.py
-pytask/pytask.egg-info
-pytask/static/media
-pytask/uploads
-apache/*
-*.swp
-*.bak
-*.swo
-*.db-journal
-*.db
-migrations
-wsgi.log
-*.sqlite3
-
-uploads/*
diff --git a/scipy2016/settings.py~ b/scipy2016/settings.py~
new file mode 100755
index 0000000..a8314a1
--- /dev/null
+++ b/scipy2016/settings.py~
@@ -0,0 +1,142 @@
+"""
+
+
+For more information on this file, see
+https://docs.djangoproject.com/en/1.6/topics/settings/
+
+For the full list of settings and their values, see
+https://docs.djangoproject.com/en/1.6/ref/settings/
+"""
+
+# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
+# from local import *
+import os
+BASE_DIR = os.path.dirname(os.path.dirname(__file__))
+
+
+# Quick-start development settings - unsuitable for production
+# See https://docs.djangoproject.com/en/1.6/howto/deployment/checklist/
+
+# SECURITY WARNING: keep the secret key used in production secret!
+SECRET_KEY = 'w81ia+6)sak!)t@kv=@x267y78ceh4iu2c@o@2#8+h$kua3e9a'
+
+# SECURITY WARNING: don't run with debug turned on in production!
+DEBUG = True
+
+TEMPLATE_DEBUG = True
+
+ALLOWED_HOSTS = []
+
+
+# Application definition
+
+INSTALLED_APPS = (
+ 'django.contrib.admin',
+ 'django.contrib.auth',
+ 'django.contrib.contenttypes',
+ 'django.contrib.sessions',
+ 'django.contrib.messages',
+ 'django.contrib.staticfiles',
+ 'website',
+ 'social.apps.django_app.default',
+ 'widget_tweaks',
+)
+
+MIDDLEWARE_CLASSES = (
+ 'django.contrib.sessions.middleware.SessionMiddleware',
+ 'django.middleware.common.CommonMiddleware',
+ 'django.middleware.csrf.CsrfViewMiddleware',
+ 'django.contrib.auth.middleware.AuthenticationMiddleware',
+ 'django.contrib.messages.middleware.MessageMiddleware',
+ 'django.middleware.clickjacking.XFrameOptionsMiddleware',
+)
+
+TEMPLATE_CONTEXT_PROCESSORS = (
+ 'django.contrib.auth.context_processors.auth',
+ 'django.core.context_processors.debug',
+ 'django.core.context_processors.i18n',
+ 'django.core.context_processors.media',
+ 'django.core.context_processors.static',
+ 'django.core.context_processors.tz',
+ 'django.contrib.messages.context_processors.messages',
+ 'social.apps.django_app.context_processors.backends',
+ 'social.apps.django_app.context_processors.login_redirect',
+ # 'website.context_processors.contact_us_context_processor'
+
+)
+
+AUTHENTICATION_BACKENDS = (
+ 'social.backends.facebook.FacebookOAuth2',
+ 'social.backends.google.GoogleOAuth2',
+ 'social.backends.twitter.TwitterOAuth',
+ 'social.backends.github.GithubOAuth2',
+ 'django.contrib.auth.backends.ModelBackend',
+)
+
+TEMPLATE_DIRS = (
+ os.path.join(BASE_DIR, '../website/templates'),
+)
+
+STATICFILES_DIRS = (
+ # Put strings here, like "/home/html/static" or "C:/www/django/static".
+ # Always use forward slashes, even on Windows.
+ # Don't forget to use absolute paths, not relative paths.
+ os.path.join(BASE_DIR, '../website/static'),
+)
+
+ROOT_URLCONF = 'scipy2016.urls'
+
+WSGI_APPLICATION = 'scipy2016.wsgi.application'
+
+
+# Database
+# https://docs.djangoproject.com/en/1.6/ref/settings/#databases
+
+DATABASES = {
+ 'default': {
+ 'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
+ 'NAME': 'scipy2016', # Or path to database file if using sqlite3.
+ # The following settings are not used with sqlite3:
+ 'USER': 'root',
+ 'PASSWORD': 'aero123',
+ 'HOST': '', # Empty for localhost through domain sockets or '127.0.0.1' for localhost through TCP.
+ 'PORT': '',
+ }
+}
+
+LOCAL_SOCIAL_AUTH_GOOGLE_OAUTH2_KEY = '628178553368-dvc6sjtgp90cm0591b8p4da62rhttn35.apps.googleusercontent.com'
+LOCAL_SOCIAL_AUTH_GOOGLE_OAUTH2_SECRET = 'eoiek3jLz9Ax3dv7k3mXFrbU'
+# API key AIzaSyDxRqGfJNJJIFw6traKTG5nC1mY8TNODu4
+
+
+LOCAL_SOCIAL_AUTH_FB_KEY = '160224867760606'
+LOCAL_SOCIAL_AUTH_FB_SECRET = '45eb71682352723c44d79471ecab5894'
+
+LOCAL_SOCIAL_AUTH_GITHUB_KEY = '0bcac418003a6d06fb50'
+LOCAL_SOCIAL_AUTH_GITHUB_SECRET = 'cd1b070917d0a5c8cd27ef997fd353a4'
+
+# Internationalization
+# https://docs.djangoproject.com/en/1.6/topics/i18n/
+
+LANGUAGE_CODE = 'en-us'
+
+TIME_ZONE = 'UTC'
+
+USE_I18N = True
+
+USE_L10N = True
+
+USE_TZ = True
+
+
+# Static files (CSS, JavaScript, Images)
+# https://docs.djangoproject.com/en/1.6/howto/static-files/
+
+STATIC_URL = '/static/'
+
+MEDIA_ROOT = os.path.join(BASE_DIR, 'uploads')
+MEDIA_URL = "/downloads/"
+
+LOGIN_REDIRECT_URL = '/cfp'
+
+# smtp
diff --git a/website/forms.py b/website/forms.py
index 65524d5..e052ddf 100755
--- a/website/forms.py
+++ b/website/forms.py
@@ -7,11 +7,14 @@ from django.contrib.auth.forms import UserCreationForm
from website.models import Proposal
from django.core.validators import MinLengthValidator, MinValueValidator, \
RegexValidator, URLValidator
+from captcha.fields import ReCaptchaField # Only import different from yesterday
+from crispy_forms.helper import FormHelper
+from crispy_forms.layout import Submit
+import floppyforms as forms
MY_CHOICES = (
('Beginner', 'Beginner'),
- ('intermediate', 'Intermediate'),
('Advanced', 'Advanced'),
)
rating=(
@@ -48,7 +51,7 @@ class ProposalForm(forms.ModelForm):
about_me = forms.CharField(widget=forms.Textarea(attrs={'class': 'form-control', 'placeholder': 'About Me'}),
required = True,
- error_messages = {'required':'Title field required.'},
+ error_messages = {'required':'About me field required.'},
)
attachment = forms.FileField(widget=forms.ClearableFileInput(attrs={'multiple': True}),
required = True,
@@ -95,13 +98,12 @@ class ProposalForm(forms.ModelForm):
class WorkshopForm(forms.ModelForm):
about_me = forms.CharField(widget=forms.Textarea(attrs={'class': 'form-control', 'placeholder': 'About Me'}),
required = True,
- error_messages = {'required':'Title field required.'},
+ error_messages = {'required':'About Me field required.'},
)
attachment = forms.FileField(widget=forms.ClearableFileInput(attrs={'multiple': True}),
required = True,
error_messages = {'required':'Attachment field required.'},)
phone = forms.CharField(max_length = 12, widget=forms.TextInput(attrs={'class': 'form-control', 'placeholder': 'Phone'}),required=False, validators = [RegexValidator(regex = '^[0-9-_+.]*$', message='Enter a Valid Phone Number',)],
- error_messages = {'required':'Title field required.'},
)
title = forms.CharField(widget=forms.TextInput(attrs={'class': 'form-control', 'placeholder': 'Title'}),
required = True,
@@ -176,6 +178,15 @@ class UserRegisterForm(UserCreationForm):
error_messages = {'required':'Password Confirm field required.'},
label = 'RePassword'
)
+
+ def clean_first_name(self):
+ return self.cleaned_data["first_name"].title()
+
+ def clean_email(self):
+ return self.cleaned_data["email"].lower()
+
+ def clean_last_name(self):
+ return self.cleaned_data["last_name"].title()
class UserLoginForm(forms.Form):
diff --git a/website/static/css/fileuploader.css b/website/static/css/fileuploader.css
deleted file mode 100755
index 721d762..0000000
--- a/website/static/css/fileuploader.css
+++ /dev/null
@@ -1,93 +0,0 @@
- Have ideas for improving this CSS for the general community? Submit your changes at: https://github.com/Valums-File-Uploader/file-uploader */
-.qq-uploader {
- position: relative;
- width: 100%;
-}
-.qq-upload-button {
- display: block;
- /*or inline-block*/
- width: 105px;
- padding: 7px 0;
- text-align: center;
- background: #880000;
- border-bottom: 1px solid #DDD;
- color: #FFF;
-}
-.qq-upload-button-hover {
- background: #CC0000;
-}
-.qq-upload-button-focus {
- outline: 1px dotted #000000;
-}
-.qq-upload-drop-area, .qq-upload-extra-drop-area {
- position: absolute;
- top: 0;
- left: 0;
- width: 100%;
- height: 100%;
- min-height: 30px;
- z-index: 2;
- background: #FF9797;
- text-align: center;
-}
-.qq-upload-drop-area span {
- display: block;
- position: absolute;
- top: 50%;
- width: 100%;
- margin-top: -8px;
- font-size: 16px;
-}
-.qq-upload-extra-drop-area {
- position: relative;
- margin-top: 50px;
- font-size: 16px;
- padding-top: 30px;
- height: 20px;
- min-height: 40px;
-}
-.qq-upload-drop-area-active {
- background: #FF7171;
-}
-.qq-upload-list {
- margin: 0;
- padding: 0;
- list-style: none;
-}
-.qq-upload-list li {
- margin: 0;
- padding: 9px;
- line-height: 15px;
- font-size: 16px;
- background-color: #FFF0BD;
-}
-.qq-upload-file, .qq-upload-spinner, .qq-upload-size, .qq-upload-cancel, .qq-upload-failed-text {
- margin-right: 12px;
-}
-.qq-upload-file {
-}
-.qq-upload-spinner {
- display: inline-block;
- background: url("loading.gif");
- width: 15px;
- height: 15px;
- vertical-align: text-bottom;
-}
-.qq-upload-size, .qq-upload-cancel {
- font-size: 12px;
- font-weight: normal;
-}
-.qq-upload-failed-text {
- display: none;
-}
-.qq-upload-fail .qq-upload-failed-text {
- display: inline;
-}
-.qq-upload-list li.qq-upload-success {
- background-color: #5DA30C;
- color: #FFFFFF;
-}
-.qq-upload-list li.qq-upload-fail {
- background-color: #D60000;
- color: #FFFFFF;
-}
diff --git a/website/static/img/ajith.jpg b/website/static/img/ajith.jpg
new file mode 100644
index 0000000..59cdd6f
Binary files /dev/null and b/website/static/img/ajith.jpg differ
diff --git a/website/static/img/anand.jpg b/website/static/img/anand.jpg
new file mode 100644
index 0000000..565a5ff
Binary files /dev/null and b/website/static/img/anand.jpg differ
diff --git a/website/static/img/background.png b/website/static/img/background.png
deleted file mode 100644
index f2b6d66..0000000
Binary files a/website/static/img/background.png and /dev/null differ
diff --git a/website/static/img/c1.png b/website/static/img/c1.png
deleted file mode 100755
index 314353f..0000000
Binary files a/website/static/img/c1.png and /dev/null differ
diff --git a/website/static/img/c2.png b/website/static/img/c2.png
deleted file mode 100755
index b43bc75..0000000
Binary files a/website/static/img/c2.png and /dev/null differ
diff --git a/website/static/img/c3.png b/website/static/img/c3.png
deleted file mode 100755
index b8e5af2..0000000
Binary files a/website/static/img/c3.png and /dev/null differ
diff --git a/website/static/img/favicon.ico b/website/static/img/favicon.ico
new file mode 100644
index 0000000..49bdccf
Binary files /dev/null and b/website/static/img/favicon.ico differ
diff --git a/website/static/img/pic01.jpg b/website/static/img/pic01.jpg
deleted file mode 100755
index 25477aa..0000000
Binary files a/website/static/img/pic01.jpg and /dev/null differ
diff --git a/website/static/img/pic01.png b/website/static/img/pic01.png
deleted file mode 100644
index 25477aa..0000000
Binary files a/website/static/img/pic01.png and /dev/null differ
diff --git a/website/static/img/pic02.jpg b/website/static/img/pic02.jpg
deleted file mode 100755
index 7cf8346..0000000
Binary files a/website/static/img/pic02.jpg and /dev/null differ
diff --git a/website/static/img/pic03.jpg b/website/static/img/pic03.jpg
deleted file mode 100755
index 51192cb..0000000
Binary files a/website/static/img/pic03.jpg and /dev/null differ
diff --git a/website/static/img/pic04.jpg b/website/static/img/pic04.jpg
deleted file mode 100755
index 18063b1..0000000
Binary files a/website/static/img/pic04.jpg and /dev/null differ
diff --git a/website/static/img/pic05.jpg b/website/static/img/pic05.jpg
deleted file mode 100755
index b7b49ed..0000000
Binary files a/website/static/img/pic05.jpg and /dev/null differ
diff --git a/website/static/img/pic06.jpg b/website/static/img/pic06.jpg
deleted file mode 100755
index cf78a92..0000000
Binary files a/website/static/img/pic06.jpg and /dev/null differ
diff --git a/website/static/img/s12.jpg b/website/static/img/s12.jpg
deleted file mode 100644
index 80b55b4..0000000
Binary files a/website/static/img/s12.jpg and /dev/null differ
diff --git a/website/static/img/s13.jpg b/website/static/img/s13.jpg
deleted file mode 100644
index 4d0d888..0000000
Binary files a/website/static/img/s13.jpg and /dev/null differ
diff --git a/website/static/img/s14.jpg b/website/static/img/s14.jpg
deleted file mode 100644
index 5c78c19..0000000
Binary files a/website/static/img/s14.jpg and /dev/null differ
diff --git a/website/static/img/s15.jpg b/website/static/img/s15.jpg
deleted file mode 100644
index 42f22f4..0000000
Binary files a/website/static/img/s15.jpg and /dev/null differ
diff --git a/website/static/js/respond.min.js b/website/static/js/respond.min.js
new file mode 100644
index 0000000..e8d6207
--- /dev/null
+++ b/website/static/js/respond.min.js
@@ -0,0 +1,6 @@
+/*! Respond.js v1.4.2: min/max-width media query polyfill
+ * Copyright 2014 Scott Jehl
+ * Licensed under MIT
+ * http://j.mp/respondjs */
+
+!function(a){"use strict";a.matchMedia=a.matchMedia||function(a){var b,c=a.documentElement,d=c.firstElementChild||c.firstChild,e=a.createElement("body"),f=a.createElement("div");return f.id="mq-test-1",f.style.cssText="position:absolute;top:-100em",e.style.background="none",e.appendChild(f),function(a){return f.innerHTML='',c.insertBefore(e,d),b=42===f.offsetWidth,c.removeChild(e),{matches:b,media:a}}}(a.document)}(this),function(a){"use strict";function b(){v(!0)}var c={};a.respond=c,c.update=function(){};var d=[],e=function(){var b=!1;try{b=new a.XMLHttpRequest}catch(c){b=new a.ActiveXObject("Microsoft.XMLHTTP")}return function(){return b}}(),f=function(a,b){var c=e();c&&(c.open("GET",a,!0),c.onreadystatechange=function(){4!==c.readyState||200!==c.status&&304!==c.status||b(c.responseText)},4!==c.readyState&&c.send(null))},g=function(a){return a.replace(c.regex.minmaxwh,"").match(c.regex.other)};if(c.ajax=f,c.queue=d,c.unsupportedmq=g,c.regex={media:/@media[^\{]+\{([^\{\}]*\{[^\}\{]*\})+/gi,keyframes:/@(?:\-(?:o|moz|webkit)\-)?keyframes[^\{]+\{(?:[^\{\}]*\{[^\}\{]*\})+[^\}]*\}/gi,comments:/\/\*[^*]*\*+([^/][^*]*\*+)*\//gi,urls:/(url\()['"]?([^\/\)'"][^:\)'"]+)['"]?(\))/g,findStyles:/@media *([^\{]+)\{([\S\s]+?)$/,only:/(only\s+)?([a-zA-Z]+)\s?/,minw:/\(\s*min\-width\s*:\s*(\s*[0-9\.]+)(px|em)\s*\)/,maxw:/\(\s*max\-width\s*:\s*(\s*[0-9\.]+)(px|em)\s*\)/,minmaxwh:/\(\s*m(in|ax)\-(height|width)\s*:\s*(\s*[0-9\.]+)(px|em)\s*\)/gi,other:/\([^\)]*\)/g},c.mediaQueriesSupported=a.matchMedia&&null!==a.matchMedia("only all")&&a.matchMedia("only all").matches,!c.mediaQueriesSupported){var h,i,j,k=a.document,l=k.documentElement,m=[],n=[],o=[],p={},q=30,r=k.getElementsByTagName("head")[0]||l,s=k.getElementsByTagName("base")[0],t=r.getElementsByTagName("link"),u=function(){var a,b=k.createElement("div"),c=k.body,d=l.style.fontSize,e=c&&c.style.fontSize,f=!1;return b.style.cssText="position:absolute;font-size:1em;width:1em",c||(c=f=k.createElement("body"),c.style.background="none"),l.style.fontSize="100%",c.style.fontSize="100%",c.appendChild(b),f&&l.insertBefore(c,l.firstChild),a=b.offsetWidth,f?l.removeChild(c):c.removeChild(b),l.style.fontSize=d,e&&(c.style.fontSize=e),a=j=parseFloat(a)},v=function(b){var c="clientWidth",d=l[c],e="CSS1Compat"===k.compatMode&&d||k.body[c]||d,f={},g=t[t.length-1],p=(new Date).getTime();if(b&&h&&q>p-h)return a.clearTimeout(i),i=a.setTimeout(v,q),void 0;h=p;for(var s in m)if(m.hasOwnProperty(s)){var w=m[s],x=w.minw,y=w.maxw,z=null===x,A=null===y,B="em";x&&(x=parseFloat(x)*(x.indexOf(B)>-1?j||u():1)),y&&(y=parseFloat(y)*(y.indexOf(B)>-1?j||u():1)),w.hasquery&&(z&&A||!(z||e>=x)||!(A||y>=e))||(f[w.media]||(f[w.media]=[]),f[w.media].push(n[w.rules]))}for(var C in o)o.hasOwnProperty(C)&&o[C]&&o[C].parentNode===r&&r.removeChild(o[C]);o.length=0;for(var D in f)if(f.hasOwnProperty(D)){var E=k.createElement("style"),F=f[D].join("\n");E.type="text/css",E.media=D,r.insertBefore(E,g.nextSibling),E.styleSheet?E.styleSheet.cssText=F:E.appendChild(k.createTextNode(F)),o.push(E)}},w=function(a,b,d){var e=a.replace(c.regex.comments,"").replace(c.regex.keyframes,"").match(c.regex.media),f=e&&e.length||0;b=b.substring(0,b.lastIndexOf("/"));var h=function(a){return a.replace(c.regex.urls,"$1"+b+"$2$3")},i=!f&&d;b.length&&(b+="/"),i&&(f=1);for(var j=0;f>j;j++){var k,l,o,p;i?(k=d,n.push(h(a))):(k=e[j].match(c.regex.findStyles)&&RegExp.$1,n.push(RegExp.$2&&h(RegExp.$2))),o=k.split(","),p=o.length;for(var q=0;p>q;q++)l=o[q],g(l)||m.push({media:l.split("(")[0].match(c.regex.only)&&RegExp.$2||"all",rules:n.length-1,hasquery:l.indexOf("(")>-1,minw:l.match(c.regex.minw)&&parseFloat(RegExp.$1)+(RegExp.$2||""),maxw:l.match(c.regex.maxw)&&parseFloat(RegExp.$1)+(RegExp.$2||"")})}v()},x=function(){if(d.length){var b=d.shift();f(b.href,function(c){w(c,b.href,b.media),p[b.href]=!0,a.setTimeout(function(){x()},0)})}},y=function(){for(var b=0;b=1.3?0:1,limit:true};h.window=function(a){return $(window)._scrollable()};$.fn._scrollable=function(){return this.map(function(){var a=this,isWin=!a.nodeName||$.inArray(a.nodeName.toLowerCase(),['iframe','#document','html','body'])!=-1;if(!isWin)return a;var b=(a.contentWindow||a).document||a.ownerDocument||a;return/webkit/i.test(navigator.userAgent)||b.compatMode=='BackCompat'?b.body:b.documentElement})};$.fn.scrollTo=function(e,f,g){if(typeof f=='object'){g=f;f=0}if(typeof g=='function')g={onAfter:g};if(e=='max')e=9e9;g=$.extend({},h.defaults,g);f=f||g.duration;g.queue=g.queue&&g.axis.length>1;if(g.queue)f/=2;g.offset=both(g.offset);g.over=both(g.over);return this._scrollable().each(function(){if(e==null)return;var d=this,$elem=$(d),targ=e,toff,attr={},win=$elem.is('html,body');switch(typeof targ){case'number':case'string':if(/^([+-]=)?\d+(\.\d+)?(px|%)?$/.test(targ)){targ=both(targ);break}targ=$(targ,this);if(!targ.length)return;case'object':if(targ.is||targ.style)toff=(targ=$(targ)).offset()}$.each(g.axis.split(''),function(i,a){var b=a=='x'?'Left':'Top',pos=b.toLowerCase(),key='scroll'+b,old=d[key],max=h.max(d,a);if(toff){attr[key]=toff[pos]+(win?0:old-$elem.offset()[pos]);if(g.margin){attr[key]-=parseInt(targ.css('margin'+b))||0;attr[key]-=parseInt(targ.css('border'+b+'Width'))||0}attr[key]+=g.offset[pos]||0;if(g.over[pos])attr[key]+=targ[a=='x'?'width':'height']()*g.over[pos]}else{var c=targ[pos];attr[key]=c.slice&&c.slice(-1)=='%'?parseFloat(c)/100*max:c}if(g.limit&&/^\d+$/.test(attr[key]))attr[key]=attr[key]<=0?0:Math.min(attr[key],max);if(!i&&g.queue){if(old!=attr[key])animate(g.onAfterFirst);delete attr[key]}});animate(g.onAfter);function animate(a){$elem.animate(attr,f,g.easing,a&&function(){a.call(this,e,g)})}}).end()};h.max=function(a,b){var c=b=='x'?'Width':'Height',scroll='scroll'+c;if(!$(a).is('html,body'))return a[scroll]-$(a)[c.toLowerCase()]();var d='client'+c,html=a.ownerDocument.documentElement,body=a.ownerDocument.body;return Math.max(html[scroll],body[scroll])-Math.min(html[d],body[d])};function both(a){return typeof a=='object'?a:{top:a,left:a}}})(jQuery);
+
+/**
+ * jQuery.LocalScroll
+ * Copyright (c) 2007-2010 Ariel Flesler - aflesler(at)gmail(dot)com | http://flesler.blogspot.com
+ * Dual licensed under MIT and GPL.
+ * Date: 05/31/2010
+ * @author Ariel Flesler
+ * @version 1.2.8b
+ **/
+;(function(b){function g(a,e,d){var h=e.hash.slice(1),f=document.getElementById(h)||document.getElementsByName(h)[0];if(f){a&&a.preventDefault();var c=b(d.target);if(!(d.lock&&c.is(":animated")||d.onBefore&&!1===d.onBefore(a,f,c))){d.stop&&c._scrollable().stop(!0);if(d.hash){var a=f.id==h?"id":"name",g=b(" ").attr(a,h).css({position:"absolute",top:b(window).scrollTop(),left:b(window).scrollLeft()});f[a]="";b("body").prepend(g);location=e.hash;g.remove();f[a]=h}c.scrollTo(f,d).trigger("notify.serialScroll",
+[f])}}}var i=location.href.replace(/#.*/,""),c=b.localScroll=function(a){b("body").localScroll(a)};c.defaults={duration:1E3,axis:"y",event:"click",stop:!0,target:window,reset:!0};c.hash=function(a){if(location.hash){a=b.extend({},c.defaults,a);a.hash=!1;if(a.reset){var e=a.duration;delete a.duration;b(a.target).scrollTo(0,a);a.duration=e}g(0,location,a)}};b.fn.localScroll=function(a){function e(){return!!this.href&&!!this.hash&&this.href.replace(this.hash,"")==i&&(!a.filter||b(this).is(a.filter))}
+a=b.extend({},c.defaults,a);return a.lazy?this.bind(a.event,function(d){var c=b([d.target,d.target.parentNode]).filter(e)[0];c&&g(d,c,a)}):this.find("a,area").filter(e).bind(a.event,function(b){g(b,this,a)}).end().end()}})(jQuery);
+
+// Initialize all .smoothScroll links
+jQuery(function($){ $.localScroll({filter:'.smoothScroll'}); });
diff --git a/website/templates/base.html b/website/templates/base.html
index 1c0360f..3f0d30b 100755
--- a/website/templates/base.html
+++ b/website/templates/base.html
@@ -3,7 +3,7 @@
-
+
SciPy India 2016
@@ -23,7 +23,7 @@