writr 1.9.6 → 1.9.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/package.json +12 -12
- package/dist/cache.d.ts +0 -18
- package/dist/cache.js +0 -70
- package/dist/cache.js.map +0 -1
- package/dist/config.d.ts +0 -29
- package/dist/config.js +0 -104
- package/dist/config.js.map +0 -1
- package/dist/data/dataProviderInterface.d.ts +0 -12
- package/dist/data/dataProviderInterface.js +0 -2
- package/dist/data/dataProviderInterface.js.map +0 -1
- package/dist/data/dataService.d.ts +0 -19
- package/dist/data/dataService.js +0 -130
- package/dist/data/dataService.js.map +0 -1
- package/dist/data/fileDataProvider.d.ts +0 -20
- package/dist/data/fileDataProvider.js +0 -132
- package/dist/data/fileDataProvider.js.map +0 -1
- package/dist/generator.d.ts +0 -8
- package/dist/generator.js +0 -54
- package/dist/generator.js.map +0 -1
- package/dist/index.d.ts +0 -8
- package/dist/index.js +0 -80
- package/dist/index.js.map +0 -1
- package/dist/log.d.ts +0 -6
- package/dist/log.js +0 -13
- package/dist/log.js.map +0 -1
- package/dist/migrate/ghostMigrationProvider.d.ts +0 -9
- package/dist/migrate/ghostMigrationProvider.js +0 -65
- package/dist/migrate/ghostMigrationProvider.js.map +0 -1
- package/dist/migrate/jekyllMigrationProvider.d.ts +0 -4
- package/dist/migrate/jekyllMigrationProvider.js +0 -11
- package/dist/migrate/jekyllMigrationProvider.js.map +0 -1
- package/dist/migrate/mediumMigrationProvider.d.ts +0 -7
- package/dist/migrate/mediumMigrationProvider.js +0 -26
- package/dist/migrate/mediumMigrationProvider.js.map +0 -1
- package/dist/migrate/migrationProviderInterface.d.ts +0 -3
- package/dist/migrate/migrationProviderInterface.js +0 -2
- package/dist/migrate/migrationProviderInterface.js.map +0 -1
- package/dist/migrate/wordpressMigrationProvider.d.ts +0 -12
- package/dist/migrate/wordpressMigrationProvider.js +0 -103
- package/dist/migrate/wordpressMigrationProvider.js.map +0 -1
- package/dist/migrate.d.ts +0 -6
- package/dist/migrate.js +0 -34
- package/dist/migrate.js.map +0 -1
- package/dist/post.d.ts +0 -31
- package/dist/post.js +0 -189
- package/dist/post.js.map +0 -1
- package/dist/render/atomRenderProvider.d.ts +0 -8
- package/dist/render/atomRenderProvider.js +0 -51
- package/dist/render/atomRenderProvider.js.map +0 -1
- package/dist/render/htmRenderlProvider.d.ts +0 -14
- package/dist/render/htmRenderlProvider.js +0 -117
- package/dist/render/htmRenderlProvider.js.map +0 -1
- package/dist/render/imageRenderProvider.d.ts +0 -8
- package/dist/render/imageRenderProvider.js +0 -15
- package/dist/render/imageRenderProvider.js.map +0 -1
- package/dist/render/jsonRenderProvider.d.ts +0 -8
- package/dist/render/jsonRenderProvider.js +0 -24
- package/dist/render/jsonRenderProvider.js.map +0 -1
- package/dist/render/renderProviderInterface.d.ts +0 -5
- package/dist/render/renderProviderInterface.js +0 -2
- package/dist/render/renderProviderInterface.js.map +0 -1
- package/dist/serve.d.ts +0 -16
- package/dist/serve.js +0 -29
- package/dist/serve.js.map +0 -1
- package/dist/storage/fileStorageProvider.d.ts +0 -10
- package/dist/storage/fileStorageProvider.js +0 -62
- package/dist/storage/fileStorageProvider.js.map +0 -1
- package/dist/storage/storageProviderInterface.d.ts +0 -8
- package/dist/storage/storageProviderInterface.js +0 -2
- package/dist/storage/storageProviderInterface.js.map +0 -1
- package/dist/storage/storageService.d.ts +0 -12
- package/dist/storage/storageService.js +0 -28
- package/dist/storage/storageService.js.map +0 -1
- package/dist/tag.d.ts +0 -9
- package/dist/tag.js +0 -34
- package/dist/tag.js.map +0 -1
- package/dist/utils/parser.d.ts +0 -5
- package/dist/utils/parser.js +0 -37
- package/dist/utils/parser.js.map +0 -1
- package/dist/utils/setup.d.ts +0 -8
- package/dist/utils/setup.js +0 -75
- package/dist/utils/setup.js.map +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "writr",
|
|
3
|
-
"version": "1.9.
|
|
3
|
+
"version": "1.9.7",
|
|
4
4
|
"description": "A Simple to Use Markdown Blog",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": "./dist/index.js",
|
|
@@ -40,16 +40,16 @@
|
|
|
40
40
|
"dependencies": {
|
|
41
41
|
"array-sort": "^1.0.0",
|
|
42
42
|
"axios": "^1.3.4",
|
|
43
|
-
"browser-sync": "^2.
|
|
43
|
+
"browser-sync": "^2.29.1",
|
|
44
44
|
"cheerio": "^1.0.0-rc.12",
|
|
45
45
|
"commander": "^10.0.0",
|
|
46
|
-
"ecto": "^2.1.
|
|
46
|
+
"ecto": "^2.1.9",
|
|
47
47
|
"feed": "^4.2.2",
|
|
48
|
-
"fs-extra": "^11.1.
|
|
48
|
+
"fs-extra": "^11.1.1",
|
|
49
49
|
"gray-matter": "^4.0.3",
|
|
50
50
|
"inquirer": "^8.2.3",
|
|
51
51
|
"keyv": "^4.5.2",
|
|
52
|
-
"luxon": "^3.
|
|
52
|
+
"luxon": "^3.3.0",
|
|
53
53
|
"moment": "^2.29.4",
|
|
54
54
|
"node-html-markdown": "^1.3.0",
|
|
55
55
|
"parse-json": "^6.0.2",
|
|
@@ -58,21 +58,21 @@
|
|
|
58
58
|
},
|
|
59
59
|
"devDependencies": {
|
|
60
60
|
"@types/array-sort": "^1.0.0",
|
|
61
|
-
"@types/browser-sync": "^2.
|
|
61
|
+
"@types/browser-sync": "^2.27.0",
|
|
62
62
|
"@types/fs-extra": "^11.0.1",
|
|
63
63
|
"@types/inquirer": "^9.0.1",
|
|
64
|
-
"@types/jest": "^29.
|
|
64
|
+
"@types/jest": "^29.5.0",
|
|
65
65
|
"@types/keyv": "^3.1.4",
|
|
66
66
|
"@types/luxon": "^3.2.0",
|
|
67
|
-
"@types/node": "^18.
|
|
67
|
+
"@types/node": "^18.15.11",
|
|
68
68
|
"@types/parse-json": "^4.0.0",
|
|
69
|
-
"jest": "^29.
|
|
69
|
+
"jest": "^29.5.0",
|
|
70
70
|
"jest-ts-webcompat-resolver": "^1.0.0",
|
|
71
|
-
"jest-resolve": "^29.
|
|
71
|
+
"jest-resolve": "^29.5.0",
|
|
72
72
|
"source-map-support": "^0.5.21",
|
|
73
|
-
"ts-jest": "^29.0
|
|
73
|
+
"ts-jest": "^29.1.0",
|
|
74
74
|
"ts-node": "^10.9.1",
|
|
75
|
-
"typescript": "^
|
|
75
|
+
"typescript": "^5.0.3"
|
|
76
76
|
},
|
|
77
77
|
"files": [
|
|
78
78
|
"dist",
|
package/dist/cache.d.ts
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { Config } from "./config.js";
|
|
2
|
-
import { Post } from "./post.js";
|
|
3
|
-
import { Tag } from "./tag.js";
|
|
4
|
-
import Keyv from "keyv";
|
|
5
|
-
export declare class Cache {
|
|
6
|
-
cache: Keyv;
|
|
7
|
-
constructor(config: Config);
|
|
8
|
-
getPost(key: string): Promise<Post | undefined>;
|
|
9
|
-
setPost(key: string, post: Post): Promise<boolean | undefined>;
|
|
10
|
-
getPosts(key: string): Promise<Array<Post> | undefined>;
|
|
11
|
-
setPosts(key: string, posts: Array<Post>): Promise<boolean | undefined>;
|
|
12
|
-
getTag(key: string): Promise<Tag | undefined>;
|
|
13
|
-
setTag(key: string, tag: Tag): Promise<boolean | undefined>;
|
|
14
|
-
getTags(key: string): Promise<Array<Tag> | undefined>;
|
|
15
|
-
setTags(key: string, tags: Array<Tag>): Promise<boolean | undefined>;
|
|
16
|
-
clear(): Promise<void>;
|
|
17
|
-
formatName(name: string, type: string): string;
|
|
18
|
-
}
|
package/dist/cache.js
DELETED
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
import { Post } from "./post.js";
|
|
2
|
-
import { Tag } from "./tag.js";
|
|
3
|
-
import Keyv from "keyv";
|
|
4
|
-
export class Cache {
|
|
5
|
-
constructor(config) {
|
|
6
|
-
this.cache = new Keyv({ ttl: config.cache.ttl, namespace: "data-cache" });
|
|
7
|
-
}
|
|
8
|
-
//cache
|
|
9
|
-
async getPost(key) {
|
|
10
|
-
key = this.formatName(key, "post");
|
|
11
|
-
let result = await this.cache.get(key);
|
|
12
|
-
if (result) {
|
|
13
|
-
result = Post.create(result);
|
|
14
|
-
}
|
|
15
|
-
return result;
|
|
16
|
-
}
|
|
17
|
-
async setPost(key, post) {
|
|
18
|
-
return await this.cache.set(this.formatName(key, "post"), post);
|
|
19
|
-
}
|
|
20
|
-
async getPosts(key) {
|
|
21
|
-
key = this.formatName(key, "post");
|
|
22
|
-
let result = await this.cache.get(key);
|
|
23
|
-
if (result) {
|
|
24
|
-
let posts = new Array();
|
|
25
|
-
for (let i = 0; i < result.length; i++) {
|
|
26
|
-
posts.push(Post.create(result[i]));
|
|
27
|
-
}
|
|
28
|
-
result = posts;
|
|
29
|
-
}
|
|
30
|
-
return result;
|
|
31
|
-
}
|
|
32
|
-
async setPosts(key, posts) {
|
|
33
|
-
return await this.cache.set(this.formatName(key, "post"), posts);
|
|
34
|
-
}
|
|
35
|
-
async getTag(key) {
|
|
36
|
-
key = this.formatName(key, "tag");
|
|
37
|
-
let result = await this.cache.get(key);
|
|
38
|
-
if (result) {
|
|
39
|
-
result = Tag.create(result);
|
|
40
|
-
}
|
|
41
|
-
return result;
|
|
42
|
-
}
|
|
43
|
-
async setTag(key, tag) {
|
|
44
|
-
return await this.cache.set(this.formatName(key, "tag"), tag);
|
|
45
|
-
}
|
|
46
|
-
async getTags(key) {
|
|
47
|
-
key = this.formatName(key, "tag");
|
|
48
|
-
let result = await this.cache.get(key);
|
|
49
|
-
if (result) {
|
|
50
|
-
let tags = new Array();
|
|
51
|
-
for (let i = 0; i < result.length; i++) {
|
|
52
|
-
tags.push(Tag.create(result[i]));
|
|
53
|
-
}
|
|
54
|
-
result = tags;
|
|
55
|
-
}
|
|
56
|
-
return result;
|
|
57
|
-
}
|
|
58
|
-
async setTags(key, tags) {
|
|
59
|
-
return await this.cache.set(this.formatName(key, "tag"), tags);
|
|
60
|
-
}
|
|
61
|
-
async clear() {
|
|
62
|
-
await this.cache.clear();
|
|
63
|
-
}
|
|
64
|
-
formatName(name, type) {
|
|
65
|
-
let result = type.trim() + "-" + name.trim();
|
|
66
|
-
result = result.toLowerCase();
|
|
67
|
-
return result;
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
//# sourceMappingURL=cache.js.map
|
package/dist/cache.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cache.js","sourceRoot":"","sources":["../src/cache.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { ConsoleMessage } from "./log.js";
|
|
2
|
-
export declare class Config {
|
|
3
|
-
cache: ConfigCache;
|
|
4
|
-
log: ConsoleMessage;
|
|
5
|
-
program: any;
|
|
6
|
-
provider: any;
|
|
7
|
-
render: Array<string>;
|
|
8
|
-
output: string;
|
|
9
|
-
path: string;
|
|
10
|
-
title: string;
|
|
11
|
-
url: string;
|
|
12
|
-
authorName: string;
|
|
13
|
-
authorEmail: string;
|
|
14
|
-
indexCount: number;
|
|
15
|
-
permalink: string;
|
|
16
|
-
params: Record<string, string>;
|
|
17
|
-
constructor(config?: any);
|
|
18
|
-
loadPath(path: string): boolean;
|
|
19
|
-
loadConfig(filePath: string): boolean;
|
|
20
|
-
loadProgram(program: any): void;
|
|
21
|
-
loadParams(params: Record<string, any>): void;
|
|
22
|
-
parse(obj: any): void;
|
|
23
|
-
}
|
|
24
|
-
export declare class ConfigCache {
|
|
25
|
-
constructor();
|
|
26
|
-
connection: string;
|
|
27
|
-
ttl: number;
|
|
28
|
-
type: string;
|
|
29
|
-
}
|
package/dist/config.js
DELETED
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
import fs from "fs-extra";
|
|
2
|
-
import { ConsoleMessage } from "./log.js";
|
|
3
|
-
export class Config {
|
|
4
|
-
constructor(config = undefined) {
|
|
5
|
-
this.cache = new ConfigCache();
|
|
6
|
-
this.log = new ConsoleMessage();
|
|
7
|
-
this.program = {};
|
|
8
|
-
this.provider = {};
|
|
9
|
-
this.render = ["html", "json", "atom"];
|
|
10
|
-
this.output = "./blog_output";
|
|
11
|
-
this.path = "./blog";
|
|
12
|
-
this.title = "";
|
|
13
|
-
this.url = "";
|
|
14
|
-
this.authorName = "";
|
|
15
|
-
this.authorEmail = "";
|
|
16
|
-
this.indexCount = 20;
|
|
17
|
-
this.permalink = "simple";
|
|
18
|
-
this.params = {};
|
|
19
|
-
//set default for fileProvider
|
|
20
|
-
this.provider.name = "file";
|
|
21
|
-
if (config) {
|
|
22
|
-
this.parse(config);
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
loadPath(path) {
|
|
26
|
-
this.path = path;
|
|
27
|
-
return this.loadConfig(this.path + "/config.json");
|
|
28
|
-
}
|
|
29
|
-
loadConfig(filePath) {
|
|
30
|
-
let result = false;
|
|
31
|
-
if (fs.existsSync(filePath)) {
|
|
32
|
-
let buff = fs.readFileSync(filePath);
|
|
33
|
-
let obj = JSON.parse(buff.toString());
|
|
34
|
-
this.parse(obj);
|
|
35
|
-
result = true;
|
|
36
|
-
}
|
|
37
|
-
else {
|
|
38
|
-
this.log.info("the config file does not exist: " + filePath);
|
|
39
|
-
}
|
|
40
|
-
return result;
|
|
41
|
-
}
|
|
42
|
-
loadProgram(program) {
|
|
43
|
-
this.program = program;
|
|
44
|
-
this.parse(this.program);
|
|
45
|
-
}
|
|
46
|
-
loadParams(params) {
|
|
47
|
-
this.params = params;
|
|
48
|
-
}
|
|
49
|
-
parse(obj) {
|
|
50
|
-
if (obj) {
|
|
51
|
-
if (obj.render) {
|
|
52
|
-
if (typeof obj.render === "string") {
|
|
53
|
-
this.render = obj.render.split(",");
|
|
54
|
-
}
|
|
55
|
-
else {
|
|
56
|
-
this.render = obj.render;
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
if (obj.permalink) {
|
|
60
|
-
this.permalink = obj.permalink;
|
|
61
|
-
}
|
|
62
|
-
if (obj.output) {
|
|
63
|
-
this.output = obj.output;
|
|
64
|
-
}
|
|
65
|
-
if (obj.path) {
|
|
66
|
-
this.path = obj.path;
|
|
67
|
-
}
|
|
68
|
-
if (obj.title) {
|
|
69
|
-
this.title = obj.title;
|
|
70
|
-
}
|
|
71
|
-
if (obj.url) {
|
|
72
|
-
this.url = obj.url;
|
|
73
|
-
}
|
|
74
|
-
if (obj.authorName) {
|
|
75
|
-
this.authorName = obj.authorName;
|
|
76
|
-
}
|
|
77
|
-
if (obj.authorEmail) {
|
|
78
|
-
this.authorEmail = obj.authorEmail;
|
|
79
|
-
}
|
|
80
|
-
if (obj.indexCount) {
|
|
81
|
-
this.indexCount = obj.indexCount;
|
|
82
|
-
}
|
|
83
|
-
if (obj.cache) {
|
|
84
|
-
if (obj.cache.connection) {
|
|
85
|
-
this.cache.connection = obj.cache.connection;
|
|
86
|
-
}
|
|
87
|
-
if (obj.cache.ttl) {
|
|
88
|
-
this.cache.ttl = obj.cache.ttl;
|
|
89
|
-
}
|
|
90
|
-
if (obj.cache.type) {
|
|
91
|
-
this.cache.type = obj.cache.type;
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
export class ConfigCache {
|
|
98
|
-
constructor() {
|
|
99
|
-
this.connection = "";
|
|
100
|
-
this.ttl = 6000;
|
|
101
|
-
this.type = "memory";
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
//# sourceMappingURL=config.js.map
|
package/dist/config.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { Config } from "../config.js";
|
|
2
|
-
import { Post } from "../post.js";
|
|
3
|
-
import { Tag } from "../tag.js";
|
|
4
|
-
export interface DataProviderInterface {
|
|
5
|
-
getPost(id: string): Promise<Post | undefined>;
|
|
6
|
-
getPosts(): Promise<Array<Post>>;
|
|
7
|
-
getPublishedPosts(): Promise<Array<Post>>;
|
|
8
|
-
getTag(name: string): Promise<Tag | undefined>;
|
|
9
|
-
getTags(): Promise<Array<Tag>>;
|
|
10
|
-
getPublishedTags(): Promise<Array<Tag>>;
|
|
11
|
-
init(config: Config): void;
|
|
12
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dataProviderInterface.js","sourceRoot":"","sources":["../../src/data/dataProviderInterface.ts"],"names":[],"mappings":""}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { Config } from "../config.js";
|
|
2
|
-
import { Post } from "../post.js";
|
|
3
|
-
import { Tag } from "../tag.js";
|
|
4
|
-
import { DataProviderInterface } from "./dataProviderInterface.js";
|
|
5
|
-
import { Cache } from "../cache.js";
|
|
6
|
-
export declare class DataService {
|
|
7
|
-
config: Config;
|
|
8
|
-
cache: Cache;
|
|
9
|
-
constructor(config: Config);
|
|
10
|
-
getPost(id: string): Promise<Post | undefined>;
|
|
11
|
-
getPosts(): Promise<Array<Post>>;
|
|
12
|
-
getPublishedPosts(): Promise<Array<Post>>;
|
|
13
|
-
getPostsByCount(count: number): Promise<Array<Post>>;
|
|
14
|
-
getPublishedPostsByCount(count: number): Promise<Array<Post>>;
|
|
15
|
-
getTag(name: string): Promise<Tag | undefined>;
|
|
16
|
-
getTags(): Promise<Array<Tag>>;
|
|
17
|
-
getPublishedTags(): Promise<Array<Tag>>;
|
|
18
|
-
getProvider(): DataProviderInterface;
|
|
19
|
-
}
|
package/dist/data/dataService.js
DELETED
|
@@ -1,130 +0,0 @@
|
|
|
1
|
-
import { FileDataProvider } from "./fileDataProvider.js";
|
|
2
|
-
import { Cache } from "../cache.js";
|
|
3
|
-
import arraySort from "array-sort";
|
|
4
|
-
export class DataService {
|
|
5
|
-
constructor(config) {
|
|
6
|
-
this.config = config;
|
|
7
|
-
this.cache = new Cache(this.config);
|
|
8
|
-
}
|
|
9
|
-
//posts
|
|
10
|
-
async getPost(id) {
|
|
11
|
-
let result = await this.cache.getPost(id);
|
|
12
|
-
if (!result) {
|
|
13
|
-
result = await this.getProvider().getPost(id);
|
|
14
|
-
if (result) {
|
|
15
|
-
await this.cache.setPost(id, result);
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
return result;
|
|
19
|
-
}
|
|
20
|
-
async getPosts() {
|
|
21
|
-
let result;
|
|
22
|
-
let cacheKey = "get-posts";
|
|
23
|
-
let posts = await this.cache.getPosts(cacheKey);
|
|
24
|
-
if (!posts) {
|
|
25
|
-
result = await this.getProvider().getPosts();
|
|
26
|
-
//sort
|
|
27
|
-
result = arraySort(result, "date", { reverse: true });
|
|
28
|
-
//cache
|
|
29
|
-
await this.cache.setPosts(cacheKey, result);
|
|
30
|
-
}
|
|
31
|
-
else {
|
|
32
|
-
result = posts;
|
|
33
|
-
}
|
|
34
|
-
return result;
|
|
35
|
-
}
|
|
36
|
-
async getPublishedPosts() {
|
|
37
|
-
let result;
|
|
38
|
-
let cacheKey = "get-published-posts";
|
|
39
|
-
let posts = await this.cache.getPosts(cacheKey);
|
|
40
|
-
if (!posts) {
|
|
41
|
-
result = await this.getProvider().getPublishedPosts();
|
|
42
|
-
//sort
|
|
43
|
-
result = arraySort(result, "date", { reverse: true });
|
|
44
|
-
//cache
|
|
45
|
-
await this.cache.setPosts(cacheKey, result);
|
|
46
|
-
}
|
|
47
|
-
else {
|
|
48
|
-
result = posts;
|
|
49
|
-
}
|
|
50
|
-
return result;
|
|
51
|
-
}
|
|
52
|
-
async getPostsByCount(count) {
|
|
53
|
-
let result = await this.getPosts();
|
|
54
|
-
let list = new Array();
|
|
55
|
-
let currentCount = 0;
|
|
56
|
-
result.forEach((post) => {
|
|
57
|
-
if (currentCount < count) {
|
|
58
|
-
list.push(post);
|
|
59
|
-
currentCount++;
|
|
60
|
-
}
|
|
61
|
-
});
|
|
62
|
-
result = list;
|
|
63
|
-
return result;
|
|
64
|
-
}
|
|
65
|
-
async getPublishedPostsByCount(count) {
|
|
66
|
-
let result = await this.getPublishedPosts();
|
|
67
|
-
let list = new Array();
|
|
68
|
-
let currentCount = 0;
|
|
69
|
-
result.forEach((post) => {
|
|
70
|
-
if (currentCount < count) {
|
|
71
|
-
list.push(post);
|
|
72
|
-
currentCount++;
|
|
73
|
-
}
|
|
74
|
-
});
|
|
75
|
-
result = list;
|
|
76
|
-
return result;
|
|
77
|
-
}
|
|
78
|
-
//tags
|
|
79
|
-
async getTag(name) {
|
|
80
|
-
let result = await this.cache.getTag(name);
|
|
81
|
-
if (!result) {
|
|
82
|
-
result = await this.getProvider().getTag(name);
|
|
83
|
-
if (result) {
|
|
84
|
-
await this.cache.setTag(name, result);
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
return result;
|
|
88
|
-
}
|
|
89
|
-
async getTags() {
|
|
90
|
-
let result;
|
|
91
|
-
let cacheKey = "get-tags";
|
|
92
|
-
let tags = await this.cache.getTags(cacheKey);
|
|
93
|
-
if (!tags) {
|
|
94
|
-
result = await this.getProvider().getTags();
|
|
95
|
-
//sort
|
|
96
|
-
result = arraySort(result, "id", { reverse: false });
|
|
97
|
-
await this.cache.setTags(cacheKey, result);
|
|
98
|
-
}
|
|
99
|
-
else {
|
|
100
|
-
result = tags;
|
|
101
|
-
}
|
|
102
|
-
return result;
|
|
103
|
-
}
|
|
104
|
-
async getPublishedTags() {
|
|
105
|
-
let result;
|
|
106
|
-
let cacheKey = "get-published-tags";
|
|
107
|
-
let tags = await this.cache.getTags(cacheKey);
|
|
108
|
-
if (!tags) {
|
|
109
|
-
result = await this.getProvider().getPublishedTags();
|
|
110
|
-
//sort
|
|
111
|
-
result = arraySort(result, "id", { reverse: false });
|
|
112
|
-
await this.cache.setTags(cacheKey, result);
|
|
113
|
-
}
|
|
114
|
-
else {
|
|
115
|
-
result = tags;
|
|
116
|
-
}
|
|
117
|
-
return result;
|
|
118
|
-
}
|
|
119
|
-
getProvider() {
|
|
120
|
-
let result;
|
|
121
|
-
switch (this.config.provider.name) {
|
|
122
|
-
default:
|
|
123
|
-
result = new FileDataProvider();
|
|
124
|
-
break;
|
|
125
|
-
}
|
|
126
|
-
result.init(this.config);
|
|
127
|
-
return result;
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
//# sourceMappingURL=dataService.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dataService.js","sourceRoot":"","sources":["../../src/data/dataService.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { Post } from "../post.js";
|
|
2
|
-
import { Tag } from "../tag.js";
|
|
3
|
-
import { Config } from "../config.js";
|
|
4
|
-
import { DataProviderInterface } from "./dataProviderInterface.js";
|
|
5
|
-
export declare class FileDataProvider implements DataProviderInterface {
|
|
6
|
-
__postPath: string;
|
|
7
|
-
__posts: Array<Post>;
|
|
8
|
-
log: any;
|
|
9
|
-
constructor();
|
|
10
|
-
init(config: Config): void;
|
|
11
|
-
getPost(id: string): Promise<Post | undefined>;
|
|
12
|
-
getPosts(): Promise<Array<Post>>;
|
|
13
|
-
getPublishedPosts(): Promise<Array<Post>>;
|
|
14
|
-
getTag(name: string): Promise<Tag | undefined>;
|
|
15
|
-
getTags(): Promise<Array<Tag>>;
|
|
16
|
-
getPublishedTags(): Promise<Array<Tag>>;
|
|
17
|
-
generateTags(posts: Array<Post>): Array<Tag>;
|
|
18
|
-
formatToKey(key: string): string;
|
|
19
|
-
parsePost(filePath: string): Promise<Post | undefined>;
|
|
20
|
-
}
|
|
@@ -1,132 +0,0 @@
|
|
|
1
|
-
import { Post } from "../post.js";
|
|
2
|
-
import { Tag } from "../tag.js";
|
|
3
|
-
import fs from "fs-extra";
|
|
4
|
-
import matter from 'gray-matter';
|
|
5
|
-
import { ConsoleMessage } from "../log.js";
|
|
6
|
-
export class FileDataProvider {
|
|
7
|
-
constructor() {
|
|
8
|
-
this.__postPath = "";
|
|
9
|
-
this.__posts = [];
|
|
10
|
-
this.log = new ConsoleMessage();
|
|
11
|
-
}
|
|
12
|
-
init(config) {
|
|
13
|
-
if (config.path) {
|
|
14
|
-
this.__postPath = config.path;
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
async getPost(id) {
|
|
18
|
-
let result;
|
|
19
|
-
let posts = await this.getPosts();
|
|
20
|
-
posts.forEach(post => {
|
|
21
|
-
if (post.id == this.formatToKey(id)) {
|
|
22
|
-
result = post;
|
|
23
|
-
}
|
|
24
|
-
});
|
|
25
|
-
return result;
|
|
26
|
-
}
|
|
27
|
-
async getPosts() {
|
|
28
|
-
let result;
|
|
29
|
-
const supportedExtensions = ['.md', '.markdown'];
|
|
30
|
-
const hasExtension = (file, extensions) => {
|
|
31
|
-
return extensions.some(extension => file.toLowerCase().endsWith(extension));
|
|
32
|
-
};
|
|
33
|
-
if (this.__posts.length === 0) {
|
|
34
|
-
let directory = this.__postPath;
|
|
35
|
-
if (fs.existsSync(directory)) {
|
|
36
|
-
let files = fs.readdirSync(directory);
|
|
37
|
-
for (const file of files) {
|
|
38
|
-
if (hasExtension(file, supportedExtensions)) {
|
|
39
|
-
let filePath = directory + "/" + file;
|
|
40
|
-
let post = await this.parsePost(filePath);
|
|
41
|
-
if (post)
|
|
42
|
-
this.__posts.push(post);
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
result = this.__posts;
|
|
48
|
-
return result;
|
|
49
|
-
}
|
|
50
|
-
async getPublishedPosts() {
|
|
51
|
-
let result = new Array();
|
|
52
|
-
let posts = await this.getPosts();
|
|
53
|
-
posts.forEach((post) => {
|
|
54
|
-
if (post.published) {
|
|
55
|
-
result.push(post);
|
|
56
|
-
}
|
|
57
|
-
});
|
|
58
|
-
return result;
|
|
59
|
-
}
|
|
60
|
-
async getTag(name) {
|
|
61
|
-
let result;
|
|
62
|
-
let tags = await this.getTags();
|
|
63
|
-
for (let i = 0; i < tags.length; i++) {
|
|
64
|
-
let tag = tags[i];
|
|
65
|
-
if (this.formatToKey(tag.name) == this.formatToKey(name)) {
|
|
66
|
-
result = tag;
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
return result;
|
|
70
|
-
}
|
|
71
|
-
async getTags() {
|
|
72
|
-
let posts = await this.getPosts();
|
|
73
|
-
return this.generateTags(posts);
|
|
74
|
-
}
|
|
75
|
-
async getPublishedTags() {
|
|
76
|
-
let posts = await this.getPublishedPosts();
|
|
77
|
-
return this.generateTags(posts);
|
|
78
|
-
}
|
|
79
|
-
generateTags(posts) {
|
|
80
|
-
let result = new Array();
|
|
81
|
-
posts.forEach(post => {
|
|
82
|
-
post.tags.forEach(tagName => {
|
|
83
|
-
let tag = result.find(t => t.id === new Tag(tagName).id);
|
|
84
|
-
if (tag == null) {
|
|
85
|
-
tag = new Tag(tagName);
|
|
86
|
-
result.push(tag);
|
|
87
|
-
}
|
|
88
|
-
let postExists = tag.posts.find(p => this.formatToKey(p.title) === this.formatToKey(post.title)) != null;
|
|
89
|
-
if (!postExists) {
|
|
90
|
-
tag.posts.push(post);
|
|
91
|
-
}
|
|
92
|
-
});
|
|
93
|
-
});
|
|
94
|
-
return result;
|
|
95
|
-
}
|
|
96
|
-
formatToKey(key) {
|
|
97
|
-
return key.toLowerCase().trim();
|
|
98
|
-
}
|
|
99
|
-
async parsePost(filePath) {
|
|
100
|
-
let result;
|
|
101
|
-
if (await fs.pathExists(filePath)) {
|
|
102
|
-
result = new Post();
|
|
103
|
-
let buff = await fs.readFile(filePath);
|
|
104
|
-
let data = buff.toString();
|
|
105
|
-
let m = matter(data);
|
|
106
|
-
let mData = m.data;
|
|
107
|
-
result.matter = m.data;
|
|
108
|
-
result.content = m.content;
|
|
109
|
-
//handle categories to tags
|
|
110
|
-
if (mData.categories) {
|
|
111
|
-
if (typeof mData.categories === 'string') {
|
|
112
|
-
result.addTags(mData.categories.toString().split(","));
|
|
113
|
-
}
|
|
114
|
-
else {
|
|
115
|
-
result.addTags(mData.categories);
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
if (mData.keywords) {
|
|
119
|
-
result.keywords = mData.keywords.toString().split(",");
|
|
120
|
-
}
|
|
121
|
-
if (mData.tags) {
|
|
122
|
-
result.addTags(mData.tags.toString().split(","));
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
else {
|
|
126
|
-
this.log.error("The following post does not exist: " + filePath);
|
|
127
|
-
result = undefined;
|
|
128
|
-
}
|
|
129
|
-
return result;
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
//# sourceMappingURL=fileDataProvider.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fileDataProvider.js","sourceRoot":"","sources":["../../src/data/fileDataProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAClC,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAGhC,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAC,cAAc,EAAC,MAAM,WAAW,CAAC;AAEzC,MAAM,OAAO,gBAAgB;IAK3B;QAJA,eAAU,GAAW,EAAE,CAAC;QACxB,YAAO,GAAgB,EAAE,CAAC;QAIxB,IAAI,CAAC,GAAG,GAAG,IAAI,cAAc,EAAE,CAAA;IACjC,CAAC;IAED,IAAI,CAAC,MAAc;QACjB,IAAI,MAAM,CAAC,IAAI,EAAE;YACf,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC;SAC/B;IACH,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,EAAU;QACtB,IAAI,MAAwB,CAAC;QAE7B,IAAI,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QAElC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACnB,IAAI,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE;gBACnC,MAAM,GAAG,IAAI,CAAC;aACf;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,IAAI,MAAc,CAAC;QAEnB,MAAM,mBAAmB,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QAEjD,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,UAAoB,EAAE,EAAE;YAC1D,OAAO,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;QAC9E,CAAC,CAAC;QAEF,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;YAC7B,IAAI,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;YAEhC,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;gBAC5B,IAAI,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;gBAEtC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;oBACxB,IAAI,YAAY,CAAC,IAAI,EAAE,mBAAmB,CAAC,EAAE;wBAC3C,IAAI,QAAQ,GAAG,SAAS,GAAG,GAAG,GAAG,IAAI,CAAC;wBACtC,IAAI,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;wBAC1C,IAAG,IAAI;4BAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;qBAClC;iBACF;aAEF;SACF;QAED,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QAEtB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,iBAAiB;QACrB,IAAI,MAAM,GAAG,IAAI,KAAK,EAAQ,CAAC;QAE/B,IAAI,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QAElC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACrB,IAAG,IAAI,CAAC,SAAS,EAAE;gBACjB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACnB;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAY;QACvB,IAAI,MAAM,CAAC;QAEX,IAAI,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QAEhC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACpC,IAAI,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAElB,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE;gBACxD,MAAM,GAAG,GAAG,CAAC;aACd;SACF;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QAElC,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,gBAAgB;QACpB,IAAI,KAAK,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAE3C,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAED,YAAY,CAAC,KAAkB;QAC7B,IAAI,MAAM,GAAG,IAAI,KAAK,EAAO,CAAC;QAE9B,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACnB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gBAC1B,IAAI,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;gBAEzD,IAAI,GAAG,IAAI,IAAI,EAAE;oBACf,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;oBACvB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;iBAClB;gBAED,IAAI,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC;gBAEzG,IAAI,CAAC,UAAU,EAAE;oBACf,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBACtB;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,WAAW,CAAC,GAAW;QACrB,OAAO,GAAG,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,QAAgB;QAC9B,IAAI,MAAwB,CAAC;QAE7B,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;YAEjC,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YAEpB,IAAI,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAEvC,IAAI,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YAE3B,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;YAErB,IAAI,KAAK,GAAQ,CAAC,CAAC,IAAI,CAAC;YAExB,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC;YAEvB,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;YAE3B,2BAA2B;YAC3B,IAAG,KAAK,CAAC,UAAU,EAAE;gBACnB,IAAI,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ,EAAG;oBACzC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;iBACxD;qBAAM;oBACL,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;iBAClC;aACF;YAGD,IAAI,KAAK,CAAC,QAAQ,EAAE;gBAClB,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;aACxD;YAED,IAAI,KAAK,CAAC,IAAI,EAAE;gBACd,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;aAClD;SACF;aAAM;YACL,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,qCAAqC,GAAG,QAAQ,CAAC,CAAC;YACjE,MAAM,GAAG,SAAS,CAAC;SACpB;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF"}
|
package/dist/generator.d.ts
DELETED