diff options
Diffstat (limited to 'vhosts/blog/nuldoc-src/pages')
| -rw-r--r-- | vhosts/blog/nuldoc-src/pages/about.ts | 8 | ||||
| -rw-r--r-- | vhosts/blog/nuldoc-src/pages/post.ts | 15 | ||||
| -rw-r--r-- | vhosts/blog/nuldoc-src/pages/post_list.ts | 6 | ||||
| -rw-r--r-- | vhosts/blog/nuldoc-src/pages/slide.ts | 6 | ||||
| -rw-r--r-- | vhosts/blog/nuldoc-src/pages/slide_list.ts | 6 | ||||
| -rw-r--r-- | vhosts/blog/nuldoc-src/pages/tag.ts | 4 |
6 files changed, 27 insertions, 18 deletions
diff --git a/vhosts/blog/nuldoc-src/pages/about.ts b/vhosts/blog/nuldoc-src/pages/about.ts index 6ef2e05e..e78c109f 100644 --- a/vhosts/blog/nuldoc-src/pages/about.ts +++ b/vhosts/blog/nuldoc-src/pages/about.ts @@ -6,7 +6,7 @@ import { Config } from "../config.ts"; import { el, text } from "../dom.ts"; import { Page } from "../page.ts"; import { dateToString } from "../revision.ts"; -import { getPostCreatedDate } from "./post.ts"; +import { getPostPublishedDate } from "./post.ts"; import { SlidePage } from "./slide.ts"; export type AboutPage = Page; @@ -134,8 +134,8 @@ export async function generateAboutPage( "ul", [], ...Array.from(slides).sort((a, b) => { - const ta = dateToString(getPostCreatedDate(a)); - const tb = dateToString(getPostCreatedDate(b)); + const ta = dateToString(getPostPublishedDate(a)); + const tb = dateToString(getPostPublishedDate(b)); if (ta > tb) return -1; if (ta < tb) return 1; return 0; @@ -148,7 +148,7 @@ export async function generateAboutPage( [["href", slide.href]], text( `${ - dateToString(getPostCreatedDate(slide)) + dateToString(getPostPublishedDate(slide)) }: ${slide.event} (${slide.talkType})`, ), ), diff --git a/vhosts/blog/nuldoc-src/pages/post.ts b/vhosts/blog/nuldoc-src/pages/post.ts index f7e53421..b5f954ea 100644 --- a/vhosts/blog/nuldoc-src/pages/post.ts +++ b/vhosts/blog/nuldoc-src/pages/post.ts @@ -18,7 +18,12 @@ export interface PostPage extends Page { uuid: string; } -export function getPostCreatedDate(page: { revisions: Revision[] }): Date { +export function getPostPublishedDate(page: { revisions: Revision[] }): Date { + for (const rev of page.revisions) { + if (!rev.isInternal) { + return rev.date; + } + } return page.revisions[0].date; } @@ -26,6 +31,10 @@ export function getPostUpdatedDate(page: { revisions: Revision[] }): Date { return page.revisions[page.revisions.length - 1].date; } +export function postHasAnyUpdates(page: { revisions: Revision[] }): boolean { + return 2 <= page.revisions.filter((rev) => !rev.isInternal).length; +} + export async function generatePostPage( doc: Document, config: Config, @@ -114,7 +123,7 @@ export async function generatePostPage( const html = await pageLayout( { - metaCopyrightYear: getPostCreatedDate(doc).year, + metaCopyrightYear: getPostPublishedDate(doc).year, metaDescription: doc.description, metaKeywords: doc.tags.map((slug) => getTagLabel(config, slug)), metaTitle: `${doc.title}|${config.blog.siteName}`, @@ -139,7 +148,7 @@ export async function generatePostPage( description: doc.description, tags: doc.tags, revisions: doc.revisions, - published: getPostCreatedDate(doc), + published: getPostPublishedDate(doc), updated: getPostUpdatedDate(doc), uuid: doc.uuid, }; diff --git a/vhosts/blog/nuldoc-src/pages/post_list.ts b/vhosts/blog/nuldoc-src/pages/post_list.ts index 7cee87e7..111ecd62 100644 --- a/vhosts/blog/nuldoc-src/pages/post_list.ts +++ b/vhosts/blog/nuldoc-src/pages/post_list.ts @@ -6,7 +6,7 @@ import { Config } from "../config.ts"; import { el, text } from "../dom.ts"; import { Page } from "../page.ts"; import { dateToString } from "../revision.ts"; -import { getPostCreatedDate, PostPage } from "./post.ts"; +import { getPostPublishedDate, PostPage } from "./post.ts"; export type PostListPage = Page; @@ -33,8 +33,8 @@ export async function generatePostListPage( ), ), ...Array.from(posts).sort((a, b) => { - const ta = dateToString(getPostCreatedDate(a)); - const tb = dateToString(getPostCreatedDate(b)); + const ta = dateToString(getPostPublishedDate(a)); + const tb = dateToString(getPostPublishedDate(b)); if (ta > tb) return -1; if (ta < tb) return 1; return 0; diff --git a/vhosts/blog/nuldoc-src/pages/slide.ts b/vhosts/blog/nuldoc-src/pages/slide.ts index 5e4d1834..88069708 100644 --- a/vhosts/blog/nuldoc-src/pages/slide.ts +++ b/vhosts/blog/nuldoc-src/pages/slide.ts @@ -8,7 +8,7 @@ import { el, text } from "../dom.ts"; import { Page } from "../page.ts"; import { Date, dateToString, Revision } from "../revision.ts"; import { Slide } from "../slide/slide.ts"; -import { getPostCreatedDate, getPostUpdatedDate } from "./post.ts"; +import { getPostPublishedDate, getPostUpdatedDate } from "./post.ts"; export interface SlidePage extends Page { title: string; @@ -113,7 +113,7 @@ export async function generateSlidePage( const html = await pageLayout( { - metaCopyrightYear: getPostCreatedDate(slide).year, + metaCopyrightYear: getPostPublishedDate(slide).year, metaDescription: slide.title, metaKeywords: slide.tags.map((slug) => getTagLabel(config, slug)), metaTitle: `${slide.event} (${slide.talkType})|${config.blog.siteName}`, @@ -141,7 +141,7 @@ export async function generateSlidePage( slideLink: slide.slideLink, tags: slide.tags, revisions: slide.revisions, - published: getPostCreatedDate(slide), + published: getPostPublishedDate(slide), updated: getPostUpdatedDate(slide), uuid: slide.uuid, }; diff --git a/vhosts/blog/nuldoc-src/pages/slide_list.ts b/vhosts/blog/nuldoc-src/pages/slide_list.ts index 0b59b1dc..738f42ac 100644 --- a/vhosts/blog/nuldoc-src/pages/slide_list.ts +++ b/vhosts/blog/nuldoc-src/pages/slide_list.ts @@ -6,7 +6,7 @@ import { Config } from "../config.ts"; import { el, text } from "../dom.ts"; import { Page } from "../page.ts"; import { dateToString } from "../revision.ts"; -import { getPostCreatedDate } from "./post.ts"; +import { getPostPublishedDate } from "./post.ts"; import { SlidePage } from "./slide.ts"; export type SlideListPage = Page; @@ -34,8 +34,8 @@ export async function generateSlideListPage( ), ), ...Array.from(slides).sort((a, b) => { - const ta = dateToString(getPostCreatedDate(a)); - const tb = dateToString(getPostCreatedDate(b)); + const ta = dateToString(getPostPublishedDate(a)); + const tb = dateToString(getPostPublishedDate(b)); if (ta > tb) return -1; if (ta < tb) return 1; return 0; diff --git a/vhosts/blog/nuldoc-src/pages/tag.ts b/vhosts/blog/nuldoc-src/pages/tag.ts index ef79065d..ea1fe35e 100644 --- a/vhosts/blog/nuldoc-src/pages/tag.ts +++ b/vhosts/blog/nuldoc-src/pages/tag.ts @@ -6,7 +6,7 @@ import { slidePageEntry } from "../components/slide_page_entry.ts"; import { Config, getTagLabel } from "../config.ts"; import { el, text } from "../dom.ts"; import { Page } from "../page.ts"; -import { getPostCreatedDate } from "./post.ts"; +import { getPostPublishedDate } from "./post.ts"; import { TaggedPage } from "./tagged_page.ts"; export interface TagPage extends Page { @@ -41,7 +41,7 @@ export async function generateTagPage( const html = await pageLayout( { - metaCopyrightYear: getPostCreatedDate(pages[pages.length - 1]).year, + metaCopyrightYear: getPostPublishedDate(pages[pages.length - 1]).year, metaDescription: `タグ「${tagLabel}」のついた記事またはスライドの一覧`, metaKeywords: [tagLabel], metaTitle: `${pageTitle}|${config.blog.siteName}`, |
