writr 1.9.6 → 1.9.11

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 (84) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1 -1
  3. package/package.json +21 -21
  4. package/dist/cache.d.ts +0 -18
  5. package/dist/cache.js +0 -70
  6. package/dist/cache.js.map +0 -1
  7. package/dist/config.d.ts +0 -29
  8. package/dist/config.js +0 -104
  9. package/dist/config.js.map +0 -1
  10. package/dist/data/dataProviderInterface.d.ts +0 -12
  11. package/dist/data/dataProviderInterface.js +0 -2
  12. package/dist/data/dataProviderInterface.js.map +0 -1
  13. package/dist/data/dataService.d.ts +0 -19
  14. package/dist/data/dataService.js +0 -130
  15. package/dist/data/dataService.js.map +0 -1
  16. package/dist/data/fileDataProvider.d.ts +0 -20
  17. package/dist/data/fileDataProvider.js +0 -132
  18. package/dist/data/fileDataProvider.js.map +0 -1
  19. package/dist/generator.d.ts +0 -8
  20. package/dist/generator.js +0 -54
  21. package/dist/generator.js.map +0 -1
  22. package/dist/index.d.ts +0 -8
  23. package/dist/index.js +0 -80
  24. package/dist/index.js.map +0 -1
  25. package/dist/log.d.ts +0 -6
  26. package/dist/log.js +0 -13
  27. package/dist/log.js.map +0 -1
  28. package/dist/migrate/ghostMigrationProvider.d.ts +0 -9
  29. package/dist/migrate/ghostMigrationProvider.js +0 -65
  30. package/dist/migrate/ghostMigrationProvider.js.map +0 -1
  31. package/dist/migrate/jekyllMigrationProvider.d.ts +0 -4
  32. package/dist/migrate/jekyllMigrationProvider.js +0 -11
  33. package/dist/migrate/jekyllMigrationProvider.js.map +0 -1
  34. package/dist/migrate/mediumMigrationProvider.d.ts +0 -7
  35. package/dist/migrate/mediumMigrationProvider.js +0 -26
  36. package/dist/migrate/mediumMigrationProvider.js.map +0 -1
  37. package/dist/migrate/migrationProviderInterface.d.ts +0 -3
  38. package/dist/migrate/migrationProviderInterface.js +0 -2
  39. package/dist/migrate/migrationProviderInterface.js.map +0 -1
  40. package/dist/migrate/wordpressMigrationProvider.d.ts +0 -12
  41. package/dist/migrate/wordpressMigrationProvider.js +0 -103
  42. package/dist/migrate/wordpressMigrationProvider.js.map +0 -1
  43. package/dist/migrate.d.ts +0 -6
  44. package/dist/migrate.js +0 -34
  45. package/dist/migrate.js.map +0 -1
  46. package/dist/post.d.ts +0 -31
  47. package/dist/post.js +0 -189
  48. package/dist/post.js.map +0 -1
  49. package/dist/render/atomRenderProvider.d.ts +0 -8
  50. package/dist/render/atomRenderProvider.js +0 -51
  51. package/dist/render/atomRenderProvider.js.map +0 -1
  52. package/dist/render/htmRenderlProvider.d.ts +0 -14
  53. package/dist/render/htmRenderlProvider.js +0 -117
  54. package/dist/render/htmRenderlProvider.js.map +0 -1
  55. package/dist/render/imageRenderProvider.d.ts +0 -8
  56. package/dist/render/imageRenderProvider.js +0 -15
  57. package/dist/render/imageRenderProvider.js.map +0 -1
  58. package/dist/render/jsonRenderProvider.d.ts +0 -8
  59. package/dist/render/jsonRenderProvider.js +0 -24
  60. package/dist/render/jsonRenderProvider.js.map +0 -1
  61. package/dist/render/renderProviderInterface.d.ts +0 -5
  62. package/dist/render/renderProviderInterface.js +0 -2
  63. package/dist/render/renderProviderInterface.js.map +0 -1
  64. package/dist/serve.d.ts +0 -16
  65. package/dist/serve.js +0 -29
  66. package/dist/serve.js.map +0 -1
  67. package/dist/storage/fileStorageProvider.d.ts +0 -10
  68. package/dist/storage/fileStorageProvider.js +0 -62
  69. package/dist/storage/fileStorageProvider.js.map +0 -1
  70. package/dist/storage/storageProviderInterface.d.ts +0 -8
  71. package/dist/storage/storageProviderInterface.js +0 -2
  72. package/dist/storage/storageProviderInterface.js.map +0 -1
  73. package/dist/storage/storageService.d.ts +0 -12
  74. package/dist/storage/storageService.js +0 -28
  75. package/dist/storage/storageService.js.map +0 -1
  76. package/dist/tag.d.ts +0 -9
  77. package/dist/tag.js +0 -34
  78. package/dist/tag.js.map +0 -1
  79. package/dist/utils/parser.d.ts +0 -5
  80. package/dist/utils/parser.js +0 -37
  81. package/dist/utils/parser.js.map +0 -1
  82. package/dist/utils/setup.d.ts +0 -8
  83. package/dist/utils/setup.js +0 -75
  84. package/dist/utils/setup.js.map +0 -1
package/dist/migrate.js DELETED
@@ -1,34 +0,0 @@
1
- import { JekyllMigrationProvider } from "./migrate/jekyllMigrationProvider.js";
2
- import { WordpressMigrationProvider } from "./migrate/wordpressMigrationProvider.js";
3
- import { GhostMigrationProvider } from "./migrate/ghostMigrationProvider.js";
4
- import { MediumMigrationProvider } from "./migrate/mediumMigrationProvider.js";
5
- export class Migrate {
6
- constructor(provider) {
7
- switch (provider) {
8
- case "jekyll":
9
- this.provider = new JekyllMigrationProvider();
10
- break;
11
- case "wordpress":
12
- this.provider = new WordpressMigrationProvider();
13
- break;
14
- case "ghost":
15
- this.provider = new GhostMigrationProvider();
16
- break;
17
- case "medium":
18
- this.provider = new MediumMigrationProvider();
19
- break;
20
- default:
21
- throw new Error("Unknown migration provider: " + provider);
22
- }
23
- }
24
- async migrate(src, dest) {
25
- if (!src || !dest) {
26
- throw new Error("Source and destination must be specified");
27
- }
28
- await this.getProvider().migrate(src, dest);
29
- }
30
- getProvider() {
31
- return this.provider;
32
- }
33
- }
34
- //# sourceMappingURL=migrate.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"migrate.js","sourceRoot":"","sources":["../src/migrate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,uBAAuB,EAAC,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAC,0BAA0B,EAAC,MAAM,yCAAyC,CAAC;AACnF,OAAO,EAAC,sBAAsB,EAAC,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAC,uBAAuB,EAAC,MAAM,sCAAsC,CAAC;AAE7E,MAAM,OAAO,OAAO;IAGhB,YAAY,QAAgB;QACxB,QAAQ,QAAQ,EAAE;YACd,KAAK,QAAQ;gBACT,IAAI,CAAC,QAAQ,GAAG,IAAI,uBAAuB,EAAE,CAAC;gBAC9C,MAAM;YACV,KAAK,WAAW;gBACZ,IAAI,CAAC,QAAQ,GAAG,IAAI,0BAA0B,EAAE,CAAC;gBACjD,MAAM;YACV,KAAK,OAAO;gBACR,IAAI,CAAC,QAAQ,GAAG,IAAI,sBAAsB,EAAE,CAAC;gBAC7C,MAAM;YACV,KAAK,QAAQ;gBACT,IAAI,CAAC,QAAQ,GAAG,IAAI,uBAAuB,EAAE,CAAC;gBAC9C,MAAM;YACV;gBACI,MAAM,IAAI,KAAK,CAAC,8BAA8B,GAAG,QAAQ,CAAC,CAAC;SAClE;IACL,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,GAAW,EAAE,IAAY;QACnC,IAAG,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE;YACd,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;SAC/D;QACD,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAChD,CAAC;IAED,WAAW;QACP,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;CAEJ"}
package/dist/post.d.ts DELETED
@@ -1,31 +0,0 @@
1
- export declare class Post {
2
- keywords: Array<string>;
3
- tags: Array<string>;
4
- content: string;
5
- private _matter;
6
- permalink_default: string;
7
- permalink_date: string;
8
- permalink_ordinal: string;
9
- constructor();
10
- get id(): string;
11
- get date(): Date;
12
- get title(): string;
13
- set title(val: string);
14
- get author(): string;
15
- set author(val: string);
16
- get url(): string;
17
- set url(val: string);
18
- get matter(): any;
19
- set matter(val: any);
20
- getBody(): Promise<any>;
21
- get published(): boolean;
22
- set published(val: boolean);
23
- getDescription(): Promise<any>;
24
- getSummary(): Promise<any>;
25
- addTag(name: string): void;
26
- addTags(names: Array<string>): void;
27
- generateUrl(): void;
28
- parseUrl(url: string): string;
29
- toObject(): Promise<any>;
30
- static create(obj: any): Post;
31
- }
package/dist/post.js DELETED
@@ -1,189 +0,0 @@
1
- import { DateTime } from "luxon";
2
- import striptags from "striptags";
3
- import { Ecto } from "ecto";
4
- export class Post {
5
- constructor() {
6
- this.keywords = [];
7
- this.tags = [];
8
- this.content = "";
9
- this._matter = {};
10
- this.permalink_default = ":title";
11
- this.permalink_date = ":year/:month/:day/:title";
12
- this.permalink_ordinal = ":year/:y_day/:title";
13
- }
14
- get id() {
15
- return this.url;
16
- }
17
- get date() {
18
- if (Object.prototype.toString.call(this.matter.date) !== "[object Date]") {
19
- return DateTime.fromISO(this.matter.date).toJSDate();
20
- }
21
- else {
22
- return this.matter.date;
23
- }
24
- }
25
- get title() {
26
- return this.matter.title;
27
- }
28
- set title(val) {
29
- this.matter.title = val;
30
- this.generateUrl();
31
- }
32
- get author() {
33
- return this.matter.author;
34
- }
35
- set author(val) {
36
- this.matter.author = val;
37
- }
38
- get url() {
39
- if (!this.matter.url) {
40
- this.generateUrl();
41
- }
42
- return this.matter.url;
43
- }
44
- set url(val) {
45
- this.matter.url = val;
46
- }
47
- get matter() {
48
- return this._matter;
49
- }
50
- set matter(val) {
51
- this._matter = val;
52
- }
53
- async getBody() {
54
- if (!this.matter.body) {
55
- const ecto = new Ecto();
56
- this.matter.body = await ecto.render(this.content, undefined, 'markdown');
57
- }
58
- return this.matter.body;
59
- }
60
- get published() {
61
- if (this.matter.published === undefined) {
62
- this.matter.published = true;
63
- }
64
- return this.matter.published;
65
- }
66
- set published(val) {
67
- this.matter.published = val;
68
- }
69
- async getDescription() {
70
- if (this.matter.description === undefined) {
71
- this.matter.description = striptags(await this.getSummary());
72
- }
73
- return this.matter.description;
74
- }
75
- async getSummary() {
76
- if (this.matter.description) {
77
- this.matter.summary = this.matter.description;
78
- }
79
- if (!this.matter.summary) {
80
- let body = await this.getBody();
81
- let cheerio = await import("cheerio");
82
- let html = cheerio.load(body);
83
- let summaryLength = 3;
84
- this.matter.summary = "";
85
- html("p").each((i, elem) => {
86
- if (i < summaryLength) {
87
- this.matter.summary = this.matter.summary + html.html(elem);
88
- }
89
- });
90
- }
91
- return this.matter.summary;
92
- }
93
- addTag(name) {
94
- let exists = false;
95
- if (name) {
96
- this.tags.forEach((tag) => {
97
- if (tag === name) {
98
- exists = true;
99
- }
100
- });
101
- if (!exists) {
102
- this.tags.push(name);
103
- }
104
- }
105
- }
106
- addTags(names) {
107
- names.forEach((name) => {
108
- if (name) {
109
- this.addTag(name);
110
- }
111
- });
112
- }
113
- generateUrl() {
114
- if (!this.matter.url) {
115
- //set default
116
- let url = this.permalink_default;
117
- //check slug first
118
- if (this.matter.slug) {
119
- url = this.matter.slug;
120
- }
121
- //check permalink second
122
- if (this.matter.permalink) {
123
- url = this.matter.permalink;
124
- }
125
- this.matter.url = this.parseUrl(url);
126
- }
127
- }
128
- parseUrl(url) {
129
- let date = DateTime.fromJSDate(this.date);
130
- //title
131
- let title = this._matter.title.toLowerCase().replace(/[^a-z0-9+]+/gi, " ").trim();
132
- title = title.split(" ").join("-");
133
- //do styles
134
- if (url.toLowerCase().trim() === "default") {
135
- url = this.permalink_default;
136
- }
137
- if (url.toLowerCase().trim() === "date") {
138
- url = this.permalink_date;
139
- }
140
- if (url.toLowerCase().trim() === "ordinal") {
141
- url = this.permalink_ordinal;
142
- }
143
- url = url.split(":year").join(date.toFormat("yyyy"));
144
- url = url.split(":short_year").join(date.toFormat("yy"));
145
- url = url.split(":month").join(date.toFormat("LL"));
146
- url = url.split(":i_month").join(date.toFormat("L"));
147
- url = url.split(":short_month").join(date.toFormat("LLL"));
148
- url = url.split(":long_month").join(date.toFormat("LLLL"));
149
- url = url.split(":day").join(date.toFormat("dd"));
150
- url = url.split(":i_day").join(date.toFormat("d"));
151
- url = url.split(":y_day").join(date.toFormat("o"));
152
- url = url.split(":short_day").join(date.toFormat("ccc"));
153
- url = url.split(":long_day").join(date.toFormat("cccc"));
154
- url = url.split(":week").join(date.toFormat("W"));
155
- url = url.split(":hour").join(date.toFormat("HH"));
156
- url = url.split(":minute").join(date.toFormat("mm"));
157
- url = url.split(":second").join(date.toFormat("ss"));
158
- url = url.split(":title").join(title);
159
- //url remove white spaces
160
- url = url.split(" ").join("-");
161
- //url remove `/`
162
- if (url.startsWith("/")) {
163
- url = url.substring(1);
164
- }
165
- return url;
166
- }
167
- async toObject() {
168
- let result = {};
169
- result.keywords = this.keywords;
170
- result.tags = this.tags;
171
- result.content = this.content;
172
- result.id = this.id;
173
- result.date = this.date;
174
- result.title = this.title;
175
- result.author = this.author;
176
- result.url = this.url;
177
- result.body = await this.getBody();
178
- result.summary = await this.getSummary();
179
- result.description = await this.getDescription();
180
- result.metaData = this._matter;
181
- result.matter = this._matter;
182
- result.published = this.published;
183
- return result;
184
- }
185
- static create(obj) {
186
- return Object.assign(new Post(), obj);
187
- }
188
- }
189
- //# sourceMappingURL=post.js.map
package/dist/post.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"post.js","sourceRoot":"","sources":["../src/post.ts"],"names":[],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- import { DataService } from "../data/dataService.js";
2
- import { Config } from "../config.js";
3
- import { RenderProviderInterface } from "./renderProviderInterface.js";
4
- export declare class AtomRenderProvider implements RenderProviderInterface {
5
- log: any;
6
- constructor();
7
- render(data: DataService, config: Config): Promise<boolean>;
8
- }
@@ -1,51 +0,0 @@
1
- import { Feed } from "feed";
2
- import { StorageService } from "../storage/storageService.js";
3
- import { ConsoleMessage } from "../log.js";
4
- export class AtomRenderProvider {
5
- constructor() {
6
- this.log = new ConsoleMessage();
7
- }
8
- async render(data, config) {
9
- let result = true;
10
- let feedConfig = {};
11
- if (config.title) {
12
- feedConfig.title = config.title;
13
- }
14
- feedConfig.generator = "Writr";
15
- if (config.url) {
16
- feedConfig.id = config.url + "/atom.xml";
17
- feedConfig.link = config.url + "/atom.xml";
18
- feedConfig.favicon = config.url + "/favicon.ico";
19
- feedConfig.feedLinks = {
20
- atom: config.url + "/atom.xml"
21
- };
22
- }
23
- feedConfig.author = {};
24
- if (config.authorName) {
25
- feedConfig.author.name = config.authorName;
26
- }
27
- if (config.authorEmail) {
28
- feedConfig.author.email = config.authorEmail;
29
- }
30
- feedConfig.copyright = new Date().getFullYear().toString() + " All Rights Reserved";
31
- let atomFeed = new Feed(feedConfig);
32
- //add in the posts
33
- let posts = await data.getPostsByCount(config.indexCount);
34
- for (let post of posts) {
35
- let feedPost = {};
36
- feedPost.title = post.title;
37
- feedPost.id = config.url + "/" + post.url;
38
- feedPost.link = config.url + "/" + post.url;
39
- feedPost.description = await post.getDescription();
40
- feedPost.content = await post.getBody();
41
- feedPost.author = feedConfig.author;
42
- feedPost.date = post.date;
43
- feedPost.published = post.date;
44
- atomFeed.addItem(feedPost);
45
- }
46
- //write the feed atom.xml
47
- await new StorageService().set(config.output + "/atom.xml", atomFeed.atom1());
48
- return result;
49
- }
50
- }
51
- //# sourceMappingURL=atomRenderProvider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"atomRenderProvider.js","sourceRoot":"","sources":["../../src/render/atomRenderProvider.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAC,cAAc,EAAC,MAAM,WAAW,CAAC;AAEzC,MAAM,OAAO,kBAAkB;IAE3B;QACI,IAAI,CAAC,GAAG,GAAG,IAAI,cAAc,EAAE,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAiB,EAAE,MAAc;QAC1C,IAAI,MAAM,GAAG,IAAI,CAAC;QAElB,IAAI,UAAU,GAAQ,EAAE,CAAC;QAEzB,IAAG,MAAM,CAAC,KAAK,EAAE;YACb,UAAU,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;SACnC;QAED,UAAU,CAAC,SAAS,GAAG,OAAO,CAAC;QAE/B,IAAG,MAAM,CAAC,GAAG,EAAE;YACX,UAAU,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,GAAG,WAAW,CAAC;YACzC,UAAU,CAAC,IAAI,GAAG,MAAM,CAAC,GAAG,GAAG,WAAW,CAAC;YAC3C,UAAU,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,GAAG,cAAc,CAAC;YAEjD,UAAU,CAAC,SAAS,GAAG;gBACnB,IAAI,EAAE,MAAM,CAAC,GAAG,GAAG,WAAW;aACjC,CAAA;SACJ;QAED,UAAU,CAAC,MAAM,GAAG,EAAE,CAAC;QAEvB,IAAG,MAAM,CAAC,UAAU,EAAE;YAClB,UAAU,CAAC,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC;SAC9C;QAED,IAAG,MAAM,CAAC,WAAW,EAAE;YACnB,UAAU,CAAC,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC;SAChD;QAED,UAAU,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,GAAG,sBAAsB,CAAC;QAEpF,IAAI,QAAQ,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC;QAEpC,kBAAkB;QAClB,IAAI,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAE1D,KAAI,IAAI,IAAI,IAAI,KAAK,EAAE;YAEnB,IAAI,QAAQ,GAAQ,EAAE,CAAC;YACvB,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YAC5B,QAAQ,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;YAC1C,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;YAC5C,QAAQ,CAAC,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;YACnD,QAAQ,CAAC,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;YACxC,QAAQ,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;YACpC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YAC1B,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC;YAE/B,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;SAC9B;QAED,yBAAyB;QACzB,MAAM,IAAI,cAAc,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,WAAW,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;QAE9E,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ"}
@@ -1,14 +0,0 @@
1
- import { DataService } from "../data/dataService.js";
2
- import { Config } from "../config.js";
3
- import { Post } from "../post.js";
4
- import { Tag } from "../tag.js";
5
- import { RenderProviderInterface } from "./renderProviderInterface.js";
6
- export declare class HtmlRenderProvider implements RenderProviderInterface {
7
- log: any;
8
- constructor();
9
- render(data: DataService, config: Config): Promise<boolean | undefined>;
10
- renderHome(data: DataService, config: Config, outputPath?: string): Promise<string>;
11
- renderTag(tag: Tag, tags: Array<Tag>, config: Config, outputPath?: string): Promise<string>;
12
- renderPost(post: Post, tags: Array<Tag>, config: Config, previousPost?: Post, nextPost?: Post, outputPath?: string): Promise<string>;
13
- getTemplatePath(templatesPath: string, templateName: string): Promise<string>;
14
- }
@@ -1,117 +0,0 @@
1
- import fs from "fs-extra";
2
- import { Ecto } from "ecto";
3
- import { ConsoleMessage } from "../log.js";
4
- import moment from 'moment';
5
- const ecto = new Ecto({ defaultEngine: "handlebars" });
6
- export class HtmlRenderProvider {
7
- constructor() {
8
- this.log = new ConsoleMessage();
9
- ecto.handlebars.opts = { allowProtoPropertiesByDefault: true };
10
- ecto.handlebars.engine.registerHelper('formatDate', (date, format, utc) => (utc === true) ?
11
- moment(date).utc().format(format) : moment(date).format(format));
12
- }
13
- async render(data, config) {
14
- let result = true;
15
- let output = config.output;
16
- let posts = await data.getPublishedPosts();
17
- let unpublishedPosts = await data.getPosts();
18
- let tags = await data.getPublishedTags();
19
- let unpublishedTags = await data.getTags();
20
- //posts
21
- let previousPost;
22
- let nextPost;
23
- //published posts
24
- for (const post of posts) {
25
- const index = posts.indexOf(post);
26
- if (index === 0) {
27
- previousPost = posts[posts.length - 1];
28
- }
29
- else {
30
- previousPost = posts[index - 1];
31
- }
32
- if (index === posts.length - 1) {
33
- nextPost = posts[0];
34
- }
35
- else {
36
- nextPost = posts[index + 1];
37
- }
38
- let postPath = output + "/" + post.id + "/index.html";
39
- await this.renderPost(post, tags, config, previousPost, nextPost, postPath);
40
- }
41
- //unpublished posts
42
- for (const post of unpublishedPosts) {
43
- const index = unpublishedPosts.indexOf(post);
44
- if (index === 0) {
45
- previousPost = posts[posts.length - 1];
46
- }
47
- else {
48
- previousPost = posts[index - 1];
49
- }
50
- if (index === posts.length - 1) {
51
- nextPost = posts[0];
52
- }
53
- else {
54
- nextPost = posts[index + 1];
55
- }
56
- if (post.published === false) {
57
- let postPath = output + "/" + post.id + "/index.html";
58
- await this.renderPost(post, unpublishedTags, config, previousPost, nextPost, postPath);
59
- }
60
- }
61
- //tags
62
- for (const tag of tags) {
63
- let tagOutputPath = output + "/tags/" + tag.id + "/index.html";
64
- await this.renderTag(tag, tags, config, tagOutputPath);
65
- }
66
- //home
67
- await this.renderHome(data, config, output + "/index.html");
68
- return result;
69
- }
70
- //render
71
- async renderHome(data, config, outputPath) {
72
- let postList = await data.getPublishedPostsByCount(config.indexCount);
73
- let tagList = await data.getPublishedTags();
74
- let dataObject = { tags: tagList, posts: postList };
75
- let rootTemplatePath = config.path + "/templates/";
76
- let templateName = await this.getTemplatePath(config.path + "/templates", "index");
77
- let homeTemplatePath = rootTemplatePath + templateName;
78
- return await ecto.renderFromFile(homeTemplatePath, dataObject, rootTemplatePath, outputPath);
79
- }
80
- async renderTag(tag, tags, config, outputPath) {
81
- let result = "";
82
- if (tag) {
83
- let dataObject = { tag: tag, tags: tags };
84
- let rootTemplatePath = config.path + "/templates/";
85
- let templateName = await this.getTemplatePath(config.path + "/templates", "tag");
86
- let templatePath = rootTemplatePath + templateName;
87
- result = await ecto.renderFromFile(templatePath, dataObject, rootTemplatePath, outputPath);
88
- }
89
- return result;
90
- }
91
- async renderPost(post, tags, config, previousPost, nextPost, outputPath) {
92
- let result = "";
93
- if (post) {
94
- let dataObject = { post: await post.toObject(), previousPost: previousPost, nextPost: nextPost, tags: tags };
95
- let rootTemplatePath = config.path + "/templates/";
96
- let templateID = "post";
97
- if (post.matter.layout) {
98
- templateID = post.matter.layout;
99
- }
100
- let templateName = await this.getTemplatePath(config.path + "/templates", templateID);
101
- let templatePath = rootTemplatePath + templateName;
102
- result = await ecto.renderFromFile(templatePath, dataObject, rootTemplatePath, outputPath);
103
- }
104
- return result;
105
- }
106
- async getTemplatePath(templatesPath, templateName) {
107
- let result = "";
108
- let templates = await fs.readdir(templatesPath);
109
- templates.forEach((file) => {
110
- if (file.split(".")[0].toLowerCase() === templateName.toLowerCase()) {
111
- result = file;
112
- }
113
- });
114
- return result;
115
- }
116
- }
117
- //# sourceMappingURL=htmRenderlProvider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"htmRenderlProvider.js","sourceRoot":"","sources":["../../src/render/htmRenderlProvider.ts"],"names":[],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- import { DataService } from "../data/dataService.js";
2
- import { Config } from "../config.js";
3
- import { RenderProviderInterface } from "./renderProviderInterface.js";
4
- export declare class ImageRenderProvider implements RenderProviderInterface {
5
- log: any;
6
- constructor();
7
- render(data: DataService, config: Config): Promise<boolean | undefined>;
8
- }
@@ -1,15 +0,0 @@
1
- import { StorageService } from "../storage/storageService.js";
2
- import { ConsoleMessage } from "../log.js";
3
- export class ImageRenderProvider {
4
- constructor() {
5
- this.log = new ConsoleMessage();
6
- }
7
- async render(data, config) {
8
- let result = true;
9
- let output = config.output;
10
- //images
11
- await new StorageService().copy(config.path + "/images", output + "/images");
12
- return result;
13
- }
14
- }
15
- //# sourceMappingURL=imageRenderProvider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"imageRenderProvider.js","sourceRoot":"","sources":["../../src/render/imageRenderProvider.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAC,cAAc,EAAC,MAAM,WAAW,CAAC;AAEzC,MAAM,OAAO,mBAAmB;IAG5B;QACI,IAAI,CAAC,GAAG,GAAG,IAAI,cAAc,EAAE,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAiB,EAAE,MAAc;QAC1C,IAAI,MAAM,GAAa,IAAI,CAAC;QAE5B,IAAI,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAE3B,QAAQ;QACR,MAAM,IAAI,cAAc,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,SAAS,EAAG,MAAM,GAAG,SAAS,CAAC,CAAC;QAE9E,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ"}
@@ -1,8 +0,0 @@
1
- import { RenderProviderInterface } from "./renderProviderInterface.js";
2
- import { DataService } from "../data/dataService.js";
3
- import { Config } from "../config.js";
4
- export declare class JSONRenderProvider implements RenderProviderInterface {
5
- log: any;
6
- constructor();
7
- render(data: DataService, config: Config): Promise<boolean | undefined>;
8
- }
@@ -1,24 +0,0 @@
1
- import { StorageService } from "../storage/storageService.js";
2
- import { ConsoleMessage } from "../log.js";
3
- export class JSONRenderProvider {
4
- constructor() {
5
- this.log = new ConsoleMessage();
6
- }
7
- async render(data, config) {
8
- let obj = {};
9
- obj.posts = new Array();
10
- obj.tags = new Array();
11
- let posts = await data.getPosts();
12
- let tags = await data.getTags();
13
- for (let post of posts) {
14
- let postObj = await post.toObject();
15
- obj.posts.push(postObj);
16
- }
17
- for (let tag of tags) {
18
- obj.tags.push(await tag.toObject());
19
- }
20
- await new StorageService().set(config.output + "/data.json", JSON.stringify(obj));
21
- return true;
22
- }
23
- }
24
- //# sourceMappingURL=jsonRenderProvider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"jsonRenderProvider.js","sourceRoot":"","sources":["../../src/render/jsonRenderProvider.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAC,cAAc,EAAC,MAAM,WAAW,CAAC;AAEzC,MAAM,OAAO,kBAAkB;IAG3B;QACI,IAAI,CAAC,GAAG,GAAG,IAAI,cAAc,EAAE,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAiB,EAAE,MAAc;QAC1C,IAAI,GAAG,GAAQ,EAAE,CAAC;QAClB,GAAG,CAAC,KAAK,GAAG,IAAI,KAAK,EAAQ,CAAC;QAC9B,GAAG,CAAC,IAAI,GAAG,IAAI,KAAK,EAAO,CAAC;QAE5B,IAAI,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClC,IAAI,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QAEhC,KAAK,IAAI,IAAI,IAAI,KAAK,EAAE;YACpB,IAAI,OAAO,GAAQ,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;YACzC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SAC3B;QAED,KAAK,IAAI,GAAG,IAAI,IAAI,EAAE;YAClB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;SACvC;QAED,MAAM,IAAI,cAAc,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;QAElF,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ"}
@@ -1,5 +0,0 @@
1
- import { DataService } from "../data/dataService.js";
2
- import { Config } from "../config.js";
3
- export interface RenderProviderInterface {
4
- render(data: DataService, config: Config): Promise<Boolean | undefined>;
5
- }
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=renderProviderInterface.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"renderProviderInterface.js","sourceRoot":"","sources":["../../src/render/renderProviderInterface.ts"],"names":[],"mappings":""}
package/dist/serve.d.ts DELETED
@@ -1,16 +0,0 @@
1
- import { SiteGenerator } from "./generator.js";
2
- type Params = {
3
- output: string;
4
- port: string;
5
- watch: boolean;
6
- path: string;
7
- };
8
- export declare class Serve {
9
- bs: any;
10
- params: Params;
11
- generator: SiteGenerator;
12
- constructor(options: any);
13
- buildAndReload(): Promise<void>;
14
- run(): void;
15
- }
16
- export {};
package/dist/serve.js DELETED
@@ -1,29 +0,0 @@
1
- import browserSync from 'browser-sync';
2
- import { SiteGenerator } from "./generator.js";
3
- export class Serve {
4
- constructor(options) {
5
- this.bs = browserSync.create();
6
- this.params = options.opts();
7
- this.generator = new SiteGenerator(options);
8
- }
9
- async buildAndReload() {
10
- await this.generator.run();
11
- this.bs.reload();
12
- }
13
- run() {
14
- const { output, port, watch, path } = this.params;
15
- const baseDir = `${process.cwd()}/${output}`;
16
- if (watch) {
17
- this.bs.watch(`${process.cwd()}/${path}/*.md`, async () => await this.buildAndReload());
18
- }
19
- this.bs.init({
20
- server: {
21
- baseDir,
22
- },
23
- ui: false,
24
- logPrefix: "Writr",
25
- port: parseInt(port),
26
- });
27
- }
28
- }
29
- //# sourceMappingURL=serve.js.map
package/dist/serve.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"serve.js","sourceRoot":"","sources":["../src/serve.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,cAAc,CAAC;AACvC,OAAO,EAAC,aAAa,EAAC,MAAM,gBAAgB,CAAC;AAS7C,MAAM,OAAO,KAAK;IAMjB,YAAY,OAAY;QACvB,IAAI,CAAC,EAAE,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC;QAC/B,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,cAAc;QACnB,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC;IAClB,CAAC;IAED,GAAG;QACF,MAAM,EAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QAChD,MAAM,OAAO,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,IAAI,MAAM,EAAE,CAAC;QAE7C,IAAG,KAAK,EAAE;YACT,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,GAAG,EAAE,IAAI,IAAI,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;SACxF;QAED,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;YACZ,MAAM,EAAE;gBACP,OAAO;aACP;YACD,EAAE,EAAE,KAAK;YACT,SAAS,EAAE,OAAO;YAClB,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC;SACpB,CAAC,CAAC;IACJ,CAAC;CAED"}
@@ -1,10 +0,0 @@
1
- import { StorageProviderInterface } from "./storageProviderInterface.js";
2
- export declare class FileStorageProvider implements StorageProviderInterface {
3
- get(path: string): Promise<string | undefined>;
4
- set(path?: string, data?: string): Promise<boolean>;
5
- delete(path: string): Promise<boolean>;
6
- copy(src: string, dest: string): Promise<boolean>;
7
- exists(path: string): Promise<boolean>;
8
- ensureFilePath(path: string): Promise<void>;
9
- readDir(path: string): string[];
10
- }