Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
                            }
                        }
                    }
                }
            }
        }
Exemplo n.º 3
0
        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);

                    });
                });
            });
        }
Exemplo n.º 4
0
        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";
        }