tasks/inline.js
function(matchedWord, imgUrl) {
            if (!imgUrl || !matchedWord) {
                        return;
            }
            var flag = imgUrl.indexOf(options.tag) != -1;	// urls like "img/bg.png?__inline" will be transformed to base64
//grunt.log.write('urlMatcher :: matchedWord=' + matchedWord + ',imgUrl=' + imgUrl + '\n$$$\n');
			if((isBase64Path(imgUrl)) || isRemotePath(imgUrl)) {
				return matchedWord;
			}

			var absoluteImgUrl = path.resolve(path.dirname(filepath), imgUrl);	// img url relative to project root
			var newUrl = path.relative(path.dirname(htmlFilepath), absoluteImgUrl);	// img url relative to the html file

			absoluteImgUrl = absoluteImgUrl.replace(/\?.*$/, '');

			if(flag && grunt.file.exists(absoluteImgUrl)) {
				newUrl = new datauri(absoluteImgUrl);
			} else {
				newUrl = newUrl.replace(/\\/g, '/');
			}

			return matchedWord.replace(imgUrl, newUrl);
		}
function(matchedWord, imgUrl) {
            if (!imgUrl || !matchedWord) {
                        return;
            }
            var flag = imgUrl.indexOf(options.tag) != -1;	// urls like "img/bg.png?__inline" will be transformed to base64
//grunt.log.write('urlMatcher :: matchedWord=' + matchedWord + ',imgUrl=' + imgUrl + '\n$$$\n');
			if((isBase64Path(imgUrl)) || isRemotePath(imgUrl)) {
				return matchedWord;
			}

			var absoluteImgUrl = path.resolve(path.dirname(filepath), imgUrl);	// img url relative to project root
			var newUrl = path.relative(path.dirname(htmlFilepath), absoluteImgUrl);	// img url relative to the html file

			absoluteImgUrl = absoluteImgUrl.replace(/\?.*$/, '');

			if(flag && grunt.file.exists(absoluteImgUrl)) {
				newUrl = new datauri(absoluteImgUrl);
			} else {
				newUrl = newUrl.replace(/\\/g, '/');
			}

			return matchedWord.replace(imgUrl, newUrl);
		}
function ( matchedWord , imgUrl ) { if ( ! imgUrl || ! matchedWord ) { return ; } var flag = imgUrl . indexOf ( options . tag ) != - 1 ; // urls like "img/bg.png?__inline" will be transformed to base64 //grunt.log.write('urlMatcher :: matchedWord=' + matchedWord + ',imgUrl=' + imgUrl + '\n$$$\n'); if ( ( isBase64Path ( imgUrl ) ) || isRemotePath ( imgUrl ) ) { return matchedWord ; } var absoluteImgUrl = path . resolve ( path . dirname ( filepath ) , imgUrl ) ; // img url relative to project root var newUrl = path . relative ( path . dirname ( htmlFilepath ) , absoluteImgUrl ) ; // img url relative to the html file absoluteImgUrl = absoluteImgUrl . replace ( / \?.*$ / , '' ) ; if ( flag && grunt . file . exists ( absoluteImgUrl ) ) { newUrl = new datauri ( absoluteImgUrl ) ; } else { newUrl = newUrl . replace ( / \\ / g , '/' ) ; } return matchedWord . replace ( imgUrl , newUrl ) ; }
match tokens with "url" in content
match tokens with url in content