From: Lanius Trolling Date: Thu, 28 Dec 2023 17:37:32 +0000 (-0500) Subject: Fix viewing of WIP or old factbooks X-Git-Url: https://gitweb.starshipfights.net/?a=commitdiff_plain;h=a752c23729ba92080f17c26f46d82d1c9c7afc49;p=factbooks Fix viewing of WIP or old factbooks --- diff --git a/src/jvmMain/kotlin/info/mechyrdia/lore/views_lore.kt b/src/jvmMain/kotlin/info/mechyrdia/lore/views_lore.kt index 43ccce1..9a32057 100644 --- a/src/jvmMain/kotlin/info/mechyrdia/lore/views_lore.kt +++ b/src/jvmMain/kotlin/info/mechyrdia/lore/views_lore.kt @@ -56,75 +56,78 @@ suspend fun ApplicationCall.loreArticlePage(): HTML.() -> Unit { canCommentAs.await() to comments.await() } - if (pageFile.isDirectory) { - val navbar = standardNavBar(pagePathParts.takeIf { it.isNotEmpty() }) - - val title = pagePath.takeIf { it.isNotEmpty() }?.toFriendlyIndexTitle() ?: "Table of Contents" - - val sidebar = PageNavSidebar( - listOf( - NavLink("#page-top", title, aClasses = "left"), - NavLink("#comments", "Comments", aClasses = "left") + val isValid = pageFile.exists() && (Configuration.CurrentConfiguration.isDevMode || !(pageFile.name.endsWith(".wip") || pageFile.name.endsWith(".old"))) + + if (isValid) { + if (pageFile.isDirectory) { + val navbar = standardNavBar(pagePathParts.takeIf { it.isNotEmpty() }) + + val title = pagePath.takeIf { it.isNotEmpty() }?.toFriendlyIndexTitle() ?: "Table of Contents" + + val sidebar = PageNavSidebar( + listOf( + NavLink("#page-top", title, aClasses = "left"), + NavLink("#comments", "Comments", aClasses = "left") + ) ) - ) - - return page(title, navbar, sidebar) { - section { - a { id = "page-top" } - h1 { +title } - ul { - pageNode.subNodes.renderInto(this, pagePath.takeIf { it.isNotEmpty() }) + + return page(title, navbar, sidebar) { + section { + a { id = "page-top" } + h1 { +title } + ul { + pageNode.subNodes.renderInto(this, pagePath.takeIf { it.isNotEmpty() }) + } } + + finalSection(pagePath, canCommentAs, comments, totalsData) } - - finalSection(pagePath, canCommentAs, comments, totalsData) } - } else if (pageFile.isFile) { - val pageTemplate = pageFile.readText() - val pageMarkup = PreParser.preparse(pagePath, pageTemplate) - val pageHtml = TextParserState.parseText(pageMarkup, TextParserFormattingTag.asTags, Unit) - - val pageToC = TableOfContentsBuilder() - TextParserState.parseText(pageMarkup, TextParserToCBuilderTag.asTags, pageToC) - - val pageNav = pageToC.toNavBar() + NavLink("#comments", "Comments", aClasses = "left") - - val navbar = standardNavBar(pagePathParts) - val sidebar = PageNavSidebar(pageNav) - - return page(pageToC.toPageTitle(), navbar, sidebar, pageToC.toOpenGraph()) { - section { - a { id = "page-top" } - unsafe { raw(pageHtml) } - } + if (pageFile.isFile) { + val pageTemplate = pageFile.readText() + val pageMarkup = PreParser.preparse(pagePath, pageTemplate) + val pageHtml = TextParserState.parseText(pageMarkup, TextParserFormattingTag.asTags, Unit) + + val pageToC = TableOfContentsBuilder() + TextParserState.parseText(pageMarkup, TextParserToCBuilderTag.asTags, pageToC) + + val pageNav = pageToC.toNavBar() + NavLink("#comments", "Comments", aClasses = "left") - finalSection(pagePath, canCommentAs, comments, totalsData) + val navbar = standardNavBar(pagePathParts) + val sidebar = PageNavSidebar(pageNav) + + return page(pageToC.toPageTitle(), navbar, sidebar, pageToC.toOpenGraph()) { + section { + a { id = "page-top" } + unsafe { raw(pageHtml) } + } + + finalSection(pagePath, canCommentAs, comments, totalsData) + } } - } else { - val title = pagePathParts.last().toFriendlyPageTitle() - - val navbar = standardNavBar(pagePathParts) - - val sidebar = PageNavSidebar( - listOf( - NavLink("#page-top", title, aClasses = "left"), - NavLink("#comments", "Comments", aClasses = "left") - ) + } + + val title = pagePathParts.last().toFriendlyPageTitle() + val navbar = standardNavBar(pagePathParts) + val sidebar = PageNavSidebar( + listOf( + NavLink("#page-top", title, aClasses = "left"), + NavLink("#comments", "Comments", aClasses = "left") ) - - return page(title, navbar, sidebar) { - section { - a { id = "page-top" } - h1 { +title } - p { - +"This factbook does not exist. Would you like to " - a(href = "/") { +"return to the index page" } - +"?" - } + ) + + return page(title, navbar, sidebar) { + section { + a { id = "page-top" } + h1 { +title } + p { + +"This factbook does not exist. Would you like to " + a(href = "/") { +"return to the index page" } + +"?" } - - finalSection(pagePath, canCommentAs, comments, totalsData) } + + finalSection(pagePath, canCommentAs, comments, totalsData) } }