2013-12-15 2 views
0

Я создаю статический сайт, используя Jekyll. Я использую backbone.js, чтобы выполнить несколько маршрутов.Использование backbone.js маршрутизации с Jekyll

Предположим, что главная страница находится в localsite.com ... Я не уверен, как создавать маршруты для следующих URL-адресов.

http://localsite.com/hulk & 
http://localsite.com/thor 

туша и Thor имена должны быть проложены.

и мой Backbone.js маршрутизатор следующим образом:

<script> 
    var AppRouter = Backbone.Router.extend({ 
     routes: { 
      ":name": "nameRoute" // should match http://localsite.com/anything-here 
     } 
    }); 
    // Initiate the router 
    var app_router = new AppRouter; 

    app_router.on('route:nameRoute', function(name) { 
     console.log(name); 
    }) 

    Backbone.history.start({pushState: true}); 

</script> 

Я не могу получить эту работу. Есть что-то, чего я не хватает? Смогу ли я сделать эту маршрутизацию с Джекиллом? _config.yml

Мои Джекила имеет

permalink: pretty 

Как получить эти маршруты работают?

Есть ли другие предложения? Моя цель - получить аналогичную маршрутизацию при размещении на github pages.

+0

Должен ли быть URL-адрес http://localsite.com/thor, или может быть http : //localsite.com#thor? – RustyToms

+0

@RustyToms, URL будет только localsite.com/thor. –

ответ

0

Что касается маршрутизации, то это довольно прямолинейно. Вторая часть - это имя вызываемой функции, которая должна быть определена внутри вашего маршрутизатора. Так что просто изменить свой код к этому, и он должен работать:

var AppRouter = Backbone.Router.extend({ 
    routes: { 
     ":name": "nameRoute" // should match http://localsite.com/anything-here 
    }, 

    nameRoute: function(name){ 
     console.log(name); 
    } 
}); 
// Initiate the router 
var app_router = new AppRouter; 

Backbone.history.start({pushState: true}); 

Если у вас возникли проблемы с PushState и избавление от позвоночника по умолчанию хэштег, проверить это SO вопроса BackboneJS - Router issues - how to get clean URL's (что особенно важно для местных связей, если вы не хотите продолжать перезагрузку с сервера), и вот пример сайта, который избавляется от их #: http://artsy.github.io/blog/2012/06/25/replacing-hashbang-routes-with-pushstate/

Смежные вопросы