//- Needs user, url, constants, website_origin, display_feed_validation_buttons include includes/timeline_page.pug include includes/next_page_button.pug include includes/display_structured include includes/feed_link - const numberFormat = new Intl.NumberFormat().format doctype html html head if user.data.full_name title= `${user.data.full_name} (@${user.data.username}) | Bibliogram` else title= `@${user.data.username} | Bibliogram` include includes/head script(src="/static/js/pagination.js" type="module") script(src="/static/js/post_overlay.js" type="module") body .main-divider header.profile-overview .profile-sticky img(src=user.proxyProfilePicture width=150 height=150 alt=`${user.data.full_name || user.data.username}'s profile picture.`).pfp //- Instagram only uses the above URL, but an HD version is also available. The alt text is pathetic, I know. I don't have much to work with. if user.data.full_name h1.full-name= user.data.full_name h2.username= `@${user.data.username}` else h1.full-name= `@${user.data.username}` p.structured-text.bio - const bio = user.getStructuredBio() if bio +display_structured(bio) if user.data.external_url p.website a(href=user.data.external_url)= user.data.external_url if user.posts != undefined div.profile-counter #[span(data-numberformat=user.posts).count #{numberFormat(user.posts)}] posts if user.following != undefined div.profile-counter #[span(data-numberformat=user.following).count #{numberFormat(user.following)}] following if user.followedBy != undefined div.profile-counter #[span(data-numberformat=user.followedBy).count #{numberFormat(user.followedBy)}] followed by div.links if constants.settings.rss_enabled +feed_link("RSS", "rss", user.data.username, "application/rss+xml", display_feed_validation_buttons) +feed_link("Atom", "atom", user.data.username, "application/atom+xml", display_feed_validation_buttons) a(rel="noreferrer noopener" href=`https://www.instagram.com/${user.data.username}` target="_blank") instagram.com - const hasPosts = !user.data.is_private && user.timeline.pages.length && user.timeline.pages[0].length main(class=hasPosts ? "" : "no-posts")#timeline.timeline if !user.data.is_private if hasPosts each page, pageIndex in user.timeline.pages +timeline_page(page, pageIndex) +next_page_button(user, url) else div div.page-number span.number No posts. else div div.page-number span.number Profile is private.