AlliumCepa / webgui

A free open source content management system and web application framework. The most widely deployed mod_perl application on the planet.
http://www.webgui.org/
41 stars 14 forks source link

Import WordPress themes #29

Open scottwalters opened 9 years ago

scottwalters commented 9 years ago

WordPress themes (CSS, icon sets) should be importable into wG via a utility.

This is to be done in two parts: WordPress themes should be converted to an intermediate, neutral format suitable for consumption by any blog, CMS, or the like. Todo: Actually look at some WordPress themes.

Second part is conversion of this into a wG theme consisting of static "extras" files, template assets in the correct template namespaces, and CSS class names translated.

lindleyw commented 9 years ago

The challenge will be that a WP "theme" is actually a mass of HTML+PHP, CSS, images, and sometimes JavaScript. "Themes" are mostly active code, and are the most concentrated cesspool^H^H^H^H locus of WP-specific API calls.

Taking a step back, however, the active parts of WP themes are a few basic elements:

Trying to import the active parts of a WP theme seems nearly impossible, but if a user-interface-element mapping can be documented, at least a utility could put most of the HTML, CSS and graphics into proper locations for a new native theme.

scottwalters commented 9 years ago

most of the HTML, CSS and graphics into proper locations for a new native theme

That's about the intended level of ambition. This was a requested feature from a possible fund source, by the way.

wG themes are HTML+CSS. JS is in other files or inner templates and operates in the old "non-invasive JS" style for the most part.

Goal would be to re-write CSS and HTML so that content areas had the correct class names and such (perhaps mostly adding class names) for the non-invasive wG JS, and insert the text of wG's TemplateToolkit tags in the correct places.

Also, wG's "style" is site wide and agnostic about specific types of content/pages/whatever. It styles anything and everything on a page.