Add ability to set default feed items count

pull/5004/head
Chocobozzz 2022-05-24 15:56:23 +02:00
parent 87a0cac618
commit db9d882c25
No known key found for this signature in database
GPG Key ID: 583A612D890159BE
5 changed files with 36 additions and 15 deletions

View File

@ -297,6 +297,16 @@ webadmin:
# Set this to false if you don't want to allow config edition in the web interface by instance admins
allowed: true
# XML, Atom or JSON feeds
feeds:
videos:
# Default number of videos displayed in feeds
count: 20
comments:
# Default number of comments displayed in feeds
count: 20
cache:
previews:
size: 500 # Max number of previews you want to cache

View File

@ -293,15 +293,25 @@ webadmin:
# Set this to false if you don't want to allow config edition in the web interface by instance admins
allowed: true
# XML, Atom or JSON feeds
feeds:
videos:
# Default number of videos displayed in feeds
count: 20
comments:
# Default number of comments displayed in feeds
count: 20
###############################################################################
#
# From this point, all the following keys can be overridden by the web interface
# From this point, almost all following keys can be overridden by the web interface
# (local-production.json file). If you need to change some values, prefer to
# use the web interface because the configuration will be automatically
# reloaded without any need to restart PeerTube
#
# /!\ If you already have a local-production.json file, the modification of the
# following keys will have no effect /!\
# /!\ If you already have a local-production.json file, modification of some of
# the following keys will have no effect /!\
#
###############################################################################

View File

@ -1,13 +1,13 @@
import express from 'express'
import { Feed } from '@peertube/feed'
import { extname } from 'path'
import { Feed } from '@peertube/feed'
import { mdToOneLinePlainText, toSafeHtml } from '@server/helpers/markdown'
import { getServerActor } from '@server/models/application/application'
import { getCategoryLabel } from '@server/models/video/formatter/video-format-utils'
import { VideoInclude } from '@shared/models'
import { buildNSFWFilter } from '../helpers/express-utils'
import { CONFIG } from '../initializers/config'
import { FEEDS, MIMETYPES, PREVIEWS_SIZE, ROUTE_CACHE_LIFETIME, WEBSERVER } from '../initializers/constants'
import { MIMETYPES, PREVIEWS_SIZE, ROUTE_CACHE_LIFETIME, WEBSERVER } from '../initializers/constants'
import {
asyncMiddleware,
commonVideosFiltersValidator,
@ -76,7 +76,7 @@ async function generateVideoCommentsFeed (req: express.Request, res: express.Res
const comments = await VideoCommentModel.listForFeed({
start,
count: FEEDS.COUNT,
count: CONFIG.FEEDS.COMMENTS.COUNT,
videoId: video ? video.id : undefined,
accountId: account ? account.id : undefined,
videoChannelId: videoChannel ? videoChannel.id : undefined
@ -166,7 +166,7 @@ async function generateVideoFeed (req: express.Request, res: express.Response) {
const server = await getServerActor()
const { data } = await VideoModel.listForApi({
start,
count: FEEDS.COUNT,
count: CONFIG.FEEDS.VIDEOS.COUNT,
sort: req.query.sort,
displayOnlyForFollower: {
actorId: server.id,
@ -202,7 +202,7 @@ async function generateVideoFeedForSubscriptions (req: express.Request, res: exp
const { data } = await VideoModel.listForApi({
start,
count: FEEDS.COUNT,
count: CONFIG.FEEDS.VIDEOS.COUNT,
sort: req.query.sort,
nsfw,

View File

@ -247,6 +247,14 @@ const CONFIG = {
}
}
},
FEEDS: {
VIDEOS: {
COUNT: config.get<number>('feeds.videos.count')
},
COMMENTS: {
COUNT: config.get<number>('feeds.comments.count')
}
},
ADMIN: {
get EMAIL () { return config.get<string>('admin.email') }
},

View File

@ -766,12 +766,6 @@ const CUSTOM_HTML_TAG_COMMENTS = {
SERVER_CONFIG: '<!-- server config -->'
}
// ---------------------------------------------------------------------------
const FEEDS = {
COUNT: 20
}
const MAX_LOGS_OUTPUT_CHARACTERS = 10 * 1000 * 1000
const LOG_FILENAME = 'peertube.log'
const AUDIT_LOG_FILENAME = 'peertube-audit.log'
@ -939,7 +933,6 @@ export {
ROUTE_CACHE_LIFETIME,
SORTABLE_COLUMNS,
HLS_STREAMING_PLAYLIST_DIRECTORY,
FEEDS,
JOB_TTL,
DEFAULT_THEME_NAME,
NSFW_POLICY_TYPES,