writr 1.6.5 → 1.6.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.
Files changed (49) hide show
  1. package/dist/cache.d.ts +18 -0
  2. package/dist/cache.js +76 -0
  3. package/dist/cache.js.map +1 -0
  4. package/dist/config.d.ts +26 -0
  5. package/dist/config.js +105 -0
  6. package/dist/config.js.map +1 -0
  7. package/dist/data/dataProviderInterface.d.ts +12 -0
  8. package/dist/data/dataProviderInterface.js +3 -0
  9. package/dist/data/dataProviderInterface.js.map +1 -0
  10. package/dist/data/dataService.d.ts +19 -0
  11. package/dist/data/dataService.js +139 -0
  12. package/dist/data/dataService.js.map +1 -0
  13. package/dist/data/fileDataProvider.d.ts +20 -0
  14. package/dist/data/fileDataProvider.js +134 -0
  15. package/dist/data/fileDataProvider.js.map +1 -0
  16. package/dist/index.d.ts +11 -0
  17. package/dist/index.js +69 -0
  18. package/dist/index.js.map +1 -0
  19. package/dist/post.d.ts +31 -0
  20. package/dist/post.js +195 -0
  21. package/dist/post.js.map +1 -0
  22. package/dist/render/atomRenderProvider.d.ts +8 -0
  23. package/dist/render/atomRenderProvider.js +55 -0
  24. package/dist/render/atomRenderProvider.js.map +1 -0
  25. package/dist/render/htmRenderlProvider.d.ts +14 -0
  26. package/dist/render/htmRenderlProvider.js +119 -0
  27. package/dist/render/htmRenderlProvider.js.map +1 -0
  28. package/dist/render/imageRenderProvider.d.ts +8 -0
  29. package/dist/render/imageRenderProvider.js +19 -0
  30. package/dist/render/imageRenderProvider.js.map +1 -0
  31. package/dist/render/jsonRenderProvider.d.ts +8 -0
  32. package/dist/render/jsonRenderProvider.js +29 -0
  33. package/dist/render/jsonRenderProvider.js.map +1 -0
  34. package/dist/render/renderProviderInterface.d.ts +5 -0
  35. package/dist/render/renderProviderInterface.js +3 -0
  36. package/dist/render/renderProviderInterface.js.map +1 -0
  37. package/dist/storage/fileStorageProvider.d.ts +11 -0
  38. package/dist/storage/fileStorageProvider.js +76 -0
  39. package/dist/storage/fileStorageProvider.js.map +1 -0
  40. package/dist/storage/storageProviderInterface.d.ts +7 -0
  41. package/dist/storage/storageProviderInterface.js +3 -0
  42. package/dist/storage/storageProviderInterface.js.map +1 -0
  43. package/dist/storage/storageService.d.ts +13 -0
  44. package/dist/storage/storageService.js +30 -0
  45. package/dist/storage/storageService.js.map +1 -0
  46. package/dist/tag.d.ts +9 -0
  47. package/dist/tag.js +39 -0
  48. package/dist/tag.js.map +1 -0
  49. package/package.json +1 -1
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FileStorageProvider = void 0;
4
+ const fs = require("fs-extra");
5
+ const winston_1 = require("winston");
6
+ class FileStorageProvider {
7
+ constructor() {
8
+ this.log = (0, winston_1.createLogger)({ transports: [new winston_1.transports.Console()] });
9
+ }
10
+ async get(path) {
11
+ let result;
12
+ try {
13
+ let buffer = await fs.readFile(path);
14
+ result = buffer.toString();
15
+ }
16
+ catch (error) {
17
+ this.log.error(error);
18
+ }
19
+ return result;
20
+ }
21
+ async set(path, data) {
22
+ let result = false;
23
+ if (path !== undefined && data !== undefined && path !== "" && data !== "") {
24
+ try {
25
+ await this.ensureFilePath(path);
26
+ await fs.writeFile(path, data);
27
+ result = true;
28
+ }
29
+ catch (error) {
30
+ /* istanbul ignore next */
31
+ this.log.error(error);
32
+ }
33
+ }
34
+ return result;
35
+ }
36
+ async delete(path) {
37
+ let result = false;
38
+ try {
39
+ await fs.remove(path);
40
+ result = true;
41
+ }
42
+ catch (error) {
43
+ /* istanbul ignore next */
44
+ this.log.error(error);
45
+ }
46
+ return result;
47
+ }
48
+ async copy(src, dest) {
49
+ let result = false;
50
+ try {
51
+ await fs.ensureDir(dest);
52
+ await fs.copy(src, dest);
53
+ result = true;
54
+ }
55
+ catch (error) {
56
+ /* istanbul ignore next */
57
+ this.log.error(error);
58
+ }
59
+ return result;
60
+ }
61
+ exists(path) {
62
+ return new Promise((resolve) => {
63
+ fs.exists(path, exist => {
64
+ resolve(exist);
65
+ });
66
+ });
67
+ }
68
+ async ensureFilePath(path) {
69
+ let pathList = path.split("/");
70
+ pathList.pop();
71
+ let dir = pathList.join("/");
72
+ await fs.ensureDir(dir);
73
+ }
74
+ }
75
+ exports.FileStorageProvider = FileStorageProvider;
76
+ //# sourceMappingURL=fileStorageProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fileStorageProvider.js","sourceRoot":"","sources":["../../src/storage/fileStorageProvider.ts"],"names":[],"mappings":";;;AAAA,+BAA+B;AAG/B,qCAAmD;AAEnD,MAAa,mBAAmB;IAI5B;QACI,IAAI,CAAC,GAAG,GAAG,IAAA,sBAAY,EAAC,EAAE,UAAU,EAAE,CAAC,IAAI,oBAAU,CAAC,OAAO,EAAE,CAAC,EAAC,CAAC,CAAC;IACvE,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,IAAY;QAClB,IAAI,MAA0B,CAAC;QAE/B,IAAI;YACA,IAAI,MAAM,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACrC,MAAM,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;SAC9B;QAAC,OAAO,KAAK,EAAE;YACZ,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SACzB;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,IAAa,EAAE,IAAa;QAClC,IAAI,MAAM,GAAG,KAAK,CAAC;QAEnB,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,EAAE,IAAI,IAAI,KAAK,EAAE,EAAE;YACxE,IAAI;gBACA,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;gBAChC,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBAC/B,MAAM,GAAG,IAAI,CAAC;aACjB;YAAC,OAAO,KAAK,EAAE;gBACZ,0BAA0B;gBAC1B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;aACzB;SACJ;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAY;QACrB,IAAI,MAAM,GAAG,KAAK,CAAC;QAEnB,IAAI;YACA,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACtB,MAAM,GAAG,IAAI,CAAC;SACjB;QAAC,OAAM,KAAK,EAAE;YACX,0BAA0B;YAC1B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SACzB;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,GAAU,EAAE,IAAW;QAC9B,IAAI,MAAM,GAAG,KAAK,CAAC;QAEnB,IAAI;YACA,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACzB,MAAM,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YACzB,MAAM,GAAG,IAAI,CAAC;SACjB;QAAC,OAAO,KAAK,EAAE;YACZ,0BAA0B;YAC1B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SACzB;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAY;QACf,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,EAAE;YACpC,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE;gBACpB,OAAO,CAAC,KAAK,CAAC,CAAC;YACnB,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,IAAW;QAC5B,IAAI,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/B,QAAQ,CAAC,GAAG,EAAE,CAAC;QAEf,IAAI,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAE7B,MAAM,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC;CACJ;AAnFD,kDAmFC"}
@@ -0,0 +1,7 @@
1
+ export interface StorageProviderInterface {
2
+ get(path: string): Promise<string | undefined>;
3
+ set(path: string, data: string): Promise<boolean>;
4
+ delete(path: string): Promise<boolean>;
5
+ copy(src: string, dest: string): Promise<boolean>;
6
+ exists(path: string): Promise<boolean>;
7
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=storageProviderInterface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storageProviderInterface.js","sourceRoot":"","sources":["../../src/storage/storageProviderInterface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,13 @@
1
+ import { StorageProviderInterface } from "../storage/storageProviderInterface";
2
+ import { Config } from "../config";
3
+ export declare class StorageService implements StorageProviderInterface {
4
+ config: Config;
5
+ provider: StorageProviderInterface;
6
+ constructor(config: Config);
7
+ get(path: string): Promise<string | undefined>;
8
+ set(path: string, data: string): Promise<boolean>;
9
+ delete(path: string): Promise<boolean>;
10
+ exists(path: string): Promise<boolean>;
11
+ copy(src: string, dest: string): Promise<boolean>;
12
+ getProvider(): StorageProviderInterface;
13
+ }
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StorageService = void 0;
4
+ const fileStorageProvider_1 = require("../storage/fileStorageProvider");
5
+ class StorageService {
6
+ constructor(config) {
7
+ this.config = config;
8
+ this.provider = new fileStorageProvider_1.FileStorageProvider();
9
+ }
10
+ async get(path) {
11
+ return this.getProvider().get(path);
12
+ }
13
+ async set(path, data) {
14
+ return this.getProvider().set(path, data);
15
+ }
16
+ async delete(path) {
17
+ return this.getProvider().delete(path);
18
+ }
19
+ async exists(path) {
20
+ return this.getProvider().exists(path);
21
+ }
22
+ async copy(src, dest) {
23
+ return this.getProvider().copy(src, dest);
24
+ }
25
+ getProvider() {
26
+ return this.provider;
27
+ }
28
+ }
29
+ exports.StorageService = StorageService;
30
+ //# sourceMappingURL=storageService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storageService.js","sourceRoot":"","sources":["../../src/storage/storageService.ts"],"names":[],"mappings":";;;AACA,wEAAqE;AAIrE,MAAa,cAAc;IAKvB,YAAY,MAAa;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,IAAI,yCAAmB,EAAE,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,IAAW;QACjB,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,IAAW,EAAE,IAAW;QAC9B,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAW;QACpB,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAW;QACpB,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,GAAU,EAAE,IAAW;QAC9B,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED,WAAW;QAEP,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;CACJ;AAlCD,wCAkCC"}
package/dist/tag.d.ts ADDED
@@ -0,0 +1,9 @@
1
+ import { Post } from "./post";
2
+ export declare class Tag {
3
+ name: string;
4
+ posts: Array<Post>;
5
+ constructor(name: string);
6
+ get id(): string;
7
+ toObject(): any;
8
+ static create(obj: any): Tag;
9
+ }
package/dist/tag.js ADDED
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Tag = void 0;
4
+ const post_1 = require("./post");
5
+ class Tag {
6
+ constructor(name) {
7
+ this.name = "";
8
+ this.posts = new Array();
9
+ this.name = name.trim();
10
+ }
11
+ get id() {
12
+ let result = "";
13
+ result = this.name.toLowerCase().replace(/[^a-z0-9+]+/gi, " ").trim();
14
+ result = result.split(" ").join("-");
15
+ return result;
16
+ }
17
+ toObject() {
18
+ let result = {};
19
+ result.name = this.name;
20
+ result.id = this.id;
21
+ result.posts = [];
22
+ this.posts.forEach((post) => {
23
+ result.posts.push(post.toObject());
24
+ });
25
+ return result;
26
+ }
27
+ static create(obj) {
28
+ let result = new Tag(obj.name);
29
+ if (obj.posts) {
30
+ for (let i = 0; i < obj.posts.length; i++) {
31
+ let p = post_1.Post.create(obj.posts[i]);
32
+ result.posts.push(p);
33
+ }
34
+ }
35
+ return result;
36
+ }
37
+ }
38
+ exports.Tag = Tag;
39
+ //# sourceMappingURL=tag.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tag.js","sourceRoot":"","sources":["../src/tag.ts"],"names":[],"mappings":";;;AAAA,iCAA8B;AAE9B,MAAa,GAAG;IAId,YAAY,IAAY;QAHxB,SAAI,GAAW,EAAE,CAAC;QAClB,UAAK,GAAgB,IAAI,KAAK,EAAQ,CAAC;QAGrC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC1B,CAAC;IAED,IAAI,EAAE;QACJ,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QACtE,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAErC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,QAAQ;QACN,IAAI,MAAM,GAAQ,EAAE,CAAC;QACrB,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACxB,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QACpB,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;QAElB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YAC1B,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,GAAQ;QACpB,IAAI,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAE/B,IAAI,GAAG,CAAC,KAAK,EAAE;YACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACzC,IAAI,CAAC,GAAG,WAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBAElC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aACtB;SACF;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AA3CD,kBA2CC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "writr",
3
- "version": "1.6.5",
3
+ "version": "1.6.6",
4
4
  "description": "A Simple to Use Markdown Blog",
5
5
  "main": "./dist/index",
6
6
  "types": "./dist/index",