mirror of
https://git.sr.ht/~cadence/bibliogram
synced 2024-11-22 16:17:29 +00:00
Compare commits
No commits in common. "7acb21f613d319d544a7d9b9a813d383b87552f8" and "7461f25ca97bcb894e3fa5f54a010905ebb44f26" have entirely different histories.
7acb21f613
...
7461f25ca9
@ -96,9 +96,7 @@ function fetchUserFromHTML(username) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
let quotaUsed = 0
|
|
||||||
return userRequestCache.getOrFetch("user/"+username, false, true, () => {
|
return userRequestCache.getOrFetch("user/"+username, false, true, () => {
|
||||||
quotaUsed++
|
|
||||||
return switcher.request("user_html", `https://www.instagram.com/${username}/feed/`, async res => {
|
return switcher.request("user_html", `https://www.instagram.com/${username}/feed/`, async res => {
|
||||||
if (res.status === 301) throw constants.symbols.ENDPOINT_OVERRIDDEN
|
if (res.status === 301) throw constants.symbols.ENDPOINT_OVERRIDDEN
|
||||||
if (res.status === 302) throw constants.symbols.INSTAGRAM_DEMANDS_LOGIN
|
if (res.status === 302) throw constants.symbols.INSTAGRAM_DEMANDS_LOGIN
|
||||||
@ -155,7 +153,7 @@ function fetchUserFromHTML(username) {
|
|||||||
}
|
}
|
||||||
throw error
|
throw error
|
||||||
})
|
})
|
||||||
}).then(user => ({user, quotaUsed}))
|
}).then(user => ({user, quotaUsed: 0}))
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -13,16 +13,6 @@ function getPageTitle(post) {
|
|||||||
return (post.getCaptionIntroduction() || `Post from @${post.getBasicOwner().username}`) + " | Bibliogram"
|
return (post.getCaptionIntroduction() || `Post from @${post.getBasicOwner().username}`) + " | Bibliogram"
|
||||||
}
|
}
|
||||||
|
|
||||||
async function getUserAndQuota(req, username) {
|
|
||||||
if (quota.remaining(req) === 0) {
|
|
||||||
throw constants.symbols.QUOTA_REACHED
|
|
||||||
}
|
|
||||||
|
|
||||||
const {user, quotaUsed} = await fetchUser(username)
|
|
||||||
const remaining = quota.add(req, quotaUsed)
|
|
||||||
return {user, remaining}
|
|
||||||
}
|
|
||||||
|
|
||||||
function getPostAndQuota(req, shortcode) {
|
function getPostAndQuota(req, shortcode) {
|
||||||
if (quota.remaining(req) === 0) {
|
if (quota.remaining(req) === 0) {
|
||||||
throw constants.symbols.QUOTA_REACHED
|
throw constants.symbols.QUOTA_REACHED
|
||||||
@ -111,7 +101,8 @@ module.exports = [
|
|||||||
throw constants.symbols.QUOTA_REACHED
|
throw constants.symbols.QUOTA_REACHED
|
||||||
}
|
}
|
||||||
|
|
||||||
let {user, remaining} = await getUserAndQuota(req, username)
|
const {user, quotaUsed} = await fetchUser(username)
|
||||||
|
let remaining = quota.add(req, quotaUsed)
|
||||||
|
|
||||||
const selectedTimeline = user[type]
|
const selectedTimeline = user[type]
|
||||||
let pageNumber = +params.get("page")
|
let pageNumber = +params.get("page")
|
||||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -79,12 +79,8 @@ class NextPage extends FreezeWidth {
|
|||||||
this.freeze(this.element.getAttribute("data-loading-text"))
|
this.freeze(this.element.getAttribute("data-loading-text"))
|
||||||
const type = this.element.getAttribute("data-type")
|
const type = this.element.getAttribute("data-type")
|
||||||
|
|
||||||
return fetch(`/fragment/user/${this.element.getAttribute("data-username")}/${this.nextPageNumber}?type=${type}`).then(res => {
|
return fetch(`/fragment/user/${this.element.getAttribute("data-username")}/${this.nextPageNumber}?type=${type}`).then(res => res.text()).then(text => {
|
||||||
if (res.status === 200) {
|
|
||||||
quota.change(-1)
|
quota.change(-1)
|
||||||
}
|
|
||||||
return res.text()
|
|
||||||
}).then(text => {
|
|
||||||
q("#next-page-container").remove()
|
q("#next-page-container").remove()
|
||||||
this.observer.disconnect()
|
this.observer.disconnect()
|
||||||
q("#timeline").insertAdjacentHTML("beforeend", text)
|
q("#timeline").insertAdjacentHTML("beforeend", text)
|
||||||
|
@ -19,7 +19,4 @@ html
|
|||||||
| To prevent bot abuse, all users on proxy networks share the same request quota.
|
| To prevent bot abuse, all users on proxy networks share the same request quota.
|
||||||
|
|
|
|
||||||
|
|
|
|
||||||
| If you are automatically collecting data from Bibliogram, please do not!
|
|
||||||
| #[a(href="https://git.sr.ht/~cadence/bibliogram-docs/tree/master/docs/Installing%20%28basic%29.md") You can easily run your own copy with no quota.] / #[a(href="https://cadence.moe/contact") Get in touch if you want help? <3]
|
|
||||||
|
|
|
||||||
|
|
|
|
||||||
|
@ -5,24 +5,16 @@ $theme: () !default
|
|||||||
|
|
||||||
@font-face
|
@font-face
|
||||||
font-family: "Bariol"
|
font-family: "Bariol"
|
||||||
font-display: swap // prefer a fallback font until the font file is loaded
|
font-display: swap
|
||||||
src: url(/static/fonts/bariol.woff2) format("woff2"), url(/static/fonts/bariol.ttf) format("truetype")
|
src: url(/static/fonts/bariol.woff2) format("woff2"), url(/static/fonts/bariol.ttf) format("truetype")
|
||||||
|
|
||||||
@each $weight in normal, bold
|
|
||||||
@font-face
|
|
||||||
font-family: "Cantarell"
|
|
||||||
font-weight: $weight
|
|
||||||
src: url(/static/fonts/cantarell-#{$weight}.woff2) format("woff2"), url(/static/fonts/cantarell-#{$weight}.ttf) format("truetype")
|
|
||||||
font-display: swap // prefer a fallback font until the font file is loaded
|
|
||||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD // from google fonts definition, https://fonts.googleapis.com/css2?family=Cantarell
|
|
||||||
|
|
||||||
body
|
body
|
||||||
font-family: "Bariol", sans-serif
|
font-family: "Bariol", sans-serif
|
||||||
|
|
||||||
body.use-boring-font
|
body.use-boring-font
|
||||||
// this is useful so that cyrillic and other scripts don't look conspicuous compared to nearby latin letters.
|
// this is useful so that cyrillic and other scripts don't look conspicuous compared to nearby latin letters.
|
||||||
// the use-boring-font class is activated based on the page and heuristics of its contents
|
// the use-boring-font class is activated based on the page and heuristics of its contents
|
||||||
font-family: "Cantarell", sans-serif
|
font-family: sans-serif
|
||||||
|
|
||||||
input, button, textarea
|
input, button, textarea
|
||||||
font-family: inherit
|
font-family: inherit
|
||||||
@ -42,7 +34,7 @@ body
|
|||||||
|
|
||||||
@media screen and (min-width: $layout-b-min)
|
@media screen and (min-width: $layout-b-min)
|
||||||
display: grid
|
display: grid
|
||||||
grid-template-columns: 250px 1fr
|
grid-template-columns: 235px 1fr
|
||||||
|
|
||||||
.pfp
|
.pfp
|
||||||
border-radius: 50%
|
border-radius: 50%
|
||||||
|
Loading…
Reference in New Issue
Block a user