Add support for Google Sitelinks

fixes #187
This commit is contained in:
Andrew Miner
2016-05-07 13:36:49 -07:00
parent da1419d6b6
commit 05bc1a271d
5 changed files with 34 additions and 4 deletions
@@ -0,0 +1,18 @@
//-
//- Crafting Guide - _google_sitelinks.jade
//-
//- Copyright © 2014-2016 by Redwood Labs
//- All rights reserved.
//-
script(type="application/ld+json").
{
"@context": "http://schema.org",
"@type": "WebSite",
"url": "http://crafting-guide.com/",
"potentialAction": {
"@type": "SearchAction",
"target": "http://crafting-guide.com?search={search_term}",
"query-input": "required name=search_term"
}
}
@@ -82,6 +82,7 @@ module.exports = class ItemSelectorController extends BaseController
@model.hint = @$hintField.val() @model.hint = @$hintField.val()
@tryRefresh() @tryRefresh()
@onResultSelected @_elementControllers[0] @onResultSelected @_elementControllers[0]
return false
onPopupClicked: (event)-> onPopupClicked: (event)->
return false return false
@@ -90,6 +91,7 @@ module.exports = class ItemSelectorController extends BaseController
@_session.resolve controller.model.slug @_session.resolve controller.model.slug
@_session = null @_session = null
@_close() @_close()
return false
onResultSelected: (controller)-> onResultSelected: (controller)->
for c in @_elementControllers for c in @_elementControllers
@@ -98,6 +100,8 @@ module.exports = class ItemSelectorController extends BaseController
if controller? if controller?
controller.selected = true controller.selected = true
return false
onScreenClicked: (event)-> onScreenClicked: (event)->
@_close() @_close()
return false return false
@@ -7,6 +7,7 @@
BaseController = require '../base_controller' BaseController = require '../base_controller'
ItemSelectorController = require '../common/item_selector/item_selector_controller' ItemSelectorController = require '../common/item_selector/item_selector_controller'
UrlParams = require '../url_params'
######################################################################################################################## ########################################################################################################################
@@ -43,8 +44,8 @@ module.exports = class HeaderController extends BaseController
@router.navigate '/news', trigger:true @router.navigate '/news', trigger:true
return false return false
onSearch: -> onSearch: (event, hint='')->
@_selector.launch() @_selector.launch hint
.then (itemSlug)=> .then (itemSlug)=>
return unless itemSlug? return unless itemSlug?
@@ -67,6 +68,8 @@ module.exports = class HeaderController extends BaseController
@$extraNav = @$('.extra-nav') @$extraNav = @$('.extra-nav')
@$loginButtonLabel = @$('.button.login p') @$loginButtonLabel = @$('.button.login p')
@$title = $('title') @$title = $('title')
@_checkForSearchRequest()
super super
onWillChangeModel: (oldModel, newModel)-> onWillChangeModel: (oldModel, newModel)->
@@ -96,6 +99,12 @@ module.exports = class HeaderController extends BaseController
# Private Methods ############################################################################## # Private Methods ##############################################################################
_checkForSearchRequest: ->
params = new UrlParams search:{type:'string'}
return unless params.search?
_.delay (=> @onSearch {}, params.search), c.duration.slow
_refreshBreadcrumbs: -> _refreshBreadcrumbs: ->
breadcrumbs = @model?.controller?.getBreadcrumbs() breadcrumbs = @model?.controller?.getBreadcrumbs()
breadcrumbs ?= [] breadcrumbs ?= []
+1
View File
@@ -32,4 +32,5 @@ html
include ../includes/_google_adsense.jade include ../includes/_google_adsense.jade
include ../includes/_google_analytics.jade include ../includes/_google_analytics.jade
include ../includes/_google_sitelinks.jade
@@ -69,9 +69,7 @@ module.exports = class ItemPageController extends PageController
] ]
getExtraNav: -> getExtraNav: ->
console.warn "getExtraNav()"
itemSlug = @_modPack.chooseRandomItem() itemSlug = @_modPack.chooseRandomItem()
console.warn " itemSlug: #{itemSlug}"
return null unless itemSlug? return null unless itemSlug?
itemDisplay = @_modPack.findItemDisplay itemSlug itemDisplay = @_modPack.findItemDisplay itemSlug