Continuing theming work...changing around SafeMode and getting out of the box themes worked out

--HG--
extra : convert_revision : svn%3A5ff7c347-ad56-4c35-b696-ccb81de16e03/trunk%4044157
This commit is contained in:
skewed
2009-12-16 18:29:18 +00:00
parent d66d56eb59
commit 53d4974a14
12 changed files with 509 additions and 17 deletions

View File

@@ -139,18 +139,17 @@
<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\OxiteClassic\Views\Shared\document.aspx" />
<Content Include="Themes\OxiteClassic\Views\Shared\layout.ascx" />
<Content Include="Themes\OxiteClassic\styles\site.css" />
<Content Include="Themes\OxiteClassic\Theme.txt" />
<Content Include="Themes\Styles\site.css" />
<Content Include="Themes\Theme.txt" />
<Content Include="Themes\Views\Admin\Install.aspx" />
<Content Include="Themes\Views\Shared\document.aspx" />
<Content Include="Themes\Views\Shared\layout.ascx" />
<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 +0,0 @@
name: SafeMode

View File

@@ -0,0 +1 @@
name: OxiteClassic

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

@@ -0,0 +1,5 @@
name: SafeMode
description: This is the default theme for the Themes extension.
version: 1.0
tags: safe, default
homepage: http://www.orchardproject.net

View File

@@ -0,0 +1,17 @@
<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage" %>
<%@ Import Namespace="Orchard.Mvc.Html"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title><%=Html.Title() %> - Safe Mode!</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

@@ -38,7 +38,7 @@ namespace Orchard.Environment {
.WithArguments(new NamedParameter("paths", new[] { "~/Core", "~/Packages" }))
.SingletonScoped();
builder.Register<ThemeFolders>().As<IExtensionFolders>()
.WithArguments(new NamedParameter("paths", new[] { "~/Core", "~/Themes" }))
.WithArguments(new NamedParameter("paths", new[] { "~/Core/Themes", "~/Themes" })) // <- info: (heskew) ~/Core/Themes is itself an extension, is that too wrong/weird?
.SingletonScoped();
registrations(builder);

View File

@@ -1,3 +1,4 @@
using System.Collections;
using System.Collections.Generic;
using System.IO;
using System.Linq;
@@ -35,15 +36,21 @@ namespace Orchard.Mvc.ViewEngines {
//TODO: add layout engine first
var requestTheme = _themeService.GetRequestTheme(filterContext.RequestContext);
var themeViewEngines = Enumerable.Empty<IViewEngine>();
// todo: refactor. also this will probably result in the "SafeMode" theme being used so dump some debug info
// into the context for the theme to use for displaying why the expected theme isn't being used
if (requestTheme != null) {
var theme = _extensionManager
.AvailableExtensions()
.Single(x => x.ExtensionType == "Theme" && x.Name == requestTheme.ThemeName);
var themeLocation = Path.Combine(theme.Location, theme.Name);
var themeViewEngines = _viewEngineProviders
themeViewEngines = _viewEngineProviders
.Select(x => x.CreateThemeViewEngine(new CreateThemeViewEngineParams { VirtualPath = themeLocation }));
}
var packages = _extensionManager.ActiveExtensions()
.Where(x => x.Descriptor.ExtensionType == "Package");