First v2.0.0 alpha released

Happy New Year everyone! I hope 2024 brings peace, love and joy to all of you!

It has finally come the time to release a first public alpha of the v2.0.0 code that I have been working on with varying intensity for quite a long time. This has taken me far longer than I would have liked due to many reasons (client projects, family, two kids and what not) but I am happy to finally share the code with the hopes that it will be useful to others.

SmartMenus Configurator

A new configurator tool is now available that allows configuring and testing your preferred navbar(s) layout and provides dynamic instructions/code samples based on the exact configuration. You can check it out at:

https://configurator.smartmenus.org

Docs

The docs for all future v2 releases will be available at:

https://docs.smartmenus.org

The source code of the configurator and docs is now hosted in the main repo at GitHub so please feel free to contribute and/or suggest any improvements.

Source code

You can find the code in the new 2.0.0-dev branch at GitHub:

https://github.com/vadikom/smartmenus/tree/2.0.0-dev

It has also been published to npm:

https://www.npmjs.com/package/smartmenus

What's new (in short)

  • Complete rewrite of the JS code with no external library dependencies (jQuery) any more
  • Refactored script options considering support for both single page applications (SPA) as well as (can we now call it old school?) full page reloads
  • Support for arbitrary menu tree HTML structure via new script options
  • Support for complete navbars (including nav toggler buttons, offcanvas/collapse elements, etc.)
  • Support for split links - i.e. parent menu items that have both a link and a sub toggler
  • Complete rewrite of the CSS code with support for many different navbar/nav variants (thousands of combinations supported)
  • Highly customizable theme via CSS/SASS variables

Well, I think that's all for now. Happy coding! 🙂