mirror of
https://codeberg.org/tacerus/teddit.git
synced 2025-02-03 17:44:02 +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 subreddit = req.params.subreddit
|
||||||
let page = req.params.page
|
let page = req.params.page
|
||||||
|
let sub_page = req.params.sub_page || ''
|
||||||
|
|
||||||
if(!page)
|
if(!page)
|
||||||
page = 'index'
|
page = 'index'
|
||||||
|
|
||||||
|
if(sub_page != '')
|
||||||
|
sub_page = `/${sub_page}`
|
||||||
|
|
||||||
function formatWikipagelisting(json, subreddit) {
|
function formatWikipagelisting(json, subreddit) {
|
||||||
let html = '<ul class="wikipagelisting">'
|
let html = '<ul class="wikipagelisting">'
|
||||||
if(json.kind === 'wikipagelisting' && json.data) {
|
if(json.kind === 'wikipagelisting' && json.data) {
|
||||||
@ -1001,7 +1005,7 @@ module.exports = (app, redis, fetch, RedditAPI) => {
|
|||||||
return html
|
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) => {
|
redis.get(key, (error, json) => {
|
||||||
if(error) {
|
if(error) {
|
||||||
console.error(`Error getting the ${subreddit} wiki key from redis.`, error)
|
console.error(`Error getting the ${subreddit} wiki key from redis.`, error)
|
||||||
@ -1018,9 +1022,9 @@ module.exports = (app, redis, fetch, RedditAPI) => {
|
|||||||
} else {
|
} else {
|
||||||
let url = ''
|
let url = ''
|
||||||
if(config.use_reddit_oauth)
|
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
|
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())
|
fetch(encodeURI(url), redditApiGETHeaders())
|
||||||
.then(result => {
|
.then(result => {
|
||||||
if(result.status === 200) {
|
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 */
|
/* "w" is a shorturl for wikis for example https://old.reddit.com/r/privacytoolsIO/w/index */
|
||||||
let subreddit = req.params.subreddit
|
let subreddit = req.params.subreddit
|
||||||
let page = req.params.page
|
let page = req.params.page
|
||||||
|
let sub_page = req.params.sub_page || ''
|
||||||
|
|
||||||
if(!page)
|
if(!page)
|
||||||
page = 'index'
|
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) => {
|
app.get('/r/random', (req, res, next) => {
|
||||||
|
Loading…
Reference in New Issue
Block a user