From 9b28702e3a0dc9d6696ab9446d46132951b7212e Mon Sep 17 00:00:00 2001 From: Thibaut Courouble Date: Sun, 23 Jul 2017 11:01:54 -0400 Subject: [PATCH] Simplify code highlighting --- assets/javascripts/views/pages/base.coffee | 15 ++-- assets/javascripts/views/pages/jquery.coffee | 4 +- assets/javascripts/views/pages/rdoc.coffee | 4 +- assets/javascripts/views/pages/simple.coffee | 80 -------------------- assets/javascripts/views/pages/sqlite.coffee | 4 +- 5 files changed, 11 insertions(+), 96 deletions(-) delete mode 100644 assets/javascripts/views/pages/simple.coffee diff --git a/assets/javascripts/views/pages/base.coffee b/assets/javascripts/views/pages/base.coffee index 7f93bf1d..e1c0b6a4 100644 --- a/assets/javascripts/views/pages/base.coffee +++ b/assets/javascripts/views/pages/base.coffee @@ -10,22 +10,17 @@ class app.views.BasePage extends app.View @previousTiming = null @addClass "_#{@entry.doc.type}" unless @constructor.className @html content - @prepare?() unless fromCache + @highlightCode() unless fromCache @activate() @delay @afterRender if @afterRender if @highlightNodes.length > 0 $.requestAnimationFrame => $.requestAnimationFrame(@paintCode) return - highlightCode: (el, language) -> - return unless language - language = "language-#{language}" - if $.isCollection(el) - for e in el - e.classList.add(language) - @highlightNodes.push(e) - else if el - el.classList.add(language) + highlightCode: -> + for el in @findAll('pre[data-language]') + language = el.getAttribute('data-language') + el.classList.add("language-#{language}") @highlightNodes.push(el) return diff --git a/assets/javascripts/views/pages/jquery.coffee b/assets/javascripts/views/pages/jquery.coffee index 665a8fb6..47f02195 100644 --- a/assets/javascripts/views/pages/jquery.coffee +++ b/assets/javascripts/views/pages/jquery.coffee @@ -1,6 +1,6 @@ -#= require views/pages/simple +#= require views/pages/base -class app.views.JqueryPage extends app.views.SimplePage +class app.views.JqueryPage extends app.views.BasePage @demoClassName: '_jquery-demo' afterRender: -> diff --git a/assets/javascripts/views/pages/rdoc.coffee b/assets/javascripts/views/pages/rdoc.coffee index f5eb32dd..4c61c6c4 100644 --- a/assets/javascripts/views/pages/rdoc.coffee +++ b/assets/javascripts/views/pages/rdoc.coffee @@ -1,6 +1,6 @@ -#= require views/pages/simple +#= require views/pages/base -class app.views.RdocPage extends app.views.SimplePage +class app.views.RdocPage extends app.views.BasePage @events: click: 'onClick' diff --git a/assets/javascripts/views/pages/simple.coffee b/assets/javascripts/views/pages/simple.coffee deleted file mode 100644 index 851dce00..00000000 --- a/assets/javascripts/views/pages/simple.coffee +++ /dev/null @@ -1,80 +0,0 @@ -#= require views/pages/base - -class app.views.SimplePage extends app.views.BasePage - prepare: -> - for el in @findAll('pre[data-language]') - @highlightCode el, el.getAttribute('data-language') - return - -app.views.AngularPage = -app.views.AngularjsPage = -app.views.AsyncPage = -app.views.BootstrapPage = -app.views.BowerPage = -app.views.CPage = -app.views.CakephpPage = -app.views.ChaiPage = -app.views.CodeceptionPage = -app.views.CodeceptjsPage = -app.views.CoffeescriptPage = -app.views.CordovaPage = -app.views.CrystalPage = -app.views.D3Page = -app.views.DockerPage = -app.views.DojoPage = -app.views.DrupalPage = -app.views.ElectronPage = -app.views.ElixirPage = -app.views.EmberPage = -app.views.ErlangPage = -app.views.ExpressPage = -app.views.FlowPage = -app.views.GithubPage = -app.views.GoPage = -app.views.GruntPage = -app.views.ImmutablePage = -app.views.InfluxdataPage = -app.views.JasminePage = -app.views.JestPage = -app.views.KnockoutPage = -app.views.KotlinPage = -app.views.LaravelPage = -app.views.LodashPage = -app.views.LovePage = -app.views.LuaPage = -app.views.MarionettePage = -app.views.MdnPage = -app.views.MeteorPage = -app.views.MochaPage = -app.views.ModernizrPage = -app.views.MomentPage = -app.views.MongoosePage = -app.views.NginxPage = -app.views.NodePage = -app.views.OpenjdkPage = -app.views.PerlPage = -app.views.PhalconPage = -app.views.PhaserPage = -app.views.PhpPage = -app.views.PhpunitPage = -app.views.PostgresPage = -app.views.RamdaPage = -app.views.ReactPage = -app.views.ReduxPage = -app.views.RequirejsPage = -app.views.RethinkdbPage = -app.views.RubydocPage = -app.views.RustPage = -app.views.SinonPage = -app.views.SocketioPage = -app.views.SphinxPage = -app.views.SphinxSimplePage = -app.views.TensorflowPage = -app.views.TypescriptPage = -app.views.UnderscorePage = -app.views.VagrantPage = -app.views.VuePage = -app.views.WebpackPage = -app.views.YarnPage = -app.views.YiiPage = -app.views.SimplePage diff --git a/assets/javascripts/views/pages/sqlite.coffee b/assets/javascripts/views/pages/sqlite.coffee index a6975cb3..19d64923 100644 --- a/assets/javascripts/views/pages/sqlite.coffee +++ b/assets/javascripts/views/pages/sqlite.coffee @@ -1,6 +1,6 @@ -#= require views/pages/simple +#= require views/pages/base -class app.views.SqlitePage extends app.views.SimplePage +class app.views.SqlitePage extends app.views.BasePage @events: click: 'onClick'