/Scriptable-Widgets_Fork

Some of the widgets I have made on scriptable.

Primary LanguageJavaScript

Scriptable Widgets

Here are all of the scriptable widgets I have made.

And some scripts


Widgets

Reddit Text Subreddit Widget

Reddit Text Subreddit Widget

This is a small widget that is meant to showcase a random text post from the subreddit of your choosing.

  • Easily change background and text colours
  • Choose what text to show, such as hiding the footer or author name
  • Shows the amount of comments, awards and upvotes

Reddit Text Subreddit Widget

Reddit Text Subreddit Widget

Daily Quote Widget

Daily Quote Widget

This is a small widget that shows a daily quote and the author. The quote is scrapped from https://www.brainyquote.com/quote_of_the_day.

  • Easily change text colours and the background colour
  • Colours support dark and light mode changing
  • Choose to show the author or not

Daily Quote Widget

Special Days Widget

Special Days Widget

This is a small widget that shows today’s special days. The days are scraped from https://www.daysoftheyear.com/. This widget will display up to 5 special days.

  • Easily change text colours and the background colour
  • Colours support dark and light mode changing

Special Days Widget

Word Of The Day Widget

Word Of The Day Widget

This is a small widget that shows today’s word of the day. The word is scraped from https://www.merriam-webster.com/word-of-the-day/.

  • Easily change text colours and the background colour
  • Colours support dark and light mode changing
  • Shows the type of word, pronunciation and syllables, as well as the definition

Word Of The Day Widget

Word Of The Day Widget

Urban Dictionary Word Of The Day Widget

Urban Dictionary Word Of The Day Widget

This small widget displays the word of the day from the Urban Dictionary. Because of this, some of the words could have poor definitions or be NSFW.

  • Easily change text colours and the background colour
  • Colours support dark and light mode changing

Urban Dictionary Word Of The Day Widget

On This Day In History

On This Day In History

This small widget displays a random event that happened on this day in history scraped from https://www.onthisday.com/.

  • Easily change text colours and the background colour
  • Colours support dark and light mode changing

On This Day In History

Routinehub Stats Widget

Routinehub Stats Widget

Routinehub Stats Widget Double

Both of these widgets display the stats from a Routinehub account. The Routinehub Stats Widget displays the stats of one person in a small or medium widget. The Routinehub Stats Widget Double displays the stats of two people on a medium widget.

This widget is outdated and no longer updated, but still works. The code is terribly written as it was one of my first widgets created.

  • Easily change text colours and background colour/gradient
  • Change text sizes and choose to display text instead of the symbols
  • Shows the number of shortcuts posted, number of downloads, number of hearts (this might not work for all accounts) and the average downloads per shortcut
  • You can set a download goal and there is a progress bar at the bottom of the widget for it
  • The progress bar can change colours when it is fully completed

Routinehub Stats Widget

Routinehub Stats Widget Double

Random Colour Generator Widget

Random Colour Generator Widget

This widget has 2 different set ups. The first one is a small widget and will only display one colour and the hex of it. The second widget can be any size and displays multiple colours and their hex values.

  • Easily change text colours and background colour for the multiple colour set up
  • Multiple colour set up have 4 colours for small, 8 colours for medium and 16 colours for large

Random Colour Generator Widget

Random Colour Generator Widget

Weather Circles

Weather Circles

This small widget displays the weather condition and weather statistics for your location in circular progress bars. This widget uses https://github.com/Normal-Tangerine8609/Scriptable-HTML-Widget to create the widget and https://openweathermap.org/ to get the weather data (you will need a free api key but it may not work with the latest api keys).

  • Easily change text, background, circular progress bar and SF symbol colours
  • Colours support dark and light mode changing
  • Select the latitude and longitude for your location and choose to use metric or imperial data
  • Change minimum and maximum levels of temperature and other types of weather provided to gear the percentages to you
  • Easily change order of circular progress bars and the interior symbols

Weather Circles

MDN Web Api Widget

MDN Web Api

This small or medium widget displays a random web api from the MDN list.

  • Easily change theme colours and sf symbols
  • Colours support dark and light mode changing
  • Catch the web api data for reuse if not connected to data

Can I Use

Can I Use

This Lock Screen and Home Screen widget displays latest browser support data from caniuse.com.

  • Easily change theme colours
  • Colours support dark and light mode changing
  • Choose what stats you want to view using the widget parameters

Can I Use Lock Screen Can I Use Small Widget

Tildes Widget

Tildes Widget

This small widget displays recent posts from tildes.net.

  • Easily change theme colours
  • Choose sizing variables
  • Choose what posts you want to view using the widget parameters

Tildes Widget

Scripts

HTML Widget

HTML Widget

This script allows you to create widgets using a HTML-like syntax. Here is an example of the code and widget image for a Reddit widget.

Reveal 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()

Reddit widget

Git Script Download And Update

Git Script Download & Update

This script tracks downloaded scriptable scripts from github and updates them.

  • Small widget and Lock Screen widgets
  • Easy to use
  • Works from Sharesheet or scriptable

RSS Parser

RSS Parser

This script parses RSS feeds into usable content for widgets.

  • Small in size
  • Works with all RSS feeds

Widget Progress Circle

Widget Progress Circle

This script is a function that creates a circular progress bar that can have ant widget elements within.

  • Can change sizes
  • Supports dark and light mode colours
  • Can put any element within the circle

Progress Circle

Simple Calendar

Simple Calendar

This script is a boilerplate for a simple calendar widget

  • Customizable
  • Inline documentation to explain processes
  • Extendable

Simple Calendar