Exemplo n.º 1
0
 /// <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);
 }
Exemplo n.º 2
0
        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);
        }