flarum / docs

Flarum documentation.
https://docs.flarum.org
MIT License
68 stars 131 forks source link

Recommend the use of Less namespaces for extensions #322

Open davwheat opened 3 years ago

davwheat commented 3 years ago

To prevent any mixin collisions between extensions, we should recommend the use of Less namespaces, similar to how we handle initiali(s/z)ers in JS.

https://lesscss.org/features/#mixins-feature-namespaces

They're not that tricky to understand, thankfully, using an ID-based system.

My suggested syntax would be #vendor__package. I don't know how Less would handle slashes, etc.

#davwheat__sidebar-nav-items {
  .my-cool-mixin() {
    color: red;
  }
}

button.davwheat_btn {
  #davwheat__sidebar-nav-items.my-cool-mixin();
}

Eventually, core should switch to something like #flarum__core.xxx(), or similar.