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

Changed paste to use backend syntax highlighting by pygments instead of a JS method.

This commit is contained in:
Uncled1023 2016-10-20 16:50:35 -07:00
parent e1ed311880
commit 04c2e657ab
12 changed files with 88 additions and 245 deletions

View File

@ -1,32 +1,32 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<configuration> <configuration>
<configSections> <configSections>
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 --> <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/> <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</configSections> </configSections>
<connectionStrings configSource="ConnectionStrings.config"/> <connectionStrings configSource="ConnectionStrings.config" />
<startup> <startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2"/> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2" />
</startup> </startup>
<entityFramework> <entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework"/> <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
<providers> <providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer"/> <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
</providers> </providers>
</entityFramework> </entityFramework>
<runtime> <runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly> <dependentAssembly>
<assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" culture="neutral"/> <assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.6.5135.21930" newVersion="1.6.5135.21930"/> <bindingRedirect oldVersion="0.0.0.0-1.6.5135.21930" newVersion="1.6.5135.21930" />
</dependentAssembly> </dependentAssembly>
<dependentAssembly> <dependentAssembly>
<assemblyIdentity name="Antlr3.Runtime" publicKeyToken="eb42632606e9261f" culture="neutral"/> <assemblyIdentity name="Antlr3.Runtime" publicKeyToken="eb42632606e9261f" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.5.0.2" newVersion="3.5.0.2"/> <bindingRedirect oldVersion="0.0.0.0-3.5.0.2" newVersion="3.5.0.2" />
</dependentAssembly> </dependentAssembly>
<dependentAssembly> <dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral"/> <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-9.0.0.0" newVersion="9.0.0.0"/> <bindingRedirect oldVersion="0.0.0.0-9.0.0.0" newVersion="9.0.0.0" />
</dependentAssembly> </dependentAssembly>
</assemblyBinding> </assemblyBinding>
</runtime> </runtime>

View File

@ -6,6 +6,7 @@ using System.Security.Cryptography;
using System.Text; using System.Text;
using System.Web; using System.Web;
using System.Web.Mvc; using System.Web.Mvc;
using FearTheCowboy.Pygments;
using Teknik.Areas.Error.Controllers; using Teknik.Areas.Error.Controllers;
using Teknik.Areas.Paste.ViewModels; using Teknik.Areas.Paste.ViewModels;
using Teknik.Areas.Users.Utility; using Teknik.Areas.Users.Utility;
@ -97,6 +98,17 @@ namespace Teknik.Areas.Paste.Controllers
model.Content = Encoding.Unicode.GetString(data); model.Content = Encoding.Unicode.GetString(data);
} }
if (type.ToLower() == "full" || type.ToLower() == "simple")
{
// Transform content into HTML
if (Highlighter.Lexers.ToList().Exists(l => l.Name == model.Syntax))
{
Highlighter highlighter = new Highlighter();
// Add a space in front of the content due to bug with pygment (No idea why yet)
model.Content = highlighter.HighlightToHtml(" " + model.Content, model.Syntax, Config.PasteConfig.SyntaxVisualStyle, generateInlineStyles: true, fragment: true);
}
}
switch (type.ToLower()) switch (type.ToLower())
{ {
case "full": case "full":

View File

@ -1,5 +0,0 @@
onmessage = function (event) {
importScripts(event.data.script);
var result = self.hljs.highlightAuto(event.data.code);
postMessage(result);
}

View File

@ -30,26 +30,6 @@
</div> </div>
<br /> <br />
<div class="row"> <div class="row">
<div class="col-sm-10 col-sm-offset-1"> <div class="col-sm-10 col-sm-offset-1">@Html.Raw(Model.Content)</div>
<pre><code class="@syntax" id="code">@Model.Content</code></pre>
</div>
</div> </div>
</div> </div>
<script>
addEventListener('load', function () {
var code = document.querySelector('#code');
var language = document.querySelector('#syntaxLanguage');
var worker = new Worker(GenerateBlobURL('@Scripts.Url("~/bundles/syntaxWorker")'));
worker.onmessage = function (event) {
code.innerHTML = event.data.value;
language.innerText = event.data.language;
}
var scriptBlob = GenerateBlobURL('@Scripts.Url("~/bundles/highlight")');
var obj = {
script: scriptBlob,
code: code.textContent
};
worker.postMessage(obj);
})
</script>

View File

@ -1,6 +1,7 @@
@model Teknik.Areas.Paste.ViewModels.PasteCreateViewModel @model Teknik.Areas.Paste.ViewModels.PasteCreateViewModel
@using Teknik.Helpers @using Teknik.Helpers
@using FearTheCowboy.Pygments
@Styles.Render("~/Content/paste") @Styles.Render("~/Content/paste")
@Scripts.Render("~/bundles/paste") @Scripts.Render("~/bundles/paste")
@ -32,10 +33,12 @@
<label for="syntax" class="col-sm-2 col-sm-offset-1 control-label">Syntax</label> <label for="syntax" class="col-sm-2 col-sm-offset-1 control-label">Syntax</label>
<div class="col-sm-4"> <div class="col-sm-4">
<select class="form-control" name="Syntax" id="syntax"> <select class="form-control" name="Syntax" id="syntax">
<option value="auto-detect">Auto Detect</option> <option value="Text only">Text only</option>
@foreach (KeyValuePair<string, string> format in Constants.HIGHLIGHTFORMATS) @{
{ foreach (Highlighter.Lexer format in Highlighter.Lexers.OrderBy(l => l.Name))
<option value="@format.Value">@format.Key</option> {
<option value="@format.Name">@format.Name</option>
}
} }
</select> </select>
</div> </div>

View File

@ -23,22 +23,8 @@
</head> </head>
<body data-twttr-rendered="true"> <body data-twttr-rendered="true">
<pre><code class="@syntax" id="code">@Model.Content</code></pre> @Html.Raw(Model.Content)
<script> <script>
addEventListener('load', function () {
var code = document.querySelector('#code');
var worker = new Worker(GenerateBlobURL('@Scripts.Url("~/bundles/syntaxWorker")'));
worker.onmessage = function (event) {
code.innerHTML = event.data.value;
}
var scriptBlob = GenerateBlobURL('@Scripts.Url("~/bundles/highlight")');
var obj = {
script: '@Scripts.Url("~/bundles/highlight")',
code: code.textContent
};
worker.postMessage(obj);
})
function pageloadStopTimer() { } function pageloadStopTimer() { }
</script> </script>
</body> </body>

View File

@ -12,6 +12,7 @@ namespace Teknik.Configuration
public int UrlLength { get; set; } public int UrlLength { get; set; }
public int KeySize { get; set; } public int KeySize { get; set; }
public int BlockSize { get; set; } public int BlockSize { get; set; }
public string SyntaxVisualStyle { get; set; }
public PasteConfig() public PasteConfig()
{ {
@ -19,6 +20,7 @@ namespace Teknik.Configuration
UrlLength = 5; UrlLength = 5;
KeySize = 256; KeySize = 256;
BlockSize = 128; BlockSize = 128;
SyntaxVisualStyle = "vs";
} }
} }
} }

View File

@ -13,144 +13,5 @@ namespace Teknik.Helpers
public const string TRUSTEDDEVICECOOKIE = "TeknikTrustedDevice"; public const string TRUSTEDDEVICECOOKIE = "TeknikTrustedDevice";
public const string LOGO_PATH = "~/Images/logo-black.svg"; public const string LOGO_PATH = "~/Images/logo-black.svg";
public const string FAVICON_PATH = "~/Images/favicon.ico"; public const string FAVICON_PATH = "~/Images/favicon.ico";
// Paste Constants
public static Dictionary<string, string> HIGHLIGHTFORMATS = new Dictionary<string, string>()
{
{ "1C", "1c" },
{ "Access logs", "accesslog" },
{ "ARM assembler", "armasm" },
{ "AVR assembler", "avrasm" },
{ "ActionScript", "actionscript" },
{ "Apache", "apache" },
{ "AppleScript", "applescript" },
{ "AsciiDoc", "asciidoc" },
{ "AspectJ", "aspectj" },
{ "AutoHotkey", "autohotkey" },
{ "AutoIt", "autoit" },
{ "Axapta", "axapta" },
{ "Bash", "bash" },
{ "Basic", "basic" },
{ "Brainfuck", "brainfuck" },
{ "C#", "cs" },
{ "C++", "cpp" },
{ "C/AL", "cal" },
{ "Cache Object Script", "cos" },
{ "CMake", "cmake" },
{ "CSS", "css" },
{ "Capn Proto", "capnproto" },
{ "Clojure", "clojure" },
{ "CoffeeScript", "coffeescript" },
{ "Crmsh", "crmsh" },
{ "Crystal", "crystal" },
{ "D", "d" },
{ "DNS Zone file", "dns" },
{ "DOS", "dos" },
{ "Dart", "dart" },
{ "Delphi", "delphi" },
{ "Diff", "diff" },
{ "Django", "django" },
{ "Dockerfile", "dockerfile" },
{ "DTS (Device Tree)", "dts" },
{ "Dust", "dust" },
{ "Elixir", "elixir" },
{ "Elm", "elm" },
{ "Erlang", "erlang" },
{ "F#", "fsharp" },
{ "FIX", "fix" },
{ "Fortran", "fortran" },
{ "G-Code", "gcode" },
{ "Gams", "gams" },
{ "GAUSS", "gauss" },
{ "Gherkin", "gherkin" },
{ "Go", "go" },
{ "Golo", "golo" },
{ "Gradle", "gradle" },
{ "Groovy", "groovy" },
{ "HTML, XML", "xml" },
{ "HTTP", "http" },
{ "Haml", "haml" },
{ "Handlebars", "handlebars" },
{ "Haskell", "haskell" },
{ "Haxe", "haxe" },
{ "Ini", "ini" },
{ "Inform7", "inform7" },
{ "IRPF90", "irpf90" },
{ "JSON", "json" },
{ "Java", "java" },
{ "JavaScript", "javascript" },
{ "Lasso", "lasso" },
{ "Less", "less" },
{ "Lisp", "lisp" },
{ "LiveCode Server", "livecodeserver" },
{ "LiveScript", "livescript" },
{ "Lua", "lua" },
{ "Makefile", "makefile" },
{ "Markdown", "markdown" },
{ "Mathematica", "mathematica" },
{ "Matlab", "matlab" },
{ "Maya Embedded Language", "mel" },
{ "Mercury", "mercury" },
{ "Mizar", "mizar" },
{ "Mojolicious", "mojolicious" },
{ "Monkey", "monkey" },
{ "NSIS", "nsis" },
{ "Nginx", "nginx" },
{ "Nimrod", "nimrod" },
{ "Nix", "nix" },
{ "OCaml", "ocaml" },
{ "Objective C", "objectivec" },
{ "OpenGL Shading Language", "glsl" },
{ "OpenSCAD", "openscad" },
{ "Oracle Rules Language", "ruleslanguage" },
{ "Oxygene", "oxygene" },
{ "PF", "pf" },
{ "PHP", "php" },
{ "Parser3", "parser3" },
{ "Perl", "perl" },
{ "PowerShell", "powershell" },
{ "Processing", "processing" },
{ "Prolog", "prolog" },
{ "Protocol Buffers", "protobuf" },
{ "Puppet", "puppet" },
{ "Python", "python" },
{ "Python profiler results", "profile" },
{ "Q", "k" },
{ "QML", "qml" },
{ "R", "r" },
{ "RenderMan RIB", "rib" },
{ "RenderMan RSL", "rsl" },
{ "Roboconf", "graph" },
{ "Ruby", "ruby" },
{ "Rust", "rust" },
{ "SCSS", "scss" },
{ "SQL", "sql" },
{ "STEP Part 21", "p21" },
{ "Scala", "scala" },
{ "Scheme", "scheme" },
{ "Scilab", "scilab" },
{ "Smali", "smali" },
{ "Smalltalk", "smalltalk" },
{ "Stan", "stan" },
{ "Stata", "stata" },
{ "Stylus", "stylus" },
{ "Swift", "swift" },
{ "Tcl", "tcl" },
{ "TeX", "tex" },
{ "Thrift", "thrift" },
{ "TP", "tp" },
{ "Twig", "twig" },
{ "TypeScript", "typescript" },
{ "VB.Net", "vbnet" },
{ "VBScript", "vbscript" },
{ "VHDL", "vhdl" },
{ "Vala", "vala" },
{ "Verilog", "verilog" },
{ "Vim Script", "vim" },
{ "x86 Assembly", "x86asm" },
{ "XL", "xl" },
{ "XQuery", "xpath" },
{ "Zephir", "zephir" }
};
} }
} }

Binary file not shown.

View File

@ -61,6 +61,10 @@
<HintPath>..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.SqlServer.dll</HintPath> <HintPath>..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.SqlServer.dll</HintPath>
<Private>True</Private> <Private>True</Private>
</Reference> </Reference>
<Reference Include="FearTheCowboy.Pygments, Version=2.0.2.2, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\FearTheCowboy.Pygments.2.0.2.2\lib\net40\FearTheCowboy.Pygments.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="MarkdownDeep, Version=1.5.4615.26275, Culture=neutral, processorArchitecture=MSIL"> <Reference Include="MarkdownDeep, Version=1.5.4615.26275, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MarkdownDeep.NET.1.5\lib\.NetFramework 3.5\MarkdownDeep.dll</HintPath> <HintPath>..\packages\MarkdownDeep.NET.1.5\lib\.NetFramework 3.5\MarkdownDeep.dll</HintPath>
<Private>True</Private> <Private>True</Private>
@ -342,7 +346,6 @@
<Content Include="Areas\Home\Scripts\Home.js" /> <Content Include="Areas\Home\Scripts\Home.js" />
<Content Include="Areas\Paste\Content\Paste.css" /> <Content Include="Areas\Paste\Content\Paste.css" />
<Content Include="Areas\Paste\Scripts\Paste.js" /> <Content Include="Areas\Paste\Scripts\Paste.js" />
<Content Include="Areas\Paste\Scripts\SyntaxWorker.js" />
<Content Include="Areas\Podcast\Content\Podcast.css" /> <Content Include="Areas\Podcast\Content\Podcast.css" />
<Content Include="Areas\Podcast\Scripts\Podcast.js" /> <Content Include="Areas\Podcast\Scripts\Podcast.js" />
<Content Include="Areas\Transparency\Scripts\Transparency.js" /> <Content Include="Areas\Transparency\Scripts\Transparency.js" />

View File

@ -1,13 +1,13 @@
<?xml version="1.0"?> <?xml version="1.0" encoding="utf-8"?>
<!-- <!--
For more information on how to configure your ASP.NET application, please visit For more information on how to configure your ASP.NET application, please visit
http://go.microsoft.com/fwlink/?LinkId=301880 http://go.microsoft.com/fwlink/?LinkId=301880
--> -->
<configuration> <configuration>
<configSections> <configSections>
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/> <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</configSections> </configSections>
<connectionStrings configSource="App_Data\ConnectionStrings.config"/> <connectionStrings configSource="App_Data\ConnectionStrings.config" />
<!-- Create ConnectionStrings.config and add your connection string node--> <!-- Create ConnectionStrings.config and add your connection string node-->
<!-- <!--
<connectionStrings> <connectionStrings>
@ -17,10 +17,10 @@
</connectionStrings> </connectionStrings>
--> -->
<appSettings> <appSettings>
<add key="webpages:Version" value="3.0.0.0"/> <add key="webpages:Version" value="3.0.0.0" />
<add key="webpages:Enabled" value="false"/> <add key="webpages:Enabled" value="false" />
<add key="ClientValidationEnabled" value="true"/> <add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true"/> <add key="UnobtrusiveJavaScriptEnabled" value="true" />
</appSettings> </appSettings>
<!-- <!--
For a description of web.config changes see http://go.microsoft.com/fwlink/?LinkId=235367. For a description of web.config changes see http://go.microsoft.com/fwlink/?LinkId=235367.
@ -31,91 +31,91 @@
</system.Web> </system.Web>
--> -->
<system.web> <system.web>
<httpCookies httpOnlyCookies="true" requireSSL="true"/> <httpCookies httpOnlyCookies="true" requireSSL="true" />
<customErrors mode="Off"/> <customErrors mode="Off" />
<authentication mode="Forms"> <authentication mode="Forms">
<forms domain=".teknik.io" protection="All" enableCrossAppRedirects="true" name="TeknikAuth"/> <forms domain=".teknik.io" protection="All" enableCrossAppRedirects="true" name="TeknikAuth" />
</authentication> </authentication>
<compilation debug="true" targetFramework="4.6.2"/> <compilation debug="true" targetFramework="4.6.2" />
<httpRuntime targetFramework="4.5.2" maxRequestLength="1048576" executionTimeout="3600"/> <httpRuntime targetFramework="4.5.2" maxRequestLength="1048576" executionTimeout="3600" />
<pages buffer="true" enableViewState="false"/> <pages buffer="true" enableViewState="false" />
</system.web> </system.web>
<system.webServer> <system.webServer>
<modules> <modules>
<remove name="FormsAuthentication"/> <remove name="FormsAuthentication" />
<add name="FormsAuthentication" type="System.Web.Security.FormsAuthenticationModule"/> <add name="FormsAuthentication" type="System.Web.Security.FormsAuthenticationModule" />
<add name="PerfModule" type="Teknik.Modules.PerformanceMonitorModule, Teknik"/> <add name="PerfModule" type="Teknik.Modules.PerformanceMonitorModule, Teknik" />
<remove name="UrlRoutingModule-4.0"/> <remove name="UrlRoutingModule-4.0" />
<add name="UrlRoutingModule-4.0" type="System.Web.Routing.UrlRoutingModule" preCondition=""/> <add name="UrlRoutingModule-4.0" type="System.Web.Routing.UrlRoutingModule" preCondition="" />
</modules> </modules>
<staticContent> <staticContent>
<mimeMap fileExtension="woff" mimeType="application/font-woff"/> <mimeMap fileExtension="woff" mimeType="application/font-woff" />
<mimeMap fileExtension="woff2" mimeType="application/font-woff"/> <mimeMap fileExtension="woff2" mimeType="application/font-woff" />
<clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="365.00:00:00" cacheControlCustom="public"/> <clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="365.00:00:00" cacheControlCustom="public" />
</staticContent> </staticContent>
<urlCompression doDynamicCompression="true" doStaticCompression="true" dynamicCompressionBeforeCache="true"/> <urlCompression doDynamicCompression="true" doStaticCompression="true" dynamicCompressionBeforeCache="true" />
<httpCompression cacheControlHeader="max-age=86400" noCompressionForHttp10="false" noCompressionForProxies="false" sendCacheHeaders="true"/> <httpCompression cacheControlHeader="max-age=86400" noCompressionForHttp10="false" noCompressionForProxies="false" sendCacheHeaders="true" />
<security> <security>
<requestFiltering> <requestFiltering>
<requestLimits maxAllowedContentLength="1073741824"/> <requestLimits maxAllowedContentLength="1073741824" />
</requestFiltering> </requestFiltering>
</security> </security>
<httpProtocol> <httpProtocol>
<customHeaders> <customHeaders>
<add name="Access-Control-Allow-Credentials" value="true"/> <add name="Access-Control-Allow-Credentials" value="true" />
<add name="Access-Control-Allow-Methods" value="GET, PUT, POST, DELETE, OPTIONS"/> <add name="Access-Control-Allow-Methods" value="GET, PUT, POST, DELETE, OPTIONS" />
<add name="Access-Control-Allow-Headers" value="Accept, Content-Type"/> <add name="Access-Control-Allow-Headers" value="Accept, Content-Type" />
<add name="strict-transport-security" value="max-age=31536000; includeSubdomains"/> <add name="strict-transport-security" value="max-age=31536000; includeSubdomains" />
</customHeaders> </customHeaders>
</httpProtocol> </httpProtocol>
<httpErrors errorMode="Detailed"/> <httpErrors errorMode="Detailed" />
</system.webServer> </system.webServer>
<runtime> <runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly> <dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" culture="neutral" publicKeyToken="30ad4fe6b2a6aeed"/> <assemblyIdentity name="Newtonsoft.Json" culture="neutral" publicKeyToken="30ad4fe6b2a6aeed" />
<bindingRedirect oldVersion="0.0.0.0-9.0.0.0" newVersion="9.0.0.0"/> <bindingRedirect oldVersion="0.0.0.0-9.0.0.0" newVersion="9.0.0.0" />
</dependentAssembly> </dependentAssembly>
<dependentAssembly> <dependentAssembly>
<assemblyIdentity name="System.Web.Optimization" publicKeyToken="31bf3856ad364e35"/> <assemblyIdentity name="System.Web.Optimization" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="1.1.0.0"/> <bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="1.1.0.0" />
</dependentAssembly> </dependentAssembly>
<dependentAssembly> <dependentAssembly>
<assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35"/> <assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="0.0.0.0-1.6.5135.21930" newVersion="1.6.5135.21930"/> <bindingRedirect oldVersion="0.0.0.0-1.6.5135.21930" newVersion="1.6.5135.21930" />
</dependentAssembly> </dependentAssembly>
<dependentAssembly> <dependentAssembly>
<assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35"/> <assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0"/> <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
</dependentAssembly> </dependentAssembly>
<dependentAssembly> <dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35"/> <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0"/> <bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
</dependentAssembly> </dependentAssembly>
<dependentAssembly> <dependentAssembly>
<assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35"/> <assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="0.0.0.0-3.0.0.0" newVersion="3.0.0.0"/> <bindingRedirect oldVersion="0.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
</dependentAssembly> </dependentAssembly>
<dependentAssembly> <dependentAssembly>
<assemblyIdentity name="Antlr3.Runtime" publicKeyToken="eb42632606e9261f" culture="neutral"/> <assemblyIdentity name="Antlr3.Runtime" publicKeyToken="eb42632606e9261f" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.5.0.2" newVersion="3.5.0.2"/> <bindingRedirect oldVersion="0.0.0.0-3.5.0.2" newVersion="3.5.0.2" />
</dependentAssembly> </dependentAssembly>
</assemblyBinding> </assemblyBinding>
</runtime> </runtime>
<entityFramework> <entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework"> <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
<parameters> <parameters>
<parameter value="mssqllocaldb"/> <parameter value="mssqllocaldb" />
</parameters> </parameters>
</defaultConnectionFactory> </defaultConnectionFactory>
<providers> <providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer"/> <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
</providers> </providers>
</entityFramework> </entityFramework>
<system.data> <system.data>
<DbProviderFactories> <DbProviderFactories>
<remove invariant="MySql.Data.MySqlClient"/> <remove invariant="MySql.Data.MySqlClient" />
<add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.9.9.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"/> <add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.9.9.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
</DbProviderFactories> </DbProviderFactories>
</system.data> </system.data>
</configuration> </configuration>

View File

@ -6,6 +6,7 @@
<package id="Bootstrap.Switch" version="3.3.2.1" targetFramework="net452" /> <package id="Bootstrap.Switch" version="3.3.2.1" targetFramework="net452" />
<package id="BouncyCastle" version="1.8.1" targetFramework="net452" /> <package id="BouncyCastle" version="1.8.1" targetFramework="net452" />
<package id="EntityFramework" version="6.1.3" targetFramework="net452" userInstalled="true" /> <package id="EntityFramework" version="6.1.3" targetFramework="net452" userInstalled="true" />
<package id="FearTheCowboy.Pygments" version="2.0.2.2" targetFramework="net462" />
<package id="FontAwesome" version="4.6.3" targetFramework="net452" userInstalled="true" /> <package id="FontAwesome" version="4.6.3" targetFramework="net452" userInstalled="true" />
<package id="GitVersionTask" version="3.6.4" targetFramework="net452" developmentDependency="true" /> <package id="GitVersionTask" version="3.6.4" targetFramework="net452" developmentDependency="true" />
<package id="Inferno" version="1.4.0" targetFramework="net452" userInstalled="true" /> <package id="Inferno" version="1.4.0" targetFramework="net452" userInstalled="true" />