fossbook 0.0.4 → 0.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +246 -246
- package/bin/fossbook.js +120 -119
- package/lib/all_posts.js +33 -32
- package/lib/assets/placeholder.svg +3 -3
- package/lib/deploy.js +257 -237
- package/lib/home.js +60 -59
- package/lib/index.js +79 -79
- package/lib/init.js +311 -253
- package/lib/mod/config.js +136 -136
- package/lib/mod/marked.js +95 -95
- package/lib/mod/page.js +119 -115
- package/lib/mod/page_base.js +97 -97
- package/lib/new.js +48 -48
- package/lib/posts.js +47 -42
- package/lib/server.js +20 -14
- package/lib/tag/index.js +70 -69
- package/lib/tag/tag.js +30 -29
- package/package.json +45 -45
- package/themes/archie/assets/fonts/fira-sans-v10-latin-regular.svg +330 -330
- package/themes/archie/assets/fonts/ibm-plex-mono-v6-latin-500italic.svg +365 -365
- package/themes/archie/assets/fonts/roboto-mono-v12-latin-regular.svg +405 -405
- package/themes/archie/assets/styles/fonts.css +51 -51
- package/themes/archie/assets/styles/highlights.css +75 -75
- package/themes/archie/assets/styles/main.css +402 -402
- package/themes/archie/layouts/all_posts.html +41 -41
- package/themes/archie/layouts/home.html +61 -61
- package/themes/archie/layouts/page.html +50 -50
- package/themes/archie/layouts/partials/footer.html +9 -9
- package/themes/archie/layouts/post.html +81 -81
- package/themes/archie/layouts/tag.html +42 -42
- package/themes/archie/layouts/tag_list.html +43 -43
|
@@ -1,42 +1,42 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html lang="en">
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="UTF-8" />
|
|
5
|
-
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
|
-
<meta name="description" content="${page.config.blogDescription}" />
|
|
7
|
-
<link rel="stylesheet" href="${page.config.basePath}styles/fonts.css">
|
|
8
|
-
<link rel="stylesheet" href="${page.config.basePath}styles/main.css">
|
|
9
|
-
<link rel="icon" type="image/png" href="${page.config.basePath}images/favicon.png">
|
|
10
|
-
<!-- Google tag (gtag.js) -->
|
|
11
|
-
${page.config.googleAnalyticsID ? page.googleAnalytics(page.config.googleAnalyticsID) : ""}
|
|
12
|
-
<title>${page.config.blogName}: ${data.pageTitle}</title>
|
|
13
|
-
${page.openGraph("website")}
|
|
14
|
-
</head>
|
|
15
|
-
<body>
|
|
16
|
-
<div class="content">
|
|
17
|
-
<header>
|
|
18
|
-
<div class="main">${page.config.blogName}</div>
|
|
19
|
-
<nav>
|
|
20
|
-
<a href="${page.config.basePath}">Home</a>
|
|
21
|
-
${data.pageTitle}
|
|
22
|
-
<a href="${page.config.basePath}about">About</a>
|
|
23
|
-
<a href="${page.config.basePath}tags">Tags</a>
|
|
24
|
-
</nav>
|
|
25
|
-
</header>
|
|
26
|
-
<h1 class="page-title">${data.pageTitle}</h1>
|
|
27
|
-
<ul class="posts">
|
|
28
|
-
${data.posts
|
|
29
|
-
.map(
|
|
30
|
-
(post) => `<li class="post">
|
|
31
|
-
<a href="${page.config.basePath}${post.path}">${post.title}</a><span class="meta">
|
|
32
|
-
${new Date(post.date).toDateString()}</span>
|
|
33
|
-
</li>`,
|
|
34
|
-
)
|
|
35
|
-
.join("")}
|
|
36
|
-
</ul>
|
|
37
|
-
<footer>
|
|
38
|
-
${page.footer()}
|
|
39
|
-
</footer>
|
|
40
|
-
</div>
|
|
41
|
-
</body>
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8" />
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
|
+
<meta name="description" content="${page.config.blogDescription}" />
|
|
7
|
+
<link rel="stylesheet" href="${page.config.basePath}styles/fonts.css">
|
|
8
|
+
<link rel="stylesheet" href="${page.config.basePath}styles/main.css">
|
|
9
|
+
<link rel="icon" type="image/png" href="${page.config.basePath}images/favicon.png">
|
|
10
|
+
<!-- Google tag (gtag.js) -->
|
|
11
|
+
${page.config.googleAnalyticsID ? page.googleAnalytics(page.config.googleAnalyticsID) : ""}
|
|
12
|
+
<title>${page.config.blogName}: ${data.pageTitle}</title>
|
|
13
|
+
${page.openGraph("website")}
|
|
14
|
+
</head>
|
|
15
|
+
<body>
|
|
16
|
+
<div class="content">
|
|
17
|
+
<header>
|
|
18
|
+
<div class="main">${page.config.blogName}</div>
|
|
19
|
+
<nav>
|
|
20
|
+
<a href="${page.config.basePath}">Home</a>
|
|
21
|
+
${data.pageTitle}
|
|
22
|
+
<a href="${page.config.basePath}about">About</a>
|
|
23
|
+
<a href="${page.config.basePath}tags">Tags</a>
|
|
24
|
+
</nav>
|
|
25
|
+
</header>
|
|
26
|
+
<h1 class="page-title">${data.pageTitle}</h1>
|
|
27
|
+
<ul class="posts">
|
|
28
|
+
${data.posts
|
|
29
|
+
.map(
|
|
30
|
+
(post) => `<li class="post">
|
|
31
|
+
<a href="${page.config.basePath}${post.path}">${post.title}</a><span class="meta">
|
|
32
|
+
${new Date(post.date).toDateString()}</span>
|
|
33
|
+
</li>`,
|
|
34
|
+
)
|
|
35
|
+
.join("")}
|
|
36
|
+
</ul>
|
|
37
|
+
<footer>
|
|
38
|
+
${page.footer()}
|
|
39
|
+
</footer>
|
|
40
|
+
</div>
|
|
41
|
+
</body>
|
|
42
42
|
</html>
|
|
@@ -1,62 +1,62 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html lang="en">
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="UTF-8" />
|
|
5
|
-
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
|
-
<link rel="stylesheet" href="${page.config.basePath}styles/fonts.css">
|
|
7
|
-
<link rel="stylesheet" href="${page.config.basePath}styles/main.css">
|
|
8
|
-
<link rel="icon" type="image/png" href="${page.config.basePath}images/favicon.png">
|
|
9
|
-
<!-- Google tag (gtag.js) -->
|
|
10
|
-
${page.config.googleAnalyticsID ? page.googleAnalytics(page.config.googleAnalyticsID) : ""}
|
|
11
|
-
<title>${page.config.blogName}</title>
|
|
12
|
-
<meta name="description" content="${page.config.blogDescription}" />
|
|
13
|
-
${page.openGraph("website")}
|
|
14
|
-
<!-- Twitter Card -->
|
|
15
|
-
${page.twitterCard("summary")}
|
|
16
|
-
</head>
|
|
17
|
-
<body>
|
|
18
|
-
<div class="content">
|
|
19
|
-
<header>
|
|
20
|
-
<div class="main">${page.config.blogName}</div>
|
|
21
|
-
<nav>
|
|
22
|
-
Home
|
|
23
|
-
<a href="${page.config.basePath}all_posts">All posts</a>
|
|
24
|
-
<a href="${page.config.basePath}about">About</a>
|
|
25
|
-
<a href="${page.config.basePath}tags">Tags</a>
|
|
26
|
-
</nav>
|
|
27
|
-
</header>
|
|
28
|
-
|
|
29
|
-
<main class="list">
|
|
30
|
-
<div class="site-description" aria-label="Site description">
|
|
31
|
-
<p>${page.config.blogDescription}</p>
|
|
32
|
-
</div>
|
|
33
|
-
${data.posts
|
|
34
|
-
.map(
|
|
35
|
-
(
|
|
36
|
-
post,
|
|
37
|
-
) => `<section class="list-item" aria-label="Summary of post">
|
|
38
|
-
<h1><a href="${page.config.basePath}${post.path}">${post.title}</a></h1>
|
|
39
|
-
<time>${page.formatDate(new Date(post.date))}</time>
|
|
40
|
-
${post.image ? `<div class="responsive-image">
|
|
41
|
-
<img src="${page.config.basePath}${post.path}/images/${post.image}" alt="${post.title}">
|
|
42
|
-
</div>` : ''}
|
|
43
|
-
<div class="description">${post.description || ''}</div>
|
|
44
|
-
<a class="readmore" href="${page.config.basePath}${post.path}">Read more ⟶</a>
|
|
45
|
-
</section>`,
|
|
46
|
-
)
|
|
47
|
-
.join("")}
|
|
48
|
-
<ul class="pagination" role="navigation">
|
|
49
|
-
<span class="page-item page-prev">
|
|
50
|
-
${data.prev ? `<a href="${page.config.basePath}page/${data.prev}.html" class="page-link" aria-label="Previous">← Prev</a>` : `<span class="page-link disable-link"><span aria-hidden="true">← Prev</span></span>`}
|
|
51
|
-
</span>
|
|
52
|
-
<span class="page-item page-next">
|
|
53
|
-
${data.next ? `<a href="${page.config.basePath}page/${data.next}.html" class="page-link" aria-label="Next">Next →</a>` : `<span class="page-link disable-link"><span aria-hidden="true">Next →</span></span>`}
|
|
54
|
-
</span>
|
|
55
|
-
</ul>
|
|
56
|
-
</main>
|
|
57
|
-
<footer>
|
|
58
|
-
${page.footer()}
|
|
59
|
-
</footer>
|
|
60
|
-
</div>
|
|
61
|
-
</body>
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8" />
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
|
+
<link rel="stylesheet" href="${page.config.basePath}styles/fonts.css">
|
|
7
|
+
<link rel="stylesheet" href="${page.config.basePath}styles/main.css">
|
|
8
|
+
<link rel="icon" type="image/png" href="${page.config.basePath}images/favicon.png">
|
|
9
|
+
<!-- Google tag (gtag.js) -->
|
|
10
|
+
${page.config.googleAnalyticsID ? page.googleAnalytics(page.config.googleAnalyticsID) : ""}
|
|
11
|
+
<title>${page.config.blogName}</title>
|
|
12
|
+
<meta name="description" content="${page.config.blogDescription}" />
|
|
13
|
+
${page.openGraph("website")}
|
|
14
|
+
<!-- Twitter Card -->
|
|
15
|
+
${page.twitterCard("summary")}
|
|
16
|
+
</head>
|
|
17
|
+
<body>
|
|
18
|
+
<div class="content">
|
|
19
|
+
<header>
|
|
20
|
+
<div class="main">${page.config.blogName}</div>
|
|
21
|
+
<nav>
|
|
22
|
+
Home
|
|
23
|
+
<a href="${page.config.basePath}all_posts">All posts</a>
|
|
24
|
+
<a href="${page.config.basePath}about">About</a>
|
|
25
|
+
<a href="${page.config.basePath}tags">Tags</a>
|
|
26
|
+
</nav>
|
|
27
|
+
</header>
|
|
28
|
+
|
|
29
|
+
<main class="list">
|
|
30
|
+
<div class="site-description" aria-label="Site description">
|
|
31
|
+
<p>${page.config.blogDescription}</p>
|
|
32
|
+
</div>
|
|
33
|
+
${data.posts
|
|
34
|
+
.map(
|
|
35
|
+
(
|
|
36
|
+
post,
|
|
37
|
+
) => `<section class="list-item" aria-label="Summary of post">
|
|
38
|
+
<h1><a href="${page.config.basePath}${post.path}">${post.title}</a></h1>
|
|
39
|
+
<time>${page.formatDate(new Date(post.date))}</time>
|
|
40
|
+
${post.image ? `<div class="responsive-image">
|
|
41
|
+
<img src="${page.config.basePath}${post.path}/images/${post.image}" alt="${post.title}">
|
|
42
|
+
</div>` : ''}
|
|
43
|
+
<div class="description">${post.description || ''}</div>
|
|
44
|
+
<a class="readmore" href="${page.config.basePath}${post.path}">Read more ⟶</a>
|
|
45
|
+
</section>`,
|
|
46
|
+
)
|
|
47
|
+
.join("")}
|
|
48
|
+
<ul class="pagination" role="navigation">
|
|
49
|
+
<span class="page-item page-prev">
|
|
50
|
+
${data.prev ? `<a href="${page.config.basePath}page/${data.prev}.html" class="page-link" aria-label="Previous">← Prev</a>` : `<span class="page-link disable-link"><span aria-hidden="true">← Prev</span></span>`}
|
|
51
|
+
</span>
|
|
52
|
+
<span class="page-item page-next">
|
|
53
|
+
${data.next ? `<a href="${page.config.basePath}page/${data.next}.html" class="page-link" aria-label="Next">Next →</a>` : `<span class="page-link disable-link"><span aria-hidden="true">Next →</span></span>`}
|
|
54
|
+
</span>
|
|
55
|
+
</ul>
|
|
56
|
+
</main>
|
|
57
|
+
<footer>
|
|
58
|
+
${page.footer()}
|
|
59
|
+
</footer>
|
|
60
|
+
</div>
|
|
61
|
+
</body>
|
|
62
62
|
</html>
|
|
@@ -1,50 +1,50 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html lang="en">
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="UTF-8" />
|
|
5
|
-
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
|
-
<link rel="stylesheet" href="${page.config.basePath}styles/fonts.css">
|
|
7
|
-
<link rel="stylesheet" href="${page.config.basePath}styles/main.css">
|
|
8
|
-
<link rel="icon" type="image/png" href="${page.config.basePath}images/favicon.png">
|
|
9
|
-
<!-- Google tag (gtag.js) -->
|
|
10
|
-
${page.config.googleAnalyticsID ? page.googleAnalytics(page.config.googleAnalyticsID) : ""}
|
|
11
|
-
<title>${page.config.blogName}: ${page.title}</title>
|
|
12
|
-
<meta name="description" content="${page.config.blogDescription}" />
|
|
13
|
-
${page.openGraph("website")}
|
|
14
|
-
|
|
15
|
-
<meta name="twitter:card" content="summary_large_image" />
|
|
16
|
-
<meta name="twitter:site" content="${page.config.blogsite}" />
|
|
17
|
-
<meta name="twitter:title" content="${page.config.blogName}: ${page.title}" />
|
|
18
|
-
<meta name="twitter:description" content="${page.config.blogDescription}" />
|
|
19
|
-
<meta name="twitter:image" content="${page.imageURL}" />
|
|
20
|
-
</head>
|
|
21
|
-
<body>
|
|
22
|
-
<div class="content">
|
|
23
|
-
<header>
|
|
24
|
-
<div class="main">
|
|
25
|
-
${page.config.blogName}
|
|
26
|
-
</div>
|
|
27
|
-
<nav class="site-navigation">
|
|
28
|
-
<a href="${page.config.basePath}">Home</a>
|
|
29
|
-
<a href="${page.config.basePath}all_posts">All posts</a>
|
|
30
|
-
About
|
|
31
|
-
<a href="${page.config.basePath}tags">Tags</a>
|
|
32
|
-
</nav>
|
|
33
|
-
</header>
|
|
34
|
-
<main>
|
|
35
|
-
<article class="content">
|
|
36
|
-
<div class="title">
|
|
37
|
-
<h1 class="title">${page.title}</h1>
|
|
38
|
-
</div>
|
|
39
|
-
<section class="body">
|
|
40
|
-
${page.body}
|
|
41
|
-
</section>
|
|
42
|
-
</article>
|
|
43
|
-
</main>
|
|
44
|
-
|
|
45
|
-
<footer>
|
|
46
|
-
${page.footer()}
|
|
47
|
-
</footer>
|
|
48
|
-
</div>
|
|
49
|
-
</body>
|
|
50
|
-
</html>
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8" />
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
|
+
<link rel="stylesheet" href="${page.config.basePath}styles/fonts.css">
|
|
7
|
+
<link rel="stylesheet" href="${page.config.basePath}styles/main.css">
|
|
8
|
+
<link rel="icon" type="image/png" href="${page.config.basePath}images/favicon.png">
|
|
9
|
+
<!-- Google tag (gtag.js) -->
|
|
10
|
+
${page.config.googleAnalyticsID ? page.googleAnalytics(page.config.googleAnalyticsID) : ""}
|
|
11
|
+
<title>${page.config.blogName}: ${page.title}</title>
|
|
12
|
+
<meta name="description" content="${page.config.blogDescription}" />
|
|
13
|
+
${page.openGraph("website")}
|
|
14
|
+
|
|
15
|
+
<meta name="twitter:card" content="summary_large_image" />
|
|
16
|
+
<meta name="twitter:site" content="${page.config.blogsite}" />
|
|
17
|
+
<meta name="twitter:title" content="${page.config.blogName}: ${page.title}" />
|
|
18
|
+
<meta name="twitter:description" content="${page.config.blogDescription}" />
|
|
19
|
+
<meta name="twitter:image" content="${page.imageURL}" />
|
|
20
|
+
</head>
|
|
21
|
+
<body>
|
|
22
|
+
<div class="content">
|
|
23
|
+
<header>
|
|
24
|
+
<div class="main">
|
|
25
|
+
${page.config.blogName}
|
|
26
|
+
</div>
|
|
27
|
+
<nav class="site-navigation">
|
|
28
|
+
<a href="${page.config.basePath}">Home</a>
|
|
29
|
+
<a href="${page.config.basePath}all_posts">All posts</a>
|
|
30
|
+
About
|
|
31
|
+
<a href="${page.config.basePath}tags">Tags</a>
|
|
32
|
+
</nav>
|
|
33
|
+
</header>
|
|
34
|
+
<main>
|
|
35
|
+
<article class="content">
|
|
36
|
+
<div class="title">
|
|
37
|
+
<h1 class="title">${page.title}</h1>
|
|
38
|
+
</div>
|
|
39
|
+
<section class="body">
|
|
40
|
+
${page.body}
|
|
41
|
+
</section>
|
|
42
|
+
</article>
|
|
43
|
+
</main>
|
|
44
|
+
|
|
45
|
+
<footer>
|
|
46
|
+
${page.footer()}
|
|
47
|
+
</footer>
|
|
48
|
+
</div>
|
|
49
|
+
</body>
|
|
50
|
+
</html>
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
<div style="display:flex">
|
|
2
|
-
<a class="soc" href="${config.githubRepository}" rel="me" title="GitHub"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-github"><path d="M9 19c-5 1.5-5-2.5-7-3m14 6v-3.87a3.37 3.37 0 0 0-.94-2.61c3.14-.35 6.44-1.54 6.44-7A5.44 5.44 0 0 0 20 4.77 5.07 5.07 0 0 0 19.91 1S18.73.65 16 2.48a13.38 13.38 0 0 0-7 0C6.27.65 5.09 1 5.09 1A5.07 5.07 0 0 0 5 4.77a5.44 5.44 0 0 0-1.5 3.78c0 5.42 3.3 6.61 6.44 7A3.37 3.37 0 0 0 9 18.13V22"></path></svg></a>
|
|
3
|
-
<a class="border"></a><a class="soc" href="https://twitter.com/${config.siteTwitter}" rel="me" title="Twitter"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-twitter"><path d="M23 3a10.9 10.9 0 0 1-3.14 1.53 4.48 4.48 0 0 0-7.86 3v1A10.66 10.66 0 0 1 3 4s-4 9 5 13a11.64 11.64 0 0 1-7 2c9 5 20 0 20-11.5a4.5 4.5 0 0 0-.08-.83A7.72 7.72 0 0 0 23 3z"></path></svg></a>
|
|
4
|
-
<a class="border"></a>
|
|
5
|
-
</div>
|
|
6
|
-
<div class="footer-info">
|
|
7
|
-
${`© ${new Date().getFullYear()} ${
|
|
8
|
-
config.authorName
|
|
9
|
-
} | <a href="https://github.com/joone/fossbook">fossbook v${config.version}</a> | Published on ${config.date_time}`}
|
|
1
|
+
<div style="display:flex">
|
|
2
|
+
<a class="soc" href="${config.githubRepository}" rel="me" title="GitHub"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-github"><path d="M9 19c-5 1.5-5-2.5-7-3m14 6v-3.87a3.37 3.37 0 0 0-.94-2.61c3.14-.35 6.44-1.54 6.44-7A5.44 5.44 0 0 0 20 4.77 5.07 5.07 0 0 0 19.91 1S18.73.65 16 2.48a13.38 13.38 0 0 0-7 0C6.27.65 5.09 1 5.09 1A5.07 5.07 0 0 0 5 4.77a5.44 5.44 0 0 0-1.5 3.78c0 5.42 3.3 6.61 6.44 7A3.37 3.37 0 0 0 9 18.13V22"></path></svg></a>
|
|
3
|
+
<a class="border"></a><a class="soc" href="https://twitter.com/${config.siteTwitter}" rel="me" title="Twitter"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-twitter"><path d="M23 3a10.9 10.9 0 0 1-3.14 1.53 4.48 4.48 0 0 0-7.86 3v1A10.66 10.66 0 0 1 3 4s-4 9 5 13a11.64 11.64 0 0 1-7 2c9 5 20 0 20-11.5a4.5 4.5 0 0 0-.08-.83A7.72 7.72 0 0 0 23 3z"></path></svg></a>
|
|
4
|
+
<a class="border"></a>
|
|
5
|
+
</div>
|
|
6
|
+
<div class="footer-info">
|
|
7
|
+
${`© ${new Date().getFullYear()} ${
|
|
8
|
+
config.authorName
|
|
9
|
+
} | <a href="https://github.com/joone/fossbook">fossbook v${config.version}</a> | Published on ${config.date_time}`}
|
|
10
10
|
</div>
|
|
@@ -1,82 +1,82 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html lang="en">
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="UTF-8" />
|
|
5
|
-
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
|
-
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
7
|
-
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
8
|
-
<link href="https://fonts.googleapis.com/css2?family=Comic+Neue:ital,wght@0,300;0,400;0,700;1,300;1,400;1,700&family=Nanum+Pen+Script&family=Playpen+Sans:wght@100..800&display=swap" rel="stylesheet">
|
|
9
|
-
<link rel="stylesheet" href="${page.config.basePath}styles/fonts.css">
|
|
10
|
-
<link rel="stylesheet" href="${page.config.basePath}styles/main.css">
|
|
11
|
-
<link rel="icon" type="image/png" href="${page.config.basePath}images/favicon.png">
|
|
12
|
-
<!-- Google tag (gtag.js) -->
|
|
13
|
-
${page.config.googleAnalyticsID ? page.googleAnalytics(page.config.googleAnalyticsID) : ""}
|
|
14
|
-
<title>${page.title}</title>
|
|
15
|
-
<meta name="description" content="${page.description}" />
|
|
16
|
-
|
|
17
|
-
${page.openGraph(
|
|
18
|
-
"article",
|
|
19
|
-
{
|
|
20
|
-
authorName: page.config.authorName,
|
|
21
|
-
publishedDate: page.date,
|
|
22
|
-
tags: page.tags,
|
|
23
|
-
},
|
|
24
|
-
)}
|
|
25
|
-
|
|
26
|
-
${page.twitterCard("summary")}
|
|
27
|
-
</head>
|
|
28
|
-
<body>
|
|
29
|
-
<div class="content">
|
|
30
|
-
<header>
|
|
31
|
-
<div class="main">
|
|
32
|
-
${page.config.blogName}
|
|
33
|
-
</div>
|
|
34
|
-
<nav class="site-navigation">
|
|
35
|
-
<a href="${page.config.basePath}">Home</a>
|
|
36
|
-
<a href="${page.config.basePath}all_posts">All posts</a>
|
|
37
|
-
<a href="${page.config.basePath}about">About</a>
|
|
38
|
-
<a href="${page.config.basePath}tags">Tags</a>
|
|
39
|
-
</nav>
|
|
40
|
-
</header>
|
|
41
|
-
<main>
|
|
42
|
-
<article class="content">
|
|
43
|
-
<div class="title">
|
|
44
|
-
<h1 class="title">${page.title}</h1>
|
|
45
|
-
<div class="meta">Posted on ${page.formatDate(new Date(page.date))}</div>
|
|
46
|
-
</div>
|
|
47
|
-
<section class="body">
|
|
48
|
-
${page.body}
|
|
49
|
-
</section>
|
|
50
|
-
<div class="post-tags">
|
|
51
|
-
<nav class="nav tags">
|
|
52
|
-
<ul class="tags">
|
|
53
|
-
${page.tags.map((tag) => `<li><a href="${page.config.basePath}tags/${tag.replace(/\s+/g, "_")}">${tag}</a></li>`).join("")}
|
|
54
|
-
</ul>
|
|
55
|
-
</nav>
|
|
56
|
-
</div>
|
|
57
|
-
</article>
|
|
58
|
-
<ul class="pagination-post" role="navigation">
|
|
59
|
-
<span class="page-item page-prev">
|
|
60
|
-
${page.previous ? `<a href="${page.config.basePath}${page.previous.path}" class="page-link" aria-label="Previous">← ${page.previous.title}</a>` : ""}
|
|
61
|
-
</span>
|
|
62
|
-
<span class="page-item page-next">
|
|
63
|
-
${page.next ? `<a href="${page.config.basePath}${page.next.path}" class="page-link" aria-label="Next">${page.next.title} →</a>` : ""}
|
|
64
|
-
</span>
|
|
65
|
-
</ul>
|
|
66
|
-
${page.config.comments && page.config.comments.provider === 'utterances' ? `<div class="comments border">
|
|
67
|
-
<script src="https://utteranc.es/client.js"
|
|
68
|
-
repo="${page.config.comments.repo}"
|
|
69
|
-
issue-term="${page.config.comments.issueTerm || 'pathname'}"
|
|
70
|
-
theme="${page.config.comments.theme || 'github-light'}"
|
|
71
|
-
crossorigin="anonymous"
|
|
72
|
-
async>
|
|
73
|
-
</script>
|
|
74
|
-
</div>` : ''}
|
|
75
|
-
</main>
|
|
76
|
-
|
|
77
|
-
<footer>
|
|
78
|
-
${page.footer()}
|
|
79
|
-
</footer>
|
|
80
|
-
</div>
|
|
81
|
-
</body>
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8" />
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
|
+
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
7
|
+
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
8
|
+
<link href="https://fonts.googleapis.com/css2?family=Comic+Neue:ital,wght@0,300;0,400;0,700;1,300;1,400;1,700&family=Nanum+Pen+Script&family=Playpen+Sans:wght@100..800&display=swap" rel="stylesheet">
|
|
9
|
+
<link rel="stylesheet" href="${page.config.basePath}styles/fonts.css">
|
|
10
|
+
<link rel="stylesheet" href="${page.config.basePath}styles/main.css">
|
|
11
|
+
<link rel="icon" type="image/png" href="${page.config.basePath}images/favicon.png">
|
|
12
|
+
<!-- Google tag (gtag.js) -->
|
|
13
|
+
${page.config.googleAnalyticsID ? page.googleAnalytics(page.config.googleAnalyticsID) : ""}
|
|
14
|
+
<title>${page.title}</title>
|
|
15
|
+
<meta name="description" content="${page.description}" />
|
|
16
|
+
|
|
17
|
+
${page.openGraph(
|
|
18
|
+
"article",
|
|
19
|
+
{
|
|
20
|
+
authorName: page.config.authorName,
|
|
21
|
+
publishedDate: page.date,
|
|
22
|
+
tags: page.tags,
|
|
23
|
+
},
|
|
24
|
+
)}
|
|
25
|
+
|
|
26
|
+
${page.twitterCard("summary")}
|
|
27
|
+
</head>
|
|
28
|
+
<body>
|
|
29
|
+
<div class="content">
|
|
30
|
+
<header>
|
|
31
|
+
<div class="main">
|
|
32
|
+
${page.config.blogName}
|
|
33
|
+
</div>
|
|
34
|
+
<nav class="site-navigation">
|
|
35
|
+
<a href="${page.config.basePath}">Home</a>
|
|
36
|
+
<a href="${page.config.basePath}all_posts">All posts</a>
|
|
37
|
+
<a href="${page.config.basePath}about">About</a>
|
|
38
|
+
<a href="${page.config.basePath}tags">Tags</a>
|
|
39
|
+
</nav>
|
|
40
|
+
</header>
|
|
41
|
+
<main>
|
|
42
|
+
<article class="content">
|
|
43
|
+
<div class="title">
|
|
44
|
+
<h1 class="title">${page.title}</h1>
|
|
45
|
+
<div class="meta">Posted on ${page.formatDate(new Date(page.date))}</div>
|
|
46
|
+
</div>
|
|
47
|
+
<section class="body">
|
|
48
|
+
${page.body}
|
|
49
|
+
</section>
|
|
50
|
+
<div class="post-tags">
|
|
51
|
+
<nav class="nav tags">
|
|
52
|
+
<ul class="tags">
|
|
53
|
+
${page.tags.map((tag) => `<li><a href="${page.config.basePath}tags/${tag.replace(/\s+/g, "_")}">${tag}</a></li>`).join("")}
|
|
54
|
+
</ul>
|
|
55
|
+
</nav>
|
|
56
|
+
</div>
|
|
57
|
+
</article>
|
|
58
|
+
<ul class="pagination-post" role="navigation">
|
|
59
|
+
<span class="page-item page-prev">
|
|
60
|
+
${page.previous ? `<a href="${page.config.basePath}${page.previous.path}" class="page-link" aria-label="Previous">← ${page.previous.title}</a>` : ""}
|
|
61
|
+
</span>
|
|
62
|
+
<span class="page-item page-next">
|
|
63
|
+
${page.next ? `<a href="${page.config.basePath}${page.next.path}" class="page-link" aria-label="Next">${page.next.title} →</a>` : ""}
|
|
64
|
+
</span>
|
|
65
|
+
</ul>
|
|
66
|
+
${page.config.comments && page.config.comments.provider === 'utterances' ? `<div class="comments border">
|
|
67
|
+
<script src="https://utteranc.es/client.js"
|
|
68
|
+
repo="${page.config.comments.repo}"
|
|
69
|
+
issue-term="${page.config.comments.issueTerm || 'pathname'}"
|
|
70
|
+
theme="${page.config.comments.theme || 'github-light'}"
|
|
71
|
+
crossorigin="anonymous"
|
|
72
|
+
async>
|
|
73
|
+
</script>
|
|
74
|
+
</div>` : ''}
|
|
75
|
+
</main>
|
|
76
|
+
|
|
77
|
+
<footer>
|
|
78
|
+
${page.footer()}
|
|
79
|
+
</footer>
|
|
80
|
+
</div>
|
|
81
|
+
</body>
|
|
82
82
|
</html>
|
|
@@ -1,43 +1,43 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html lang="en">
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="UTF-8" />
|
|
5
|
-
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
|
-
<meta name="description" content="${page.config.blogDescription}" />
|
|
7
|
-
<link rel="stylesheet" href="${page.config.basePath}styles/fonts.css">
|
|
8
|
-
<link rel="stylesheet" href="${page.config.basePath}styles/main.css">
|
|
9
|
-
<link rel="icon" type="image/png" href="${page.config.basePath}images/favicon.png">
|
|
10
|
-
<!-- Google tag (gtag.js) -->
|
|
11
|
-
${page.config.googleAnalyticsID ? page.googleAnalytics(page.config.googleAnalyticsID) : ""}
|
|
12
|
-
<title>${page.config.blogName}: Entries tagged - ${data.tag}</title>
|
|
13
|
-
${page.openGraph("website")}
|
|
14
|
-
</head>
|
|
15
|
-
<body>
|
|
16
|
-
<div class="content">
|
|
17
|
-
<header>
|
|
18
|
-
<div class="main">${page.config.blogName}</div>
|
|
19
|
-
<nav>
|
|
20
|
-
<a href="${page.config.basePath}">Home</a>
|
|
21
|
-
<a href="${page.config.basePath}all_posts">All posts</a>
|
|
22
|
-
<a href="${page.config.basePath}about">About</a>
|
|
23
|
-
<a href="${page.config.basePath}tags">Tags</a>
|
|
24
|
-
</nav>
|
|
25
|
-
</header>
|
|
26
|
-
<h1 class="page-title">Entries tagged - "${data.tag}"</h1>
|
|
27
|
-
<ul class="posts">
|
|
28
|
-
|
|
29
|
-
${data.posts
|
|
30
|
-
.map(
|
|
31
|
-
(post) => `<li class="post">
|
|
32
|
-
<a href="${page.config.basePath}${post.path}">${post.title}</a><span class="meta">
|
|
33
|
-
${new Date(post.date).toDateString()}</span>
|
|
34
|
-
</li>`,
|
|
35
|
-
)
|
|
36
|
-
.join("")}
|
|
37
|
-
</ul>
|
|
38
|
-
<footer>
|
|
39
|
-
${page.footer()}
|
|
40
|
-
</footer>
|
|
41
|
-
</div>
|
|
42
|
-
</body>
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8" />
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
|
+
<meta name="description" content="${page.config.blogDescription}" />
|
|
7
|
+
<link rel="stylesheet" href="${page.config.basePath}styles/fonts.css">
|
|
8
|
+
<link rel="stylesheet" href="${page.config.basePath}styles/main.css">
|
|
9
|
+
<link rel="icon" type="image/png" href="${page.config.basePath}images/favicon.png">
|
|
10
|
+
<!-- Google tag (gtag.js) -->
|
|
11
|
+
${page.config.googleAnalyticsID ? page.googleAnalytics(page.config.googleAnalyticsID) : ""}
|
|
12
|
+
<title>${page.config.blogName}: Entries tagged - ${data.tag}</title>
|
|
13
|
+
${page.openGraph("website")}
|
|
14
|
+
</head>
|
|
15
|
+
<body>
|
|
16
|
+
<div class="content">
|
|
17
|
+
<header>
|
|
18
|
+
<div class="main">${page.config.blogName}</div>
|
|
19
|
+
<nav>
|
|
20
|
+
<a href="${page.config.basePath}">Home</a>
|
|
21
|
+
<a href="${page.config.basePath}all_posts">All posts</a>
|
|
22
|
+
<a href="${page.config.basePath}about">About</a>
|
|
23
|
+
<a href="${page.config.basePath}tags">Tags</a>
|
|
24
|
+
</nav>
|
|
25
|
+
</header>
|
|
26
|
+
<h1 class="page-title">Entries tagged - "${data.tag}"</h1>
|
|
27
|
+
<ul class="posts">
|
|
28
|
+
|
|
29
|
+
${data.posts
|
|
30
|
+
.map(
|
|
31
|
+
(post) => `<li class="post">
|
|
32
|
+
<a href="${page.config.basePath}${post.path}">${post.title}</a><span class="meta">
|
|
33
|
+
${new Date(post.date).toDateString()}</span>
|
|
34
|
+
</li>`,
|
|
35
|
+
)
|
|
36
|
+
.join("")}
|
|
37
|
+
</ul>
|
|
38
|
+
<footer>
|
|
39
|
+
${page.footer()}
|
|
40
|
+
</footer>
|
|
41
|
+
</div>
|
|
42
|
+
</body>
|
|
43
43
|
</html>
|