Getting setup looking a little more as it should

--HG--
branch : dev
This commit is contained in:
Nathan Heskew 2010-09-21 00:58:56 -07:00
parent d726952cfc
commit 305fd9ef22
15 changed files with 80 additions and 69 deletions

View File

@ -382,7 +382,6 @@
<None Include="Contents\Views\Items\Content.Summary.cshtml" />
<None Include="Contents\Views\Items\Content.SummaryAdmin.cshtml" />
<None Include="Shapes\Views\ContentZone.cshtml" />
<None Include="Shapes\Views\DocumentZone.cshtml" />
<None Include="Shapes\Views\Document.cshtml" />
<None Include="Shapes\Views\User.cshtml" />
<None Include="Shapes\Views\Header.cshtml" />
@ -390,7 +389,6 @@
<None Include="Shapes\Views\Menu.cshtml" />
<None Include="Shapes\Views\MenuItem.cshtml" />
<Content Include="Shapes\Views\Web.config" />
<None Include="Shapes\Views\Zone.cshtml" />
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" />

View File

@ -8,7 +8,6 @@ using System.Web.Mvc.Html;
using Orchard.DisplayManagement;
using Orchard.DisplayManagement.Descriptors;
using Orchard.DisplayManagement.Implementation;
using Orchard.Environment.Extensions.Models;
using Orchard.Mvc.ViewEngines;
using Orchard.UI;
using Orchard.UI.Resources;
@ -64,11 +63,29 @@ namespace Orchard.Core.Shapes {
tagBuilder.MergeAttributes(attributes, false);
foreach (var cssClass in classes ?? Enumerable.Empty<string>())
tagBuilder.AddCssClass(cssClass);
if (id != null)
if (!string.IsNullOrWhiteSpace(id))
tagBuilder.GenerateId(id);
return tagBuilder;
}
[Shape]
public void Zone(dynamic Display, dynamic Shape, TextWriter Output) {
string id = Shape.Id;
IEnumerable<string> classes = Shape.Classes;
IDictionary<string, string> attributes = Shape.Attributes;
var zoneWrapper = GetTagBuilder("div", id, classes, attributes);
Output.Write(zoneWrapper.ToString(TagRenderMode.StartTag));
foreach (var item in Shape)
Output.Write(Display(item));
Output.Write(zoneWrapper.ToString(TagRenderMode.EndTag));
}
[Shape]
public void DocumentZone(dynamic Display, dynamic Shape, TextWriter Output) {
foreach (var item in Shape)
Output.Write(Display(item));
}
[Shape]
public void HeadScripts(HtmlHelper Html, IResourceManager ResourceManager) {
WriteResources(Html, ResourceManager, "script", ResourceLocation.Head, null);

View File

@ -1 +0,0 @@
@DisplayChildren(Model)

View File

@ -63,8 +63,9 @@ namespace Orchard.Setup {
builder.RegisterType<DefaultCommandManager>().As<ICommandManager>().InstancePerLifetimeScope();
builder.RegisterType<HelpCommand>().As<ICommandHandler>().InstancePerLifetimeScope();
builder.RegisterType<DefaultWorkContextAccessor>().As<IWorkContextAccessor>().InstancePerMatchingLifetimeScope("shell");
builder.RegisterType<ThemesResourceManifest>().As<IResourceManifest>().InstancePerLifetimeScope();
builder.RegisterType<ResourceManager>().As<IResourceManager>().InstancePerLifetimeScope();
builder.RegisterType<ResourceFilter>().As<FilterProvider>().InstancePerLifetimeScope();
builder.RegisterType<ResourceFilter>().As<IFilterProvider>().InstancePerLifetimeScope();
// setup mode specific implementations of needed service interfaces
builder.RegisterType<SafeModeThemeService>().As<IThemeService>().InstancePerLifetimeScope();
@ -86,7 +87,6 @@ namespace Orchard.Setup {
builder.RegisterType<ConfiguredEnginesCache>().As<IConfiguredEnginesCache>();
builder.RegisterType<PageWorkContext>().As<IWorkContextStateProvider>();
builder.RegisterType<CoreShapes>().As<IShapeTableProvider>().WithProperty("Feature", Feature).WithMetadata("Feature", Feature);
builder.RegisterType<ShapeTemplateBindingStrategy>().As<IShapeTableProvider>();
builder.RegisterType<BasicShapeTemplateHarvester>().As<IShapeTemplateHarvester>();
builder.RegisterType<ShapeAttributeBindingStrategy>().As<IShapeTableProvider>();

View File

@ -104,7 +104,6 @@
<Content Include="Themes\Contoso\Zones\Footer.html" />
<Content Include="Themes\Corporate\Views\DisplayTemplates\Parts\Blogs.BlogPost.Metadata.ascx" />
<Content Include="Themes\Green\Views\Orchard.Search\Search\Index.ascx" />
<Content Include="Themes\SafeMode\Views\Zone.ascx" />
<Content Include="Themes\TheAdmin\Scripts\admin.js" />
<Content Include="Themes\TheAdmin\Styles\ie.css" />
<Content Include="Themes\TheAdmin\Styles\images\menuClosed.gif" />
@ -137,11 +136,12 @@
<Content Include="Themes\TheAdmin\Styles\images\tableHeaderBackgroundRed.gif" />
<Content Include="Themes\TheAdmin\Styles\site.css" />
<Content Include="Themes\TheAdmin\Theme.txt" />
<None Include="Themes\Classic\Views\Zone.cshtml" />
<None Include="Themes\SafeMode\Views\Document.cshtml" />
<None Include="Themes\TheAdmin\Views\Layout.cshtml" />
</ItemGroup>
<ItemGroup>
<Content Include="Config\Sample.Host.config" />
<None Include="Themes\SafeMode\Views\DocumentZone.cshtml" />
<None Include="Themes\TheAdmin\Styles\images\icons.psd" />
<Content Include="Themes\ClassicDark\Content\Images\bodyBackgroundgrey.gif" />
<Content Include="Themes\ClassicDark\Content\Images\sidebarBackground.gif" />
@ -287,8 +287,7 @@
<Content Include="Themes\SafeMode\Styles\site.css" />
<Content Include="Themes\SafeMode\Theme.png" />
<Content Include="Themes\SafeMode\Theme.txt" />
<Content Include="Themes\SafeMode\Views\Document.aspx" />
<Content Include="Themes\SafeMode\Views\Layout.ascx" />
<None Include="Themes\SafeMode\Views\Layout.cshtml" />
<Content Include="Themes\TheAdmin\Styles\ie6.css" />
<Content Include="Themes\TheAdmin\Styles\images\backgroundGradient.gif" />
<Content Include="Themes\TheAdmin\Styles\images\backgroundHeader.gif" />

View File

@ -1,19 +0,0 @@
<%@ Page Language="C#" Inherits="Orchard.Mvc.ViewPage" %>
<%@ Import Namespace="Orchard.Mvc.Html"
%>
<%@ Import Namespace="Orchard.UI.Resources" %><!DOCTYPE html>
<html lang="en" class="static">
<head>
<title><%: Html.Title() %></title>
<% RegisterLink(new LinkEntry {Type = "image/x-icon", Rel = "shortcut icon", Href = ResolveUrl("../Content/orchard.ico")}); %>
<%--<%
//todo: (heskew) have resource modules that can be leaned on (like a jQuery module that knows about various CDNs and jQuery's version and min naming schemes)
//todo: (heskew) this is an interim solution to inlude jQuery in every page and still allow that to be overriden in some theme by it containing a headScripts partial
Html.Zone("head", ":metas :styles :scripts"); %>--%>
<%:Display(Model.Head) %>
<script type="text/javascript">document.documentElement.className="dyn";</script>
</head>
<body class="<%: Html.ClassForPage() %>">
<%: Display(Model.Body) %>
</body>
</html>

View File

@ -0,0 +1,24 @@
@using Orchard.Mvc.Html
@using Orchard.UI.Resources
@{
RegisterLink(new LinkEntry {Type = "image/x-icon", Rel = "shortcut icon", Href = Url.Content("~/modules/orchard.themes/Content/orchard.ico")});
}
<!DOCTYPE html>
<html lang="en" class="static @Html.ClassForPage()">
<head>
<meta charset="utf-8" />
<title>@Html.Title()</title>
@{
//todo: (heskew) have resource modules that can be leaned on (like a jQuery module that knows about various CDNs and jQuery's version and min naming schemes)
//todo: (heskew) this is an interim solution to inlude jQuery in every page and still allow that to be overriden in some theme by it containing a headScripts partial
}
@//Model.Zones.AddRenderPartial("head:before", "HeadPreload", Model);
@//Html.Zone("head", ":metas :styles :scripts"); %>
@Display(Model.Head)
<script>(function(d){d.className="dyn "+d.className.substring(7,d.length);})(document.documentElement);</script>
</head>
<body>
@Display(Model.Body)
@Display(Model.Tail)
</body>
</html>

View File

@ -1 +0,0 @@
@DisplayChildren(Model)

View File

@ -1,18 +0,0 @@
<%@ Control Language="C#" Inherits="Orchard.Mvc.ViewUserControl" %>
<%@ Import Namespace="Orchard.UI.Resources" %>
<%
Script.Require("jQuery", "1.4.2");
Script.Require("Theme_Base");
Script.Require("Setup");
Style.Require("SafeMode");
RegisterLink(new LinkEntry { Condition = "lte IE 6", Rel = "stylesheet", Type="text/css", Href = ResolveUrl("../Styles/ie6.css")}.AddAttribute("media", "screen, projection"));
%>
<div id="header">
<div id="branding">
<h1>
Welcome to Orchard</h1>
</div>
</div>
<div id="main">
<%: Display(Model.Content) %>
</div>

View File

@ -0,0 +1,16 @@
@using Orchard.UI.Resources
@{
Script.Require("jQuery", "1.4.2");
Script.Require("ShapesBase");
Style.Require("SafeMode");
RegisterLink(new LinkEntry { Condition = "lte IE 6", Rel = "stylesheet", Type="text/css", Href = Href("../Styles/ie6.css")}.AddAttribute("media", "screen, projection"));
}
<div id="header">
<div id="branding">
<h1>@T("Welcome to Orchard")</h1>
</div>
</div>
@Display(Model.Messages)
<div id="main">
@Display(Model.Content)
</div>

View File

@ -1,4 +0,0 @@
<%@ Control Language="C#" Inherits="Orchard.Mvc.ViewUserControl" %>
<div class="Zone Zone-<%: (string) Model.ZoneName %>">
<%foreach (var item in Model) {%><%:Display(item)%><%}%>
</div><!-- Zone-<%:(string)Model.ZoneName %> -->

View File

@ -1,7 +1,3 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Orchard.UI.Resources;
namespace Orchard.Themes {
@ -9,9 +5,9 @@ namespace Orchard.Themes {
public ThemesResourceManifest() {
DefineStyle("Admin").SetUrl("~/modules/orchard.themes/styles/admin.css");
DefineScript("ThemeBase").SetUrl("~/modules/orchard.themes/scripts/base.js").SetDependencies("jQuery");
DefineStyle("Theme").SetUrl("~/modules/orchard.themes/styles/site.css"); // todo: missing
DefineStyle("ThemeSpecial").SetUrl("~/modules/orchard.themes/styles/special.css");
DefineScript("ShapesBase").SetUrl("~/core/shapes/scripts/base.js").SetDependencies("jQuery");
DefineStyle("Shapes").SetUrl("~/core/shapes/styles/site.css"); // todo: missing
DefineStyle("ShapesSpecial").SetUrl("~/core/shapes/styles/special.css");
DefineStyle("Classic").SetUrl("~/themes/classic/styles/site.css");
DefineStyle("Classic_Blog").SetUrl("~/themes/classic/styles/blog.css");
@ -32,11 +28,11 @@ namespace Orchard.Themes {
DefineStyle("Green_Blog").SetUrl("~/themes/green/styles/blog.css");
DefineStyle("Green_YUI").SetUrl("~/themes/green/styles/yui.css");
DefineStyle("SafeMode").SetUrl("~/themes/green/styles/site.css");
DefineStyle("SafeMode").SetUrl("~/themes/safemode/styles/site.css");
DefineStyle("TheAdmin").SetUrl("~/themes/green/styles/site.css");
DefineStyle("TheAdmin_IE").SetUrl("~/themes/green/styles/ie.css");
DefineStyle("TheAdmin_IE6").SetUrl("~/themes/green/styles/ie6.css");
DefineStyle("TheAdmin").SetUrl("~/themes/theadmin/styles/site.css");
DefineStyle("TheAdmin_IE").SetUrl("~/themes/theadmin/styles/ie.css");
DefineStyle("TheAdmin_IE6").SetUrl("~/themes/theadmin/styles/ie6.css");
DefineScript("TheAdmin").SetUrl("~/themes/theadmin/scripts/admin.js").SetDependencies("jQuery");
}
}

View File

@ -99,7 +99,11 @@ namespace Orchard.Environment.ShellBuilders {
var descriptor = new ShellDescriptor {
SerialNumber = -1,
Features = new[] { new ShellFeature { Name = "Orchard.Setup" } },
Features = new[] {
new ShellFeature { Name = "Orchard.Setup" },
new ShellFeature { Name = "Shapes" },
new ShellFeature { Name = "Orchard.jQuery" },
},
};
var blueprint = _compositionStrategy.Compose(settings, descriptor);

View File

@ -57,9 +57,9 @@ namespace Orchard.UI.Resources {
// But the ResourceManifest defined in Orchard.Web/themes is not loading for some reason
DefineStyle("Admin").SetUrl("~/modules/orchard.themes/styles/admin.css");
DefineScript("ThemeBase").SetUrl("~/modules/orchard.themes/scripts/base.js").SetDependencies("jQuery");
DefineStyle("Theme").SetUrl("~/modules/orchard.themes/styles/site.css"); // todo: missing
DefineStyle("ThemeSpecial").SetUrl("~/modules/orchard.themes/styles/special.css");
DefineScript("ShapesBase").SetUrl("~/core/shapes/scripts/base.js").SetDependencies("jQuery");
DefineStyle("Shapes").SetUrl("~/core/shapes/styles/site.css"); // todo: missing
DefineStyle("ShapesSpecial").SetUrl("~/core/shapes/styles/special.css");
DefineStyle("Classic").SetUrl("~/themes/classic/styles/site.css");
DefineStyle("Classic_Blog").SetUrl("~/themes/classic/styles/blog.css");
@ -80,7 +80,7 @@ namespace Orchard.UI.Resources {
DefineStyle("Green_Blog").SetUrl("~/themes/green/styles/blog.css");
DefineStyle("Green_YUI").SetUrl("~/themes/green/styles/yui.css");
DefineStyle("SafeMode").SetUrl("~/themes/green/styles/site.css");
DefineStyle("SafeMode").SetUrl("~/themes/safemode/styles/site.css");
DefineStyle("TheAdmin").SetUrl("~/themes/theadmin/styles/site.css");
DefineStyle("TheAdmin_IE").SetUrl("~/themes/theadmin/styles/ie.css");