blazed-past-us 0.1.4 → 0.2.7
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 +2 -2
- package/dist/engine/getters.d.ts +3 -2
- package/dist/engine/getters.js +16 -1
- package/dist/engine/getters.js.map +1 -1
- package/dist/engine/utils.d.ts +4 -2
- package/dist/engine/utils.js +24 -9
- package/dist/engine/utils.js.map +1 -1
- package/dist/server/parse-markdown.d.ts +1 -1
- package/dist/server/parse-markdown.js +33 -5
- package/dist/server/parse-markdown.js.map +1 -1
- package/dist/template/index.html +5 -4
- package/dist/template/package-lock.json +1485 -38
- package/dist/template/package.json +5 -2
- package/dist/template/src/assets/fonts/bangers/Bangers-Regular.ttf +0 -0
- package/dist/template/src/assets/fonts/merriweatherSans/MerriweatherSans-Bold.ttf +0 -0
- package/dist/template/src/assets/fonts/merriweatherSans/MerriweatherSans-BoldItalic.ttf +0 -0
- package/dist/template/src/assets/fonts/merriweatherSans/MerriweatherSans-ExtraBold.ttf +0 -0
- package/dist/template/src/assets/fonts/merriweatherSans/MerriweatherSans-ExtraBoldItalic.ttf +0 -0
- package/dist/template/src/assets/fonts/merriweatherSans/MerriweatherSans-Italic.ttf +0 -0
- package/dist/template/src/assets/fonts/merriweatherSans/MerriweatherSans-Light.ttf +0 -0
- package/dist/template/src/assets/fonts/merriweatherSans/MerriweatherSans-LightItalic.ttf +0 -0
- package/dist/template/src/assets/fonts/merriweatherSans/MerriweatherSans-Medium.ttf +0 -0
- package/dist/template/src/assets/fonts/merriweatherSans/MerriweatherSans-MediumItalic.ttf +0 -0
- package/dist/template/src/assets/fonts/merriweatherSans/MerriweatherSans-Regular.ttf +0 -0
- package/dist/template/src/assets/fonts/merriweatherSans/MerriweatherSans-SemiBold.ttf +0 -0
- package/dist/template/src/assets/fonts/merriweatherSans/MerriweatherSans-SemiBoldItalic.ttf +0 -0
- package/dist/template/src/assets/fonts/permanentMarker/PermanentMarker-Regular.ttf +0 -0
- package/dist/template/src/config.json +8 -1
- package/dist/template/src/main.js +12 -3
- package/dist/template/src/moonlight-li.json +1002 -0
- package/dist/template/src/posts/I-think-squirrels-are-pretty-cool.md +11 -3
- package/dist/template/src/posts/this-is-a-post-title.md +1 -1
- package/dist/template/src/stars.js +127 -0
- package/dist/template/src/styles/{flicker.css → animations.css} +9 -0
- package/dist/template/src/styles/fonts.css +20 -0
- package/dist/template/src/styles/header.css +71 -0
- package/dist/template/src/styles/home.css +33 -0
- package/dist/template/src/styles/main.css +57 -0
- package/dist/template/src/styles/post.css +83 -0
- package/package.json +5 -3
- package/dist/template/src/styles/logo.css +0 -40
- package/dist/template/src/styles/post-card.css +0 -23
- package/dist/template/src/styles/styles.css +0 -129
package/README.md
CHANGED
|
@@ -11,7 +11,7 @@ A static blog framework that lets you write content in Markdown directly from yo
|
|
|
11
11
|
**Silver Surfer asked:**
|
|
12
12
|
_"How fast can a dev blog go?"_
|
|
13
13
|
|
|
14
|
-
**
|
|
14
|
+
**Gass Git, intrigued, answered:**
|
|
15
15
|
_"I don't know… shall we see?"_
|
|
16
16
|
|
|
17
17
|
**Silver Surfer looked dubious and curious:**
|
|
@@ -21,7 +21,7 @@ _"Very well… let the cosmos bear witness."_
|
|
|
21
21
|
|
|
22
22
|
- The post file name will be the title.
|
|
23
23
|
- There is no need to add the title within the .md file, this will be set by the meta data.
|
|
24
|
-
- Post tags are written in every post on the very top as
|
|
24
|
+
- Post tags are written in every post on the very top as `tag1, tag2,...`
|
|
25
25
|
- The descriptions of the posts will be a brief showcase of the first paragraph (below the tags).
|
|
26
26
|
|
|
27
27
|
## Installation
|
package/dist/engine/getters.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import type { PostData, Config, PostDataType } from '../types';
|
|
1
|
+
import type { PostData, Config, PostDataType, ConsumerConfig } from '../types';
|
|
2
2
|
declare function getPostData(postsMetaData: PostData[], id: string, option: PostDataType): string | Date | undefined;
|
|
3
3
|
declare function getPostHtml(postsMetaData: PostData[], root: HTMLElement, postId: string): Promise<String | void>;
|
|
4
4
|
declare function getPostsMetaData(config: Config): Promise<PostData[]>;
|
|
5
5
|
declare function getTitle(htmlFilename: string): string;
|
|
6
6
|
declare function getBrief(fileContent: string, lines: number): string;
|
|
7
7
|
declare function getTags(fileContent: string): string[];
|
|
8
|
-
|
|
8
|
+
declare function getColoredTagsHTML(tags: string[], consumerConfig: ConsumerConfig): string;
|
|
9
|
+
export { getPostData, getPostHtml, getPostsMetaData, getTitle, getTags, getBrief, getColoredTagsHTML, };
|
package/dist/engine/getters.js
CHANGED
|
@@ -37,5 +37,20 @@ function getTags(fileContent) {
|
|
|
37
37
|
?.split(',')
|
|
38
38
|
.map((str) => str.trim()) || []);
|
|
39
39
|
}
|
|
40
|
-
|
|
40
|
+
function getColoredTagsHTML(tags, consumerConfig) {
|
|
41
|
+
return tags[0]
|
|
42
|
+
.replace(/\s/g, '')
|
|
43
|
+
.toLowerCase()
|
|
44
|
+
.split(',')
|
|
45
|
+
.map((key) => {
|
|
46
|
+
const tagColor = consumerConfig.tags[key]?.color ?? consumerConfig.tags.default.color;
|
|
47
|
+
return `
|
|
48
|
+
<span class="tag" style="--tag-color: ${tagColor}">
|
|
49
|
+
${key}
|
|
50
|
+
</span>
|
|
51
|
+
`;
|
|
52
|
+
})
|
|
53
|
+
.join(`<span class="tag-separator">, </span>`);
|
|
54
|
+
}
|
|
55
|
+
export { getPostData, getPostHtml, getPostsMetaData, getTitle, getTags, getBrief, getColoredTagsHTML, };
|
|
41
56
|
//# sourceMappingURL=getters.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getters.js","sourceRoot":"","sources":["../../src/engine/getters.ts"],"names":[],"mappings":"AAEA,SAAS,WAAW,CAClB,aAAyB,EACzB,EAAU,EACV,MAAoB;IAEpB,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,IAAc,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;AAC1E,CAAC;AAED,KAAK,UAAU,WAAW,CACxB,aAAyB,EACzB,IAAiB,EACjB,MAAc;IAEd,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"getters.js","sourceRoot":"","sources":["../../src/engine/getters.ts"],"names":[],"mappings":"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"}
|
package/dist/engine/utils.d.ts
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { MsgColor } from '../types';
|
|
2
2
|
declare function postExists(postsMetaData: any[], id: string): boolean;
|
|
3
3
|
declare function beautifyDate(d: Date | undefined): undefined | string;
|
|
4
|
-
declare function showCosmicSpeed(
|
|
4
|
+
declare function showCosmicSpeed(document: HTMLDocument, elementID: string): void;
|
|
5
5
|
declare function inject(root: HTMLElement, html: string): void;
|
|
6
6
|
declare function log(msg: string, color: MsgColor): void;
|
|
7
|
-
|
|
7
|
+
declare function boltRotator(document: HTMLDocument, elementID: string): void;
|
|
8
|
+
declare function setTitle(document: HTMLDocument, elementID: string): void;
|
|
9
|
+
export { postExists, beautifyDate, showCosmicSpeed, inject, log, boltRotator, setTitle };
|
package/dist/engine/utils.js
CHANGED
|
@@ -13,14 +13,17 @@ function beautifyDate(d) {
|
|
|
13
13
|
month: 'long',
|
|
14
14
|
});
|
|
15
15
|
}
|
|
16
|
-
function showCosmicSpeed(
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
16
|
+
function showCosmicSpeed(document, elementID) {
|
|
17
|
+
const el = document.getElementById(elementID);
|
|
18
|
+
if (el) {
|
|
19
|
+
new PerformanceObserver((list) => {
|
|
20
|
+
list.getEntries().forEach((en) => {
|
|
21
|
+
if (en.name === 'first-contentful-paint') {
|
|
22
|
+
el.innerHTML = `<span>${en.startTime} ms</span>`;
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
}).observe({ type: 'paint', buffered: true });
|
|
26
|
+
}
|
|
24
27
|
}
|
|
25
28
|
function inject(root, html) {
|
|
26
29
|
root.innerHTML = html;
|
|
@@ -42,5 +45,17 @@ function log(msg, color) {
|
|
|
42
45
|
}
|
|
43
46
|
console.log(`${chalk.blue(pkg.name + ' v' + pkg.version)} ${coloredMsg}`);
|
|
44
47
|
}
|
|
45
|
-
|
|
48
|
+
function boltRotator(document, elementID) {
|
|
49
|
+
const el = document.getElementById(elementID);
|
|
50
|
+
if (el) {
|
|
51
|
+
el.classList.add('rotate');
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
function setTitle(document, elementID) {
|
|
55
|
+
const el = document.getElementById(elementID);
|
|
56
|
+
if (el) {
|
|
57
|
+
el.innerText = pkg.name.replaceAll('-', ' ');
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
export { postExists, beautifyDate, showCosmicSpeed, inject, log, boltRotator, setTitle };
|
|
46
61
|
//# sourceMappingURL=utils.js.map
|
package/dist/engine/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/engine/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,oBAAoB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAG3D,SAAS,UAAU,CAAC,aAAoB,EAAE,EAAU;IAClD,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,YAAY,CAAC,CAAmB;IACvC,IAAI,CAAC,CAAC;QAAE,OAAO;IACf,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;IAEzB,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE;QAClC,GAAG,EAAE,SAAS;QACd,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,MAAM;KACd,CAAC,CAAC;AACL,CAAC;AAED,SAAS,eAAe,CAAC,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/engine/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,24 +1,52 @@
|
|
|
1
1
|
import { readFile } from 'node:fs/promises';
|
|
2
|
+
import { readFileSync } from 'node:fs';
|
|
2
3
|
import { remark } from 'remark';
|
|
3
4
|
import remarkParse from 'remark-parse';
|
|
4
5
|
import remarkRehype from 'remark-rehype';
|
|
5
6
|
import rehypePrettyCode from 'rehype-pretty-code';
|
|
6
7
|
import rehypeStringify from 'rehype-stringify';
|
|
8
|
+
import path from 'node:path';
|
|
9
|
+
import { getColoredTagsHTML } from '../engine/getters.js';
|
|
7
10
|
/**
|
|
8
11
|
* Converts a Markdown file to HTML with syntax highlighting.
|
|
9
12
|
*
|
|
10
13
|
* Uses remark and rehype to parse Markdown, transform it to HTML,
|
|
11
14
|
* and apply pretty code highlighting.
|
|
12
15
|
*/
|
|
13
|
-
async function parseMarkdown(
|
|
14
|
-
const
|
|
15
|
-
const
|
|
16
|
+
async function parseMarkdown(_path) {
|
|
17
|
+
const root = process.cwd();
|
|
18
|
+
const markdown = await readFile(_path, { encoding: 'utf8' });
|
|
19
|
+
const remarkResult = await remark()
|
|
16
20
|
.use(remarkParse)
|
|
17
21
|
.use(remarkRehype)
|
|
18
|
-
.use(rehypePrettyCode, {
|
|
22
|
+
.use(rehypePrettyCode, {
|
|
23
|
+
theme: JSON.parse(readFileSync(path.join(root, 'src/moonlight-li.json'), 'utf-8')),
|
|
24
|
+
keepBackground: false,
|
|
25
|
+
})
|
|
19
26
|
.use(rehypeStringify)
|
|
20
27
|
.process(markdown);
|
|
21
|
-
|
|
28
|
+
const result = await customizeHTML(root, remarkResult.value);
|
|
29
|
+
return result;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* This function allows the HTML of the post to be modified before being output to the
|
|
33
|
+
* users bundle.
|
|
34
|
+
*
|
|
35
|
+
* @param root consumers root folder
|
|
36
|
+
* @param postHTMLString post HTML string output after being parsed from Markdown
|
|
37
|
+
* @returns customized HTML
|
|
38
|
+
*/
|
|
39
|
+
async function customizeHTML(root, postHTMLString) {
|
|
40
|
+
const consumerConfig = await readFile(path.join(root, 'src/config.json'), {
|
|
41
|
+
encoding: 'utf8',
|
|
42
|
+
}).then((jsonData) => JSON.parse(jsonData.toLowerCase()));
|
|
43
|
+
// Get the HTML chunk containing the tags, split them into an array and assign it to tags.
|
|
44
|
+
const tags = postHTMLString.split('<p>').splice(1).join('').split('</p>');
|
|
45
|
+
// Post HTML string without the tags HTML chunk.
|
|
46
|
+
const postHTMLStringWithoutTags = postHTMLString.split('</p>').splice(1).join('</p>');
|
|
47
|
+
// Processes the tags array and returns the HTML with colored tags.
|
|
48
|
+
const coloredTagsHTML = getColoredTagsHTML(tags, consumerConfig);
|
|
49
|
+
return `<span class="tag-emoji">🏷️ </span>` + coloredTagsHTML + postHTMLStringWithoutTags;
|
|
22
50
|
}
|
|
23
51
|
export { parseMarkdown };
|
|
24
52
|
//# sourceMappingURL=parse-markdown.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-markdown.js","sourceRoot":"","sources":["../../src/server/parse-markdown.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,WAAW,MAAM,cAAc,CAAC;AACvC,OAAO,YAAY,MAAM,eAAe,CAAC;AACzC,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,OAAO,eAAe,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"parse-markdown.js","sourceRoot":"","sources":["../../src/server/parse-markdown.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,WAAW,MAAM,cAAc,CAAC;AACvC,OAAO,YAAY,MAAM,eAAe,CAAC;AACzC,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,OAAO,eAAe,MAAM,kBAAkB,CAAC;AAC/C,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D;;;;;GAKG;AACH,KAAK,UAAU,aAAa,CAAC,KAAa;IACxC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC3B,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IAE7D,MAAM,YAAY,GAAG,MAAM,MAAM,EAAE;SAChC,GAAG,CAAC,WAAW,CAAC;SAChB,GAAG,CAAC,YAAY,CAAC;SACjB,GAAG,CAAC,gBAAgB,EAAE;QACrB,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,uBAAuB,CAAC,EAAE,OAAO,CAAC,CAAC;QAClF,cAAc,EAAE,KAAK;KACtB,CAAC;SACD,GAAG,CAAC,eAAe,CAAC;SACpB,OAAO,CAAC,QAAQ,CAAC,CAAC;IAErB,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,YAAY,CAAC,KAAe,CAAC,CAAC;IAEvE,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,aAAa,CAAC,IAAY,EAAE,cAAsB;IAC/D,MAAM,cAAc,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,iBAAiB,CAAC,EAAE;QACxE,QAAQ,EAAE,MAAM;KACjB,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IAE1D,0FAA0F;IAC1F,MAAM,IAAI,GAAG,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAE1E,gDAAgD;IAChD,MAAM,yBAAyB,GAAG,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAEtF,mEAAmE;IACnE,MAAM,eAAe,GAAG,kBAAkB,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAEjE,OAAO,qCAAqC,GAAG,eAAe,GAAG,yBAAyB,CAAC;AAC7F,CAAC;AAED,OAAO,EAAE,aAAa,EAAE,CAAC"}
|
package/dist/template/index.html
CHANGED
|
@@ -3,24 +3,25 @@
|
|
|
3
3
|
<head>
|
|
4
4
|
<meta charset="UTF-8" />
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
6
|
-
<link href="./src/styles/
|
|
6
|
+
<link href="./src/styles/main.css" rel="stylesheet" />
|
|
7
7
|
</head>
|
|
8
8
|
<body>
|
|
9
9
|
<header>
|
|
10
10
|
<div class="logo">
|
|
11
|
-
<div class="wrapper">
|
|
11
|
+
<div class="wrapper" id="logo-wrapper">
|
|
12
12
|
<div class="top"></div>
|
|
13
13
|
<div class="bottom"></div>
|
|
14
14
|
</div>
|
|
15
15
|
</div>
|
|
16
16
|
<div>
|
|
17
17
|
<div class="top">
|
|
18
|
-
<a class="title" href="/"
|
|
18
|
+
<a id="title" class="title" href="/"></a>
|
|
19
19
|
</div>
|
|
20
|
-
<div class="
|
|
20
|
+
<div class="speed" id="speed"></div>
|
|
21
21
|
</div>
|
|
22
22
|
</header>
|
|
23
23
|
<div id="root"></div>
|
|
24
24
|
<script type="module" src="./src/main.js"></script>
|
|
25
|
+
<script type="module" src="./src/stars.js"></script>
|
|
25
26
|
</body>
|
|
26
27
|
</html>
|