mirror of
https://codeberg.org/tacerus/teddit.git
synced 2025-02-03 09:24:04 +01:00
support wiki sub pages
This commit is contained in:
parent
2ebdb24850
commit
424444afc8
22
routes.js
22
routes.js
@ -982,13 +982,17 @@ module.exports = (app, redis, fetch, RedditAPI) => {
|
||||
})
|
||||
})
|
||||
|
||||
app.get('/r/:subreddit/wiki/:page?', (req, res, next) => {
|
||||
app.get('/r/:subreddit/wiki/:page?/:sub_page?', (req, res, next) => {
|
||||
let subreddit = req.params.subreddit
|
||||
let page = req.params.page
|
||||
let sub_page = req.params.sub_page || ''
|
||||
|
||||
if(!page)
|
||||
page = 'index'
|
||||
|
||||
if(sub_page != '')
|
||||
sub_page = `/${sub_page}`
|
||||
|
||||
function formatWikipagelisting(json, subreddit) {
|
||||
let html = '<ul class="wikipagelisting">'
|
||||
if(json.kind === 'wikipagelisting' && json.data) {
|
||||
@ -1001,7 +1005,7 @@ module.exports = (app, redis, fetch, RedditAPI) => {
|
||||
return html
|
||||
}
|
||||
|
||||
let key = `${subreddit.toLowerCase()}:wiki:page:${page}`
|
||||
let key = `${subreddit.toLowerCase()}:wiki:page:${page}:sub_page:${sub_page}`
|
||||
redis.get(key, (error, json) => {
|
||||
if(error) {
|
||||
console.error(`Error getting the ${subreddit} wiki key from redis.`, error)
|
||||
@ -1018,9 +1022,9 @@ module.exports = (app, redis, fetch, RedditAPI) => {
|
||||
} else {
|
||||
let url = ''
|
||||
if(config.use_reddit_oauth)
|
||||
url = `https://oauth.reddit.com/r/${subreddit}/wiki/${page}?api_type=json`
|
||||
url = `https://oauth.reddit.com/r/${subreddit}/wiki/${page}${sub_page}?api_type=json`
|
||||
else
|
||||
url = `https://reddit.com/r/${subreddit}/wiki/${page}.json?api_type=json`
|
||||
url = `https://reddit.com/r/${subreddit}/wiki/${page}${sub_page}.json?api_type=json`
|
||||
fetch(encodeURI(url), redditApiGETHeaders())
|
||||
.then(result => {
|
||||
if(result.status === 200) {
|
||||
@ -1060,13 +1064,19 @@ module.exports = (app, redis, fetch, RedditAPI) => {
|
||||
})
|
||||
})
|
||||
|
||||
app.get('/r/:subreddit/w/:page?', (req, res, next) => {
|
||||
app.get('/r/:subreddit/w/:page?/:sub_page?', (req, res, next) => {
|
||||
/* "w" is a shorturl for wikis for example https://old.reddit.com/r/privacytoolsIO/w/index */
|
||||
let subreddit = req.params.subreddit
|
||||
let page = req.params.page
|
||||
let sub_page = req.params.sub_page || ''
|
||||
|
||||
if(!page)
|
||||
page = 'index'
|
||||
return res.redirect(`/r/${subreddit}/wiki/${page}`)
|
||||
|
||||
if(sub_page != '')
|
||||
sub_page = `/${sub_page}`
|
||||
|
||||
return res.redirect(`/r/${subreddit}/wiki/${page}${sub_page}`)
|
||||
})
|
||||
|
||||
app.get('/r/random', (req, res, next) => {
|
||||
|
Loading…
Reference in New Issue
Block a user