November 02, 2004

[MovableType] S5 Publisher powered by MovableType

Several days ago I build a new MovableType 2.661 site, "Jedi's S5", which functions making S5 slides show. I see a MT template example from Six Apart. However, my template-set seems to be much rich. Features:

  • Works well with MovableType 2.661 and above
  • Each category for one presentation
  • The very same slide-page can be shown on many presentations at the same time (I call this "Modularized Slides")
    • Modifying one slide effects all presentions related to it
    • Keep order from any two slides for presentions. (Although you may call this "bug" rather then "feature")
  • Assign different themes (styles) for different presentations
  • List all presentations in Main Index
  • Add Creative Commons License information/metadata

Here is my full notes about it.

First I build a MT site, changing site configuration as below:

  • Core Setup (Please modify to present your own situration. You will fail in case you just copy what I wrote here)
    • Local Site Path:
      /home/jedi/S5
    • Site URL:
      http://Jedi.org/S5/
    • Local Archive Path:
      /home/jedi/S5/slides
    • Archive URL:
      http://Jedi.org/S5/slides/
    • Timezone:
      UTC+8 (China coast, Taiwan)
  • Archiving (Modify this before Preference)
    • Archive Type: Select "By Category" only; unselect others
    • Archive File Template:
      s5-<$MTCategoryID$>.html
  • Preference
    • General Settings
      • Number of days displayed:
        999
      • Language for date display:
        English
      • Order of entries displayed:
        Descending
      • Default Text Formatting:
        None
      • Default Post Status:
        Publish
    • Archiving
      • Preferred Archive Type:
        By Category
      • File extension for archive files:
        html
    • Publicity / Remote Interfaces / TrackBack
      • Allow Pings on by default?
        No
      • Email new TrackBack pings?
        No
      • Turn on TrackBack auto-discovery?
        Yes
    • Comment Configuration
      • Allow anonymous comments?
        No
      • Allow Comments default:
        None

After that, I start modifying templates. First I deleted these unused templates:

  • Index Templates
    • RSD
    • RSS 0.91 Index
    • RSS 1.0 Index
    • Archives Index
  • Archive-Related Templates
    • Individual Archive
    • Time-based Archive

There are some templates unused cannot be deleted. I cleared them for security issue:

  • Miscellaneous Templates
    • Comment Listing Template
    • Comment Preview Template
    • Comment Error Template
    • TrackBack Listing Template
    • Uploaded Image Popup Template

Now I can work with templates. I modified my Category Archive template to become this: (You can also download it as zipped plain text file, [Archive_Template]_Category.UTF-8.txt.zip )

<!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><$MTArchiveTitle$> | <$MTBlogName$></title>
<meta name="version" content="S5 1.0" />
<meta name="generator" content="Movable Type <$MTVersion$>" />
<meta name="presdate" content="<$MTCategoryDescription$>" />
<MTEntries lastn="1">
<meta name="author" content="<$MTEntryAuthor$>" />
<meta name="company" content="<$MTEntryAuthorURL$>" />
</MTEntries>
<meta http-equiv="Content-Type" content="application/xhtml+xml;charset=<$MTPublishCharset$>" />
<meta http-equiv="Content-Language" content="zh-tw" />
<MTEntries lastn="1">
<link rel="stylesheet" href="ui/<MTIfNonEmpty tag="MTEntryKeywords"><$MTEntryKeywords$>/</MTIfNonEmpty>slides.css" type="text/css" media="projection" id="slideProj" />
<link rel="stylesheet" href="ui/<MTIfNonEmpty tag="MTEntryKeywords"><$MTEntryKeywords$>/</MTIfNonEmpty>opera.css" type="text/css" media="projection" id="operaFix" />
<link rel="stylesheet" href="ui/<MTIfNonEmpty tag="MTEntryKeywords"><$MTEntryKeywords$>/</MTIfNonEmpty>print.css" type="text/css" media="print" id="slidePrint" />
<script src="ui/<MTIfNonEmpty tag="MTEntryKeywords"><$MTEntryKeywords$>/</MTIfNonEmpty>slides.js" type="text/javascript"></script>
<link rel="author" title="Write to author" href="mailto:<$MTEntryAuthorEmail spam_protect="1"$>" />
</MTEntries>
<link rel="copyright" title="Licenses" href="http://creativecommons.org/licenses/by-nc-sa/2.0/tw/" />
<$MTInclude module="cc-rdf-slide"$>
</head>
<body>
<div class="layout">
<div id="currentSlide"></div>
<div id="header"></div>
<div id="footer">
<MTEntries lastn="1">
<MTEntryCategories>
<h1><$MTCategoryDescription$></h1>
<h2><$MTCategoryLabel$></h2>
</MTEntryCategories>
</MTEntries>
<div id="controls"></div>
</div>
</div>
<div class="presentation">
<div class="slide">
<h1><$MTArchiveTitle$></h1>
<MTEntries lastn="1">
<h3><$MTEntryAuthor$></h3>
<h4><$MTEntryAuthorURL$></h4>
</MTEntries>
</div>
<MTEntries lastn="999" sort_order="ascend">
<div class="slide">
<h1><$MTEntryTitle$></h1>
<$MTEntryBody$>
<div class="handout">
<$MTEntryMore$>
</div>
</div>
</MTEntries>
</div>
</body>
</html>
Please note that I wrote something about CC license in it. Please modify that in case you don't choose the same license with me. The template above calls a template module named "cc-rdf-slide" which including RDF data of CC license. Here you are: (You still can download this zipped plain text file, [Template_Module]_cc-rdf-slide.UTF-8.txt.zip)
<!--
<rdf:RDF xmlns="http://web.resource.org/cc/"
 xmlns:dc="http://purl.org/dc/elements/1.1/"
 xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<Work rdf:about="">
<MTEntries lastn="1">
 <dc:title><MTEntryCategories><$MTCategoryLabel encode_url="1"$></MTEntryCategories> | <$MTBlogName$></dc:title>
 <dc:date><$MTEntryDate format="%Y"$></dc:date>
 <dc:description><MTEntryCategories><$MTCategoryDescription encode_url="1"$></MTEntryCategories></dc:description>
 <dc:creator><Agent>
 <dc:title><$MTEntryAuthor$></dc:title>
 </Agent></dc:creator>
 <dc:rights><Agent>
 <dc:title><$MTEntryAuthor$></dc:title>
 </Agent></dc:rights>
 <dc:source rdf:resource="<MTEntryCategories><$MTCategoryArchiveLink$></MTEntryCategories>"/>
 <license rdf:resource="http://creativecommons.org/licenses/by-nc-sa/2.0/tw/" />
</MTEntries>
</Work>
<License rdf:about="http://creativecommons.org/licenses/by-nc-sa/2.0/tw/">
 <permits rdf:resource="http://web.resource.org/cc/Reproduction" />
 <permits rdf:resource="http://web.resource.org/cc/Distribution" />
 <requires rdf:resource="http://web.resource.org/cc/Notice" />
 <requires rdf:resource="http://web.resource.org/cc/Attribution" />
 <prohibits rdf:resource="http://web.resource.org/cc/CommercialUse" />
 <permits rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
 <requires rdf:resource="http://web.resource.org/cc/ShareAlike" />
</License>
</rdf:RDF>
-->
Again, you should modify this template to use different license.

Now we still have to modify Main Index template. Otherwise we will get a error message during site rebuild! Here is what I have done: (Yes, you can download it as a zipped plain text file, [Index_Template]_Main_Index.UTF-8.txt.zip)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh-tw">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=<$MTPublishCharset$>" />
<meta http-equiv="Content-Language" content="zh-tw" />
<MTEntries lastn="1">
<meta name="author" content="<$MTEntryAuthor$>" />
</MTEntries>
<title><$MTBlogName$></title>
<link rel="stylesheet" href="<$MTBlogURL$>styles-site.css" type="text/css" />
<link rel="shortcut icon" href="<$MTBlogURL$>favicon.ico" />
<MTEntries lastn="1">
<link rel="author" title="Mail to author" href="mailto:<$MTEntryAuthorEmail spam_protect="1"$>" />
<link rel="made" href="mailto:<$MTEntryAuthorEmail spam_protect="1"$>" />
<link rel="start" href="<$MTBlogURL$>" title="<$MTBlogName$>" />
<link rel="copyright" title="License" href="http://creativecommons.org/licenses/by-nc-sa/2.0/tw/" />
<$MTInclude module="cc-rdf"$>
</head>
<body>
<div id="banner">
[ <$MTBlogName$> ]<br />
<span class="description"><$MTBlogDescription$></span>
</div>
<div id="content">
<div class="blog">
<div class="blogbody">
<ol>
<MTArchiveList>
<li><a href="<$MTArchiveLink$>"><$MTArchiveTitle$></a></li>
</MTArchiveList>
</ol>
</div>
</div>
</div>
<div id="links">
<div class="syndicate">
<!-- Creative Commons License -->
<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/2.0/tw/">
<img alt="Creative Commons License" style="width:88px;height:31px;border:0" src="http://creativecommons.org.tw/somerights20.gif" /></a><br />
All content of this site without other notes are released under <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/2.0/tw/">Creative Commons License</a>.
<!-- /Creative Commons License -->
</div>
<div class="powered">
<ul>
<li><a href="http://www.movabletype.org">
<img alt="Movable Type" src="http://www.movabletype.org/images/mt-logo-small.gif" style="border:0" title="Powered by: Movable Type <$MTVersion$>" /></a></li><br />
<li><a href="<$MTCGIPath$>mt.cgi" title="Login to MT">Back-end</a></li>
</ul><br />
</div>
</div>
</body>
</html>
Still, I make a CC license in this template. Feel free to modify it to present what you really want. This template also called a template module named "cc-rdf". Here you are: (Yes, again, you can download it as a zipped plain text file, [Template_Module]_cc-rdf.UTF-8.txt.zip)
<!--
<rdf:RDF xmlns="http://web.resource.org/cc/"
 xmlns:dc="http://purl.org/dc/elements/1.1/"
 xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<Work rdf:about="">
 <dc:title><$MTBlogName$></dc:title>
 <dc:date>2004</dc:date>
 <dc:description><$MTBlogDescription$></dc:description>
 <dc:creator><Agent>
 <dc:title><MTEntries lastn="1"><$MTEntryAuthor$></MTEntries></dc:title>
 </Agent></dc:creator>
 <dc:rights><Agent>
 <dc:title><MTEntries lastn="1"><$MTEntryAuthor$></MTEntries></dc:title>
 </Agent></dc:rights>
 <dc:source rdf:resource="<$MTBlogURL$>"/>
 <license rdf:resource="http://creativecommons.org/licenses/by-nc-sa/2.0/tw/" />
</Work>
<License rdf:about="http://creativecommons.org/licenses/by-nc-sa/2.0/tw/">
 <permits rdf:resource="http://web.resource.org/cc/Reproduction" />
 <permits rdf:resource="http://web.resource.org/cc/Distribution" />
 <requires rdf:resource="http://web.resource.org/cc/Notice" />
 <requires rdf:resource="http://web.resource.org/cc/Attribution" />
 <prohibits rdf:resource="http://web.resource.org/cc/CommercialUse" />
 <permits rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
 <requires rdf:resource="http://web.resource.org/cc/ShareAlike" />
</License>
</rdf:RDF>
-->
Feel free to modify it.

In order to save time for further MT site to function this, I use the approach I mentioned before to make this file, default-templates.pl.zip. You should backup your original mt/lib/MT/default-templates.pl, unpack this zip file, and then put default-templates.pl into mt/lib/MT/ replacing the old one. After this step, all your new Blog will apply these templates as default. But you still have to config blog configuration manually.

We almost done! The last thing you should treat with is to upload files used by S5. Please get this ui.zip, unpack it, upload the whole ui folder into your Local Archive Path. You have done! Now let's see how it works.

  • Blog Author's name will appear as Orator
  • Blog Author's webpage URL (set at Your Profile) will appear as Orator's Company
  • Add a new Category before making slides for new presention
    • Category Label will appear as Presentation Title
    • Category Description will appear as Presentation Location And Date
  • Add each entry for one slide page
    • Entry Title will appear as Slide Title
    • Entry Body will appear as Slide Content
    • Extended Entry will appear as Handout while printing
    • Add entry in order. First entry for first slide, as so on
    • Entry which was published early will appear as slide preceding
    • You can assign multi category to one entry to make a slide page appears in many presentation
    • Modify Authored On time do change slides order (This only can be done after an entry is saved)
    • Power Edit Mode can help you changing slides order especially when you dealing with many presentation at the same time
    • You can mark any temporarily unused slide as Draft. Or unset its Category. There are some minimal difference between these two ways. But you can try
  • The Theme of a presentation is decided by the very last slide (entry) of particular presentation (category)
    • You can find it out easily via Filter in Edit screen
    • The One field to decide presentation theme is "Keywords"
    • Show this field from the "Customize the display of this page" link below entry edit screen
    • Keep it blank (do not even put a single space in it) to use default theme
    • Enter the name of theme to apply other themes
    • There are 4 themes apart from the default one:
      • blue
      • flower
      • i18n
      • pixel

That's it. Have fun!

Posted by Jedi at November 2, 2004 12:57 AM | 中文版 (Chinese Version) | TrackBack (0)
Comments
[ 1 : Permalink ]

What the hell are you hosting? The page: http://jedi.org.ua/imho/ is a criminal fraud!

If my paypal account has any problems because of this, I get you prosecuted!

Posted by Emma at January 21, 2005 03:33 AM
[ 2 : Permalink ]

I own Jedi.org only. jedi.org.ua or whatever else is not my business.

Posted by Jedi at March 31, 2005 05:00 PM
Leave Your Comments
Personal Informaion & CAPTCHA








Remember personal info?



Enter the Security Code not shown above but a four and a two together in numeric form:
Comment Area




Jedi.org: BLOG (zh) | Weblog (Eng.) | Organism | Kwiki | S5 | TKSlide | MTBook (zh) | DIA (zh) | Résumé (Eng.) | Statistics