summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-x.gitignore1
-rw-r--r--askbot/conf/__init__.py1
-rw-r--r--askbot/conf/optional_components.py54
-rw-r--r--askbot/const/__init__.py4
-rw-r--r--askbot/deps/django_authopenid/views.py2
-rw-r--r--askbot/skins/default/templates/base.html15
-rw-r--r--askbot/skins/default/templates/base_content.html9
-rw-r--r--askbot/views/readers.py1
8 files changed, 83 insertions, 4 deletions
diff --git a/.gitignore b/.gitignore
index 351d1e74..37be4274 100755
--- a/.gitignore
+++ b/.gitignore
@@ -28,3 +28,4 @@ dist
build
askbot/upfiles/*.jpg
askbot/upfiles/*.gif
+askbot/skins/common/media/mathjax/
diff --git a/askbot/conf/__init__.py b/askbot/conf/__init__.py
index de52c601..3798fd3d 100644
--- a/askbot/conf/__init__.py
+++ b/askbot/conf/__init__.py
@@ -10,6 +10,7 @@ import askbot.conf.external_keys
import askbot.conf.skin_counter_settings
import askbot.conf.skin_general_settings
import askbot.conf.user_settings
+import askbot.conf.optional_components
#import main settings object
from askbot.conf.settings_wrapper import settings
diff --git a/askbot/conf/optional_components.py b/askbot/conf/optional_components.py
new file mode 100644
index 00000000..d029fdc6
--- /dev/null
+++ b/askbot/conf/optional_components.py
@@ -0,0 +1,54 @@
+"""
+External service key settings
+"""
+from askbot.conf.settings_wrapper import settings
+from askbot.deps.livesettings import ConfigurationGroup
+from askbot.deps.livesettings import BooleanValue, StringValue
+from django.utils.translation import ugettext as _
+import askbot
+from askbot import const
+import os
+
+OPTIONAL_COMPONENTS = ConfigurationGroup(
+ 'OPTIONAL_COMPONENTS',
+ _('Optional components')
+ )
+
+mathjax_dir = os.path.join(
+ askbot.get_install_directory(),
+ 'skins',
+ 'common',
+ 'media'
+ )
+
+settings.register(
+ BooleanValue(
+ OPTIONAL_COMPONENTS,
+ 'ENABLE_MATHJAX',
+ description=_('Mathjax support (rendering of LaTeX)'),
+ help_text=_(
+ 'If you enable this feature, '
+ '<a href="%(url)s">mathjax</a> must be '
+ 'installed in directory %(dir)s'
+ ) % {
+ 'url': const.DEPENDENCY_URLS['mathjax'],
+ 'dir': mathjax_dir,
+ },
+ default = False
+ )
+)
+
+settings.register(
+ StringValue(
+ OPTIONAL_COMPONENTS,
+ 'MATHJAX_BASE_URL',
+ description=_('Base url of MathJax deployment'),
+ help_text=_(
+ 'Note - MathJax is not included with '
+ 'askbot - you should deploy it yourself '
+ 'and enter url pointing to the "mathjax" directory '
+ '(for example: http://mysite.com/mathjax'
+ ),
+ default = ''
+ )
+)
diff --git a/askbot/const/__init__.py b/askbot/const/__init__.py
index 98852b9c..8742cf56 100644
--- a/askbot/const/__init__.py
+++ b/askbot/const/__init__.py
@@ -224,5 +224,9 @@ DEFAULT_USER_STATUS = 'w'
#number of items to show in user views
USER_VIEW_DATA_SIZE = 50
+DEPENDENCY_URLS = {
+ 'mathjax': 'http://www.mathjax.org/resources/docs/?installation.html',
+}
+
#an exception import * because that file has only strings
from askbot.const.message_keys import *
diff --git a/askbot/deps/django_authopenid/views.py b/askbot/deps/django_authopenid/views.py
index 2666d6c5..e063a35e 100644
--- a/askbot/deps/django_authopenid/views.py
+++ b/askbot/deps/django_authopenid/views.py
@@ -748,6 +748,8 @@ def signout(request):
pass
logout(request)
logging.debug('user logged out')
+ response = HttpResponseRedirect(get_next_url(request))
+ #todo: here some extra cookies may be deleted
return HttpResponseRedirect(get_next_url(request))
def xrdf(request):
diff --git a/askbot/skins/default/templates/base.html b/askbot/skins/default/templates/base.html
index 4a36ad25..b902b752 100644
--- a/askbot/skins/default/templates/base.html
+++ b/askbot/skins/default/templates/base.html
@@ -27,9 +27,18 @@
var scriptUrl = '/{{settings.ASKBOT_URL}}'
var askbotSkin = '{{settings.ASKBOT_DEFAULT_SKIN}}';
</script>
- <script type='text/javascript' src='{% media "/js/com.cnprog.i18n.js" %}'></script>
- <script type='text/javascript' src='{% media "/js/jquery.i18n.js" %}'></script>
- <script type='text/javascript' src='{% media "/js/com.cnprog.utils.js" %}'></script>
+ <script type='text/javascript' src='{% media "/js/com.cnprog.i18n.js" %}'></script>
+ <script type='text/javascript' src='{% media "/js/jquery.i18n.js" %}'></script>
+ <script type='text/javascript' src='{% media "/js/com.cnprog.utils.js" %}'></script>
+ {% if settings.ENABLE_MATHJAX %}
+ <script type='text/javascript' src='{{settings.MATHJAX_BASE_URL}}/MathJax.js'>
+ MathJax.Hub.Config({
+ extensions: ["tex2jax.js"],
+ jax: ["input/TeX","output/HTML-CSS"],
+ tex2jax: {inlineMath: [["$","$"],["\\(","\\)"]]}
+ });
+ </script>
+ {% endif %}
{% if user_messages %}
<style type="text/css">
body { margin-top:2.4em; }
diff --git a/askbot/skins/default/templates/base_content.html b/askbot/skins/default/templates/base_content.html
index da604ef7..b074e242 100644
--- a/askbot/skins/default/templates/base_content.html
+++ b/askbot/skins/default/templates/base_content.html
@@ -28,6 +28,15 @@
<script type='text/javascript' src='{% media "/js/com.cnprog.i18n.js" %}'></script>
<script type='text/javascript' src='{% media "/js/jquery.i18n.js" %}'></script>
<script type='text/javascript' src='{% media "/js/com.cnprog.utils.js" %}'></script>
+ {% if settings.ENABLE_MATHJAX %}
+ <script type='text/javascript' src='{{settings.MATHJAX_BASE_URL}}/MathJax.js'>
+ MathJax.Hub.Config({
+ extensions: ["tex2jax.js"],
+ jax: ["input/TeX","output/HTML-CSS"],
+ tex2jax: {inlineMath: [["$","$"],["\\(","\\)"]]}
+ });
+ </script>
+ {% endif %}
{% if user_messages %}
<style type="text/css">
body { margin-top:2.4em; }
diff --git a/askbot/views/readers.py b/askbot/views/readers.py
index 274aa172..7cf7038f 100644
--- a/askbot/views/readers.py
+++ b/askbot/views/readers.py
@@ -78,7 +78,6 @@ def questions(request):
List of Questions, Tagged questions, and Unanswered questions.
matching search query or user selection
"""
-
#don't allow to post to this view
if request.method == 'POST':
raise Http404