Blog

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! 🙂

SmartMenus jQuery 1.1.1 and 1.0.2 released

A couple of maintenance releases are now available.

What's new in 1.1.1

  • A second click on a main menu item when "showOnClick: true" should hide the sub menu
  • Update demos with Bootstrap 4.5.0
  • Fix: Mouse input not detected correctly on Windows when pointer speed is set to any of the fastest 2 options and additionally "Enhance pointer precision" is unchecked
  • Fix: Avoid Content Security Policy issue when valid JSON is used as "data-sm-options" value
  • Fix: "showOnClick: true" should not affect collapsible mode behavior in any way
  • Fix: Remove SHJS syntax highlighter source code from the repo
  • Fix: Problem with markCurrentTree in megamenu
  • Fix: Uncaught TypeError when clicking on items (that do not have a sub menu in certain cases) in collapsible mode

What's new in 1.0.2

We decided to update the old 1.0.x branch for those of you still using it with a fix for a pretty critical issue reported recently:

  • Fix: Mouse input not detected correctly on Windows when pointer speed is set to any of the fastest 2 options and additionally "Enhance pointer precision" is unchecked

Download a 1.0.2 zip.

Project status update

Some of you have been concerned about the state of the project so I would like to take this opportunity to post a short status update. 🙂

In short - I have no plans of shutting down the project and I am already working on a new major release.

If you are interested in a longer explanation, I've posted a brief summary of the reasons behind the lack of any notable recent project activity:

https://github.com/vadikom/smartmenus/issues/105

As always, thanks a lot for your support! And I hope I would be able to share some good news soon (whatever "soon" means 🙂 ). Keep it up and stay safe in these weird times!

SmartMenus jQuery 1.1.0 released including new Bootstrap 4 addon

It's time for another major release and 1.1.0 is now available! We are bringing some notable improvements to the code and have packed a number of fixes based on your continuing feedback since 1.0.1 which was released almost a year ago. And still we've tried to keep the upgrade process as simple as possible.

What's new

  • Support jQuery 1.7+ (no more 1.4.4+)
  • Support jQuery "slim" versions
  • New Bootsrap 4 addon
  • New long requested option collapsibleBehavior
  • Remove Compass dependency in the themes
  • Change main module name from "jquery.smartmenus" to "smartmenus" in addons
  • Replace bind/unbind, delegate/undelegate with on/off in the JS
  • Replace :before/:after with ::before/::after in the CSS
  • Fix: themes SCSS files renamed to avoid filename issue for @import in node-sass (e.g. from "_sm-blue.scss" to "_sm-blue-theme.scss")
  • Fix: hideOnClick: true not working in collapsible mode if the menu item text is wrapped in a <span>
  • Fix: isCSSOn() method not working properly when the main menu links have display set to anything other than inline
  • Bootstrap addon fix: prevent issue in Chrome if display: flex is set to any .navbar-nav in desktop view
  • Deprecate and remove overlapControlsInIE option

Multi-level navbar dropdowns with Bootstrap 4 made simple

Now that Bootstrap 4 has gone "beta" we thought it's the right time to finally release an official addon for it. The new Bootstrap 4 addon works exactly like the original Bootstrap (3) addon. You just need to include the JS/CSS files on your page and you are good to go with your multi-level dropdowns - everything should work automatically including full support for your Bootstrap 4 theme.

We have created a few demo pages with quick instructions (they're also included in the download package):

Thanks for your support! We hope you'll enjoy the new release as much as we do! ❤️

New demos + themes gallery and v1.0.1

It's been a while since the v1.0.0 final release so we are very happy to share some good stuff today. 🙂

First, we are now launching a new online demos + themes gallery. We hope many of you will find useful the current samples and, of course, we do plan to add more soon.

And second, we are also releasing the maintenance v1.0.1 today. As the minor version bump suggests, it's mainly a maintenance release including some CSS bug fixes for the themes but there is also a handy new feature added:

  • Added support for the data-sm-options attribute on the root <ul> element

This allows setting any custom options directly in the HTML source rather than passing them in the init function call. It is particularly useful when using the Bootstrap addon since users will not need to modify the addon source code any more if they just need to set some custom option.

As always, we are grateful to everyone that contributed to this release! Enjoy!

SmartMenus jQuery v1.0.0 final released

First of all, Happy New Year everyone! We hope you've had wonderful holidays and wish you all the best in 2016! 🙂

Now to some long-awaited news from us. More than 2 years after the first public release we are excited and happy to finally reach the v1.0.0 milestone. It's been a long journey, far, far longer than we initially planned and expected but we feel it was worth it and the project has evolved and matured into something we can proudly stand behind.

Read more...

Major release v1.0.0-beta1

It took us 9 months since the last v0.9.7 but the first 1.0.x release is finally here. Although dubbed a "beta", we are actually not aware of any issues or bugs at the moment so we consider it safe for production use. If everything goes well, we have planned to go v1.0.0 final in the coming weeks so this is really a major milestone for the project.

Read more...

Migrating the forums from Vanilla to bbPress

Over the weekend we migrated the forums from Vanilla to bbPress. There are a number of reasons why we decided to do it (the increasing SPAM attacks mainly) but what urged us to do it now was the recent announcement for end of support for the Vanilla 2.0.18.x branch. This left us with the choice to either move to Vanilla 2.1, which was probably not going to be a trivial task, or migrate to bbPress. So we decided the benefits of moving to a simplified and complete WordPress solution would be more in the long run.

The conversion process is well documented in this great post at CSS Tricks, which helped us a lot, so we won't cover it in details:

http://css-tricks.com/the-move-to-bbpress/

What you need to know is that your old Vanilla user accounts should continue to work in the forums and all your posts should be preserved. We've also tried to style bbPress similarly to the Vanilla forums theme we used. So, hopefully, you won't feel any major negative effects of the transition.

Since the amount of SPAM accounts had grown immensely recently, we just took the step to remove all accounts that had zero posts. We're sorry if this affects any legitimate users but this was really the most sensible thing we could do about it.

If you have any questions, comments or suggestions, please don't hesitate to drop us a line.

Notable changes in v0.9.7

The new v0.9.7 is now released including some notable changes, features and fixes:

  • Removed menu layout tweaks and hacks for IE 6/7/8
  • Switched to box-sizing: border-box;
  • Long sub menus can now be scrolled via touch for fixed positioned menu bars
  • Added Bower support
  • and more...
Read more...

Another new theme and v0.9.6

A new theme named "sm-mint" is now available in the download package and you can also check it out right away online at the GitHub demo page.

sm-clean theme preview

As for v0.9.6, it's basically just another maintenance release on the road to v1.0.0. It features some bug and compatibility fixes both in the script core and the Bootstrap addon which is also bumped to v0.1.1 and should now work properly for those of you using jQuery in noConflict() mode.

Create advanced Bootstrap 3 navbars with SmartMenus jQuery (zero config)

A brand new small addon for SmartMenus jQuery is now available which takes Bootstrap 3 compatibility to a whole new level. It brings zero config support for creating advanced Bootstrap 3 navbars. Zero config means that you basically just need to include the JS/CSS files on your Bootstrap-powered pages and everything should work automatically including full support for whatever Bootstrap theme you already use.

By default Bootstrap supports just single-level dropdowns for navbars and lacks some important features like hover activation support for regular mouse-powered browsers, viewport size detection (meaning your dropdowns might appear outside the viewport and not be usable in some scenarios), scrolling support for long menus that do not fully fit in the viewport, auto width for the dropdowns with min/max settings, etc. The new super simple-to-use SmartMenus Bootstrat 3 addon brings all these and all other SmartMenus jQuery features to all Bootstrap 3 users.

Of course, we have demo pages with quick instructions for you (and they're also included in the download package):

Please don't hesitate to post your comments in the forums or via Twitter so we can nail down any possible issue we might have missed while testing internally.

« Older Posts