Troubleshooting
If you're having problems with TIBET this guide may help. If you don't see an answer to your problem here, you can also take advantage of the following support resources:
- search StackOverflow for tibetjs
- scan the TIBET issue list
We'll try to get you an answer.
Contents
Cookbook
Installation
CSS
Packager
Cookbook
Installation
npm cb() never called
If you already have a recent version of Node.js installed you should have a
valid version of npm
. We suggest using at least npm 5.x
.
If you see errors from any npm-based operations mentioning cb() never called!
you'll want to perform the appropriate steps for your operating system. See this npm troubleshooting topic for more.
Installing From Git
A common issue when deciding to install TIBET via Git is that the Git-based
installation and npm
installation can conflict. The solution is to be sure to
uninstall any npm
version of TIBET you've installed, then install following
the instructions for Git installation.
CSS
Custom Tag Rule Does Not Apply
If you're using custom tags in TIBET there are two variations to deal with: leaving the tag in XML form, and converting it to an XHTML tag with a tibet:tag attribute. Each requires a specific syntax for CSS rules to apply correctly
XHTML tags must include a [tibet|tag="{{ns:tagname}}"]
qualifier:
In the sample here we assume a project name of hello
. This rule will apply to
a div
element containing the tibet:tag
value identifying it as the
hello:app
tag:
div[tibet|tag="hello:app"] {
XML tags must have an associated @namespace
declaration:
For tags you leave in their XML form your style sheet(s) must include
a matching @namespace
CSS directive. For example, if you have tags in the
hello
namespace you need a directive similar to:
@namespace hello url(urn:app:hello);
Note that you can use any valid URI here at long as it's consistent with any
other registrations you may use for that particular namespace. TIBET defaults to
using a simple URN of the form urn:app:{{namespace}}
at project creation.
Custom Tag Does Not Display
XML tags require a 'display' declaration
By default your XML tags do not have a default display
value such as block
,
inline
, etc. like XHTML tags do. To get your tags to display correctly be sure
that each tag has at least one related rule that will assign a display
value:
hello|app {
...
display: block;
...
}
Custom Tag Ignoring Class
Use [class~=classname] for XML tag class rules
XML tags treat class
as just another attribute so use attribute selector
syntax rather than the standard HTML sugar. NOTE that it's best to use the
"contains" syntax via ~=
:
hello|button[class~="active"] {
border: 1px solid red;
}
Packager
Packager Fails To Complete
The current TIBET packager doesn't like '%%' and rewrites them into strange combinations, so break up sequences using a '+' such as:
Change this:
"%%",
To this:
"%" + "%"