01-14-2021, 04:40 PM | #76 |
Grand Sorcerer
Posts: 5,582
Karma: 22735033
Join Date: Dec 2010
Device: Kindle PW2
|
You also might find the Blitz CSS template useful for testing purposes.
|
01-14-2021, 06:19 PM | #77 |
Sigil Developer
Posts: 7,506
Karma: 5433350
Join Date: Nov 2009
Device: many
|
Interesting ...
FWIW, that stylesheet uses things beyond the css 3.0 spec including @supports like the following: Code:
@supports (height: 100vh) { /* Can be used for containers and images but Should be used in combination with .portrait if used for img */ .h-100 { height: 99vh; /* Trying to avoid blank page after */ } .h-90 { height: 90vh; } .h-80 { height: 80vh; } .h-70 { height: 70vh; } .h-60 { height: 60vh; } .h-50 { height: 50vh; } .h-40 { height: 40vh; } .h-30 { height: 30vh; } .h-20 { height: 20vh; } .h-10 { height: 10vh; } } I will have to add support for it to the cssparser as it only supports css 3.0. |
01-14-2021, 10:00 PM | #78 |
Sigil Developer
Posts: 7,506
Karma: 5433350
Join Date: Nov 2009
Device: many
|
Okay it turned out to be easy to add @supports to qcssparser (and to fix a typo in nestlevels). These changes were pushed to master.
|
01-15-2021, 02:42 PM | #79 | |
Sigil Developer
Posts: 7,506
Karma: 5433350
Join Date: Nov 2009
Device: many
|
Okay as of today's master in Sigil/src/Query:
- added a way to catch exceptions and report parser errors in the resulting CSelection so it can be checked by the caller (so hopefully no more aborts or segfaults) - fixed a bug in the *of-type related selectors - added support for :root pseudo selector - added support for :lang() which properly groks inheritance rules. - filtered out psuedoelements that do not actually help select a node or that require user intervention like :hover, :before, :after, etc So hopefully Query is now in a much better place than it started. It passes all my basic tests now but I am going to create a standalone testing app to stress test my version of gumbo query and remove the simple testing added to main.cpp in Sigil. That will probably take a while but should prove useful in finding bugs and query limitations. I have added @supports and fixed a few bugs in cssparser2 and qcssparser. If anyone wants me to post these improved versions, just let me know. Quote:
|
|
01-19-2021, 04:58 PM | #80 |
Sigil Developer
Posts: 7,506
Karma: 5433350
Join Date: Nov 2009
Device: many
|
Hi All,
I have assembled a decent Selector test set and found many bugs and created a number of fixes in the gumbo query code. I also made minor changes to the cssparser code. To make these more generally available, I have created two new Sigil-Ebook github repos with both source sets and reverted them to their original licenses so they can more easily exchange bug fixes and changes with their original projects. cssparser - Is now available at: https://github.com/Sigil-Ebook/cssparser - It is now under its original LGPL v2.1 license and sigil-query - It is now available at: https://github.com/Sigil-Ebook/sigil-query - It is now under its original MIT License Both are pure C++ that does not need or use Qt. |
01-23-2021, 08:22 PM | #81 | |
Sigil Developer
Posts: 7,506
Karma: 5433350
Join Date: Nov 2009
Device: many
|
Okay, to at least test different approaches to solving this, I have the code to use the newly included qCSSParser and GumboQuery to determine if all CSS Selectors (not just classes) are used or not.
I loaded up your test case (see below) and Sigil will now properly remove just the selectors it should. We still need to test if there are specific selectors in common use the will confuse either the qCSSParser or the Query code or cause them problems. I have my fingers crossed, that this approach will be robust, if not, we will either just remove that feature and point people at wrCisco's current plugin or wait and try to integrate his code internal to Sigil. Either way by the next release, this bug will be fixed one way of the other. For now, I strongly recommend wrCisco's plugin for handling DeleteUnusedStyles in Sigil 1.4.3 (and all earlier versions of Sigil as well) if your style sheet uses pseudo classes, psuedo elements, and/or combinators. Hope this helps. Quote:
|
|
01-24-2021, 04:01 AM | #82 |
Wizard
Posts: 1,611
Karma: 724945
Join Date: Oct 2014
Location: Antwerp
Device: Kobo Aura H2O
|
|
01-24-2021, 11:10 AM | #83 |
Sigil Developer
Posts: 7,506
Karma: 5433350
Join Date: Nov 2009
Device: many
|
Yes, in the sigil-query repo on our Github site.
https://github.com/Sigil-Ebook/sigil-query If you build that project in the querytest folder you will build a querytester executable that groks the test_data.dat file and runs all of those tests. Note there are differences in case handling between xthml and html when it comes to attribute names and attribute values. We do case sensitive testing in those cases which xhtml requires. Let me know if you need help understanding the format. If you have any good testcases, I would be happy to add them. Last edited by KevinH; 01-24-2021 at 01:06 PM. |
Thread Tools | Search this Thread |
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
alphabetizing stylesheet, check book, and remove unused styles | rjwse@aol.com | Calibre | 9 | 01-29-2020 06:48 PM |
Pseudo classes to be deleted as unused classes | Leonatus | Sigil | 2 | 09-23-2018 09:12 AM |
"unused stylesheet class" is actually used | AlanHK | Sigil | 6 | 06-20-2017 04:42 PM |
Search and Replace; delete "author" name from "serie" | roosten | Library Management | 6 | 12-17-2015 11:38 AM |
Cleaning a stylesheet of unused styles | roger64 | Sigil | 49 | 06-13-2012 05:23 AM |