Skip to content

Commit d137f25

Browse files
committed
Add script extraction of feed URL
1 parent d1d50ce commit d137f25

4 files changed

Lines changed: 21 additions & 0 deletions

File tree

src/_data/depctrl.js

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,18 @@ const extractProperty = (script, property) => {
5353
return null;
5454
}
5555

56+
const extractFeedData = (script) => {
57+
var match = Array.from(script.matchAll(/\n(?:[^-][^-].*)?(?:DependencyControl|require\('l0\.DependencyControl'\))\s*\(?\s?{((?:[^{}]+|{(?:[^{}]+|{[^{}]*})*})*)}/g));
58+
if (match.length === 1) {
59+
feedData = match[0][1];
60+
var feed = Array.from(feedData.matchAll(/^[^{]*feed\s*[:=]\s*["']([^"']+)["']/g));
61+
if (feed.length === 1) {
62+
return {feed: feed[0][1]}
63+
}
64+
}
65+
return null;
66+
}
67+
5668
// extracts data from lua or moon macros and saves it alongside feed data
5769
const extractScriptData = async (feeds) => {
5870
for (var feed of feeds) {
@@ -78,6 +90,7 @@ const extractScriptData = async (feeds) => {
7890
"namespace": extractProperty(script, "script_namespace")
7991
}
8092
macro["_scriptData"] = scriptData;
93+
macro["_scriptData"]["_feedData"] = extractFeedData(script);
8194
} else {
8295
continue;
8396
}

src/_data/macros.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ module.exports = () => {
99
singleMacro[1]["_feedName"] = feed["name"];
1010
singleMacro[1]["_feedIdentifier"] = feed["_identifier"];
1111
singleMacro[1]["_fetchTime"] = feed["_fetchTime"];
12+
singleMacro[1]["_sourceUrl"] = feed["_sourceUrl"];
1213
singleMacro[1]["_namespace"] = singleMacro[0];
1314
return singleMacro[1];
1415
});

src/_data/modules.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ module.exports = () => {
99
singleModule[1]["_feedName"] = feed["name"];
1010
singleModule[1]["_feedIdentifier"] = feed["_identifier"];
1111
singleModule[1]["_fetchTime"] = feed["_fetchTime"];
12+
singleModule[1]["_sourceUrl"] = feed["_sourceUrl"];
1213
singleModule[1]["_namespace"] = singleModule[0];
1314
return singleModule[1];
1415
});

src/pages/macros-pages.njk

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,12 @@ eleventyComputed:
146146
<td>{{ macro._scriptData.namespace }}</td>
147147
<td>{% if macro._scriptData.namespace %}{% if macro._namespace === macro._scriptData.namespace %}{% else %}{% endif %}{% else %}{% endif %}</td>
148148
</tr>
149+
<tr>
150+
<th>Feed</th>
151+
<td>{{ macro._sourceUrl }}</td>
152+
<td>{{ macro._scriptData._feedData.feed }}</td>
153+
<td>{% if macro._scriptData._feedData.feed %}{% if macro._sourceUrl === macro._scriptData._feedData.feed %}{% else %}{% endif %}{% else %}{% endif %}</td>
154+
</tr>
149155
</tbody>
150156
</table>
151157
</p>

0 commit comments

Comments
 (0)