@rr0/cms 0.3.21 → 0.3.23
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/dist/CMSGenerator.test.js +1 -1
- package/dist/DataContentVisitor.d.ts +1 -0
- package/dist/DataContentVisitor.js +21 -19
- package/dist/science/crypto/ufo/enquete/dossier/CaseFactory.js +1 -1
- package/dist/science/crypto/ufo/enquete/dossier/CaseService.js +1 -1
- package/dist/time/SsiTitleReplaceCommand.js +3 -2
- package/dist/time/TimeService.js +3 -0
- package/package.json +4 -3
|
@@ -13,6 +13,7 @@ export declare class DataContentVisitor implements ContentVisitor {
|
|
|
13
13
|
constructor(service: AllDataService, eventRenderer: EventRenderer<RR0Event>, timeElementFactory: TimeElementFactory);
|
|
14
14
|
visit(context: HtmlRR0Context): Promise<void>;
|
|
15
15
|
protected process(context: HtmlRR0Context, data: RR0Data): Promise<void>;
|
|
16
|
+
protected processEvent(context: HtmlRR0Context, event: RR0Event, data: RR0Data): Promise<void>;
|
|
16
17
|
protected timeParagraph(context: HtmlRR0Context, event: RR0Event): {
|
|
17
18
|
eventP: HTMLParagraphElement;
|
|
18
19
|
timeEl: HTMLElement;
|
|
@@ -27,29 +27,31 @@ export class DataContentVisitor {
|
|
|
27
27
|
this.processTitle(context, data);
|
|
28
28
|
this.processURL(context, data);
|
|
29
29
|
const events = data.events.sort((event1, event2) => event1.time ? event2.time ? event1.time.isBefore(event2.time) ? -1 : 1 : -1 : 1);
|
|
30
|
-
const doc = context.file.document;
|
|
31
30
|
for (const event of events) {
|
|
32
|
-
|
|
33
|
-
case "birth":
|
|
34
|
-
await this.processBirth(context, event, data);
|
|
35
|
-
break;
|
|
36
|
-
case "book":
|
|
37
|
-
await this.processBook(context, event);
|
|
38
|
-
break;
|
|
39
|
-
case "image":
|
|
40
|
-
await this.processImage(context, event);
|
|
41
|
-
break;
|
|
42
|
-
case "death":
|
|
43
|
-
await this.processDeath(context, event, data);
|
|
44
|
-
break;
|
|
45
|
-
default:
|
|
46
|
-
const { eventP, timeEl } = this.timeParagraph(context, event);
|
|
47
|
-
await this.eventRenderer.render(context, event, eventP);
|
|
48
|
-
doc.append(eventP);
|
|
49
|
-
}
|
|
31
|
+
await this.processEvent(context, event, data);
|
|
50
32
|
}
|
|
51
33
|
context.file.contents = context.file.serialize();
|
|
52
34
|
}
|
|
35
|
+
async processEvent(context, event, data) {
|
|
36
|
+
switch (event.eventType) {
|
|
37
|
+
case "birth":
|
|
38
|
+
await this.processBirth(context, event, data);
|
|
39
|
+
break;
|
|
40
|
+
case "book":
|
|
41
|
+
await this.processBook(context, event);
|
|
42
|
+
break;
|
|
43
|
+
case "image":
|
|
44
|
+
await this.processImage(context, event);
|
|
45
|
+
break;
|
|
46
|
+
case "death":
|
|
47
|
+
await this.processDeath(context, event, data);
|
|
48
|
+
break;
|
|
49
|
+
default:
|
|
50
|
+
const { eventP, timeEl } = this.timeParagraph(context, event);
|
|
51
|
+
await this.eventRenderer.render(context, event, eventP);
|
|
52
|
+
context.file.document.append(eventP);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
53
55
|
timeParagraph(context, event) {
|
|
54
56
|
const container = context.file.document.createElement("p");
|
|
55
57
|
const eventContext = context.clone();
|
|
@@ -6,7 +6,7 @@ export class CaseFactory extends TypedDataFactory {
|
|
|
6
6
|
const parsedCase = super.parse(dataJson);
|
|
7
7
|
const time = dataJson.time;
|
|
8
8
|
if (time) {
|
|
9
|
-
parsedCase
|
|
9
|
+
Object.assign(parsedCase, { time: EdtfDate.fromString(time) });
|
|
10
10
|
}
|
|
11
11
|
const placeName = dataJson.place;
|
|
12
12
|
if (placeName) {
|
|
@@ -21,7 +21,7 @@ export class CaseService extends AbstractDataService {
|
|
|
21
21
|
if (time) {
|
|
22
22
|
caseContext.time = new TimeContext((_a = time.year) === null || _a === void 0 ? void 0 : _a.value, (_b = time.month) === null || _b === void 0 ? void 0 : _b.value, (_c = time.day) === null || _c === void 0 ? void 0 : _c.value, (_d = time.hour) === null || _d === void 0 ? void 0 : _d.value, (_e = time.minute) === null || _e === void 0 ? void 0 : _e.value, (_f = time.timeshift) === null || _f === void 0 ? void 0 : _f.toString());
|
|
23
23
|
const options = { year: "numeric" };
|
|
24
|
-
const { result, replacement } = this.timeElementFactory.renderer.renderContent(caseContext, undefined, { url:
|
|
24
|
+
const { result, replacement } = this.timeElementFactory.renderer.renderContent(caseContext, undefined, { url: false, contentOnly: false }, options);
|
|
25
25
|
result.append(replacement);
|
|
26
26
|
details.push(result.outerHTML);
|
|
27
27
|
}
|
|
@@ -14,9 +14,10 @@ export class SsiTitleReplaceCommand extends SsiEchoVarReplaceCommand {
|
|
|
14
14
|
async createReplacer(context) {
|
|
15
15
|
return {
|
|
16
16
|
replace: (_match, ..._args) => {
|
|
17
|
-
|
|
17
|
+
const titleStr = this.getTitle(context);
|
|
18
|
+
context.file.title = titleStr;
|
|
18
19
|
const titleUrl = context.file.meta.url;
|
|
19
|
-
return titleUrl ? `<a href="${titleUrl}" target="_blank">${
|
|
20
|
+
return titleUrl ? `<a href="${titleUrl}" target="_blank">${titleStr}</a>` : titleStr;
|
|
20
21
|
}
|
|
21
22
|
};
|
|
22
23
|
}
|
package/dist/time/TimeService.js
CHANGED
|
@@ -57,6 +57,9 @@ export class TimeService extends AbstractDataService {
|
|
|
57
57
|
time.setDayOfMonth(newTimeContext.getDayOfMonth());
|
|
58
58
|
// context.time.from = context.time
|
|
59
59
|
}
|
|
60
|
+
// TODO: Set people + parent context if filePath under people root dir
|
|
61
|
+
// TODO: Set place + parent context if filePath under place root dir
|
|
62
|
+
// TODO: Set place + parent context if filePath under org root dir
|
|
60
63
|
return newTimeContext;
|
|
61
64
|
}
|
|
62
65
|
}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@rr0/cms",
|
|
3
3
|
"type": "module",
|
|
4
4
|
"author": "Jérôme Beau <rr0@rr0.org> (https://rr0.org)",
|
|
5
|
-
"version": "0.3.
|
|
5
|
+
"version": "0.3.23",
|
|
6
6
|
"description": "RR0 Content Management System (CMS)",
|
|
7
7
|
"exports": "./dist/index.js",
|
|
8
8
|
"types": "./dist/index.d.ts",
|
|
@@ -30,15 +30,16 @@
|
|
|
30
30
|
"dependencies": {
|
|
31
31
|
"@javarome/fileutil": "^0.3.7",
|
|
32
32
|
"@rr0/common": "^1.1.3",
|
|
33
|
-
"@rr0/data": "^0.3.
|
|
33
|
+
"@rr0/data": "^0.3.25",
|
|
34
34
|
"@rr0/lang": "^0.1.12",
|
|
35
35
|
"@rr0/place": "^0.5.3",
|
|
36
36
|
"@rr0/time": "^0.11.0",
|
|
37
37
|
"canvas": "^3.1.0",
|
|
38
38
|
"csv-parser": "^3.2.0",
|
|
39
39
|
"glob": "^11.0.1",
|
|
40
|
-
"image-size": "^2.0.
|
|
40
|
+
"image-size": "^2.0.1",
|
|
41
41
|
"jsdom": "^26.0.0",
|
|
42
|
+
"netlify-cli": "^19.0.2",
|
|
42
43
|
"selenium-webdriver": "^4.29.0",
|
|
43
44
|
"ssg-api": "^1.16.15"
|
|
44
45
|
},
|