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.
    • 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
                                        • MichMichM Offline
                                          MichMich
                                          last edited by

                                          It seems the php-curl module was missing. Could you give it an other try. If it doesn’t work, I need to dive into it.

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

                                            Okay, I was able to add my module right now. However now it says it cannot find the readme. This affects all modules, not only mine.

                                            MichMichM 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
                                            • 2 / 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