#pragma warning restore 649 public void Execute(IEnumerable<string> arguments) { Tracing.Info("taste - testing a site locally"); parameters.Parse(arguments); if (string.IsNullOrWhiteSpace(parameters.Template)) { parameters.DetectFromDirectory(templateEngines.Engines); } engine = templateEngines[parameters.Template]; if (engine == null) return; var context = Generator.BuildContext(parameters.Path); engine.Initialize(); engine.Process(context); var watcher = new SimpleFileSystemWatcher(); watcher.OnChange(parameters.Path, WatcherOnChanged); var w = new WebHost(engine.GetOutputDirectory(parameters.Path), new FileContentProvider(),Convert.ToInt32(parameters.Port)); w.Start(); Tracing.Info(string.Format("Browse to http://localhost:{0}/ to test the site.", parameters.Port)); Tracing.Info("Press 'Q' to stop the web host..."); ConsoleKeyInfo key; do { key = Console.ReadKey(); } while (key.Key != ConsoleKey.Q); }
#pragma warning restore 649 public void Execute(IEnumerable<string> arguments) { Tracing.Info("taste - testing a site locally"); parameters.Parse(arguments); var context = Generator.BuildContext(parameters.Path); if (string.IsNullOrWhiteSpace(parameters.Template)) { parameters.DetectFromDirectory(templateEngines.Engines, context); } engine = templateEngines[parameters.Template]; if (engine == null) { Tracing.Info(string.Format("template engine {0} not found - (engines: {1})", parameters.Template, string.Join(", ", templateEngines.Engines.Keys))); return; } engine.Initialize(); engine.Process(context, skipFileOnError: true); foreach (var t in transforms) t.Transform(context); var watcher = new SimpleFileSystemWatcher(); watcher.OnChange(parameters.Path, WatcherOnChanged); var w = new WebHost(engine.GetOutputDirectory(parameters.Path), new FileContentProvider(), Convert.ToInt32(parameters.Port)); w.Start(); var url = string.Format("http://localhost:{0}/", parameters.Port); if (parameters.LaunchBrowser) { Tracing.Info(string.Format("Opening {0} in default browser...", url)); try { Process.Start(url); } catch (Exception) { Tracing.Info(string.Format("Failed to launch {0}.", url)); } } else { Tracing.Info(string.Format("Browse to {0} to view the site.", url)); } Tracing.Info("Press 'Q' to stop the web host..."); ConsoleKeyInfo key; do { key = Console.ReadKey(); } while (key.Key != ConsoleKey.Q); Console.WriteLine(); }
public void Execute(string[] arguments) { Tracing.Info("taste - testing a site locally"); Settings.Parse(arguments); if (Port == 0) { Port = 8080; } var f = new FileContentProvider(); if (string.IsNullOrWhiteSpace(Path)) { Path = Directory.GetCurrentDirectory(); } if (string.IsNullOrWhiteSpace(Engine)) { Engine = InferEngineFromDirectory(Path); } engine = templateEngines[Engine]; if (engine == null) return; var context = new SiteContext { Folder = Path }; engine.Initialize(); engine.Process(context); var watcher = new SimpleFileSystemWatcher(); watcher.OnChange(Path, WatcherOnChanged); var w = new WebHost(engine.GetOutputDirectory(Path), f); w.Start(); Tracing.Info("Press 'Q' to stop the web host..."); ConsoleKeyInfo key; do { key = Console.ReadKey(); } while (key.Key != ConsoleKey.Q); }