Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
This is a Scriptable Widget Script for iOS. A Post-It Icon for your Homescreen.
// Scriptable script for iOS 14 Widgets
// #################################
//
// Post-It Notizen Widget
//
// Datum 05.11.2020
// Lokalisiert auf Deutsch
// Quelle: https://gist.github.com/Leibinger015
//
// #################################
// Start Text bei der ersten Ausführung des Widgets[
let placeholder = "Widget öffnen, WIDGET BEARBEITEN wählen, Bei PARAMETER Text eingeben"
let input = (args.widgetParameter == null) ? placeholder : args.widgetParameter
let define = input.split("|")
let conf = define[0]
let noteColor = Color.black()
// Schriftgröße
if (conf.match(/small/i)){
fontSize = 16
}else if (conf.match(/medium/i)){
fontSize = 32
}else if (conf.match(/large/i)){
fontSize = 45
}else{
// Vorgabe - Text Größe im Widget
fontSize = 16
}
// Hintergrundfarben
color = {
"green": "C5EA9C",
"yellow": "FFFFA1",
"blue": "B1DAE4",
"red": "FFC2E4",
"white": "F6F6F7",
"black": "191919"
}
if (conf.match(/green/i)){
bgColor = new Color(color.green)
}else if (conf.match(/yellow/i)){
bgColor = new Color(color.yellow)
}else if (conf.match(/blue/i)){
bgColor = new Color(color.blue)
}else if (conf.match(/red/i)){
bgColor = new Color(color.red)
}else if (conf.match(/#/)){
// Benutzerdefinierte Farbe
let prefix = conf.indexOf("#")
let ctmClr = conf.slice(prefix + 1, prefix + 7)
bgColor = new Color(ctmClr)
}else if (conf.match(/acent/i)){
if(await isUsingDarkAppearance()){
bgColor = new Color(color.black)
noteColor = new Color(color.white)
}else{
bgColor = new Color(color.white)
noteColor = new Color(color.black)
}
}else{
// Zufällige Farben
let hex = Object.values(color)
bgColor = new Color(hex[Math.floor(Math.random() * 4)])
}
// Hinweis
if (define.length == 1){
note = define[0].replace(/, |,/g, "\n• ")
}else{
note = define[1].replace(/, |,/g, "\n• ")
}
// Widget ausführen
let w = new ListWidget()
let text = (note.match("\n") === null) ? w.addText(note) : w.addText("• " + note)
text.font = Font.mediumMonospacedSystemFont(fontSize)
text.textColor = noteColor
w.backgroundColor = bgColor
// Farben wechseln
async function isUsingDarkAppearance() {
const wv = new WebView()
let js ="(window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches)"
let r = await wv.evaluateJavaScript(js)
console.log(r)
return r
}
// Widget ausführen
if(!config.runsInWidget){
w.presentMedium()
}
Script.setWidget(w)
Script.complete()
// SKRIPT ENDE
@Leibinger015

This comment has been minimized.

Copy link
Owner Author

@Leibinger015 Leibinger015 commented Nov 5, 2020

48B809A6-1F17-4789-920E-ECF8B4816F88

Wie funktioniert dieses Post-It Widget?

••••••

Voraussetzung:

  • iOS 14 oder höher
  • Die aktuelle Scriptable App

••••••

Installation:

1.) Kopiere den Skript Code von oben

2.) Öffne die Scriptable App

3.) Klick auf das "+" Symbol oben rechts und füge das kopierte Skript ein

4.) Klick auf den Titel des Skripts ganz oben und vergebe einen Namen (z.B. Post-It)

5.) Speicher das Skript durch Klick auf "Done" oben links

6.) Gehe auf deinen iOS Homescreen und drücke irgendwo lang, um in den "wiggle mode" zu kommen (mit dem man auch die App Symbole anordnen kann)

7.) Drück das "+" Symbol oben links, blättere dann nach unten zu "Scriptable" (Liste ist alphabetisch), wähle die erste Widget Größe (small) und drück unten auf "Widget hinzugügen"

8.) Drück auf das Widget, um seine Einstellungen zu bearbeiten (optional lang drücken, wenn der Wiggle Modus schon beendet wurde)

9.) Wähle unter "Script" das oben erstellte aus (Post-It)

10.) Gib als "Parameter" deinen Text ein, der im Homescreen Widget angezeigt werden soll.

••••••

Du möchtest den Skript Code anpassen?

1.) Bei der Code Zeile 30 können Sie die Schriftgrösse ändern die auf dem Homescreen angezeigt wird.

2.) Ab der Code Zeile 35 bis 40 können Sie den sechsstelligen „HEX Farben Codes“ des angezeigten Widgets ändern.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment