Read the statement by Michael Teeuw here.
How to learn more about coding
-
@bebetter14 well, it depends on what you want to try to do
make new content, a module
make things look better/different, cssa module’s job is to collect some data and turn it into part of an html web page. only your data.
you can make the actual html tags or use API call to create web page document object model ( aka DOM ) elements.the js file that matches the module name, runs in the browser. as such it cannot directly access the system it is on. mm provides a helper construct that does not run in the browser, and can access hardware or file systems to get data.
I have a sample module that implements the spec, and uses a helper to show how the parts fit together.
https://github.com/sdetweil/SampleModule
more like a hello world, put up some basic text. you can configure the text or notbecause most of the module runs in the browser, JavaScript is the chosen language. you can interface to code in other languages thru the helper.
many modules talk to python scripts that produce output captured by the helper and sent on to the core js file for processing
my pythonPrint modules allows calling any python module and capturing it’s output.
https://github.com/sdetweil/MMM-PythonPrintcss is a head scratcher a lot of the time. figuring out the cascade / inheritance rules is an incredible learning experience. add on the styling capabilities on a web page, wow!!!
-
@bebetter14 I started out that way. What I did personally, was take a dead module that I really liked and started trying to figure out how it worked. Looked up the commands (Lots of searches for “XYZ Javascript” etc and playing on Jsfiddle.net – -Once I got that figured out, I built up my own module (MMM-Multimonth) and got help from some amazing people on here, including Sam and mmrize - major contribution was from a user who CSSified the whole thing and showed me how to do it.
Knowledge grows as you jump in.
-
@sdetweil @BKeyport Thank you both so much. These are great ideas to get started. From what both of you are saying, it sounds like I need to try and come up with an idea for a module and learn from there. Pretty much from the ground up. I really wish I learned more about this growing up. But at least now I have Chat GPT to assist.
Also, thank you providing the links to those helpful modules. These will be great learning resources.
-
@bebetter14 Avoid the AI engines. They’re mostly useless, just FYI. Enjoy the process. If you end up with a releasable module, great, if not, hey, it’s a learning experience.
-
@BKeyport Thank you for the heads up! I guess I should probably focus on trying to get the modules I have installed now to work before I start trying to make a new one.
-
@bebetter14 you can try my MMM-Config module which will present a form for editing config.js
it has some struggles with some modules, but there are ways to work around them
https://github.com/sdetweil/MMM-Config -
Just an update. I have been doing the https://www.theodinproject.com/dashboard “classes” and they have been fantastic. Its a great Introduction to how to use Git and Github along with using a terminal. I do all the learning in a virtual machine that runs Linux. It had a great intros to HTML and CSS. I even have my own Github account (https://github.com/inventiveillustrtions) now with my first “project”.