MagicMirror Forum
    • Recent
    • Tags
    • Unsolved
    • Solved
    • MagicMirror² Repository
    • Documentation
    • 3rd-Party-Modules
    • Donate
    • Discord
    • Register
    • Login
    A New Chapter for MagicMirror: The Community Takes the Lead
    Read the statement by Michael Teeuw here.

    Something I'm working on ...

    Scheduled Pinned Locked Moved Announcements
    39 Posts 12 Posters 41.9k Views 12 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • yawnsY Offline
      yawns Moderator
      last edited by

      Very nice, MichMich. I like the integration with github pulling almost all data and as such removing the need to enter description and all that over and over again. I added my modules

      1 Reply Last reply Reply Quote 0
      • R Offline
        roramirez Core Contributors
        last edited by

        Thanks @MichMich the information. I will take a look of code :)

        Hi @Jopyth , do you know where I can find some code or design about the @strawberry-3-141 app?

        I think we can bootstrap a app for install apps (modules) into a MagicMirror with API provider by modules section of web. The idea it’s most like a packages manager + configuration.

        Easy module development with MagicMirror Module Template

        1 Reply Last reply Reply Quote 0
        • MichMichM Offline
          MichMich
          last edited by

          If you work on such an installer. Make sure it’s based on the module infrastructure where possible. That we you can develop and test is, without the need of directly integrating it in mm2. If It’s fully up and running and tested, we can integrate it by adding it to the list of default modules.

          R 1 Reply Last reply Reply Quote 1
          • CatoC Offline
            Cato Module Developer
            last edited by

            @MichMich I noticed that format of table markdown is not optimal. The rows should be alternating color. A good example that current format is bad is here: http://beta.magicmirror.builders/module/29/motioneye. Notice that it’s difficult to see what configuration value belongs to which description…

            1 Reply Last reply Reply Quote 0
            • LukeCodewalkerL Offline
              LukeCodewalker Module Developer
              last edited by

              Hey,
              another problem with tables:

              if you use html-tables in your GitHub README.md it’s not displayed the right way.
              Example: http://beta.magicmirror.builders/module/33/soccerlivescore

              MichMichM 1 Reply Last reply Reply Quote 0
              • C Offline
                chrisfoerg
                last edited by

                It is only an idea. In Wordpress the themes have all the same style at the beginning in the css file for the declaration of the theme:

                /*
                Theme Name: Tutorial
                Theme URI: http://wordpress.lernenhoch2.de
                Description: Template zum WordPress Tutorial auf http://wordpress.lernenhoch2.de
                Author: Christian Strang
                Author URI: http://lernenhoch2.de
                */

                https://codex.wordpress.org/Theme_Development#Theme_Stylesheet

                maybe it is something for you to use?

                1 Reply Last reply Reply Quote 0
                • MichMichM Offline
                  MichMich @LukeCodewalker
                  last edited by

                  @LukeCodewalker It seems the html is malformed and thus the markdown parser in unable to parse it correctly. It looks like the table contains white lines which are not allowed. If you run your markdown thru a markdown linter, you’ll see there is an issue with the markdown of that readme file.

                  CatoC 1 Reply Last reply Reply Quote 0
                  • CatoC Offline
                    Cato Module Developer @MichMich
                    last edited by

                    @MichMich I guess both @LukeCodewalker and me have the same issue. I’ve included my markdown below and as far as I can see there should be no issue with it. The only thing might be the inclusion of
                    tags for new line.

                    Configuration option | Comment | Default 
                    ---|---|---
                    url | Video Streaming URL.<br><br>You find it in <i>Motion Eye</i> in the <i>Video Streaming Section</i> under <i>Usefull URLs</i> by by clicking the <i>Streaming URL</i> link.<br><br>It should look something like this: `http://motioneye:8081` (probably an IP instead of hostname) | No default
                    autoHide | If you want the camera to only be visible on the mirror when there is motion, set this to true. You will then have to enable "Call a Web Hook" in Motion Eye under the Motion Notifications section: <br><br> - Web Hook URL: <b>[http://URL of your mirror]/motioneye</b>. Example: http://192.168.1.11:8080/motioneye<br> - HTTP Method: <b>GET</b><br><br>Remember to update IP white list to enable access from your Motion Eye box.|false
                    autoHideDelay|If autoHide is enabled you can decide how long to wait before hiding the camera|60000 (60 seconds)
                    width|Width of camera image. You have to try out what fits YOUR monitor | 400px
                    debug|Show messages in the log|false
                    
                    MichMichM 1 Reply Last reply Reply Quote 0
                    • MichMichM Offline
                      MichMich @Cato
                      last edited by

                      @Cato That’s correct. You’re mixing html and markdown. Which is not supported within a markdown table. The markdown parser is very strict about this due to security reasons. (We want to prevent code injection via a readme file at all costs.)

                      I just use the parser used/developed by/for https://www.npmjs.com, so this is not something I can change.

                      1 Reply Last reply Reply Quote 0
                      • CatoC Offline
                        Cato Module Developer
                        last edited by

                        @MichMich Are you sure about that?

                        I thought InLine HTML was perfectly allowed. See:

                        • https://daringfireball.net/projects/markdown/syntax#html
                        • https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet#html
                        MichMichM 1 Reply Last reply Reply Quote 0
                        • MichMichM Offline
                          MichMich @Cato
                          last edited by

                          @Cato Yes, it’s allowed, but not within a markdown table.

                          1 Reply Last reply Reply Quote 0
                          • CatoC Offline
                            Cato Module Developer
                            last edited by

                            Ok, I’ll reformat my documentation when I get time.

                            I found this nice tool: https://dlaa.me/markdownlint/ for checking syntax.

                            1 Reply Last reply Reply Quote 0
                            • paphkoP Offline
                              paphko
                              last edited by

                              Nice step, a dedicated module database :-)
                              However, via chrome for Android, I am not able to upload an image for my module…

                              1 Reply Last reply Reply Quote 0
                              • R Offline
                                roramirez Core Contributors @MichMich
                                last edited by

                                @MichMich From some days I’ve been working in design and little code about mention before.

                                I hope soon release something can be stable. At today is state alfa state and not working.

                                I send the URL of project if someone is interested
                                https://github.com/roramirez/MagicMirror-Module-Manager

                                Easy module development with MagicMirror Module Template

                                1 Reply Last reply Reply Quote 0
                                • B Offline
                                  bmarofsky @MichMich
                                  last edited by

                                  @MichMich It would be good to require screenshots. Other wise its a good start.

                                  MichMichM 1 Reply Last reply Reply Quote 0
                                  • tosti007T Offline
                                    tosti007 Module Developer
                                    last edited by

                                    I cannot upload any modules at all, either with pc (windows, firefox) or android (chrome). Is this currently supposed to be like that (aka disabled) or am i doing something wrong? :) I am on the correct github account and the repositories are public.

                                    If there is anything don't hesitate to contact me!
                                    ProfileSwitcher, TouchNotifications

                                    MichMichM yawnsY 2 Replies Last reply Reply Quote 0
                                    • MichMichM Offline
                                      MichMich @bmarofsky
                                      last edited by

                                      @bmarofsky Not all modules have visuals. Some just work in the background.

                                      1 Reply Last reply Reply Quote 0
                                      • MichMichM Offline
                                        MichMich @tosti007
                                        last edited by

                                        @tosti007 Doe you notice some particular error in the browser’s console?

                                        tosti007T 1 Reply Last reply Reply Quote 0
                                        • tosti007T Offline
                                          tosti007 Module Developer @MichMich
                                          last edited by

                                          @MichMich I didn’t check, will do when I have time somewhere later today.

                                          If there is anything don't hesitate to contact me!
                                          ProfileSwitcher, TouchNotifications

                                          1 Reply Last reply Reply Quote 0
                                          • yawnsY Offline
                                            yawns Moderator @tosti007
                                            last edited by

                                            @tosti007 said in Something I’m working on ...:

                                            I cannot upload any modules at all, either with pc (windows, firefox) or android (chrome). Is this currently supposed to be like that (aka disabled) or am i doing something wrong? :) I am on the correct github account and the repositories are public.

                                            I just tried as well. You can click “Step 1 - Select repository” but nothing happens. The console is showing a HTTP500 error:

                                            vue.js?3de6:5729 Download the Vue Devtools for a better development experience:
                                            https://github.com/vuejs/vue-devtools
                                            vue-resource.common.js?2f13:1071 GET http://beta.magicmirror.builders/api/me/repositories 500 (Internal Server Error)
                                            (anonymous) @ vue-resource.common.js?2f13:1071
                                            PromiseObj @ vue-resource.common.js?2f13:198
                                            xhrClient @ vue-resource.common.js?2f13:1025
                                            sendRequest @ vue-resource.common.js?2f13:1140
                                            exec @ vue-resource.common.js?2f13:1097
                                            next @ vue-resource.common.js?2f13:1122
                                            before @ vue-resource.common.js?2f13:966
                                            exec @ vue-resource.common.js?2f13:1097
                                            next @ vue-resource.common.js?2f13:1122
                                            timeout @ vue-resource.common.js?2f13:1014
                                            exec @ vue-resource.common.js?2f13:1097
                                            next @ vue-resource.common.js?2f13:1122
                                            method @ vue-resource.common.js?2f13:980
                                            exec @ vue-resource.common.js?2f13:1097
                                            next @ vue-resource.common.js?2f13:1122
                                            body @ vue-resource.common.js?2f13:853
                                            exec @ vue-resource.common.js?2f13:1097
                                            next @ vue-resource.common.js?2f13:1122
                                            jsonp @ vue-resource.common.js?2f13:942
                                            exec @ vue-resource.common.js?2f13:1097
                                            next @ vue-resource.common.js?2f13:1122
                                            header @ vue-resource.common.js?2f13:997
                                            exec @ vue-resource.common.js?2f13:1097
                                            next @ vue-resource.common.js?2f13:1122
                                            cors @ vue-resource.common.js?2f13:824
                                            exec @ vue-resource.common.js?2f13:1097
                                            next @ vue-resource.common.js?2f13:1122
                                            (anonymous) @ bootstrap.js?5e63:36
                                            exec @ vue-resource.common.js?2f13:1097
                                            (anonymous) @ vue-resource.common.js?2f13:1125
                                            PromiseObj @ vue-resource.common.js?2f13:198
                                            Client @ vue-resource.common.js?2f13:1090
                                            Http @ vue-resource.common.js?2f13:1350
                                            Http.(anonymous function) @ vue-resource.common.js?2f13:1379
                                            fetchRepositories @ AddModule.vue?5997:99
                                            boundFn @ vue.js?3de6:131
                                            mounted @ AddModule.vue?5997:141
                                            callHook @ vue.js?3de6:1833
                                            insert @ vue.js?3de6:2007
                                            invokeInsertHook @ vue.js?3de6:4159
                                            patch @ vue.js?3de6:4301
                                            Vue._update @ vue.js?3de6:1722
                                            (anonymous) @ vue.js?3de6:1697
                                            get @ vue.js?3de6:740
                                            Watcher @ vue.js?3de6:732
                                            Vue._mount @ vue.js?3de6:1696
                                            Vue$3.$mount @ vue.js?3de6:5716
                                            Vue$3.$mount @ vue.js?3de6:7873
                                            initRender @ vue.js?3de6:2218
                                            Vue._init @ vue.js?3de6:2580
                                            Vue$3 @ vue.js?3de6:2624
                                            (anonymous) @ app.js?8b67:47
                                            (anonymous) @ app-c86aef609d.js:1578
                                            __webpack_require__ @ app-c86aef609d.js:20
                                            (anonymous) @ app-c86aef609d.js:64
                                            (anonymous) @ app-c86aef609d.js:67
                                            AddModule.vue?5997:105 Responsebody: "↵↵    ↵        ↵        ↵        ↵    ↵    ↵                    <div>↵                <h1>Whoops, looks like something went wrong.</h1>↵                                        <h2>↵                            1/1↵                            RuntimeException in <a>Client.php line 70</a>:Pipeline.php line 104↵       <li>at Pipeline->then(<em>object</em>(Closure)) in <a>Router.php line 644</a></li>↵       <li>at Router->runRouteWithinStack(<em>object</em>(Route), <em>object</em>(Request)) in <a>Router.php line 618</a></li>↵       <li>at Router->dispatchToRoute(<em>object</em>(Request)) in <a>Router.php line 596</a></li>↵       <li>at Router->dispatch(<em>object</em>(Request)) in <a>Kernel.php line 267</a></li>↵       <li>at Kernel->Illuminate\Foundation\Http\{closure}(<em>object</em>(Request)) in <a>Pipeline.php line 53</a></li>↵       <li>at Pipeline->Illuminate\Routing\{closure}(<em>object</em>(Request)) in <a>CheckForMaintenanceMode.php line 46</a></li>↵       <li>at CheckForMaintenanceMode->handle(<em>object</em>(Request), <em>object</em>(Closure)) in <a>Pipeline.php line 137</a></li>↵       <li>at Pipeline->Illuminate\Pipeline\{closure}(<em>object</em>(Request)) in <a>Pipeline.php line 33</a></li>↵       <li>at Pipeline->Illuminate\Routing\{closure}(<em>object</em>(Request)) in <a>Pipeline.php line 104</a></li>↵       <li>at Pipeline->then(<em>object</em>(Closure)) in <a>Kernel.php line 149</a></li>↵       <li>at Kernel->sendRequestThroughRouter(<em>object</em>(Request)) in <a>Kernel.php line 116</a></li>↵       <li>at Kernel->handle(<em>object</em>(Request)) in <a>index.php line 53</a></li>↵    ↵</h2></div>↵↵            ↵    ↵"bodyBlob: BlobbodyText: PromiseObjdata: (...)get data: ()arguments: (...)caller: (...)length: 0name: "get"prototype: Object__proto__: ()[[FunctionLocation]]: vue-resource.common.js?2f13:856[[Scopes]]: Scopes[4]set data: (body)arguments: (...)caller: (...)length: 1name: "set"prototype: Object__proto__: ()[[FunctionLocation]]: vue-resource.common.js?2f13:859[[Scopes]]: Scopes[4]headers: Headersmap: Object__proto__: Objectok: falsestatus: 500statusText: "Internal Server Error"url: "/api/me/repositories"__proto__: Object
                                            (anonymous) @ AddModule.vue?5997:105
                                            
                                            
                                            tosti007T 1 Reply Last reply Reply Quote 0

                                            Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                            Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                            With your input, this post could be even better 💗

                                            Register Login
                                            • 1
                                            • 2
                                            • 1 / 2
                                            • First post
                                              Last post
                                            Enjoying MagicMirror? Please consider a donation!
                                            MagicMirror created by Michael Teeuw.
                                            Forum managed by Sam, technical setup by Karsten.
                                            This forum is using NodeBB as its core | Contributors
                                            Contact | Privacy Policy