~linuxgoose/bocpress

d8759d9a75c5243da4460519a6aac5d5a944795d — Jordan Robinson 2 months ago 80848bb
add blog setting for number of items to return in feed
3 files changed, 26 insertions(+), 1 deletions(-)

M main/feeds.py
A main/migrations/0120_user_number_of_posts_feed.py
M main/models.py
M main/feeds.py => main/feeds.py +1 -1
@@ 86,7 86,7 @@ class RSSBlogFeed(Feed):
            owner__username=self.subdomain,
            published_at__isnull=False,
            published_at__lte=timezone.now().date(),
        ).order_by("-published_at")[:10]
        ).order_by("-published_at")[:self.user.number_of_posts_feed]

    def item_title(self, item):
        return item.title

A main/migrations/0120_user_number_of_posts_feed.py => main/migrations/0120_user_number_of_posts_feed.py +18 -0
@@ 0,0 1,18 @@
# Generated by Django 5.2.5 on 2025-09-20 20:19

from django.db import migrations, models


class Migration(migrations.Migration):

    dependencies = [
        ('main', '0119_remove_user_markdown_link_paste_on_and_more'),
    ]

    operations = [
        migrations.AddField(
            model_name='user',
            name='number_of_posts_feed',
            field=models.IntegerField(default=10, help_text='Number of posts to show in RSS/Atom feed. Default is 10.', verbose_name='Number of Posts in Feed'),
        ),
    ]

M main/models.py => main/models.py +7 -0
@@ 135,6 135,13 @@ class User(AbstractUser):
        default="User-agent: *\nDisallow:\nAllow: /",
    )
    export_unsubscribe_key = models.UUIDField(default=uuid.uuid4, unique=True)
    number_of_posts_feed = models.IntegerField(
        blank=False,
        help_text="Number of posts to show in RSS/Atom feed. Default is 10.",
        verbose_name="Number of Posts in Feed",
        null=False,
        default=10,
    )

    # webring related
    webring_name = models.CharField(max_length=200, blank=True, null=True)