jschan - Anonymous imageboard software. Classic look, modern features and feel. Works without JavaScript and supports Tor, I2P, Lokinet, etc.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

84 lines
3.4 KiB

5 years ago
extends ../layout.pug
include ../mixins/boardtable.pug
5 years ago
block head
title #{meta.siteName}
5 years ago
block content
h1.board-title #{meta.siteName}
.table-container.flex-center.mv-10.text-center
table
tr
th.alt Welcome
tr
td
pre.no-m-p
| The site administrator should edit views/pages/home.pug, then run "pm2 reload all" and "gulp html" to customise this page.
if recentNews && recentNews.length > 0
.table-container.flex-center.mv-5
table.newstable
tr
th(colspan=3) Latest News
each post in recentNews
tr
td
a.left(href=`/news.html#${post._id}`) #{post.title}
td
p.no-m-p #{`${post.message.raw.substring(0,50)}${post.message.raw.length > 50 ? '...' : ''}`}
td
- const newsDate = new Date(post.date);
time.right.reltime(datetime=newsDate.toISOString()) #{newsDate.toLocaleString(undefined, {hourCycle:'h23'})}
if hotThreads && hotThreads.length > 0
.table-container.flex-center.mv-5
table.posttable
tr(colspan=3)
each post in hotThreads
tr
td 🔥#{post.replyposts + post.replyfiles}
td
if post.nomarkup != null
a.quote(href=`/${post.board}/thread/${post.postId}.html#${post.postId}`) #{`${post.subject.substring(0,30)}${post.subject && post.subject.length > 30 ? '...' : ''} ${post.nomarkup && post.nomarkup.substring(0,50)}${post.nomarkup && post.nomarkup.length > 50 ? '...' : ''}`}
if post.nomarkup === null
a.quote(href=`/${post.board}/thread/${post.postId}.html#${post.postId}`) (No comment.)
td
- const newsDate = new Date(post.bumped);
time.right.reltime(datetime=newsDate.toISOString()) #{newsDate.toLocaleString(undefined, {hourCycle:'h23'})}
if boards && boards.length > 0
+boardtable(true, false)
each board in boards
tr
td
if board.settings.sfw === true
span.left
span.help(title='SFW') 💼
|
a(href=`/${board._id}/index.html`) /#{board._id}/ - #{board.settings.name}
td #{board.settings.description}
td #{board.pph}
td #{board.ppd}
td #{board.ips}
td #{board.sequence_value-1}
if localStats.total-localStats.unlisted > boards.length
tr
td(colspan=6)
a.bold(href='/boards.html') More Boards
.table-container.flex-center.mv-10.text-center
table(style='max-width:450px')
tr
th Local Stats
tr
td
pre.no-m-p
| There are currently #[span.bold #{localStats.total-localStats.unlisted}] public boards, #[span.bold #{localStats.total}] in total. Sitewide, #[span.bold #{localStats.ppd}] post#{localStats.ppd === 1 ? ' has' : 's have'} been made in the last day, #[span.bold #{localStats.pph}] in the last hour, #[span.bold #{localStats.posts}] in total.
| #[span.bold #{fileStats.count}] file#{fileStats.count === 1 ? ' is' : 's are'} being served, totaling #[span.bold #{fileStats.totalSizeString}].
if enableWebring === true && webringStats != null
.table-container.flex-center.mv-10.text-center
table(style='max-width:450px')
tr
th Webring Stats
tr
td
pre.no-m-p
| There are currently #[span.bold #{webringStats.sites}] sites and #[span.bold #{webringStats.total}] boards in the known webring. Across all webring boards, #[span.bold #{webringStats.pph}] post#{webringStats.pph === 1 ? ' has' : 's have'} been made in the last hour, #[span.bold #{webringStats.posts}] in total.