Most significant Bulma Stylus Plus 0.8.3-beta release is here!

was written by M.O.Z.G, March 31, 2020 - Tags: , , , , , , , , , , , , - Category: Blog

Bulma core GitHub package.json version (branch) npm


  • fontFace() mixin to generate @font-face rule for font by their namepathweight and styleformatversion.
  • $prefix string variable. Used always for *CSS variables*, optional for selectors with boolean variable $prefixed-selectors.
  • banner component with predefined banner sizes.
  • 11 new image ratios could be activated with $silent:= { plus: { ratios: false }}Slows down the generation process.
  • Units conversion with function convertUnit(). Supports next units:
    • Scale: emrempxincmmmptpcq
    • Angle: deggradradturn
    • Time: sms
    • Audio: hzkhz
    • Resolution: dpidpcmdppx
      $body-size and $body-font-size are key variables for conversion between relative units, such as em/rem. The function detects the ability to convert one unit to another, and break execution with an error if there will be nonconvertible units.
  • bulmaRgba() function.
  • #2740 Fixes #2739 -> Add variables size for layout hero
  • Fix #2741 -> Create bulmaRgba() function to support inherit value.
  • #2709 Add light colors to the notification element
  • CSS variables.
  • updateGlobalOptions() function checks for changes of $silent and $prefix variables then rewrite cache and use it for all further calls. Use it each time when you make changes in global options in the middle of your code. All built-in mixins and functions use it whenever called and it makes sense in their processing.


  • Componentshelpers, and elements now abstracted and could be called mixins with(out) block. You could even disable auto-generated rules for them with $silent hash array, but keep them available for reuse. You don't need to comment separate styl files manually anymore, to add/remove features, but you still can.
  • Components/elements/form/layout/helpers now has nested structure with Root Reference(Some exceptions are there for selectors which used in multiple components). Therefore, the main selector name affects children, and you always know the structure of further HTML code. If you want to break the parenting, use any of available Stylus references.
  • Each default selector name for the componentelement or helper can be redefined manually with variable, see initial-variables.styl:89 for examples.
    BEWARE! Some *components* and *elements* contain not CSS pseudo-class. Therefore, it will give an inadequate result, if you will use a dot-free class name for *modifiers*. I will try to find how to resolve it in a more-less elegant way. Just keep it in mind about all $XXX-modifier variables.
  • $silent-mode boolean variable. If true, any rules will not be generated in the resulted CSS file by default, regardless of their values in $slient array.
  • Bulma Stylus Plus is an NPM module for now and could be called within Gulp, Grunt, or via CLI. See README for more info about usage.
  • Auto-generated rules for all default and custom colors now can be turned off/on for partial components/elements with $silent.colorful.[NAME-OF-COMPONENT-ELEMENT].
  • Portrait image ratios are now optional and auto-generated. You could disable it with $silent:= { plus: { ratios-portrait: true }}.
  • Generated size rules for all component and elements (exclude banner, because this component is senseless without sizes) are now optional like colors with $silent.sizes.[NAME-OF-COMPONENT].
  • Generated color rules now can be redefined with variables for all components and elements, not only for message and panel.
  • All selector names now supports custom prefix with variable $prefix-bsp to prevent conflicts with anything else. $prefix by default if $prefixed-selectros else ''.
  • $columns-max variable transferred to initial-variables.styl.
  • $message-colors and $panel-colors transfered to derived-variables.styl.
  • $body-size and $body-font-size variables has moved from generic to initial-variables. Because now they are essential variables for some functions.
  • For uniformity and improved readability, colons between a property and a value are now required. The Stylus allows you to not use them, however, in the case, when the property name is generated from one or more variables, colons are necessary. Such a mismatch can be confusing for users.
  • Tiles now respects $column-max variable.
  • column-ratios variable name starts with $ character. Please, rename, if you're using it separately. My mistake, perhaps, but initially I planned it like a utilitarian feature only, not reusable.
  • @charset parameter is now optional and regards $charset variable. Silent if "".
  • mixins.styl generates nothing by itself when imported.
  • autoprefixer dependency replaced with autoprefixer-stylus
  • $unselectable$arrow$block$delete$loader$overlay moved to new placeholders.styl.


  • $colorContrastFormula is now alias. Use $color-luminance-formula instead.
  • bulma-stylus-darken is now an alias of bulmaDarken.


  • stylelint is optional dependency for now. Because it fixes source mapping and has no critical value. Oskari Groenroos uses it to add empty lines between rules like in original But source-map is more significant.

If you found an error, highlight it and press Shift + Enter or click here to inform us.

Leave a Reply

Your email address will not be published. Required fields are marked *