Reddit Widget
Code
const htmlWidget = importModule("html-widget")
const symbol = importModule("html-widget-symbol")
const addons = {symbol}
let json = await new Request("https://www.reddit.com/r/Showerthoughts.json").loadJSON()
let post = json["data"]["children"][Math.floor((Math.random() * 10) + 2)]["data"]
let title = post["title"].replace(/</g,"<").replace(/>/g,">")
let body = post["selftext"].replace(/</g,"<").replace(/>/g,">")
let ups = post["ups"]
let awards = post["all_awardings"].length
let comments = post["num_comments"]
let url = post["url"]
let widget = await htmlWidget(`
<widget refresh-after-date="15" url="${url}">
<style>
symbol {
image-size: 11,11;
}
.title {
font: system-ui, 13;
align-text: center;
}
.content {
font: system-ui, 11;
minimum-scale-factor: 0.3;
}
</style>
<text class="title">Showerthoughts</text>
<spacer space="5"/>
<text class="content">${title}</text>
<text class="content">${body}</text>
<stack align-content="center">
<symbol>arrow.up.circle.fill</symbol>
<spacer space="2"/>
<text class="content">${ups}</text>
<spacer/>
<symbol>star.circle.fill</symbol>
<spacer space="2"/>
<text class="content">${awards}</text>
<spacer/>
<symbol>message.circle.fill</symbol>
<spacer space="2"/>
<text class="content">${comments}</text>
</stack>
</widget>
`, true, addons)
Script.setWidget(widget)
widget.presentSmall()
Script.complete()
Widget
Last updated