Index: wp-content/themes/twentyten/loop-attachment.php
===================================================================
--- wp-content/themes/twentyten/loop-attachment.php	(revision 0)
+++ wp-content/themes/twentyten/loop-attachment.php	(revision 0)
@@ -0,0 +1,116 @@
+<?php
+/**
+ * The loop that displays attachments. This overrides loop.php.
+ *
+ * The loop displays the posts and the post content.  See
+ * http://codex.wordpress.org/The_Loop to understand it and
+ * http://codex.wordpress.org/Template_Tags to understand
+ * the tags used in it.
+ *
+ * This can be overridden in child themes with loop-attachment.php.
+ *
+ * @package WordPress
+ * @subpackage Twenty_Ten
+ * @since Twenty Ten 1.4
+ */
+?>
+
+<?php if ( have_posts() ) while ( have_posts() ) : the_post(); ?>
+
+	<?php if ( ! empty( $post->post_parent ) ) : ?>
+		<p class="page-title"><a href="<?php echo get_permalink( $post->post_parent ); ?>" title="<?php esc_attr( printf( __( 'Return to %s', 'twentyten' ), get_the_title( $post->post_parent ) ) ); ?>" rel="gallery"><?php
+			/* translators: %s - title of parent post */
+			printf( __( '<span class="meta-nav">&larr;</span> %s', 'twentyten' ), get_the_title( $post->post_parent ) );
+		?></a></p>
+	<?php endif; ?>
+
+	<div id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
+		<h2 class="entry-title"><?php the_title(); ?></h2>
+
+		<div class="entry-meta">
+			<?php
+				printf(__('<span class="%1$s">By</span> %2$s', 'twentyten'),
+					'meta-prep meta-prep-author',
+					sprintf( '<span class="author vcard"><a class="url fn n" href="%1$s" title="%2$s">%3$s</a></span>',
+						get_author_posts_url( get_the_author_meta( 'ID' ) ),
+						sprintf( esc_attr__( 'View all posts by %s', 'twentyten' ), get_the_author() ),
+						get_the_author()
+					)
+				);
+			?>
+			<span class="meta-sep">|</span>
+			<?php
+				printf( __('<span class="%1$s">Published</span> %2$s', 'twentyten'),
+					'meta-prep meta-prep-entry-date',
+					sprintf( '<span class="entry-date"><abbr class="published" title="%1$s">%2$s</abbr></span>',
+						esc_attr( get_the_time() ),
+						get_the_date()
+					)
+				);
+				if ( wp_attachment_is_image() ) {
+					echo ' <span class="meta-sep">|</span> ';
+					$metadata = wp_get_attachment_metadata();
+					printf( __( 'Full size is %s pixels', 'twentyten'),
+						sprintf( '<a href="%1$s" title="%2$s">%3$s &times; %4$s</a>',
+							wp_get_attachment_url(),
+							esc_attr( __('Link to full-size image', 'twentyten') ),
+							$metadata['width'],
+							$metadata['height']
+						)
+					);
+				}
+			?>
+			<?php edit_post_link( __( 'Edit', 'twentyten' ), '<span class="meta-sep">|</span> <span class="edit-link">', '</span>' ); ?>
+		</div><!-- .entry-meta -->
+
+		<div class="entry-content">
+			<div class="entry-attachment">
+<?php if ( wp_attachment_is_image() ) :
+$attachments = array_values( get_children( array( 'post_parent' => $post->post_parent, 'post_status' => 'inherit', 'post_type' => 'attachment', 'post_mime_type' => 'image', 'order' => 'ASC', 'orderby' => 'menu_order ID' ) ) );
+foreach ( $attachments as $k => $attachment ) {
+if ( $attachment->ID == $post->ID )
+break;
+}
+$k++;
+// If there is more than 1 image attachment in a gallery
+if ( count( $attachments ) > 1 ) {
+if ( isset( $attachments[ $k ] ) )
+// get the URL of the next image attachment
+$next_attachment_url = get_attachment_link( $attachments[ $k ]->ID );
+else
+// or get the URL of the first image attachment
+$next_attachment_url = get_attachment_link( $attachments[ 0 ]->ID );
+} else {
+// or, if there's only 1 image attachment, get the URL of the image
+$next_attachment_url = wp_get_attachment_url();
+}
+?>
+			<p class="attachment"><a href="<?php echo $next_attachment_url; ?>" title="<?php echo esc_attr( get_the_title() ); ?>" rel="attachment"><?php
+				$attachment_size = apply_filters( 'twentyten_attachment_size', 900 );
+				echo wp_get_attachment_image( $post->ID, array( $attachment_size, 9999 ) ); // filterable image width with, essentially, no limit for image height.
+			?></a></p>
+
+			<div id="nav-below" class="navigation">
+				<div class="nav-previous"><?php previous_image_link( false ); ?></div>
+				<div class="nav-next"><?php next_image_link( false ); ?></div>
+			</div><!-- #nav-below -->
+<?php else : ?>
+			<a href="<?php echo wp_get_attachment_url(); ?>" title="<?php echo esc_attr( get_the_title() ); ?>" rel="attachment"><?php echo basename( get_permalink() ); ?></a>
+<?php endif; ?>
+			</div><!-- .entry-attachment -->
+			<div class="entry-caption"><?php if ( !empty( $post->post_excerpt ) ) the_excerpt(); ?></div>
+
+<?php the_content( __( 'Continue reading <span class="meta-nav">&rarr;</span>', 'twentyten' ) ); ?>
+<?php wp_link_pages( array( 'before' => '<div class="page-link">' . __( 'Pages:', 'twentyten' ), 'after' => '</div>' ) ); ?>
+
+		</div><!-- .entry-content -->
+
+		<div class="entry-utility">
+			<?php twentyten_posted_in(); ?>
+			<?php edit_post_link( __( 'Edit', 'twentyten' ), ' <span class="edit-link">', '</span>' ); ?>
+		</div><!-- .entry-utility -->
+	</div><!-- #post-## -->
+
+<?php comments_template(); ?>
+
+<?php endwhile; ?>
Index: wp-content/themes/twentyten/onecolumn-page.php
===================================================================
--- wp-content/themes/twentyten/onecolumn-page.php	(revision 15758)
+++ wp-content/themes/twentyten/onecolumn-page.php	(working copy)
@@ -17,21 +17,13 @@
 		<div id="container" class="one-column">
 			<div id="content" role="main">
 
-<?php if ( have_posts() ) while ( have_posts() ) : the_post(); ?>
-
-				<div id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
-					<h1 class="entry-title"><?php the_title(); ?></h1>
-					<div class="entry-content">
-						<?php the_content(); ?>
-						<?php wp_link_pages( array( 'before' => '<div class="page-link">' . __( 'Pages:', 'twentyten' ), 'after' => '</div>' ) ); ?>
-						<?php edit_post_link( __( 'Edit', 'twentyten' ), '<span class="edit-link">', '</span>' ); ?>
-					</div><!-- .entry-content -->
-				</div><!-- #post-## -->
-
-				<?php comments_template( '', true ); ?>
-
-<?php endwhile; ?>
-
+			<?php
+			/* Run the loop to output the page.
+			 * If you want to overload this in a child theme then include a file
+			 * called loop-page.php and that will be used instead.
+			 */
+			get_template_part( 'loop', 'page' );
+			?>
 			</div><!-- #content -->
 		</div><!-- #container -->
 
Index: wp-content/themes/twentyten/page.php
===================================================================
--- wp-content/themes/twentyten/page.php	(revision 15758)
+++ wp-content/themes/twentyten/page.php	(working copy)
@@ -17,26 +17,13 @@
 		<div id="container">
 			<div id="content" role="main">
 
-<?php if ( have_posts() ) while ( have_posts() ) : the_post(); ?>
-
-				<div id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
-					<?php if ( is_front_page() ) { ?>
-						<h2 class="entry-title"><?php the_title(); ?></h2>
-					<?php } else { ?>
-						<h1 class="entry-title"><?php the_title(); ?></h1>
-					<?php } ?>
-
-					<div class="entry-content">
-						<?php the_content(); ?>
-						<?php wp_link_pages( array( 'before' => '<div class="page-link">' . __( 'Pages:', 'twentyten' ), 'after' => '</div>' ) ); ?>
-						<?php edit_post_link( __( 'Edit', 'twentyten' ), '<span class="edit-link">', '</span>' ); ?>
-					</div><!-- .entry-content -->
-				</div><!-- #post-## -->
-
-				<?php comments_template( '', true ); ?>
-
-<?php endwhile; ?>
-
+			<?php
+			/* Run the loop to output the page.
+			 * If you want to overload this in a child theme then include a file
+			 * called loop-page.php and that will be used instead.
+			 */
+			get_template_part( 'loop', 'page' );
+			?>
 			</div><!-- #content -->
 		</div><!-- #container -->
 
Index: wp-content/themes/twentyten/single.php
===================================================================
--- wp-content/themes/twentyten/single.php	(revision 15758)
+++ wp-content/themes/twentyten/single.php	(working copy)
@@ -12,57 +12,13 @@
 		<div id="container">
 			<div id="content" role="main">
 
-<?php if ( have_posts() ) while ( have_posts() ) : the_post(); ?>
-
-				<div id="nav-above" class="navigation">
-					<div class="nav-previous"><?php previous_post_link( '%link', '<span class="meta-nav">' . _x( '&larr;', 'Previous post link', 'twentyten' ) . '</span> %title' ); ?></div>
-					<div class="nav-next"><?php next_post_link( '%link', '%title <span class="meta-nav">' . _x( '&rarr;', 'Next post link', 'twentyten' ) . '</span>' ); ?></div>
-				</div><!-- #nav-above -->
-
-				<div id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
-					<h1 class="entry-title"><?php the_title(); ?></h1>
-
-					<div class="entry-meta">
-						<?php twentyten_posted_on(); ?>
-					</div><!-- .entry-meta -->
-
-					<div class="entry-content">
-						<?php the_content(); ?>
-						<?php wp_link_pages( array( 'before' => '<div class="page-link">' . __( 'Pages:', 'twentyten' ), 'after' => '</div>' ) ); ?>
-					</div><!-- .entry-content -->
-
-<?php if ( get_the_author_meta( 'description' ) ) : // If a user has filled out their description, show a bio on their entries  ?>
-					<div id="entry-author-info">
-						<div id="author-avatar">
-							<?php echo get_avatar( get_the_author_meta( 'user_email' ), apply_filters( 'twentyten_author_bio_avatar_size', 60 ) ); ?>
-						</div><!-- #author-avatar -->
-						<div id="author-description">
-							<h2><?php printf( esc_attr__( 'About %s', 'twentyten' ), get_the_author() ); ?></h2>
-							<?php the_author_meta( 'description' ); ?>
-							<div id="author-link">
-								<a href="<?php echo get_author_posts_url( get_the_author_meta( 'ID' ) ); ?>">
-									<?php printf( __( 'View all posts by %s <span class="meta-nav">&rarr;</span>', 'twentyten' ), get_the_author() ); ?>
-								</a>
-							</div><!-- #author-link	-->
-						</div><!-- #author-description -->
-					</div><!-- #entry-author-info -->
-<?php endif; ?>
-
-					<div class="entry-utility">
-						<?php twentyten_posted_in(); ?>
-						<?php edit_post_link( __( 'Edit', 'twentyten' ), '<span class="edit-link">', '</span>' ); ?>
-					</div><!-- .entry-utility -->
-				</div><!-- #post-## -->
-
-				<div id="nav-below" class="navigation">
-					<div class="nav-previous"><?php previous_post_link( '%link', '<span class="meta-nav">' . _x( '&larr;', 'Previous post link', 'twentyten' ) . '</span> %title' ); ?></div>
-					<div class="nav-next"><?php next_post_link( '%link', '%title <span class="meta-nav">' . _x( '&rarr;', 'Next post link', 'twentyten' ) . '</span>' ); ?></div>
-				</div><!-- #nav-below -->
-
-				<?php comments_template( '', true ); ?>
-
-<?php endwhile; // end of the loop. ?>
-
+			<?php
+			/* Run the loop to output the post.
+			 * If you want to overload this in a child theme then include a file
+			 * called loop-single.php and that will be used instead.
+			 */
+			get_template_part( 'loop', 'single' );
+			?>
 			</div><!-- #content -->
 		</div><!-- #container -->
 
Index: wp-content/themes/twentyten/loop-page.php
===================================================================
--- wp-content/themes/twentyten/loop-page.php	(revision 0)
+++ wp-content/themes/twentyten/loop-page.php	(revision 0)
@@ -0,0 +1,36 @@
+<?php
+/**
+ * The loop that displays pages. This overrides loop.php.
+ *
+ * The loop displays the posts and the post content.  See
+ * http://codex.wordpress.org/The_Loop to understand it and
+ * http://codex.wordpress.org/Template_Tags to understand
+ * the tags used in it.
+ *
+ * This can be overridden in child themes with loop-page.php.
+ *
+ * @package WordPress
+ * @subpackage Twenty_Ten
+ * @since Twenty Ten 1.4
+ */
+?>
+
+<?php if ( have_posts() ) while ( have_posts() ) : the_post(); ?>
+
+	<div id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
+		<?php if ( is_front_page() ) { ?>
+			<h2 class="entry-title"><?php the_title(); ?></h2>
+		<?php } else { ?>
+			<h1 class="entry-title"><?php the_title(); ?></h1>
+		<?php } ?>
+
+		<div class="entry-content">
+			<?php the_content(); ?>
+			<?php wp_link_pages( array( 'before' => '<div class="page-link">' . __( 'Pages:', 'twentyten' ), 'after' => '</div>' ) ); ?>
+			<?php edit_post_link( __( 'Edit', 'twentyten' ), '<span class="edit-link">', '</span>' ); ?>
+		</div><!-- .entry-content -->
+	</div><!-- #post-## -->
+
+	<?php comments_template( '', true ); ?>
+
+<?php endwhile; ?>
\ No newline at end of file
Index: wp-content/themes/twentyten/attachment.php
===================================================================
--- wp-content/themes/twentyten/attachment.php	(revision 15758)
+++ wp-content/themes/twentyten/attachment.php	(working copy)
@@ -12,106 +12,13 @@
 		<div id="container" class="single-attachment">
 			<div id="content" role="main">
 
-<?php if ( have_posts() ) while ( have_posts() ) : the_post(); ?>
-
-				<?php if ( ! empty( $post->post_parent ) ) : ?>
-					<p class="page-title"><a href="<?php echo get_permalink( $post->post_parent ); ?>" title="<?php esc_attr( printf( __( 'Return to %s', 'twentyten' ), get_the_title( $post->post_parent ) ) ); ?>" rel="gallery"><?php
-						/* translators: %s - title of parent post */
-						printf( __( '<span class="meta-nav">&larr;</span> %s', 'twentyten' ), get_the_title( $post->post_parent ) );
-					?></a></p>
-				<?php endif; ?>
-
-				<div id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
-					<h2 class="entry-title"><?php the_title(); ?></h2>
-
-					<div class="entry-meta">
-						<?php
-							printf(__('<span class="%1$s">By</span> %2$s', 'twentyten'),
-								'meta-prep meta-prep-author',
-								sprintf( '<span class="author vcard"><a class="url fn n" href="%1$s" title="%2$s">%3$s</a></span>',
-									get_author_posts_url( get_the_author_meta( 'ID' ) ),
-									sprintf( esc_attr__( 'View all posts by %s', 'twentyten' ), get_the_author() ),
-									get_the_author()
-								)
-							);
-						?>
-						<span class="meta-sep">|</span>
-						<?php
-							printf( __('<span class="%1$s">Published</span> %2$s', 'twentyten'),
-								'meta-prep meta-prep-entry-date',
-								sprintf( '<span class="entry-date"><abbr class="published" title="%1$s">%2$s</abbr></span>',
-									esc_attr( get_the_time() ),
-									get_the_date()
-								)
-							);
-							if ( wp_attachment_is_image() ) {
-								echo ' <span class="meta-sep">|</span> ';
-								$metadata = wp_get_attachment_metadata();
-								printf( __( 'Full size is %s pixels', 'twentyten'),
-									sprintf( '<a href="%1$s" title="%2$s">%3$s &times; %4$s</a>',
-										wp_get_attachment_url(),
-										esc_attr( __('Link to full-size image', 'twentyten') ),
-										$metadata['width'],
-										$metadata['height']
-									)
-								);
-							}
-						?>
-						<?php edit_post_link( __( 'Edit', 'twentyten' ), '<span class="meta-sep">|</span> <span class="edit-link">', '</span>' ); ?>
-					</div><!-- .entry-meta -->
-
-					<div class="entry-content">
-						<div class="entry-attachment">
-<?php if ( wp_attachment_is_image() ) :
-	$attachments = array_values( get_children( array( 'post_parent' => $post->post_parent, 'post_status' => 'inherit', 'post_type' => 'attachment', 'post_mime_type' => 'image', 'order' => 'ASC', 'orderby' => 'menu_order ID' ) ) );
-	foreach ( $attachments as $k => $attachment ) {
-		if ( $attachment->ID == $post->ID )
-			break;
-	}
-	$k++;
-	// If there is more than 1 image attachment in a gallery
-	if ( count( $attachments ) > 1 ) {
-		if ( isset( $attachments[ $k ] ) )
-			// get the URL of the next image attachment
-			$next_attachment_url = get_attachment_link( $attachments[ $k ]->ID );
-		else
-			// or get the URL of the first image attachment
-			$next_attachment_url = get_attachment_link( $attachments[ 0 ]->ID );
-	} else {
-		// or, if there's only 1 image attachment, get the URL of the image
-		$next_attachment_url = wp_get_attachment_url();
-	}
-?>
-						<p class="attachment"><a href="<?php echo $next_attachment_url; ?>" title="<?php echo esc_attr( get_the_title() ); ?>" rel="attachment"><?php
-							$attachment_size = apply_filters( 'twentyten_attachment_size', 900 );
-							echo wp_get_attachment_image( $post->ID, array( $attachment_size, 9999 ) ); // filterable image width with, essentially, no limit for image height.
-						?></a></p>
-
-						<div id="nav-below" class="navigation">
-							<div class="nav-previous"><?php previous_image_link( false ); ?></div>
-							<div class="nav-next"><?php next_image_link( false ); ?></div>
-						</div><!-- #nav-below -->
-<?php else : ?>
-						<a href="<?php echo wp_get_attachment_url(); ?>" title="<?php echo esc_attr( get_the_title() ); ?>" rel="attachment"><?php echo basename( get_permalink() ); ?></a>
-<?php endif; ?>
-						</div><!-- .entry-attachment -->
-						<div class="entry-caption"><?php if ( !empty( $post->post_excerpt ) ) the_excerpt(); ?></div>
-
-<?php the_content( __( 'Continue reading <span class="meta-nav">&rarr;</span>', 'twentyten' ) ); ?>
-<?php wp_link_pages( array( 'before' => '<div class="page-link">' . __( 'Pages:', 'twentyten' ), 'after' => '</div>' ) ); ?>
-
-					</div><!-- .entry-content -->
-
-					<div class="entry-utility">
-						<?php twentyten_posted_in(); ?>
-						<?php edit_post_link( __( 'Edit', 'twentyten' ), ' <span class="edit-link">', '</span>' ); ?>
-					</div><!-- .entry-utility -->
-				</div><!-- #post-## -->
-
-<?php comments_template(); ?>
-
-<?php endwhile; ?>
-
+			<?php
+			/* Run the loop to output the attachments.
+			 * If you want to overload this in a child theme then include a file
+			 * called loop-attachment.php and that will be used instead.
+			 */
+			get_template_part( 'loop', 'attachment' );
+			?>
 			</div><!-- #content -->
 		</div><!-- #container -->
 
Index: wp-content/themes/twentyten/loop-single.php
===================================================================
--- wp-content/themes/twentyten/loop-single.php	(revision 0)
+++ wp-content/themes/twentyten/loop-single.php	(revision 0)
@@ -0,0 +1,67 @@
+<?php
+/**
+ * The loop that displays single posts. This overrides loop.php.
+ *
+ * The loop displays the posts and the post content.  See
+ * http://codex.wordpress.org/The_Loop to understand it and
+ * http://codex.wordpress.org/Template_Tags to understand
+ * the tags used in it.
+ *
+ * This can be overridden in child themes with loop-single.php.
+ *
+ * @package WordPress
+ * @subpackage Twenty_Ten
+ * @since Twenty Ten 1.4
+ */
+?>
+
+<?php if ( have_posts() ) while ( have_posts() ) : the_post(); ?>
+
+	<div id="nav-above" class="navigation">
+		<div class="nav-previous"><?php previous_post_link( '%link', '<span class="meta-nav">' . _x( '&larr;', 'Previous post link', 'twentyten' ) . '</span> %title' ); ?></div>
+		<div class="nav-next"><?php next_post_link( '%link', '%title <span class="meta-nav">' . _x( '&rarr;', 'Next post link', 'twentyten' ) . '</span>' ); ?></div>
+	</div><!-- #nav-above -->
+
+	<div id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
+		<h1 class="entry-title"><?php the_title(); ?></h1>
+
+		<div class="entry-meta">
+			<?php twentyten_posted_on(); ?>
+		</div><!-- .entry-meta -->
+
+		<div class="entry-content">
+			<?php the_content(); ?>
+			<?php wp_link_pages( array( 'before' => '<div class="page-link">' . __( 'Pages:', 'twentyten' ), 'after' => '</div>' ) ); ?>
+		</div><!-- .entry-content -->
+
+<?php if ( get_the_author_meta( 'description' ) ) : // If a user has filled out their description, show a bio on their entries  ?>
+		<div id="entry-author-info">
+			<div id="author-avatar">
+				<?php echo get_avatar( get_the_author_meta( 'user_email' ), apply_filters( 'twentyten_author_bio_avatar_size', 60 ) ); ?>
+			</div><!-- #author-avatar -->
+			<div id="author-description">
+				<h2><?php printf( esc_attr__( 'About %s', 'twentyten' ), get_the_author() ); ?></h2>
+				<?php the_author_meta( 'description' ); ?>
+				<div id="author-link">
+					<a href="<?php echo get_author_posts_url( get_the_author_meta( 'ID' ) ); ?>">
+						<?php printf( __( 'View all posts by %s <span class="meta-nav">&rarr;</span>', 'twentyten' ), get_the_author() ); ?>
+					</a>
+				</div><!-- #author-link	-->
+			</div><!-- #author-description -->
+		</div><!-- #entry-author-info -->
+<?php endif; ?>
+
+		<div class="entry-utility">
+			<?php twentyten_posted_in(); ?>
+			<?php edit_post_link( __( 'Edit', 'twentyten' ), '<span class="edit-link">', '</span>' ); ?>
+		</div><!-- .entry-utility -->
+	</div><!-- #post-## -->
+
+	<div id="nav-below" class="navigation">
+		<div class="nav-previous"><?php previous_post_link( '%link', '<span class="meta-nav">' . _x( '&larr;', 'Previous post link', 'twentyten' ) . '</span> %title' ); ?></div>
+		<div class="nav-next"><?php next_post_link( '%link', '%title <span class="meta-nav">' . _x( '&rarr;', 'Next post link', 'twentyten' ) . '</span>' ); ?></div>
+	</div><!-- #nav-below -->
+
+	<?php comments_template( '', true ); ?>
+
+<?php endwhile; // end of the loop. ?>
\ No newline at end of file
