Merge pull request #3444 from stuartbreckenridge/ios-candidate
Adds NewsFax to iOS.
This commit is contained in:
commit
a501e4e0b0
@ -852,6 +852,7 @@
|
|||||||
D5F4EDB720074D6500B9E363 /* WebFeed+Scriptability.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5F4EDB620074D6500B9E363 /* WebFeed+Scriptability.swift */; };
|
D5F4EDB720074D6500B9E363 /* WebFeed+Scriptability.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5F4EDB620074D6500B9E363 /* WebFeed+Scriptability.swift */; };
|
||||||
D5F4EDB920074D7C00B9E363 /* Folder+Scriptability.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5F4EDB820074D7C00B9E363 /* Folder+Scriptability.swift */; };
|
D5F4EDB920074D7C00B9E363 /* Folder+Scriptability.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5F4EDB820074D7C00B9E363 /* Folder+Scriptability.swift */; };
|
||||||
DD82AB0A231003F6002269DF /* SharingTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD82AB09231003F6002269DF /* SharingTests.swift */; };
|
DD82AB0A231003F6002269DF /* SharingTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD82AB09231003F6002269DF /* SharingTests.swift */; };
|
||||||
|
DFD6AACC27ADE80900463FAD /* NewsFax.nnwtheme in Resources */ = {isa = PBXBuildFile; fileRef = DFD6AACB27ADE80900463FAD /* NewsFax.nnwtheme */; };
|
||||||
FF3ABF13232599810074C542 /* ArticleSorterTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF3ABF09232599450074C542 /* ArticleSorterTests.swift */; };
|
FF3ABF13232599810074C542 /* ArticleSorterTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF3ABF09232599450074C542 /* ArticleSorterTests.swift */; };
|
||||||
FF3ABF1523259DDB0074C542 /* ArticleSorter.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF3ABF1423259DDB0074C542 /* ArticleSorter.swift */; };
|
FF3ABF1523259DDB0074C542 /* ArticleSorter.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF3ABF1423259DDB0074C542 /* ArticleSorter.swift */; };
|
||||||
FF3ABF162325AF5D0074C542 /* ArticleSorter.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF3ABF1423259DDB0074C542 /* ArticleSorter.swift */; };
|
FF3ABF162325AF5D0074C542 /* ArticleSorter.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF3ABF1423259DDB0074C542 /* ArticleSorter.swift */; };
|
||||||
@ -1590,6 +1591,7 @@
|
|||||||
D5F4EDB620074D6500B9E363 /* WebFeed+Scriptability.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "WebFeed+Scriptability.swift"; sourceTree = "<group>"; };
|
D5F4EDB620074D6500B9E363 /* WebFeed+Scriptability.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "WebFeed+Scriptability.swift"; sourceTree = "<group>"; };
|
||||||
D5F4EDB820074D7C00B9E363 /* Folder+Scriptability.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Folder+Scriptability.swift"; sourceTree = "<group>"; };
|
D5F4EDB820074D7C00B9E363 /* Folder+Scriptability.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Folder+Scriptability.swift"; sourceTree = "<group>"; };
|
||||||
DD82AB09231003F6002269DF /* SharingTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SharingTests.swift; sourceTree = "<group>"; };
|
DD82AB09231003F6002269DF /* SharingTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SharingTests.swift; sourceTree = "<group>"; };
|
||||||
|
DFD6AACB27ADE80900463FAD /* NewsFax.nnwtheme */ = {isa = PBXFileReference; lastKnownFileType = wrapper; path = NewsFax.nnwtheme; sourceTree = "<group>"; };
|
||||||
FF3ABF09232599450074C542 /* ArticleSorterTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ArticleSorterTests.swift; sourceTree = "<group>"; };
|
FF3ABF09232599450074C542 /* ArticleSorterTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ArticleSorterTests.swift; sourceTree = "<group>"; };
|
||||||
FF3ABF1423259DDB0074C542 /* ArticleSorter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ArticleSorter.swift; sourceTree = "<group>"; };
|
FF3ABF1423259DDB0074C542 /* ArticleSorter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ArticleSorter.swift; sourceTree = "<group>"; };
|
||||||
FFD43E372340F320009E5CA3 /* MarkAsReadAlertController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MarkAsReadAlertController.swift; sourceTree = "<group>"; };
|
FFD43E372340F320009E5CA3 /* MarkAsReadAlertController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MarkAsReadAlertController.swift; sourceTree = "<group>"; };
|
||||||
@ -1848,6 +1850,7 @@
|
|||||||
511D43CE231FA51100FB1562 /* Resources */ = {
|
511D43CE231FA51100FB1562 /* Resources */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
|
DFD6AACB27ADE80900463FAD /* NewsFax.nnwtheme */,
|
||||||
51DEE81126FB9233006DAA56 /* Appanoose.nnwtheme */,
|
51DEE81126FB9233006DAA56 /* Appanoose.nnwtheme */,
|
||||||
51077C5727A86D16000C71DB /* Hyperlegible.nnwtheme */,
|
51077C5727A86D16000C71DB /* Hyperlegible.nnwtheme */,
|
||||||
51DEE81726FBFF84006DAA56 /* Promenade.nnwtheme */,
|
51DEE81726FBFF84006DAA56 /* Promenade.nnwtheme */,
|
||||||
@ -3443,6 +3446,7 @@
|
|||||||
49F40DF92335B71000552BF4 /* newsfoot.js in Resources */,
|
49F40DF92335B71000552BF4 /* newsfoot.js in Resources */,
|
||||||
512392C024E33A3C00F11704 /* RedditAdd.storyboard in Resources */,
|
512392C024E33A3C00F11704 /* RedditAdd.storyboard in Resources */,
|
||||||
51F85BEF2272520B00C787DC /* Thanks.rtf in Resources */,
|
51F85BEF2272520B00C787DC /* Thanks.rtf in Resources */,
|
||||||
|
DFD6AACC27ADE80900463FAD /* NewsFax.nnwtheme in Resources */,
|
||||||
51CE1C0923621EDA005548FC /* RefreshProgressView.xib in Resources */,
|
51CE1C0923621EDA005548FC /* RefreshProgressView.xib in Resources */,
|
||||||
84C9FC9D2262A1A900D921D6 /* Assets.xcassets in Resources */,
|
84C9FC9D2262A1A900D921D6 /* Assets.xcassets in Resources */,
|
||||||
514219582353C28900E07E2C /* main_ios.js in Resources */,
|
514219582353C28900E07E2C /* main_ios.js in Resources */,
|
||||||
|
16
Shared/Resources/NewsFax.nnwtheme/Info.plist
Normal file
16
Shared/Resources/NewsFax.nnwtheme/Info.plist
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
|
<plist version="1.0">
|
||||||
|
<dict>
|
||||||
|
<key>Name</key>
|
||||||
|
<string>NewsFax</string>
|
||||||
|
<key>ThemeIdentifier</key>
|
||||||
|
<string>com.mynameisstuart.themes.newsfax</string>
|
||||||
|
<key>CreatorHomePage</key>
|
||||||
|
<string>https://mynameisstuart.com/</string>
|
||||||
|
<key>CreatorName</key>
|
||||||
|
<string>Stuart Breckenridge</string>
|
||||||
|
<key>Version</key>
|
||||||
|
<integer>3</integer>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
19
Shared/Resources/NewsFax.nnwtheme/License.md
Normal file
19
Shared/Resources/NewsFax.nnwtheme/License.md
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
The NewsFax themes uses the ModeSeven font throughout, which is available as Freeware.
|
||||||
|
|
||||||
|
Find out more [here](https://www.fontspace.com/modeseven-font-f2369).
|
||||||
|
|
||||||
|
ModeSeven is based on the bitmap font in Teletext televisions,
|
||||||
|
1980s-vintage Videotext terminals (such as the Prestel system used in
|
||||||
|
the UK), and the BBC Micro computer. (The name derives from the BBC
|
||||||
|
Micro screen mode which used the teletext character generator.)
|
||||||
|
|
||||||
|
This font looks "natural" at a size of 20 pixels, or any multiple thereof.
|
||||||
|
However, it has been hinted as to scale as well as an ex-bitmap font
|
||||||
|
can be expected to.
|
||||||
|
|
||||||
|
This font was created by hand with Fontographer 4.1.2 on a Macintosh.
|
||||||
|
The character definitions were worked out from a bitmap version of the
|
||||||
|
Teletext font created by James Fidell, and included in xbeeb (a BBC
|
||||||
|
Micro emulator for UNIX/X11). The spacing of the original has been
|
||||||
|
preserved, which is why many character shapes are aligned to the right
|
||||||
|
of their cells.
|
685
Shared/Resources/NewsFax.nnwtheme/stylesheet.css
Normal file
685
Shared/Resources/NewsFax.nnwtheme/stylesheet.css
Normal file
File diff suppressed because one or more lines are too long
90
Shared/Resources/NewsFax.nnwtheme/template.html
Normal file
90
Shared/Resources/NewsFax.nnwtheme/template.html
Normal file
@ -0,0 +1,90 @@
|
|||||||
|
|
||||||
|
<!-- Template Variables
|
||||||
|
|
||||||
|
title: The title of the article
|
||||||
|
preferred_link: The best link to associate with the article for linking out.
|
||||||
|
|
||||||
|
external_link_label: A localized label for the external link.
|
||||||
|
external_link_stripped: The external link minus the scheme. Useful for displaying the external link.
|
||||||
|
external_link: The external link of the article if there is one provided by the author.
|
||||||
|
|
||||||
|
feed_link_title: The name of the feed associated with this article.
|
||||||
|
feed_link: The URL of the feed associated with this article.
|
||||||
|
byline: HTML that combines all the authors and links to them if available.
|
||||||
|
avatar_src: The image source URL for the feed icon / avatar.
|
||||||
|
dateline_style: Either "articleDateline" or "articleDatelineTitle" depending on if the title was populated or not.
|
||||||
|
|
||||||
|
datetime_long: Long version of a combined publish date and time.
|
||||||
|
datetime_medium: Medium length version of a combined publish date and time.
|
||||||
|
datetime_short: Short version of a combined publish date and time.
|
||||||
|
|
||||||
|
date_long: Long version of the publish date.
|
||||||
|
date_medium: Medium version of the publish date.
|
||||||
|
date_short: Long version of the publish date.
|
||||||
|
|
||||||
|
time_long: Long version of the publish time.
|
||||||
|
time_medium: Medium version of the publish time.
|
||||||
|
time_short: Long version of the publish time.
|
||||||
|
|
||||||
|
text_size_class: The size class that the user has selected in Preferences for article text.
|
||||||
|
body: The body of the article.
|
||||||
|
|
||||||
|
-->
|
||||||
|
|
||||||
|
<div class="feedHeader">
|
||||||
|
<table width="100%">
|
||||||
|
<tr>
|
||||||
|
<th class="newsfax" align="left">NEWSFAX</th>
|
||||||
|
<th class="newsfax-page" align="left"></th>
|
||||||
|
<th></th>
|
||||||
|
<th align="right">[[datetime_short]]</th>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<div class="articleTitle">
|
||||||
|
<h1><a href="[[preferred_link]]">[[title]]</a></h1>
|
||||||
|
</div>
|
||||||
|
<div><a href="[[feed_link]]">[[feed_link_title]]</a></div>
|
||||||
|
<div>[[byline]]</div>
|
||||||
|
</div>
|
||||||
|
<hr />
|
||||||
|
|
||||||
|
<article>
|
||||||
|
<div id="bodyContainer" class="articleBody [[text_size_class]]">[[body]]</div>
|
||||||
|
<div class="externalLink"><a href="[[external_link]]">[[external_link]]</a></div>
|
||||||
|
|
||||||
|
<table class="newsfax-footer" width="100%">
|
||||||
|
<tr>
|
||||||
|
<th class="newsfax-footer-cell-red"><a href="https://duckduckgo.com/?q=news&t=h_&iar=news&ia=news">Headlines</a></th>
|
||||||
|
<th class="newsfax-footer-cell-green"><a href="https://duckduckgo.com/?q=sports+news&t=h_&ia=web">Sport</a></th>
|
||||||
|
<th class="newsfax-footer-cell-yellow"><a href="https://duckduckgo.com/?q=local+tv&t=h_&ia=places">Local TV<a></th>
|
||||||
|
<th class="newsfax-footer-cell-blue"><a href="[[feed_link]]">Website</a></th>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
</article>
|
||||||
|
<script type="text/javascript">
|
||||||
|
/* Generate a random Newsfax page number */
|
||||||
|
function getRandomIntInclusive(min, max) {
|
||||||
|
min = Math.ceil(min);
|
||||||
|
max = Math.floor(max);
|
||||||
|
return Math.floor(Math.random() * (max - min + 1) + min); //The maximum is inclusive and the minimum is inclusive
|
||||||
|
}
|
||||||
|
|
||||||
|
let random = getRandomIntInclusive(100, 999);
|
||||||
|
let newsFaxElement = document.body.getElementsByClassName('newsfax-page')[0];
|
||||||
|
newsFaxElement.innerHTML = "P" + random;
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
The arrow-circle-right SVG is provided by Font Awesome under the Creative Commons Attribution 4.0 International License.
|
||||||
|
For more details view the license here: https://fontawesome.com/license
|
||||||
|
*/
|
||||||
|
let externalLinkElement = document.body.getElementsByClassName('externalLink')[0].querySelectorAll('a')[0];
|
||||||
|
if (externalLinkElement.innerText != '') {
|
||||||
|
let host = externalLinkElement.hostname;
|
||||||
|
externalLinkElement.innerHTML = host + " " + '->';
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user