Hi Harbs,

that was a simple attempt to minify css code, if that line is not working
you can comment it, and we'll be improving the minifying method.

thanks



2018-06-06 14:27 GMT+02:00 Harbs <harbs.li...@gmail.com>:

> It’s this code in minifyCSSString:
>         cssString = cssString.replaceAll("[a-zA-Z]+#", "#");
>
> Why is that code there?
>
> Harbs
>
> > On Jun 6, 2018, at 3:21 PM, Harbs <harbs.li...@gmail.com> wrote:
> >
> > I found another problem.
> >
> > The following CSS is the correct compiled results in the debug css:
> >
> >
> > .toggleTextButton.selected#subscriptButton {
> >        cursor: pointer;
> >        background-color: transparent;
> >        outline: none;
> >        background-image: url("assets/images/icons/
> subscript_selected.svg");
> >        border-style: hidden;
> > }
> >
> >
> > .toggleTextButton#subscriptButton {
> >        cursor: pointer;
> >        background-color: transparent;
> >        outline: none;
> >        background-image: url("assets/images/icons/subscript.svg");
> >        border-style: hidden;
> > }
> >
> > Somehow in the release version, the CSS becomes the following: The class
> selector before the subscriptButton id selector gets lost after the dot.
> Any idea what might be causing it?
> >
> > .toggleTextButton.#subscriptButton{cursor:pointer;background-color:
> transparent;outline:none;background-image:url("assets/
> images/icons/subscript_selected.svg");border-style:
> hidden;}.#subscriptButton{cursor:pointer;background-
> color:transparent;outline:none;background-image:url("
> assets/images/icons/subscript.svg");border-style:hidden;}
> >
> >> On Jun 6, 2018, at 2:24 AM, Alex Harui <aha...@adobe.com.INVALID>
> wrote:
> >>
> >> If the namespace prefixes are stored in the selector, then when
> deciding whether to keepRules, we should check the prefix and if it is null
> and the default namespace is xhtml, then we can use a fully qualified name
> in the comparison.
> >>
> >> HTH,
> >> -Alex
> >>
> >> On 6/5/18, 3:09 PM, "Harbs" <harbs.li...@gmail.com> wrote:
> >>
> >>   Hmm. I wonder if CSSSemanticAnalyzer.resolveSelectors could stuff
> the selector namespace into the ICSSSelector. It seems to be looping
> through them anyway. ICSSSeelctor would need a new property for this.) Is
> CSSSemanticAnalyzer.resolveSelectors called before
> JSCSSCompilationSession.cssRuleToString?
> >>
> >>> On Jun 6, 2018, at 1:01 AM, Harbs <harbs.li...@gmail.com> wrote:
> >>>
> >>> I’m not using menu, and it’s pretty doubtful anyone else is using it
> yet either, so yeah, it’s probably safe to remove it temporarily. Not sure
> which other elements might cause problems.
> >>>
> >>> Another one which we really should fix is Button (because Button
> component styling effects every button element in the app even if it’s not
> a “Button” component). That’s something I’ve struggled with... But removing
> that one is going to cause problems…
> >>>
> >>> I did notice that CSSSemanticAnalyzer is checking for the xhtml
> namespace, but it’s only doing so for the default namespace. ICSSSelector
> seems to have a prefix, but no namespace (unless I’m missing something).
> >>>
> >>> Harbs
> >>>
> >>>> On Jun 6, 2018, at 12:51 AM, Alex Harui <aha...@adobe.com.INVALID>
> wrote:
> >>>>
> >>>> The data structure seems to have a slot to hold a namespace.  I think
> there is code somewhere that checks the namespace to avoid the outputting
> some error, but it may not be storing it.
> >>>>
> >>>> The short term solution may be to remove menu from the list of
> htmlelements.  Does anybody actually use it?
> >>>>
> >>>> HTH,
> >>>> -Alex
> >>>>
> >>>> On 6/5/18, 2:46 PM, "Harbs" <harbs.li...@gmail.com> wrote:
> >>>>
> >>>> I think it’s line 189. It checks if the lowercase string matches.
> Only if that check fails does it enter the logic to figure out where to
> insert the dot. I’m really not sure how to fix this though… :-(
> >>>>
> >>>> We’d need menu{} to stay menu{} for html elements, but become .menu{}
> for other component types. FWIW, I think all selectors are case insensitive.
> >>>>
> >>>> Harbs
> >>>>
> >>>>> On Jun 6, 2018, at 12:32 AM, Alex Harui <aha...@adobe.com.INVALID>
> wrote:
> >>>>>
> >>>>>
> >>>>>
> >>>>> On 6/5/18, 2:29 PM, "Harbs" <harbs.li...@gmail.com> wrote:
> >>>>>
> >>>>> Done.
> >>>>>
> >>>>> That does seem to fix the problem.
> >>>>>
> >>>>> Of course, things like .Menu{} (for org.apache.royale.html.Menu) now
> became Menu{}. Considering that Menu is actually a List which is a div and
> not a menu element, this will break any styling applied to Menu components…
> There might be others. Not sure what the easiest way to solve this problem
> is.
> >>>>>
> >>>>> I'm not sure what that would be the case.  Maybe debug through it or
> add System.out.println.  I think ArrayList.contains() is case sensitive, so
> I'm surprised that "Menu" is matching "menu".
> >>>>>
> >>>>> Or am I not understanding your point?
> >>>>> -Alex
> >>>>>
> >>>>>
> >>>>
> >>>>
> >>>>
> >>>
> >>
> >>
> >>
> >
>
>


-- 
Carlos Rovira
http://about.me/carlosrovira

Reply via email to