A bunch more styling tweaks

Including a more compact View Build page.
This commit is contained in:
Thomas Hounsell 2016-05-23 19:49:43 +01:00
parent 254bfbbdcd
commit 63d1979fcf
10 changed files with 216 additions and 102 deletions

View File

@ -26,7 +26,6 @@
<ApplicationInsightsResourceId>/subscriptions/4af45631-0e5c-4253-9e38-d0c47f9c5b32/resourcegroups/Default-ApplicationInsights-CentralUS/providers/microsoft.insights/components/BuildFeed</ApplicationInsightsResourceId>
<NuGetPackageImportStamp>
</NuGetPackageImportStamp>
<TypeScriptToolsVersion>1.6</TypeScriptToolsVersion>
<UseGlobalApplicationHostFile />
<TargetFrameworkProfile />
</PropertyGroup>
@ -53,6 +52,10 @@
<SpecificVersion>False</SpecificVersion>
<HintPath>..\packages\Antlr.3.5.0.2\lib\Antlr3.Runtime.dll</HintPath>
</Reference>
<Reference Include="HtmlAgilityPack, Version=1.4.9.0, Culture=neutral, PublicKeyToken=bd319b19eaf3b43a, processorArchitecture=MSIL">
<HintPath>..\packages\HtmlAgilityPack.1.4.9\lib\Net45\HtmlAgilityPack.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Humanizer, Version=1.37.7.0, Culture=neutral, PublicKeyToken=979442b78dfc278e, processorArchitecture=MSIL">
<HintPath>..\packages\Humanizer.1.37.7\lib\portable-win+net40+sl50+wp8+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Humanizer.dll</HintPath>
<Private>True</Private>

View File

@ -4,6 +4,7 @@
using System.Text;
using System.Web.Mvc;
using BuildFeed.Local;
using HtmlAgilityPack;
using MongoDB.Bson.Serialization.Attributes;
using Required = System.ComponentModel.DataAnnotations.RequiredAttribute;
@ -173,5 +174,24 @@ public ProjectFamily Family
public string GenerateLabUrl() => (Lab ?? "").Replace('/', '-')
.ToLower();
public string SourceDetailsFiltered
{
get
{
HtmlDocument hDoc = new HtmlDocument();
hDoc.LoadHtml($"<div>{SourceDetails}</div>");
if (string.IsNullOrWhiteSpace(hDoc.DocumentNode.InnerText))
{
return "";
}
if (Uri.IsWellFormedUriString(hDoc.DocumentNode.InnerText, UriKind.Absolute))
{
Uri uri = new Uri(hDoc.DocumentNode.InnerText, UriKind.Absolute);
return $"<a href=\"{uri}\" target=\"_blank\">External link <i class=\"fa fa-external-link\"></i></a>";
}
return SourceDetails;
}
}
}
}

View File

@ -11,7 +11,7 @@
}
else
{
<h1>@BuildFeed.Local.Front.EditBuild @Model.FullBuildString</h1>
<h1 class="eager-wrapping">@BuildFeed.Local.Front.EditBuild @Model.FullBuildString</h1>
}
<div class="form-horizontal">

View File

@ -24,55 +24,71 @@
<h1 dir="ltr" class="eager-wrapping">@Model.FullBuildString</h1>
<div class="row">
<div class="col-sm-6">
<div class="form-horizontal form-details">
@if (User.Identity.IsAuthenticated)
{
<div class="form-group">
<label class="control-label col-sm-4">@BuildFeed.Local.Front.EditorActions</label>
<div class="col-sm-8">
<p class="form-control-static">
@Html.ActionLink(BuildFeed.Local.Front.Edit, "editBuild", new { id = Model.Id }, new { @class = "btn btn-default btn-xs" })
@if (Roles.IsUserInRole("Administrators"))
{
@Html.ActionLink(BuildFeed.Local.Front.Delete, "DeleteBuild", new { id = Model.Id }, new { @class = "btn btn-danger btn-xs" })
}
</p>
</div>
</div>
}
<div class="form-horizontal form-details">
<div class="row">
<div class="col-sm-3 col-xs-6">
<div class="form-group">
@Html.LabelFor(model => model.MajorVersion, new { @class = "control-label col-sm-4" })
<div class="col-sm-8">
@Html.LabelFor(model => model.MajorVersion, new
{
@class = "control-label col-sm-8"
})
<div class="col-sm-4">
<p class="form-control-static">@Html.DisplayFor(model => model.MajorVersion)</p>
</div>
</div>
</div>
<div class="col-sm-3 col-xs-6">
<div class="form-group">
@Html.LabelFor(model => model.MinorVersion, new { @class = "control-label col-sm-4" })
<div class="col-sm-8">
@Html.LabelFor(model => model.MinorVersion, new
{
@class = "control-label col-sm-8"
})
<div class="col-sm-4">
<p class="form-control-static">@Html.DisplayFor(model => model.MinorVersion)</p>
</div>
</div>
</div>
<div class="col-sm-3 col-xs-6">
<div class="form-group">
@Html.LabelFor(model => model.Number, new { @class = "control-label col-sm-4" })
<div class="col-sm-8">
@Html.LabelFor(model => model.Number, new
{
@class = "control-label col-sm-8"
})
<div class="col-sm-4">
<p class="form-control-static">@Html.DisplayFor(model => model.Number)</p>
</div>
</div>
</div>
<div class="col-sm-3 col-xs-6">
<div class="form-group">
@Html.LabelFor(model => model.Revision, new { @class = "control-label col-sm-4" })
<div class="col-sm-8">
<p class="form-control-static">@Html.DisplayFor(model => model.Revision)</p>
@Html.LabelFor(model => model.Revision, new
{
@class = "control-label col-sm-8"
})
<div class="col-sm-4">
@if (Model.Revision.HasValue)
{
<p class="form-control-static">
@Html.DisplayFor(model => model.Revision)
</p>
}
else
{
<p class="form-control-static">
-
</p>
}
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-sm-6">
<div class="form-group">
@Html.LabelFor(model => model.Lab, new { @class = "control-label col-sm-4" })
@Html.LabelFor(model => model.Lab, new
{
@class = "control-label col-sm-4"
})
<div class="col-sm-8">
<p class="form-control-static">
@if (string.IsNullOrEmpty(Model.Lab))
@ -82,91 +98,153 @@
else
{
@Model.Lab<br />
<a href="@Url.Action("ViewLab", new { lab = Model.LabUrl })" class="more-link"><i class="fa fa-plus-square-o fa-sm"></i> @string.Format(BuildFeed.Local.Front.MoreFromLab, Model.Lab)</a>
<a href="@Url.Action("ViewLab", new
{
lab = Model.LabUrl
})" class="more-link">
<i class="fa fa-plus-square-o fa-sm"></i>&nbsp;
@string.Format(BuildFeed.Local.Front.MoreFromLab, Model.Lab)
</a>
}
</p>
</div>
</div>
</div>
<div class="col-sm-6">
<div class="form-group">
@Html.LabelFor(model => model.BuildTime, new { @class = "control-label col-sm-4" })
@Html.LabelFor(model => model.BuildTime, new
{
@class = "control-label col-sm-4"
})
<div class="col-sm-8">
<p class="form-control-static">
@if (Model.BuildTime.HasValue)
{
<time datetime="@Model.BuildTime.Value.ToString("yyyy-MM-dd HH:mm")" title="@Model.BuildTime.Value.ToString("h:mm tt on dddd, d MMMM yyyy")">@Html.DisplayFor(model => model.BuildTime, "{0:yyMMdd-HHmm}")</time>
<br />
<a href="@Url.Action("ViewYear", new { year = Model.BuildTime.Value.Year })" class="more-link"><i class="fa fa-plus-square-o fa-sm"></i> @string.Format(BuildFeed.Local.Front.MoreFromYear, Model.BuildTime.Value.Year)</a>
<a href="@Url.Action("ViewYear", new
{
year = Model.BuildTime.Value.Year
})" class="more-link">
<i class="fa fa-plus-square-o fa-sm"></i>&nbsp;
@string.Format(BuildFeed.Local.Front.MoreFromYear, Model.BuildTime.Value.Year)
</a>
}
</p>
</div>
</div>
</div>
</div>
<div class="col-sm-6">
<div class="form-horizontal form-details">
<div class="row">
<div class="col-sm-6">
<div class="form-group">
@Html.LabelFor(model => model.SourceType, new { @class = "control-label col-sm-4" })
@Html.LabelFor(model => model.SourceType, new
{
@class = "control-label col-sm-4"
})
<div class="col-sm-8">
<div class="form-control-static">
@Html.DisplayFor(model => model.SourceType, "Enumeration")<br />
<a href="@Url.Action("ViewSource", new { source = Model.SourceType })" class="more-link"><i class="fa fa-plus-square-o fa-sm"></i> @string.Format(BuildFeed.Local.Front.MoreFromSource, DisplayHelpers.GetDisplayTextForEnum(Model.SourceType))</a>
<a href="@Url.Action("ViewSource", new
{
source = Model.SourceType
})" class="more-link">
<i class="fa fa-plus-square-o fa-sm"></i>&nbsp;
@string.Format(BuildFeed.Local.Front.MoreFromSource, DisplayHelpers.GetDisplayTextForEnum(Model.SourceType))
</a>
</div>
</div>
</div>
</div>
<div class="col-sm-6">
@if (Model.LeakDate.HasValue)
{
<div class="form-group">
@Html.LabelFor(model => model.LeakDate, new { @class = "control-label col-sm-4" })
@Html.LabelFor(model => model.LeakDate, new
{
@class = "control-label col-sm-4"
})
<div class="col-sm-8">
<div class="form-control-static"><time datetime="@Model.LeakDate.Value.ToString("yyyy-MM-dd")" title="@Model.LeakDate.Value.ToString("dddd, d MMMM yyyy")">@Html.DisplayFor(model => model.LeakDate, "{0:dd/MM/yyyy}")</time></div>
<div class="form-control-static">
<time datetime="@Model.LeakDate.Value.ToString("yyyy-MM-dd")" title="@Model.LeakDate.Value.ToString("dddd, d MMMM yyyy")">@Html.DisplayFor(model => model.LeakDate, "{0:dd/MM/yyyy}")</time>
</div>
</div>
</div>
}
@if ((Model.MajorVersion == 6 && Model.MinorVersion == 4) || (Model.MajorVersion == 10 && Model.MinorVersion == 0) && Model.FlightLevel != BuildFeed.Models.LevelOfFlight.None)
{
<div class="form-group">
@Html.LabelFor(model => model.FlightLevel, new { @class = "control-label col-sm-4" })
<div class="col-sm-8">
<div class="form-control-static">@Html.DisplayFor(model => model.FlightLevel, "Enumeration")</div>
</div>
</div>
}
</div>
<div class="form-details">
<div class="form-group">
<label class="control-label">@BuildFeed.Local.Front.Share</label>
<div class="addthis_sharing_toolbox"></div>
</div>
@if (!string.IsNullOrWhiteSpace(Model.SourceDetails))
{
<div class="form-group">
@Html.LabelFor(model => model.SourceDetails, new { @class = "control-label" })
<div class="form-control-static eager-wrapping">@Html.Raw(Model.SourceDetails)</div>
</div>
}
</div>
</div>
</div>
<div class="addthis_recommended_horizontal"></div>
<div class="form-horizontal form-details">
<div class="form-group">
<label class="control-label col-sm-2">@BuildFeed.Local.Front.Comments</label>
<div class="col-sm-10">
<div id="disqus_thread"></div>
<script type="text/javascript">
var disqus_shortname = 'buildfeed';
var disqus_url = 'https://buildfeed.net/actions/info/@((object)Model.LegacyId ?? (object)Model.Id)/';
@if (!string.IsNullOrWhiteSpace(Model.SourceDetailsFiltered))
{
<div class="row">
<div class="col-sm-12">
<div class="form-group">
@Html.LabelFor(model => model.SourceDetails, new { @class = "control-label col-sm-2" })
<div class="col-sm-10">
<div class="form-control-static eager-wrapping">@Html.Raw(Model.SourceDetailsFiltered)</div>
</div>
</div>
</div>
</div>
}
<div class="row">
<div class="col-sm-6">
<div class="form-group">
<label class="control-label col-sm-4">@BuildFeed.Local.Front.Share</label>
<div class="col-sm-8">
<div class="addthis_sharing_toolbox"></div>
</div>
</div>
</div>
<div class="col-sm-6">
@if (User.Identity.IsAuthenticated)
{
<div class="form-group">
<label class="control-label col-sm-4">@BuildFeed.Local.Front.EditorActions</label>
<div class="col-sm-8">
<p class="form-control-static">
@Html.ActionLink(BuildFeed.Local.Front.Edit, "editBuild", new
{
id = Model.Id
}, new
{
@class = "btn btn-default btn-xs"
})
(function () {
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
})();
</script>
<noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
@if (Roles.IsUserInRole("Administrators"))
{
@Html.ActionLink(BuildFeed.Local.Front.Delete, "DeleteBuild", new
{
id = Model.Id
}, new
{
@class = "btn btn-danger btn-xs"
})
}
</p>
</div>
</div>
}
</div>
</div>
<div class="row">
<div class="col-sm-12">
<div class="form-group">
<label class="control-label col-sm-2">@BuildFeed.Local.Front.Comments</label>
<div class="col-sm-10">
<div id="disqus_thread"></div>
<script type="text/javascript">
var disqus_shortname = 'buildfeed';
var disqus_url = 'https://buildfeed.net/actions/info/@((object)Model.LegacyId ?? (object)Model.Id)/';
(function () {
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
})();
</script>
<noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
</div>
</div>
</div>
</div>

View File

@ -24,7 +24,7 @@
}
}
<h1>@string.Format(BuildFeed.Local.Front.BuildsFrom, ViewBag.ItemId)</h1>
<h1 class="eager-wrapping">@string.Format(BuildFeed.Local.Front.BuildsFrom, ViewBag.ItemId)</h1>
@if (ViewBag.MetaItem != null && !string.IsNullOrWhiteSpace(ViewBag.MetaItem.PageContent))
{
<h3>@BuildFeed.Local.Front.About</h3>

View File

@ -24,7 +24,7 @@
@RenderSection("head", false)
<script type="text/javascript">
var appInsights = window.appInsights || function (config) {
function s(config) { t[config] = function () { var i = arguments; t.queue.push(function () { t[config].apply(t, i) }) } } var t = { config: config }, r = document, f = window, e = "script", o = r.createElement(e), i, u; for (o.src = config.url || "//az416426.vo.msecnd.net/scripts/a/ai.0.js", r.getElementsByTagName(e)[0].parentNode.appendChild(o), t.cookie = r.cookie, t.queue = [], i = ["Event", "Exception", "Metric", "PageView", "Trace"]; i.length;) s("track" + i.pop()); return config.disableExceptionTracking || (i = "onerror", s("_" + i), u = f[i], f[i] = function (config, r, f, e, o) { var s = u && u(config, r, f, e, o); return s !== !0 && t["_" + i](config, r, f, e, o), s }), t
function r(config) { t[config] = function () { var i = arguments; t.queue.push(function () { t[config].apply(t, i) }) } } var t = { config: config }, u = document, e = window, o = "script", s = u.createElement(o), i, f; for (s.src = config.url || "//az416426.vo.msecnd.net/scripts/a/ai.0.js", u.getElementsByTagName(o)[0].parentNode.appendChild(s), t.cookie = u.cookie, t.queue = [], i = ["Event", "Exception", "Metric", "PageView", "Trace"]; i.length;) r("track" + i.pop()); return r("setAuthenticatedUserContext"), r("clearAuthenticatedUserContext"), config.disableExceptionTracking || (i = "onerror", r("_" + i), f = e[i], e[i] = function (config, r, u, e, o) { var s = f && f(config, r, u, e, o); return s !== !0 && t["_" + i](config, r, u, e, o), s }), t
}({
instrumentationKey: "4632419f-7a2f-4ab5-8374-34384b650f42"
});
@ -85,7 +85,7 @@
<li>
<a href="#" class="dropdown-toggle" data-toggle="dropdown"><i class="fa fa-globe"></i>&ensp;<span class="caret"></span></a>
<ul id="lang-switcher" class="dropdown-menu">
@foreach(var locale in BuildFeed.Code.SiteLocale.AvailableLocales)
@foreach (var locale in BuildFeed.Code.SiteLocale.AvailableLocales)
{
<li><a href="#" data-lang="@locale.LocaleId">@locale.DisplayName</a></li>
}
@ -147,7 +147,7 @@
@Scripts.Render("~/bundles/jsrender")
<script type="text/javascript" src="~/Scripts/bfs.js"></script>
@RenderSection("scripts", required: false)
<script id="result-template" type="text/x-jsrender">
<script id="result-template" type="text/x-jsrender">
<div class="col-sm-4">
<a href="{{:Url}}" class="list-group-item" title="{{:Title}}">
<h4 class="list-group-item-heading">{{:Label}}</h4>

View File

@ -24,7 +24,7 @@
<title>@BuildFeed.Local.Common.Error | @BuildFeed.Local.Common.SiteName</title>
<script type="text/javascript">
var appInsights = window.appInsights || function (config) {
function s(config) { t[config] = function () { var i = arguments; t.queue.push(function () { t[config].apply(t, i) }) } } var t = { config: config }, r = document, f = window, e = "script", o = r.createElement(e), i, u; for (o.src = config.url || "//az416426.vo.msecnd.net/scripts/a/ai.0.js", r.getElementsByTagName(e)[0].parentNode.appendChild(o), t.cookie = r.cookie, t.queue = [], i = ["Event", "Exception", "Metric", "PageView", "Trace"]; i.length;) s("track" + i.pop()); return config.disableExceptionTracking || (i = "onerror", s("_" + i), u = f[i], f[i] = function (config, r, f, e, o) { var s = u && u(config, r, f, e, o); return s !== !0 && t["_" + i](config, r, f, e, o), s }), t
function r(config) { t[config] = function () { var i = arguments; t.queue.push(function () { t[config].apply(t, i) }) } } var t = { config: config }, u = document, e = window, o = "script", s = u.createElement(o), i, f; for (s.src = config.url || "//az416426.vo.msecnd.net/scripts/a/ai.0.js", u.getElementsByTagName(o)[0].parentNode.appendChild(s), t.cookie = u.cookie, t.queue = [], i = ["Event", "Exception", "Metric", "PageView", "Trace"]; i.length;) r("track" + i.pop()); return r("setAuthenticatedUserContext"), r("clearAuthenticatedUserContext"), config.disableExceptionTracking || (i = "onerror", r("_" + i), f = e[i], e[i] = function (config, r, u, e, o) { var s = f && f(config, r, u, e, o); return s !== !0 && t["_" + i](config, r, u, e, o), s }), t
}({
instrumentationKey: "4632419f-7a2f-4ab5-8374-34384b650f42"
});

View File

@ -31,13 +31,13 @@ h1
{
h1
{
font-size: 40px;
font-size: 36px;
}
}
h3
{
font-size: 32px;
font-size: 30px;
margin: 1em 0 0.4em;
}
@ -81,9 +81,9 @@ h3
.build-group-title
{
font-size: 26px;
font-weight: normal;
letter-spacing: -2px;
font-size: 27px;
font-weight: 300;
letter-spacing: -1px;
margin: 0 0 8px 0;
}
@ -91,12 +91,13 @@ h3
{
.build-group-title
{
font-size: 22px;
font-size: 24px;
}
}
.build-group-p
{
color: rgba(255, 255, 255, 0.7);
margin-bottom: 5px;
}
@ -131,14 +132,25 @@ h3
font-weight: normal;
}
.form-details .form-control-static
.form-details
{
font-weight: bold;
margin-top: 2em;
}
.form-details .form-control-static a.more-link
.form-details .form-control-static
{
font-weight: normal;
font-weight: bold;
color: #eaeaea;
}
.form-details .form-control-static .more-link
{
font-weight: normal;
}
.form-details .row
{
margin-bottom: 0.5em;
}
.credits-list dd + dt

View File

@ -1 +1 @@
body,h1,h2,h3{font-family:"Segoe UI",Frutiger,"Frutiger Linotype","Dejavu Sans","Helvetica Neue",Arial,sans-serif}h1,h2,h3{text-shadow:none;font-weight:300}body{font-size:15px}h1{font-size:52px;text-align:center;margin-bottom:15px}h1 a{text-decoration:none;color:#000}@media(max-width:480px){h1{font-size:40px}}h3{font-size:32px;margin:1em 0 .4em}#page-content{padding-top:50px}.addthis_sharing_toolbox{margin:0 -.5em}.at-share-tbx-element .at-share-btn{margin-left:8px !important}.at-share-tbx-element .at-share-btn:first-child{margin-left:0 !important}.at_flat_counter{vertical-align:33% !important}.build-group{margin-bottom:2em}@media(max-width:767px){.build-group:nth-child(2n+1){clear:left}}.build-group-title{font-size:26px;font-weight:normal;letter-spacing:-2px;margin:0 0 8px 0}@media(max-width:480px){.build-group-title{font-size:22px}}.build-group-p{margin-bottom:5px}.no-wrapping{-ms-text-overflow:ellipsis;-o-text-overflow:ellipsis;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.eager-wrapping{-ms-word-wrap:break-word;word-wrap:break-word}.label-build-status{padding-bottom:1px}.field-validation-error{color:#ff4136}.form-details label{font-size:15px;font-weight:normal}.form-details .form-control-static{font-weight:bold}.form-details .form-control-static a.more-link{font-weight:normal}.credits-list dd+dt{margin-top:1.5em}#page-footer{font-size:12px;margin-top:3em}.form-horizontal .control-label{padding-top:8px}label,.control-label,.help-block,.checkbox,.radio{font-size:14px}.btn-reset{padding:9px 0 7px}.btn-xs{font-size:13px}.table .btn{padding:4px 9px}.table-admin h4{margin:.1em 0}.table-admin>tbody>tr>th,.table-admin>tbody>tr>td{vertical-align:middle}.trumbowyg-box.trumbowyg,.trumbowyg-editor.trumbowyg{margin:0;width:100%}.trumbowyg-black .trumbowyg-dropdown button{color:#fff !important}#search-results{margin-top:1em}#search-results .list-group-item{margin-bottom:1em}#search-results .list-group-item-heading{overflow:hidden;-ms-text-overflow:ellipsis;-o-text-overflow:ellipsis;text-overflow:ellipsis;white-space:nowrap}#search-results .list-group-item-heading h4{font-size:16px}@media(min-width:768px) and (max-width:991px){.col-sm-2.build-group:nth-child(6n+1),.col-sm-3.build-group:nth-child(4n+1){clear:left}}@media(min-width:992px){.col-md-2.build-group:nth-child(6n+1){clear:left}}
body,h1,h2,h3{font-family:"Segoe UI",Frutiger,"Frutiger Linotype","Dejavu Sans","Helvetica Neue",Arial,sans-serif}h1,h2,h3{text-shadow:none;font-weight:300}body{font-size:15px}h1{font-size:52px;text-align:center;margin-bottom:15px}h1 a{text-decoration:none;color:#000}@media(max-width:480px){h1{font-size:36px}}h3{font-size:30px;margin:1em 0 .4em}#page-content{padding-top:50px}.addthis_sharing_toolbox{margin:0 -.5em}.at-share-tbx-element .at-share-btn{margin-left:8px !important}.at-share-tbx-element .at-share-btn:first-child{margin-left:0 !important}.at_flat_counter{vertical-align:33% !important}.build-group{margin-bottom:2em}@media(max-width:767px){.build-group:nth-child(2n+1){clear:left}}.build-group-title{font-size:27px;font-weight:300;letter-spacing:-1px;margin:0 0 8px 0}@media(max-width:480px){.build-group-title{font-size:24px}}.build-group-p{color:rgba(255,255,255,.7);margin-bottom:5px}.no-wrapping{-ms-text-overflow:ellipsis;-o-text-overflow:ellipsis;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.eager-wrapping{-ms-word-wrap:break-word;word-wrap:break-word}.label-build-status{padding-bottom:1px}.field-validation-error{color:#ff4136}.form-details label{font-size:15px;font-weight:normal}.form-details{margin-top:2em}.form-details .form-control-static{font-weight:bold;color:#eaeaea}.form-details .form-control-static .more-link{font-weight:normal}.form-details .row{margin-bottom:.5em}.credits-list dd+dt{margin-top:1.5em}#page-footer{font-size:12px;margin-top:3em}.form-horizontal .control-label{padding-top:8px}label,.control-label,.help-block,.checkbox,.radio{font-size:14px}.btn-reset{padding:9px 0 7px}.btn-xs{font-size:13px}.table .btn{padding:4px 9px}.table-admin h4{margin:.1em 0}.table-admin>tbody>tr>th,.table-admin>tbody>tr>td{vertical-align:middle}.trumbowyg-box.trumbowyg,.trumbowyg-editor.trumbowyg{margin:0;width:100%}.trumbowyg-black .trumbowyg-dropdown button{color:#fff !important}#search-results{margin-top:1em}#search-results .list-group-item{margin-bottom:1em}#search-results .list-group-item-heading{overflow:hidden;-ms-text-overflow:ellipsis;-o-text-overflow:ellipsis;text-overflow:ellipsis;white-space:nowrap}#search-results .list-group-item-heading h4{font-size:16px}@media(min-width:768px) and (max-width:991px){.col-sm-2.build-group:nth-child(6n+1),.col-sm-3.build-group:nth-child(4n+1){clear:left}}@media(min-width:992px){.col-md-2.build-group:nth-child(6n+1){clear:left}}

View File

@ -2,6 +2,7 @@
<packages>
<package id="Antlr" version="3.5.0.2" targetFramework="net45" />
<package id="Chart.js" version="1.0.2" targetFramework="net45" />
<package id="HtmlAgilityPack" version="1.4.9" targetFramework="net461" />
<package id="Humanizer" version="1.37.7" targetFramework="net461" />
<package id="jQuery" version="2.2.3" targetFramework="net461" />
<package id="jquery.TypeScript.DefinitelyTyped" version="3.0.6" targetFramework="net461" />