This project is intended to be an Ubuntu Linux look and feel library for Angular apps. I must say right upfront, this is in no way made or endorsed by Ubuntu or Canonical or have any connection of any kind with them. This is just a fan and fun project designed to help me get more familiarized with Angular, web development as a whole and publishing. It just happens that I found Ubuntu's default GUI neat and that I'm not good with designing stuff, so I decided to use it as a baseline for my studies.
Everything you see here is literally built through direct observation of buttons, fields, etc. in the installation of Ubuntu currently in my machine and some things were adjusted for working better in a web or mobile environment. That means some things here might work slightly differently from what you would expect. That doesn't mean I won't accept suggestions for changes or suggestions for new features and bug reports.
That being said, don't expect steady deliveries of new versions. This is entirely made during my free time. It won't leave beta until I'm happy with the bare basics a UX library like this needs and I have the code tidied up.
Feel free to open bug reports and feature requests if you feel like it. You can also open issues through this e-mail address.
I'm not going to immediately accept issues on the premise of my design being outdated. As I said before, this project is first a personal study and only second an Ubuntu UX library for Angular. But as soon as I'm happy with features and whatnot, I'll most likely try to keep it up with Ubuntu's UI evolution.
Same goes for receiving code contributions. Since this is meant for my personal studies, I want to code most of it on my own. That also doesn't mean I'm not going to accept contributions. I would just rather receive change suggestions than new whole features. I want to practice my skills on this project, so I would rather stick to coding most of the core functionality myself.
As of now, no extra dependencies were added to the project other than the default load-out of an Angular project.
As for licensing, this is going to be a very lenient license. All I ask is recognition. Anybody can use ngx-gnui in their projects for free as long as it's clear that it references this project. Forking is fine too, just always refer to this project as being the base for your project. ngx-gnui can be used for commercial purposes too without any kind of special premium licensing required.
Gnui | Angular | Ubuntu |
---|---|---|
^0.1.0 | >=14.0.0 | ~20.04.0 |
Where:
-
^
: any version compatible with the one mentioned (changes up to the second number in the version) as described by SemVer. -
~
: any version approximate to the one mentioned (changes up to the third number in the version. Essentially bugfixes) as described by SemVer. -
>=
: any version exactly equal or higher than the one mentioned (any change, even compatibility breaking ones). When this is mentioned for the Angular version, this compatibility isn't tested by me, but guaranteed by Angular as stated in their documentation.
For now, just run the showcase app included in this project (instructions below). It will explain everything about how to use the library in your application.
I plan on somehow publishing the showcase to make this explanation easier to people who just want to quickly use it
Run ng generate component component-name --project ngx-gnui
to generate a new component. You can also use ng generate directive|pipe|service|class|guard|interface|enum|module --project ngx-gnui
.
Note: Don't forget to add
--project ngx-gnui
or--project ngx-gnui-showcase
.
Run npm run build-gnui
to build the library project
Run npm run build-showcase
to build the showcase project
Run npm run start