diff options
Diffstat (limited to 'nuldoc-src/components/post_page_entry.ts')
| -rw-r--r-- | nuldoc-src/components/post_page_entry.ts | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/nuldoc-src/components/post_page_entry.ts b/nuldoc-src/components/post_page_entry.ts new file mode 100644 index 0000000..e825dfd --- /dev/null +++ b/nuldoc-src/components/post_page_entry.ts @@ -0,0 +1,47 @@ +import { el, Element, text } from "../dom.ts"; +import { + getPostCreatedDate, + getPostUpdatedDate, + PostPage, +} from "../pages/post.ts"; + +export function postPageEntry(post: PostPage): Element { + return el( + "article", + [["class", "post-entry"]], + el( + "a", + [["href", post.href]], + el( + "header", + [["class", "entry-header"]], + el("h2", [], text(post.title)), + ), + el( + "section", + [["class", "entry-content"]], + el("p", [], text(post.summary)), + ), + el( + "footer", + [["class", "entry-footer"]], + el( + "time", + [["datetime", getPostCreatedDate(post)]], + text(getPostCreatedDate(post)), + ), + text(" 投稿"), + ...(post.revisions.length > 1 + ? [ + text("、"), + el("time", [[ + "datetime", + getPostUpdatedDate(post), + ]], text(getPostUpdatedDate(post))), + text(" 更新"), + ] + : []), + ), + ), + ); +} |
