using System.Threading.Tasks; using Docs.Shortcodes; using Statiq.App; using Statiq.Common; using Statiq.Web; namespace Docs { public static class Program { public static async Task Main(string[] args) => await Bootstrapper.Factory .CreateWeb(args) .AddSetting(Constants.EditLink, ConfigureEditLink()) .ConfigureSite("spectresystems", "spectre.console", "main") .ConfigureDeployment(deployBranch: "docs") .AddShortcode("Children", typeof(ChildrenShortcode)) .AddShortcode("ColorTable", typeof(ColorTableShortcode)) .AddPipelines() .RunAsync(); private static Config ConfigureEditLink() { return Config.FromDocument((doc, ctx) => { return string.Format("https://github.com/{0}/{1}/edit/{2}/docs/input/{3}", ctx.GetString(Constants.Site.Owner), ctx.GetString(Constants.Site.Repository), ctx.GetString(Constants.Site.Branch), doc.Source.GetRelativeInputPath()); }); } } }