Only load Adsense in prod. and reset on each page
This commit is contained in:
+1
-4
@@ -52,9 +52,6 @@ module.exports = (grunt)->
|
||||
dist: ['./dist']
|
||||
|
||||
copy:
|
||||
index_prerender:
|
||||
files:
|
||||
'./dist/index.html': ['./static/index.html']
|
||||
jquery_ui_images:
|
||||
files: [expand:true, cwd:'./lib/jquery-ui/images', src:['*.png'], dest:'./dist/css/images']
|
||||
scripts:
|
||||
@@ -116,7 +113,7 @@ module.exports = (grunt)->
|
||||
options:
|
||||
src: './static/'
|
||||
dest: './dist/'
|
||||
exclude: '*.html'
|
||||
exclude: ['*.html']
|
||||
recursive: true
|
||||
|
||||
sass:
|
||||
|
||||
+2
-2
@@ -26,8 +26,8 @@ app.get '*/$', (request, response)->
|
||||
response.sendFile filePath, root:ROOT
|
||||
console.log ">>> #{filePath} (for #{request.path})"
|
||||
else
|
||||
response.sendFile '/index.html', root:ROOT
|
||||
console.log ">>> index.html (for #{request.path})"
|
||||
response.sendFile '/app.html', root:ROOT
|
||||
console.log ">>> app.html (for #{request.path})"
|
||||
|
||||
app.get '*', (request, response)->
|
||||
extension = path.extname(request.path)
|
||||
|
||||
@@ -5,6 +5,8 @@ Copyright (c) 2014-2015 by Redwood Labs
|
||||
All rights reserved.
|
||||
###
|
||||
|
||||
exports.AdsenseEnvs = [ 'production' ]
|
||||
|
||||
# Minecraft must be first
|
||||
exports.DefaultMods =
|
||||
minecraft: { defaultVersion: '1.7.10' }
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
###
|
||||
Crafting Guide - adsense_controller.coffee
|
||||
|
||||
Copyright (c) 2015 by Redwood Labs
|
||||
All rights reserved.
|
||||
###
|
||||
|
||||
BaseController = require './base_controller'
|
||||
{AdsenseEnvs} = require '../constants'
|
||||
|
||||
########################################################################################################################
|
||||
|
||||
module.exports = class AdsenseController extends BaseController
|
||||
|
||||
constructor: (options={})->
|
||||
options.model ?= 'skyscraper_sidebar'
|
||||
options.templateName = "adsense_#{options.model}"
|
||||
super options
|
||||
|
||||
@_adsEnabled = global.env in AdsenseEnvs
|
||||
|
||||
# BaseController Overrides #####################################################################
|
||||
|
||||
render: ->
|
||||
if @_adsEnabled
|
||||
super
|
||||
else
|
||||
@$el.addClass 'placeholder'
|
||||
@_rendered = true
|
||||
|
||||
@$el.addClass @model
|
||||
|
||||
refresh: ->
|
||||
return unless @_adsEnabled
|
||||
|
||||
try
|
||||
global.adsbygoogle ||= []
|
||||
global.adsbygoogle.push {}
|
||||
catch e
|
||||
logger.warning "Could not load Adsense ad: #{e}"
|
||||
@@ -5,10 +5,11 @@ Copyright (c) 2015 by Redwood Labs
|
||||
All rights reserved.
|
||||
###
|
||||
|
||||
AdsenseController = require './adsense_controller'
|
||||
ModController = require './mod_controller'
|
||||
PageController = require './page_controller'
|
||||
{Duration} = require '../constants'
|
||||
{Event} = require '../constants'
|
||||
ModController = require './mod_controller'
|
||||
|
||||
########################################################################################################################
|
||||
|
||||
@@ -30,6 +31,7 @@ module.exports = class BrowsePageController extends PageController
|
||||
# BaseController Overrides #####################################################################
|
||||
|
||||
onDidRender: ->
|
||||
@adsenseController = @addChild AdsenseController, '.view__adsense', model:'sidebar_skyscraper'
|
||||
@$modContainer = @$('.mods')
|
||||
super
|
||||
|
||||
|
||||
@@ -5,6 +5,7 @@ Copyright (c) 2015 by Redwood Labs
|
||||
All rights reserved.
|
||||
###
|
||||
|
||||
AdsenseController = require './adsense_controller'
|
||||
PageController = require './page_controller'
|
||||
ModPackController = require './mod_pack_controller'
|
||||
|
||||
@@ -29,5 +30,6 @@ module.exports = class ConfigurePageController extends PageController
|
||||
# BaseController Overrides #####################################################################
|
||||
|
||||
onDidRender: ->
|
||||
@adsenseController = @addChild AdsenseController, '.view__adsense', model:'sidebar_skyscraper'
|
||||
@modPackController = @addChild ModPackController, '.view__mod_pack', model:@modPack, storage:@storage
|
||||
super
|
||||
|
||||
@@ -5,6 +5,7 @@ Copyright (c) 2015 by Redwood Labs
|
||||
All rights reserved.
|
||||
###
|
||||
|
||||
AdsenseController = require './adsense_controller'
|
||||
PageController = require './page_controller'
|
||||
|
||||
########################################################################################################################
|
||||
@@ -15,6 +16,12 @@ module.exports = class HomeController extends PageController
|
||||
options.templateName = 'home_page'
|
||||
super options
|
||||
|
||||
# BaseController Overrides #####################################################################
|
||||
|
||||
onDidRender: ->
|
||||
@adsenseController = @addChild AdsenseController, '.view__adsense', model:'sidebar_skyscraper'
|
||||
super
|
||||
|
||||
# Backbone.View Overrides ######################################################################
|
||||
|
||||
events: ->
|
||||
|
||||
@@ -5,8 +5,7 @@ Copyright (c) 2015 by Redwood Labs
|
||||
All rights reserved.
|
||||
###
|
||||
|
||||
{Duration} = require '../constants'
|
||||
{Event} = require '../constants'
|
||||
AdsenseController = require './adsense_controller'
|
||||
FullRecipeController = require './full_recipe_controller'
|
||||
ImageLoader = require './image_loader'
|
||||
Item = require '../models/item'
|
||||
@@ -14,6 +13,8 @@ ItemGroupController = require './item_group_controller'
|
||||
ItemPage = require '../models/item_page'
|
||||
ItemSlug = require '../models/item_slug'
|
||||
PageController = require './page_controller'
|
||||
{Duration} = require '../constants'
|
||||
{Event} = require '../constants'
|
||||
{Text} = require '../constants'
|
||||
{Url} = require '../constants'
|
||||
|
||||
@@ -45,11 +46,13 @@ module.exports = class ItemPageController extends PageController
|
||||
# BaseController Overrides #####################################################################
|
||||
|
||||
onDidRender: ->
|
||||
@_usedAsToolToMakeController = @addChild ItemGroupController, '.usedAsToolToMake .view__item_group',
|
||||
@adsenseController = @addChild AdsenseController, '.view__adsense', model:'sidebar_skyscraper'
|
||||
|
||||
@_similarItemsController = @addChild ItemGroupController, '.similar .view__item_group',
|
||||
imageLoader: @imageLoader
|
||||
modPack: @modPack
|
||||
|
||||
@_similarItemsController = @addChild ItemGroupController, '.similar .view__item_group',
|
||||
@_usedAsToolToMakeController = @addChild ItemGroupController, '.usedAsToolToMake .view__item_group',
|
||||
imageLoader: @imageLoader
|
||||
modPack: @modPack
|
||||
|
||||
|
||||
@@ -5,12 +5,13 @@ Copyright (c) 2015 by Redwood Labs
|
||||
All rights reserved.
|
||||
###
|
||||
|
||||
{Duration} = require '../constants'
|
||||
AdsenseController = require './adsense_controller'
|
||||
Item = require '../models/item'
|
||||
ItemGroupController = require './item_group_controller'
|
||||
Mod = require '../models/mod'
|
||||
ModPack = require '../models/mod_pack'
|
||||
PageController = require './page_controller'
|
||||
{Duration} = require '../constants'
|
||||
{Text} = require '../constants'
|
||||
{Url} = require '../constants'
|
||||
|
||||
@@ -52,6 +53,8 @@ module.exports = class ModPageController extends PageController
|
||||
# BaseController Overrides #####################################################################
|
||||
|
||||
onDidRender: ->
|
||||
@adsenseController = @addChild AdsenseController, '.view__adsense', model:'sidebar_skyscraper'
|
||||
|
||||
@$name = @$('.name')
|
||||
@$byline = @$('.byline p')
|
||||
@$description = @$('.description p')
|
||||
|
||||
@@ -5,25 +5,25 @@ Copyright (c) 2014-2015 by Redwood Labs
|
||||
All rights reserved.
|
||||
###
|
||||
|
||||
|
||||
BrowsePageController = require './controllers/browse_page_controller'
|
||||
CraftPageController = require './controllers/craft_page_controller'
|
||||
ConfigurePageController = require './controllers/configure_page_controller'
|
||||
{DefaultMods} = require './constants'
|
||||
{Duration} = require './constants'
|
||||
{Event} = require './constants'
|
||||
CraftPageController = require './controllers/craft_page_controller'
|
||||
HeaderController = require './controllers/header_controller'
|
||||
HomePageController = require './controllers/home_page_controller'
|
||||
ImageLoader = require './controllers/image_loader'
|
||||
ItemPageController = require './controllers/item_page_controller'
|
||||
ItemSlug = require './models/item_slug'
|
||||
ImageLoader = require './controllers/image_loader'
|
||||
Mod = require './models/mod'
|
||||
ModPack = require './models/mod_pack'
|
||||
ModPageController = require './controllers/mod_page_controller'
|
||||
{Opacity} = require './constants'
|
||||
Storage = require './models/storage'
|
||||
{Url} = require './constants'
|
||||
UrlParams = require './url_params'
|
||||
HomePageController = require './controllers/home_page_controller'
|
||||
{AdsenseEnvs} = require './constants'
|
||||
{DefaultMods} = require './constants'
|
||||
{Duration} = require './constants'
|
||||
{Event} = require './constants'
|
||||
{Opacity} = require './constants'
|
||||
{Url} = require './constants'
|
||||
|
||||
########################################################################################################################
|
||||
|
||||
@@ -158,6 +158,8 @@ module.exports = class CraftingGuideRouter extends Backbone.Router
|
||||
|
||||
showDuration = Duration.normal
|
||||
show = =>
|
||||
@_resetGlobals()
|
||||
|
||||
@_page = page
|
||||
@_controller = controller
|
||||
|
||||
@@ -176,3 +178,13 @@ module.exports = class CraftingGuideRouter extends Backbone.Router
|
||||
@_controller.$el.slideUp showDuration, show
|
||||
else
|
||||
show()
|
||||
|
||||
_resetGlobals: ->
|
||||
if global.env in AdsenseEnvs
|
||||
for key, value of global
|
||||
if key.indexOf('google') isnt -1
|
||||
delete global[key]
|
||||
|
||||
delete global.adsByGoogle
|
||||
$('script[src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"]').remove()
|
||||
$('body').append('<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>')
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
//-
|
||||
//- Crafting Guide - app.jade
|
||||
//-
|
||||
//- Copyright (c) 2014-2015 by Redwood Labs
|
||||
//- All rights reserved.
|
||||
//-
|
||||
|
||||
doctype html
|
||||
html
|
||||
head
|
||||
title The Ultimate Minecraft Crafting Guide
|
||||
meta(charset="UTF-8")
|
||||
link(href="/images/favicon.png", rel="icon", type="image/png")
|
||||
|
||||
block styles
|
||||
link(rel="stylesheet", type="text/css", href="/css/main.css")
|
||||
link(rel="stylesheet", type="text/css", href="/css/jquery-ui.css")
|
||||
|
||||
body
|
||||
block body
|
||||
.view__feedback
|
||||
.view__screen
|
||||
|
||||
.content
|
||||
include ./includes/_header.jade
|
||||
.page
|
||||
include ./includes/_footer.jade
|
||||
|
||||
block scripts
|
||||
include ./includes/_standard_scripts.jade
|
||||
include ./includes/_google_adsense.jade
|
||||
include ./includes/_google_analytics.jade
|
||||
include ./includes/_addthis.jade
|
||||
@@ -0,0 +1,8 @@
|
||||
//-
|
||||
//- Crafting Guide - _google_adsense.jade
|
||||
//-
|
||||
//- Copyright (c) 2015 by Redwood Labs
|
||||
//- All rights reserved.
|
||||
//-
|
||||
|
||||
script(async, src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js")
|
||||
@@ -0,0 +1,15 @@
|
||||
//-
|
||||
//- Crafting Guide - _standard_scripts.jade
|
||||
//-
|
||||
//- Copyright (c) 2015 by Redwood Labs
|
||||
//- All rights reserved.
|
||||
//-
|
||||
|
||||
script(src="/js/underscore.js")
|
||||
script(src="/js/jquery.js")
|
||||
script(src="/js/backbone.js")
|
||||
script(src="/js/jade.js")
|
||||
script(src="/js/markdown.js")
|
||||
script(src="/js/when.js")
|
||||
script(src="/js/jquery-ui.js")
|
||||
script(src="/js/main.js")
|
||||
@@ -1,20 +0,0 @@
|
||||
//-
|
||||
//- Crafting Guide - index.jade
|
||||
//-
|
||||
//- Copyright (c) 2014-2015 by Redwood Labs
|
||||
//- All rights reserved.
|
||||
//-
|
||||
|
||||
extends ./layouts/basic
|
||||
|
||||
append styles
|
||||
link(rel="stylesheet", type="text/css", href="/css/jquery-ui.css")
|
||||
|
||||
block content
|
||||
.page
|
||||
|
||||
append scripts
|
||||
script(src="/js/jquery-ui.js")
|
||||
script(src="/js/main.js")
|
||||
include ./includes/_google_analytics.jade
|
||||
include ./includes/_addthis.jade
|
||||
@@ -1,38 +0,0 @@
|
||||
//-
|
||||
//- Crafting Guide - basic.jade
|
||||
//-
|
||||
//- Copyright (c) 2014-2015 by Redwood Labs
|
||||
//- All rights reserved.
|
||||
//-
|
||||
|
||||
block basic-vars
|
||||
- var pageTitle = 'Crafting Guide for Minecraft | The Ultimate Step-by-Step Tutorial for Making Anything in Minecraft'
|
||||
|
||||
doctype html
|
||||
html
|
||||
head
|
||||
title= pageTitle
|
||||
meta(charset="UTF-8")
|
||||
link(href="/images/favicon.png", rel="icon", type="image/png")
|
||||
|
||||
block styles
|
||||
link(rel="stylesheet", type="text/css", href="/css/main.css")
|
||||
|
||||
body
|
||||
block body
|
||||
.view__feedback
|
||||
.view__screen
|
||||
.content
|
||||
include ../includes/_header.jade
|
||||
|
||||
block content
|
||||
|
||||
include ../includes/_footer.jade
|
||||
|
||||
block scripts
|
||||
script(src="/js/underscore.js")
|
||||
script(src="/js/jquery.js")
|
||||
script(src="/js/backbone.js")
|
||||
script(src="/js/jade.js")
|
||||
script(src="/js/markdown.js")
|
||||
script(src="/js/when.js")
|
||||
@@ -0,0 +1,8 @@
|
||||
//-
|
||||
//- Crafting Guide - _adsense_sidebar_skyscraper.jade
|
||||
//-
|
||||
//- Copyright (c) 2015 by Redwood Labs
|
||||
//- All rights reserved.
|
||||
//-
|
||||
|
||||
ins.adsbygoogle.sidebar_skyscraper(data-ad-client="ca-pub-6593013914878730", data-ad-slot="7613920409")
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
.view__browse_page
|
||||
.sidebar
|
||||
include ./includes/_sidebar_skyscraper.html
|
||||
.view__adsense
|
||||
|
||||
.mainBody
|
||||
h2: p Active Mods
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
.view__configure_page
|
||||
.sidebar
|
||||
include ./includes/_sidebar_skyscraper.html
|
||||
.view__adsense
|
||||
|
||||
.mainBody
|
||||
.view__mod_pack
|
||||
|
||||
@@ -7,6 +7,8 @@
|
||||
|
||||
.view__home_page
|
||||
.sidebar
|
||||
.view__adsense
|
||||
|
||||
.titleImage <a href="/browse/minecraft/"><img src="/browse/minecraft/icon.png"></a>
|
||||
.titleImage <a href="/browse/buildcraft/"><img src="/browse/buildcraft/icon.png"></a>
|
||||
.titleImage <a href="/browse/industrial_craft_2/"><img src="/browse/industrial_craft_2/icon.png"></a>
|
||||
@@ -15,8 +17,6 @@
|
||||
.titleImage <a href="/browse/enderio/"><img src="/browse/enderio/icon.png"></a>
|
||||
.titleImage <a href="/browse/railcraft/"><img src="/browse/railcraft/icon.png"></a>
|
||||
|
||||
include ./includes/_sidebar_skyscraper.html
|
||||
|
||||
.mainBody
|
||||
.section
|
||||
h2 Welcome!
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
|
||||
<!-- Sidebar Skyscraper -->
|
||||
<ins class="adsbygoogle"
|
||||
style="display:inline-block;width:160px;height:600px"
|
||||
data-ad-client="ca-pub-6593013914878730"
|
||||
data-ad-slot="7613920409"></ins>
|
||||
<script>
|
||||
(adsbygoogle = window.adsbygoogle || []).push({});
|
||||
</script>
|
||||
@@ -10,7 +10,7 @@
|
||||
.titleImage: a: img
|
||||
a.craftingPlan.externalLink: p See Crafting Plan
|
||||
|
||||
include ./includes/_sidebar_skyscraper.html
|
||||
.view__adsense
|
||||
|
||||
.mainBody
|
||||
h1.name
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
a.documentation.externalLink(target="new"): p Documentation
|
||||
a.download.externalLink(target="new"): p Download
|
||||
|
||||
include ./includes/_sidebar_skyscraper.html
|
||||
.view__adsense
|
||||
|
||||
.mainBody
|
||||
h1.name
|
||||
|
||||
+20
-5
@@ -5,16 +5,31 @@
|
||||
//- All rights reserved.
|
||||
//-
|
||||
|
||||
extend ./layouts/basic
|
||||
doctype html
|
||||
html
|
||||
head
|
||||
title Crafting Guide Unit Tests
|
||||
meta(charset="UTF-8")
|
||||
link(href="/images/favicon.png", rel="icon", type="image/png")
|
||||
|
||||
append styles
|
||||
block styles
|
||||
link(rel="stylesheet", type="text/css", href="/css/main.css")
|
||||
link(rel="stylesheet", type="text/css", href="css/mocha.css")
|
||||
style #mocha-stats { position: absolute; top: 12em; }
|
||||
|
||||
block content
|
||||
#mocha
|
||||
body
|
||||
block body
|
||||
.view__feedback
|
||||
.view__screen
|
||||
|
||||
append scripts
|
||||
.content
|
||||
include ./includes/_header.jade
|
||||
.page
|
||||
#mocha
|
||||
include ./includes/_footer.jade
|
||||
|
||||
block scripts
|
||||
include ./includes/_standard_scripts.jade
|
||||
script(src="/js/mocha.js")
|
||||
script(src="/js/chai.js")
|
||||
script(src="/js/test.js")
|
||||
|
||||
@@ -5,14 +5,6 @@ Copyright (C) 2015 by Redwood Labs
|
||||
All rights reserved.
|
||||
*/
|
||||
|
||||
.adsbygoogle {
|
||||
margin-top: 3em;
|
||||
|
||||
&:first-child {
|
||||
margin-top: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.centered {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
/*
|
||||
Crafting Guide - adsense.scss
|
||||
|
||||
Copyright (C) 2015 by Redwood Labs
|
||||
All rights reserved.
|
||||
*/
|
||||
|
||||
.view__adsense {
|
||||
display: inline-block;
|
||||
margin: 3em 0;
|
||||
|
||||
&:first-child {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
&.sidebar_skyscraper {
|
||||
position: relative; width: 160px !important; height: 600px !important;
|
||||
}
|
||||
|
||||
&.placeholder {
|
||||
background: rgba(192, 192, 255, 0.5);
|
||||
border: 0.1em solid $color-gray-medium;
|
||||
}
|
||||
}
|
||||
@@ -5,6 +5,7 @@ Copyright (c) 2014-2015 by Redwood Labs
|
||||
All rights reserved.
|
||||
*/
|
||||
|
||||
@import 'adsense';
|
||||
@import 'browse_page';
|
||||
@import 'crafting_grid';
|
||||
@import 'craft_page';
|
||||
|
||||
Reference in New Issue
Block a user