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()
@tryRefresh()
@onResultSelected @_elementControllers[0]
return false
onPopupClicked: (event)->
return false
@@ -90,6 +91,7 @@ module.exports = class ItemSelectorController extends BaseController
@_session.resolve controller.model.slug
@_session = null
@_close()
return false
onResultSelected: (controller)->
for c in @_elementControllers
@@ -98,6 +100,8 @@ module.exports = class ItemSelectorController extends BaseController
if controller?
controller.selected = true
return false
onScreenClicked: (event)->
@_close()
return false
@@ -7,6 +7,7 @@
BaseController = require '../base_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
return false
onSearch: ->
@_selector.launch()
onSearch: (event, hint='')->
@_selector.launch hint
.then (itemSlug)=>
return unless itemSlug?
@@ -67,6 +68,8 @@ module.exports = class HeaderController extends BaseController
@$extraNav = @$('.extra-nav')
@$loginButtonLabel = @$('.button.login p')
@$title = $('title')
@_checkForSearchRequest()
super
onWillChangeModel: (oldModel, newModel)->
@@ -96,6 +99,12 @@ module.exports = class HeaderController extends BaseController
# Private Methods ##############################################################################
_checkForSearchRequest: ->
params = new UrlParams search:{type:'string'}
return unless params.search?
_.delay (=> @onSearch {}, params.search), c.duration.slow
_refreshBreadcrumbs: ->
breadcrumbs = @model?.controller?.getBreadcrumbs()
breadcrumbs ?= []
+1
View File
@@ -32,4 +32,5 @@ html
include ../includes/_google_adsense.jade
include ../includes/_google_analytics.jade
include ../includes/_google_sitelinks.jade
@@ -69,9 +69,7 @@ module.exports = class ItemPageController extends PageController
]
getExtraNav: ->
console.warn "getExtraNav()"
itemSlug = @_modPack.chooseRandomItem()
console.warn " itemSlug: #{itemSlug}"
return null unless itemSlug?
itemDisplay = @_modPack.findItemDisplay itemSlug