1
0
mirror of https://git.teknik.io/Teknikode/Teknik.git synced 2023-08-02 14:16:22 +02:00

Added Cdn generation to SubRouteUrl.

Added Cdn bundle extension to the rest of the areas.
Added Cdn for Logo images.
Added Logo constants for file paths.
This commit is contained in:
Uncled1023 2016-10-07 22:21:28 -07:00
parent 8b22b22d23
commit 2d30e33949
14 changed files with 77 additions and 23 deletions

View File

@ -2,6 +2,7 @@
using System.Web.Mvc;
using System.Web.Optimization;
using Teknik.Configuration;
using Teknik.Helpers;
namespace Teknik.Areas.Blog
{
@ -60,12 +61,12 @@ namespace Teknik.Areas.Blog
);
// Register Script Bundles
BundleTable.Bundles.Add(new ScriptBundle("~/bundles/blog").Include(
BundleTable.Bundles.Add(new CdnScriptBundle("~/bundles/blog", config.CdnHost).Include(
"~/Scripts/bootbox/bootbox.min.js",
"~/Scripts/MarkdownDeepLib.min.js",
"~/Areas/Blog/Scripts/Blog.js"));
// Register Style Bundles
BundleTable.Bundles.Add(new StyleBundle("~/Content/blog").Include(
BundleTable.Bundles.Add(new CdnStyleBundle("~/Content/blog", config.CdnHost).Include(
"~/Content/mdd_styles.css",
"~/Areas/Blog/Content/Blog.css"));
}

View File

@ -2,6 +2,7 @@
using System.Web.Mvc;
using System.Web.Optimization;
using Teknik.Configuration;
using Teknik.Helpers;
namespace Teknik.Areas.Contact
{
@ -36,7 +37,7 @@ namespace Teknik.Areas.Contact
);
// Register Bundles
BundleTable.Bundles.Add(new ScriptBundle("~/bundles/contact").Include(
BundleTable.Bundles.Add(new CdnScriptBundle("~/bundles/contact", config.CdnHost).Include(
"~/Areas/Contact/Scripts/Contact.js"));
}
}

View File

@ -2,6 +2,7 @@
using System.Web.Mvc;
using System.Web.Optimization;
using Teknik.Configuration;
using Teknik.Helpers;
namespace Teknik.Areas.Help
{
@ -108,7 +109,7 @@ namespace Teknik.Areas.Help
);
// Register Style Bundles
BundleTable.Bundles.Add(new StyleBundle("~/Content/help").Include(
BundleTable.Bundles.Add(new CdnStyleBundle("~/Content/help", config.CdnHost).Include(
"~/Areas/Help/Content/Help.css"));
}
}

View File

@ -2,6 +2,20 @@
@using Teknik.Areas.Blog.Models
@using Teknik.Areas.Podcast.Models
@using Teknik.Helpers
@{
string logoPath = "/Images/logo-blue.svg";
// If we are using a CDN, let's replace it
if (Model.Config.UseCdn)
{
if (!string.IsNullOrEmpty(Model.Config.CdnHost))
{
logoPath = Model.Config.CdnHost.TrimEnd('/') + logoPath;
}
}
}
@Styles.Render("~/Content/home")
@Scripts.Render("~/bundles/home")
@ -9,7 +23,7 @@
<div class="container">
<div class="row">
<center>
<img src="/Images/logo-blue.svg" class="img-responsive" alt="Teknik">
<img src="@logoPath" class="img-responsive" alt="Teknik">
</center>
</div>
<br />

View File

@ -3,6 +3,7 @@ using System.Web.Mvc;
using System.Web.Optimization;
using Teknik.Configuration;
using Teknik.Controllers;
using Teknik.Helpers;
namespace Teknik.Areas.Paste
{
@ -77,15 +78,15 @@ namespace Teknik.Areas.Paste
);
// Register Script Bundles
BundleTable.Bundles.Add(new ScriptBundle("~/bundles/paste").Include(
BundleTable.Bundles.Add(new CdnScriptBundle("~/bundles/paste", config.CdnHost).Include(
"~/Scripts/Highlight/highlight.pack.js",
"~/Areas/Paste/Scripts/Paste.js"));
BundleTable.Bundles.Add(new ScriptBundle("~/bundles/syntaxWorker").Include(
BundleTable.Bundles.Add(new CdnScriptBundle("~/bundles/syntaxWorker", config.CdnHost).Include(
"~/Areas/Paste/Scripts/SyntaxWorker.js"));
BundleTable.Bundles.Add(new ScriptBundle("~/bundles/highlight").Include(
BundleTable.Bundles.Add(new CdnScriptBundle("~/bundles/highlight", config.CdnHost).Include(
"~/Scripts/Highlight/highlight.pack.js"));
// Register Style Bundles
BundleTable.Bundles.Add(new StyleBundle("~/Content/paste").Include(
BundleTable.Bundles.Add(new CdnScriptBundle("~/Content/paste", config.CdnHost).Include(
"~/Content/Highlight/github-gist.css",
"~/Areas/Paste/Content/Paste.css"));
}

View File

@ -2,6 +2,7 @@
using System.Web.Mvc;
using System.Web.Optimization;
using Teknik.Configuration;
using Teknik.Helpers;
namespace Teknik.Areas.Podcast
{
@ -52,12 +53,12 @@ namespace Teknik.Areas.Podcast
);
// Register Script Bundles
BundleTable.Bundles.Add(new ScriptBundle("~/bundles/podcast").Include(
BundleTable.Bundles.Add(new CdnScriptBundle("~/bundles/podcast", config.CdnHost).Include(
"~/Scripts/bootbox/bootbox.min.js",
"~/Scripts/jquery.blockUI.js",
"~/Areas/Podcast/Scripts/Podcast.js"));
// Register Style Bundles
BundleTable.Bundles.Add(new StyleBundle("~/Content/podcast").Include(
BundleTable.Bundles.Add(new CdnStyleBundle("~/Content/podcast", config.CdnHost).Include(
"~/Areas/Podcast/Content/Podcast.css"));
}
}

View File

@ -2,6 +2,7 @@
using System.Web.Mvc;
using System.Web.Optimization;
using Teknik.Configuration;
using Teknik.Helpers;
namespace Teknik.Areas.Shortener
{
@ -44,7 +45,7 @@ namespace Teknik.Areas.Shortener
);
// Register Script Bundles
BundleTable.Bundles.Add(new ScriptBundle("~/bundles/shortener").Include(
BundleTable.Bundles.Add(new CdnScriptBundle("~/bundles/shortener", config.CdnHost).Include(
"~/Areas/Shortener/Scripts/Shortener.js"));
}
}

View File

@ -2,6 +2,7 @@
using System.Web.Mvc;
using System.Web.Optimization;
using Teknik.Configuration;
using Teknik.Helpers;
namespace Teknik.Areas.Transparency
{
@ -28,7 +29,7 @@ namespace Teknik.Areas.Transparency
);
// Register Script Bundle
BundleTable.Bundles.Add(new ScriptBundle("~/bundles/transparency").Include(
BundleTable.Bundles.Add(new CdnScriptBundle("~/bundles/transparency", config.CdnHost).Include(
"~/Areas/Transparency/Scripts/Transparency.js"));
}
}

View File

@ -2,6 +2,7 @@
using System.Web.Mvc;
using System.Web.Optimization;
using Teknik.Configuration;
using Teknik.Helpers;
namespace Teknik.Areas.Users
{
@ -108,18 +109,18 @@ namespace Teknik.Areas.Users
);
// Register Script Bundle
BundleTable.Bundles.Add(new ScriptBundle("~/bundles/user").Include(
BundleTable.Bundles.Add(new CdnScriptBundle("~/bundles/user", config.CdnHost).Include(
"~/Scripts/bootbox/bootbox.min.js",
"~/Scripts/jquery.blockUI.js",
"~/Scripts/bootstrap-switch.js",
"~/Areas/User/Scripts/User.js"));
// Register Script Bundle
BundleTable.Bundles.Add(new ScriptBundle("~/bundles/checkAuthCode").Include(
BundleTable.Bundles.Add(new CdnScriptBundle("~/bundles/checkAuthCode", config.CdnHost).Include(
"~/Areas/User/Scripts/CheckAuthCode.js"));
// Register Style Bundles
BundleTable.Bundles.Add(new StyleBundle("~/Content/user").Include(
BundleTable.Bundles.Add(new CdnStyleBundle("~/Content/user", config.CdnHost).Include(
"~/Content/bootstrap-switch/bootstrap3/bootstrap-switch.css"));
}
}

View File

@ -2,6 +2,7 @@
using System.Web.Mvc;
using System.Web.Optimization;
using Teknik.Configuration;
using Teknik.Helpers;
namespace Teknik.Areas.Vault
{
@ -28,7 +29,7 @@ namespace Teknik.Areas.Vault
);
// Register Script Bundle
BundleTable.Bundles.Add(new ScriptBundle("~/bundles/vault").Include(
BundleTable.Bundles.Add(new CdnScriptBundle("~/bundles/vault", config.CdnHost).Include(
"~/Areas/Vault/Scripts/Vault.js"));
}
}

View File

@ -10,6 +10,7 @@ using Teknik.Configuration;
using Piwik.Tracker;
using Teknik.Filters;
using Teknik.Helpers;
namespace Teknik.Controllers
{
@ -51,7 +52,7 @@ namespace Teknik.Controllers
public ActionResult Favicon()
{
// Get favicon
string imageFile = Server.MapPath("~/Images/favicon.ico");
string imageFile = Server.MapPath(Constants.FAVICON_PATH);
return File(imageFile, "image/x-icon");
}
@ -61,7 +62,7 @@ namespace Teknik.Controllers
public ActionResult Logo()
{
// Get favicon
string imageFile = Server.MapPath("~/Images/logo-black.svg");
string imageFile = Server.MapPath(Constants.LOGO_PATH);
return File(imageFile, "image/svg+xml");
}
}

View File

@ -11,6 +11,8 @@ namespace Teknik.Helpers
public const string SERVERUSER = "Server Admin";
public const string AUTHCOOKIE = "TeknikAuth";
public const string TRUSTEDDEVICECOOKIE = "TeknikTrustedDevice";
public const string LOGO_PATH = "~/Images/logo-black.svg";
public const string FAVICON_PATH = "~/Images/favicon.ico";
// Paste Constants
public static Dictionary<string, string> HIGHLIGHTFORMATS = new Dictionary<string, string>()

View File

@ -7,6 +7,7 @@ using System.Web;
using System.Web.Mvc;
using System.Web.Routing;
using System.Web.UI;
using Teknik.Configuration;
namespace Teknik
{
@ -14,7 +15,17 @@ namespace Teknik
{
public static string SubRouteUrl(this UrlHelper url, string sub, string routeName)
{
return url.SubRouteUrl(sub, routeName, null);
return url.SubRouteUrl(sub, routeName, null, false);
}
public static string SubRouteUrl(this UrlHelper url, string sub, string routeName, bool useCdn)
{
return url.SubRouteUrl(sub, routeName, null, useCdn);
}
public static string SubRouteUrl(this UrlHelper url, string sub, string routeName, object routeValues)
{
return url.SubRouteUrl(sub, routeName, routeValues, false);
}
/// <summary>
@ -25,7 +36,7 @@ namespace Teknik
/// <param name="routeName"></param>
/// <param name="routeValues"></param>
/// <returns></returns>
public static string SubRouteUrl(this UrlHelper url, string sub, string routeName, object routeValues)
public static string SubRouteUrl(this UrlHelper url, string sub, string routeName, object routeValues, bool useCdn)
{
string host = url.RequestContext.HttpContext.Request.Url.Authority;
@ -71,7 +82,22 @@ namespace Teknik
}
string absoluteAction = string.Format("{0}://{1}{2}", url.RequestContext.HttpContext.Request.Url.Scheme, domain, rightUrl);
string fullHost = string.Format("{0}://{1}", url.RequestContext.HttpContext.Request.Url.Scheme, domain);
if (useCdn)
{
// If we are using a CDN, let's replace it
Config config = Config.Load();
if (config.UseCdn)
{
if (!string.IsNullOrEmpty(config.CdnHost))
{
fullHost = config.CdnHost.TrimEnd('/');
}
}
}
string absoluteAction = string.Format("{0}{1}", fullHost, rightUrl);
if (!string.IsNullOrEmpty(subParam))
{
@ -80,6 +106,7 @@ namespace Teknik
return absoluteAction;
}
public static string GetUrlParameters(this string url)
{
Uri uri = new Uri(url);

View File

@ -1,6 +1,7 @@
@model Teknik.ViewModels.ViewModelBase
@Html.Partial("../../Areas/User/Views/User/_LoginModalPartial", Model)
<div class="navbar navbar-default navbar-fixed-top">
<div class="container">
<div class="navbar-header">
@ -9,7 +10,7 @@
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="@Url.SubRouteUrl("www", "Home.Index")"><img src="@Url.SubRouteUrl("www", "Default.Logo")" height="20" alt="Teknik"></a>
<a class="navbar-brand" href="@Url.SubRouteUrl("www", "Home.Index")"><img src="@Url.SubRouteUrl("www", "Default.Logo", true)" height="20" alt="Teknik"></a>
</div>
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav">