From cdafe05e861a67902e69f14018f2934f12349e79 Mon Sep 17 00:00:00 2001 From: Alinson S Xavier Date: Sun, 14 Jul 2013 15:39:26 -0400 Subject: [PATCH] fixing javascripts --- app/assets/javascripts/application.js | 86 +++++++++++++++++++++++++- app/assets/javascripts/wiki.js | 1 + app/views/layouts/_base.html.haml | 3 + vendor/gems/bluecloth/lib/bluecloth.rb | 18 +++--- 4 files changed, 98 insertions(+), 10 deletions(-) diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js index fe45776..a2f3de7 100644 --- a/app/assets/javascripts/application.js +++ b/app/assets/javascripts/application.js @@ -1,2 +1,84 @@ -// Place your application-specific JavaScript functions and classes here -// This file is automatically included by javascript_include_tag :defaults +events = {}; + +events['#password:keyup'] = function(element, e) { + passmeter(); +}; + +function startup() { + EventSelectors.start(events); + + var validation_box = $('validation'); + if(validation_box != null) new Effect.Appear(validation_box); + + $$('.highlight').each(function(e) { + new Effect.Highlight(e, {duration: 1.5}); + }); + + if(window.history_update) history_update(); +} + +spin_count = Array(); +function spinner_start(s) +{ + if(spin_count[s]) spin_count[s]++; + else spin_count[s] = 1; + + $("spinner_" + s).show(); +} + +function spinner_stop(s) +{ + spin_count[s]--; + if(spin_count[s] == 0) $("spinner_" + s).hide(); +} + +function passmeter() +{ + var pass = $F('password'); + var meter = $('passmeter'); + var nivel = 0; + + if(pass.length == 0) { + meter.innerHTML = " "; + return; + } + + if(pass.length >= 6) { + if(/[a-z_]/.test(pass)) nivel++; + if(/[A-Z]/.test(pass)) nivel++; + if(/[0-9]/.test(pass)) nivel++; + if(/\W/.test(pass)) nivel++; + + if(pass.length >= 10) nivel++; + } + + switch(nivel) { + case 0: case 1: + msg = "senha muito fraca"; + cor = "#d00"; + break; + + case 2: + msg = "senha fraca"; + cor = "#f50"; + break; + + case 3: + msg = "senha moderada"; + cor = "#090"; + break; + + case 4: default: + msg = "senha forte"; + cor = "#05f"; + break; + } + + meter.style.color = cor; + meter.innerHTML = msg; +} + +Ajax.Responders.register({ + onComplete: function() { EventSelectors.assign(events);} +}) + diff --git a/app/assets/javascripts/wiki.js b/app/assets/javascripts/wiki.js index e2274c4..c6a8c71 100644 --- a/app/assets/javascripts/wiki.js +++ b/app/assets/javascripts/wiki.js @@ -10,6 +10,7 @@ events['#show_preview:click'] = function(element, e) spinner_stop("preview"); Element.show('wiki_preview'); new Effect.ScrollTo('wiki_preview'); + MathJax.Hub.Queue(["Typeset",MathJax.Hub]); } }); diff --git a/app/views/layouts/_base.html.haml b/app/views/layouts/_base.html.haml index 718c919..a3a4ba5 100644 --- a/app/views/layouts/_base.html.haml +++ b/app/views/layouts/_base.html.haml @@ -20,6 +20,9 @@ %script{:type => 'text/javascript'} == BASE_PATH = "#{App.base_path}"; = javascript_include_tag :base + = javascript_include_tag 'http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML' + %script{:type => 'text/x-mathjax-config'} + == MathJax.Hub.Config({tex2jax: {inlineMath: [['{$','$}']], displayMath: [['{$$','$$}']]}}); %body{'onload' => 'javascript: startup()'} #wrapper diff --git a/vendor/gems/bluecloth/lib/bluecloth.rb b/vendor/gems/bluecloth/lib/bluecloth.rb index 8d0e705..2318dc5 100644 --- a/vendor/gems/bluecloth/lib/bluecloth.rb +++ b/vendor/gems/bluecloth/lib/bluecloth.rb @@ -396,7 +396,7 @@ class BlueCloth < String return rval end - MimeTexURL = "http://isoron.org/tex/math.cgi" + MimeTexURL = "http://lupus.isoron.org/tex/math.cgi" LatexBlockRegexp = %r{ \{\$\$(.*?)\$\$\} }xm @@ -419,17 +419,19 @@ class BlueCloth < String # Block Latex rval = rval.gsub(LatexBlockRegexp) {|block| - codeblock = $1.strip.gsub("\n", '%0A').gsub(/[ \t]+/, " ") - codeblock = %{
} % - [ encode_code( codeblock, rs ) ] - tokenize(codeblock, rs) + tokenize("{$$#{$1.strip}$$}", rs) + #codeblock = $1.strip.gsub("\n", '%0A').gsub(/[ \t]+/, " ") + #codeblock = %{
} % + # [ encode_code( codeblock, rs ) ] + #tokenize(codeblock, rs) } # Inline math rval = rval.gsub( LatexInlineRegexp ) {|block| - codeblock = $1.strip - codeblock = %{} % [ encode_code( codeblock, rs ) ] - tokenize(codeblock, rs) + tokenize("{$#{$1.strip}$}", rs) + #codeblock = $1.strip + #codeblock = %{} % [ encode_code( codeblock, rs ) ] + #tokenize(codeblock, rs) } end