public void Process(Document source, Stage stage) { Document template = Influx.Documents.First(); string t = template.Text; string s = source.Text; Document d = stage.CloneAndPost(source); d.Text = t + s; }
public void Process(Document input, Stage output) { input.Context.EnsureTarget(); Log.Debug("Copy \n from: {0} \n ..to: {1}.", Path.Combine(input.Context.Source.Directory, input.Name), input.Context.Target.Directory); File.Copy(input.SourceFullPath, input.TargetFullPath, true); }
public void Process(Document input, Stage output) { Document template = Influx.Single(input); Document result = input.CloneMetadata(); result.Text = template.Text.Replace("%body%", input.Text); result.Extension = template.Extension; output.Post(result); }
public void Render(Document input, Document output) { output.Extension = ".html"; var mark = new Markdown(); //set preferences of your markdown mark.SafeMode = true; mark.ExtraMode = true; string mdtext = input.Text; output.Text = mark.Transform(mdtext); }
public void Process(Document input, Stage output) { IEnumerable<string> folders = Disk.Directories(input.Context.Source.Directory, pattern); foreach(string folder in folders) { Context context = Context.CreateFromSource(input.Context.Root, folder); IWork work = Make.InterpretDocument(input.Text, context); work.Execute(); } }
public void Process(Document input, Stage output) { StringBuilder builder = new StringBuilder(input.Text); foreach(Document doc in input.Attachments) { builder.Append(doc.Text); } foreach(Document doc in Influx.Documents) { builder.Append(doc.Text); } Document result = output.CloneAndPost(input); result.Text = builder.ToString(); }
public void Process(Document input, Stage output) { if (Mask != null) { if (Mask.StartsWith(".")) { input.Extension = Mask; } else { string s = Disk.ParseMask(input.Name, Mask); input.SetFilename(s); } } input.Save(); }
public static Document Single(this ISelector selector, Document document) { IEnumerable<Document> documents = Selector.Match(selector, document); Document output = documents.FirstOrDefault(); if (output == null) { throw new Exception(string.Format("Selection {0} is empty for {1}.", selector, document)); } else return output; }
public static IEnumerable<Document> Match(this ISelector selector, Document document) { if (selector.Mask != null) { string name = Disk.ParseMask(document.Name, selector.Mask).ToLower(); return selector.Documents.Where(d => d.Name.ToLower() == name); } else { return selector.Documents; } }
public static void Push(string key, Document document) { Stage stage = Assert(key); stage.Post(document); }
public void Process(Document input, Stage stage) { Log.Debug("Rendering {0} \n from: {1} \n ..to: {2}.", Renderer.GetType().Name, input.SourceFullPath, input.TargetFullPath); Document output = stage.CloneAndPost(input); Renderer.Render(input, output); }
public void Process(Document input, Stage output) { Stash.Push(key, input.Clone()); }
public static Document CreateFromFullPath(Context context, string fullpath) { Document document = new Document(); document.Context = Context.CreateFromSource(context.Root, fullpath); document.SetFilename(fullpath); return document; }
public void Post(Document item) { queue.Enqueue(item); }
public TestProcessor(Context context, string filename) { // todo: move to influx !!!! template = Document.CreateInContext(context, filename); }
public void Process(Document input, Stage output) { IWork work = Make.InterpretDocument(input.Text, input.Context); work.Execute(); }
public void Render(Document input, Document output) { output.Extension = ".html"; output.Text = Razor.Render(input.Context, input.Text); }
public static Document CreateInContext(Context context, string filename) { Document document = new Document(); document.Context = context.Clone(); string dir = Path.GetDirectoryName(filename); document.Context.MoveTo(dir); document.SetFilename(filename); return document; }
public Document CloneAndPost(Document source) { Document item = source.CloneMetadata(); Post(item); return item; }
public static IWork InterpretDocument(Document document) { return InterpretDocument(document.Text, document.Context); }
public void Process(Document input, Stage output) { input.Attach(Influx.Documents); output.Post(input); }
/// <summary> /// Create a new Item, based on the current item, but with a new stream /// </summary> /// <returns></returns> public Document CloneMetadata() { Document doc = new Document(); doc.Context = this.Context.Clone(); doc.Name = this.Name; doc.Extension = this.Extension; doc.State = this.State; return doc; }