33 lines
1.2 KiB
C#
33 lines
1.2 KiB
C#
using HtmlAgilityPack;
|
|
|
|
namespace Beam.Dynamic {
|
|
public class DataBindings {
|
|
public Binding? Title { get; set; }
|
|
public Binding? Authors { get; set; }
|
|
public Binding? Description { get; set; }
|
|
public Binding? Content { get; set; }
|
|
public Binding? Language { get; set; }
|
|
public Binding? Tags { get; set; }
|
|
|
|
public ResolvedBindings Resolve(HtmlDocument doc) {
|
|
return new ResolvedBindings() {
|
|
Title = Title?.Resolve(doc),
|
|
Authors = Authors?.Resolve(doc) ?? Array.Empty<string>(),
|
|
Language = Language?.Resolve(doc) ?? Array.Empty<string>(),
|
|
Content = Content?.Resolve(doc),
|
|
Description = Description?.Resolve(doc),
|
|
Tags = Tags?.Resolve(doc) ?? Array.Empty<string>()
|
|
};
|
|
}
|
|
}
|
|
|
|
public class ResolvedBindings {
|
|
public string? Title { get; set; }
|
|
public string[]? Authors { get; set; }
|
|
public string? Description { get; set; }
|
|
public string? Content { get; set; }
|
|
public string[]? Language { get; set; }
|
|
public string[]? Tags { get; set; }
|
|
}
|
|
}
|