private async Task <IFile> CompilePage(IPage page, ISite site, ILocation loc) { m_Logger.LogInformation($"Compiling page: '{loc.ToId()}'", true); var url = loc.ToUrl(); var content = await m_ContentTransformer.Transform(page.RawContent); var layout = page.Layout; if (layout != null) { content = await m_LayoutParser.InsertContent(layout, content, site, page, url); } content = await m_IncludesHandler.ResolveAll(content, site, page, url); var contentStrBuilder = new StringBuilder(content); await m_Ext.WritePageContent(contentStrBuilder, page.Data, url); content = contentStrBuilder.ToString(); if (!string.IsNullOrEmpty(site.BaseUrl)) { var baseUrl = LocationExtension.URL_SEP + site.BaseUrl.TrimStart(LocationExtension.URL_SEP).TrimEnd(LocationExtension.URL_SEP); content = SetBaseUrl(content, baseUrl); } return(new File(loc, ContentExtension.ToByteArray(content), page.Id)); }
public async Task TextAssetTest() { var site = new Site("", "", new PageMock("page1", ""), null); var asset = new AssetMock("file.txt", ContentExtension.ToByteArray("test")); site.MainPage.Assets.Add(asset); var files = await m_Compiler.Compile(site).ToListAsync(); Assert.AreEqual("test", files.First(f => f.Location.ToId() == "file.txt").Content); }
private async Task <IFile> CompileAsset(IAsset asset, ISite site, IPage page, ILocation loc) { m_Logger.LogInformation($"Compiling asset: '{loc.ToId()}'", true); var url = loc.ToUrl(); var rawContent = asset.AsTextContent(); var content = await m_IncludesHandler.ResolveAll(rawContent, site, page, url); return(new File(loc, ContentExtension.ToByteArray(content), asset.Id)); }
public async Task SubPageAssetTest() { var site = new Site("", "", new PageMock("", ""), null); var asset = new AssetMock("file.txt", ContentExtension.ToByteArray("test")); var p2 = new PageMock("p2", ""); site.MainPage.SubPages.Add(p2); p2.Assets.Add(asset); var files = await m_Compiler.Compile(site).ToListAsync(); var a = files.FirstOrDefault(f => f.Location.ToId() == "p2::file.txt"); Assert.IsNotNull(a); Assert.AreEqual("test", a.AsTextContent()); }
public CommentListViewModel(ContentExtension ce) { this.contentExtension = ce; }
public FilesController(IFilesManagerService fms, IContentManagerService cms, ContentExtension ce) { this.fms = fms; this.cms = cms; this.ce = ce; }
public CommentController(ICommentManagerService cms, ContentExtension ce) { this.cms = cms; this.ce = ce; }
public FileMock(string location, string content) : this(Xarial.Docify.Core.Location.FromPath(location), ContentExtension.ToByteArray(content)) { }
public FileMock(Location location, string content) : this(location, ContentExtension.ToByteArray(content)) { }
public PluginAsset(string content, string name) : this(ContentExtension.ToByteArray(content), name) { }
public static void AddTextAsset(string content, IPage page, string path) => AddAsset(ContentExtension.ToByteArray(content), page, path);
public AssetMock(string name, string content) : this(name, ContentExtension.ToByteArray(content)) { }
public PluginFile(string content, ILocation loc, string id) : this(ContentExtension.ToByteArray(content), loc, id) { }
public FilesListViewModel(ContentExtension ce) { this.contentExtension = ce; }