abakan-zz / ablog

ABlog for blogging with Sphinx
ablog.readthedocs.org
Other
122 stars 34 forks source link

Optimization: Limit Size of Large Export Files #24

Closed tychoish closed 9 years ago

tychoish commented 10 years ago

This is a repost from a comment on the blog that is probably better captured here.

I have ~1600 posts, and noop rebuilds of my site with take about a minute, and I'd like to cut this way down.

My current theory (which is related to a feature request of sorts) is that generating the blog.html and feeds that must include the full content of the site are neither useful except as an export and taking a long time to aggregate generate in every build.

Is there (or could there be) a way to tweak the number of posts that appear in these archives/listings?

abakan-zz commented 10 years ago

I have some plans to make fixes and add options to speed things up:

1) There is post_auto_excerpt (currently broken) option that could speed up things. I plan to fix it within a week before a new release. It is described here: http://ablog.readthedocs.org/en/latest/manual/ablog-configuration-options/#confval-post_auto_excerpt

When this option starts working and set post_auto_excerpt=0, archive pages and feeds will not have any post content unless you overwrite this for specific posts.

2) I think of adding one of blog_feed_only_title, blog_feed_title_only or blog_feed_no_content option that will result in creating feeds with only titles, as the name suggest. That should speed up the building process and final output should be considerably smaller.

3) I could add an option archive_only_title (or sth. similar) that would be used in the template to output a list of titles or excerpts.

What do you think? Any other option we could add?

tychoish commented 10 years ago

I really like 3 the most.

I'm not particularly interested in 2 as a global option, but I think that the number of posts in /blog/atom.xml should be configurable. Not sure this will actually help rendering time, but it would make this file usable.

abakan-zz commented 10 years ago

Hi, do you mind trying the following options from devel branch if you get a chance. I see 25% drop in build time but that's only for a handful of posts. I wonder what you will get if you set the first two options to True.

blog_archive_titles = False # set True to see only titles in archives
blog_feed_titles = False    # set True to exclude excerpts from feeds
blog_feed_length = None     # specify number of recent posts in feeds
tychoish commented 10 years ago

I've just tested "blog_archive_titles" and it seems like it's made a significant change.

my site is here: https://github.com/tychoish/tychoish.com and has a few extra dependencies but should be testable for you too!

tychoish commented 10 years ago

I want to think about finding ways to make blog_feed_length more narrow in scope as well.

abakan-zz commented 10 years ago

Hi, I tried building tychoish.com but failed since '../source/includes/hash.rst does not exist. Is there an easy way to get around it?

Also, have you thought about blog_feed_length?