# 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
# 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 /!\
#
###############################################################################
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,
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
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,
const { data } = await VideoModel.listForApi({
start,
- count: FEEDS.COUNT,
+ count: CONFIG.FEEDS.VIDEOS.COUNT,
sort: req.query.sort,
nsfw,
}
}
},
+ 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') }
},
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'
ROUTE_CACHE_LIFETIME,
SORTABLE_COLUMNS,
HLS_STREAMING_PLAYLIST_DIRECTORY,
- FEEDS,
JOB_TTL,
DEFAULT_THEME_NAME,
NSFW_POLICY_TYPES,