From 0091bd2073700e66ec8d760ba149cf5c1ad6aeff Mon Sep 17 00:00:00 2001 From: Andrew Gubskiy Date: Tue, 9 Jul 2024 22:28:27 +0300 Subject: [PATCH 01/18] Updat packages. --- src/X.Web.Sitemap.Example/X.Web.Sitemap.Example.csproj | 1 + src/X.Web.Sitemap/FileSystemWrapper.cs | 2 ++ tests/X.Web.Sitemap.Tests/X.Web.Sitemap.Tests.csproj | 4 ++-- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/X.Web.Sitemap.Example/X.Web.Sitemap.Example.csproj b/src/X.Web.Sitemap.Example/X.Web.Sitemap.Example.csproj index 4b97327..ed7830e 100644 --- a/src/X.Web.Sitemap.Example/X.Web.Sitemap.Example.csproj +++ b/src/X.Web.Sitemap.Example/X.Web.Sitemap.Example.csproj @@ -5,6 +5,7 @@ net8.0 enable enable + default diff --git a/src/X.Web.Sitemap/FileSystemWrapper.cs b/src/X.Web.Sitemap/FileSystemWrapper.cs index 41aff76..f26bb98 100644 --- a/src/X.Web.Sitemap/FileSystemWrapper.cs +++ b/src/X.Web.Sitemap/FileSystemWrapper.cs @@ -1,9 +1,11 @@ using System; using System.IO; using System.Threading.Tasks; +using JetBrains.Annotations; namespace X.Web.Sitemap; +[PublicAPI] internal interface IFileSystemWrapper { FileInfo WriteFile(string xml, string path); diff --git a/tests/X.Web.Sitemap.Tests/X.Web.Sitemap.Tests.csproj b/tests/X.Web.Sitemap.Tests/X.Web.Sitemap.Tests.csproj index 4846860..efc2916 100644 --- a/tests/X.Web.Sitemap.Tests/X.Web.Sitemap.Tests.csproj +++ b/tests/X.Web.Sitemap.Tests/X.Web.Sitemap.Tests.csproj @@ -12,8 +12,8 @@ - - + + runtime; build; native; contentfiles; analyzers; buildtransitive all From e1f86dbc010c02f21adb3625f05e17e4ca7d661b Mon Sep 17 00:00:00 2001 From: Andrew Gubskiy Date: Tue, 9 Jul 2024 22:29:04 +0300 Subject: [PATCH 02/18] Update project version --- src/X.Web.Sitemap/X.Web.Sitemap.csproj | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/X.Web.Sitemap/X.Web.Sitemap.csproj b/src/X.Web.Sitemap/X.Web.Sitemap.csproj index 3e5a8be..e26a107 100644 --- a/src/X.Web.Sitemap/X.Web.Sitemap.csproj +++ b/src/X.Web.Sitemap/X.Web.Sitemap.csproj @@ -12,17 +12,14 @@ xsitemap Andrew Gubskiy sitemap, web, asp.net, sitemap.xml - 2.9.3 + 2.9.4 X.Sitemap - 2.9.3.0 - 2.9.3.0 + 2.9.4.0 + 2.9.4.0 default enable net6.0;net8.0;netstandard2.0;netstandard2.1 README.md - - - LICENSE.md From 7926409c0a32cd6c4e308ca59cef0548728458f4 Mon Sep 17 00:00:00 2001 From: Andrew Gubskiy Date: Sun, 14 Jul 2024 18:17:06 +0300 Subject: [PATCH 03/18] Add documentation. Add comments. --- src/X.Web.Sitemap/FileSystemWrapper.cs | 12 +++++ src/X.Web.Sitemap/Image.cs | 48 ++++++++++++++++++++ src/X.Web.Sitemap/Url.cs | 61 ++++++++++++++------------ 3 files changed, 93 insertions(+), 28 deletions(-) create mode 100644 src/X.Web.Sitemap/Image.cs diff --git a/src/X.Web.Sitemap/FileSystemWrapper.cs b/src/X.Web.Sitemap/FileSystemWrapper.cs index f26bb98..54f035b 100644 --- a/src/X.Web.Sitemap/FileSystemWrapper.cs +++ b/src/X.Web.Sitemap/FileSystemWrapper.cs @@ -8,8 +8,20 @@ namespace X.Web.Sitemap; [PublicAPI] internal interface IFileSystemWrapper { + /// + /// Writes the specified XML to the specified path. + /// + /// + /// + /// FileInfo WriteFile(string xml, string path); + /// + /// Writes the specified XML to the specified path asynchronously. + /// + /// + /// + /// Task WriteFileAsync(string xml, string path); } diff --git a/src/X.Web.Sitemap/Image.cs b/src/X.Web.Sitemap/Image.cs new file mode 100644 index 0000000..7b74718 --- /dev/null +++ b/src/X.Web.Sitemap/Image.cs @@ -0,0 +1,48 @@ +using System; +using System.ComponentModel; +using System.Xml.Serialization; +using JetBrains.Annotations; + +namespace X.Web.Sitemap; + +[PublicAPI] +[Serializable] +[Description("Encloses all information about a single image. Each URL ( tag) can include up to 1,000 tags.")] +[XmlRoot(ElementName = "image", Namespace = "http://www.google.com/schemas/sitemap-image/1.1")] +public class Image +{ + /// + /// Location of the image. + /// + [Description("The URL of the image.")] + [XmlElement(ElementName = "loc", Namespace = "http://www.google.com/schemas/sitemap-image/1.1")] + public string Location { get; set; } = ""; + + /// + /// Caption of the image. + /// + [Description("The caption of the image.")] + [XmlElement(ElementName = "caption", Namespace = "http://www.google.com/schemas/sitemap-image/1.1")] + public string? Caption { get; set; } + + /// + /// Geographic location of the image. + /// + [Description("The geographic location of the image. For example, \"Limerick, Ireland\".")] + [XmlElement(ElementName = "geo_location", Namespace = "http://www.google.com/schemas/sitemap-image/1.1")] + public string? GeographicLocation { get; set; } + + /// + /// Title of the image. + /// + [Description("The title of the image.")] + [XmlElement(ElementName = "title", Namespace = "http://www.google.com/schemas/sitemap-image/1.1")] + public string? Title { get; set; } + + /// + /// License of the image. + /// + [Description("A URL to the license of the image.")] + [XmlElement(ElementName = "license", Namespace = "http://www.google.com/schemas/sitemap-image/1.1")] + public string? License { get; set; } +} \ No newline at end of file diff --git a/src/X.Web.Sitemap/Url.cs b/src/X.Web.Sitemap/Url.cs index 99e9f86..79a72a2 100644 --- a/src/X.Web.Sitemap/Url.cs +++ b/src/X.Web.Sitemap/Url.cs @@ -1,50 +1,31 @@ using System; using System.Collections.Generic; -using System.ComponentModel; using System.Xml.Serialization; using JetBrains.Annotations; namespace X.Web.Sitemap; -[PublicAPI] -[Serializable] -[Description("Encloses all information about a single image. Each URL ( tag) can include up to 1,000 tags.")] -[XmlRoot(ElementName = "image", Namespace = "http://www.google.com/schemas/sitemap-image/1.1")] -public class Image -{ - [Description("The URL of the image.")] - [XmlElement(ElementName = "loc", Namespace = "http://www.google.com/schemas/sitemap-image/1.1")] - public string Location { get; set; } = ""; - - [Description("The caption of the image.")] - [XmlElement(ElementName = "caption", Namespace = "http://www.google.com/schemas/sitemap-image/1.1")] - public string? Caption { get; set; } - - [Description("The geographic location of the image. For example, \"Limerick, Ireland\".")] - [XmlElement(ElementName = "geo_location", Namespace = "http://www.google.com/schemas/sitemap-image/1.1")] - public string? GeographicLocation { get; set; } - - [Description("The title of the image.")] - [XmlElement(ElementName = "title", Namespace = "http://www.google.com/schemas/sitemap-image/1.1")] - public string? Title { get; set; } - - [Description("A URL to the license of the image.")] - [XmlElement(ElementName = "license", Namespace = "http://www.google.com/schemas/sitemap-image/1.1")] - public string? License { get; set; } -} - [PublicAPI] [Serializable] [XmlRoot("url")] [XmlType("url")] public class Url { + /// + /// Location of the page. + /// [XmlElement("loc")] public string Location { get; set; } + /// + /// Images collection associated with this URL. + /// [XmlElement(ElementName = "image", Namespace = "http://www.google.com/schemas/sitemap-image/1.1")] public List Images { get; set; } + /// + /// Time of last modification. + /// [XmlIgnore] public DateTime TimeStamp { get; set; } @@ -59,12 +40,21 @@ public string LastMod set => TimeStamp = DateTime.Parse(value); } + /// + /// Change frequency of the page. + /// [XmlElement("changefreq")] public ChangeFrequency ChangeFrequency { get; set; } + /// + /// Priority of the URL relative to other URLs on the site. + /// [XmlElement("priority")] public double Priority { get; set; } + /// + /// Default constructor. + /// public Url() { Location = ""; @@ -72,8 +62,23 @@ public Url() Location = ""; } + /// + /// Creates a new URL object with the specified location. + /// + /// + /// public static Url CreateUrl(string location) => CreateUrl(location, DateTime.Now); + /// + /// Creates a new URL object with the specified location and timestamp. + /// + /// + /// URL of the page. + /// + /// + /// Time of last modification. + /// + /// public static Url CreateUrl(string url, DateTime timeStamp) => new() { From a149cb5950e800385d903a3721b1540dc0c43969 Mon Sep 17 00:00:00 2001 From: Andrew Gubskiy Date: Sun, 14 Jul 2024 18:17:17 +0300 Subject: [PATCH 04/18] Update README.md --- README.md | 12 +- src/X.Web.Sitemap/README.md | 157 ------------------------- src/X.Web.Sitemap/X.Web.Sitemap.csproj | 8 +- 3 files changed, 9 insertions(+), 168 deletions(-) delete mode 100644 src/X.Web.Sitemap/README.md diff --git a/README.md b/README.md index 2e8181e..b6bfa2f 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,12 @@ -[![NuGet version](https://badge.fury.io/nu/xsitemap.svg)](https://badge.fury.io/nu/xsitemap) -[![Part of awesome .NET Core](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/thangchung/awesome-dotnet-core#tools) +# X.Web.Sitemap + +[![NuGet Version](http://img.shields.io/nuget/v/xsitemap.svg?style=flat)](https://www.nuget.org/packages/xsitemap/) [![Twitter URL](https://img.shields.io/twitter/url/https/twitter.com/andrew_gubskiy.svg?style=social&label=Follow%20me!)](https://twitter.com/intent/user?screen_name=andrew_gubskiy) +[![Part of awesome .NET Core](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/thangchung/awesome-dotnet-core#tools) -# X.Web.Sitemap Simple sitemap generator for .NET - -⚠️ **See breaking changes for [release 2.9.2](https://github.com/ernado-x/X.Web.Sitemap/releases/tag/v2.9.2)** - -You can download it from nuget.org at http://nuget.org/packages/xsitemap/ +You can download it from nuget.org at http://nuget.org/packages/xsitemap ## Usage example diff --git a/src/X.Web.Sitemap/README.md b/src/X.Web.Sitemap/README.md deleted file mode 100644 index 3aa26ea..0000000 --- a/src/X.Web.Sitemap/README.md +++ /dev/null @@ -1,157 +0,0 @@ -[![Twitter URL](https://img.shields.io/twitter/url/https/twitter.com/andrew_gubskiy.svg?style=social&label=Follow%20me!)](https://twitter.com/intent/user?screen_name=andrew_gubskiy) - -# X.Web.Sitemap - -Simple sitemap generator for .NET - -⚠️ **See breaking changes for [release 2.9.2](https://github.com/ernado-x/X.Web.Sitemap/releases/tag/v2.9.2)** - -## Usage example - -Below is an example of basic usage in a non-testable manner - -```cs - class Program - { - static void Main(string[] args) - { - var sitemap = new Sitemap(); - - sitemap.Add(new Url - { - ChangeFrequency = ChangeFrequency.Daily, - Location = "http://www.example.com", - Priority = 0.5, - TimeStamp = DateTime.Now - }); - - sitemap.Add(CreateUrl("http://www.example.com/link1")); - sitemap.Add(CreateUrl("http://www.example.com/link2")); - sitemap.Add(CreateUrl("http://www.example.com/link3")); - sitemap.Add(CreateUrl("http://www.example.com/link4")); - sitemap.Add(CreateUrl("http://www.example.com/link5")); - - - //Save sitemap structure to file - sitemap.Save(@"d:\www\example.com\sitemap.xml"); - - //Split a large list into pieces and store in a directory - sitemap.SaveToDirectory(@"d:\www\example.com\sitemaps"); - - //Get xml-content of file - Console.Write(sitemap.ToXml()); - - Console.ReadKey(); - } - - private static Url CreateUrl(string url) - { - return new Url - { - ChangeFrequency = ChangeFrequency.Daily, - Location = url, - Priority = 0.5, - TimeStamp = DateTime.Now - }; - } - } -``` - -Below is a more comprehensive example that demonstrates how to create many sitemaps and how to add them to a sitemap index file in a unit-testable fashion. - -```cs - public class SitemapGenerationWithSitemapIndexExample - { - private readonly ISitemapGenerator _sitemapGenerator; - private readonly ISitemapIndexGenerator _sitemapIndexGenerator; - - //--this is a bogus interface defined in this example to simulate something you might use to get a list of URls from your CMS or something like that - private readonly IWebsiteUrlRetriever _websiteUrlRetriever; - - //--and IoC/Dependency injection framework should inject this in - public SitemapGenerationWithSitemapIndexExample( - ISitemapGenerator sitemapGenerator, - ISitemapIndexGenerator sitemapIndexGenerator, - IWebsiteUrlRetriever websiteUrlRetriever) - { - _sitemapGenerator = sitemapGenerator; - _sitemapIndexGenerator = sitemapIndexGenerator; - _websiteUrlRetriever = websiteUrlRetriever; - } - - //--this is an example showing how you might take a large list of URLs of different kinds of resources and build both a bunch of sitemaps (depending on - // how many URls you have) as well as a sitemap index file to go with it - public void GenerateSitemapsForMyEntireWebsite() - { - //--imagine you have an interface that can return a list of URLs for a resource that you consider to be high priority -- for example, the product detail pages (PDPs) - // of your website - var productPageUrlStrings = _websiteUrlRetriever.GetHighPriorityProductPageUrls(); - - //--build a list of X.Web.Sitemap.Url objects and determine what is the appropriate ChangeFrequency, TimeStamp (aka "LastMod" or date that the resource last had changes), - // and the a priority for the page. If you can build in some logic to prioritize your pages then you are more sophisticated than most! :) - var allUrls = productPageUrlStrings.Select(url => new Url - { - //--assign the location of the HTTP request -- e.g.: https://www.somesite.com/some-resource - Location = url, - //--let's instruct crawlers to crawl these pages monthly since the content doesn't change that much - ChangeFrequency = ChangeFrequency.Monthly, - //--in this case we don't know when the page was last modified so we wouldn't really set this. Only assigning here to demonstrate that the property exists. - // if your system is smart enough to know when a page was last modified then that is the best case scenario - TimeStamp = DateTime.UtcNow, - //--set this to between 0 and 1. This should only be used as a relative ranking of other pages in your site so that search engines know which result to prioritize - // in SERPS if multiple pages look pertinent from your site. Since product pages are really important to us, we'll make them a .9 - Priority = .9 - }).ToList(); - - var miscellaneousLowPriorityUrlStrings = _websiteUrlRetriever.GetMiscellaneousLowPriorityUrls(); - var miscellaneousLowPriorityUrls = miscellaneousLowPriorityUrlStrings.Select(url => new Url - { - Location = url, - //--let's instruct crawlers to crawl these pages yearly since the content almost never changes - ChangeFrequency = ChangeFrequency.Yearly, - //--let's pretend this content was changed a year ago - TimeStamp = DateTime.UtcNow.AddYears(-1), - //--these pages are super low priority - Priority = .1 - }).ToList(); - - //--combine the urls into one big list. These could of course bet kept seperate and two different sitemap index files could be generated if we wanted - allUrls.AddRange(miscellaneousLowPriorityUrls); - - //--pick a place where you would like to write the sitemap files in that folder will get overwritten by new ones - var targetSitemapDirectory = new DirectoryInfo("\\SomeServer\\some_awesome_file_Share\\sitemaps\\"); - - //--generate one or more sitemaps (depending on the number of URLs) in the designated location. - var fileInfoForGeneratedSitemaps = _sitemapGenerator.GenerateSitemaps(allUrls, targetSitemapDirectory); - - var sitemapInfos = new List(); - var dateSitemapWasUpdated = DateTime.UtcNow.Date; - - foreach (var fileInfo in fileInfoForGeneratedSitemaps) - { - //--it's up to you to figure out what the URI is to the sitemap you wrote to the file sytsem. In this case we are assuming that the directory above - // has files exposed via the /sitemaps/ subfolder of www.mywebsite.com - var uriToSitemap = new Uri($"https://www.mywebsite.com/sitemaps/{fileInfo.Name}"); - - sitemapInfos.Add(new SitemapInfo(uriToSitemap, dateSitemapWasUpdated)); - } - - //--now generate the sitemap index file which has a reference to all of the sitemaps that were generated. - _sitemapIndexGenerator.GenerateSitemapIndex(sitemapInfos, targetSitemapDirectory, "sitemap-index.xml"); - - //-- After this runs you'll want to make sure your robots.txt has a reference to the sitemap index (at the bottom of robots.txt) like this: - // "Sitemap: https://www.mywebsite.com/sitemaps/sitemap-index.xml" - // You could do this manually (since this may never change) or if you are ultra-fancy, you could dynamically update your robots.txt with the names of the sitemap index - // file(s) you generated - - } - - - //--some bogus interface that is meant to simulate pulling urls from your CMS/website - public interface IWebsiteUrlRetriever - { - List GetHighPriorityProductPageUrls(); - List GetMiscellaneousLowPriorityUrls(); - } - } -``` diff --git a/src/X.Web.Sitemap/X.Web.Sitemap.csproj b/src/X.Web.Sitemap/X.Web.Sitemap.csproj index e26a107..1d214c0 100644 --- a/src/X.Web.Sitemap/X.Web.Sitemap.csproj +++ b/src/X.Web.Sitemap/X.Web.Sitemap.csproj @@ -12,10 +12,10 @@ xsitemap Andrew Gubskiy sitemap, web, asp.net, sitemap.xml - 2.9.4 + 2.9.5 X.Sitemap - 2.9.4.0 - 2.9.4.0 + 2.9.5.0 + 2.9.5.0 default enable net6.0;net8.0;netstandard2.0;netstandard2.1 @@ -25,7 +25,7 @@ - + From c2a0c81f0e0ec34a5da8840315646fcd31a3f628 Mon Sep 17 00:00:00 2001 From: Andrew Gubskiy Date: Sun, 14 Jul 2024 18:20:18 +0300 Subject: [PATCH 05/18] Cleanup code --- src/X.Web.Sitemap/Generators/SitemapGenerator.cs | 4 ++-- src/X.Web.Sitemap/Serializers/SitemapIndexSerializer.cs | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/X.Web.Sitemap/Generators/SitemapGenerator.cs b/src/X.Web.Sitemap/Generators/SitemapGenerator.cs index 6d920af..c7e8d00 100644 --- a/src/X.Web.Sitemap/Generators/SitemapGenerator.cs +++ b/src/X.Web.Sitemap/Generators/SitemapGenerator.cs @@ -78,9 +78,9 @@ public List GenerateSitemaps(IEnumerable urls, DirectoryInfo targ { var sitemaps = BuildSitemaps(urls.ToList(), MaxNumberOfUrlsPerSitemap); - var sitemapFileInfos = SaveSitemaps(targetDirectory, sitemapBaseFileNameWithoutExtension, sitemaps); + var result = SaveSitemaps(targetDirectory, sitemapBaseFileNameWithoutExtension, sitemaps); - return sitemapFileInfos; + return result; } private static List BuildSitemaps(IReadOnlyList urls, int maxNumberOfUrlsPerSitemap) diff --git a/src/X.Web.Sitemap/Serializers/SitemapIndexSerializer.cs b/src/X.Web.Sitemap/Serializers/SitemapIndexSerializer.cs index f661499..f5e4da8 100644 --- a/src/X.Web.Sitemap/Serializers/SitemapIndexSerializer.cs +++ b/src/X.Web.Sitemap/Serializers/SitemapIndexSerializer.cs @@ -16,7 +16,7 @@ public interface ISitemapIndexSerializer public class SitemapIndexSerializer : ISitemapIndexSerializer { - private readonly XmlSerializer _serializer = new XmlSerializer(typeof(SitemapIndex)); + private readonly XmlSerializer _serializer = new(typeof(SitemapIndex)); public string Serialize(SitemapIndex sitemapIndex) { From edf90274bb09041388a2fccd758e0532224172d4 Mon Sep 17 00:00:00 2001 From: Andrew Gubskiy Date: Sun, 14 Jul 2024 18:21:25 +0300 Subject: [PATCH 06/18] Move examples --- X.Web.Sitemap.sln | 14 ++++++++------ .../Examples/ImageSitemapGenerationExample.cs | 0 .../Examples/SimpleSitemapGenerationExample.cs | 0 .../SitemapGenerationWithSitemapIndexExample.cs | 0 .../X.Web.Sitemap.Example/IExample.cs | 0 {src => examples}/X.Web.Sitemap.Example/Program.cs | 0 .../X.Web.Sitemap.Example/UrlGenerator.cs | 0 .../X.Web.Sitemap.Example.csproj | 0 8 files changed, 8 insertions(+), 6 deletions(-) rename {src => examples}/X.Web.Sitemap.Example/Examples/ImageSitemapGenerationExample.cs (100%) rename {src => examples}/X.Web.Sitemap.Example/Examples/SimpleSitemapGenerationExample.cs (100%) rename {src => examples}/X.Web.Sitemap.Example/Examples/SitemapGenerationWithSitemapIndexExample.cs (100%) rename {src => examples}/X.Web.Sitemap.Example/IExample.cs (100%) rename {src => examples}/X.Web.Sitemap.Example/Program.cs (100%) rename {src => examples}/X.Web.Sitemap.Example/UrlGenerator.cs (100%) rename {src => examples}/X.Web.Sitemap.Example/X.Web.Sitemap.Example.csproj (100%) diff --git a/X.Web.Sitemap.sln b/X.Web.Sitemap.sln index 43e5715..2fd28ed 100644 --- a/X.Web.Sitemap.sln +++ b/X.Web.Sitemap.sln @@ -11,7 +11,9 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "X.Web.Sitemap.Tests", "test EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "X.Web.Sitemap", "src\X.Web.Sitemap\X.Web.Sitemap.csproj", "{704FA5E2-2694-44C9-826E-85C2CEC96D5D}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "X.Web.Sitemap.Example", "src\X.Web.Sitemap.Example\X.Web.Sitemap.Example.csproj", "{97B9B296-63C0-4816-AD53-E069E6BDEF66}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "examples", "examples", "{9428EFB0-FF29-406C-91E5-89B9C85E093A}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "X.Web.Sitemap.Example", "examples\X.Web.Sitemap.Example\X.Web.Sitemap.Example.csproj", "{1E7AAF8C-08EB-4918-B987-618F8D06F43C}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -27,10 +29,10 @@ Global {704FA5E2-2694-44C9-826E-85C2CEC96D5D}.Debug|Any CPU.Build.0 = Debug|Any CPU {704FA5E2-2694-44C9-826E-85C2CEC96D5D}.Release|Any CPU.ActiveCfg = Release|Any CPU {704FA5E2-2694-44C9-826E-85C2CEC96D5D}.Release|Any CPU.Build.0 = Release|Any CPU - {97B9B296-63C0-4816-AD53-E069E6BDEF66}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {97B9B296-63C0-4816-AD53-E069E6BDEF66}.Debug|Any CPU.Build.0 = Debug|Any CPU - {97B9B296-63C0-4816-AD53-E069E6BDEF66}.Release|Any CPU.ActiveCfg = Release|Any CPU - {97B9B296-63C0-4816-AD53-E069E6BDEF66}.Release|Any CPU.Build.0 = Release|Any CPU + {1E7AAF8C-08EB-4918-B987-618F8D06F43C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {1E7AAF8C-08EB-4918-B987-618F8D06F43C}.Debug|Any CPU.Build.0 = Debug|Any CPU + {1E7AAF8C-08EB-4918-B987-618F8D06F43C}.Release|Any CPU.ActiveCfg = Release|Any CPU + {1E7AAF8C-08EB-4918-B987-618F8D06F43C}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -38,6 +40,6 @@ Global GlobalSection(NestedProjects) = preSolution {5AA327E0-C63F-4567-9C09-23707EB5E4C4} = {5662CFB2-6193-4FB8-BBA3-B5822FDB583F} {704FA5E2-2694-44C9-826E-85C2CEC96D5D} = {DD3DEEE0-ABF3-4DFB-A5A9-14AA3FB1DBA2} - {97B9B296-63C0-4816-AD53-E069E6BDEF66} = {DD3DEEE0-ABF3-4DFB-A5A9-14AA3FB1DBA2} + {1E7AAF8C-08EB-4918-B987-618F8D06F43C} = {9428EFB0-FF29-406C-91E5-89B9C85E093A} EndGlobalSection EndGlobal diff --git a/src/X.Web.Sitemap.Example/Examples/ImageSitemapGenerationExample.cs b/examples/X.Web.Sitemap.Example/Examples/ImageSitemapGenerationExample.cs similarity index 100% rename from src/X.Web.Sitemap.Example/Examples/ImageSitemapGenerationExample.cs rename to examples/X.Web.Sitemap.Example/Examples/ImageSitemapGenerationExample.cs diff --git a/src/X.Web.Sitemap.Example/Examples/SimpleSitemapGenerationExample.cs b/examples/X.Web.Sitemap.Example/Examples/SimpleSitemapGenerationExample.cs similarity index 100% rename from src/X.Web.Sitemap.Example/Examples/SimpleSitemapGenerationExample.cs rename to examples/X.Web.Sitemap.Example/Examples/SimpleSitemapGenerationExample.cs diff --git a/src/X.Web.Sitemap.Example/Examples/SitemapGenerationWithSitemapIndexExample.cs b/examples/X.Web.Sitemap.Example/Examples/SitemapGenerationWithSitemapIndexExample.cs similarity index 100% rename from src/X.Web.Sitemap.Example/Examples/SitemapGenerationWithSitemapIndexExample.cs rename to examples/X.Web.Sitemap.Example/Examples/SitemapGenerationWithSitemapIndexExample.cs diff --git a/src/X.Web.Sitemap.Example/IExample.cs b/examples/X.Web.Sitemap.Example/IExample.cs similarity index 100% rename from src/X.Web.Sitemap.Example/IExample.cs rename to examples/X.Web.Sitemap.Example/IExample.cs diff --git a/src/X.Web.Sitemap.Example/Program.cs b/examples/X.Web.Sitemap.Example/Program.cs similarity index 100% rename from src/X.Web.Sitemap.Example/Program.cs rename to examples/X.Web.Sitemap.Example/Program.cs diff --git a/src/X.Web.Sitemap.Example/UrlGenerator.cs b/examples/X.Web.Sitemap.Example/UrlGenerator.cs similarity index 100% rename from src/X.Web.Sitemap.Example/UrlGenerator.cs rename to examples/X.Web.Sitemap.Example/UrlGenerator.cs diff --git a/src/X.Web.Sitemap.Example/X.Web.Sitemap.Example.csproj b/examples/X.Web.Sitemap.Example/X.Web.Sitemap.Example.csproj similarity index 100% rename from src/X.Web.Sitemap.Example/X.Web.Sitemap.Example.csproj rename to examples/X.Web.Sitemap.Example/X.Web.Sitemap.Example.csproj From 341813678139f28d458fb157d904946a4dcef60e Mon Sep 17 00:00:00 2001 From: Andrew Gubskiy Date: Sun, 14 Jul 2024 18:22:17 +0300 Subject: [PATCH 07/18] Update project properties --- examples/X.Web.Sitemap.Example/X.Web.Sitemap.Example.csproj | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/examples/X.Web.Sitemap.Example/X.Web.Sitemap.Example.csproj b/examples/X.Web.Sitemap.Example/X.Web.Sitemap.Example.csproj index ed7830e..04b0bc9 100644 --- a/examples/X.Web.Sitemap.Example/X.Web.Sitemap.Example.csproj +++ b/examples/X.Web.Sitemap.Example/X.Web.Sitemap.Example.csproj @@ -6,10 +6,11 @@ enable enable default + false - + From 7b40d7dd23a5c0e46f29321cd6f2dc3300364d8b Mon Sep 17 00:00:00 2001 From: Andrew Gubskiy Date: Sun, 14 Jul 2024 18:23:46 +0300 Subject: [PATCH 08/18] Fix typo --- examples/X.Web.Sitemap.Example/UrlGenerator.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/X.Web.Sitemap.Example/UrlGenerator.cs b/examples/X.Web.Sitemap.Example/UrlGenerator.cs index b0bf65c..582d1c4 100644 --- a/examples/X.Web.Sitemap.Example/UrlGenerator.cs +++ b/examples/X.Web.Sitemap.Example/UrlGenerator.cs @@ -7,7 +7,7 @@ public List GetUrls(string domain) var productPageUrlStrings = GetHighPriorityProductPageUrls(domain); //--build a list of X.Web.Sitemap.Url objects and determine what is the appropriate ChangeFrequency, TimeStamp (aka "LastMod" or date that the resource last had changes), - // and the a priority for the page. If you can build in some logic to prioritize your pages then you are more sophisticated than most! :) + // and the priority for the page. If you can build in some logic to prioritize your pages then you are more sophisticated than most! :) var allUrls = productPageUrlStrings.Select(url => new Url { //--assign the location of the HTTP request -- e.g.: https://www.somesite.com/some-resource From 31aee73bbf55aa4f3098be54c2307b84225af6af Mon Sep 17 00:00:00 2001 From: Andrew Gubskiy Date: Sun, 14 Jul 2024 18:24:51 +0300 Subject: [PATCH 09/18] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index b6bfa2f..49d88a0 100644 --- a/README.md +++ b/README.md @@ -21,9 +21,9 @@ Below is an example of basic usage in a non-testable manner sitemap.Add(new Url { - ChangeFrequency = ChangeFrequency.Daily, + ChangeFrequency = ChangeFrequency.Hourly, Location = "http://www.example.com", - Priority = 0.5, + Priority = 0.8, TimeStamp = DateTime.Now }); From 46f317afa45d471a069a9664f70be1b19872eacc Mon Sep 17 00:00:00 2001 From: Andrew Gubskiy Date: Sun, 14 Jul 2024 18:27:22 +0300 Subject: [PATCH 10/18] Update project properties --- src/X.Web.Sitemap/X.Web.Sitemap.csproj | 60 +++++++++++++------------- 1 file changed, 31 insertions(+), 29 deletions(-) diff --git a/src/X.Web.Sitemap/X.Web.Sitemap.csproj b/src/X.Web.Sitemap/X.Web.Sitemap.csproj index 1d214c0..8e1946f 100644 --- a/src/X.Web.Sitemap/X.Web.Sitemap.csproj +++ b/src/X.Web.Sitemap/X.Web.Sitemap.csproj @@ -1,35 +1,37 @@ - - 2.9.3 - This library allows you quickly and easily generate sitemap files. - Andrew Gubskiy - https://github.com/ernado-x/X.Web.Sitemap - git - https://github.com/ernado-x/X.Web.Sitemap - https://ru.gravatar.com/userimage/8071071/f2dc08ee7e4016451f64a7ae9cffd110.png?size=200 - True - xsitemap - Andrew Gubskiy - sitemap, web, asp.net, sitemap.xml - 2.9.5 - X.Sitemap - 2.9.5.0 - 2.9.5.0 - default - enable - net6.0;net8.0;netstandard2.0;netstandard2.1 - README.md - LICENSE.md - + + X.Web.Sitemap + Andrew Gubskiy + This library allows you quickly and easily generate sitemap files. + Andrew Gubskiy + git + https://github.com/ernado-x/X.Web.Sitemap - - - - + https://ru.gravatar.com/userimage/8071071/f2dc08ee7e4016451f64a7ae9cffd110.png?size=200 + xsitemap + https://github.com/ernado-x/X.Web.Sitemap + sitemap, web, asp.net, sitemap.xml + 2.9.5 + README.md + LICENSE.md + True + + 2.9.5 + 2.9.5.0 + 2.9.5.0 + default + enable + net6.0;net8.0;netstandard2.0;netstandard2.1 + - - - + + + + + + + + \ No newline at end of file From cf336b9df68cde3271f00a7725ad3e238408290e Mon Sep 17 00:00:00 2001 From: Andrew Gubskiy Date: Mon, 15 Jul 2024 00:24:42 +0300 Subject: [PATCH 11/18] update README.md --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 49d88a0..c22d86a 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,6 @@ [![NuGet Version](http://img.shields.io/nuget/v/xsitemap.svg?style=flat)](https://www.nuget.org/packages/xsitemap/) [![Twitter URL](https://img.shields.io/twitter/url/https/twitter.com/andrew_gubskiy.svg?style=social&label=Follow%20me!)](https://twitter.com/intent/user?screen_name=andrew_gubskiy) -[![Part of awesome .NET Core](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/thangchung/awesome-dotnet-core#tools) Simple sitemap generator for .NET From f8a7e97164e58910d3388fbd0172e7ec010f927e Mon Sep 17 00:00:00 2001 From: Andrew Gubskiy Date: Mon, 22 Jul 2024 15:53:43 +0300 Subject: [PATCH 12/18] Update package settings --- src/X.Web.Sitemap/X.Web.Sitemap.csproj | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/X.Web.Sitemap/X.Web.Sitemap.csproj b/src/X.Web.Sitemap/X.Web.Sitemap.csproj index 8e1946f..351cb9d 100644 --- a/src/X.Web.Sitemap/X.Web.Sitemap.csproj +++ b/src/X.Web.Sitemap/X.Web.Sitemap.csproj @@ -3,31 +3,32 @@ X.Web.Sitemap Andrew Gubskiy + Ukrainian .NET Developer Community + This library allows you quickly and easily generate sitemap files. Andrew Gubskiy git https://github.com/ernado-x/X.Web.Sitemap https://ru.gravatar.com/userimage/8071071/f2dc08ee7e4016451f64a7ae9cffd110.png?size=200 - xsitemap https://github.com/ernado-x/X.Web.Sitemap sitemap, web, asp.net, sitemap.xml - 2.9.5 + 2.10.0 README.md LICENSE.md True - 2.9.5 - 2.9.5.0 - 2.9.5.0 + 2.10.0 + 2.10.0.0 + 2.10.0.0 default enable net6.0;net8.0;netstandard2.0;netstandard2.1 - - + + From bd900ae62cdc4e047c4c9e9087bacfd483cd301e Mon Sep 17 00:00:00 2001 From: Andrew Gubskiy Date: Mon, 22 Jul 2024 16:11:07 +0300 Subject: [PATCH 13/18] Added placeholder project for support old package in NuGet --- X.Web.Sitemap.sln | 7 +++++++ src/xsitemap/README.md | 12 ++++++++++++ src/xsitemap/xsitemap.csproj | 35 +++++++++++++++++++++++++++++++++++ 3 files changed, 54 insertions(+) create mode 100644 src/xsitemap/README.md create mode 100644 src/xsitemap/xsitemap.csproj diff --git a/X.Web.Sitemap.sln b/X.Web.Sitemap.sln index 2fd28ed..2a5a018 100644 --- a/X.Web.Sitemap.sln +++ b/X.Web.Sitemap.sln @@ -15,6 +15,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "examples", "examples", "{94 EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "X.Web.Sitemap.Example", "examples\X.Web.Sitemap.Example\X.Web.Sitemap.Example.csproj", "{1E7AAF8C-08EB-4918-B987-618F8D06F43C}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "xsitemap", "src\xsitemap\xsitemap.csproj", "{03ABE12B-69FB-4E5F-A9A1-8B3257D90480}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -33,6 +35,10 @@ Global {1E7AAF8C-08EB-4918-B987-618F8D06F43C}.Debug|Any CPU.Build.0 = Debug|Any CPU {1E7AAF8C-08EB-4918-B987-618F8D06F43C}.Release|Any CPU.ActiveCfg = Release|Any CPU {1E7AAF8C-08EB-4918-B987-618F8D06F43C}.Release|Any CPU.Build.0 = Release|Any CPU + {03ABE12B-69FB-4E5F-A9A1-8B3257D90480}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {03ABE12B-69FB-4E5F-A9A1-8B3257D90480}.Debug|Any CPU.Build.0 = Debug|Any CPU + {03ABE12B-69FB-4E5F-A9A1-8B3257D90480}.Release|Any CPU.ActiveCfg = Release|Any CPU + {03ABE12B-69FB-4E5F-A9A1-8B3257D90480}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -41,5 +47,6 @@ Global {5AA327E0-C63F-4567-9C09-23707EB5E4C4} = {5662CFB2-6193-4FB8-BBA3-B5822FDB583F} {704FA5E2-2694-44C9-826E-85C2CEC96D5D} = {DD3DEEE0-ABF3-4DFB-A5A9-14AA3FB1DBA2} {1E7AAF8C-08EB-4918-B987-618F8D06F43C} = {9428EFB0-FF29-406C-91E5-89B9C85E093A} + {03ABE12B-69FB-4E5F-A9A1-8B3257D90480} = {DD3DEEE0-ABF3-4DFB-A5A9-14AA3FB1DBA2} EndGlobalSection EndGlobal diff --git a/src/xsitemap/README.md b/src/xsitemap/README.md new file mode 100644 index 0000000..b78ef5c --- /dev/null +++ b/src/xsitemap/README.md @@ -0,0 +1,12 @@ +# X.Web.Sitemap + +[![NuGet Version](http://img.shields.io/nuget/v/xsitemap.svg?style=flat)](https://www.nuget.org/packages/xsitemap/) +[![Twitter URL](https://img.shields.io/twitter/url/https/twitter.com/andrew_gubskiy.svg?style=social&label=Follow%20me!)](https://twitter.com/intent/user?screen_name=andrew_gubskiy) + +X.Web.Sitemap is a library for generating and managing sitemaps in .NET applications. + +# Important Notice + +The location of the X.Web.Sitemap package has changed. It is now available at: [X.Web.Sitemap](https://www.nuget.org/packages/X.Web.Sitemap/2.10.0). + +Please update your package references to use the new location. diff --git a/src/xsitemap/xsitemap.csproj b/src/xsitemap/xsitemap.csproj new file mode 100644 index 0000000..3ad60ff --- /dev/null +++ b/src/xsitemap/xsitemap.csproj @@ -0,0 +1,35 @@ + + + + 2.9.9 + Please refer to X.Web.Sitemap – the new place for thid library! + Andrew Gubskiy + https://github.com/ernado-x/X.Web.Sitemap + git + https://github.com/ernado-x/X.Web.Sitemap + https://ru.gravatar.com/userimage/8071071/f2dc08ee7e4016451f64a7ae9cffd110.png?size=200 + True + xsitemap + Andrew Gubskiy + sitemap, web, asp.net, sitemap.xml + 2.9.9 + X.Sitemap + 2.9.9.0 + 2.9.9.0 + default + enable + net6.0;net8.0;netstandard2.0;netstandard2.1 + README.md + LICENSE.md + + + + + + + + + + + + \ No newline at end of file From 4d054a4b4e79493d6d7d9675862f7fa58c025662 Mon Sep 17 00:00:00 2001 From: Andrew Gubskiy Date: Mon, 22 Jul 2024 16:21:55 +0300 Subject: [PATCH 14/18] Update links --- README.md | 5 ++--- src/X.Web.Sitemap/X.Web.Sitemap.csproj | 8 ++++---- src/xsitemap/README.md | 2 +- src/xsitemap/xsitemap.csproj | 8 ++++---- 4 files changed, 11 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index c22d86a..378eb6a 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,10 @@ # X.Web.Sitemap -[![NuGet Version](http://img.shields.io/nuget/v/xsitemap.svg?style=flat)](https://www.nuget.org/packages/xsitemap/) +[![NuGet Version](http://img.shields.io/nuget/v/X.Web.Sitemap.svg?style=flat)](https://www.nuget.org/packages/X.Web.Sitemap/) [![Twitter URL](https://img.shields.io/twitter/url/https/twitter.com/andrew_gubskiy.svg?style=social&label=Follow%20me!)](https://twitter.com/intent/user?screen_name=andrew_gubskiy) -Simple sitemap generator for .NET -You can download it from nuget.org at http://nuget.org/packages/xsitemap +X.Web.Sitemap is a library for generating and managing sitemaps in .NET applications. ## Usage example diff --git a/src/X.Web.Sitemap/X.Web.Sitemap.csproj b/src/X.Web.Sitemap/X.Web.Sitemap.csproj index 351cb9d..7370ab3 100644 --- a/src/X.Web.Sitemap/X.Web.Sitemap.csproj +++ b/src/X.Web.Sitemap/X.Web.Sitemap.csproj @@ -13,14 +13,14 @@ https://ru.gravatar.com/userimage/8071071/f2dc08ee7e4016451f64a7ae9cffd110.png?size=200 https://github.com/ernado-x/X.Web.Sitemap sitemap, web, asp.net, sitemap.xml - 2.10.0 + 2.10.1 README.md LICENSE.md True - 2.10.0 - 2.10.0.0 - 2.10.0.0 + 2.10.1 + 2.10.1.0 + 2.10.1.0 default enable net6.0;net8.0;netstandard2.0;netstandard2.1 diff --git a/src/xsitemap/README.md b/src/xsitemap/README.md index b78ef5c..4ecec98 100644 --- a/src/xsitemap/README.md +++ b/src/xsitemap/README.md @@ -7,6 +7,6 @@ X.Web.Sitemap is a library for generating and managing sitemaps in .NET applicat # Important Notice -The location of the X.Web.Sitemap package has changed. It is now available at: [X.Web.Sitemap](https://www.nuget.org/packages/X.Web.Sitemap/2.10.0). +The location of the X.Web.Sitemap package has changed. It is now available at: [X.Web.Sitemap](https://www.nuget.org/packages/X.Web.Sitemap). Please update your package references to use the new location. diff --git a/src/xsitemap/xsitemap.csproj b/src/xsitemap/xsitemap.csproj index 3ad60ff..fdd27b6 100644 --- a/src/xsitemap/xsitemap.csproj +++ b/src/xsitemap/xsitemap.csproj @@ -1,7 +1,7 @@  - 2.9.9 + 2.9.10 Please refer to X.Web.Sitemap – the new place for thid library! Andrew Gubskiy https://github.com/ernado-x/X.Web.Sitemap @@ -12,10 +12,10 @@ xsitemap Andrew Gubskiy sitemap, web, asp.net, sitemap.xml - 2.9.9 + 2.9.10 X.Sitemap - 2.9.9.0 - 2.9.9.0 + 2.9.10.0 + 2.9.10.0 default enable net6.0;net8.0;netstandard2.0;netstandard2.1 From ca5920253d171ef1f1b4cc55c7fd0e4abb0c2f71 Mon Sep 17 00:00:00 2001 From: Andrew Gubskiy Date: Wed, 24 Jul 2024 13:37:58 +0300 Subject: [PATCH 15/18] Update project and package settings --- X.Web.Sitemap.sln | 3 +++ src/Directory.Build.props | 24 ++++++++++++++++++ src/X.Web.Sitemap/X.Web.Sitemap.csproj | 22 +++-------------- src/xsitemap/xsitemap.csproj | 34 ++++++++++---------------- 4 files changed, 44 insertions(+), 39 deletions(-) create mode 100644 src/Directory.Build.props diff --git a/X.Web.Sitemap.sln b/X.Web.Sitemap.sln index 2a5a018..fb1071f 100644 --- a/X.Web.Sitemap.sln +++ b/X.Web.Sitemap.sln @@ -4,6 +4,9 @@ Microsoft Visual Studio Solution File, Format Version 12.00 VisualStudioVersion = 15.0.26403.7 MinimumVisualStudioVersion = 10.0.40219.1 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{DD3DEEE0-ABF3-4DFB-A5A9-14AA3FB1DBA2}" + ProjectSection(SolutionItems) = preProject + src\Directory.Build.props = src\Directory.Build.props + EndProjectSection EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "tests", "{5662CFB2-6193-4FB8-BBA3-B5822FDB583F}" EndProject diff --git a/src/Directory.Build.props b/src/Directory.Build.props new file mode 100644 index 0000000..323e036 --- /dev/null +++ b/src/Directory.Build.props @@ -0,0 +1,24 @@ + + + + True + + README.md + LICENSE.md + https://ru.gravatar.com/userimage/8071071/f2dc08ee7e4016451f64a7ae9cffd110.png?size=200 + + Andrew Gubskiy + Andrew Gubskiy © 2024 + Ukrainian .NET Developer Community + + 2.10.2 + 2.10.2 + 2.10.2 + 2.10.2 + + git + https://github.com/ernado-x/X.Web.Sitemap.git + https://github.com/ernado-x/X.Web.Sitemap + + + diff --git a/src/X.Web.Sitemap/X.Web.Sitemap.csproj b/src/X.Web.Sitemap/X.Web.Sitemap.csproj index 7370ab3..781a33b 100644 --- a/src/X.Web.Sitemap/X.Web.Sitemap.csproj +++ b/src/X.Web.Sitemap/X.Web.Sitemap.csproj @@ -2,28 +2,14 @@ X.Web.Sitemap - Andrew Gubskiy - Ukrainian .NET Developer Community - This library allows you quickly and easily generate sitemap files. - Andrew Gubskiy - git - https://github.com/ernado-x/X.Web.Sitemap - https://ru.gravatar.com/userimage/8071071/f2dc08ee7e4016451f64a7ae9cffd110.png?size=200 - https://github.com/ernado-x/X.Web.Sitemap - sitemap, web, asp.net, sitemap.xml - 2.10.1 - README.md - LICENSE.md - True - - 2.10.1 - 2.10.1.0 - 2.10.1.0 default - enable net6.0;net8.0;netstandard2.0;netstandard2.1 + + sitemap, web asp.net sitemap.xml + + enable diff --git a/src/xsitemap/xsitemap.csproj b/src/xsitemap/xsitemap.csproj index fdd27b6..9dc8da4 100644 --- a/src/xsitemap/xsitemap.csproj +++ b/src/xsitemap/xsitemap.csproj @@ -2,34 +2,26 @@ 2.9.10 - Please refer to X.Web.Sitemap – the new place for thid library! - Andrew Gubskiy - https://github.com/ernado-x/X.Web.Sitemap - git - https://github.com/ernado-x/X.Web.Sitemap - https://ru.gravatar.com/userimage/8071071/f2dc08ee7e4016451f64a7ae9cffd110.png?size=200 - True - xsitemap - Andrew Gubskiy - sitemap, web, asp.net, sitemap.xml - 2.9.10 - X.Sitemap - 2.9.10.0 - 2.9.10.0 + Please refer to X.Web.Sitemap – the new place for this library! + default - enable net6.0;net8.0;netstandard2.0;netstandard2.1 - README.md - LICENSE.md + + sitemap, web asp.net sitemap.xml + + enable - - + - + + + + + - + \ No newline at end of file From 5d8937d79e36f7295317d1722b28e81a847e1dd5 Mon Sep 17 00:00:00 2001 From: Andrew Gubskiy Date: Thu, 1 Aug 2024 12:49:08 +0300 Subject: [PATCH 16/18] Update package icon --- src/Directory.Build.props | 12 ++++++------ src/X.Web.Sitemap/X.Web.Sitemap.csproj | 1 + src/xsitemap/xsitemap.csproj | 3 ++- x-web.png | Bin 0 -> 17393 bytes 4 files changed, 9 insertions(+), 7 deletions(-) create mode 100644 x-web.png diff --git a/src/Directory.Build.props b/src/Directory.Build.props index 323e036..90c8744 100644 --- a/src/Directory.Build.props +++ b/src/Directory.Build.props @@ -5,20 +5,20 @@ README.md LICENSE.md - https://ru.gravatar.com/userimage/8071071/f2dc08ee7e4016451f64a7ae9cffd110.png?size=200 + x-web.png Andrew Gubskiy Andrew Gubskiy © 2024 Ukrainian .NET Developer Community - 2.10.2 - 2.10.2 - 2.10.2 - 2.10.2 + 2.10.3 + 2.10.3 + 2.10.3 + 2.10.3 git https://github.com/ernado-x/X.Web.Sitemap.git - https://github.com/ernado-x/X.Web.Sitemap + https://andrew.gubskiy.com/open-source diff --git a/src/X.Web.Sitemap/X.Web.Sitemap.csproj b/src/X.Web.Sitemap/X.Web.Sitemap.csproj index 781a33b..3bda669 100644 --- a/src/X.Web.Sitemap/X.Web.Sitemap.csproj +++ b/src/X.Web.Sitemap/X.Web.Sitemap.csproj @@ -15,6 +15,7 @@ + diff --git a/src/xsitemap/xsitemap.csproj b/src/xsitemap/xsitemap.csproj index 9dc8da4..c6f6e19 100644 --- a/src/xsitemap/xsitemap.csproj +++ b/src/xsitemap/xsitemap.csproj @@ -13,7 +13,8 @@ - + + diff --git a/x-web.png b/x-web.png new file mode 100644 index 0000000000000000000000000000000000000000..b853657da42a35b95e5d7d746a4f2134b118c739 GIT binary patch literal 17393 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 WV1K3R%l&UV00mjq57qBX!~Q=Lm|A)O literal 0 HcmV?d00001 From 8a6ef7b8495a0049cccf13c57525b5d06aa20267 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 26 Aug 2024 09:36:33 +0000 Subject: [PATCH 17/18] Bump Microsoft.NET.Test.Sdk from 17.10.0 to 17.11.0 Bumps [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) from 17.10.0 to 17.11.0. - [Release notes](https://github.com/microsoft/vstest/releases) - [Changelog](https://github.com/microsoft/vstest/blob/main/docs/releases.md) - [Commits](https://github.com/microsoft/vstest/compare/v17.10.0...v17.11.0) --- updated-dependencies: - dependency-name: Microsoft.NET.Test.Sdk dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- tests/X.Web.Sitemap.Tests/X.Web.Sitemap.Tests.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/X.Web.Sitemap.Tests/X.Web.Sitemap.Tests.csproj b/tests/X.Web.Sitemap.Tests/X.Web.Sitemap.Tests.csproj index efc2916..7a92b11 100644 --- a/tests/X.Web.Sitemap.Tests/X.Web.Sitemap.Tests.csproj +++ b/tests/X.Web.Sitemap.Tests/X.Web.Sitemap.Tests.csproj @@ -11,7 +11,7 @@ - + runtime; build; native; contentfiles; analyzers; buildtransitive From a49ae0ef6e9454c22676991b1055002de00c097b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 9 Sep 2024 09:31:30 +0000 Subject: [PATCH 18/18] Bump Microsoft.NET.Test.Sdk from 17.11.0 to 17.11.1 Bumps [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) from 17.11.0 to 17.11.1. - [Release notes](https://github.com/microsoft/vstest/releases) - [Changelog](https://github.com/microsoft/vstest/blob/main/docs/releases.md) - [Commits](https://github.com/microsoft/vstest/compare/v17.11.0...v17.11.1) --- updated-dependencies: - dependency-name: Microsoft.NET.Test.Sdk dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- tests/X.Web.Sitemap.Tests/X.Web.Sitemap.Tests.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/X.Web.Sitemap.Tests/X.Web.Sitemap.Tests.csproj b/tests/X.Web.Sitemap.Tests/X.Web.Sitemap.Tests.csproj index 7a92b11..2c30c62 100644 --- a/tests/X.Web.Sitemap.Tests/X.Web.Sitemap.Tests.csproj +++ b/tests/X.Web.Sitemap.Tests/X.Web.Sitemap.Tests.csproj @@ -11,7 +11,7 @@ - + runtime; build; native; contentfiles; analyzers; buildtransitive