Index · 25.03.04
- Intro
- Tag Types
- TXP Forms: an overview
- Attributes
4.1 Frequent attributes - Page column tags
- Article Tags: article, article_custom.
- Article Navigation Tags : link_to_next, next_title, link_to_prev, prev_title, newer, older.
- Page Navigation Tags: category_list, link_to_home, popup, recent_articles, recent_comments, related_articles, search_input, section_list.
- Feed Tags: feed_link, link_feed_link
- Miscellaneous tags: output_form, linklist, css, sitename, page_title, email, site_slogan, password_protect
- Image Tags : image_index, image_display
- Form Tags
- Other tags
* * *
Intro · 25.03.04
Among other features, TXP comes with a powerful mechanism to obtain a high degree of customization in the look & feel of your TXP powered website, providing us a fine grane control over almost all the aspects we should take into consideration when we manage our site with a CMS.
All output related things are handled throughout TXP tags.
TXP tags are prefixed by txp: and look like common HTML tags or, better yet, like XML tags – lowercased, of course – where the string “txp” is the qualified namespace prefix. Just after this prefix you can find the tag name.
Also like XML/XHTML tags, TXP tags can have one or two tag marks. So, we can have “single” tags, like the <img /> tag on XHTML, or “container” tags, like the <p></p> tag on XHTML.
TXP single & container tags
<!—single tag—>
<txp:page_title />
<!—container tag—>
<txp:link_to_home>Home</txp:link_to_home>
* * *
Tag Types · 27.03.04
We can differentiate between 2 big types of TXP tags: Page column tags & Form tags.
Page column tags are intended to appear on Page Templates. You can easily create them using the TXP TAG BUILDER ASSISTANT by clicking on anyone of the links on the left side of the page section, under the presentation tab of your TXP installation.
Obviously, Form Tags are destinated to be placed on TXP forms templates. You can also build them using the TXP TAG BUILDER ASSISTANT, again on the left side of your forms section, but be careful of use the appropriated tags for each form, due to there are several types of form tags, that will have sense only in the form they were created for.
Haven’t you heard anything about TXP forms previously?. Ok, let’s go to give them a quick look before to continue.
* * *
Textpattern Forms: An Overview · 27.03.04
In TXP, forms are small template fragments, wich can be used to specify what information we want to show about an article, a comment, a link, ..., when TXP finds a page column tag referred to one of these TXP sections.
TXP forms allow us to reuse a template fragment refered to an article on different TXP pages and, better yet, to choose what info we want to show for a given article, using the override default form select on that article. (One of the coolest TXP features, without doubt).
For example, the default article form looks like this:
Default article form
<h3>
<txp:permlink><txp:title /></txp:permlink>
·<txp:posted />
</h3>
<txp:body />
<p>
<txp:comments_invite />
</p>
When TXP finds the tag <txp:article /> in a page, it will replace this tag by the contents of the selected form – the previous one, by default – and then, each form tag will be replaced by it corresponding value for the given article(s).
* * *
Attributes · 27.03.04
Many of the TXP tags can have attributes, which will be similar to common XHTML attributes on their syntax. Each tag can has its own attributes so, we’ll see them when we describe the tag they can be attached to.
But there are several attributes which can be used with a considerable number of TXP tags, keeping always the same significance. Due to this, and in order to prevent redundancy across this manual, seems logical to describe them together in any place.
This don’t mean that we can use these attributes with all TXP tags, but only with the ones listed after each attribute description.
Common attributes
limit
A lot of TXP tags are intended to show some kinda of lists: lists of links, articles, comments, ..., the limit attribute allow us to specify the maximun number of items to show on one of this TXP lists of things. The value must be a number.
So, for example, we can set the max number of articles to show on your default page by writting: <txp:article limit=”5” />
Tags which can have this attribute are: article, article_custom, linklist, recent_articles, recent_comments and related_articles.
label
Sometimes you need to add some “label” to a TXP element like, for example, a popup, (a popup is the XHTML select which comes, by default, at the right column of the TXP default page, providing your page visitors with a fast way to find and go to any section of your site).
In order to add your custom label to the elements you want, you have only to specify that label as the value for the label attribute for those elements tags. Returning to the sections popup: <txp:popup label=”Browse Site Sections” type=”s” />
wraptag
This attribute offers us the possibility of place our tag contents inside an XHTML tag of our election, without the need of specify this tag enclosing our TXP tag.
Why?, because using this tag, you will asure that if the TXP tag is replaced by nothing, you will not have empty XHTML elements in your resulting document.
Let’s say we want to place our previous example inside a <p></p> tag: <txp:popup label=”Browse Site Sections” type=”s” wraptag=”p” />.
Important: Note that we pass to the wraptag attribute the name of the XHTML tag, without the < & > signs !!!.
break
What about the possibility of specify a tag after each item on a list?. The break attribute comes to the rescue.
Use it to say TXP what tag it must place after each list item.
Custom lists [Or “The graceful combination of break & wraptag”]
Ok, let’s assume you’re a standards advocate who want to write semantical XHTML list for your links. The must question: How can I use wraptag and break combined to buil them?.
Fortunately, Dean thinked it before us. Add to your list tag the attributes break=”li” wraptag=”ul” and, with a kind of TXP magic, your lists are done!.
* * *
Article Navigation Tags · 28.03.04
Navigating single articles
TXP provides us two groups of tags to display links to the previous and next article to the current one.
You can create a link to the next article using the container tag <txp:link_to_next></txp:link_to_next> and placing the text you want to show for the link inside, for example, “Next article”; (original, eh?).
If you want to show the next article title on this link, you can place inside the previous tag <txp:next_title />.
This is the default option when you use the TXP TAG BUILDER ASSISTANT, click on the “Link to the next article” link and, then click on the “Build Tag” submit button.
At the same way, you can combine <txp:link_to_prev></txp:link_to_prev> and <txp:prev_title /> to build your custom links to previous articles.
Navigating multiple articles pages
If you want to provide this kinda of navigation links for pages where multiple articles are listed, you must use the tags <txp:newer></txp:newer> for pages which are sorted after the current one, and <txp:older></txp:older> for those ones that are place previously, in agreement to the article sorting criteria.
Pages of multiple articles are section and category pages and, of course, your main page.
So, if we have tags intended to be used only with single articles, and the equivalent ones for multiple pages, how can we use them on the same template?.
Conditionals tags to the rescue. Let’s have a look to the next example:
Paginating articles and pages
<txp:if_individual_article>
<p><txp:link_to_prev><txp:prev_title /></txp:link_to_prev> |
<txp:link_to_next><txp:next_title /></txp:link_to_next></p>
</txp:if_individual_article>
<txp:if_article_list>
<p><txp:older>Prev Page</txp:older> |
<txp:newer>Next Page</txp:newer></p>
</txp:if_article_list>
One consideration about the <txp:newer> and <txp:older> tags. As of γ1.17b, it seems these tags works only if you place them in your template after the <txp:article> tag. But don’t show nothing if you place them previously.
If you want to know more about Conditional tags, check their [future] section on this manual.
* * *
Site Navigation Tags · 28.03.04
Under this epigraph we have some tags which make possible to quickly jump from one web section to another.
The <txp:category_list /> tag
Outputs a list of site categories.
Can takes the common attributes wraptag, label and break.
The <txp:section_list /> tag
Outputs a list of site sections.
Can takes the common attributes wraptag, label and break.
Until γ1.17b this option is not show on the TXP TAGBUILDER ASSISTANT.
Link to your home page.
You can use the tag <txp:link_to_home>Home</txp:link_to_home> to place a link to your home page enywhere on your pages. Of course, you can replace “Home” with the text or XHTML you want to show inside the link; for example, an image with your site logo, or the <txp:sitename /> tag, which will be replaced for your site name as it was set on “Admin>Preferences”.
The <txp:popup /> tag
This tag allow us to display a XHTML select, offering our site users the possibility to quickly jump to a section or category specific page. Appart of the common attributes label and wraptag, this tag takes the attribute type which can has one of the values “c” or “s”, in function of we want to show a select of site categories, or another one of site sections.
The <txp:recent_articles /> tag
As it name indicates, this tags allow us to show a list of recent articles, with some attributes which allow customization.
Apart of the common attributes label, limit, break and wraptag, this tag can also takes the attributes category, sortby and sortdir with exactly the same significance they take for the <txp:article_custom /> tag.
The <txp:recent_comments /> tag
A tag to list your site recent comments.
This tag can takes as attributes the 4 described on the common attributes section.
The <txp:related_articles /> tag
A tag to list articles related to the current one, it’s to say, articles belonging to one of our current article categories.
This tag can also takes as attributes the 4 described on the common attributes section.
The <txp:search_input /> tag
This tag offer us a fast way to place a Search Button anywhere on our page. It can also take the common attributes label and wraptag, and two special new ones:
- button: the text to place on the search button.
- size: the search input field size.
* * *
Miscellaneous tags · 28.03.04
The <txp:css /> tag
This tag is intended to be used on the head section of our XHTML template, and it will load the css pointed by the attribute n, which must be the name of one of our CSS. If this attribute is not suplied, the default CSS selected for the current section will be used. (The CSS called “default” is used on front page).
So, the n=”“ option in the css tag builder is only useful if you want to override the stylesheet assigned to a section, or if you want to use more than one stylesheet on your page.
The <txp:email /> tag
This tags will show a common email XTHML link, but replacing all your email characters by their hexadecimal equivalents, in order to prevent spam. The attributes we can assign to this tag are:
- email: Your email adresses.
- linktext: The text you want to show for this link.
- title: The title attribute for the link, (that yellow tooltip showed by some links).
The <txp:linklist /> tag
Logically, the mission of this tag is to show a list of your links. Besides the common attributes limit, wraptag and break, it can takes also the next ones:
- form: Form used to format the links.
- category: The category of the links you want to list.
- sort: The sort order. The default value is %(highlight)”linksort”%, that is, the last links you’ve added to TXP. Other possible values are “date desc”, “date asc” and “random()”. [TO-DO: revise with a recent forum post related].
The <txp:sitename /> tag
Put this tag in your document on the place you want to show your Site Name as configured on “Admin>Preferences”.
The <txp:page_title /> tag
This tag will be replaced by your site name, followed by the current article title, if we’re in a single article page. You can select what character(s) will be placed between the one and the other throught the attribute separator.
This tag will output also different titles in function of the page type we’re on:
- In a category page the tag will be replaced by the site name, followed by the given separator, followed by the category name.
- In a search results page, last part of the title will be the value asigned to the key search_results on your language file. (By default, if you’re using the en-gb.txt file, “Search Results”).
- In a comments page the title will include “comments on” before the current article title.
The <txp:output_form /> tag:
The textpattern include mode.
Suppose you have a static page fragment you want to include in more than one of your pages. This fragment can change with the time, and you want all these changes be reflected on all your pages at once.
With output_form you can write that page fragment in a TXP form, and then, place it inside your page templates. Thit fragment will be included in all those pages, in the place you put this tag.
Can takes the attribute form, which indicates the form to display.
The tag can be used recursively, it’s to say, you can place this tag inside another form, and then put a the same tag pointing to the new form in another one, and so on…
Specially recommended for page headers, footers, navigation bars and almost any component repeated on your templates.
The <txp:password_protect /> tag
You can use this tag to protect some pages of your site – with HTTP_AUTH – in order to make them visibles only for people who know the required username and password. These are specified to the tag using the attributes login with the required username as value and pass, which is, of course, the password.
The <txp:site_slogan /> tag
Put this tag in your document on the place you want to show your Site Slogan as configured on “Admin>Preferences”.
Observations? [2]
* * *
Feed Tags · 11.04.04
TXP allow us to provide quick links to our XML feeds, both for articles and links.
The <txp:feed_link /> tag
We can use this tag to create links to an XML feed of our articles. This feed can be both RSS and Atom.
Among the common attributes label, wraptag and limit, this tag can also take the following ones:
- flavor: The XML format you want to use for this feed. One of rss or atom.
- category: The category for the items to be displayed. If you specify this attribute, only the articles with the given category will be shown.
- section: The section for the items to be displayed. If you specify this attribute, only the articles with the given section will be shown.
The <txp:link_feed_link /> tag
With this tag we can create a link to the XML feed for our links.
Among the common attributes label, wraptag and limit, this tag can also take the following ones:
- category: The category for the items to be displayed. If you specify this attribute, only the articles with the given category will be shown.
- flavor: The XML format you want to use for this feed. One of rss or atom. (Note: This attribute is not avaliable through TXP TAG BUILDER until γ1.17b).
* * *
Article Related Tags · 6.06.04
The <txp:article /> tag
Being probably the most important of all TXP tags, the <txp:article /> tag is a single page column tag – due to it will appear on page templates – which will be replaced by one or more articles, depending on the context it is being processed.
If TXP detects we’re requesting a determinated article, it will show that article. Otherwise, it will show a list of articles.
Can take one or more of the following attributes:
- form: the TXP form used to format the article, which determines the parts of it that will be showed. For example, “lofi”, “default”, ..., if this attribute is omitted, the article form called “deafult” is used.
- limit: the number of articles to list. 10 by default, if this atrribute is omitted and we aren’t on a specific article page.
- listform: Starting from the γ1.18a version you can use this attribute in order to specify a different form to be used when we’re listing articles.
The <txp:article_custom /> tag
This is very similar to <txp:article />, and is intended to be used when a high degree of customization is required to show one or more articles. For this reason, it can take a lot of attributes:
- form: the TXP form used to format the article.
- limit: the number of articles to list.
- category: the category of the articles to show. By default, all categories will be included.
- section: the section of the articles to show. By default, all sections selected to be on front page will be included on front page, and only articles belonging to the section we’re on in the case of a section page.
- sortby:Criteria used to sorting articles. One of
- Posted: The date we asigned to the article. This is the default option if none is specified.
- Author: The author of the articles.
- Last Modification: The last updated articles.
- Title: Sort alphabetically using article titles.
- Section: Use the section of the articles to sort them.
- sortdir: one of “asc” or “desc” in function of we want to display articles – sorted by the previous criteria if specified – ascending (The first first) or descending (first the last one).
- excerpted: One of “y” or “n”, if we want to show only articles with or without excerpt.
- month: A month in the format “yyyy-mm” to specify to show only articles published at that month.
- keywors: A comma separated list of keywords?. If we specify this, only articles that matches those [all?] keywords on the correspondent field of the article, will be shown.
- listform: Starting from the γ1.18a version you can use this attribute in order to specify a different form to be used when we’re listing articles.
* * *
Image Tags · 8.06.04
You can easily build your photo galleries using textpattern, even though image tags are not in TEXTPATTERN TAG BUILDER yet.
Next instructions are stolen directly from Textpattern Forum (thanks Dean):
First, you must upload fullsize images and corresponding thumbnails, and make sure each is in a specific category (keep the image category names simple: without spaces if possible, ‘newyear_2004’ for example).
To make an image gallery page:
- Create a new Page called something like ‘photo_page’
- Create a new section called something like ‘photo’, and tell it to use ‘photo_page’.
- In photo_page, put the tag <txp:image_index /> wherever you want the index to appear: a good idea would be to use a <div> and CSS to govern the space available for the index, and how the <img /> tags should be positioned.
- Wherever you want the fullsize image to appear on the page, put a <txp:image_display /> tag.
Then to call the gallery page (provided it is in the section ‘photo’), use:
your-txp-site.com/photo/?c=IMAGECATEGORY
At the same forum post you can find also 2 easy to use templates.
Now, a small description of these two tags:
The <txp:image_index /> tag
This tag will output a list containing all the thumbnails for a given category of images in our TXP installation. Of course, our images need to have a thumbnail, in order to display them on this index.
You can specify the attribute c to this tag in order to specify a default category for the images you want to display. If you don’t specify it, you need to pass to your image pages, at the end of the url, ?c=IMAGECATEGORY, where IMAGECATEGORY is the category of the images you want to show.
The <txp:image_display /> tag
Once we’ve created our image index, we can place this tag anywhere on the page, to show the image pointed by the thumbnails.
The <txp:thumbnail /> tag
[Avaliable since γ1.19]
Whith this tag we can output one of the thumbnails on our TXP image section anywhere in our pages. Of course, that thumbnails must exists in order to be displayed.
This tag can takes the next attributes:
- name: the name of our image in the TXP image section. [must be specified, if no id attribute present]
- id: the id of our image in the TXP DB. [must be specified if no name attribute present.]
- poplink: give this any not 0 value – for example poplink=”1” – if you want to create a link to a popup window with the image which thumbnail is asociated.
- This tag can takes also the XHTML attributes style and align.
Note that if both name and id attributes are present at once, the name value will override the id one.
Comment [2]
* * *
Displayed Comments · 28.03.04
At the same way we can select different forms to show our articles, we can choose the aspect of our comments, but with one restriction: there is a form called comments, and this is the form used to display our users comments.
Tags allowed to be placed on a comment display form are:
- <txp:comment_name />: The name of the comment author.
- <txp:comment_permlink></txp:comment_permlink>: Permanent link to this comment. Place inside the text you want to show inside this link.
- <txp:comment_time />: The date of the comment, formated as specified on the “Comments date format” on the “Admin>Preferences” screen.
- <txp:message />: the body of the comment; that is, the comment itself.
* * *
Comment Form · 28.03.04
Under this epigraph we’re going to see all the tags which we can use to customize the look of the form we present to our users to write their opinions about our articles.
These tags are:
- <txp:comment_email_input />, <txp:comment_message_input />, <txp:comment_name_input /> and <txp:comment_web_input /> are the XHTML input fields where the users can write their data and comment contents.
- <txp:comment_remember /> is the check box, used to allow the users the possibility to remember their data for future comments
- <txp:comment_preview /> and <txp:comment_submit /> are the buttons used to preview and submit the comments.
To add custom text before each one of these inputs, we can use the TXP general purpose tag <txp:text />, which will be replaced by the value you specify it on the attribute item.
Textile is also allowed in comments. No XHTML is allowed for security reasons.
* * *
Links · 3.04.04
When you want to list your links – using the <txp:linklist /> page column tag – you can choose what form TXP must use to display them. These links forms can contain any of the next tags.
- <txp:link /> The link itself, a common XHTML link, with the title you write at Title field on link edit screen, pointing – obviusly – to the URL you’ve added.
- <txp:link_description /> The link description.
- <txp:link_text /> I’m not sure of the meaning of this tag. It seems to be unsupported.
- <txp:linkdesctitle /> The link with your description as title attribute for the XHTML <a></a> element. Be careful! Do not use this tag if your descriptions contains XHTML tags.
* * *
Search results · 3.04.04
The next group of tags will be used by TXP to display your site search results if you create a form called search_results and place them inside. (If this form doesn’t exists, TXP will use a default format to display search results). Tags allowed in a search_results form – all referred to articles which match the search criteria – are:
- <txp:search_result_date />: The date you’ve posted the article.
- <txp:search_result_excerpt />: a small excerpt of the article, containing the searched word(s) highlighted with a XHTML <strong> tag.
- <txp:search_result_title />: A link to the found article, with the article title a text.
- <txp:search_result_url />: A link to the found article, with the article URL as text.
* * *
Images · 11.04.04
The <txp:image /> tag
Using this tag, you can display the image you want, using the id attribute.
We can easily obtain the id attribute value for anyone of the images we’ve uploaded througt TXP: go to the “Write>Images” section, click on the textpattern link correspondent to your image, and you’ll obtain a nice <txp:image /> tag with the correct id attribute.
Once we’ve got our tag, we can customize it with any of the following attributes:
- style: the styles you want to apply to the image. (This is the XHTML style attribute).
- align: The alignment you want to specify for this image. This is also the XHTML align attribute equivalent; so, the correct values can be one of: bottom, middle, top, left or right. (Note that this attribute is deprecated since HTML 4.01 so, if you want standards compliance pages, you shouldn’t use it).
* * *
Article Form Tags · 8.06.04
The next group of tags involves all tags which can appear inside an article form, determining the article parts that will be shown on our page, in function of the form we’re choosed to use for that article.
- <txp:title />: The title of the article.
- <txp:permlink></txp:permlink>: Permanent link to this article. Place inside the text you want to show inside this link.
- <txp:posted />: The date of the article, formated as specified on the “Date Format” or “Archive Date Format” on the “Admin>Preferences” screen.
- <txp:body />: the body of the article; that is, the article itself.
- <txp:author />: the article author name.
- <txp:category1 />: first category asigned to the article.
- <txp:category2 />: second category asigned to the article.
- <txp:section />: the section asigned to the article.
- <txp:excerpt />: the article excerpt, if any.
- <txp:article_id />: use this tag when you need to output the id of your article, (numeric value, used to univocally identify that article on the TXP Data Base). [Avaliable since γ1.19]
- <txp:article_image />: This tag allow us to show an image asociated with our article. To do this, we need to add the image url to our article putting its URL on the form field called Article image under the Advanced options for the article.
We’ve got 2 options to fill this field: If we add a number, (which must match one of your uploaded image numbers – the file name added by default to the uploaded images is a number, starting at 1 – under the TXP image section), we could use the XHTML attributes style and align with this tag, and the image tag created from this TXP tag will use the alt text you’ve added to the field Alternate text in your image section. We can also add directly an image URL – it doesn’t matter if this image hasn’t been added using TXP – and the <txp:article_image /> will simply output a XHTML image tag with that URL as src attribute. [Avaliable since γ1.19] - <txp:comments_count />: This tag will output the number of comments added to the current article.. If no comments were added, this tag will output NOTHING. [Avaliable since γ1.19]
- <txp:meta_keywords /> and <txp:meta_author />: These tags are intended to be used on the XHTML page head element, to display XHTML meta tags. In order to use them safely, you should place them inside a conditional <txp:if_individual_article>...</txp:if_individual_article>. [Avaliable since γ1.19]
- <txp:comments_invite />: this tag isn’t a simple invitation for your site users to post comments. It’s much more. If you place this tag in your page template, TXP will do different things in function of several conditions:
- If we’re on an article, where comments are disallowed, this tag will show nothing.
- If comments are allowed for the article:
- on pages with articles lists, this tag will show a link to the comment section on permanent page for the article,
- but on pages with a single article, it can show two different things, in function of the “Disabled after” time for comments has or not expired.
- If expired, it will show a comment listing of all published comments until the expiration date.
- If don’t expired, it will show also the comments editing form.
Comment [1]
* * *
Conditional tags · 12.04.04
TXP conditional tags are special tags intended to be used when we want to display the results of a template fragment only when a given condition is true.
This tags are:
- <txp:if_comments></txp:if_comments>: true when there are comments for a given article.
- <txp:if_individual_article></txp:if_individual_article>: true when we’re in a single article page
- <txp:if_article_list></txp:if_article_list>: true when we’re on a page with a list of articles (front page, category, section, search results…).
All of them are container tags so, the fragment we want to display only when the given condition is true, must be placed inside one of these tags.
You can see an example of if_individual_article and if_article_list on the Article Navigation Tags of this manual.
About the if_comments tag, since the logic behind this tag is that, when used on an article form, everything inside this tag will only appear if commenting for the article is open, or was open in the past; you can use it to add to your articles forms comment related things.
* * *
Error Notices · 12.04.04
The <txp:notice /> tag
This tag is intended to be used by plugins developers when they need to send to the users an error message, without break TXP internal “mechanism”.
The error message needs to be specified as the value of the message attribute.
For example, if you misuse an image tag, you’ll obtain a notice saying “malformed image tag” notifying you that something is wrong with the tag. This message is the resulting output of: <txp:notice message=”malformed image tag” />
* * *
Textpattern Tag Manual Changelog · 8.06.04
June, 08 2004.
- Manual updated with the new γ1.19 version tags: The article related <txp:article_id />, <txp:article_image />, <txp:comments_count />, <txp:meta_keywords />, <txp:meta_author /> and the image tag <txp:thumbnail />
June, 06 2004.
- Added listform="" parameter for <txp:article /> (γ1.18 addition).
April, 12 2004.
- Complete documentation for page_title.
- Added Conditional Tags
- Added txp:notice tag
- The all in one archive now displays items properly inside their respective sections
April, 11 2004.
- Added this changelog.
- Added anchors to all tags for easy navigation from Index.
- Added image, image_index and image_display tags.
- Added feeds related tags: feed_link and link_feed_link.
To Do list:
- Add a section about plugins and tags they can provide.
Anything more which you want to see on this manual? [2]
* * *
Textpattern 1.0RC3 · 20.02.05
As you probably know, the third release candidate of Texpattern 1.0 is out. You should know that I’ve been on the development progress for this TXP release too and, of course, that I haven’t updated the Tag Manual since May.
Jeff Soo has sent my a nice revision of the manual made by an english speaker person – which was, of course needed: to admit your limitations is the first step to solve them – and I have to properly update the existing texts, add more examples and the new tags.
Johanes Gamper is currently translating the manual to German; Hideo Joho to Japanish and TTX – my work partner – is helping me on the spanish translation.
Main idea is to collaborate with the full manual to Textpattern Book but – AIM talks are very amusing sometimes – I’ve said Dean that I jib to write on a wiki instead of use TXP to document TXP!. He is, more or less, persuaded, once wikis are now one of the favourites spammers places. Other option is to use Hieraki, this rails app really rocks, and is focused on books, so… .
* * *
