1- using NETworkManager . Localization ;
2- using NETworkManager . Models ;
1+ using NETworkManager . Models ;
32using NETworkManager . Utilities ;
43using System . Collections . Generic ;
54using System . Diagnostics ;
@@ -10,60 +9,52 @@ namespace NETworkManager.Documentation
109{
1110 public static class DocumentationManager
1211 {
13- public const string DocumentationBaseUrl = @"https://github.com/BornToBeRoot/NETworkManager/tree/master/Documentation/" ;
14-
15- public static string DocumentationUrl => $ "{ DocumentationBaseUrl } { LocalizationManager . GetInstance ( ) . Current . Code } /README.md";
12+ public const string DocumentationBaseUrl = @"https://borntoberoot.github.io/NETworkManager/Documentation/" ;
1613
1714 public static List < DocumentationInfo > List => new List < DocumentationInfo >
1815 {
19- new DocumentationInfo ( DocumentationIdentifier . ApplicationDashboard , @"/ Application/Dashboard.md" , GetLocalizationInfoList ( "en-US" , "de-DE" ) ) ,
20- new DocumentationInfo ( DocumentationIdentifier . ApplicationNetworkInterface , @"/ Application/NetworkInterface.md" , GetLocalizationInfoList ( "en-US" , "de-DE" ) ) ,
21- new DocumentationInfo ( DocumentationIdentifier . ApplicationWiFi , @"/ Application/WiFi.md" , GetLocalizationInfoList ( "en-US" , "de-DE" ) ) ,
22- new DocumentationInfo ( DocumentationIdentifier . ApplicationIPScanner , @"/ Application/IPScanner.md" , GetLocalizationInfoList ( "en-US" , "de-DE" ) ) ,
23- new DocumentationInfo ( DocumentationIdentifier . ApplicationPortScanner , @"/ Application/PortScanner.md" , GetLocalizationInfoList ( "en-US" , "de-DE" ) ) ,
24- new DocumentationInfo ( DocumentationIdentifier . ApplicationPing , @"/ Application/Ping.md" , GetLocalizationInfoList ( "en-US" , "de-DE" ) ) ,
25- new DocumentationInfo ( DocumentationIdentifier . ApplicationPingMonitor , @"/ Application/PingMonitor.md" , GetLocalizationInfoList ( "en-US" , "de-DE" ) ) ,
26- new DocumentationInfo ( DocumentationIdentifier . ApplicationTraceroute , @"/ Application/Traceroute.md" , GetLocalizationInfoList ( "en-US" , "de-DE" ) ) ,
27- new DocumentationInfo ( DocumentationIdentifier . ApplicationDnsLookup , @"/ Application/DNSLookup.md" , GetLocalizationInfoList ( "en-US" , "de-DE" ) ) ,
28- new DocumentationInfo ( DocumentationIdentifier . ApplicationRemoteDesktop , @"/ Application/RemoteDesktop.md" , GetLocalizationInfoList ( "en-US" , "de-DE" ) ) ,
29- new DocumentationInfo ( DocumentationIdentifier . ApplicationPowerShell , @"/ Application/PowerShell.md" , GetLocalizationInfoList ( "en-US" , "de-DE" ) ) ,
30- new DocumentationInfo ( DocumentationIdentifier . ApplicationPutty , @"/ Application/PuTTY.md" , GetLocalizationInfoList ( "en-US" , "de-DE" ) ) ,
31- new DocumentationInfo ( DocumentationIdentifier . ApplicationTigerVNC , @"/ Application/TigerVNC.md" , GetLocalizationInfoList ( "en-US" , "de-DE" ) ) ,
32- new DocumentationInfo ( DocumentationIdentifier . ApplicationWebConsole , @"/ Application/WebConsole.md" , GetLocalizationInfoList ( "en-US" , "de-DE" ) ) ,
33- new DocumentationInfo ( DocumentationIdentifier . ApplicationSnmp , @"/ Application/SNMP.md" , GetLocalizationInfoList ( "en-US" , "de-DE" ) ) ,
34- new DocumentationInfo ( DocumentationIdentifier . ApplicationDiscoveryProtocol , @"/ Application/DiscoveryProtocol.md" , GetLocalizationInfoList ( "en-US" , "de-DE" ) ) ,
35- new DocumentationInfo ( DocumentationIdentifier . ApplicationWakeOnLan , @"/ Application/WakeOnLAN.md" , GetLocalizationInfoList ( "en-US" , "de-DE" ) ) ,
36- new DocumentationInfo ( DocumentationIdentifier . ApplicationHttpHeaders , @"/ Application/HTTPHeaders.md" , GetLocalizationInfoList ( "en-US" , "de-DE" ) ) ,
37- new DocumentationInfo ( DocumentationIdentifier . ApplicationWhois , @"/ Application/Whois.md" , GetLocalizationInfoList ( "en-US" , "de-DE" ) ) ,
38- new DocumentationInfo ( DocumentationIdentifier . ApplicationSubnetCalculator , @"/ Application/SubnetCalculator.md" , GetLocalizationInfoList ( "en-US" , "de-DE" ) ) ,
39- new DocumentationInfo ( DocumentationIdentifier . ApplicationLookup , @"/ Application/Lookup.md" , GetLocalizationInfoList ( "en-US" , "de-DE" ) ) ,
40- new DocumentationInfo ( DocumentationIdentifier . ApplicationConnections , @"/ Application/Connections.md" , GetLocalizationInfoList ( "en-US" , "de-DE" ) ) ,
41- new DocumentationInfo ( DocumentationIdentifier . ApplicationListeners , @"/ Application/Listeners.md" , GetLocalizationInfoList ( "en-US" , "de-DE" ) ) ,
42- new DocumentationInfo ( DocumentationIdentifier . ApplicationArpTable , @"/ Application/ARPTable.md" , GetLocalizationInfoList ( "en-US" , "de-DE" ) ) ,
16+ new DocumentationInfo ( DocumentationIdentifier . ApplicationDashboard , @"Application/Dashboard.html" ) ,
17+ new DocumentationInfo ( DocumentationIdentifier . ApplicationNetworkInterface , @"Application/NetworkInterface.html" ) ,
18+ new DocumentationInfo ( DocumentationIdentifier . ApplicationWiFi , @"Application/WiFi.html" ) ,
19+ new DocumentationInfo ( DocumentationIdentifier . ApplicationIPScanner , @"Application/IPScanner.html" ) ,
20+ new DocumentationInfo ( DocumentationIdentifier . ApplicationPortScanner , @"Application/PortScanner.html" ) ,
21+ new DocumentationInfo ( DocumentationIdentifier . ApplicationPing , @"Application/Ping.html" ) ,
22+ new DocumentationInfo ( DocumentationIdentifier . ApplicationPingMonitor , @"Application/PingMonitor.html" ) ,
23+ new DocumentationInfo ( DocumentationIdentifier . ApplicationTraceroute , @"Application/Traceroute.html" ) ,
24+ new DocumentationInfo ( DocumentationIdentifier . ApplicationDnsLookup , @"Application/DNSLookup.html" ) ,
25+ new DocumentationInfo ( DocumentationIdentifier . ApplicationRemoteDesktop , @"Application/RemoteDesktop.html" ) ,
26+ new DocumentationInfo ( DocumentationIdentifier . ApplicationPowerShell , @"Application/PowerShell.html" ) ,
27+ new DocumentationInfo ( DocumentationIdentifier . ApplicationPutty , @"Application/PuTTY.html" ) ,
28+ new DocumentationInfo ( DocumentationIdentifier . ApplicationTigerVNC , @"Application/TigerVNC.html" ) ,
29+ new DocumentationInfo ( DocumentationIdentifier . ApplicationWebConsole , @"Application/WebConsole.html" ) ,
30+ new DocumentationInfo ( DocumentationIdentifier . ApplicationSnmp , @"Application/SNMP.html" ) ,
31+ new DocumentationInfo ( DocumentationIdentifier . ApplicationDiscoveryProtocol , @"Application/DiscoveryProtocol.html" ) ,
32+ new DocumentationInfo ( DocumentationIdentifier . ApplicationWakeOnLan , @"Application/WakeOnLAN.html" ) ,
33+ new DocumentationInfo ( DocumentationIdentifier . ApplicationHttpHeaders , @"Application/HTTPHeaders.html" ) ,
34+ new DocumentationInfo ( DocumentationIdentifier . ApplicationWhois , @"Application/Whois.html" ) ,
35+ new DocumentationInfo ( DocumentationIdentifier . ApplicationSubnetCalculator , @"Application/SubnetCalculator.html" ) ,
36+ new DocumentationInfo ( DocumentationIdentifier . ApplicationLookup , @"Application/Lookup.html" ) ,
37+ new DocumentationInfo ( DocumentationIdentifier . ApplicationConnections , @"Application/Connections.html" ) ,
38+ new DocumentationInfo ( DocumentationIdentifier . ApplicationListeners , @"Application/Listeners.html" ) ,
39+ new DocumentationInfo ( DocumentationIdentifier . ApplicationArpTable , @"Application/ARPTable.html" ) ,
4340 } ;
44-
41+
4542 // Get localized documentation url (if available), else return the english page
46- public static string GetLocalizedUrlByIdentifier ( DocumentationIdentifier documentationIdentifier )
43+ public static string CreateUrl ( DocumentationIdentifier documentationIdentifier )
4744 {
4845 var info = List . FirstOrDefault ( x => x . Identifier == documentationIdentifier ) ;
4946
50- // Return start page
51- if ( info == null )
52- return DocumentationBaseUrl ;
47+ var url = DocumentationBaseUrl ;
5348
54- // Try get localized help, fallback is english
55- return info . Localizations . FirstOrDefault ( x => x . Code == LocalizationManager . GetInstance ( ) . Current . Code ) != null ? $ "{ DocumentationBaseUrl } { LocalizationManager . GetInstance ( ) . Current . Code } { info . Path } " : $ "{ DocumentationBaseUrl } en-US{ info . Path } ";
56- }
49+ if ( info != null )
50+ url += info . Path ;
5751
58- // Generate a list with culture codes
59- private static List < LocalizationInfo > GetLocalizationInfoList ( params string [ ] codes )
60- {
61- return codes . Select ( code => new LocalizationInfo ( code ) ) . ToList ( ) ;
52+ return url ;
6253 }
6354
6455 public static void OpenDocumentation ( DocumentationIdentifier documentationIdentifier )
65- {
66- Process . Start ( documentationIdentifier == DocumentationIdentifier . Default ? DocumentationUrl : GetLocalizedUrlByIdentifier ( documentationIdentifier ) ) ;
56+ {
57+ Process . Start ( CreateUrl ( documentationIdentifier ) ) ;
6758 }
6859
6960 #region ICommands & Actions
@@ -72,59 +63,59 @@ public static void OpenDocumentation(DocumentationIdentifier documentationIdenti
7263 private static void OpenDocumentationAction ( object documentationIdentifier )
7364 {
7465 if ( documentationIdentifier != null )
75- OpenDocumentation ( ( DocumentationIdentifier ) documentationIdentifier ) ;
66+ OpenDocumentation ( ( DocumentationIdentifier ) documentationIdentifier ) ;
7667 }
7768
7869 public static DocumentationIdentifier GetIdentifierByAppliactionName ( ApplicationName name )
7970 {
8071 switch ( name )
8172 {
8273 case ApplicationName . Dashboard :
83- return DocumentationIdentifier . ApplicationDashboard ;
74+ return DocumentationIdentifier . ApplicationDashboard ;
8475 case ApplicationName . NetworkInterface :
85- return DocumentationIdentifier . ApplicationNetworkInterface ;
76+ return DocumentationIdentifier . ApplicationNetworkInterface ;
8677 case ApplicationName . WiFi :
87- return DocumentationIdentifier . ApplicationWiFi ;
78+ return DocumentationIdentifier . ApplicationWiFi ;
8879 case ApplicationName . IPScanner :
89- return DocumentationIdentifier . ApplicationIPScanner ;
80+ return DocumentationIdentifier . ApplicationIPScanner ;
9081 case ApplicationName . PortScanner :
91- return DocumentationIdentifier . ApplicationPortScanner ;
82+ return DocumentationIdentifier . ApplicationPortScanner ;
9283 case ApplicationName . Ping :
93- return DocumentationIdentifier . ApplicationPing ;
84+ return DocumentationIdentifier . ApplicationPing ;
9485 case ApplicationName . Traceroute :
95- return DocumentationIdentifier . ApplicationTraceroute ;
86+ return DocumentationIdentifier . ApplicationTraceroute ;
9687 case ApplicationName . DNSLookup :
97- return DocumentationIdentifier . ApplicationDnsLookup ;
88+ return DocumentationIdentifier . ApplicationDnsLookup ;
9889 case ApplicationName . RemoteDesktop :
99- return DocumentationIdentifier . ApplicationRemoteDesktop ;
90+ return DocumentationIdentifier . ApplicationRemoteDesktop ;
10091 case ApplicationName . PowerShell :
101- return DocumentationIdentifier . ApplicationPowerShell ;
92+ return DocumentationIdentifier . ApplicationPowerShell ;
10293 case ApplicationName . PuTTY :
103- return DocumentationIdentifier . ApplicationPutty ;
94+ return DocumentationIdentifier . ApplicationPutty ;
10495 case ApplicationName . TigerVNC :
105- return DocumentationIdentifier . ApplicationTigerVNC ;
96+ return DocumentationIdentifier . ApplicationTigerVNC ;
10697 case ApplicationName . SNMP :
107- return DocumentationIdentifier . ApplicationSnmp ;
98+ return DocumentationIdentifier . ApplicationSnmp ;
10899 case ApplicationName . WakeOnLAN :
109- return DocumentationIdentifier . ApplicationWakeOnLan ;
100+ return DocumentationIdentifier . ApplicationWakeOnLan ;
110101 case ApplicationName . HTTPHeaders :
111- return DocumentationIdentifier . ApplicationHttpHeaders ;
102+ return DocumentationIdentifier . ApplicationHttpHeaders ;
112103 case ApplicationName . Whois :
113- return DocumentationIdentifier . ApplicationWhois ;
104+ return DocumentationIdentifier . ApplicationWhois ;
114105 case ApplicationName . SubnetCalculator :
115- return DocumentationIdentifier . ApplicationSubnetCalculator ;
106+ return DocumentationIdentifier . ApplicationSubnetCalculator ;
116107 case ApplicationName . Lookup :
117- return DocumentationIdentifier . ApplicationLookup ;
108+ return DocumentationIdentifier . ApplicationLookup ;
118109 case ApplicationName . Connections :
119- return DocumentationIdentifier . ApplicationConnections ;
110+ return DocumentationIdentifier . ApplicationConnections ;
120111 case ApplicationName . Listeners :
121- return DocumentationIdentifier . ApplicationListeners ;
112+ return DocumentationIdentifier . ApplicationListeners ;
122113 case ApplicationName . ARPTable :
123- return DocumentationIdentifier . ApplicationArpTable ;
114+ return DocumentationIdentifier . ApplicationArpTable ;
124115 case ApplicationName . None :
125- return DocumentationIdentifier . Default ;
116+ return DocumentationIdentifier . Default ;
126117 default :
127- return DocumentationIdentifier . Default ;
118+ return DocumentationIdentifier . Default ;
128119 }
129120 }
130121 #endregion
0 commit comments