Fix up app metadata - spaces/uppercase in tags meant these apps wouldn't have appeared in some searches
parent
0208268bf2
commit
9b224171e1
|
|
@ -271,7 +271,7 @@ and which gives information about the app for the Launcher.
|
|||
// 'locale' - provides 'locale' library for language-specific date/distance/etc
|
||||
// (a version of 'locale' is included in the firmware)
|
||||
// 'defaultconfig' - a set of apps that will can be installed and will wipe out all previously installed apps
|
||||
"tags": "", // comma separated tag list for searching
|
||||
"tags": "", // comma separated tag list for searching (don't include uppercase or spaces)
|
||||
// common types are:
|
||||
// 'clock' - it's a clock
|
||||
// 'widget' - it is (or provides) a widget
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
"version": "0.02",
|
||||
"description": "A UI/UX for espruino smartwatches, displays dinamically calc. x,y coordinates.",
|
||||
"icon": "app.png",
|
||||
"tags": "Color,input,buttons,touch,UI",
|
||||
"tags": "color,input,buttons,touch,ui",
|
||||
"supports": ["BANGLEJS"],
|
||||
"readme": "README.md",
|
||||
"screenshots": [{"url":"UI4swatch_icon.png"},{"url":"UI4swatch_s1.png"}],
|
||||
|
|
|
|||
|
|
@ -4,8 +4,8 @@
|
|||
"version": "0.04",
|
||||
"description": "Wrist mounted ukulele chords",
|
||||
"icon": "app.png",
|
||||
"tags": "uke, chords",
|
||||
"supports" : ["BANGLEJS2"],
|
||||
"tags": "uke,chords",
|
||||
"supports" : ["BANGLEJS2"],
|
||||
"readme": "README.md",
|
||||
"storage": [
|
||||
{"name":"Uke.app.js","url":"app.js"},
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
"description": "A fully featured watch face with a playable game on the side.",
|
||||
"readme":"README.md",
|
||||
"type": "clock",
|
||||
"tags": "clock, game",
|
||||
"tags": "clock,game",
|
||||
"supports" : ["BANGLEJS2"],
|
||||
"storage": [
|
||||
{"name":"bblobface.app.js","url":"app.js"},
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
"version": "0.01",
|
||||
"description": "Aerobic fitness test created by Léger & Lambert",
|
||||
"icon": "beeptest.png",
|
||||
"tags": "Health",
|
||||
"tags": "health",
|
||||
"supports": ["BANGLEJS2"],
|
||||
"readme": "README.md",
|
||||
"storage": [
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
"description": "Bangle version of a popular word search game",
|
||||
"supports" : ["BANGLEJS2"],
|
||||
"readme": "README.md",
|
||||
"tags": "game, text",
|
||||
"tags": "game,text",
|
||||
"storage": [
|
||||
{"name":"bordle.app.js","url":"bordle.app.js"},
|
||||
{"name":"wordlencr.txt","url":"wordlencr.txt"},
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
"description": "Show the current and upcoming events synchronized from Gadgetbridge",
|
||||
"icon": "calclock.png",
|
||||
"type": "clock",
|
||||
"tags": "clock agenda",
|
||||
"tags": "clock,agenda",
|
||||
"supports": ["BANGLEJS2"],
|
||||
"readme": "README.md",
|
||||
"storage": [
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
"icon": "app.png",
|
||||
"version": "0.13",
|
||||
"type": "clock",
|
||||
"tags": "clock, weather, cassio, retro",
|
||||
"tags": "clock,weather,cassio,retro",
|
||||
"supports": ["BANGLEJS2"],
|
||||
"allow_emulator": true,
|
||||
"readme": "README.md",
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
"version":"0.01",
|
||||
"description": "Record time active on a task, course, work or anything really.",
|
||||
"icon": "app.png",
|
||||
"tags": "logging, record, work, tasks",
|
||||
"tags": "logging,record,work,tasks",
|
||||
"supports" : ["BANGLEJS2"],
|
||||
"readme": "README.md",
|
||||
"screenshots" : [ { "url":"dump.png"}, { "url":"dump1.png" }, { "url":"dump2.png" }, { "url":"dump3.png" }, { "url":"dump4.png" }, { "url":"dump5.png" }, { "url":"dump6.png" } ],
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
"version": "0.03",
|
||||
"description": "Displays RGB565 and RGB888 colors, its name and code in screen.",
|
||||
"icon": "app.png",
|
||||
"tags": "Color,input,buttons,touch,UI",
|
||||
"tags": "color,input,buttons,touch,ui",
|
||||
"supports": ["BANGLEJS"],
|
||||
"readme": "README.md",
|
||||
"storage": [
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
"version":"0.01",
|
||||
"description": "Delay the locking of the screen to 5 seconds after the backlight turns off.",
|
||||
"icon": "app.png",
|
||||
"tags": "settings, configuration, backlight, touchscreen, screen",
|
||||
"tags": "settings,configuration,backlight,touchscreen,screen",
|
||||
"type": "bootloader",
|
||||
"supports" : ["BANGLEJS2"],
|
||||
"readme": "README.md",
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
"icon": "app.png",
|
||||
"version": "0.01",
|
||||
"type": "clock",
|
||||
"tags": "clock, weather, dino, trex, chrome",
|
||||
"tags": "clock,weather,dino,trex,chrome",
|
||||
"supports": ["BANGLEJS2"],
|
||||
"allow_emulator": true,
|
||||
"readme": "README.md",
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
"version": "0.02",
|
||||
"description": "Follow The Recipe (FTR) is a bangle.js app to follow a recipe step by step",
|
||||
"type": "app",
|
||||
"tags": "tool, tools, cook",
|
||||
"tags": "tool,tools,cook",
|
||||
"supports": [
|
||||
"BANGLEJS2"
|
||||
],
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
"description": "A simple way to initiate Google Assistant on Android. Intents must be enabled in Gadgetbridge.",
|
||||
"icon": "app.png",
|
||||
"type": "app",
|
||||
"tags": "tool, voice, tasker",
|
||||
"tags": "tool,voice,tasker",
|
||||
"supports": ["BANGLEJS","BANGLEJS2"],
|
||||
"allow_emulator": false,
|
||||
"storage": [
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
"version":"0.01",
|
||||
"description": "Disconnect from your android device by running this app. The app will forward you to your clock face immediately after triggering the command. (Gadgetbridge nightly required until version 82 is released)",
|
||||
"icon": "app.png",
|
||||
"tags": "android, gadgetbridge, bluetooth, bt",
|
||||
"tags": "android,gadgetbridge,bluetooth,bt",
|
||||
"supports" : ["BANGLEJS", "BANGLEJS2"],
|
||||
"storage": [
|
||||
{"name":"gbdiscon.app.js","url":"app.js"},
|
||||
|
|
|
|||
|
|
@ -3,9 +3,9 @@
|
|||
"version": "0.03",
|
||||
"description": "This app will provide you with on course data to support your golf game!",
|
||||
"icon": "golfview.png",
|
||||
"tags": "outdoors, gps",
|
||||
"tags": "outdoors,gps",
|
||||
"allow_emulator": true,
|
||||
"supports" : ["BANGLEJS2"],
|
||||
"supports" : ["BANGLEJS2"],
|
||||
"readme": "README.md",
|
||||
"custom": "custom.html",
|
||||
"storage": [
|
||||
|
|
|
|||
|
|
@ -4,8 +4,8 @@
|
|||
"version": "0.03",
|
||||
"description": "Wrist mounted guitar chords",
|
||||
"icon": "app.png",
|
||||
"tags": "guitar, chords",
|
||||
"supports" : ["BANGLEJS2"],
|
||||
"tags": "guitar,chords",
|
||||
"supports" : ["BANGLEJS2"],
|
||||
"readme": "README.md",
|
||||
"storage": [
|
||||
{"name":"guitar.app.js","url":"app.js"},
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
"description": "Songs lyrics and guitar chords",
|
||||
"icon": "app.png",
|
||||
"screenshots": [{"url": "screenshot.png"}],
|
||||
"tags": "guitar, song, lyrics, chords",
|
||||
"tags": "guitar,song,lyrics,chords",
|
||||
"supports" : ["BANGLEJS2"],
|
||||
"interface": "manage_songs.html",
|
||||
"readme": "README.md",
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
"icon": "app.png",
|
||||
"version":"0.01",
|
||||
"description": "Interval Timer for workouts, HIIT, or whatever else.",
|
||||
"tags": "timer, interval, hiit, workout",
|
||||
"tags": "timer,interval,hiit,workout",
|
||||
"readme":"README.md",
|
||||
"supports":["BANGLEJS2"],
|
||||
"storage": [
|
||||
|
|
|
|||
|
|
@ -1,23 +1,23 @@
|
|||
{
|
||||
{
|
||||
"id": "kanagsec",
|
||||
"name": "Kanagawa clock",
|
||||
"shortName":"kanagawa",
|
||||
"version": "0.04",
|
||||
"description": "A clock that displays the great wave of kanagawa (image from wikipedia) with seconds in active mode.",
|
||||
"icon": "app.png",
|
||||
"tags": "clock, kanagawa, wave",
|
||||
"tags": "clock,kanagawa,wave",
|
||||
"type": "clock",
|
||||
"supports" : ["BANGLEJS2"],
|
||||
"supports" : ["BANGLEJS2"],
|
||||
"readme": "README.md",
|
||||
"allow_emulator":true,
|
||||
"storage":
|
||||
"storage":
|
||||
[
|
||||
{"name":"kanagsec.app.js","url":"app.js"},
|
||||
{"name":"kanagsec.img","url":"app-icon.js","evaluate":true}
|
||||
],
|
||||
"screenshots" :
|
||||
"screenshots" :
|
||||
[
|
||||
{ "url":"screenshot.png" },
|
||||
{ "url":"screenshot2.png" }
|
||||
{ "url":"screenshot2.png" }
|
||||
]
|
||||
}
|
||||
|
|
@ -6,7 +6,7 @@
|
|||
"description": "A smart and simple calculator for Ohm's Law calculations, designed specifically for Bangle.js 2 smartwatches. Handles voltage, current, resistance, and power calculations with smart logic to prevent invalid inputs.",
|
||||
"icon": "app.png",
|
||||
"type": "app",
|
||||
"tags": "calculator, utilities, electric",
|
||||
"tags": "calculator,utilities,electric",
|
||||
"supports": ["BANGLEJS2"],
|
||||
"readme": "README.md",
|
||||
"allow_emulator": true,
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
"dependencies": {"mylocation":"app","weather":"app"},
|
||||
"screenshots": [{"url":"screenshot_pastel.png"}, {"url":"weather_icons.png"}],
|
||||
"type": "clock",
|
||||
"tags": "clock, weather, tool",
|
||||
"tags": "clock,weather,tool",
|
||||
"supports": ["BANGLEJS","BANGLEJS2"],
|
||||
"readme": "README.md",
|
||||
"storage": [
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
"version": "0.05",
|
||||
"description": "Simple app to power off your Bangle.js",
|
||||
"icon": "app.png",
|
||||
"tags": "tool, poweroff, shutdown",
|
||||
"tags": "tool,poweroff,shutdown",
|
||||
"supports" : ["BANGLEJS", "BANGLEJS2"],
|
||||
"readme": "README.md",
|
||||
"allow_emulator": true,
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
"version": "0.16",
|
||||
"description": "Tap or swipe left/right/up/down on your clock face to launch up to five apps of your choice. Configurations can be accessed through Settings->Apps.",
|
||||
"type": "bootloader",
|
||||
"tags": "tools, system",
|
||||
"tags": "tools,system",
|
||||
"readme": "README.md",
|
||||
"supports": ["BANGLEJS2"],
|
||||
"storage": [
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@
|
|||
{"url": "screenshot-2.png"}
|
||||
],
|
||||
"description": "An intuitive, easy-to-use app that aids in the interpretation of resistor color codes and calculation of resistance values.",
|
||||
"tags": "app, tool, electricity, ohms, converter",
|
||||
"tags": "app,tool,electricity,ohms,converter",
|
||||
"supports": ["BANGLEJS2"],
|
||||
"readme": "README.md",
|
||||
"allow_emulator": true,
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
"description": "A keyboard on your wrist! Swipe right for space, left for delete.",
|
||||
"icon": "app.png",
|
||||
"allow_emulator": true,
|
||||
"tags": "tools, keyboard, text, scribble",
|
||||
"tags": "tools,keyboard,text,scribble",
|
||||
"supports" : ["BANGLEJS2"],
|
||||
"readme": "README.md",
|
||||
"storage": [
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
"description": "A basic implementation of the famous consice workout",
|
||||
"icon": "icon.png",
|
||||
"type":"app",
|
||||
"tags": "Training, Workout",
|
||||
"tags": "training,workout",
|
||||
"supports": ["BANGLEJS2"],
|
||||
"readme": "README.md",
|
||||
"allow_emulator":true,
|
||||
|
|
|
|||
|
|
@ -5,8 +5,8 @@
|
|||
"description": "Watch face in the style of Casio Prototype Space Resist",
|
||||
"icon": "app-icon.png",
|
||||
"type": "clock",
|
||||
"tags": "clock, casio, retro",
|
||||
"supports" : ["BANGLEJS2"],
|
||||
"tags": "clock,casio,retro",
|
||||
"supports" : ["BANGLEJS2"],
|
||||
"readme": "README.md",
|
||||
"storage": [
|
||||
{"name":"spaceclock.app.js","url":"app.js"},
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
"description": "Navigate between clock and launcher with Swipe action",
|
||||
"icon": "swiperclocklaunch.png",
|
||||
"type": "bootloader",
|
||||
"tags": "tools, system",
|
||||
"tags": "tools,system",
|
||||
"supports": ["BANGLEJS", "BANGLEJS2"],
|
||||
"storage": [
|
||||
{"name":"swiperclocklaunch.boot.js","url":"boot.js"},
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
"description": "Tamagotchi WatchApp",
|
||||
"icon": "app.png",
|
||||
"allow_emulator": true,
|
||||
"tags": "clock, watch, virtual pet",
|
||||
"tags": "clock,watch,virtualpet",
|
||||
"supports": [
|
||||
"BANGLEJS2"
|
||||
],
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
"version": "0.08",
|
||||
"description": "App to test the bangle.js input interface. It displays the user action in text, circle buttons or on/off switch UI elements.",
|
||||
"icon": "app.png",
|
||||
"tags": "input,interface,buttons,touch,UI",
|
||||
"tags": "input,interface,buttons,touch,ui",
|
||||
"supports": ["BANGLEJS"],
|
||||
"readme": "README.md",
|
||||
"storage": [
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
"description": "Conveniently record a series of date/time stamps",
|
||||
"screenshots": [ {"url": "screenshot.png" } ],
|
||||
"readme": "README.md",
|
||||
"tags": "timestamp, log",
|
||||
"tags": "timestamp,log",
|
||||
"supports": ["BANGLEJS2"],
|
||||
"interface": "interface.html",
|
||||
"storage": [
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
"description": "Draw stuff in your wrist",
|
||||
"icon": "app.png",
|
||||
"allow_emulator": true,
|
||||
"tags": "tools, keyboard, text, scribble",
|
||||
"tags": "tools,keyboard,text,scribble",
|
||||
"supports" : ["BANGLEJS2"],
|
||||
"readme": "README.md",
|
||||
"storage": [
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
"dependencies": {"weather":"app"},
|
||||
"screenshots": [{"url":"screens/screen1.png"}],
|
||||
"type": "clock",
|
||||
"tags": "clock, weather",
|
||||
"tags": "clock,weather",
|
||||
"supports": ["BANGLEJS","BANGLEJS2"],
|
||||
"allow_emulator": true,
|
||||
"readme": "README.md",
|
||||
|
|
|
|||
|
|
@ -3,9 +3,9 @@
|
|||
"shortName":"Screenlock",
|
||||
"version":"0.03",
|
||||
"description": "Lock a Bangle 2 screen by tapping a widget.",
|
||||
"icon": "widget.png",
|
||||
"icon": "widget.png",
|
||||
"type": "widget",
|
||||
"tags": "widget, screenlock",
|
||||
"tags": "widget,screenlock",
|
||||
"supports" : ["BANGLEJS2"],
|
||||
"readme": "README.md",
|
||||
"storage": [
|
||||
|
|
|
|||
|
|
@ -207,10 +207,10 @@ apps.forEach((app,appIdx) => {
|
|||
if (!app.name) ERROR(`App ${app.id} has no name`, {file:metadataFile});
|
||||
var isApp = !app.type || app.type=="app";
|
||||
var appTags = app.tags ? app.tags.split(",") : [];
|
||||
/*if (appTags.some(tag => tag!=tag.trim()))
|
||||
if (appTags.some(tag => tag!=tag.trim()))
|
||||
WARN(`App ${app.id} 'tag' list contains whitespace ("${app.tags}")`, {file:metadataFile});
|
||||
if (appTags.some(tag => tag!=tag.toLowerCase()))
|
||||
WARN(`App ${app.id} 'tag' list contains uppercase ("${app.tags}")`, {file:metadataFile});*/
|
||||
WARN(`App ${app.id} 'tag' list contains uppercase ("${app.tags}")`, {file:metadataFile});
|
||||
if (app.name.length>20 && !app.shortName && isApp) ERROR(`App ${app.id} has a long name, but no shortName`, {file:metadataFile});
|
||||
if (app.type && !METADATA_TYPES.includes(app.type))
|
||||
ERROR(`App ${app.id} 'type' is one one of `+METADATA_TYPES, {file:metadataFile});
|
||||
|
|
|
|||
Loading…
Reference in New Issue