Skip to content

Instantly share code, notes, and snippets.

View davidvanleeuwen's full-sized avatar
✌️
Sharing is caring

David van Leeuwen davidvanleeuwen

✌️
Sharing is caring
View GitHub Profile
@davidvanleeuwen
davidvanleeuwen / gist:5241490
Created March 25, 2013 22:38
Stickit bindings
bindings:
'h2': 'title'
'p': 'intro'
'a':
attributes: [
name: 'href'
observe: 'slug'
onGet: (val) -> "/articles/#{val}"
,
name: 'class'
define ['templates/navigation', 'views/navigation_item'], (template) ->
class Blog.Views.Navigation extends Backbone.Marionette.CompositeView
itemView: Blog.Views.NavigationItem
template: template
itemViewContainer: '.bb-items'
initialize: ->
appendHtml: (collectionView, itemView, index) ->
collectionView.$(@itemViewContainer).prepend(itemView.el)
@davidvanleeuwen
davidvanleeuwen / gist:5179205
Created March 17, 2013 01:49
Articles events
define [
'collections/articles'
'views/article'
'views/navigation'
'views/not_found'
], (articles) ->
Blog.App.vent.bind 'article', (slug) ->
article = articles.getArticle(slug)
@davidvanleeuwen
davidvanleeuwen / gist:5178609
Created March 16, 2013 22:31
Marionette.Layout
define ['templates/layout'], (template) ->
class Blog.Layouts.Index extends Backbone.Marionette.Layout
template: template
regions:
navigation: 'nav'
article: 'article'
@davidvanleeuwen
davidvanleeuwen / gist:5178354
Last active December 15, 2015 01:09
Blog container
define ['marionette'], (Marionette) ->
class Blog
constructor: (@options = {}) ->
# Exposed objects under this class.
@Routers = {}
@Views = {}
@Collections = {}
@Models = {}
@Layouts = {}
requirejs:
compile:
options:
name: "main"
baseUrl: "./blog/scripts/"
mainConfigFile: "./blog/scripts/main.js"
optimize: "none"
out: "./blog/scripts/blog.js"
deploy:
@davidvanleeuwen
davidvanleeuwen / gist:5129548
Last active December 14, 2015 18:29
Grunt watch
grunt.registerTask 'watch', ['connect', 'build', 'livereload-start',
'open', 'regarde']
@davidvanleeuwen
davidvanleeuwen / gist:5129495
Last active December 14, 2015 18:29
Your Grunt task
grunt.registerTask 'build', ['coffee', 'sass', 'haml']
@davidvanleeuwen
davidvanleeuwen / gist:5129286
Last active December 14, 2015 18:28
Create the tasks
grunt.initConfig
coffee:
scripts:
files:
grunt.file.expandMapping(['src/scripts/**/*.coffee'], 'blog/scripts/',
rename: (destBase, destPath) ->
return destBase + destPath.slice(12, destPath.length)
.replace(/\.coffee$/, '.js')
)
main:
@davidvanleeuwen
davidvanleeuwen / gist:5129146
Last active December 14, 2015 18:28
Load haml, coffee and sass
module.exports = (grunt) ->
grunt.loadNpmTasks 'grunt-contrib-coffee'
grunt.loadNpmTasks 'grunt-contrib-sass'
grunt.loadNpmTasks 'grunt-haml'