Skip to content
This repository was archived by the owner on Oct 8, 2021. It is now read-only.

Commit f029237

Browse files
committed
Demos: Fixed source and built RequireJS + Backbone demo
Fixes gh-6818
1 parent aad40a7 commit f029237

File tree

12 files changed

+118
-7687
lines changed

12 files changed

+118
-7687
lines changed

Gruntfile.js

Lines changed: 40 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ module.exports = function( grunt ) {
22
"use strict";
33

44
var _ = require( "underscore" ),
5+
cheerio = require( "cheerio" ),
56

67
replaceCombinedCssReference = function( content, processedName ) {
78
return content.replace( /\.\.\/css\//, "css/" )
@@ -393,8 +394,8 @@ module.exports = function( grunt ) {
393394
var processedName = grunt.config.process( name + "<%= versionSuffix %>" );
394395
content = content.replace( /_assets\/js\/">/gi, "_assets/js/index.js\">" );
395396
content = content.replace( /\.\.\/external\/jquery\//gi, "js/" );
397+
content = content.replace( /\.\.\/js\/\"/gi, "js/\"" );
396398
content = content.replace( /js\/"/gi, "js/" + processedName + ".min.js\"" );
397-
content = content.replace( new RegExp( "../js/" + processedName, "gi" ), "js/" + processedName );
398399
content = replaceCombinedCssReference( content, processedName );
399400
content = content.replace( /^\s*<\?php include\(\s*['"]([^'"]+)['"].*$/gmi,
400401
function( match, includePath /*, offset, string */ ) {
@@ -435,15 +436,45 @@ module.exports = function( grunt ) {
435436
},
436437
"demos.backbone": {
437438
options: {
438-
processContent: function( content /*, srcPath */ ) {
439-
var processedName = grunt.config.process( name + "<%= versionSuffix %>" );
440-
content = content.replace( /"jquery": "\.\.\/\.\.\/\.\.\/js\/jquery"/,
441-
"\"jquery\": \"../../js/jquery\"" );
442-
content = replaceCombinedCssReference( content, processedName );
439+
processContent: function( content, srcPath ) {
440+
var $,
441+
processedName = grunt.config.process( name + "<%= versionSuffix %>" );
442+
443+
if ( /\.html$/.test( srcPath ) ) {
444+
445+
content = replaceCombinedCssReference( content, processedName );
446+
447+
$ = cheerio.load( content );
448+
449+
$( "script" ).each( function ( idx, element ) {
450+
var script = $( element );
451+
if ( /requirejs\.config\.js$/.test( script.attr( "src" ) ) ) {
452+
453+
// Get rid of the requirejs.config.js script tag since we're using the built bundle
454+
script.remove();
455+
} else if ( /require.js$/.test( script.attr( "src" ) ) ) {
456+
457+
// Use the rawgithub.com version for requirejs
458+
script.attr( "src",
459+
"//rawgithub.com/jrburke/requirejs/" +
460+
grunt.template.process( "<%= pkg.devDependencies.requirejs %>" ) +
461+
"/require.js" );
462+
}
463+
});
464+
465+
// write out newly created file contents
466+
content = $.html();
467+
} else if ( /\.js$/.test( srcPath ) ) {
468+
469+
// Redifines paths for compiled demos
470+
content = content.replace( /baseUrl:.*$/m, "baseUrl: \"../js\"," );
471+
content = content.replace( /\.\.\/external\/jquery\//, "" );
472+
content = content.replace( /jquery\.mobile/, processedName );
473+
content = content.replace(
474+
/"backbone-requirejs-demos".*$/m,
475+
"\"backbone-requirejs-demos\": \"../backbone-requirejs/js\"" );
476+
}
443477

444-
// Update dependency to jquery.mobile claimed by jquerymobile.js
445-
content = content.replace( /\[ "\.\.\/\.\.\/js\/\?noext" \]/,
446-
"[ \"../../../" + processedName + "\" ]" );
447478
return content;
448479
}
449480
},

demos/backbone-requirejs/backbone-require.html

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,9 @@
55
<meta name="description" content="">
66
<meta name="viewport" content="width=device-width, initial-scale=1">
77
<link rel="stylesheet" href="../../css/themes/default/jquery.mobile.css">
8-
<script src="js/libs/require.js" data-main="js/mobile"></script>
8+
<script src="../../external/requirejs/require.js"></script>
9+
<script src="../../js/requirejs.config.js"></script>
10+
<script src="js/main.js"></script>
911
</head>
1012
<body>
1113

demos/backbone-requirejs/js/collections/CategoriesCollection.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,10 @@
22
// ===================
33

44
// Includes file dependencies
5-
define([ "jquery","backbone","models/CategoryModel" ], function( $, Backbone, CategoryModel ) {
5+
define([
6+
"jquery",
7+
"backbone",
8+
"../models/CategoryModel" ], function( $, Backbone, CategoryModel ) {
69

710
// Extends Backbone.Router
811
var Collection = Backbone.Collection.extend( {

0 commit comments

Comments
 (0)