aboutsummaryrefslogtreecommitdiff
path: root/content/sabc_aus/abc_aus.js
diff options
context:
space:
mode:
Diffstat (limited to 'content/sabc_aus/abc_aus.js')
-rw-r--r--content/sabc_aus/abc_aus.js61
1 files changed, 61 insertions, 0 deletions
diff --git a/content/sabc_aus/abc_aus.js b/content/sabc_aus/abc_aus.js
new file mode 100644
index 0000000..9ad1cb0
--- /dev/null
+++ b/content/sabc_aus/abc_aus.js
@@ -0,0 +1,61 @@
+/*
+ Copyright © 2021 jahoti (jahoti@tilde.team)
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+var pages = ['ABC News'], comp, wrapper, heading, section, cards, card, text,
+ home = ['Home'], comps = document.getElementById('content').children;
+
+pages.push(home);
+for (i = 0; i < comps.length; i++) {
+ comp = comps[i];
+ card = undefined;
+ if (!comp.dataset.component) continue;
+
+ heading = comp.querySelector('[data-component="Heading"], [data-component="CollectionHeading"]');
+ heading = heading ? heading.innerText : 'Featured';
+ if (heading === 'Top Stories from ABC News') heading = 'Top Stories';
+
+ wrapper = document.createElement('div');
+ pages.push(['* ' + heading, wrapper])
+
+ for (card of comp.querySelectorAll('[data-component$=Card]')) {
+ text = card.innerText; //HTML.replace(/<[^<]*>/g, '\n').replace(/\n\n+/g, '\n').replace(/^\n/, '');
+ section = document.createElement('section');
+ wrapper.append(section);
+
+ heading = document.createElement('a');
+ heading.href = card.querySelector('a').href;
+ heading.style.display = 'block';
+ heading.style.fontWeight = 'bold';
+ section.append(heading);
+
+ var index = text.indexOf('\n');
+ if (index === -1) wrapper.innerText = text;
+ else {
+ heading.innerText = text.substr(0, index);
+ link = document.createElement('p'); // Reuse or abuse?
+ link.innerText = text.substr(index + 1);
+ section.append(link);
+ }
+ }
+
+ if (!card) pages.pop();
+ else if (i < 3) home.push(wrapper);
+}
+
+pages.push(['Just in', '/news/justin']);
+pages.push(['Ed. Standards', 'https://about.abc.net.au/how-the-abc-is-run/what-guides-us/abc-editorial-standards/'])
+pages.push(['Footer', document.querySelector('[data-component="Footer"]')]);
+Sparse(pages, {bgcolor: 'pink'}); \ No newline at end of file