writr 1.9.12 → 2.0.1
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 +76 -135
- package/bin/writr.mjs +8 -0
- package/dist/builder.d.ts +33 -0
- package/dist/builder.js +181 -0
- package/dist/console.d.ts +22 -0
- package/dist/console.js +120 -0
- package/dist/github.d.ts +22 -0
- package/dist/github.js +74 -0
- package/dist/helpers/markdown.d.ts +10 -0
- package/dist/helpers/markdown.js +24 -0
- package/dist/helpers.d.ts +7 -0
- package/dist/helpers.js +58 -0
- package/dist/options.d.ts +12 -0
- package/dist/options.js +47 -0
- package/dist/writr.d.ts +23 -0
- package/dist/writr.js +153 -0
- package/init/favicon.svg +1 -0
- package/init/logo.png +0 -0
- package/init/variables.css +30 -0
- package/init/writr.config.cjs +10 -0
- package/package.json +44 -66
- package/template/css/highlight/highlight.min.js +1433 -0
- package/template/css/highlight/styles/base16/dracula.min.css +7 -0
- package/template/css/home.css +307 -0
- package/template/css/index.css +919 -0
- package/template/includes/footer.hbs +10 -0
- package/template/includes/header.hbs +17 -0
- package/template/includes/landing/content.hbs +63 -0
- package/template/includes/landing/hero.hbs +3 -0
- package/template/includes/scripts.hbs +4 -0
- package/template/index.hbs +16 -0
- package/template/releases.hbs +45 -0
- package/bin/writr.js +0 -7
- 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/init/article-complex.md +0 -40
- package/init/article-ejs.md +0 -40
- package/init/article-unpublished.md +0 -11
- package/init/article1-simple.md +0 -13
- package/init/article1.md +0 -11
- package/init/article2.md +0 -14
- package/init/big-content.md +0 -11
- package/init/config.json +0 -9
- package/init/images/Introducing Docula 1.png +0 -0
- package/init/images/Introducing Docula 2.jpeg +0 -0
- package/init/images/Introducing Docula 3.png +0 -0
- package/init/images/Introducing Docula 4.png +0 -0
- package/init/permalink-test.md +0 -13
- package/init/templates/index.hjs +0 -13
- package/init/templates/partials/header.hjs +0 -2
- package/init/templates/post.hjs +0 -19
- package/init/templates/post2.hjs +0 -17
- package/init/templates/post3.ejs +0 -7
- package/init/templates/tag.hjs +0 -9
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
<meta charset="UTF-8" />
|
|
2
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
3
|
+
<link rel="stylesheet" href="/css/variables.css" />
|
|
4
|
+
<link rel="stylesheet" href="/css/index.css" />
|
|
5
|
+
<link rel="stylesheet" href="/css/home.css" />
|
|
6
|
+
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
|
7
|
+
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
|
|
8
|
+
<link
|
|
9
|
+
href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;600;700&display=swap"
|
|
10
|
+
rel="stylesheet"
|
|
11
|
+
/>
|
|
12
|
+
<link
|
|
13
|
+
rel="stylesheet"
|
|
14
|
+
href="https://cdnjs.cloudflare.com/ajax/libs/github-fork-ribbon-css/0.2.3/gh-fork-ribbon.min.css"
|
|
15
|
+
/>
|
|
16
|
+
<link rel="stylesheet" href="/css/highlight/styles/base16/dracula.min.css" />
|
|
17
|
+
<link rel="icon" href="/favicon.ico" />
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
<article class="home-container">
|
|
2
|
+
<div class="content">{{{content}}}</div>
|
|
3
|
+
|
|
4
|
+
{{#if github}}
|
|
5
|
+
{{#if github.contributors}}
|
|
6
|
+
<div class="content-container">
|
|
7
|
+
<h2 class="home-title">Contributors</h2>
|
|
8
|
+
<div class="facepile-container">
|
|
9
|
+
<div class="facepile">
|
|
10
|
+
{{#each github.contributors}}
|
|
11
|
+
<a
|
|
12
|
+
href="{{html_url}}"
|
|
13
|
+
target="_blank"
|
|
14
|
+
title="{{login}}"
|
|
15
|
+
rel="noopener noreferrer"
|
|
16
|
+
>
|
|
17
|
+
<img src="{{avatar_url}}" alt="{{login}}" />
|
|
18
|
+
</a>
|
|
19
|
+
{{/each}}
|
|
20
|
+
</div>
|
|
21
|
+
</div>
|
|
22
|
+
</div>
|
|
23
|
+
{{/if}}
|
|
24
|
+
|
|
25
|
+
{{#if github.releases}}
|
|
26
|
+
<div class="content-container">
|
|
27
|
+
<h2 class="home-title">Latest's Releases</h2>
|
|
28
|
+
{{#each github.releases as |release|}}
|
|
29
|
+
{{#if (lt @index 3)}}
|
|
30
|
+
<div class="release">
|
|
31
|
+
<div class="release-header">
|
|
32
|
+
<a
|
|
33
|
+
class="release-title"
|
|
34
|
+
href="{{release.html_url}}"
|
|
35
|
+
target="_blank"
|
|
36
|
+
rel="noopener noreferrer"
|
|
37
|
+
>{{release.name}}</a>
|
|
38
|
+
<span class="release-date">{{#moment
|
|
39
|
+
release.published_at "MMMM DD, yyyy"
|
|
40
|
+
}}{{/moment}}
|
|
41
|
+
</span>
|
|
42
|
+
</div>
|
|
43
|
+
<div class="release-body">
|
|
44
|
+
{{#if release.body}}
|
|
45
|
+
{{#markdown}}{{release.body}}{{/markdown}}
|
|
46
|
+
{{/if}}
|
|
47
|
+
</div>
|
|
48
|
+
</div>
|
|
49
|
+
{{/if}}
|
|
50
|
+
{{/each}}
|
|
51
|
+
|
|
52
|
+
{{#if (gt github.releases.length 6)}}
|
|
53
|
+
<div>
|
|
54
|
+
<a class="release-btn" href="/releases">
|
|
55
|
+
All Releases
|
|
56
|
+
<span>→</span>
|
|
57
|
+
</a>
|
|
58
|
+
</div>
|
|
59
|
+
{{/if}}
|
|
60
|
+
</div>
|
|
61
|
+
{{/if}}
|
|
62
|
+
{{/if}}
|
|
63
|
+
</article>
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
{{> header }}
|
|
5
|
+
<title>{{ siteTitle }}</title>
|
|
6
|
+
</head>
|
|
7
|
+
|
|
8
|
+
<body>
|
|
9
|
+
{{> landing/hero }}
|
|
10
|
+
<a class="github-fork-ribbon" href="https://github.com/jaredwray/writr" data-ribbon="Fork me on GitHub" title="Fork me on GitHub">Fork me on GitHub</a>
|
|
11
|
+
{{> landing/content }}
|
|
12
|
+
{{> footer}}
|
|
13
|
+
|
|
14
|
+
{{> scripts }}
|
|
15
|
+
</body>
|
|
16
|
+
</html>
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
{{> header }}
|
|
5
|
+
<title>{{siteTitle}} Releases</title>
|
|
6
|
+
</head>
|
|
7
|
+
|
|
8
|
+
<body>
|
|
9
|
+
{{> landing/hero }}
|
|
10
|
+
<a class="github-fork-ribbon" href="https://github.com/jaredwray/writr" data-ribbon="Fork me on GitHub" title="Fork me on GitHub">Fork me on GitHub</a>
|
|
11
|
+
<main class="home-container">
|
|
12
|
+
<div class="content-container versions-container">
|
|
13
|
+
<h2 class="home-title">Releases</h2>
|
|
14
|
+
{{#if github}}
|
|
15
|
+
{{#if github.releases}}
|
|
16
|
+
{{#each github.releases as |release|}}
|
|
17
|
+
<div class="release">
|
|
18
|
+
<div class="release-header">
|
|
19
|
+
<a
|
|
20
|
+
class="release-title"
|
|
21
|
+
href="{{release.html_url}}"
|
|
22
|
+
target="_blank"
|
|
23
|
+
rel="noopener noreferrer"
|
|
24
|
+
>{{release.name}}</a>
|
|
25
|
+
<span class="release-date">{{#moment
|
|
26
|
+
release.published_at "MMMM DD, yyyy"
|
|
27
|
+
}}{{/moment}}
|
|
28
|
+
</span>
|
|
29
|
+
</div>
|
|
30
|
+
<div class="release-body">
|
|
31
|
+
{{#if release.body}}
|
|
32
|
+
{{#markdown}}{{release.body}}{{/markdown}}
|
|
33
|
+
{{/if}}
|
|
34
|
+
</div>
|
|
35
|
+
</div>
|
|
36
|
+
{{/each}}
|
|
37
|
+
{{/if}}
|
|
38
|
+
{{/if}}
|
|
39
|
+
</div>
|
|
40
|
+
</main>
|
|
41
|
+
{{> footer}}
|
|
42
|
+
|
|
43
|
+
{{> scripts }}
|
|
44
|
+
</body>
|
|
45
|
+
</html>
|
package/bin/writr.js
DELETED
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
|
-
}
|