本文整理汇总了C#中IAsset.AddRawFileReference方法的典型用法代码示例。如果您正苦于以下问题:C# IAsset.AddRawFileReference方法的具体用法?C# IAsset.AddRawFileReference怎么用?C# IAsset.AddRawFileReference使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IAsset
的用法示例。
在下文中一共展示了IAsset.AddRawFileReference方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: AddRawFileReferenceForEachImportedFile
void AddRawFileReferenceForEachImportedFile(IAsset asset, CompileResult compileResult)
{
foreach (var importedFilePath in compileResult.ImportedFilePaths)
{
asset.AddRawFileReference(importedFilePath);
}
}
示例2: Transform
public Func<Stream> Transform(Func<Stream> openSourceStream, IAsset asset)
{
return delegate
{
var css = ReadCss(openSourceStream);
var currentDirectory = GetCurrentDirectory(asset);
var urlMatches = UrlMatchesInReverse(css);
var builder = new StringBuilder(css);
foreach (var match in urlMatches)
{
var matchedUrlGroup = match.Groups["url"];
string queryString;
string fragment;
var relativeFilename = GetImageFilename(matchedUrlGroup, currentDirectory, out queryString, out fragment);
if (ReplaceUrlWithCassetteRawFileUrl(builder, matchedUrlGroup, relativeFilename, queryString, fragment))
{
asset.AddRawFileReference(relativeFilename);
}
else
{
ReplaceUrlWithAbsoluteUrl(builder, matchedUrlGroup, currentDirectory);
}
}
return builder.ToString().AsStream();
};
}
示例3: Transform
public Func<Stream> Transform(Func<Stream> openSourceStream, IAsset asset)
{
return delegate
{
var css = ReadCss(openSourceStream);
var currentDirectory = GetCurrentDirectory(asset);
var urlMatches = UrlMatchesInReverse(css);
var builder = new StringBuilder(css);
foreach (var match in urlMatches)
{
var matchedUrlGroup = match.Groups["url"];
var relativeFilename = GetImageFilename(matchedUrlGroup, currentDirectory);
ExpandUrl(builder, matchedUrlGroup, relativeFilename);
asset.AddRawFileReference(relativeFilename);
}
return builder.ToString().AsStream();
};
}
示例4: Transform
public Func<Stream> Transform(Func<Stream> openSourceStream, IAsset asset)
{
return delegate
{
var css = openSourceStream().ReadToEnd();
var matches = UrlRegex.Matches(css)
.Cast<Match>()
.Select(match => new UrlMatch(asset, match))
.Reverse(); // Must work backwards to prevent match indicies getting out of sync after insertions.
var output = new StringBuilder(css);
foreach (var match in matches)
{
match.ReplaceWithin(output);
asset.AddRawFileReference(match.Url);
}
return output.ToString().AsStream();
};
}
示例5: Transform
public Func<Stream> Transform(Func<Stream> openSourceStream, IAsset asset)
{
return delegate
{
var css = openSourceStream().ReadToEnd();
var matches = urlRegex
.Matches(css)
.Cast<Match>()
.Select(match => CreateCssUrlMatchTransformer(match, asset, rootDirectory))
.Where(match => match.CanTransform && shouldEmbedUrl(match.Url))
.Reverse(); // Must work backwards to prevent match indicies getting out of sync after insertions.
var output = new StringBuilder(css);
foreach (var match in matches)
{
match.Transform(output);
asset.AddRawFileReference(match.File.FullPath);
}
return output.ToString().AsStream();
};
}
示例6: Transform
public Func<Stream> Transform(Func<Stream> openSourceStream, IAsset asset)
{
return delegate
{
var css = ReadCss(openSourceStream);
var currentDirectory = GetCurrentDirectory(asset);
var urlMatches = UrlMatchesInReverse(css);
var builder = new StringBuilder(css);
foreach (var match in urlMatches)
{
var matchedUrlGroup = match.Groups["url"];
var relativeFilename = GetImageFilename(matchedUrlGroup, currentDirectory);
if (ExpandUrl(builder, matchedUrlGroup, relativeFilename))
{
asset.AddRawFileReference(relativeFilename);
}
else
{
Trace.Source.TraceEvent(TraceEventType.Warning, 0, "The file {0}, referenced by {1}, does not exist.", relativeFilename, asset.SourceFile.FullPath);
}
}
return builder.ToString().AsStream();
};
}