/// <summary> /// Merge two projects together. Does not fully copy the other project and will use objects /// from inside it, don't keep making changes to the project merged into this one or the /// changes will be in both projects. /// </summary> /// <param name="backupProject"></param> public void merge(EdityProject backupProject) { mergeDictionarys(backupProject.ContentMap, ContentMap); mergeDictionarys(backupProject.Vars, Vars); mergeDictionarys(backupProject.BuildVars, BuildVars); mergeDictionarys(backupProject.EditPageSettings, EditPageSettings); mergeStringList(backupProject.LinkedContent, LinkedContent); mergeStringList(backupProject.AdditionalContent, AdditionalContent); mergeStringList(backupProject.EditComponents, EditComponents); mergeStringList(backupProject.DraftComponents, DraftComponents); mergeCompilerLists(backupProject.Compilers, Compilers); }
public TemplateEnvironment(String docLink, IFileFinder fileFinder, Dictionary <String, String> overrideVars, String version = null, bool useBuildVars = false) { this.overrideVars = overrideVars; this.useBuildVars = useBuildVars; this.project = fileFinder.Project; this.version = version; if (!(useBuildVars && project.BuildVars.TryGetValue("pathBase", out this.pathBase)) && !project.Vars.TryGetValue("pathBase", out this.pathBase)) { pathBase = ""; } else { pathBase = pathBase.EnsureStartingPathSlash(); } this.project.EditPageSettings["baseUrl"] = pathBase; this.docLink = docLink.EnsureStartingPathSlash(); this.fileFinder = fileFinder; linkedContent.mergeEntries(project.ContentMap); }