dcm Feeds - Gadreel/dcraft GitHub Wiki
TODO
Feed and Channel mean same thing.
Blog
Event Listing
Schedule
Articles
LWV HOME BLOG FEED
- Show the latest first, going back in time.
- Do not show entires more than 1 day in the future
- Show max of 2 entries
<dcm.Feed Channel="Blog" Start="P1D" Max="2">
<a class="ui-link" href="/Blog/@val|Field|Slug@">
<h3>@val|Field|Title@</h3>
<img src="@val|Field|Image@" />
<dc.Markdown><]]></dc.Markdown>
</a>
</dcm.Feed>
LWV HOME SCHEDULE FEED
- Show the oldest first, going forward in time
- Do not show entries that have already passed
- Show max of 5 entries
<dcm.Feed Channel="Schedule" Reverse="true" Start="P0D" Max="5">
<p>
@val|Field|StartAt|tdfmt:MMMM~dd yyyy@ @val|HasField|EndAt|-@ @val|Field|EndAt|tdfmt|MMMM~dd@
<a class="ui-link" href="/Schedule">
@val|Field|Title@
</a>
</p>
</dcm.Feed>
LWV HOME NEWS FEED
- Show the latest first, going back in time.
- Do not show entires more than 1 day in the future
- Show max of 2 entries
<dcm.Feed Channel="News" Start="P1D" Max="2">
<div>
<a class="ui-link" href="/News/@val|Field|Slug@">
<h3>@val|Field|Title@</h3>
<img src="@val|Field|Image@" />
<dc.Markdown><]]></dc.Markdown>
</a>
</div>
</dcm.Feed>
MEM HOME EVENTS FEED
- Show the oldest first, going forward in time
- Do not show entires more than 1 day in the past
- Show max of 12 entries
- Same code used on Calendar page for second column
<dcm.Feed Channel="Calendar" Reverse="true" Start="-P1D" Max="2">
<dc.Link class="event-entry" Page="/Calendar/@val|Path@">
<div class="event-title"><h3>@val|Field|Title@</h3></div>
<div class="event-date">@val|Field|StartAt@</div>
<dc.Markdown class="event-content"><]]></dc.Markdown>
</dc.Link>
</dcm.Feed>
MEM EVENT DETAIL FEED
<dcm.FeedDetail Channel="Calendar" PathPart="1" PageMain="true">
<div class="event-title"><h3>@val|Field|Title@</h3></div>
<div class="event-date">@val|Field|StartAt@</div>
<dc.Markdown class="event-content"><![CDATA[@val|Part|article@]]></dc.Markdown>
</dcm.FeedDetail>
uses a FeedAdapter to get Field and Part
if PageMain then replace Page attributes with feed's Title, KeyWords, Description, Image
see LWV and DGA
new SelectDirectRequest()
.withTable("dcmFeed")
.withSelect(new SelectFields()
.withField("Id")
.withField("dcmPath", "Path")
.withSubField("dcmFields", "Published.en", "Published")
.withSubField("dcmFields", "StartAt.en", "StartAt")
.withSubField("dcmFields", "TimeZone.en", "TimeZone")
.withSubField("dcmFields", "Title.en", "Title")
.withSubField("dcmFields", "Category.en", "Category")
.withSubField("dcmFields", "Link.en", "Link")
.withSubField("dcmFields", "Description.en", "Description")
.withSubField("dcmFields", "Details.en", "Details")
)
.withCollector(new CollectorFunc("dcmFeedScan").withExtra(new RecordStruct()
.withField("Channel", "Calendar")
.withField("Reverse", true)
.withField("FromDate", new LocalDate().minusDays(1))
)),
new SelectDirectRequest()
.withTable("dcmFeed")
.withSelect(new SelectFields()
.withField("Id")
.withField("dcmPath", "Path")
.withSubField("dcmFields", "Published.en", "Published")
.withSubField("dcmFields", "Title.en", "Title")
.withSubField("dcmFields", "Image.en", "Image")
.withSubField("dcmFields", "Description.en", "Description")
.withSubField("dcmFields", "Apprentice.en", "Apprentice")
)
.withCollector(new CollectorFunc("dcmFeedScan").withExtra(new RecordStruct()
.withField("Channel", "Case-Studies")
.withField("Max", 100) // TODO next page / archive support
)),
** uses tags
new SelectDirectRequest()
.withTable("dcmFeed")
.withSelect(new SelectFields()
.withField("Id")
.withField("dcmPath", "Path")
.withField("dcmContentTags", "Tags")
.withSubField("dcmFields", "Published.en", "Published")
.withSubField("dcmFields", "Title.en", "Title")
.withSubField("dcmFields", "Image.en", "Image")
.withSubField("dcmFields", "Description.en", "Description")
)
.withCollector(new CollectorFunc("dcmFeedScan").withExtra(new RecordStruct()
.withField("Channel", "Blog")
.withField("Max", 100) // TODO next page / archive support
)),
new SelectDirectRequest()
.withTable("dcmFeed")
.withSelect(new SelectFields()
.withField("Id")
.withField("dcmPath", "Path")
.withSubField("dcmFields", "Published.en", "Published")
.withSubField("dcmFields", "StartAt.en", "StartAt")
.withSubField("dcmFields", "EndAt.en", "EndAt")
.withSubField("dcmFields", "TimeZone.en", "TimeZone")
.withSubField("dcmFields", "Title.en", "Title")
.withSubField("dcmFields", "Where.en", "Where")
//.withSubField("dcmFields", "Description.en", "Description")
)
.withWhere(
new WhereEqual(new WhereField("dcmFields", "Public.en"), "yes")
)
.withCollector(new CollectorFunc("dcmFeedScan").withExtra(new RecordStruct()
.withField("Channel", "Calendar")
.withField("Reverse", true)
.withField("FromDate", new LocalDate().minusDays(0))
.withField("Max", 20)
)),