Example #1
0
 /// <summary>
 /// Creates a new instance of <see cref="SitemapItem"/>
 /// </summary>
 /// <param name="url">URL of the page. Optional.</param>
 /// <param name="lastModified">The date of last modification of the file. Optional.</param>
 /// <param name="changeFrequency">How frequently the page is likely to change. Optional.</param>
 /// <param name="priority">The priority of this URL relative to other URLs on your site. Valid values range from 0.0 to 1.0. Optional.</param>
 /// <exception cref="System.ArgumentNullException">If the <paramref name="url"/> is null or empty.</exception>
 public SitemapItem(string url, DateTime? lastModified = null, SitemapChangeFrequency? changeFrequency = null, double? priority = null)
 {
     Url = url;
     LastModified = lastModified;
     ChangeFrequency = changeFrequency;
     Priority = priority;
 }
Example #2
0
        /// <summary>
        /// Creates a new instance of <see cref="SitemapItem"/>
        /// </summary>
        /// <param name="url">URL of the page. Optional.</param>
        /// <param name="lastModified">The date of last modification of the file. Optional.</param>
        /// <param name="changeFrequency">How frequently the page is likely to change. Optional.</param>
        /// <param name="priority">The priority of this URL relative to other URLs on your site. Valid values range from 0.0 to 1.0. Optional.</param>
        /// <exception cref="System.ArgumentNullException">If the <paramref name="url"/> is null or empty.</exception>
        public SitemapItem(string url, DateTime? lastModified = null, SitemapChangeFrequency? changeFrequency = null, double? priority = null)
        {
            Ensure.Argument.NotNullOrEmpty(url, "url");

            Url = url;
            LastModified = lastModified;
            ChangeFrequency = changeFrequency;
            Priority = priority;
        }
Example #3
0
        /// <summary>
        /// Creates a new instance of <see cref="SitemapItem"/>
        /// </summary>
        /// <param name="url">URL of the page. Optional.</param>
        /// <param name="lastModified">The date of last modification of the file. Optional.</param>
        /// <param name="changeFrequency">How frequently the page is likely to change. Optional.</param>
        /// <param name="priority">The priority of this URL relative to other URLs on your site. Valid values range from 0.0 to 1.0. Optional.</param>
        /// <exception cref="System.ArgumentNullException">If the <paramref name="url"/> is null or empty.</exception>
        public SitemapItem(string url, DateTime? lastModified = null, SitemapChangeFrequency? changeFrequency = null, double? priority = null)
        {
            if (url == null)
                throw new ArgumentNullException("url");

            Url = url;
            LastModified = lastModified;
            ChangeFrequency = changeFrequency;
            Priority = priority;
        }
Example #4
0
        /// <summary>
        /// Creates a new instance of <see cref="SitemapItem"/>
        /// </summary>
        /// <param name="url">URL of the page. Optional.</param>
        /// <param name="lastModified">The date of last modification of the file. Optional.</param>
        /// <param name="changeFrequency">How frequently the page is likely to change. Optional.</param>
        /// <param name="priority">The priority of this URL relative to other URLs on your site. Valid values range from 0.0 to 1.0. Optional.</param>
        /// <exception cref="System.ArgumentNullException">If the <paramref name="url"/> is null or empty.</exception>
        public SitemapItem(string url, DateTime? lastModified = null, SitemapChangeFrequency? changeFrequency = null, double? priority = null)
        {
            if (url == null)
            {
                throw new NullReferenceException("GenerateSiteMap");
            }

            Url = url;
            LastModified = lastModified;
            ChangeFrequency = changeFrequency;
            Priority = priority;
        }
Example #5
0
        /// <summary>
        /// Constructor for items with priority and last modified date
        /// </summary>
        /// <param name="location">Partial or full uri</param>
        /// <param name="changeFrequency">Change frequency</param>
        /// <param name="priority">Priority for item compared to other items</param>
        /// <param name="lastModified">Date and time last modified</param>
        public SitemapItem(Uri location, SitemapChangeFrequency changeFrequency, decimal?priority, DateTime?lastModified)
        {
            Location        = location ?? throw new ArgumentNullException(nameof(location));
            ChangeFrequency = changeFrequency;

            if (priority.HasValue && (priority < 0.0m || priority > 1.0m))
            {
                throw new ArgumentOutOfRangeException(nameof(priority));
            }

            Priority     = priority ?? 0.5m;
            LastModified = lastModified;
        }
        public static SitemapItem ParseSitemapItemFields(Uri baseUri, string location, string lastModified = null, string changeFrequency = null, string priority = null)
        {
            if (string.IsNullOrEmpty(location))
            {
                return(null);
            }

            Uri parsedLocation = SafeUriParse(baseUri, location);

            if (parsedLocation == null)
            {
                return(null);
            }

            DateTime?parsedLastModified = SafeDateTimeParse(lastModified);

            SitemapChangeFrequency?parsedChangeFrequency = null;
            SitemapChangeFrequency triedChangeFrequency;

            if (SitemapChangeFrequency.TryParse(changeFrequency, true, out triedChangeFrequency))
            {
                parsedChangeFrequency = triedChangeFrequency;
            }

            double?parsedPriority = null;
            double triedPriority;

            if (double.TryParse(priority, out triedPriority))
            {
                triedPriority  = Math.Max(0.0, triedPriority);
                triedPriority  = Math.Min(1.0, triedPriority);
                parsedPriority = triedPriority;
            }

            return(new SitemapItem(parsedLocation, parsedLastModified, parsedChangeFrequency, parsedPriority));
        }
    public static IQueryable<SitemapEntry> ChangeFrequency(this IQueryable<SitemapEntry> entries, SitemapChangeFrequency changeFrequency)
    {
      Assertion.NotNull(entries);

      return entries.Where(it => it.ChangeFrequency == changeFrequency);
    }
Example #8
0
 public SEOAttribute(SitemapChangeFrequency Frequency = SitemapChangeFrequency.Always, double Priority = 0.5)
 {
     this.Frequency = Frequency;
     this.Priority  = Priority;
 }
Example #9
0
 /// <summary>
 /// Constructor for item with no last modified date
 /// </summary>
 /// <param name="location">Partial or full uri</param>
 /// <param name="changeFrequency">Change frequency</param>
 /// <param name="priority">Priority for item compared to other items</param>
 public SitemapItem(Uri location, SitemapChangeFrequency changeFrequency, decimal priority)
     : this(location, changeFrequency, priority, null)
 {
 }
Example #10
0
 /// <summary>
 /// Constructor for item with no priority
 /// </summary>
 /// <param name="location">Partial or full uri</param>
 /// <param name="changeFrequency">Change frequency</param>
 /// <param name="lastModified">Date and time last modified</param>
 public SitemapItem(Uri location, SitemapChangeFrequency changeFrequency, DateTime lastModified)
     : this(location, changeFrequency, null, lastModified)
 {
 }
Example #11
0
 /// <summary>
 /// Constructor for item with no priority or modification date
 /// </summary>
 /// <param name="location">Partial or full uri</param>
 /// <param name="changeFrequency">Change frequency</param>
 public SitemapItem(Uri location, SitemapChangeFrequency changeFrequency)
     : this(location, changeFrequency, null, null)
 {
 }
 public static string GetName(this SitemapChangeFrequency frequency)
 {
     return(Enum.GetName(typeof(SitemapChangeFrequency), frequency)?.ToLower());
 }
 public SitemapInfo(string location, DateTime lastModification, SitemapChangeFrequency changeFrequency, SitemapPriority priority)
 {
     this.Location = location;
     this.LastModification = lastModification;
     this.ChangeFrequency = changeFrequency;
     this.Priority = priority;
 }