ebook img

Blogging PDF

377 Pages·2006·36.88 MB·English
by  
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Blogging

5815_Ch00_FM_FINAL 1/23/06 11:56 AM Page i Blog Design Solutions Andy Budd, Simon Collison, Chris J. Davis, Michael Heilemann, John Oxton, David Powers, Richard Rutter, Phil Sherry 5815_Ch00_FM_FINAL 1/23/06 11:56 AM Page ii Blog Design Solutions Copyright © 2006 by Andy Budd, Simon Collison, Chris J. Davis, Michael Heilemann, John Oxton, David Powers, Richard Rutter, Phil Sherry All rights reserved. No part of this work may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording, or by any information storage or retrieval system, without the prior written permission of the copyright owner and the publisher. ISBN-13 (pbk): 978-1-59059-581-7 ISBN-10 (pbk): 1-59059-581-5 Printed and bound in the United States of America 9 8 7 6 5 4 3 2 1 Trademarked names may appear in this book. Rather than use a trademark symbol with every occurrence of a trademarked name, we use the names only in an editorial fashion and to the benefit of the trademark owner, with no intention of infringement of the trademark. Distributed to the book trade worldwide by Springer-Verlag New York, Inc., 233 Spring Street, 6th Floor, New York, NY 10013. Phone 1-800-SPRINGER, fax 201-348-4505, e-mail [email protected], or visit www.springeronline.com. For information on translations, please contact Apress directly at 2560 Ninth Street, Suite 219, Berkeley, CA 94710. Phone 510-549-5930, fax 510-549-5939, e-mail [email protected], or visit www.apress.com. The information in this book is distributed on an “as is” basis, without warranty. Although every precaution has been taken in the preparation of this work, neither the author(s) nor Apress shall have any liability to any person or entity with respect to any loss or damage caused or alleged to be caused directly or indirectly by the information contained in this work. The source code for this book is freely available to readers at www.friendsofed.comin the Downloads section. Credits Lead Editor Copy Editor Chris Mills Nancy Sixsmith Technical Reviewer Assistant Production Director Jake Smith Kari Brooks-Copony Editorial Board Production Editor Steve Anglin Ellie Fountain Dan Appleman Ewan Buckingham Compositor and Artist Gary Cornell Diana Van Winkle Jason Gilmore Jonathan Hassell Proofreader James Huddleston Nancy Riddiough Chris Mills Matthew Moodie Indexer Dominic Shakeshaft Julie Grady Jim Sumser Matt Wade Interior and Cover Designer Kurt Krames Project Manager Kylie Johnston Manufacturing Director Tom Debolski Copy Edit Manager Nicole LeClerc 5815_Ch00_FM_FINAL 1/23/06 11:56 AM Page iii To my wife Heather and my son Jakob, my reasons for being —Chris J. Davis To the Missus and my children, for whom this chapter will mean absolutely nothing —John Oxton I would like to thank Wendy for bearing with me and doing more than her fair share of washing up —Richard Rutter For my brother, Simon Sherry October 24, 1965–April 6, 2005 —Phil Sherry 5815_Ch00_FM_FINAL 1/23/06 11:56 AM Page iv 5815_Ch00_FM_FINAL 1/23/06 11:56 AM Page v CONTENTS AT A GLANCE About the Authors. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv About the Technical Reviewer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xix Acknowledgments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxi Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxiii Chapter 1: The “Web Log” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Chapter 2: Creating a Local Test Environment for Your Blog. . . . 17 Chapter 3: Movable Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 Chapter 4: ExpressionEngine . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 Chapter 5: WordPress. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 Chapter 6: Textpattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215 Chapter 7: Write Your Own Blog Engine . . . . . . . . . . . . . . . . . . . 273 Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339 5815_Ch00_FM_FINAL 1/23/06 11:56 AM Page vi 5815_Ch00_FM_FINAL 1/23/06 11:56 AM Page vii CONTENTS About the Authors. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv About the Technical Reviewer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xix Acknowledgments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxi Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxiii Chapter 1: The “Web Log” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 The “web log” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Blogging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2004: Year of the blog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Blogging options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Ready made . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Install your own . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Code your own . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Technologies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 How does it work? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Really Simple Syndication (RSS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Mac OS X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Technorati . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Tags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Flickr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Chapter 2: Creating a Local Test Environment for Your Blog. . . . 17 Taking a quick look under the hood . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 What you need to build a local test environment . . . . . . . . . . . . . . . . . . . . . 21 How much does it all cost? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Why not use an all-in-one package? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Setting up on Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Getting Windows to display filename extensions . . . . . . . . . . . . . . . . . . . . . 23 Installing Apache on Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 Deciding which port to run Apache on . . . . . . . . . . . . . . . . . . . . . . . . 24 Removing an existing installation of Apache 1.3 . . . . . . . . . . . . . . . . . . . 24 5815_Ch00_FM_FINAL 1/23/06 11:56 AM Page viii CONTENTS Starting and stopping Apache on Windows . . . . . . . . . . . . . . . . . . . . . . 28 Changing startup preferences or disabling Apache . . . . . . . . . . . . . . . . . . 28 Setting up PHP on Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 Configuring Apache to work with PHP . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 “Cannot load mysqli extension” . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 Enabling support for CGI scripting on Windows . . . . . . . . . . . . . . . . . . . . . . 38 Installing MySQL on Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 Changing the default table type on Windows Essentials . . . . . . . . . . . . . . . 48 Starting and stopping MySQL manually on Windows . . . . . . . . . . . . . . . . . 49 Using the MySQL monitor on Windows . . . . . . . . . . . . . . . . . . . . . . . . 50 Setting up on Mac OS X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 Using Apache on Mac OS X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 Where to locate your web files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 Using PHP on Mac OS X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 Enabling support for CGI scripting on Mac OS X . . . . . . . . . . . . . . . . . . . . . 59 Deciding where to locate CGI scripts . . . . . . . . . . . . . . . . . . . . . . . . . 59 Setting the correct permissions for CGI scripts . . . . . . . . . . . . . . . . . . . . 60 Setting up MySQL on Mac OS X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 Adding MySQL to your PATH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 Securing MySQL on Mac OS X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 Using MySQL with phpMyAdmin (Windows and Mac) . . . . . . . . . . . . . . . . . . . . 67 Setting up your blog database with phpMyAdmin . . . . . . . . . . . . . . . . . . . . 70 Backing up and transferring your blog to another server . . . . . . . . . . . . . . . . 73 Now the fun starts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 Chapter 3: Movable Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 Movable what? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 Installing Movable Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 Downloading Movable Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 Configuring and installing Movable Type . . . . . . . . . . . . . . . . . . . . . . . . . . 81 Windows paths on local servers . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 Installing on a local server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 Installing on a remote server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 Running Movable Type for the first time . . . . . . . . . . . . . . . . . . . . . . . . . . 84 The design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 Planning and the design brief . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 Kick-starting the design process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 Finally, the design! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 XHTML and CSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 Creating the markup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 Basic XHTML structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 Latest posts block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 Secondary content block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 Layout and styling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 Where’s the drop shadow? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 viii 5815_Ch00_FM_FINAL 1/23/06 11:56 AM Page ix CONTENTS Movable Type templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 Main index template . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 Master archive index template . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 Category and date-based archives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 Chapter 4: ExpressionEngine . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 Design brief . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 About the template . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 Installing ExpressionEngine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 How to buy a copy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 Trial version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 Installing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 1. Rename the system folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 2. Place the files on your server . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 3. Set file permissions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 4. Create the database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 5. Install the Logical Blocks theme . . . . . . . . . . . . . . . . . . . . . . . . . . 119 6. Run the Installation Wizard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 7. Define settings and user account . . . . . . . . . . . . . . . . . . . . . . . . . 120 8. Choose the appropriate template . . . . . . . . . . . . . . . . . . . . . . . . . 120 9. You’re all but done . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 How does ExpressionEngine actually work? . . . . . . . . . . . . . . . . . . . . . . . . . . 120 Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 Blogs, custom fields, and categories . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 Embeds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 Structuring your blog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 Turning the system off . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 Defining Template Group and Template . . . . . . . . . . . . . . . . . . . . . . . . . 125 Editing templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 Redefine the categories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 Define custom blog fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 Set the mood . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 Specify groups for your blog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 Default blog and preferences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 Nice work, soldier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 Template customization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 Templates you’ll need . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 Index template . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 More page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 About page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 Contact page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 Understanding EE tags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 {master_weblog_name} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 {exp:weblog:entries} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 ix

Description:
For information on translations, please contact Apress directly at 2560 Ninth Street, Suite 219, Berkeley, CA Understanding the WordPress Codex .
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.