Index: src/wp-content/themes/twentyfifteen/functions.php
===================================================================
--- src/wp-content/themes/twentyfifteen/functions.php	(revision 29938)
+++ src/wp-content/themes/twentyfifteen/functions.php	(working copy)
@@ -310,7 +310,60 @@
 }
 add_filter( 'walker_nav_menu_start_el', 'twentyfifteen_nav_description', 10, 4 );
 
+if ( ! function_exists( 'twentyfifteen_continue_reading_link' ) ) :
 /**
+ * Return a "Continue Reading" link for excerpts
+ *
+ * @since Twenty Fifteen 1.0
+ *
+ * @return string The "Continue Reading" HTML link.
+ */
+function twentyfifteen_continue_reading_link() {
+	return ' <a href="'. esc_url( get_permalink() ) . '">' . __( 'Continue reading <span class="meta-nav">&rarr;</span>', 'twentyfifteen' ) . '</a>';
+}
+endif; // twentyfifteen_continue_reading_link
+
+/**
+ * Replace "[...]" in the Read More link with an ellipsis.
+ *
+ * The "[...]" is appended to automatically generated excerpts.
+ *
+ * To override this in a child theme, remove the filter and add your own
+ * function tied to the excerpt_more filter hook.
+ *
+ * @since Twenty Fifteen 1.0
+ *
+ * @param string $more The Read More text.
+ * @return The filtered Read More text.
+ */
+function twentyfifteen_auto_excerpt_more( $more ) {
+	if ( ! is_admin() ) {
+		return ' &hellip;' . twentyfifteen_continue_reading_link();
+	}
+	return $more;
+}
+add_filter( 'excerpt_more', 'twentyfifteen_auto_excerpt_more' );
+
+/**
+ * Add a pretty "Continue Reading" link to custom post excerpts.
+ *
+ * To override this link in a child theme, remove the filter and add your own
+ * function tied to the get_the_excerpt filter hook.
+ *
+ * @since Twenty Fifteen 1.0
+ *
+ * @param string $output The "Continue Reading" link.
+ * @return string The filtered "Continue Reading" link.
+ */
+function twentyfifteen_custom_excerpt_more( $output ) {
+	if ( has_excerpt() && ! is_attachment() && ! is_admin() ) {
+		$output .= twentyfifteen_continue_reading_link();
+	}
+	return $output;
+}
+add_filter( 'get_the_excerpt', 'twentyfifteen_custom_excerpt_more' );
+
+/**
  * Implement the Custom Header feature.
  *
  * @since Twenty Fifteen 1.0
