aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--nuldoc-src/commands/build.ts19
-rw-r--r--nuldoc-src/pages/tag.ts7
-rw-r--r--nuldoc-src/pages/tag_list.ts76
-rw-r--r--public/404.html2
-rw-r--r--public/about/index.html2
-rw-r--r--public/posts/2021-03-05/my-first-post/index.html2
-rw-r--r--public/posts/2021-03-30/phperkaigi-2021/index.html2
-rw-r--r--public/posts/2021-10-02/cpp-you-can-use-keywords-in-attributes/index.html2
-rw-r--r--public/posts/2021-10-02/python-unbound-local-error/index.html2
-rw-r--r--public/posts/2021-10-02/ruby-detect-running-implementation/index.html2
-rw-r--r--public/posts/2021-10-02/ruby-then-keyword-and-case-in/index.html2
-rw-r--r--public/posts/2021-10-02/rust-where-are-primitive-types-from/index.html2
-rw-r--r--public/posts/2021-10-02/vim-difference-between-autocmd-bufwrite-and-bufwritepre/index.html2
-rw-r--r--public/posts/2021-10-02/vim-swap-order-of-selected-lines/index.html2
-rw-r--r--public/posts/2022-04-09/phperkaigi-2022-tokens/index.html2
-rw-r--r--public/posts/2022-04-24/term-banner-write-tool-showing-banner-in-terminal/index.html2
-rw-r--r--public/posts/2022-05-01/phperkaigi-2022/index.html2
-rw-r--r--public/posts/2022-08-27/php-conference-okinawa-code-golf/index.html2
-rw-r--r--public/posts/2022-08-31/support-for-communty-is-employee-benefits/index.html2
-rw-r--r--public/posts/2022-09-29/write-fizzbuzz-in-php-2-letters-per-line/index.html2
-rw-r--r--public/posts/2022-10-23/phperkaigi-2023-unused-token-quiz-1/index.html2
-rw-r--r--public/posts/2022-10-28/setup-server-for-this-site/index.html2
-rw-r--r--public/posts/2022-11-19/phperkaigi-2023-unused-token-quiz-2/index.html2
-rw-r--r--public/posts/2023-01-10/phperkaigi-2023-unused-token-quiz-3/index.html2
-rw-r--r--public/posts/2023-03-10/rewrite-this-blog-generator/index.html2
-rw-r--r--public/posts/index.html2
-rw-r--r--public/style.css3
-rw-r--r--public/tags/conference/index.html2
-rw-r--r--public/tags/cpp/index.html2
-rw-r--r--public/tags/cpp17/index.html2
-rw-r--r--public/tags/index.html122
-rw-r--r--public/tags/note-to-self/index.html2
-rw-r--r--public/tags/php/index.html2
-rw-r--r--public/tags/phpcon/index.html2
-rw-r--r--public/tags/phperkaigi/index.html2
-rw-r--r--public/tags/python/index.html2
-rw-r--r--public/tags/python3/index.html2
-rw-r--r--public/tags/ruby/index.html2
-rw-r--r--public/tags/ruby3/index.html2
-rw-r--r--public/tags/rust/index.html2
-rw-r--r--public/tags/vim/index.html2
-rw-r--r--static/style.css3
42 files changed, 260 insertions, 42 deletions
diff --git a/nuldoc-src/commands/build.ts b/nuldoc-src/commands/build.ts
index d523861..911ff50 100644
--- a/nuldoc-src/commands/build.ts
+++ b/nuldoc-src/commands/build.ts
@@ -13,12 +13,14 @@ import {
PostPage,
} from "../pages/post.ts";
import { generatePostListPage } from "../pages/post_list.ts";
-import { generateTagPage } from "../pages/tag.ts";
+import { generateTagPage, TagPage } from "../pages/tag.ts";
+import { generateTagListPage } from "../pages/tag_list.ts";
export async function runBuildCommand(config: Config) {
const posts = await buildPostPages(config);
await buildPostListPage(posts, config);
- await buildTagPages(posts, config);
+ const tags = await buildTagPages(posts, config);
+ await buildTagListPage(tags, config);
await buildAboutPage(config);
await buildNotFoundPage(config);
await copyStaticFiles(config);
@@ -71,12 +73,23 @@ async function buildNotFoundPage(config: Config) {
await writePage(notFoundPage, config);
}
-async function buildTagPages(posts: PostPage[], config: Config) {
+async function buildTagPages(
+ posts: PostPage[],
+ config: Config,
+): Promise<TagPage[]> {
const tagsAndPosts = collectTags(posts);
+ const tags = [];
for (const [tag, posts] of tagsAndPosts) {
const tagPage = await generateTagPage(tag, posts, config);
await writePage(tagPage, config);
+ tags.push(tagPage);
}
+ return tags;
+}
+
+async function buildTagListPage(tags: TagPage[], config: Config) {
+ const tagListPage = await generateTagListPage(tags, config);
+ await writePage(tagListPage, config);
}
function collectTags(posts: PostPage[]): [string, PostPage[]][] {
diff --git a/nuldoc-src/pages/tag.ts b/nuldoc-src/pages/tag.ts
index c9eaf7e..b6f136a 100644
--- a/nuldoc-src/pages/tag.ts
+++ b/nuldoc-src/pages/tag.ts
@@ -6,7 +6,10 @@ import { el, text } from "../dom.ts";
import { Page } from "../page.ts";
import { getPostCreatedDate, getPostUpdatedDate, PostPage } from "./post.ts";
-export type TagPage = Page;
+export interface TagPage extends Page {
+ tagSlug: string;
+ tagLabel: string;
+}
export async function generateTagPage(
tagSlug: string,
@@ -87,5 +90,7 @@ export async function generateTagPage(
renderer: "html",
destFilePath: `/tags/${tagSlug}/index.html`,
href: `/tags/${tagSlug}/`,
+ tagSlug: tagSlug,
+ tagLabel: tagLabel,
};
}
diff --git a/nuldoc-src/pages/tag_list.ts b/nuldoc-src/pages/tag_list.ts
new file mode 100644
index 0000000..e4e53f0
--- /dev/null
+++ b/nuldoc-src/pages/tag_list.ts
@@ -0,0 +1,76 @@
+import { globalFooter } from "../components/global_footer.ts";
+import { globalHeader } from "../components/global_header.ts";
+import { pageLayout } from "../components/page_layout.ts";
+import { Config } from "../config.ts";
+import { el, text } from "../dom.ts";
+import { Page } from "../page.ts";
+import { TagPage } from "./tag.ts";
+
+export type TagListPage = Page;
+
+export async function generateTagListPage(
+ tags: TagPage[],
+ config: Config,
+): Promise<TagListPage> {
+ const pageTitle = "タグ一覧";
+
+ const body = el(
+ "body",
+ [["class", "list"]],
+ globalHeader(config),
+ el(
+ "main",
+ [["class", "main"]],
+ el(
+ "header",
+ [["class", "page-header"]],
+ el(
+ "h1",
+ [],
+ text(pageTitle),
+ ),
+ ),
+ ...Array.from(tags).sort((a, b) => {
+ const ta = a.tagSlug;
+ const tb = b.tagSlug;
+ if (ta > tb) return -1;
+ if (ta < tb) return 1;
+ return 0;
+ }).map((tag) =>
+ el(
+ "article",
+ [["class", "post-entry"]],
+ el(
+ "a",
+ [["href", tag.href]],
+ el(
+ "header",
+ [["class", "entry-header"]],
+ el("h2", [], text(tag.tagLabel)),
+ ),
+ ),
+ )
+ ),
+ ),
+ globalFooter(config),
+ );
+
+ const html = await pageLayout(
+ {
+ metaCopyrightYear: config.blog.siteCopyrightYear,
+ metaDescription: "タグの一覧",
+ metaKeywords: [],
+ metaTitle: pageTitle,
+ requiresSyntaxHighlight: false,
+ },
+ body,
+ config,
+ );
+
+ return {
+ root: el("__root__", [], html),
+ renderer: "html",
+ destFilePath: "/tags/index.html",
+ href: "/tags/",
+ };
+}
diff --git a/public/404.html b/public/404.html
index 61c347a..96f7478 100644
--- a/public/404.html
+++ b/public/404.html
@@ -8,7 +8,7 @@
<meta name="description" content="リクエストされたページが見つかりません。">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>Page Not Found | REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=f4838bbf46734863045a3ba5c4147a38">
+ <link rel="stylesheet" href="/style.css?h=48694677b43b77e5c45f25e6bfdebb41">
</head>
<body class="single">
<header class="header">
diff --git a/public/about/index.html b/public/about/index.html
index 5d59946..686e1c3 100644
--- a/public/about/index.html
+++ b/public/about/index.html
@@ -8,7 +8,7 @@
<meta name="description" content="このサイトの著者について">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>About | REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=f4838bbf46734863045a3ba5c4147a38">
+ <link rel="stylesheet" href="/style.css?h=48694677b43b77e5c45f25e6bfdebb41">
</head>
<body class="single">
<header class="header">
diff --git a/public/posts/2021-03-05/my-first-post/index.html b/public/posts/2021-03-05/my-first-post/index.html
index 8821368..65f311d 100644
--- a/public/posts/2021-03-05/my-first-post/index.html
+++ b/public/posts/2021-03-05/my-first-post/index.html
@@ -8,7 +8,7 @@
<meta name="description" content="これはテスト投稿です。これはテスト投稿です。これはテスト投稿です。">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>My First Post | REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=f4838bbf46734863045a3ba5c4147a38">
+ <link rel="stylesheet" href="/style.css?h=48694677b43b77e5c45f25e6bfdebb41">
<link rel="stylesheet" href="/hl.css?h=340e65ffd5c17713efc9107c06304f7b">
</head>
<body class="single">
diff --git a/public/posts/2021-03-30/phperkaigi-2021/index.html b/public/posts/2021-03-30/phperkaigi-2021/index.html
index 9f3cd92..d31dc5e 100644
--- a/public/posts/2021-03-30/phperkaigi-2021/index.html
+++ b/public/posts/2021-03-30/phperkaigi-2021/index.html
@@ -9,7 +9,7 @@
<meta name="keywords" content="カンファレンス,PHP,PHPerKaigi">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>PHPerKaigi 2021 | REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=f4838bbf46734863045a3ba5c4147a38">
+ <link rel="stylesheet" href="/style.css?h=48694677b43b77e5c45f25e6bfdebb41">
<link rel="stylesheet" href="/hl.css?h=340e65ffd5c17713efc9107c06304f7b">
</head>
<body class="single">
diff --git a/public/posts/2021-10-02/cpp-you-can-use-keywords-in-attributes/index.html b/public/posts/2021-10-02/cpp-you-can-use-keywords-in-attributes/index.html
index 91b9ec1..74ad22d 100644
--- a/public/posts/2021-10-02/cpp-you-can-use-keywords-in-attributes/index.html
+++ b/public/posts/2021-10-02/cpp-you-can-use-keywords-in-attributes/index.html
@@ -9,7 +9,7 @@
<meta name="keywords" content="C++,C++ 17">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>【C++】 属性構文の属性名にはキーワードが使える | REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=f4838bbf46734863045a3ba5c4147a38">
+ <link rel="stylesheet" href="/style.css?h=48694677b43b77e5c45f25e6bfdebb41">
<link rel="stylesheet" href="/hl.css?h=340e65ffd5c17713efc9107c06304f7b">
</head>
<body class="single">
diff --git a/public/posts/2021-10-02/python-unbound-local-error/index.html b/public/posts/2021-10-02/python-unbound-local-error/index.html
index 8380acb..f3b94f3 100644
--- a/public/posts/2021-10-02/python-unbound-local-error/index.html
+++ b/public/posts/2021-10-02/python-unbound-local-error/index.html
@@ -9,7 +9,7 @@
<meta name="keywords" content="Python,Python 3">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>【Python】 クロージャとUnboundLocalError: local variable &apos;x&apos; referenced before assignment | REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=f4838bbf46734863045a3ba5c4147a38">
+ <link rel="stylesheet" href="/style.css?h=48694677b43b77e5c45f25e6bfdebb41">
<link rel="stylesheet" href="/hl.css?h=340e65ffd5c17713efc9107c06304f7b">
</head>
<body class="single">
diff --git a/public/posts/2021-10-02/ruby-detect-running-implementation/index.html b/public/posts/2021-10-02/ruby-detect-running-implementation/index.html
index f0e3632..3930722 100644
--- a/public/posts/2021-10-02/ruby-detect-running-implementation/index.html
+++ b/public/posts/2021-10-02/ruby-detect-running-implementation/index.html
@@ -9,7 +9,7 @@
<meta name="keywords" content="Ruby">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>【Ruby】 自身を実行している処理系の種類を判定する | REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=f4838bbf46734863045a3ba5c4147a38">
+ <link rel="stylesheet" href="/style.css?h=48694677b43b77e5c45f25e6bfdebb41">
<link rel="stylesheet" href="/hl.css?h=340e65ffd5c17713efc9107c06304f7b">
</head>
<body class="single">
diff --git a/public/posts/2021-10-02/ruby-then-keyword-and-case-in/index.html b/public/posts/2021-10-02/ruby-then-keyword-and-case-in/index.html
index 55bf07d..0a6d935 100644
--- a/public/posts/2021-10-02/ruby-then-keyword-and-case-in/index.html
+++ b/public/posts/2021-10-02/ruby-then-keyword-and-case-in/index.html
@@ -9,7 +9,7 @@
<meta name="keywords" content="Ruby,Ruby 3">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>【Ruby】 then キーワードと case in | REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=f4838bbf46734863045a3ba5c4147a38">
+ <link rel="stylesheet" href="/style.css?h=48694677b43b77e5c45f25e6bfdebb41">
<link rel="stylesheet" href="/hl.css?h=340e65ffd5c17713efc9107c06304f7b">
</head>
<body class="single">
diff --git a/public/posts/2021-10-02/rust-where-are-primitive-types-from/index.html b/public/posts/2021-10-02/rust-where-are-primitive-types-from/index.html
index db9120e..7f1e989 100644
--- a/public/posts/2021-10-02/rust-where-are-primitive-types-from/index.html
+++ b/public/posts/2021-10-02/rust-where-are-primitive-types-from/index.html
@@ -9,7 +9,7 @@
<meta name="keywords" content="Rust">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>Rust のプリミティブ型はどこからやって来るか | REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=f4838bbf46734863045a3ba5c4147a38">
+ <link rel="stylesheet" href="/style.css?h=48694677b43b77e5c45f25e6bfdebb41">
<link rel="stylesheet" href="/hl.css?h=340e65ffd5c17713efc9107c06304f7b">
</head>
<body class="single">
diff --git a/public/posts/2021-10-02/vim-difference-between-autocmd-bufwrite-and-bufwritepre/index.html b/public/posts/2021-10-02/vim-difference-between-autocmd-bufwrite-and-bufwritepre/index.html
index 36ed4c1..a878638 100644
--- a/public/posts/2021-10-02/vim-difference-between-autocmd-bufwrite-and-bufwritepre/index.html
+++ b/public/posts/2021-10-02/vim-difference-between-autocmd-bufwrite-and-bufwritepre/index.html
@@ -9,7 +9,7 @@
<meta name="keywords" content="Vim">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>【Vim】 autocmd events の BufWrite/BufWritePre の違い | REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=f4838bbf46734863045a3ba5c4147a38">
+ <link rel="stylesheet" href="/style.css?h=48694677b43b77e5c45f25e6bfdebb41">
<link rel="stylesheet" href="/hl.css?h=340e65ffd5c17713efc9107c06304f7b">
</head>
<body class="single">
diff --git a/public/posts/2021-10-02/vim-swap-order-of-selected-lines/index.html b/public/posts/2021-10-02/vim-swap-order-of-selected-lines/index.html
index e8deba6..ada0dbd 100644
--- a/public/posts/2021-10-02/vim-swap-order-of-selected-lines/index.html
+++ b/public/posts/2021-10-02/vim-swap-order-of-selected-lines/index.html
@@ -9,7 +9,7 @@
<meta name="keywords" content="Vim">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>Vimで選択した行の順番を入れ替える | REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=f4838bbf46734863045a3ba5c4147a38">
+ <link rel="stylesheet" href="/style.css?h=48694677b43b77e5c45f25e6bfdebb41">
<link rel="stylesheet" href="/hl.css?h=340e65ffd5c17713efc9107c06304f7b">
</head>
<body class="single">
diff --git a/public/posts/2022-04-09/phperkaigi-2022-tokens/index.html b/public/posts/2022-04-09/phperkaigi-2022-tokens/index.html
index 13f4e82..29e5f78 100644
--- a/public/posts/2022-04-09/phperkaigi-2022-tokens/index.html
+++ b/public/posts/2022-04-09/phperkaigi-2022-tokens/index.html
@@ -9,7 +9,7 @@
<meta name="keywords" content="カンファレンス,PHP,PHPerKaigi">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>PHPerKaigi 2022 トークン問題の解説 | REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=f4838bbf46734863045a3ba5c4147a38">
+ <link rel="stylesheet" href="/style.css?h=48694677b43b77e5c45f25e6bfdebb41">
<link rel="stylesheet" href="/hl.css?h=340e65ffd5c17713efc9107c06304f7b">
</head>
<body class="single">
diff --git a/public/posts/2022-04-24/term-banner-write-tool-showing-banner-in-terminal/index.html b/public/posts/2022-04-24/term-banner-write-tool-showing-banner-in-terminal/index.html
index 9e24629..f20db85 100644
--- a/public/posts/2022-04-24/term-banner-write-tool-showing-banner-in-terminal/index.html
+++ b/public/posts/2022-04-24/term-banner-write-tool-showing-banner-in-terminal/index.html
@@ -8,7 +8,7 @@
<meta name="description" content="ターミナルに任意の文字のバナーを表示するためのツールを Go で書いた。">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>term-banner: ターミナルにバナーを表示するツールを書いた | REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=f4838bbf46734863045a3ba5c4147a38">
+ <link rel="stylesheet" href="/style.css?h=48694677b43b77e5c45f25e6bfdebb41">
<link rel="stylesheet" href="/hl.css?h=340e65ffd5c17713efc9107c06304f7b">
</head>
<body class="single">
diff --git a/public/posts/2022-05-01/phperkaigi-2022/index.html b/public/posts/2022-05-01/phperkaigi-2022/index.html
index 60e0f56..b6c4797 100644
--- a/public/posts/2022-05-01/phperkaigi-2022/index.html
+++ b/public/posts/2022-05-01/phperkaigi-2022/index.html
@@ -9,7 +9,7 @@
<meta name="keywords" content="カンファレンス,PHP,PHPerKaigi">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>PHPerKaigi 2022 | REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=f4838bbf46734863045a3ba5c4147a38">
+ <link rel="stylesheet" href="/style.css?h=48694677b43b77e5c45f25e6bfdebb41">
<link rel="stylesheet" href="/hl.css?h=340e65ffd5c17713efc9107c06304f7b">
</head>
<body class="single">
diff --git a/public/posts/2022-08-27/php-conference-okinawa-code-golf/index.html b/public/posts/2022-08-27/php-conference-okinawa-code-golf/index.html
index f27dc0f..d1765f4 100644
--- a/public/posts/2022-08-27/php-conference-okinawa-code-golf/index.html
+++ b/public/posts/2022-08-27/php-conference-okinawa-code-golf/index.html
@@ -9,7 +9,7 @@
<meta name="keywords" content="カンファレンス,PHP,PHP カンファレンス">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>PHP カンファレンス沖縄で出題されたコードゴルフの問題を解いてみた | REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=f4838bbf46734863045a3ba5c4147a38">
+ <link rel="stylesheet" href="/style.css?h=48694677b43b77e5c45f25e6bfdebb41">
<link rel="stylesheet" href="/hl.css?h=340e65ffd5c17713efc9107c06304f7b">
</head>
<body class="single">
diff --git a/public/posts/2022-08-31/support-for-communty-is-employee-benefits/index.html b/public/posts/2022-08-31/support-for-communty-is-employee-benefits/index.html
index 942b689..2fc47ad 100644
--- a/public/posts/2022-08-31/support-for-communty-is-employee-benefits/index.html
+++ b/public/posts/2022-08-31/support-for-communty-is-employee-benefits/index.html
@@ -8,7 +8,7 @@
<meta name="description" content="先日、私の勤めるデジタルサーカス株式会社が、PHP Foundation へ寄付をおこないました。本件を社内でしつこく推進した1人として、推進の理由等を書き残しておきます。">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>弊社の PHP Foundation への寄付に寄せて | REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=f4838bbf46734863045a3ba5c4147a38">
+ <link rel="stylesheet" href="/style.css?h=48694677b43b77e5c45f25e6bfdebb41">
<link rel="stylesheet" href="/hl.css?h=340e65ffd5c17713efc9107c06304f7b">
</head>
<body class="single">
diff --git a/public/posts/2022-09-29/write-fizzbuzz-in-php-2-letters-per-line/index.html b/public/posts/2022-09-29/write-fizzbuzz-in-php-2-letters-per-line/index.html
index f233361..3d96761 100644
--- a/public/posts/2022-09-29/write-fizzbuzz-in-php-2-letters-per-line/index.html
+++ b/public/posts/2022-09-29/write-fizzbuzz-in-php-2-letters-per-line/index.html
@@ -9,7 +9,7 @@
<meta name="keywords" content="PHP">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>【PHP】 fizzbuzz を書く。1行あたり2文字で。 | REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=f4838bbf46734863045a3ba5c4147a38">
+ <link rel="stylesheet" href="/style.css?h=48694677b43b77e5c45f25e6bfdebb41">
<link rel="stylesheet" href="/hl.css?h=340e65ffd5c17713efc9107c06304f7b">
</head>
<body class="single">
diff --git a/public/posts/2022-10-23/phperkaigi-2023-unused-token-quiz-1/index.html b/public/posts/2022-10-23/phperkaigi-2023-unused-token-quiz-1/index.html
index bb170c7..6769873 100644
--- a/public/posts/2022-10-23/phperkaigi-2023-unused-token-quiz-1/index.html
+++ b/public/posts/2022-10-23/phperkaigi-2023-unused-token-quiz-1/index.html
@@ -9,7 +9,7 @@
<meta name="keywords" content="PHP,PHPerKaigi">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>PHPerKaigi 2023: ボツになったトークン問題 その 1 | REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=f4838bbf46734863045a3ba5c4147a38">
+ <link rel="stylesheet" href="/style.css?h=48694677b43b77e5c45f25e6bfdebb41">
<link rel="stylesheet" href="/hl.css?h=340e65ffd5c17713efc9107c06304f7b">
</head>
<body class="single">
diff --git a/public/posts/2022-10-28/setup-server-for-this-site/index.html b/public/posts/2022-10-28/setup-server-for-this-site/index.html
index 5dd20c2..8e1eea1 100644
--- a/public/posts/2022-10-28/setup-server-for-this-site/index.html
+++ b/public/posts/2022-10-28/setup-server-for-this-site/index.html
@@ -9,7 +9,7 @@
<meta name="keywords" content="備忘録">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>【備忘録】 このサイト用の VPS をセットアップしたときのメモ | REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=f4838bbf46734863045a3ba5c4147a38">
+ <link rel="stylesheet" href="/style.css?h=48694677b43b77e5c45f25e6bfdebb41">
<link rel="stylesheet" href="/hl.css?h=340e65ffd5c17713efc9107c06304f7b">
</head>
<body class="single">
diff --git a/public/posts/2022-11-19/phperkaigi-2023-unused-token-quiz-2/index.html b/public/posts/2022-11-19/phperkaigi-2023-unused-token-quiz-2/index.html
index ac66883..722602d 100644
--- a/public/posts/2022-11-19/phperkaigi-2023-unused-token-quiz-2/index.html
+++ b/public/posts/2022-11-19/phperkaigi-2023-unused-token-quiz-2/index.html
@@ -9,7 +9,7 @@
<meta name="keywords" content="PHP,PHPerKaigi">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>PHPerKaigi 2023: ボツになったトークン問題 その 2 | REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=f4838bbf46734863045a3ba5c4147a38">
+ <link rel="stylesheet" href="/style.css?h=48694677b43b77e5c45f25e6bfdebb41">
<link rel="stylesheet" href="/hl.css?h=340e65ffd5c17713efc9107c06304f7b">
</head>
<body class="single">
diff --git a/public/posts/2023-01-10/phperkaigi-2023-unused-token-quiz-3/index.html b/public/posts/2023-01-10/phperkaigi-2023-unused-token-quiz-3/index.html
index 0f6cab0..e6dd41d 100644
--- a/public/posts/2023-01-10/phperkaigi-2023-unused-token-quiz-3/index.html
+++ b/public/posts/2023-01-10/phperkaigi-2023-unused-token-quiz-3/index.html
@@ -9,7 +9,7 @@
<meta name="keywords" content="PHP,PHPerKaigi">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>PHPerKaigi 2023: ボツになったトークン問題 その 3 | REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=f4838bbf46734863045a3ba5c4147a38">
+ <link rel="stylesheet" href="/style.css?h=48694677b43b77e5c45f25e6bfdebb41">
<link rel="stylesheet" href="/hl.css?h=340e65ffd5c17713efc9107c06304f7b">
</head>
<body class="single">
diff --git a/public/posts/2023-03-10/rewrite-this-blog-generator/index.html b/public/posts/2023-03-10/rewrite-this-blog-generator/index.html
index d0e82bd..8dea106 100644
--- a/public/posts/2023-03-10/rewrite-this-blog-generator/index.html
+++ b/public/posts/2023-03-10/rewrite-this-blog-generator/index.html
@@ -8,7 +8,7 @@
<meta name="description" content="このブログのジェネレータを書き直したので、やったことを書き記しておく。">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>このブログのジェネレータを書き直した | REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=f4838bbf46734863045a3ba5c4147a38">
+ <link rel="stylesheet" href="/style.css?h=48694677b43b77e5c45f25e6bfdebb41">
<link rel="stylesheet" href="/hl.css?h=340e65ffd5c17713efc9107c06304f7b">
</head>
<body class="single">
diff --git a/public/posts/index.html b/public/posts/index.html
index e9b0ab2..71ac57c 100644
--- a/public/posts/index.html
+++ b/public/posts/index.html
@@ -8,7 +8,7 @@
<meta name="description" content="投稿した記事の一覧">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>投稿一覧 | REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=f4838bbf46734863045a3ba5c4147a38">
+ <link rel="stylesheet" href="/style.css?h=48694677b43b77e5c45f25e6bfdebb41">
</head>
<body class="list">
<header class="header">
diff --git a/public/style.css b/public/style.css
index a813c21..2376133 100644
--- a/public/style.css
+++ b/public/style.css
@@ -185,7 +185,8 @@ h1 {
font-weight: bold;
}
-article.post-entry {
+.post-entry {
+ min-width: calc(min(900px, 100vw - 2rem));
background-color: #f5f5f5;
border-radius: 10px;
padding: 1.5rem;
diff --git a/public/tags/conference/index.html b/public/tags/conference/index.html
index ac255da..7fff910 100644
--- a/public/tags/conference/index.html
+++ b/public/tags/conference/index.html
@@ -9,7 +9,7 @@
<meta name="keywords" content="カンファレンス">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>タグ「カンファレンス」一覧 | REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=f4838bbf46734863045a3ba5c4147a38">
+ <link rel="stylesheet" href="/style.css?h=48694677b43b77e5c45f25e6bfdebb41">
</head>
<body class="list">
<header class="header">
diff --git a/public/tags/cpp/index.html b/public/tags/cpp/index.html
index fc83ba9..45cc1fd 100644
--- a/public/tags/cpp/index.html
+++ b/public/tags/cpp/index.html
@@ -9,7 +9,7 @@
<meta name="keywords" content="C++">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>タグ「C++」一覧 | REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=f4838bbf46734863045a3ba5c4147a38">
+ <link rel="stylesheet" href="/style.css?h=48694677b43b77e5c45f25e6bfdebb41">
</head>
<body class="list">
<header class="header">
diff --git a/public/tags/cpp17/index.html b/public/tags/cpp17/index.html
index f170658..e591246 100644
--- a/public/tags/cpp17/index.html
+++ b/public/tags/cpp17/index.html
@@ -9,7 +9,7 @@
<meta name="keywords" content="C++ 17">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>タグ「C++ 17」一覧 | REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=f4838bbf46734863045a3ba5c4147a38">
+ <link rel="stylesheet" href="/style.css?h=48694677b43b77e5c45f25e6bfdebb41">
</head>
<body class="list">
<header class="header">
diff --git a/public/tags/index.html b/public/tags/index.html
new file mode 100644
index 0000000..59bed9d
--- /dev/null
+++ b/public/tags/index.html
@@ -0,0 +1,122 @@
+<!DOCTYPE html>
+<html lang="ja-JP">
+ <head>
+ <meta charset="UTF-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta name="author" content="nsfisis">
+ <meta name="copyright" content="&copy; 2021 nsfisis">
+ <meta name="description" content="タグの一覧">
+ <link rel="icon" type="image/svg+xml" href="/favicon.svg">
+ <title>タグ一覧 | REPL: Rest-Eat-Program Loop</title>
+ <link rel="stylesheet" href="/style.css?h=48694677b43b77e5c45f25e6bfdebb41">
+ </head>
+ <body class="list">
+ <header class="header">
+ <nav class="nav">
+ <ul>
+ <li class="logo">
+ <a href="/">REPL: Rest-Eat-Program Loop</a>
+ </li>
+ <li>
+ <a href="/about/">About</a>
+ </li>
+ <li>
+ <a href="/posts/">Posts</a>
+ </li>
+ <li>
+ <a href="/slides/">Slides</a>
+ </li>
+ <li>
+ <a href="/tags/">Tags</a>
+ </li>
+ </ul>
+ </nav>
+ </header>
+ <main class="main">
+ <header class="page-header">
+ <h1>タグ一覧</h1>
+ </header>
+ <article class="post-entry">
+ <a href="/tags/vim/"> <header class="entry-header">
+ <h2>Vim</h2>
+ </header>
+</a>
+ </article>
+ <article class="post-entry">
+ <a href="/tags/rust/"> <header class="entry-header">
+ <h2>Rust</h2>
+ </header>
+</a>
+ </article>
+ <article class="post-entry">
+ <a href="/tags/ruby3/"> <header class="entry-header">
+ <h2>Ruby 3</h2>
+ </header>
+</a>
+ </article>
+ <article class="post-entry">
+ <a href="/tags/ruby/"> <header class="entry-header">
+ <h2>Ruby</h2>
+ </header>
+</a>
+ </article>
+ <article class="post-entry">
+ <a href="/tags/python3/"> <header class="entry-header">
+ <h2>Python 3</h2>
+ </header>
+</a>
+ </article>
+ <article class="post-entry">
+ <a href="/tags/python/"> <header class="entry-header">
+ <h2>Python</h2>
+ </header>
+</a>
+ </article>
+ <article class="post-entry">
+ <a href="/tags/phperkaigi/"> <header class="entry-header">
+ <h2>PHPerKaigi</h2>
+ </header>
+</a>
+ </article>
+ <article class="post-entry">
+ <a href="/tags/phpcon/"> <header class="entry-header">
+ <h2>PHP カンファレンス</h2>
+ </header>
+</a>
+ </article>
+ <article class="post-entry">
+ <a href="/tags/php/"> <header class="entry-header">
+ <h2>PHP</h2>
+ </header>
+</a>
+ </article>
+ <article class="post-entry">
+ <a href="/tags/note-to-self/"> <header class="entry-header">
+ <h2>備忘録</h2>
+ </header>
+</a>
+ </article>
+ <article class="post-entry">
+ <a href="/tags/cpp17/"> <header class="entry-header">
+ <h2>C++ 17</h2>
+ </header>
+</a>
+ </article>
+ <article class="post-entry">
+ <a href="/tags/cpp/"> <header class="entry-header">
+ <h2>C++</h2>
+ </header>
+</a>
+ </article>
+ <article class="post-entry">
+ <a href="/tags/conference/"> <header class="entry-header">
+ <h2>カンファレンス</h2>
+ </header>
+</a>
+ </article>
+ </main>
+ <footer class="footer">
+ &copy; 2021 nsfisis
+ </footer>
+ </body>
+</html>
diff --git a/public/tags/note-to-self/index.html b/public/tags/note-to-self/index.html
index 32ce8af..d21c8b2 100644
--- a/public/tags/note-to-self/index.html
+++ b/public/tags/note-to-self/index.html
@@ -9,7 +9,7 @@
<meta name="keywords" content="備忘録">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>タグ「備忘録」一覧 | REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=f4838bbf46734863045a3ba5c4147a38">
+ <link rel="stylesheet" href="/style.css?h=48694677b43b77e5c45f25e6bfdebb41">
</head>
<body class="list">
<header class="header">
diff --git a/public/tags/php/index.html b/public/tags/php/index.html
index 32c4690..b32885c 100644
--- a/public/tags/php/index.html
+++ b/public/tags/php/index.html
@@ -9,7 +9,7 @@
<meta name="keywords" content="PHP">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>タグ「PHP」一覧 | REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=f4838bbf46734863045a3ba5c4147a38">
+ <link rel="stylesheet" href="/style.css?h=48694677b43b77e5c45f25e6bfdebb41">
</head>
<body class="list">
<header class="header">
diff --git a/public/tags/phpcon/index.html b/public/tags/phpcon/index.html
index 5af6ba0..8b026a9 100644
--- a/public/tags/phpcon/index.html
+++ b/public/tags/phpcon/index.html
@@ -9,7 +9,7 @@
<meta name="keywords" content="PHP カンファレンス">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>タグ「PHP カンファレンス」一覧 | REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=f4838bbf46734863045a3ba5c4147a38">
+ <link rel="stylesheet" href="/style.css?h=48694677b43b77e5c45f25e6bfdebb41">
</head>
<body class="list">
<header class="header">
diff --git a/public/tags/phperkaigi/index.html b/public/tags/phperkaigi/index.html
index 03d83ca..445c021 100644
--- a/public/tags/phperkaigi/index.html
+++ b/public/tags/phperkaigi/index.html
@@ -9,7 +9,7 @@
<meta name="keywords" content="PHPerKaigi">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>タグ「PHPerKaigi」一覧 | REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=f4838bbf46734863045a3ba5c4147a38">
+ <link rel="stylesheet" href="/style.css?h=48694677b43b77e5c45f25e6bfdebb41">
</head>
<body class="list">
<header class="header">
diff --git a/public/tags/python/index.html b/public/tags/python/index.html
index f5f6b76..7276615 100644
--- a/public/tags/python/index.html
+++ b/public/tags/python/index.html
@@ -9,7 +9,7 @@
<meta name="keywords" content="Python">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>タグ「Python」一覧 | REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=f4838bbf46734863045a3ba5c4147a38">
+ <link rel="stylesheet" href="/style.css?h=48694677b43b77e5c45f25e6bfdebb41">
</head>
<body class="list">
<header class="header">
diff --git a/public/tags/python3/index.html b/public/tags/python3/index.html
index 8c742da..fe40f47 100644
--- a/public/tags/python3/index.html
+++ b/public/tags/python3/index.html
@@ -9,7 +9,7 @@
<meta name="keywords" content="Python 3">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>タグ「Python 3」一覧 | REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=f4838bbf46734863045a3ba5c4147a38">
+ <link rel="stylesheet" href="/style.css?h=48694677b43b77e5c45f25e6bfdebb41">
</head>
<body class="list">
<header class="header">
diff --git a/public/tags/ruby/index.html b/public/tags/ruby/index.html
index a5033b9..6347368 100644
--- a/public/tags/ruby/index.html
+++ b/public/tags/ruby/index.html
@@ -9,7 +9,7 @@
<meta name="keywords" content="Ruby">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>タグ「Ruby」一覧 | REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=f4838bbf46734863045a3ba5c4147a38">
+ <link rel="stylesheet" href="/style.css?h=48694677b43b77e5c45f25e6bfdebb41">
</head>
<body class="list">
<header class="header">
diff --git a/public/tags/ruby3/index.html b/public/tags/ruby3/index.html
index 9793cfb..fbe3c24 100644
--- a/public/tags/ruby3/index.html
+++ b/public/tags/ruby3/index.html
@@ -9,7 +9,7 @@
<meta name="keywords" content="Ruby 3">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>タグ「Ruby 3」一覧 | REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=f4838bbf46734863045a3ba5c4147a38">
+ <link rel="stylesheet" href="/style.css?h=48694677b43b77e5c45f25e6bfdebb41">
</head>
<body class="list">
<header class="header">
diff --git a/public/tags/rust/index.html b/public/tags/rust/index.html
index dd9ff39..de17103 100644
--- a/public/tags/rust/index.html
+++ b/public/tags/rust/index.html
@@ -9,7 +9,7 @@
<meta name="keywords" content="Rust">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>タグ「Rust」一覧 | REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=f4838bbf46734863045a3ba5c4147a38">
+ <link rel="stylesheet" href="/style.css?h=48694677b43b77e5c45f25e6bfdebb41">
</head>
<body class="list">
<header class="header">
diff --git a/public/tags/vim/index.html b/public/tags/vim/index.html
index d61d320..2d14052 100644
--- a/public/tags/vim/index.html
+++ b/public/tags/vim/index.html
@@ -9,7 +9,7 @@
<meta name="keywords" content="Vim">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>タグ「Vim」一覧 | REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=f4838bbf46734863045a3ba5c4147a38">
+ <link rel="stylesheet" href="/style.css?h=48694677b43b77e5c45f25e6bfdebb41">
</head>
<body class="list">
<header class="header">
diff --git a/static/style.css b/static/style.css
index a813c21..2376133 100644
--- a/static/style.css
+++ b/static/style.css
@@ -185,7 +185,8 @@ h1 {
font-weight: bold;
}
-article.post-entry {
+.post-entry {
+ min-width: calc(min(900px, 100vw - 2rem));
background-color: #f5f5f5;
border-radius: 10px;
padding: 1.5rem;