annotate Tools/DocGen/Program.Web.cs @ 6:11b6da379593

Исправлена странная ошибка при использовании OfType<...>().Where(...)
author cin
date Mon, 05 Dec 2016 05:50:52 +0300
parents f990fcb411a9
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1 using System;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
2 using System.IO;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
3
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
4 namespace DocGen
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
5 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
6 partial class Program
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
7 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
8 static readonly string _template = Path.GetFullPath(@"..\..\content\WebTemplate.html");
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
9
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
10 static FileAction FilterFile(string fileName)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
11 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
12 var name = Path.GetFileName(fileName).ToLower();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
13
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
14 switch (name)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
15 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
16 case "home.htm" : return FileAction.Skip;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
17 default : return FileAction.Process;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
18 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
19 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
20
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
21 static void CreateTarget(FileItem files)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
22 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
23 new Generator().Generate(
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
24 new FileItem(),
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
25 _template, new[] { "Source" }, destPath, @"..\..\..\..\", false, true,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
26 fileName =>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
27 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
28 var name = Path.GetFileName(fileName).ToLower();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
29
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
30 if (name == "assemblyinfo.cs")
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
31 return FileAction.Skip;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
32
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
33 var ext = Path.GetExtension(fileName).ToLower();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
34
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
35 switch (ext)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
36 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
37 case ".cs": return FileAction.Process;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
38 default : return FileAction.Skip;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
39 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
40 });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
41
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
42 CreateSitemap(files);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
43 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
44
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
45 static void CreateSitemap(FileItem files)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
46 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
47 var sm = "";
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
48
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
49 foreach (var file in files.GetFiles())
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
50 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
51 var s = file.Name.Replace(destPath, "http://www.bltoolkit.net/").Replace("\\", "/");
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
52
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
53 if (s == "http://www.bltoolkit.net/index.htm")
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
54 continue;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
55
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
56 sm += string.Format(@"
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
57 <url>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
58 <loc>{0}</loc>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
59 <lastmod>{1:yyyy-MM-dd}</lastmod>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
60 <changefreq>weekly</changefreq>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
61 </url>",
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
62 s, DateTime.Now);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
63 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
64
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
65 using (var sw = File.CreateText(destPath + "sitemap.xml"))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
66 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
67 sw.WriteLine(string.Format(@"<?xml version=""1.0"" encoding=""UTF-8""?>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
68 <urlset xmlns=""http://www.google.com/schemas/sitemap/0.84"">
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
69 <url>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
70 <loc>http://www.bltoolkit.net/</loc>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
71 <lastmod>{0:yyyy-MM-dd}</lastmod>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
72 <changefreq>weekly</changefreq>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
73 </url>{1}
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
74 </urlset>",
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
75 DateTime.Now, sm));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
76 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
77 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
78 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
79 }