Continuing theming work...

--HG--
extra : convert_revision : svn%3A5ff7c347-ad56-4c35-b696-ccb81de16e03/trunk%4044123
This commit is contained in:
skewed
2009-12-16 00:54:35 +00:00
parent d2cc190fd7
commit 08a5a8b92d
9 changed files with 518 additions and 34 deletions

View File

@@ -139,10 +139,18 @@
<Content Include="Themes\Views\Models\EditorTemplates\ThemeSiteSettingsRecord.ascx" />
</ItemGroup>
<ItemGroup>
<Content Include="SafeMode\Views\Shared\document.aspx" />
<Content Include="SafeMode\Views\Shared\layout.ascx" />
<Content Include="SafeMode\styles\site.css" />
<Content Include="SafeMode\Theme.txt" />
<Content Include="Themes\Views\Admin\Install.aspx" />
<Content Include="Themes\Views\Web.config" />
</ItemGroup>
<ItemGroup>
<Folder Include="SafeMode\scripts\" />
<Folder Include="SafeMode\styles\images\" />
<Folder Include="Themes\Views\Shared\" />
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v9.0\WebApplications\Microsoft.WebApplication.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.

View File

@@ -1 +1 @@
name: SafeMode
name: SafeMode

View File

@@ -1,25 +0,0 @@

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>
<asp:ContentPlaceHolder ID="TitleContent" runat="server" />
</title>
<link href="<%= ResolveUrl("../../Content/Site.css")%>" rel="stylesheet" type="text/css" />
<link rel="wlwmanifest" type="application/wlwmanifest+xml" href="<%= ResolveUrl("~/xmlrpc/livewriter/manifest?r="+DateTime.UtcNow.Ticks) %>" />
</head>
<body>
<div class="page">
<div id="header">
<%Html.RenderPartial("Header"); %>
<%Html.RenderPartial("Navigation"); %>
</div>
<div id="main">
<asp:ContentPlaceHolder ID="MainContent" runat="server" />
<div id="footer">
</div>
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,17 @@
<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage" %>
<%@ Import Namespace="Orchard.Mvc.Html"%>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title><%=Html.Title() %></title>
<% Html.RenderZone("metas"); %>
<% Html.RenderZone("styles"); %>
<% Html.RenderZone("scripts"); %>
</head>
<body>
<% Html.RenderZone("document-first"); %>
<% Html.RenderBody(); %>
<% Html.RenderZone("document-last"); %>
</body>
</html>

View File

@@ -0,0 +1,15 @@
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %>
<%@ Import Namespace="Orchard.Mvc.Html" %>
<% Html.RegisterStyle("site.css"); %>
<div class="page">
<div id="header">
<% Html.RenderZone("header"); %>
<% Html.RenderZone("menu"); %>
</div>
<div id="main">
<% Html.RenderBody(); %>
<div id="footer">
<% Html.RenderZone("footer"); %>
</div>
</div>
</div>

View File

@@ -0,0 +1,449 @@
/*----------------------------------------------------------
The base color for this template is #5c87b2. If you'd like
to use a different color start by replacing all instances of
#5c87b2 with your new color.
----------------------------------------------------------*/
body
{
background-color: #5c87b2;
font-size: .75em;
font-family: Verdana, Helvetica, Sans-Serif;
margin: 0;
padding: 0;
color: #696969;
}
a:link
{
color: #034af3;
text-decoration: underline;
}
a:visited
{
color: #505abc;
}
a:hover
{
color: #1d60ff;
text-decoration: none;
}
a:active
{
color: #12eb87;
}
p, ul
{
margin-bottom: 20px;
line-height: 1.6em;
}
/* HEADINGS
----------------------------------------------------------*/
h1, h2, h3, h4, h5, h6
{
font-size: 1.5em;
color: #000;
font-family: Arial, Helvetica, sans-serif;
}
h1
{
font-size: 2em;
padding-bottom: 0;
margin-bottom: 0;
}
h2
{
padding: 0 0 10px 0;
}
h3
{
font-size: 1.2em;
}
h4
{
font-size: 1.1em;
}
h5, h6
{
font-size: 1em;
}
/* this rule styles <h2> tags that are the
first child of the left and right table columns */
.rightColumn > h1, .rightColumn > h2, .leftColumn > h1, .leftColumn > h2
{
margin-top: 0;
}
/* PRIMARY LAYOUT ELEMENTS
----------------------------------------------------------*/
/* you can specify a greater or lesser percentage for the
page width. Or, you can specify an exact pixel width. */
.page
{
width: 90%;
margin-left: auto;
margin-right: auto;
}
#header
{
position: relative;
margin-bottom: 0px;
color: #000;
padding: 0;
}
#header h1
{
font-weight: bold;
padding: 5px 0;
margin: 0;
color: #fff;
border: none;
line-height: 2em;
font-family: Arial, Helvetica, sans-serif;
font-size: 32px !important;
}
#main
{
padding: 30px 30px 15px 30px;
background-color: #fff;
margin-bottom: 30px;
_height: 1px; /* only IE6 applies CSS properties starting with an underscrore */
}
#footer
{
color: #999;
padding: 10px 0;
text-align: center;
line-height: normal;
margin: 0;
font-size: .9em;
}
/* TAB MENU
----------------------------------------------------------*/
ul#menu
{
border-bottom: 1px #5C87B2 solid;
padding: 0 0 2px;
position: relative;
margin: 0;
text-align: right;
}
ul#menu li
{
display: inline;
list-style: none;
}
ul#menu li#greeting
{
padding: 10px 20px;
font-weight: bold;
text-decoration: none;
line-height: 2.8em;
color: #fff;
}
ul#menu li a
{
padding: 10px 20px;
font-weight: bold;
text-decoration: none;
line-height: 2.8em;
background-color: #e8eef4;
color: #034af3;
}
ul#menu li a:hover
{
background-color: #fff;
text-decoration: none;
}
ul#menu li a:active
{
background-color: #a6e2a6;
text-decoration: none;
}
ul#menu li.selected a
{
background-color: #fff;
color: #000;
}
/* FORM LAYOUT ELEMENTS
----------------------------------------------------------*/
fieldset
{
margin: 1em 0;
padding: 1em;
border: 1px solid #CCC;
}
fieldset p
{
margin: 2px 12px 10px 10px;
}
fieldset label
{
display: block;
}
fieldset label.inline
{
display: inline;
}
legend
{
font-size: 1.1em;
font-weight: 600;
padding: 2px 4px 8px 4px;
}
input[type="text"]
{
width: 200px;
border: 1px solid #CCC;
}
input[type="password"]
{
width: 200px;
border: 1px solid #CCC;
}
/* TABLE
----------------------------------------------------------*/
table
{
border: solid 1px #e8eef4;
border-collapse: collapse;
}
table td
{
padding: 5px;
border: solid 1px #e8eef4;
}
table th
{
padding: 6px 5px;
text-align: left;
background-color: #e8eef4;
border: solid 1px #e8eef4;
}
/* MISC
----------------------------------------------------------*/
.clear
{
clear: both;
}
.error
{
color:Red;
}
#menucontainer
{
margin-top:40px;
}
div#title
{
display:block;
float:left;
text-align:left;
}
#logindisplay
{
font-size:1.1em;
display:block;
text-align:right;
margin:10px;
color:White;
}
#logindisplay a:link
{
color: white;
text-decoration: underline;
}
#logindisplay a:visited
{
color: white;
text-decoration: underline;
}
#logindisplay a:hover
{
color: white;
text-decoration: none;
}
.field-validation-error
{
color: #ff0000;
}
.input-validation-error
{
border: 1px solid #ff0000;
background-color: #ffeeee;
}
.validation-summary-errors
{
font-weight: bold;
color: #ff0000;
}
/* ALL THAT IS BELOW IS TEMPORARY TO MAKE THINGS LOOK DECENT IN THIS SKIN */
.manage {
float:right;
}
.metadata {
color:#999;
margin-top:-2em;
}
.blog.metadata {
margin-top:-1.5em;
}
.metadata, p.tags {
font-size:95%;
}
/* Icon buttons
----------------------------------------------------------*/
a.ibutton, a.ibutton:link, a.ibutton:visited {
background:url(Admin/css/images/icons.png) 0 -20px;
border:none;
display:inline;
float:left;
height:17px;
overflow:hidden;
padding:0 0 0 17px;
width:0;
}
a.ibutton:hover, a.ibutton:active, a.ibutton:focus { background-position:0 0; }
a.ibutton.remove,
a.ibutton.remove:link,
a.ibutton.remove:visited { background-position:-20px -20px; }
a.ibutton.remove:hover, a.ibutton.remove:active, a.ibutton.remove:focus { background-position:-20px 0; }
a.ibutton.view,
a.ibutton.view:link,
a.ibutton.view:visited { background-position:-40px -20px; }
a.ibutton.view:hover, a.ibutton.view:active, a.ibutton.view:focus { background-position:-40px 0; }
a.ibutton.add.page,
a.ibutton.add.page:link,
a.ibutton.add.page:visited { background-position:-60px -20px; }
a.ibutton.add.page:hover, a.ibutton.add.page:active, a.ibutton.add.page:focus { background-position:-60px 0; }
a.ibutton.edit,
a.ibutton.edit:link,
a.ibutton.edit:visited { background-position:-80px -20px; }
a.ibutton.edit:hover, a.ibutton.edit:active, a.ibutton.edit:focus { background-position:-80px 0; }
a.ibutton.publish,
a.ibutton.publish:link,
a.ibutton.publish:visited { background-position:-100px -20px; }
a.ibutton.publish:hover, a.ibutton.publish:active, a.ibutton.publish:focus { background-position:-100px 0; }
a.ibutton.blog,
a.ibutton.blog:link,
a.ibutton.blog:visited { background-position:-120px -20px; }
a.ibutton.blog:hover, a.ibutton.blog:active, a.ibutton.blog:focus { background-position:-120px 0; }
/* Forms
----------------------------------------------------------*/
fieldset {
border:0;
margin:0 0 1em;
padding:0;
}
form.comments {
overflow:hidden;
}
form.comments fieldset.who, form.comments fieldset.what {
float:left;
margin-right:15px;
}
form.comments label {
font-weight:bold;
margin-top:15px;
}
form.comments .button {
margin-top:15px;
}
/* Tag cloud
----------------------------------------------------------*/
ul.tagCloud {
padding:0;
}
ul.tagCloud li {
display:inline;
list-style-type:none;
padding:5px 15px 5px 0;
}
/* Content item lists
----------------------------------------------------------*/
.contentItems {
background:#FFF;
margin:1.4em 0;
padding:2px;
}
.contentItems li {
background:#FFF;
border-bottom:1px solid #E0E8EF;
margin:0;
overflow:hidden;
padding:.7em 0;
}
.contentItems li.last {
border-bottom:0;
}
.contentItems li h3 {
border-bottom:0;
}
.contentItems li.first h3 {
margin-top:0;
}
.contentItems li .actions {
color:#EAE9D9;
height:auto;
margin:-1.3em 0 0;
padding:0 0 .1em;
}
.contentItems li .actions .ibutton {
margin-right:6px;
}
.contentItems li .actions .destruct .ibutton {
margin-left:8px;
margin-right:0;
}
.contentItems li:hover a.ibutton { background-position:0 0; }
.contentItems li:hover a.ibutton.remove { background-position:-20px 0; }
.contentItems li:hover a.ibutton.view { background-position:-40px 0; }
.contentItems li:hover a.ibutton.add.page { background-position:-60px 0; }
.contentItems li:hover a.ibutton.edit { background-position:-80px 0; }
.contentItems li:hover a.ibutton.publish { background-position:-100px 0; }
.contentItems li:hover a.ibutton.blog { background-position:-120px 0; }

View File

@@ -1,5 +1,4 @@
<%@ Master Language="C#" Inherits="System.Web.Mvc.ViewMasterPage" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>

View File

@@ -4,8 +4,32 @@ using Orchard.Mvc.ViewEngines;
namespace Orchard.Mvc.Html {
public static class LayoutHelperExtensions {
public static void RenderBody(this HtmlHelper html) {
var layoutContext = OrchardLayoutContext.From(html.ViewContext);
OrchardLayoutContext layoutContext = OrchardLayoutContext.From(html.ViewContext);
html.ViewContext.HttpContext.Response.Output.Write(layoutContext.BodyContent);
}
public static MvcHtmlString Body(this HtmlHelper html) {
OrchardLayoutContext layoutContext = OrchardLayoutContext.From(html.ViewContext);
return MvcHtmlString.Create(layoutContext.BodyContent);
}
public static void RenderTitle(this HtmlHelper html) {
OrchardLayoutContext layoutContext = OrchardLayoutContext.From(html.ViewContext);
html.ViewContext.HttpContext.Response.Output.Write(layoutContext.Title);
}
public static MvcHtmlString Title(this HtmlHelper html) {
OrchardLayoutContext layoutContext = OrchardLayoutContext.From(html.ViewContext);
return MvcHtmlString.Create(html.Encode(layoutContext.Title));
}
public static void RenderZone(this HtmlHelper html, string zoneName) {
OrchardLayoutContext layoutContext = OrchardLayoutContext.From(html.ViewContext);
html.ViewContext.HttpContext.Response.Output.Write(layoutContext.Title);
}
public static void RegisterStyle(this HtmlHelper html, string styleName) {
//todo: register the style
}
}
}
}

View File

@@ -1,14 +1,11 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web;
using System.Web;
using System.Web.Mvc;
namespace Orchard.Mvc.ViewEngines {
public class OrchardLayoutContext {
private static readonly object _key = typeof(OrchardLayoutContext);
public string Title { get; set; }
public string BodyContent { get; set; }
public static OrchardLayoutContext From(ControllerContext context) {