MPF Website + Docs site overhaul #100
Replies: 6 comments 3 replies
-
I like it. The easier it is to maintain, the better. The easier it is to contribute the better. And most importantly it has to be easy for people to pick up and use out of the box. It seems like this accomplishes all of that. As long as it's a net neutral or increase in available details. There are some nuanced parts, but have that one detail there. Also things like how to call placeholders for MC that are nearly impossible to find. I'm nice we get a good structure, we can build out the whole process better. |
Beta Was this translation helpful? Give feedback.
-
Brian,
I think that would be key, and motivation alone to make that shift. 10 minutes ago I was pondering over how to improve existing docs, but it is a hurdle, especially for people like me, computer literate, but not expert enough to enjoy a Github pull request for a simple text improvement. |
Beta Was this translation helpful? Give feedback.
-
Couldn't agree more to what everyone of you said. Looking forward to it some day in the future. If I can contribute to that effort somehow, then I am happy to help. |
Beta Was this translation helpful? Give feedback.
-
Progress Update: Over the weekend I started doing this work. Here’s the progress:
But I have everything running and looking good. I have a couple more hours of things to clean up, and then I’ll roll out the new site. I’m going to drop this new site as a single PR into the
I intend on doing all of this today. We’ll see how far I get, assuming nothing weird happens with all the DNS and pointing repos to the right places and all that …. fingers crossed! 🤞 Here are a few photos of the work in progress: |
Beta Was this translation helpful? Give feedback.
-
Hi, could it be that this change broke some of the documentation? I am missing some example config files here https://missionpinball.org/mechs/lights/#fully-working-example-2-light_stripes Some other pages gave me an odd feeling as well, but would have to investigate more if on these pages something is really wrong. |
Beta Was this translation helpful? Give feedback.
-
Hi, I don't mind to double check the documentation I have added in the last months and do the fixes manually. So you are saying all config file examples should end in the test folder? I can do that for my edits, question is if documentation is still readable if you have to open the example additionally and don't have it on the same page as the explanations. But I guess that is probably as well personal preference. My biggest fear is that we miss too many occurrences where something went wrong and people stay away because they get confused from the documentation. There is more wrong than only the mpf code examples. Take the same chapter I pointed out in my previous post, you have quite at the top of that page five bullet points saying "/tutorial/17_add_lights_leds" and each text points to a different link. I would claim that wasn't there before (I would have fixed that when I made my additions earlier the year in that chapter). Can you figure out where something went wrong that at least we have a list what we need to fix? Happy to help where I can. |
Beta Was this translation helpful? Give feedback.
-
A lot of my focus with MPF now is to simplify things. Clean up loose ends, get out of some of the tech debt, and get everything cleaned up and easier to maintain.
Here are my thoughts on what I want to change for the main missionpinball.org website, and docs sites.
How they work today
The main website is in the missionpinball-website repo. It's mostly hand-written HTML (!) with a bootstrap theme. There's a static blog engine, but the last post was almost 2 years ago. There are a bunch of static pages which are also never really updated. Basically it's a simple static site based on 10 year old CSS and web themes. The site is hosted as a GitHub static site.
The docs site docs.missionpinball.org is based on Sphinx and is hosted on ReadTheDocs. The content comes from the mpf-docs repo. I recently collapsed the various versions since they were pain to maintain, they confused users, and there's not a lot of activity happening with MPF dev, so things are more stable. There are a lot of custom scripts that run which scan the MPF source code and extract the doc content for the config file reference, event reference, variable reference, etc. Also there's code which runs and verifies all the config file snippets, and some other things. All those must be run locally and the content they create checked in to the repo. The doc format is RST, which is also old now and not common (compared to MD) and generally a pain to work with. The whole thing is brittle and looks and feels old and not fun to work on.
The developer docs site also runs on RTD and uses Sphinx. It runs against the core MPF and MPF-MC repos to extract docstrings to create the API reference, as well as having some static pages to explain how MPF does some things. It doesn't seem to have been updated since 0.54 which is 3 years old. I don't think anyone uses it.
New plan
My plan is to drastically simplify, streamline, and modernize the MPF documentation. Here are my thoughts & plans:
The focus will be to keep everything as turnkey and "out of the box" as possible. That will make it as easy as possible to keep current with the newest tools and platforms, and make it easy for new people to contribute. It will modernize and freshen everything. Obviously its still all open source, so anyone can contribute, and I can say after using mkdocs & the material theme package for the past year (this is what I use for the FAST Pinball website, working in this new environment is about 100X more pleasant than using Sphinx, RSTs, and all our old scripts. Material for Mkdocs has a fantastic site search feature, supports dark and light modes, works on mobile, and it's still a static site generator.
Part of the new site will be to have tables which show which platforms, devices, and other features are current and supported, and which ones need help, and which ones are stale. (e.g. for FAST Pinball or CobraPin, those can have a "green" status since they work with the latest versions of MPF and Python and they are actively supported by their vendors.) There are some other platforms which haven't been touched in years, so we can say things like "last updated for MPF 0.54, might work after, untested." etc. Same for devices, e.g. score reels which might still work but haven't been tested."
So that's the general plan, I don't have a timeframe but wanted to get my thoughts out there.
Beta Was this translation helpful? Give feedback.
All reactions