static void Main(string[] args) { var initialUrl = string.Empty; var docSources = new List <string> (); new OptionSet { { "url=|u=", u => initialUrl = u }, { "docdir=", dir => docSources.Add(dir) }, }.Parse(args); if (initialUrl.StartsWith("mdoc://")) { initialUrl = initialUrl.Substring("mdoc://".Length); // Remove leading scheme initialUrl = initialUrl.Substring(0, initialUrl.Length - 1); // Remove trailing '/' initialUrl = Uri.UnescapeDataString(initialUrl); // Unescape URL } // Don't crash if any of these steps fails try { PrepareCache(); SetupLogging(); ExtractImages(); } catch (Exception e) { Console.WriteLine("Non-fatal exception during initialization: {0}", e); } // Load documentation Directory.SetCurrentDirectory(Path.GetDirectoryName(typeof(Program).Assembly.Location)); Root = RootTree.LoadTree(); foreach (var dir in docSources) { Root.AddSource(dir); } if (Directory.Exists(externalMonodocPath)) { Root.AddSource(externalMonodocPath); } var winDocPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "WinDoc"); if (!Directory.Exists(winDocPath)) { Directory.CreateDirectory(winDocPath); } IndexUpdateManager = new IndexUpdateManager(Root.HelpSources .Cast <HelpSource> () .Select(hs => Path.Combine(hs.BaseFilePath, hs.Name + ".zip")) .Where(File.Exists), winDocPath); BookmarkManager = new BookmarkManager(winDocPath); Application.ApplicationExit += (s, e) => BookmarkManager.SaveBookmarks(); Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new MainWindow(initialUrl)); }
static void Main(string[] args) { var initialUrl = string.Empty; var docSources = new List<string> (); new OptionSet { { "url=|u=", u => initialUrl = u }, { "docdir=", dir => docSources.Add (dir) }, }.Parse (args); if (initialUrl.StartsWith ("mdoc://")) { initialUrl = initialUrl.Substring ("mdoc://".Length); // Remove leading scheme initialUrl = initialUrl.Substring (0, initialUrl.Length - 1); // Remove trailing '/' initialUrl = Uri.UnescapeDataString (initialUrl); // Unescape URL } // Don't crash if any of these steps fails try { PrepareCache (); SetupLogging (); ExtractImages (); } catch (Exception e) { Console.WriteLine ("Non-fatal exception during initialization: {0}", e); } // Load documentation Directory.SetCurrentDirectory (Path.GetDirectoryName (typeof (Program).Assembly.Location)); Root = RootTree.LoadTree (null); foreach (var dir in docSources) Root.AddSource (dir); if (Directory.Exists (externalMonodocPath)) Root.AddSource (externalMonodocPath); var winDocPath = Path.Combine (Environment.GetFolderPath (Environment.SpecialFolder.ApplicationData), "WinDoc"); if (!Directory.Exists (winDocPath)) Directory.CreateDirectory (winDocPath); IndexUpdateManager = new IndexUpdateManager (Root.HelpSources .Cast<HelpSource> () .Select (hs => Path.Combine (hs.BaseFilePath, hs.Name + ".zip")) .Where (File.Exists), winDocPath); BookmarkManager = new BookmarkManager (winDocPath); // Configure the documentation rendering. SettingsHandler.Settings.EnableEditing = false; SettingsHandler.Settings.preferred_font_size = 200; HelpSource.use_css = true; Application.ApplicationExit += (s, e) => BookmarkManager.SaveBookmarks (); Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault (false); Application.Run(new MainWindow (initialUrl)); }
static void Main(string[] args) { var initialUrl = string.Empty; var docSources = new List<string> (); new OptionSet { { "url=|u=", u => initialUrl = u }, { "docdir=", dir => docSources.Add (dir) }, }.Parse (args); PrepareCache (); ExtractImages (); // Load documentation Root = RootTree.LoadTree (null); foreach (var dir in docSources) Root.AddSource (dir); var winDocPath = Path.Combine (Environment.GetFolderPath (Environment.SpecialFolder.ApplicationData), "WinDoc"); if (!Directory.Exists (winDocPath)) Directory.CreateDirectory (winDocPath); IndexUpdateManager = new IndexUpdateManager (Root.HelpSources .Cast<HelpSource> () .Select (hs => Path.Combine (hs.BaseFilePath, hs.Name + ".zip")) .Where (File.Exists), winDocPath); BookmarkManager = new BookmarkManager (winDocPath); // Configure the documentation rendering. SettingsHandler.Settings.EnableEditing = false; SettingsHandler.Settings.preferred_font_size = 200; HelpSource.use_css = true; Application.ApplicationExit += (s, e) => BookmarkManager.SaveBookmarks (); Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault (false); Application.Run(new MainWindow (initialUrl)); }