var sFeedsPageUrl = $sFeedsPageUrl ?? $feedsPageUrl ?? nil;
var nLog = $nLog ?? $log ?? 0;
var lmResults=[];
//if (sFeedsPageUrl is nil)
// return;
//var sFeedsPageUrl="/Testing/Feed/Feeds/";
var feedsPageRoot=Wiki.GetPage(sFeedsPageUrl);
var nFeedPageCount=#feedsPageRoot.Subpages;
//var nFeedPageCount=#page.Subpages;
if (nLog>0) { " FeedPageCount: "..nFeedPageCount; }
foreach (var feedPage in feedsPageRoot.Subpages)
//foreach (var feedPage in page.Subpages)
{
// if (__count<3)
// {
if (nLog>0) { web.Html("<br>");"#"..__count..": "; }
var sPageTitle=feedPage.Title;
if (nLog>0) { " PageTitle: "..sPageTitle; }
var xPageHtml=feedPage.Xml;
/*
//var sPageHtml=Xml.Html(xPageHtml,"",nil,true);
//var nPageHtmlLen=String.Length(sPageHtml);
//" PageHtmlLen: "..nPageHtmlLen;
//web.Html("<br>");" PageHtml: "..sPageHtml;
var sPageText=Xml.Text(xPageHtml);
var nPageTextLen=String.Length(sPageText);
if (nPageTextLen>0)
{
if (nLog>0) { web.Html("<br>");" PageText: "..sPageText; }
}}//if
*/
//Get Tags
var slTags=[];
var xDivHtml=xPageHtml["//*[@class='tags']"];
var sDivText=Xml.Text(xDivHtml);
var nDivTextLen=String.Length(sDivText);
if (nDivTextLen>0)
{
//web.Html("<br>");" "..sDivText;
let slTags=String.Split(String.SubStr(sDivText,String.Length("Tags: ")),",");
//web.Html("<br>");" Tags("..#slTags.."): "..Json.Emit(slTags);
}//if
//Get Author & Categories (from MetaData)
var sAuthor="";
var slCategs=[];
var xDivHtml=xPageHtml["//*[@class='metadata']"];
var sDivText=Xml.Text(xDivHtml);
var nDivTextLen=String.Length(sDivText);
if (nDivTextLen>0)
{
//web.Html("<br>");" "..sDivText;
var nAuthorIniPos=String.Length("Posted by ");
var nAuthorEndPos=String.IndexOf(sDivText," at ");
let sAuthor=String.SubStr(sDivText,nAuthorIniPos,nAuthorEndPos-nAuthorIniPos);
let slCategs=String.Split(String.SubStr(sDivText,String.IndexOf(sDivText,"Categories: ")),",");
//web.Html("<br>");" Author: "..sAuthor.." Categs("..#slCategs.."): "..Json.Emit(slCategs);
}//if
if (nLog>0) { web.Html("<br>");" Author: "..sAuthor.." Categs("..#slCategs.."): "..Json.Emit(slCategs).." Tags("..#slTags.."): "..Json.Emit(slTags); }
let lmResults..=[{pageTile: sPageTitle, author: sAuthor, categs: slCategs, tags: slTags}];
// }//if
}//fe
Result
Web.Pre(JSon.Format(lmResults));
Comments