developer.mindtouch.com is a community contributed help site for MindTouch Core only. Supported MindTouch TCS documentation can be found at help.mindtouch.us
9/7/10 - MindTouch 2010 now ships with MindTouch 2010. BeechBeta is the MindTouch supported and much improved version of beech. Documentation will be updated to support BeechBeta.
2/23/10 - New beech.zip available for download. Added PageRss(), PageRssComments(), PageViewSource() and some minor fixes. Documentation being updated shortly..
2/16/10 - Documented new Beech Functions. PageHasFiles(), PageSavePdf(), SiteTemplateTarget(), PageToc, PageHasToc() and more.... New beech.zip will be uploaded shortly.
1/21/10 - Beech.php updated - Added Templates to PageAdd(). Added $linkClass param to most link functions. Added comments throughout. Alphabetized all functions. Download beech.zip available.
1/13/10 - Beech Documentation is updated and the new beech.zip is available for download.
12/15/09 - Beech Documentation is undergoing an update, the latest Beech .zip will be available once the documentation is complete.
Provide much more granular control over the layout
Make PHP skinning functions understandable
Provide a more bare-bones HTML layout for designers to customize as they see fit
Require designers to modify just one CSS file
Make navigating the theme file system more intuitive
Implemented Changes
Separated most of the PHP & HTML Formerly only one markup file existed for each theme and its name matched that of the theme, ace.php, fiesta.php, deuce.php. Each of the aforementioned files were saturated with markup, PHP and JavaScript, much of which was not important to a designer. Additionally because these files were so cluttered visually parsing them was difficult, even for the trained eye. To solve this problem I moved the HTML content from the markup file to a new file called HTML.php. The new separated file is intended to provide designers with a more accurate and manageable skinning experience. I also located HTML.php inside the skin folder to provide more granular control over each skin. With this change now each skin can have custom markup that is independent of other skins.
Restructured the theme files When creating this new theme I wanted to make accessing its files more intuitive. With the other themes there are multiple files in numerous folders that are inserted into the skin. Custom CSS modifications were always stacked on top of a large underlying layer of MindTouch prescribed CSS. This approach limited flexibility and forced a very sculpted look & feel upon designers. In order to solve this problem I removed the base CSS files (_common.css, _style.css) in exchange for one CSS file, _style.css, which resides in the skin folder. I also shifted the _print.css, html.php and all images to the skin level. Again, this provides much more granular control over the look & feel of each individual skin and also eliminates any MindTouch defined CSS dependencies.
Renamed all the PHP skinning functions When I set out to change the theming process I immediately noticed that the PHP skinning functions in each markup file were inconsistent and could be challenging to a non-developer. For instance there were references to wfMsg(), $this->html(), $this->haveData(), $wgTitle, $wgUser and many more. While programmatically these functions all make sense they add an unnecessary burden on a designer. As an alternative I gave these functions new pseudo names that follow a simple pattern and consistent naming schema. For instance:
$this->SiteLogo();
$this->PageTags();
$this->PageEdit();
$this->PageAdd();
$this->PageTitle();
Consolidated CSS files Initially when we built MindTouch themes we planned for CSS modifications to be made as an addition to the existing CSS. While this enabled very rapid theme development it also limited the flexibility of the design and greatly raised the skill level required to completely customize MindTouch. Additionally it also made many assumptions about how MindTouch should look and generally limited the scope of customization to aesthetic CSS such as colors, fonts, etc. As a solution I decided to completely remove the base CSS files (_common.css and _style.css) and only reference the _style.css in the skin folder. I will add, however, that _content.css will remain, as content styling has proven to be the most challenging portion of creating a new MindTouch skin. The _content.css file is pre-populated with default content CSS but can be modified on a per skin basis.
Eliminated unnecessary structure In order to make theming more flexible there were some deeper consideration required for the PHP skinning functions. Whereas the older PHP skinning functions contained a large amount of predefined HTML I opted to remove most of this HTML and place it directly in HTML.php. This may seem fairly useless but it does shift the control of the HTML into the hands of the designer. For instance I removed extra wrapper <div>, <li> and <span> elements that were added for CSS identification or to meet some assumed function. Ultimately now you can decide if your logout button is in a dropdown list, wrapped in <div class=”logout-wrapper”> or just by itself.
@Howleyda I discovered the problem. It was not the move from Mindtouch 9.12.2 to 9.12.3 that caused the Beech skin to not work, but rather the move from PHP 5.2 to 5.3.2 that a fellow developer did on the environment I was using. In PHP 5.3, the default for the short_open_tag config setting has changed from true to false, which means that all instances where <? ... ?> was used instead of <?php ... ?> were getting treated as literal content instead of PHP code, and causing brace mismatches. Once I got that out of the way, everything worked fine.
Any news on the status of the Olympic release / new version of the Beech skin? Is there an Olympic preview available / will there be one soon?
@jddunlap - Can you tell me where the <? ... ?> were? I will have to make sure those are replaced, I wasn't aware of any such usage. I am not sure when the olympic release will be available, it shouldn't bee to long now. The improvements to beech (now codenamed beechbeta) should be available soon and includes a major overhaul with a ton of new functionality. I'll keep you posted if I hear anything here inside MindTouch.
On another note I'm really curious to see what you're developing in Beech. Do you have any screenshots?
@Howleyda - The instances of <? ... ?> in your code appear in the pale variant's html.php at lines 17 and 19.
I have been holding off on implementation until the improved Beech skin was available. Up until now I have been studying and experimenting with the whole of MindTouch to have as detailed an understanding of its architecture and design as possible and then to start developing in earnest on the Olympic release. I'll be happy to share my development progress as soon as I get fully underway. Meanwhile if you have any documentation and/or features you can share about "beechbeta" now that would be most useful!
As I've spent more time with beechbeta, I've come across a few other hiccups...
- the -moz... styles (e.g. -moz-border-radius:5px;) don't show in Safari (can duplicate styles be added—just border-radius:5px);
- there seem to be float bug issues with IE 7... I posted a bug http://youtrack.developer.mindtouch.com/issue/MT-9224 but it's been sitting for four weeks...;
What's the best way to report these?
Hello... I am switching my skin from Ace to Beech (pale) and I am having problems making a pulldown menu on the top .nav. Does anyone have the code to do this? Thanks Delmar
Hi, I am using MindTouch Core. I initially selected the skin to be Deuce but, to take advantage of the more customizable Beech skin, I switched to Beach: Flex. I have not done any customization yet but noticed that my content is not formatted correctly now. sentences do not wrap for example to they disappear off the screen. Is there an easy way to re-format this?
Thank you.
Any news on the status of the Olympic release / new version of the Beech skin? Is there an Olympic preview available / will there be one soon?
Thanks again! edited 16:10, 30 Jun 2010
On another note I'm really curious to see what you're developing in Beech. Do you have any screenshots?
-Thanks
Damien
I have been holding off on implementation until the improved Beech skin was available. Up until now I have been studying and experimenting with the whole of MindTouch to have as detailed an understanding of its architecture and design as possible and then to start developing in earnest on the Olympic release. I'll be happy to share my development progress as soon as I get fully underway. Meanwhile if you have any documentation and/or features you can share about "beechbeta" now that would be most useful!
- the -moz... styles (e.g. -moz-border-radius:5px;) don't show in Safari (can duplicate styles be added—just border-radius:5px);
- there seem to be float bug issues with IE 7... I posted a bug http://youtrack.developer.mindtouch.com/issue/MT-9224 but it's been sitting for four weeks...;
What's the best way to report these?
Thanks
Thank you.