The next generation of the Teknik Services. Written in ASP.NET. https://www.teknik.io/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

93 lines
4.3 KiB

using System.Collections.Generic;
using System.Web.Mvc;
using System.Web.Optimization;
using Teknik.Configuration;
using Teknik.Controllers;
namespace Teknik.Areas.Paste
{
public class PasteAreaRegistration : AreaRegistration
{
public override string AreaName
{
get
{
return "Paste";
}
}
public override void RegisterArea(AreaRegistrationContext context)
{
Config config = Config.Load();
context.MapSubdomainRoute(
"Paste.Index", // Route name
new List<string>() { "paste", "p" },
new List<string>() { config.Host }, // domains
"", // URL with parameters
new { controller = "Paste", action = "Index" }, // Parameter defaults
new[] { typeof(Controllers.PasteController).Namespace }
);
context.MapSubdomainRoute(
"Paste.Favicon",
new List<string>() { "paste", "p" }, // Subdomains
new List<string>() { config.Host }, // domains
"favicon.ico",
new { controller = "Default", action = "Favicon" },
new[] { typeof(DefaultController).Namespace }
);
context.MapSubdomainRoute(
"Paste.Simple", // Route name
new List<string>() { "paste", "p" },
new List<string>() { config.Host }, // domains
"Simple/{url}", // URL with parameters
new { controller = "Paste", action = "ViewPaste", type = "Simple" }, // Parameter defaults
new[] { typeof(Controllers.PasteController).Namespace }
);
context.MapSubdomainRoute(
"Paste.Raw", // Route name
new List<string>() { "paste", "p" },
new List<string>() { config.Host }, // domains
"Raw/{url}", // URL with parameters
new { controller = "Paste", action = "ViewPaste", type = "Raw" }, // Parameter defaults
new[] { typeof(Controllers.PasteController).Namespace }
);
context.MapSubdomainRoute(
"Paste.Download", // Route name
new List<string>() { "paste", "p" },
new List<string>() { config.Host }, // domains
"Download/{url}", // URL with parameters
new { controller = "Paste", action = "ViewPaste", type = "Download" }, // Parameter defaults
new[] { typeof(Controllers.PasteController).Namespace }
);
context.MapSubdomainRoute(
"Paste.Action", // Route name
new List<string>() { "paste", "p" },
new List<string>() { config.Host }, // domains
"Action/{action}", // URL with parameters
new { controller = "Paste", action = "Index" }, // Parameter defaults
new[] { typeof(Controllers.PasteController).Namespace }
);
context.MapSubdomainRoute(
"Paste.View", // Route name
new List<string>() { "paste", "p" },
new List<string>() { config.Host }, // domains
"{url}", // URL with parameters
new { controller = "Paste", action = "ViewPaste", type = "Full" }, // Parameter defaults
new[] { typeof(Controllers.PasteController).Namespace }
);
// Register Script Bundles
BundleTable.Bundles.Add(new ScriptBundle("~/bundles/paste").Include(
"~/Scripts/Highlight/highlight.pack.js",
"~/Areas/Paste/Scripts/Paste.js"));
BundleTable.Bundles.Add(new ScriptBundle("~/bundles/syntaxWorker").Include(
"~/Areas/Paste/Scripts/SyntaxWorker.js"));
BundleTable.Bundles.Add(new ScriptBundle("~/bundles/highlight").Include(
"~/Scripts/Highlight/highlight.pack.js"));
// Register Style Bundles
BundleTable.Bundles.Add(new StyleBundle("~/Content/paste").Include(
"~/Content/Highlight/github-gist.css",
"~/Areas/Paste/Content/Paste.css"));
}
}
}