mirror of
https://git.sr.ht/~cadence/bibliogram
synced 2024-11-22 08:07:30 +00:00
Implement caption on right (closes #51)
This commit is contained in:
parent
2244c219a4
commit
13339efa9e
@ -25,7 +25,6 @@ module.exports = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
route: "/privacy", methods: ["GET"], code: async ({req}) => {
|
route: "/privacy", methods: ["GET"], code: async ({req}) => {
|
||||||
|
|
||||||
if (constants.has_privacy_policy && pugCache.has("pug/privacy.pug")) {
|
if (constants.has_privacy_policy && pugCache.has("pug/privacy.pug")) {
|
||||||
const settings = getSettings(req)
|
const settings = getSettings(req)
|
||||||
return render(200, "pug/privacy.pug", {settings})
|
return render(200, "pug/privacy.pug", {settings})
|
||||||
@ -107,13 +106,14 @@ module.exports = [
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
route: `/fragment/user/(${constants.external.username_regex})/(\\d+)`, methods: ["GET"], code: async ({url, fill}) => {
|
route: `/fragment/user/(${constants.external.username_regex})/(\\d+)`, methods: ["GET"], code: async ({req, url, fill}) => {
|
||||||
return fetchUser(fill[0]).then(async user => {
|
return fetchUser(fill[0]).then(async user => {
|
||||||
const pageNumber = +fill[1]
|
const pageNumber = +fill[1]
|
||||||
const pageIndex = pageNumber - 1
|
const pageIndex = pageNumber - 1
|
||||||
await user.timeline.fetchUpToPage(pageIndex)
|
await user.timeline.fetchUpToPage(pageIndex)
|
||||||
if (user.timeline.pages[pageIndex]) {
|
if (user.timeline.pages[pageIndex]) {
|
||||||
return render(200, "pug/fragments/timeline_page.pug", {page: user.timeline.pages[pageIndex], pageIndex, user, url})
|
const settings = getSettings(req)
|
||||||
|
return render(200, "pug/fragments/timeline_page.pug", {page: user.timeline.pages[pageIndex], pageIndex, user, url, settings})
|
||||||
} else {
|
} else {
|
||||||
return {
|
return {
|
||||||
statusCode: 400,
|
statusCode: 400,
|
||||||
@ -136,17 +136,18 @@ module.exports = [
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
route: `/fragment/post/(${constants.external.shortcode_regex})`, methods: ["GET"], code: ({fill}) => {
|
route: `/fragment/post/(${constants.external.shortcode_regex})`, methods: ["GET"], code: ({req, fill}) => {
|
||||||
return getOrFetchShortcode(fill[0]).then(async post => {
|
return getOrFetchShortcode(fill[0]).then(async post => {
|
||||||
await post.fetchChildren()
|
await post.fetchChildren()
|
||||||
await post.fetchExtendedOwnerP() // serial await is okay since intermediate fetch result is cached
|
await post.fetchExtendedOwnerP() // serial await is okay since intermediate fetch result is cached
|
||||||
if (post.isVideo()) await post.fetchVideoURL()
|
if (post.isVideo()) await post.fetchVideoURL()
|
||||||
|
const settings = getSettings(req)
|
||||||
return {
|
return {
|
||||||
statusCode: 200,
|
statusCode: 200,
|
||||||
contentType: "application/json",
|
contentType: "application/json",
|
||||||
content: {
|
content: {
|
||||||
title: getPageTitle(post),
|
title: getPageTitle(post),
|
||||||
html: pugCache.get("pug/fragments/post.pug").web({post})
|
html: pugCache.get("pug/fragments/post.pug").web({post, settings})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}).catch(error => {
|
}).catch(error => {
|
||||||
@ -186,9 +187,7 @@ module.exports = [
|
|||||||
await post.fetchChildren()
|
await post.fetchChildren()
|
||||||
await post.fetchExtendedOwnerP() // serial await is okay since intermediate fetch result is cached
|
await post.fetchExtendedOwnerP() // serial await is okay since intermediate fetch result is cached
|
||||||
if (post.isVideo()) await post.fetchVideoURL()
|
if (post.isVideo()) await post.fetchVideoURL()
|
||||||
|
|
||||||
const settings = getSettings(req)
|
const settings = getSettings(req)
|
||||||
|
|
||||||
return render(200, "pug/post.pug", {
|
return render(200, "pug/post.pug", {
|
||||||
title: getPageTitle(post),
|
title: getPageTitle(post),
|
||||||
post,
|
post,
|
||||||
|
@ -1,7 +1,9 @@
|
|||||||
include ./display_structured
|
include ./display_structured
|
||||||
|
|
||||||
mixin post(post, headerWithNavigation)
|
mixin post(post, headerWithNavigation)
|
||||||
.post-page-divider
|
.post-page-divider(class={
|
||||||
|
"caption-on-right": settings.caption_side === "right"
|
||||||
|
})
|
||||||
section.description-section
|
section.description-section
|
||||||
.user-header
|
.user-header
|
||||||
header.user-header-inner
|
header.user-header-inner
|
||||||
|
@ -76,7 +76,7 @@ html
|
|||||||
{value: "6", text: "6 columns"}
|
{value: "6", text: "6 columns"}
|
||||||
])
|
])
|
||||||
|
|
||||||
+select("caption_side", "Caption side", true, [
|
+select("caption_side", "Caption side", false, [
|
||||||
{value: "left", text: "Left (Bibliogram)"},
|
{value: "left", text: "Left (Bibliogram)"},
|
||||||
{value: "right", text: "Right (Instagram)"}
|
{value: "right", text: "Right (Instagram)"}
|
||||||
])
|
])
|
||||||
|
@ -266,6 +266,12 @@ body
|
|||||||
display: flex
|
display: flex
|
||||||
flex-direction: column
|
flex-direction: column
|
||||||
|
|
||||||
|
&.caption-on-right
|
||||||
|
grid-template-columns: auto 360px
|
||||||
|
|
||||||
|
.description-section
|
||||||
|
order: 1
|
||||||
|
|
||||||
.description-section
|
.description-section
|
||||||
display: grid
|
display: grid
|
||||||
align-items: stretch
|
align-items: stretch
|
||||||
|
Loading…
Reference in New Issue
Block a user