reload template source if file date changed
parent
a28752ff44
commit
a2a8edfe3f
15
Template.cs
15
Template.cs
|
@ -11,6 +11,8 @@ namespace ln.templates
|
|||
{
|
||||
public TemplateProvider Provider { get; private set; }
|
||||
public String SourceFilename { get; private set; }
|
||||
public String PseudoFilename { get; private set; }
|
||||
public DateTime SourceTimeStamp { get; private set; }
|
||||
|
||||
public Element RootElement { get; private set; }
|
||||
|
||||
|
@ -19,6 +21,7 @@ namespace ln.templates
|
|||
public Template(String sourceFilename)
|
||||
{
|
||||
SourceFilename = sourceFilename;
|
||||
PseudoFilename = sourceFilename;
|
||||
|
||||
LoadSource(null);
|
||||
}
|
||||
|
@ -27,6 +30,7 @@ namespace ln.templates
|
|||
{
|
||||
Provider = provider;
|
||||
SourceFilename = sourceFilename;
|
||||
PseudoFilename = sourceFilename;
|
||||
|
||||
LoadSource(null);
|
||||
}
|
||||
|
@ -34,7 +38,7 @@ namespace ln.templates
|
|||
public Template(String source,String pseudoFilename,TemplateProvider provider)
|
||||
{
|
||||
Provider = provider;
|
||||
SourceFilename = pseudoFilename;
|
||||
PseudoFilename = pseudoFilename;
|
||||
|
||||
LoadSource(source);
|
||||
}
|
||||
|
@ -49,6 +53,8 @@ namespace ln.templates
|
|||
fileStream.Read(loadBuffer, 0, loadBuffer.Length);
|
||||
fileStream.Close();
|
||||
source = Encoding.UTF8.GetString(loadBuffer);
|
||||
|
||||
SourceTimeStamp = File.GetLastWriteTimeUtc(SourceFilename);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -65,6 +71,13 @@ namespace ln.templates
|
|||
}
|
||||
public String Generate(Context context)
|
||||
{
|
||||
if (SourceFilename != null)
|
||||
{
|
||||
DateTime ts = File.GetLastWriteTimeUtc(SourceFilename);
|
||||
if (ts > SourceTimeStamp)
|
||||
LoadSource(null);
|
||||
}
|
||||
|
||||
StringWriter writer = new StringWriter();
|
||||
RootElement.Generate(writer, context);
|
||||
|
||||
|
|
Loading…
Reference in New Issue