fossbook 0.0.2
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 -0
- package/bin/fossbook.js +119 -0
- package/lib/all_posts.js +32 -0
- package/lib/assets/placeholder.svg +4 -0
- package/lib/deploy.js +202 -0
- package/lib/home.js +59 -0
- package/lib/index.js +79 -0
- package/lib/init.js +253 -0
- package/lib/mod/config.js +98 -0
- package/lib/mod/marked.js +95 -0
- package/lib/mod/page.js +115 -0
- package/lib/mod/page_base.js +97 -0
- package/lib/new.js +48 -0
- package/lib/posts.js +42 -0
- package/lib/server.js +14 -0
- package/lib/tag/index.js +69 -0
- package/lib/tag/tag.js +29 -0
- package/package.json +45 -0
- package/themes/archie/assets/fonts/ComicNeue-Bold.ttf +0 -0
- package/themes/archie/assets/fonts/ComicNeue-BoldItalic.ttf +0 -0
- package/themes/archie/assets/fonts/ComicNeue-Italic.ttf +0 -0
- package/themes/archie/assets/fonts/ComicNeue-Light.ttf +0 -0
- package/themes/archie/assets/fonts/ComicNeue-LightItalic.ttf +0 -0
- package/themes/archie/assets/fonts/ComicNeue-Regular.ttf +0 -0
- package/themes/archie/assets/fonts/LyonDisplay-Bold.otf +0 -0
- package/themes/archie/assets/fonts/OFL.txt +93 -0
- package/themes/archie/assets/fonts/fira-sans-v10-latin-regular.eot +0 -0
- package/themes/archie/assets/fonts/fira-sans-v10-latin-regular.svg +330 -0
- package/themes/archie/assets/fonts/fira-sans-v10-latin-regular.ttf +0 -0
- package/themes/archie/assets/fonts/fira-sans-v10-latin-regular.woff +0 -0
- package/themes/archie/assets/fonts/fira-sans-v10-latin-regular.woff2 +0 -0
- package/themes/archie/assets/fonts/ibm-plex-mono-v6-latin-500italic.eot +0 -0
- package/themes/archie/assets/fonts/ibm-plex-mono-v6-latin-500italic.svg +365 -0
- package/themes/archie/assets/fonts/ibm-plex-mono-v6-latin-500italic.ttf +0 -0
- package/themes/archie/assets/fonts/ibm-plex-mono-v6-latin-500italic.woff +0 -0
- package/themes/archie/assets/fonts/ibm-plex-mono-v6-latin-500italic.woff2 +0 -0
- package/themes/archie/assets/fonts/roboto-mono-v12-latin-regular.eot +0 -0
- package/themes/archie/assets/fonts/roboto-mono-v12-latin-regular.svg +405 -0
- package/themes/archie/assets/fonts/roboto-mono-v12-latin-regular.ttf +0 -0
- package/themes/archie/assets/fonts/roboto-mono-v12-latin-regular.woff +0 -0
- package/themes/archie/assets/fonts/roboto-mono-v12-latin-regular.woff2 +0 -0
- package/themes/archie/assets/images/node-ssg-1.png +0 -0
- package/themes/archie/assets/images/node-ssg-2.png +0 -0
- package/themes/archie/assets/styles/fonts.css +51 -0
- package/themes/archie/assets/styles/highlights.css +75 -0
- package/themes/archie/assets/styles/main.css +402 -0
- package/themes/archie/layouts/all_posts.html +42 -0
- package/themes/archie/layouts/home.html +62 -0
- package/themes/archie/layouts/page.html +50 -0
- package/themes/archie/layouts/partials/footer.html +10 -0
- package/themes/archie/layouts/post.html +82 -0
- package/themes/archie/layouts/tag.html +43 -0
- package/themes/archie/layouts/tag_list.html +44 -0
|
@@ -0,0 +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="../styles/fonts.css">
|
|
10
|
+
<link rel="stylesheet" href="../styles/main.css">
|
|
11
|
+
<link rel="icon" type="image/png" href="../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="/">Home</a>
|
|
36
|
+
<a href="/all_posts">All posts</a>
|
|
37
|
+
<a href="/about">About</a>
|
|
38
|
+
<a href="/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="/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.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.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
|
+
</html>
|
|
@@ -0,0 +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="../../styles/fonts.css">
|
|
8
|
+
<link rel="stylesheet" href="../../styles/main.css">
|
|
9
|
+
<link rel="icon" type="image/png" href="../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="/">Home</a>
|
|
21
|
+
<a href="/all_posts">All posts</a>
|
|
22
|
+
<a href="/about">About</a>
|
|
23
|
+
<a href="/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="/${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
|
+
</html>
|
|
@@ -0,0 +1,44 @@
|
|
|
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="../styles/fonts.css">
|
|
8
|
+
<link rel="stylesheet" href="../styles/main.css">
|
|
9
|
+
<link rel="icon" type="image/png" href="../images/favicon.png">
|
|
10
|
+
|
|
11
|
+
<!-- Google tag (gtag.js) -->
|
|
12
|
+
${page.config.googleAnalyticsID ? page.googleAnalytics(page.config.googleAnalyticsID) : ""}
|
|
13
|
+
<title>${page.config.blogName}: ${data.pageTitle}</title>
|
|
14
|
+
${page.openGraph("website")}
|
|
15
|
+
</head>
|
|
16
|
+
<body>
|
|
17
|
+
<div class="content">
|
|
18
|
+
<header>
|
|
19
|
+
<div class="main">${page.config.blogName}</div>
|
|
20
|
+
<nav>
|
|
21
|
+
<a href="/">Home</a>
|
|
22
|
+
<a href="/all_posts">All posts</a>
|
|
23
|
+
<a href="/about">About</a>
|
|
24
|
+
Tags
|
|
25
|
+
</nav>
|
|
26
|
+
</header>
|
|
27
|
+
<h1 class="page-title">${data.pageTitle}</h1>
|
|
28
|
+
<div class="tag-cloud">
|
|
29
|
+
<ul class="tags">
|
|
30
|
+
${data.tags
|
|
31
|
+
.map(
|
|
32
|
+
(tag) => `<li class="post">
|
|
33
|
+
<a href="${tag.path}">${tag.name}(${tag.count})</a>
|
|
34
|
+
</li>`,
|
|
35
|
+
)
|
|
36
|
+
.join("")}
|
|
37
|
+
</ul>
|
|
38
|
+
</div>
|
|
39
|
+
<footer>
|
|
40
|
+
${page.footer()}
|
|
41
|
+
</footer>
|
|
42
|
+
</div>
|
|
43
|
+
</body>
|
|
44
|
+
</html>
|