added support for preserving customized source/index.html during template updates. Moved the blog index code to a partial in source/_includes/blog_index.html

This commit is contained in:
Brandon Mathis 2011-08-10 18:14:56 -04:00
parent a8c1fc1d09
commit cc4e51db8b
3 changed files with 47 additions and 41 deletions

View File

@ -0,0 +1,40 @@
<div class="blog-index">
{% assign index = true %}
{% for post in paginator.posts %}
{% assign content = post.content %}
<article>
{% include article.html %}
</article>
{% endfor %}
<nav role="pagination">
<div>
{% if paginator.next_page %}
<a class="prev" href="/page{{paginator.next_page}}/">&larr; Older</a>
{% endif %}
<a href="/blog/archives">Blog Archives</a>
{% if paginator.previous_page and paginator.previous_page > 1 %}
<a class="next" href="/page{{paginator.previous_page}}/">Newer &rarr;</a>
{% elsif paginator.previous_page %}
<a class="next" href="/">Newer &rarr;</a>
{% endif %}
</div>
</nav>
{% if site.disqus_short_name %}
<script type="text/javascript">
var disqus_shortname = '{{ site.disqus_short_name }}';
(function () {
var s = document.createElement('script'); s.async = true;
s.type = 'text/javascript';
s.src = 'http://' + disqus_shortname + '.disqus.com/count.js';
(document.getElementsByTagName('HEAD')[0] || document.getElementsByTagName('BODY')[0]).appendChild(s);
}());
</script>
{% endif %}
</div>
<aside role=sidebar>
{% if site.blog_index_asides.size %}
{% include_array blog_index_asides %}
{% else %}
{% include_array default_asides %}
{% endif %}
</aside>

View File

@ -1,44 +1,5 @@
--- ---
layout: default layout: default
footer: false
--- ---
<div class="blog-index">
{% assign index = true %} {% include blog_index.html %}
{% for post in paginator.posts %}
{% assign content = post.content %}
<article>
{% include article.html %}
</article>
{% endfor %}
<nav role="pagination">
<div>
{% if paginator.next_page %}
<a class="prev" href="/page{{paginator.next_page}}/">&larr; Older</a>
{% endif %}
<a href="/blog/archives">Blog Archives</a>
{% if paginator.previous_page and paginator.previous_page > 1 %}
<a class="next" href="/page{{paginator.previous_page}}/">Newer &rarr;</a>
{% elsif paginator.previous_page %}
<a class="next" href="/">Newer &rarr;</a>
{% endif %}
</div>
</nav>
{% if site.disqus_short_name %}
<script type="text/javascript">
var disqus_shortname = '{{ site.disqus_short_name }}';
(function () {
var s = document.createElement('script'); s.async = true;
s.type = 'text/javascript';
s.src = 'http://' + disqus_shortname + '.disqus.com/count.js';
(document.getElementsByTagName('HEAD')[0] || document.getElementsByTagName('BODY')[0]).appendChild(s);
}());
</script>
{% endif %}
</div>
<aside role=sidebar>
{% if site.blog_index_asides.size %}
{% include_array blog_index_asides %}
{% else %}
{% include_array default_asides %}
{% endif %}
</aside>

View File

@ -1,6 +1,10 @@
require "rubygems" require "rubygems"
require "bundler/setup" require "bundler/setup"
# If you customize your site's index page setting custom_index to true
# will preserve your changes when running `rake update_source`
custom_index = false
## -- Rsync Deploy config -- ## ## -- Rsync Deploy config -- ##
# Be sure your public key is listed in your server's ~/.ssh/authorized_keys file # Be sure your public key is listed in your server's ~/.ssh/authorized_keys file
ssh_user = "mathisweb@octopress.org" ssh_user = "mathisweb@octopress.org"
@ -151,6 +155,7 @@ task :update_source, :theme do |t, args|
system "mkdir -p #{source_dir}; cp -R #{themes_dir}/"+theme+"/source/. #{source_dir}" system "mkdir -p #{source_dir}; cp -R #{themes_dir}/"+theme+"/source/. #{source_dir}"
system "cp -Rn #{source_dir}.old/. #{source_dir}" system "cp -Rn #{source_dir}.old/. #{source_dir}"
system "cp -Rf #{source_dir}.old/_includes/custom/. #{source_dir}/_includes/custom/" system "cp -Rf #{source_dir}.old/_includes/custom/. #{source_dir}/_includes/custom/"
system "cp -Rf #{source_dir}.old/index.html #{source_dir}" if custom_index
puts "## Updated #{source_dir} ##" puts "## Updated #{source_dir} ##"
end end