[drupal-docs] Handbook Outline

Djun Kim puregin at puregin.org
Fri Apr 22 00:39:45 UTC 2005


Hello doc people,

    while looking at the Drupal Handbook from the perspective
of PDF-ifying it,  I wrote a few little scripts to attempt
to understand its structure a little better.

    I'm attaching a text file which is a representation of
the hierarchy of section titles.  Here's the first few lines:

[1] Drupal handbook
[1] General information about Drupal
 . [2] 4.6 roadmap
 . [2] Aims
               x[h3] Use Cases and Target Users
               x[h3] Principles
               x[h2] Usability Aims
 . [2] Case studies
               x[h2] Community Portal Sites
               x[h2] Personal Web Sites
               x[h2] Aficionado Sites

The number in square brackets indicates the section 'level',
as determined by the Drupal-generated "book-h[1-9]" class
attribute in each heading.  This is followed by the
section title.   Each line is indented according to its
level.  Square brackets with an 'x' in front indicate a
header tag has been gratuitously inserted in the node text.
In this case the square bracket contains the node type.
As you can see, there is a fair amount of inconsistency here.
There are two  '<h3>' elements within the 'Aims' section,
which are at least consistent with their physical placement;
these are followed by an '<h2>' element, which should not
logically be a parent of the 'Aims' section, since it is
ostensibly an '<h2>' node.

Here's a summary of the distribution and disposition of
all header tags in the Drupal handbook, as at April 20:

-------------------
h1	       11
h2	       80
h3	      132
h4	       75
h5	       26
h6	        3
-------------------
book	  327

-------------------
x-h1	   14
x-h2	  202
x-h3	  173
x-h4	   24
x-h5	    0
x-h6	    1
-------------------
non-book  414
-------------------
total	  741


As we can see, there are H5 and H6 tags used.  This would give:

Tag     Division name     possible numeric label (for x-refs)
------------------------------------------------------------
H1 <--> Part              I,II,III
H2 <--> Chapter           (I.)1, 2
H3 <--> Section           1.1, 1.2
H4 <--> Subsection        1.1.1, 1.1.2
H5 <--> Subsubsection     1.1.1.1, 1.1.1.2
H6 <--> Subsubsubsection  1.1.1.1.1, 1.1.1.1.2

I think that subsubsubsections are not necessary, unless we plan to
draft major legal documents into the handbook :)  So I propose that
we limit the number of levels to 5, and eschew H6 and higher.

   There also appear to be some problems with duplicated heading
titles, and some problems with non-unique ids.  Also, doesn't
XML prohibit purely numeric id's?  I should know this.

   Cheers, Djun

-- 
puregin at puregin.org
http://www.puregin.org
-------------- next part --------------
[1] Drupal handbook
[1] General information about Drupal
 . [2] 4.6 roadmap
 . [2] Aims
               x[h3] Use Cases and Target Users
               x[h3] Principles
               x[h2] Usability Aims
 . [2] Case studies
               x[h2] Community Portal Sites
               x[h2] Personal Web Sites
               x[h2] Aficionado Sites
               x[h2] Intranet/Corporate Web Sites
               x[h2] Resource Directories
               x[h2] International Sites
 .  . [3] Success stories
 .  .  . [4] contaire.com - A Corporate Website Based On Drupal
               x[h2] Our requirements
               x[h2] The ingredients
               x[h2] A dynamic horizontal tab menu
               x[h2] A new teaser.module
               x[h2] Two columns, but sorted, please
               x[h2] Conclusion
 .  .  . [4] Why Linux Journal converted to Drupal and how it went.
 . [2] Community: structure and roles
               x[h3] The Drupal Core
               x[h3] Contributions
               x[h3] Documentation and Support
               x[h3] Users
 . [2] Download Drupal, modules, themes and translations
 . [2] Druplicon (the logo)
 . [2] Feature overview
 . [2] Hosting and services
               x[h2] Table of contents
               x[h2] <a id="hosting" name="hosting"></a>Drupal Hosting
               x[h3] <a id="opensource" name="opensource"></a>OpenSourceHost
               x[h3] <a id="cascade" name="cascade"></a>CascadeHosting
               x[h3] <a id="grafix" name="grafix"></a>GrafiX Internet B.V.
               x[h3] <a id="norrix" name="norrix"></a>Norrix
               x[h2] <a id="services" name="services"></a>Drupal Services
               x[h3] <a name="moshe"></a>Moshe Weitzman
               x[h4] Services
               x[h4] Qualifications
               x[h4] Moshe's Recent Clients
               x[h3] <a id="teledynamics" name="teledynamics"></a>Teledynamics Communications
               x[h3] <a id="webschuur" name="webschuur"></a>webschuur.com
               x[h3] <a id="steven" name="steven"></a>Steven Wittens
               x[h3] <a id="gerhard" name="gerhard"></a>Gerhard Killesreiter
               x[h3] <a id="gotnerd" name="gotnerd"></a>Trae McCombs and Kyle Smith
               x[h3] <a name="gordon" id="gordon"></a>Heydon Consulting - Gordon Heydon
               x[h3] <a id="matt" name="matt"></a>Matt Westgate
               x[h3] <a id="chx" name="chx"></a>K&aacute;roly N&eacute;gyesi
               x[h3] <a id="2bits" name="2bits"></a>2bits.com
               x[h2] How to be listed on this page
 . [2] Presentations and articles
 . [2] Rolling your own system vs using Drupal
               x[h2] The drupal path is fun and educational
               x[h2] Drupal's user and developer base
               x[h2] With Drupal, you are able to create a cool site
               x[h2] Drupal is flexible
               x[h2] You can grow in the future with Drupal
 . [2] Sites that use Drupal
 . [2] Where does the name 'Drupal' come from?
 . [2] Donating to the Drupal project
               x[h2] Donate
               x[h2] Donors
               x[h2] Expenses
[1] User's guide
 . [2] Basic concepts
               x[h2] What is "content management"?
               x[h2] Of variations and modules
 . [2] Registering and logging in
               x[h2] Registering as a user
               x[h2] Logging in
 . [2] Changing your account settings
               x[h3] Account Settings
               x[h3] Additional Information
 . [2] Creating new content
               x[h2] Different types of content
               x[h2] Topics/categories/terms
               x[h2] Permissions
               x[h2] Submission queue
 .  . [3] Creating comments
               x[h2] Making comments
               x[h2] Etiquette
               x[h2] "Threaded" comments
 .  . [3] Adding "nodes" (stories, forum topics, etc.)
               x[h2] Preparing content
 .  .  . [4] Creating a story
               x[h2] Admin stuff
               x[h2] Title
               x[h2] Topics
               x[h2] Body
 .  . [3] Alternative ways to enter content
 .  .  . [4] Posting and editing content with w.bloggar
 . [2] Editing and deleting content
[1] Administrator's guide
 . [2] Drupal terminology
               x[h3] General terms
               x[h3] Node types
 . [2] Installation
 .  . [3] System requirements
 .  . [3] Installing new modules
 .  . [3] Installation process
 .  .  . [4] General Instructions
 .  .  . [4] How to install Drupal for newbies using Windows, FTP and phpMyAdmin
               x[h3] Upload the database.
               x[h3] Get Drupal ready.
               x[h3] Change "/tmp" on your drupal site.
               x[h3] You're done!
 .  .  . [4] Installing Drupal in a subdirectory
 .  .  . [4] Linux specific guidelines
 .  .  .  . [5] Installing PHP, MySQL and Apache under Linux
 .  .  . [4] Moving Your Drupal Installation To A New Directory
               x[h2] Copy Files
               x[h2] Change Path
               x[h2] Update Cron
               x[h2] Delete Old Directory
 .  .  . [4] MS SQL Server Guidelines
 .  .  . [4] OSX Specific Guidelines
 .  .  . [4] PostgreSQL specific guidelines
 .  .  .  . [5] Installing PostgreSQL on Windows
 .  .  . [4] Windows specific guidelines
 .  .  .  . [5] Installing Apache (with PHP) on Windows
 .  .  .  . [5] Installing MySQL on Windows
 .  .  .  . [5] Installing PHP4 on Windows
 .  .  .  . [5] Untar
 .  .  .  . [5] Using Clean URLs with IIS
 .  .  .  . [5] Installing Drupal on Windows
 .  .  .  .  . [6] Installing Drupal on Windows Ext
 .  .  .  .  . [6] Installing Drupal on Windows Ext
 .  .  . [4] Windows XP IIS development test system guidelines
 .  . [3] Installing new themes
 .  . [3] Migrating from other weblog software to Drupal
 .  .  . [4] Migrating from ezPublish
 .  .  .  . [5] Move ezp database content to drupal database
 .  .  .  . [5] Parse ezxml (in perl, with LWP::UserAgent)
 .  .  .  . [5] Get ezpublish user real names for drupal profile.module
 .  .  . [4] Migrating from Geeklog
 .  .  . [4] Migrating from LiveJournal
 .  .  .  . [5] Import your LJ through an IFRAME held in a Book Page or similar
 .  .  .  . [5] Using provided Import Module
 .  .  .  . [5] Use the Livejournal Module to import the raw data into Drupal
 .  .  . [4] Migrating from Movable Type
 .  .  .  . [5] Extract Movable Type content as xml
 .  .  .  . [5] Moving your MT styles and templates
 .  .  .  . [5] Template for MT entry and comment export and Drupal import
               x[h2] To do:
               x[h2] Limitations:
               x[h2] Instructions:
 .  .  .  . [5] Parse xml into sql insert statements
 .  .  .  . [5] Insert content into drupal nodes
 .  .  .  . [5] Setting terms for inserted nodes
 .  .  . [4] Migrating from PHPNuke
 .  .  .  . [5] Migrating themes
 .  .  .  . [5] Migrating users
 .  .  . [4] Migrating from PostNuke
 .  .  .  . [5] Configuring mod_rewrite in .htaccess for PN legacy URLs in
 .  .  . [4] Search Engine Friendly Migration
 .  . [3] More than one drupal site on one machine
               x[h2] General Rules for Multiple Drupal Deployments
               x[h3] Drupal IDs
 .  .  . [4] Multiple directories
 .  .  . [4] Multiple domains or vhosts
 .  .  .  . [5] Multiple domains or vhosts using different databases
 .  .  .  . [5] Multiple domains using the same database
 .  . [3] Tuning your server for optimal Drupal performance
 .  .  . [4] Tuning PHP
 .  .  .  . [5] PHP Caches
 .  .  .  .  . [6] Turck MMCache
 . [2] Configuration
 .  . [3] Initial configuration
               x[h3] Changing Drupal's basic settings
               x[h3] See the links below for further guidance
 .  .  . [4] Anonymous user
 .  .  . [4] Default front page
               x[h3] Examples:
 .  .  . [4] Clean URLs
 .  .  . [4] Error handling and reporting
               x[h3] Error pages
               x[h3] Error reporting
 .  .  . [4] Cache support
               x[h3] How Drupal's cache works
 .  .  . [4] File system settings
               x[h3] Path settings
               x[h3] Download method
               x[h3] Dealing with error messages
 .  .  . [4] Date and time settings
 .  . [3] Customizing the interface
 .  . [3] Customizing user login
               x[h3] Disable Login Block
 .  . [3] Congestion control: tuning the auto-throttle
 .  . [3] Adding syndicated content (newsfeeds, RSS) to your site
 .  . [3] Database table prefix (and sharing tables across instances)
               x[h3] Simple usage
               x[h3] Advanced usage
               x[h3] Super advanced usage
               x[h3] Tables that should not be shared
 .  . [3] Search engine friendly and robots.txt
               x[h2] robots.txt file
 .  . [3] The tolerant Base URL
               x[h6] Warning
 . [2] Blocks
               x[h2] What are Blocks?
               x[h2] Configuring Blocks
               x[h3] Block Visibility
               x[h3] Weight
               x[h3] Path
               x[h3] Custom Administrator Defined Blocks
               x[h3] Note about Block Titles
               x[h3] Custom Blocks
 .  . [3] Show block to certain users only
               x[h3] How to show a block only to logged-in users
               x[h3] How to show a block only to anonymous users
               x[h3] How to show a block only to certain users
 .  . [3] Debugging the Path
 .  . [3] Custom login
 .  . [3] All published content in a list.
 .  . [3] Blog Categories
 .  . [3] Blogcentric Random Image
 .  . [3] Comment Approval Count Block
 .  . [3] Counter (x days before / past...)
 .  . [3] Hits by Month
 .  . [3] Latest stories block
 .  . [3] Paypal blocks
 .  . [3] Pull Down Top Level Category Links
 .  . [3] Random image
 .  . [3] Random image display
 .  . [3] Show highest contributers to a site
 .  . [3] Submission queue block
 .  . [3] Top users by comment number
 .  . [3] Uptime and load on Unix systems
 . [2] Drupal modules and features
 .  . [3] A blog for every Drupal user
               x[h3] Configuring User Blogs
               x[h3] Making User Blogs More Accessible
               x[h3] Additional features
 .  . [3] Collaborative book or documentation writing
               x[h3] Maintaining a FAQ using a collaborative book
 .  .  . [4] Printing PHP Variables from GET or POST Forms
 .  . [3] Comment system
               x[h3] User control of comment display
               x[h3] Additional comment configurations
               x[h3] Notification of new comments
               x[h3] Comment moderation
               x[h4] Moderation votes
               x[h4] Moderator vote/values matrix
               x[h4] Creating comment thresholds
               x[h4] Initial comment scores
 .  . [3] Cron system and crontab
               x[h3] <a id="cron">Cron</a>
 .  . [3] Directory Server (Drupal Sites)
 .  . [3] Discussion forums
 .  . [3] Drupal as a news aggregator
               x[h3] What do I need to subscribe to a feed?
               x[h3] Configuring news feeds
               x[h3] Creating Categories in the Aggregator
               x[h3] Tagging Individual Items in the Aggregator
               x[h3] Using the News Aggregator
               x[h3] RSS feed blocks
 .  . [3] Extending user information (profiles)
               x[h4] About extending the profile module:
               x[h4] How to extend the profile module:
               x[h4] Pictures (avatars) in the user.module
 .  . [3] Locale or internationalization support
               x[h3] How to interface translation works
 .  . [3] Moderation, collaborative rating
 .  .  . [4] Moderation queue
 .  .  . [4] Comment rating
 .  . [3] Polls or enquetes
 .  . [3] Post content using the Blogger API
 .  . [3] Putting blocks with content in the sidebars
               x[h3] Administrator defined blocks
 .  . [3] Search configuration
 .  . [3] Statistics, top nodes and access log
               x[h3] Introduction
               x[h3] Configuring the statistics module
               x[h3] Popular content block
 .  . [3] Support for static pages
 .  . [3] Taxonomy (alias sections and categories)
               x[h3] Vocabularies and Terms
               x[h4] Creating a Vocabularly
               x[h4] Creating Terms
               x[h4] Advanced: Using Hierarchies
               x[h3] <a name="taxonomyURL"></a>Using Vocabularies: Displaying Nodes by Terms
               x[h3] More about Taxonomy
 .  .  . [4] Creating a Block with links belonging to certain taxonomy terms
 .  . [3] Tracker
 .  . [3] URL aliasing
               x[h3] Background
               x[h3] Permissions
               x[h3] Mass URL aliasing
 .  . [3] Watchdog
 .  . [3] Weblogs.com, technorati.com and blo.gs notification
 .  . [3] User management system
               x[h3] Managing access control with permissions and user roles.
               x[h4] Assigning permissions and users to roles
               x[h4] Adjusting permissions after adding modules
               x[h3] User authentication
               x[h3] User preferences and profiles
 .  .  . [4] Using distributed authentication
               x[h3] Distributed authentication<a id="da"></a>
               x[h4] <a id="drupal"></a>Drupal
 . [2] Upgrading from previous versions
 .  . [3] Upgrading from Drupal 2.00 to 3.00
 .  . [3] Upgrading from Drupal 3.00 to 4.00 and later versions
 . [2] Backups
 . [2] Best practices guidelines
               x[h3] Backing Up Your Drupal Site
               x[h3] Test Sites
               x[h3] File / directory management
               x[h3] Accounts and roles
 . [2] Troubleshooting FAQ
 .  . [3] Installation / Configuration
 .  .  . [4] "headers already sent" error
 .  .  . [4] "LOCK TABLES sequences WRITE" Error
 .  .  . [4] "method POST is not allowed for the URL /index.htm" Error
 .  .  . [4] .htaccess page forbidden
 .  .  . [4] E-Mail from Drupal is Bouncing or not being Sent
 .  .  . [4] File permissions
               x[h3] Solution 1 (recommended)
               x[h3] Solution 2
 .  .  . [4] How can I adminstrate my navigation on my drupal site?
 .  .  . [4] How do I unset the clean urls?
 .  .  . [4] no content on main page for non admin users
 .  .  . [4] PHP Safe Mode Issue
 .  .  . [4] What is the minimum version of PHP?
 .  .  . [4] How can I install modules?
 .  . [3] Nodes
 .  .  . [4] cant create static php page
 .  .  . [4] PHP content won't parse
 .  .  . [4] Schedule and Expire Nodes
 .  . [3] Search
 .  .  . [4] Search index db empty / incomplete
 .  .  . [4] search multibytes language
 .  . [3] Polls
 .  .  . [4] Are polls supported in Drupal?
 .  .  . [4] Can a user vote more than once in a poll?
 .  . [3] Miscellaneous
 .  .  . [4] Download offline copy of drupaldocs.org - stuck without net access
 .  .  . [4] How can I change Drupal's character encoding? (UTF-8 and Unicode)
 .  .  . [4] How do I report a bug in Contributed modules
 .  .  . [4] Making a custom script work (independently) along with a Drupal setup
 .  .  . [4] Move existing site to new server
 .  .  . [4] Moving your site to another url
 .  .  . [4] My URL is wrong in the list of Drupal Sites
 .  .  . [4] truncated fields / unable to login / php 4.2.3 bug
 .  .  . [4] How to install a Patch?
[1] Contributor's guide
 . [2] Contributing to Drupal
               x[h2] Types of Contributions
 .  . [3] Bug reports
 .  . [3] Feature suggestions
 .  . [3] Task List
 .  . [3] The revision process
 .  . [3] Criteria for evaluating proposed changes
 .  . [3] Tips for contributing to the core
 . [2] Mailing lists
               x[h2] Drupal-support
               x[h2] Drupal-devel
               x[h2] Drupal-docs
               x[h2] Drupal-cvs
 .  . [3] Accessing the Drupal mailing lists using a news server
 .  . [3] Mailing of project issues
 . [2] Coding standards
               x[h1] Drupal Coding Standards
               x[h2] Indenting
               x[h2] Control Structures
               x[h2] Function Calls
               x[h2] Function Declarations
               x[h2] Comments
               x[h2] Including Code
               x[h2] PHP Code Tags
               x[h2] Header Comment Blocks
               x[h2] Using CVS
               x[h2] Example URLs
               x[h2] Naming Conventions
               x[h3] Functions and Methods
               x[h3] Constants
               x[h3] Global Variables
               x[h3] Filenames
 .  . [3] Comments
 .  . [3] Indenting
 .  . [3] PHP Code tags
 .  . [3] SQL naming conventions
 .  . [3] Functions
 .  . [3] Constants
 .  . [3] Control structures
 .  . [3] Header comment blocks
 . [2] CVS repositories
               x[h3] Additional references
               x[h3] Drupal CVS repositories
 .  . [3] Main repository
 .  . [3] Contributions repository
 .  .  . [4] Adding a file to the CVS repository
 .  . [3] CVS front ends for Windows
 .  . [3] CVS on Mac OS X
 .  .  . [4] Concepts of CVS
               x[h3] Repository
               x[h3] Branch
               x[h3] Head
               x[h3] Working copy / Work area
               x[h3] Project
               x[h3] Patch
 .  .  . [4] Setting up
               x[h2] Step By Step CVS
               x[h2] CVL
               x[h2] Setup
               x[h2] Using CVS / CVL
 .  .  . [4] Preparing a project
 .  .  . [4] Committing a project
               x[h3] CVS
               x[h3] Project
 .  . [3] Promoting a project to be an official release
 .  . [3] Apply for contributions CVS access
 .  . [3] Using CVS with branches and tags
               x[h2] <a name="windows">Windows</a>
               x[h2] <a name="branches">Available Branches</a>
 .  . [3] Tracking Drupal source with CVS
               x[h3] An Example
               x[h3] Updating the vendor branch
               x[h3] Summary
               x[h3] Additional Resources
 .  . [3] Sandbox maintenance rules
 . [2] PHP Debugger
 . [2] APIs and functions (Doxygen)
 .  . [3] Doxygen Formatting Conventions
               x[h2] General documentation syntax
               x[h2] Documenting files
               x[h2] Documenting functions
               x[h2] Documenting hook implementations
               x[h2] Documenting themeable functions
 . [2] Creating and sending your patches
 .  . [3] Diff and patch
 .  .  . [4] Diff and patch on Windows
               x[h1] diff
               x[h1] patch
               x[h1] diff and patch
 .  . [3] Rules of reviewing patches
 . [2] Maintaining a project on drupal.org
               x[h3] Creating a project
               x[h3] Dowloads and packaging
               x[h3] Managing releases
               x[h3] Orphaned projects
 . [2] Drupal.org site maintainers
 . [2] Drupal test suite
[1] Module developer's guide
 . [2] Introduction to Drupal modules
 . [2] Drupal's page serving mechanism
 . [2] Tips for database compatibility
 . [2] Updating your modules
 .  . [3] Converting 3.0 modules to 4.0
               x[h1] Required changes
               x[h2] Modified form function:
 .  . [3] Converting 4.0 modules to 4.1
               x[h1] Required changes
               x[h2] Modified block hook:
               x[h3] Drupal 4.0:
               x[h3] Drupal 4.1:
               x[h2] Modified taxonomy API:
               x[h3] Drupal 4.0:
               x[h3] Drupal 4.1:
               x[h1] Optional changes
 .  . [3] Converting 4.1 modules to 4.2
 .  . [3] Converting 4.2 modules to 4.3
 .  .  . [4] Creating modules: 4.3.1
               x[h2] Introduction
               x[h2] Getting Started
               x[h2] Telling Drupal about your module
               x[h2] Telling Drupal who can use your module
               x[h2] Announce we're have block content
               x[h2] Generate content for a block
               x[h2] Installing, enabling and testing the module
               x[h2] Create a module configuration (settings) page
               x[h2] Adding menu links and creating page content
               x[h2] Letting Drupal know about the new function
               x[h2] Adding a more link and showing all entries
               x[h2] And we're done!
               x[h2] Further notes
 .  . [3] Converting 4.3 modules to 4.4
               x[h2] Menu system
               x[h2] Theme system
               x[h2] Node system
               x[h2] Filter system
               x[h2] Emitting links
               x[h2] Status and error messages
 .  . [3] Converting 4.4 modules to 4.5
               x[h2] Menu system
               x[h2] Path changes
               x[h2] Node changes
               x[h2] Filtering changes
               x[h3] Check_output() changes
               x[h3] Filter hook
               x[h3] Filter tips
               x[h2] Other changes
 .  .  . [4] Creating Modules for 4.5.*
               x[h2] Introduction
               x[h2] Getting Started
               x[h2] Telling Drupal about your module
               x[h2] Telling Drupal who can use your module
               x[h2] Announce we have block content
               x[h2] Generate content for a block
               x[h2] Installing, enabling and testing the module
               x[h2] Create a module configuration (settings) page
               x[h2] Adding menu links and creating page content
               x[h2] Letting Drupal know about the new function
               x[h2] Adding a more link and showing all entries
               x[h2] And we're done!
               x[h2] Further notes
 .  . [3] Converting 4.5 modules to 4.6
               x[h3] Block system
               x[h3] Search system
               x[h3] Module paths
               x[h3] Database backend
               x[h3] Theme system
               x[h3] Watchdog messages
               x[h3] Node markers
               x[h3] Control over destination page after form processing
               x[h3] Confirmation messages
               x[h3] Inter module calls
               x[h3] Node queries
               x[h3] Text output
 . [2] Writing a node module
 . [2] Writing efficient database JOINs
 . [2] Connecting to multiple databases within Drupal
 . [2] Drupal's menu building mechanism
 . [2] Drupal's node building mechanism
 .  . [3] How Drupal handles access
 . [2] 'Status' field values for nodes and comments
 . [2] Writing themable modules
[1] Theme developer's guide
 . [2] Theming overview
               x[h2] Creating custom themes
 . [2] PHPTemplate theme engine
 .  . [3] Installing PHPTemplate
 .  . [3] Creating a new PHPTemplate
 .  . [3] Block.tpl.php
               x[h2] Available variables
               x[h2] Default template
 .  . [3] Box.tpl.php
               x[h2] Available variables
               x[h2] Default template
 .  . [3] Comment.tpl.php
               x[h2] Available variables
               x[h2] Default template
 .  . [3] Node.tpl.php
               x[h2] Available variables
               x[h2] Default template
 .  . [3] Page.tpl.php
               x[h2] Available variables
               x[h2] Default template
 .  . [3] Alternative templates for different node types.
 .  . [3] Making additional variables available to your templates
 .  . [3] Overriding other theme functions
 .  .  . [4] A BEFORE and AFTER example of Overriding the User Profile Pages using PHPTemplate
               x[h2] Before
               x[h2] After
 .  .  . [4] Protecting content from non-logged in users when using phptemplate overrides
               x[h2] Using PHPTemplate Overrides with protected content
               x[h2] Example
               x[h2] Solution
 .  . [3] Theme Snippets Repository
 .  .  . [4] Custom Login
 .  . [3] Themeing Flexinode (example)
               x[h3] The Quick Version
               x[h4] Create template.php
               x[h4] Create flexinode_timestamp.tpl.php
               x[h3] The Long Version
               x[h4] 1. find the theme function for the flexinode field
               x[h4] 2. Create template.php and add override function
               x[h4] 3. Create flexinode_timestamp.tpl.php to do formatting
               x[h3] Example Files
               x[h4] template.php
               x[h4] flexinode_timestamp.tpl.php
 . [2] XTemplate theme engine
 .  . [3] Creating a new XTemplate
 .  . [3] Template Basics
               x[h2] Section Tags
               x[h2] Item Tags
 .  . [3] Header Section
               x[h2] The Section
               x[h2] Prolog
               x[h2] DOCTYPE
               x[h2] {head_title}
               x[h2] {head}
               x[h2] {styles}
               x[h2] {onload_attributes}
               x[h2] {logo}
               x[h2] {site_name}
               x[h2] {site_slogan}
               x[h2] {secondary_links} {primary_links}
               x[h2] Search Box
               x[h3] {search_url}
               x[h3] {search_description}
               x[h3] {search_button_text}
               x[h2] Mission
               x[h3] {mission}
               x[h2] Title
               x[h3] {title}
               x[h2] Tabs
               x[h3] {tabs}
               x[h2] {breadcrumb}
               x[h2] Help
               x[h3] {help}
               x[h2] Message
               x[h3] {message}
 .  . [3] Node Section
               x[h2] The Node Section
               x[h2] {sticky}
               x[h2] Picture
               x[h2] {picture}
               x[h2] Title
               x[h3] {link}
               x[h3] {title}
               x[h3] {submitted}
               x[h2] Taxonomy
               x[h3] {taxonomy}
               x[h2] {content}
               x[h2] Links
               x[h3] {links}
 .  . [3] Comment
               x[h2] The Comment Section
               x[h2] Avatar
               x[h2] {avatar}
               x[h2] Title
               x[h3] {link}
               x[h3] {title}
               x[h2] Submitted
               x[h3] {submitted}
               x[h2] New
               x[h3] {new}
               x[h2] Content
               x[h3] {content}
               x[h2] Links
               x[h3] {links}
 .  . [3] Blocks
               x[h1] The Section
               x[h2] {blocks}
               x[h2] Block
               x[h2] {module}
               x[h2] {delta}
               x[h2] {title}
               x[h2] {content}
 .  . [3] Footer
               x[h2] The Footer Section
               x[h2] Message
               x[h3] {footer_message}
               x[h3] {footer}
 .  . [3] Editing With Golive
               x[h2] Set Up
               x[h2] Editing
 . [2] Plain PHP themes
 . [2] Suggestions for theme coding style
 . [2] Tips for designing themes in Dreamweaver, GoLive etc.
 .  . [3] Dreamweaver
               x[h2] In Extensions.txt
               x[h2] In MMDocumentTypes.xml
 . [2] Updating your themes
 .  . [3] Converting 3.0 themes to 4.0
               x[h1] Required changes
               x[h2] Changes in class definition
               x[h2] Changes in function header()
               x[h4] Changes in function node()
               x[h2] Changes in function footer()
               x[h1] Optional changes
               x[h2] New function: system()
 .  . [3] Converting 4.0 themes to 4.1
               x[h1] Required changes
               x[h1] Optional changes
               x[h2] theme_head
 .  . [3] Converting 4.1 themes to 4.2
               x[h1] Required changes
               x[h2] Add a theme_onload_attribute() to a &lt;body&gt; tag:
               x[h1] Optional changes
               x[h2] Take advantage of settings() hook
               x[h2] Direct you site logo to index.php
 .  . [3] Converting 4.2 themes to 4.3
 .  . [3] Converting 4.3 themes to 4.4
 .  . [3] Converting 4.4 themes to 4.5
               x[h2] Directory structure
               x[h2] Tabs (a.k.a. Local Tasks)
               x[h2] Status Messages
               x[h2] Static vs. Sticky
               x[h2] Avatar vs. User Picture
               x[h2] Theme Screenshots
               x[h2] Centralized Theme Configuration
               x[h2] Styles
               x[h2] _help hook
 .  . [3] Converting 4.5 themes to 4.6
               x[h3] Search form
               x[h3] Node links
               x[h3] Pages
               x[h3] Node and comment markers
               x[h3] Pager and menu item themeing
               x[h3] Text validation changes
 . [2] Theme screenshot guidelines
 . [2] Adding your theme to Drupal.org
[1] Documentation writer's guide
 . [2] Authoring guidelines
               x[h3] Formatting:
               x[h3] HTML markup:
               x[h3] Miscellaneous:
 . [2] How and when do I update a page?
 . [2] How to add a page to the Handbook
 . [2] Adding screenshots
[1] Translator's guide
 . [2] Translation templates
 . [2] Programs to use for translation
 .  . [3] Issues using poEdit
               x[h3] Plurals Solution #1
               x[h3] Plurals Solution #2
               x[h3] Plurals Solution #3
 . [2] Translated Drupal Information
               x[h3] Spanish
 . [2] Translation guidelines
 . [2] Translation of contributed modules
 . [2] Distributing the translation effort
 . [2] Status of the translations
               x[h2] Status overview
               x[h2] Checking your translation status
 . [2] Make a single file from the loose .po files from CVS
 . [2] Recycling old translations
 . [2] Troubleshooting
 .  . [3] Weird characters or question marks
[1] Marketing resources
 . [2] Banners
               x[h3] Small
               x[h3] Medium
               x[h3] Links
 . [2] Booklet
 . [2] Druplicon
               x[h3] Bitmap versions
               x[h3] Vector formats
               x[h3] Other formats
               x[h3] Logo colors
 . [2] Presentations
 . [2] Reviews
 . [2] Posters
[1] About the handbook
 . [2] Commenting on the handbook pages
 . [2] Copyright and licensing
 . [2] Book contributors


More information about the drupal-docs mailing list