9.diff (26922B)
1 diff --git a/README.md b/README.md 2 index f817f28..c954d82 100644 3 --- a/README.md 4 +++ b/README.md 5 @@ -1,12 +1,15 @@ 6 # ls-vertretungsplan-desktop 7 UNOFFICIAL Desktop App for the schedule of Lornsenschule, Schleswig 8 9 +#DOWNLOADS 10 +Downloades can be found here: https://ls-desktop.herokuapp.com/download/ 11 + 12 # Info about the API 13 This Desktop App uses an API by @johan12345 that is NOT managed by me. I am allowed to use it and to have it in the Git Source. To see the APP made by @johan12345 take a look at https://ls.vertretungsplan.me 14 15 -# How to Build (If you find the URL to the API ^^) 16 +# How to Build 17 18 1. Clone the Repository 19 2. Run `npm install` 20 3. If You use Windows run `build.cmd` otherwise go to 4 21 -4. Everybody else go into the app directory and run `npm install` and now run `node build.js` in the root 22 +4. Everybody else go into the app directory and run `npm install` and now run `build` in the root 23 diff --git a/app/index.html b/app/index.html 24 index e5c5059..9c1b882 100644 25 --- a/app/index.html 26 +++ b/app/index.html 27 @@ -23,7 +23,7 @@ <h1 id="school"></h1></br> 28 </ul> 29 30 <div class="tab-content"> 31 - <div class="tab-pane fade in active" id="vertretungen"></div> 32 + <div class="tab-pane fade in active" id="vertretungen"><div id="days" day="0"></div><div id="days" day="1"></div></div> 33 <div class="tab-pane fade" id="messages"></div> 34 </div> 35 36 @@ -59,78 +59,86 @@ <h1 id="school"></h1></br> 37 document.all.school.innerHTML = body.schoolId.replace(/_/g, ' ') + ' Vertretungsplan'; // Print the json response 38 for (var key in body.days) { 39 if (body.days.hasOwnProperty(key)) { 40 - ////////////////////////////////////////////////////////////// 41 - ////////////////////////////////////////////////////////////// 42 - // // 43 - // 1 == morgen // 44 - // 0 == heute // 45 - // // 46 - ////////////////////////////////////////////////////////////// 47 - ////////////////////////////////////////////////////////////// 48 - if (key == 1) { 49 - date = body.days[key].dateString 50 - substitutions = body.days[key].substitutions 51 - messages = body.days[key].messages 52 - console.log("Day found") 53 - for (var key in messages) { 54 - if (messages.hasOwnProperty(key)) { 55 - $("#messages").append('<div class="card card-block" style="height: 10%; background-color: #EEEEEE; color: #000"><p>' + messages[key].replace(/\n/g, ' ') + '</p></div>') 56 - } 57 + date = body.days[key].dateString 58 + substitutions = body.days[key].substitutions 59 + messages = body.days[key].messages 60 + day = key 61 + console.log("Day found") 62 + $("#messages").append('<h2 id="date">' + date + '</h2>') 63 + for (var key in messages) { 64 + if (messages.hasOwnProperty(key)) { 65 + $("#messages").append('<div class="card card-block" style="height: 10%; background-color: #EEEEEE; color: #000"><p>' + messages[key].replace(/\n/g, ' ') + '</p></div>') 66 } 67 - for (var key in substitutions) { 68 - if (substitutions.hasOwnProperty(key)) { 69 - console.log("Substitutions found") 70 - substitutions_now = substitutions[key] 71 - klassen = substitutions_now.classes 72 - for (var key in klassen) { 73 - if (klassen.hasOwnProperty(key)) { 74 - console.log("Class found") 75 - klasse = klassen[key] 76 - console.log(klasse) 77 - console.log($("h3").filter("[klasse='" + klasse + "']", "#klasse").length) 78 - if ($("h3").filter("[klasse='" + klasse + "']", "#klasse").length == 0) { 79 - console.log("Found new Class") 80 - $("#vertretungen").append('<div id="klasse" klasse="' + klasse + '"><h3 id="klasse" klasse="' + klasse + '">' + klasse + '</h3>') 81 - }else{} 82 - var reg = new RegExp('[-]'); 83 - lesson = substitutions_now.lesson 84 - substitutions_type = substitutions_now.type 85 - text = substitutions_now.text 86 - console.log("Appending") 87 - console.log("Multiple Subjects: " + reg.test(lesson)) 88 - if (substitutions_type == "Vertretung") { 89 + } 90 + console.log(day) 91 + $("div").filter("[day='" + day + "']", "#days").append('<h2 id="date" date="' + date + '">' + date + '</h2>') 92 + for (var key in substitutions) { 93 + if (substitutions.hasOwnProperty(key)) { 94 + console.log("Substitutions found") 95 + substitutions_now = substitutions[key] 96 + klassen = substitutions_now.classes 97 + for (var key in klassen) { 98 + if (klassen.hasOwnProperty(key)) { 99 + console.log("Class found") 100 + klasse = klassen[key] 101 + if ($("h3").filter("[klasse='" + klasse + "'][day='" + day + "']", "#klasse").length == 0) { 102 + console.log("Found new Class") 103 + $("h2").filter("[date='" + date + "']", "#days").after('<div id="klasse" klasse="' + klasse + '"><h3 id="klasse" klasse="' + klasse + '" day="' + day + '">' + klasse + '</h3>') 104 + }else{} 105 + var reg = new RegExp('[-]'); 106 + lesson = substitutions_now.lesson 107 + substitutions_type = substitutions_now.type 108 + text = substitutions_now.text 109 + console.log("Appending") 110 + console.log("Multiple Subjects: " + reg.test(lesson)) 111 + if (substitutions_type == "Vertretung") { 112 + if (reg.test(lesson)) { 113 + $("h3").filter("[klasse='" + klasse + "'][day='" + day + "']", "#klasse").after('<div class="card card-block" style="height: 10%; background-color: #2196F3; color: #fff" id="substitution" substitution="' + lesson + '"><div class="row"><div class="col-md-4" style="position: relative; margin: 0;"><p style="font-size: 300%; margin: 0; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);">' + lesson + '</p></div><div class="col-md-8"><h4>' + substitutions_type + '</h4></br><h7>' + text + '</h7></div></div></div>') 114 + }else{ 115 + $("h3").filter("[klasse='" + klasse + "'][day='" + day + "']", "#klasse").after('<div class="card card-block" style="height: 10%; background-color: #2196F3; color: #fff" id="substitution" substitution="' + lesson + '"><div class="row"><div class="col-md-4" style="position: relative; margin: 0;"><p style="font-size: 350%; margin: 0; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);">' + lesson + '</p></div><div class="col-md-8"><h4>' + substitutions_type + '</h4></br><h7>' + text + '</h7></div></div></div>') 116 + } 117 + }else{ 118 + if (substitutions_type == "Betreuung") { 119 if (reg.test(lesson)) { 120 - $("h3").filter("[klasse='" + klasse + "']", "#klasse").after('<div class="card card-block" style="height: 10%; background-color: #2196F3; color: #fff">' + '<div class="row">' + '<div class="col-md-4" style="position: relative; margin: 0;"><p style="font-size: 300%; margin: 0; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);">' + lesson + '</p></div>' + '<div class="col-md-8"><h4>' + substitutions_type + '</h4></br><h7>' + text + '</h7></div>' + '</div>' + '</div>') 121 + $("h3").filter("[klasse='" + klasse + "'][day='" + day + "']", "#klasse").after('<div class="card card-block" style="height: 10%; background-color: #2196F3; color: #fff" id="substitution" substitution="' + lesson + '"><div class="row"><div class="col-md-4" style="position: relative; margin: 0;"><p style="font-size: 300%; margin: 0; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);">' + lesson + '</p></div><div class="col-md-8"><h4>' + substitutions_type + '</h4></br><h7>' + text + '</h7></div></div></div>') 122 }else{ 123 - $("h3").filter("[klasse='" + klasse + "']", "#klasse").after('<div class="card card-block" style="height: 10%; background-color: #2196F3; color: #fff">' + '<div class="row">' + '<div class="col-md-4" style="position: relative; margin: 0;"><p style="font-size: 350%; margin: 0; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);">' + lesson + '</p></div>' + '<div class="col-md-8"><h4>' + substitutions_type + '</h4></br><h7>' + text + '</h7></div>' + '</div>' + '</div>') 124 + $("h3").filter("[klasse='" + klasse + "'][day='" + day + "']", "#klasse").after('<div class="card card-block" style="height: 10%; background-color: #2196F3; color: #fff" id="substitution" substitution="' + lesson + '>' + '<div class="row"><div class="col-md-4" style="position: relative; margin: 0;"><p style="font-size: 350%; margin: 0; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);">' + lesson + '</p></div><div class="col-md-8"><h4>' + substitutions_type + '</h4></br><h7>' + text + '</h7></div></div></div>') 125 } 126 }else{ 127 - if (substitutions_type == "Betreuung") { 128 + if (substitutions_type == "Unterricht geändert") { 129 if (reg.test(lesson)) { 130 - $("h3").filter("[klasse='" + klasse + "']", "#klasse").after('<div class="card card-block" style="height: 10%; background-color: #2196F3; color: #fff">' + '<div class="row">' + '<div class="col-md-4" style="position: relative; margin: 0;"><p style="font-size: 300%; margin: 0; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);">' + lesson + '</p></div>' + '<div class="col-md-8"><h4>' + substitutions_type + '</h4></br><h7>' + text + '</h7></div>' + '</div>' + '</div>') 131 + $("h3").filter("[klasse='" + klasse + "'][day='" + day + "']", "#klasse").after('<div class="card card-block" style="height: 10%; background-color: #FFA000; color: #fff" id="substitution" substitution="' + lesson + '"><div class="row"><div class="col-md-4" style="position: relative; margin: 0;"><p style="font-size: 300%; margin: 0; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);">' + lesson + '</p></div><div class="col-md-8"><h4>' + substitutions_type + '</h4></br><h7>' + text + '</h7></div></div></div>') 132 }else{ 133 - $("h3").filter("[klasse='" + klasse + "']", "#klasse").after('<div class="card card-block" style="height: 10%; background-color: #2196F3; color: #fff">' + '<div class="row">' + '<div class="col-md-4" style="position: relative; margin: 0;"><p style="font-size: 350%; margin: 0; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);">' + lesson + '</p></div>' + '<div class="col-md-8"><h4>' + substitutions_type + '</h4></br><h7>' + text + '</h7></div>' + '</div>' + '</div>') 134 + $("h3").filter("[klasse='" + klasse + "'][day='" + day + "']", "#klasse").after('<div class="card card-block" style="height: 10%; background-color: #FFA000; color: #fff" id="substitution" substitution="' + lesson + '"><div class="row">' + '<div class="col-md-4" style="position: relative; margin: 0;"><p style="font-size: 350%; margin: 0; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);">' + lesson + '</p></div><div class="col-md-8"><h4>' + substitutions_type + '</h4></br><h7>' + text + '</h7></div></div></div>') 135 } 136 }else{ 137 - if (substitutions_type == "Unterricht geändert") { 138 + if (substitutions_type == "Lehrertausch") { 139 if (reg.test(lesson)) { 140 - $("h3").filter("[klasse='" + klasse + "']", "#klasse").after('<div class="card card-block" style="height: 10%; background-color: #FFA000; color: #fff">' + '<div class="row">' + '<div class="col-md-4" style="position: relative; margin: 0;"><p style="font-size: 300%; margin: 0; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);">' + lesson + '</p></div>' + '<div class="col-md-8"><h4>' + substitutions_type + '</h4></br><h7>' + text + '</h7></div>' + '</div>' + '</div>') 141 + $("h3").filter("[klasse='" + klasse + "'][day='" + day + "']", "#klasse").after('<div class="card card-block" style="height: 10%; background-color: #9C27B0; color: #fff" id="substitution" substitution="' + lesson + '"><div class="row"><div class="col-md-4" style="position: relative; margin: 0;"><p style="font-size: 300%; margin: 0; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);">' + lesson + '</p></div><div class="col-md-8"><h4>' + substitutions_type + '</h4></br><h7>' + text + '</h7></div></div></div>') 142 }else{ 143 - $("h3").filter("[klasse='" + klasse + "']", "#klasse").after('<div class="card card-block" style="height: 10%; background-color: #FFA000; color: #fff">' + '<div class="row">' + '<div class="col-md-4" style="position: relative; margin: 0;"><p style="font-size: 350%; margin: 0; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);">' + lesson + '</p></div>' + '<div class="col-md-8"><h4>' + substitutions_type + '</h4></br><h7>' + text + '</h7></div>' + '</div>' + '</div>') 144 + $("h3").filter("[klasse='" + klasse + "'][day='" + day + "']", "#klasse").after('<div class="card card-block" style="height: 10%; background-color: #9C27B0; color: #fff" id="substitution" substitution="' + lesson + '"><div class="row"><div class="col-md-4" style="position: relative; margin: 0;"><p style="font-size: 350%; margin: 0; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);">' + lesson + '</p></div><div class="col-md-8"><h4>' + substitutions_type + '</h4></br><h7>' + text + '</h7></div></div></div>') 145 } 146 }else{ 147 - if (substitutions_type == "Lehrertausch") { 148 + if (substitutions_type == "anderer Raum") { 149 if (reg.test(lesson)) { 150 - $("h3").filter("[klasse='" + klasse + "']", "#klasse").after('<div class="card card-block" style="height: 10%; background-color: #9C27B0; color: #fff">' + '<div class="row">' + '<div class="col-md-4" style="position: relative; margin: 0;"><p style="font-size: 300%; margin: 0; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);">' + lesson + '</p></div>' + '<div class="col-md-8"><h4>' + substitutions_type + '</h4></br><h7>' + text + '</h7></div>' + '</div>' + '</div>') 151 + $("h3").filter("[klasse='" + klasse + "'][day='" + day + "']", "#klasse").after('<div class="card card-block" style="height: 10%; background-color: #9C27B0; color: #fff" id="substitution" substitution="' + lesson + '"><div class="row"><div class="col-md-4" style="position: relative; margin: 0;"><p style="font-size: 300%; margin: 0; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);">' + lesson + '</p></div><div class="col-md-8"><h4>' + substitutions_type + '</h4></br><h7>' + text + '</h7></div></div></div>') 152 }else{ 153 - $("h3").filter("[klasse='" + klasse + "']", "#klasse").after('<div class="card card-block" style="height: 10%; background-color: #9C27B0; color: #fff">' + '<div class="row">' + '<div class="col-md-4" style="position: relative; margin: 0;"><p style="font-size: 350%; margin: 0; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);">' + lesson + '</p></div>' + '<div class="col-md-8"><h4>' + substitutions_type + '</h4></br><h7>' + text + '</h7></div>' + '</div>' + '</div>') 154 + $("h3").filter("[klasse='" + klasse + "'][day='" + day + "']", "#klasse").after('<div class="card card-block" style="height: 10%; background-color: #9C27B0; color: #fff" id="substitution" substitution="' + lesson + '"><div class="row"><div class="col-md-4" style="position: relative; margin: 0;"><p style="font-size: 350%; margin: 0; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);">' + lesson + '</p></div><div class="col-md-8"><h4>' + substitutions_type + '</h4></br><h7>' + text + '</h7></div></div></div>') 155 } 156 }else{ 157 - if (substitutions_type == "anderer Raum") { 158 + if (substitutions_type == "Aufgaben") { 159 if (reg.test(lesson)) { 160 - $("h3").filter("[klasse='" + klasse + "']", "#klasse").after('<div class="card card-block" style="height: 10%; background-color: #9C27B0; color: #fff">' + '<div class="row">' + '<div class="col-md-4" style="position: relative; margin: 0;"><p style="font-size: 300%; margin: 0; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);">' + lesson + '</p></div>' + '<div class="col-md-8"><h4>' + substitutions_type + '</h4></br><h7>' + text + '</h7></div>' + '</div>' + '</div>') 161 + $("h3").filter("[klasse='" + klasse + "'][day='" + day + "']", "#klasse").after('<div class="card card-block" style="height: 10%; background-color: #F44336; color: #fff" id="substitution" substitution="' + lesson + '"><div class="row"><div class="col-md-4" style="position: relative; margin: 0;"><p style="font-size: 300%; margin: 0; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);">' + lesson + '</p></div><div class="col-md-8"><h4>' + substitutions_type + '</h4></br><h7>' + text + '</h7></div></div></div>') 162 }else{ 163 - $("h3").filter("[klasse='" + klasse + "']", "#klasse").after('<div class="card card-block" style="height: 10%; background-color: #9C27B0; color: #fff">' + '<div class="row">' + '<div class="col-md-4" style="position: relative; margin: 0;"><p style="font-size: 350%; margin: 0; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);">' + lesson + '</p></div>' + '<div class="col-md-8"><h4>' + substitutions_type + '</h4></br><h7>' + text + '</h7></div>' + '</div>' + '</div>') 164 + $("h3").filter("[klasse='" + klasse + "'][day='" + day + "']", "#klasse").after('<div class="card card-block" style="height: 10%; background-color: #F44336; color: #fff" id="substitution" substitution="' + lesson + '"><div class="row"><div class="col-md-4" style="position: relative; margin: 0;"><p style="font-size: 350%; margin: 0; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);">' + lesson + '</p></div><div class="col-md-8"><h4>' + substitutions_type + '</h4></br><h7>' + text + '</h7></div></div></div>') 165 + } 166 + }else{ 167 + if (substitutions_type == "Sondereins.") { 168 + if (reg.test(lesson)) { 169 + $("h3").filter("[klasse='" + klasse + "'][day='" + day + "']", "#klasse").after('<div class="card card-block" style="height: 10%; background-color: #2196F3; color: #fff" id="substitution" substitution="' + lesson + '"><div class="row"><div class="col-md-4" style="position: relative; margin: 0;"><p style="font-size: 300%; margin: 0; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);">' + lesson + '</p></div><div class="col-md-8"><h4>' + substitutions_type + '</h4></br><h7>' + text + '</h7></div></div></div>') 170 + }else{ 171 + $("h3").filter("[klasse='" + klasse + "'][day='" + day + "']", "#klasse").after('<div class="card card-block" style="height: 10%; background-color: #2196F3; color: #fff" id="substitution" substitution="' + lesson + '"><div class="row"><div class="col-md-4" style="position: relative; margin: 0;"><p style="font-size: 350%; margin: 0; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);">' + lesson + '</p></div><div class="col-md-8"><h4>' + substitutions_type + '</h4></br><h7>' + text + '</h7></div></div></div>') 172 + } 173 } 174 } 175 } 176 @@ -138,21 +146,27 @@ <h1 id="school"></h1></br> 177 } 178 } 179 } 180 + $.fn.sortSubstitutions = jQuery.fn.sortSubstitutions = function sortSubstitutions() { 181 + $("> div", this[0]).sort(dec_sort).appendTo(this[0]); 182 + function dec_sort(a, b){ return ($(b).attr("substitution")) < ($(a).attr("substitution")) ? 1 : -1; } 183 + } 184 + $('div#klasse[klasse="' + klasse + '"]').sortSubstitutions(); 185 } 186 } 187 } 188 } 189 } 190 } 191 - $.fn.sortDivs = jQuery.fn.sortDivs = function sortDivs() { 192 + $.fn.sortClasses = jQuery.fn.sortClasses = function sortClasses() { 193 $("> div", this[0]).sort(dec_sort).appendTo(this[0]); 194 function dec_sort(a, b){ return ($(b).attr("klasse")) < ($(a).attr("klasse")) ? 1 : -1; } 195 } 196 - $('#vertretungen').sortDivs(); 197 + $('#days[day="0"]').sortClasses(); 198 + $('#days[day="1"]').sortClasses(); 199 }else{ 200 - console.log(error) 201 - $("#Main").append('<p class="bg-danger">Scheinbar geht dein Internet nicht :/</p>') 202 - } 203 + console.log(error) 204 + $("#Main").append('<p class="bg-danger">Scheinbar geht dein Internet nicht :/</p>') 205 + } 206 }) 207 208 $('#Tabs a').click(function (e) { 209 diff --git a/app/main.js b/app/main.js 210 index c919fa0..3277eef 100644 211 --- a/app/main.js 212 +++ b/app/main.js 213 @@ -1,19 +1,25 @@ 214 -const {app, BrowserWindow, dialog} = require('electron') 215 +const {app, BrowserWindow, dialog, globalShortcut} = require('electron') 216 +const autoUpdater = require('electron').autoUpdater 217 +const os = require("os") 218 219 // Keep a global reference of the window object, if you don't, the window will 220 // be closed automatically when the JavaScript object is garbage collected. 221 let win 222 223 function update () { 224 - var feedUrl = 'https://ls-desktop.herokuapp.com/update/win32/' + app.getVersion(); 225 + console.warn("Starting Autoupdater") 226 + console.warn(app.getVersion()) 227 + var feedUrl = 'https://ls-desktop.herokuapp.com/update/' + os.platform() + '/' + app.getVersion() + '/'; 228 autoUpdater.setFeedURL(feedUrl); 229 230 + autoUpdater.checkForUpdates() 231 + 232 autoUpdater.on('update-downloaded', function (event, releaseNotes, releaseName, releaseDate, updateUrl, quitAndUpdate) { 233 234 var index = dialog.showMessageBox(mainWindow, { 235 type: 'info', 236 - buttons: [i18n.__('Restart'), i18n.__('Later')], 237 - title: "Typetalk", 238 + buttons: ['Restart', 'Later'], 239 + title: "Lornsenschule Vertretungsplan", 240 message: i18n.__('The new version has been downloaded. Please restart the application to apply the updates.'), 241 detail: releaseName + "\n\n" + releaseNotes 242 }); 243 @@ -22,7 +28,7 @@ function update () { 244 return; 245 } 246 247 - quitAndUpdate(); 248 + autoUpdater.quitAndUpdate(); 249 }); 250 } 251 252 @@ -33,7 +39,6 @@ function createWindow () { 253 // and load the index.html of the app. 254 win.loadURL(`file://${__dirname}/index.html`) 255 256 - // Open the DevTools. 257 //win.webContents.openDevTools() 258 259 // Emitted when the window is closed. 260 @@ -43,6 +48,7 @@ function createWindow () { 261 // when you should delete the corresponding element. 262 win = null 263 }) 264 + update() 265 } 266 267 // This method will be called when Electron has finished 268 @@ -65,7 +71,6 @@ app.on('activate', () => { 269 if (win === null) { 270 createWindow() 271 } 272 - update(); 273 }) 274 275 // In this file you can include the rest of your app's specific main process 276 diff --git a/app/package.json b/app/package.json 277 index 8c60e60..700d1d0 100644 278 --- a/app/package.json 279 +++ b/app/package.json 280 @@ -1,10 +1,21 @@ 281 { 282 "name": "ls_vertretungsplan_desktop", 283 "productName": "Lornsenschule Vertretungsplan", 284 - "version": "0.0.4", 285 + "version": "0.1.0", 286 "description": "Eine Anwendung die den Vertretungsplan auf dem Desktop anzeigt", 287 "main": "./main.js", 288 - "author": "Lornsenschule Vertretungsplan", 289 + "author": { 290 + "name" : "Lornsenschule Vertretungsplan", 291 + "email" : "ínfo@nordgedanken.de", 292 + "url" : "https://github.com/MTRNord/ls-vertretungsplan-desktop" 293 + }, 294 + "contributors": [ 295 + { 296 + "name" : "Marcel Radzio", 297 + "email" : "ínfo@nordgedanken.de", 298 + "url" : "https://github.com/MTRNord/ls-vertretungsplan-desktop" 299 + } 300 + ], 301 "license": "", 302 "dependencies": { 303 "cached-request": "^1.0.0", 304 diff --git a/package.json b/package.json 305 index 39328fa..6ce419b 100644 306 --- a/package.json 307 +++ b/package.json 308 @@ -1,8 +1,8 @@ 309 { 310 "name": "ls_vertretungsplan_desktop", 311 - "version": "0.0.4", 312 + "version": "0.1.0", 313 "description": "Eine Anwendung die den Vertretungsplan auf dem Desktop anzeigt", 314 - "author": "Marcel Radzio <info@nordgedanken.de>", 315 + "author": "Marcel Radzio", 316 "license": "", 317 "devDependencies": { 318 "electron": "^1.3.4", 319 @@ -34,12 +34,12 @@ 320 }, 321 "win": { 322 "iconUrl": "https://github.com/MTRNord/ls-vertretungsplan-desktop/tree/master/app/LS.ico?raw=true", 323 + "remoteReleases": "http://ls-desktop.herokuapp.com/download/0.0.4/", 324 "icon": "app/LS.ico" 325 }, 326 "linux": { 327 "target": [ 328 "deb", 329 - "AppImage", 330 "zip", 331 "rpm" 332 ]