astro-accelerator-utils 0.2.7 → 0.2.9
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 +3 -0
- package/lib/v1/accelerator.d.mts +1 -0
- package/lib/v1/accelerator.mjs +2 -1
- package/lib/v1/urls.d.mts +8 -1
- package/lib/v1/urls.mjs +14 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -4,3 +4,6 @@
|
|
|
4
4
|
|
|
5
5
|
Utility classes for Astro Accelerator
|
|
6
6
|
|
|
7
|
+
[](https://www.npmjs.com/package/astro-accelerator-utils/)
|
|
8
|
+
[](https://www.npmjs.com/package/astro-accelerator-utils/)
|
|
9
|
+
|
package/lib/v1/accelerator.d.mts
CHANGED
package/lib/v1/accelerator.mjs
CHANGED
|
@@ -20,6 +20,7 @@ export class Accelerator {
|
|
|
20
20
|
this.cacheMaxAge = site.cacheMaxAge;
|
|
21
21
|
this.dateOptions = site.dateOptions;
|
|
22
22
|
this.siteUrl = site.url;
|
|
23
|
+
this.subfolder = site.subfolder;
|
|
23
24
|
}
|
|
24
25
|
|
|
25
26
|
get authors() {
|
|
@@ -55,6 +56,6 @@ export class Accelerator {
|
|
|
55
56
|
}
|
|
56
57
|
|
|
57
58
|
get urlFormatter() {
|
|
58
|
-
return new UrlFormatter(this.siteUrl)
|
|
59
|
+
return new UrlFormatter(this.siteUrl, this.subfolder)
|
|
59
60
|
}
|
|
60
61
|
}
|
package/lib/v1/urls.d.mts
CHANGED
|
@@ -2,9 +2,11 @@ export class UrlFormatter {
|
|
|
2
2
|
/**
|
|
3
3
|
* Constructor
|
|
4
4
|
* @param {string} siteUrl
|
|
5
|
+
* @param {string} subfolder
|
|
5
6
|
*/
|
|
6
|
-
constructor(siteUrl: string);
|
|
7
|
+
constructor(siteUrl: string, subfolder: string);
|
|
7
8
|
siteUrl: string;
|
|
9
|
+
subfolder: string;
|
|
8
10
|
/**
|
|
9
11
|
* Ensures trailing slash is used
|
|
10
12
|
* @param {URL} url
|
|
@@ -17,4 +19,9 @@ export class UrlFormatter {
|
|
|
17
19
|
* @returns {string}
|
|
18
20
|
*/
|
|
19
21
|
addSlashToAddress(address: string | undefined): string;
|
|
22
|
+
/**
|
|
23
|
+
* Gets the author id from an address
|
|
24
|
+
* @param {URL} url
|
|
25
|
+
*/
|
|
26
|
+
getAuthorId(url: URL): string;
|
|
20
27
|
}
|
package/lib/v1/urls.mjs
CHANGED
|
@@ -2,9 +2,11 @@ export class UrlFormatter {
|
|
|
2
2
|
/**
|
|
3
3
|
* Constructor
|
|
4
4
|
* @param {string} siteUrl
|
|
5
|
+
* @param {string} subfolder
|
|
5
6
|
*/
|
|
6
|
-
constructor(siteUrl) {
|
|
7
|
+
constructor(siteUrl, subfolder) {
|
|
7
8
|
this.siteUrl = siteUrl;
|
|
9
|
+
this.subfolder = subfolder;
|
|
8
10
|
}
|
|
9
11
|
|
|
10
12
|
/**
|
|
@@ -43,4 +45,15 @@ export class UrlFormatter {
|
|
|
43
45
|
const url = this.addSlashToUrl(new URL(address, this.siteUrl));
|
|
44
46
|
return url.pathname + url.search;
|
|
45
47
|
}
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* Gets the author id from an address
|
|
51
|
+
* @param {URL} url
|
|
52
|
+
*/
|
|
53
|
+
getAuthorId(url) {
|
|
54
|
+
const index = (this.subfolder.length === 0)
|
|
55
|
+
? 2 // i.e. /authors/steve-fenton/
|
|
56
|
+
: 3 // i.e. /subfolder/authors/steve-fenton/
|
|
57
|
+
return url.pathname.split('/')[index];
|
|
58
|
+
}
|
|
46
59
|
}
|