public static CTagObjectDescriptor GetDescriptorByName(string className) { CStringID key = new CStringID(className); if (Metas.ContainsKey(key)) { return(Metas[key]); } CTagObjectDescriptor descriptor = new CTagObjectDescriptor(); Metas.Add(key, descriptor); return(descriptor); }
public void AddMeta(XElement item) { var f = ParentSettings?.ParentFeed; if (item == null || f == null) { return; } // rawvoice // http://www.rawvoice.com/services/tools-and-resources/rawvoice-rss-2-0-module-xmlns-namespace-rss2/ /* metamark, if present as a sub-item of <item> and <item> includes an <enclosure> item, * specifies additional meta information that may complement the enclosure and/or may be used * during the playback of the enclosure’s media. It has four attributes: * type, link, position and duration and may contain a value. */ if (f.HasRawVoice) { foreach (var metaX in item.Elements(SimpleFeed.xname_rawvoice_metamark)) { var meta = new SFFeedMeta() { Source = "rawvoice.meta", Type = metaX.Attribute("type")?.Value?.Trim(), //.ValueN().TrimN(); Url = metaX.Attribute("link")?.Value?.Trim(), //.ValueN().TrimN(); Value = metaX?.Value?.Trim() }; if (meta.Value.NotNulle() || meta.Url.NotNulle()) { Metas.Add(meta); //BasicMimeType typ = isLinkRVMeta.V(meta.Type, BasicMimeType.none); string url = ExtraTextFuncs.IsWebLink(meta.Url) ? meta.Url : (ExtraTextFuncs.IsWebLink(meta.Value) ? meta.Value : null); if (url != null) { var lnk = new SFLink(url, meta.Type); if (lnk != null && lnk.IsValid) { AddLink(lnk); } } } } } }
private void OnExecuteSearchCommand() { SearchResults.Clear(); Metas.Clear(); Task.Factory.StartNew(() => { var result = new HtmlWeb().Load(string.Format(Url, QueryString)); //var nodes = result.DocumentNode.SelectNodes("//html//body//div[@class='g']").Select(r => r.InnerHtml).Take(10); //SearchResults.Clear(); //foreach (var node in nodes) //{ // SearchResults.Add(node); //} // extract links var searchResultCount = 0; foreach (var link in result.DocumentNode.SelectNodes("//a[@href]")) { var hrefValue = link.GetAttributeValue("href", string.Empty); if (hrefValue.ToUpper().Contains("GOOGLE") || !hrefValue.Contains("/url?q=") || !hrefValue.ToUpper().Contains("HTTP://")) continue; var index = hrefValue.IndexOf("&", StringComparison.Ordinal); if (index <= 0) continue; hrefValue = hrefValue.Substring(0, index); var searchResultUrl = hrefValue.Replace("/url?q=", ""); if (searchResultCount == 20) continue; searchResultCount++; _dispatcher.Invoke(() => { SearchResults.Add(searchResultUrl); }, DispatcherPriority.Normal); } Parallel.ForEach(SearchResults, (c) => { var meta = LoadMeta(c); HtmlTool.FetchOg(c); _dispatcher.Invoke(() => { Metas.Add(meta); }); }); }); }
public virtual void initialisation() { PageTitle = "CoreUI - Open Source Bootstrap Admin Template"; Metas.Add("viewport", "width=device-width, initial-scale=1, shrink-to-fit=no"); Metas.Add("description", "CoreUI - Open Source Bootstrap Admin Template"); Metas.Add("author", "Łukasz Holeczek / Labaste Hugues"); Metas.Add("keyword", "Bootstrap,Admin,Template,Open,Source,AngularJS,Angular,Angular2,Angular 2,Angular4,Angular 4,jQuery,CSS,HTML,RWD,Dashboard,React,React.js,Vue,Vue.js"); StyleSheets.Add("/content/core-ui/css/font-awesome.min.css"); StyleSheets.Add("/content/core-ui/css/simple-line-icons.css"); StyleSheets.Add("/content/core-ui/css/style.css"); Javascripts.Add("/scripts/core-ui/bower_components/jquery/dist/jquery.min.js"); Javascripts.Add("/scripts/core-ui/bower_components/tether/dist/js/tether.min.js"); Javascripts.Add("/scripts/core-ui/bower_components/bootstrap/dist/js/bootstrap.min.js"); Javascripts.Add("/scripts/core-ui/bower_components/pace/pace.min.js"); Javascripts.Add("/scripts/core-ui/bower_components/chart.js/dist/Chart.min.js"); Javascripts.Add("/scripts/core-ui/js/app.js"); Javascripts.Add("/scripts/core-ui/js/views/main.js"); ShortcutIcon = "img/favicon.png"; }