Пример #1
0
        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));
        }
Пример #2
0
		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));
		}
Пример #3
0
		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));
		}