New Base Theme and Restructured dri2xhtml for 1.7.0
@mire contribution of new theme to support easier development and branding.Provides the following:
- A Restructured dri2xhtml base templates for easing locating specific XSLT templates
- A Basic Theme based on the above restructured library that contains the templates that need customization most often in the UI.
dri2xhtml-alt
See committed source for dri2xhtml-alt here: http://scm.dspace.org/svn/repo/dspace/trunk/dspace-xmlui/dspace-xmlui-webapp/src/main/webapp/themes/dri2xhtml-alt/
Configuration and Installation
The alternative basic templates has been committed, and is currently dubbed "dri2xhtml-alt".
Any of the existing themes can be updated to reference this new set of templates by replacing in your theme.xsl:
<xsl:stylesheet xmlns:i18n="http://apache.org/cocoon/i18n/2.1" xmlns:dri="http://di.tamu.edu/DRI/1.0/" xmlns:mets="http://www.loc.gov/METS/" xmlns:xlink="http://www.w3.org/TR/xlink/" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" xmlns:dim="http://www.dspace.org/xmlns/dspace/dim" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:mods="http://www.loc.gov/mods/v3" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns="http://www.w3.org/1999/xhtml" exclude-result-prefixes="i18n dri mets xlink xsl dim xhtml mods dc"> <!-- comment out original dri2xhtml <xsl:import href="../dri2xhtml.xsl"/> and enable dri2xhtml-alt --> <xsl:import href="../dri2xhtml-alt/dri2xhtml.xsl"/> <xsl:output indent="yes"/>
Because the contents of dri2xhtml-alt is identical to the current dri2xhtml.xsl and its derivatives, updating any of the existing themes to reference the new dri2xhtml-alt should not impose any changes in the rendering of the pages.
Features
- No changes to existing templates found in legacy dri2xhtml
- Drops inclusion of Handlers other than DIM and Default
- Templates divided out into files so they can be more easily located, divided by Aspect, Page and Functionality
/dspace-xmlui/dspace-xmlui-webapp/src/main/webapp/themes/dri2xhtml-alt/ ├── aspect │ ├── administrative │ │ └── harvesting.xsl │ ├── artifactbrowser │ │ ├── COinS.xsl │ │ ├── ORE.xsl │ │ ├── artifactbrowser.xsl │ │ ├── collection-list.xsl │ │ ├── collection-view.xsl │ │ ├── common.xsl │ │ ├── community-list.xsl │ │ ├── community-view.xsl │ │ ├── item-list.xsl │ │ └── item-view.xsl │ └── general │ └── choice-authority-control.xsl ├── core │ ├── attribute-handlers.xsl │ ├── elements.xsl │ ├── forms.xsl │ ├── global-variables.xsl │ ├── navigation.xsl │ ├── page-structure.xsl │ └── utils.xsl └── dri2xhtml.xsl
Basic Theme
Features
- reset css: ensures the styling is consequent amongst all browsers
- uses separate css files for different rendering situations: reset, base, print, handheld, ..., and the regular style.css which is similar to the one used in all other themes
- concatenation and minification ability for the css, js and json files:
- This is disabled by default, and will need to be enabled in the configuration
- The IncludePageMeta has been extended to generate URL's to the concatenated version of all css files using the same media tag (if enabled in config)
- The ConcatenationReader has been created to return concatenated and minified versions of the css and js files
- This is built to use the list of included css files, last modification timestamps, ... for caching purposes.
- In order to enable this for any of the existing themes, the theme sitemap must be altered as well
- javascript loading if jquery is moved to bottom of page for fast loading
- uses new dri2xhtml-alt, and everything which is replaced in the theme, is included using the exact same hierarchy, for a good overview
- the rendering of item display and item lists has been completely redesigned
- the browser is no longer determined using the sitemap, but is determined in the page-structure.xsl: this is supposed to be more reliable
Screenshots