Jump to content

AutoItHelp v3.3.16.1 with external CSS loading


Go to solution Solved by argumentum,

Recommended Posts

  • Developers
Posted (edited)

Just realized that using the %localappdata% is probably not an option without an activex module, as those environment variables aren't available to the JS code in the helpfile. 
When that is the case we are forced to any relative path to the helpfile and those are by default read only when the installer is used. 

Edited by Jos

SciTE4AutoIt3 Full installer Download page   - Beta files       Read before posting     How to post scriptsource   Forum etiquette  Forum Rules 
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Link to comment
Share on other sites

Posted (edited)
6 hours ago, Jos said:

This will also make it easy for us if we want to make this an option in SciTEConfig as we know the autoit.css location and we know the model css files location.
@import "file://C:/Program Files (x86)/AutoIt3/Extras/helfile_css/default.css"
Agree / Thoughts?

Agreed. But I would call the css "/custom.css" to clarify that is not the expected default and that is the one that gets customized. Overwritten manually or by the css editor.

Edit:
>When that is the case we are forced to any relative path to the helpfile and those are by default read only when the installer is used.
Yes. Maybe replying with a note about the name of the css was not needed as you later realized that the setup is more involved than earlier realized.

That thinking back..., I should have added the sources to the zip. I too understand better following code than reading a description.

Edited by argumentum

Follow the link to my code contribution ( and other things too ).
FAQ - Please Read Before Posting.
autoit_scripter_blue_userbar.png

Link to comment
Share on other sites

  • Developers
Posted (edited)
21 hours ago, argumentum said:

Agreed. But I would call the css "/custom.css" to clarify that is not the expected default and that is the one that gets customized. Overwritten manually or by the css editor.

File naming is fine with me, but we probably want to have the current used default.css in extras/helpfile-css as well with the same name, so people can see what the standard is and possibly make their own modifications.

21 hours ago, argumentum said:

That thinking back..., I should have added the sources to the zip. I too understand better following code than reading a description.

I have the sources as I simply decompiled the chm to get them and then had a play by removing the extra style sheet includes (id="webCssX") in the files and played with the JS function a bit, showing the current used stylesheet file at the top.

It all works pretty nice and should be relatively easy to implement when this is what is wanted. Just some work to get all scripts and fixed pages updated with the <head> code.
For any SciTEConfig option, we can work around the fact that elevated rights are required to update the extras/helpfile-css/autoit.css and prompt for that in case of a standard install with the installer.

Edited by Jos

SciTE4AutoIt3 Full installer Download page   - Beta files       Read before posting     How to post scriptsource   Forum etiquette  Forum Rules 
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Link to comment
Share on other sites

2 hours ago, Jos said:

but we probably want to have the current used default.css in extras/helpfile-css as well with the same name

2 hours ago, Jos said:

to update the extras/autoit.css

Let's see. It is simpler to have the css in the same base folder path of AutoIt itself.
It would solve the problem that comes from users that complain that under a different username in the same computer the AppData files are not found ( due to installing as the original username ).
Requesting elevation for that one change in the css should be no big deal, least for a developer. ( Anyone writing a script is a developer. )

So, search for "\AutoIt3\Extras\helpfile-css\default.css" 1st then "\AutoIt3\AutoIt.css" 2nd is what you believe should be done ?
..or only "\AutoIt3\AutoIt.css" pointing via @import to elsewhere ( "\AutoIt3\Extras\helpfile-css\default.css" in this case ) ?
Mind you the gravity of deciding the fate of users around the world, is in our hands ! :lol:

Follow the link to my code contribution ( and other things too ).
FAQ - Please Read Before Posting.
autoit_scripter_blue_userbar.png

Link to comment
Share on other sites

  • Developers
51 minutes ago, argumentum said:

So, search for "\AutoIt3\Extras\helpfile-css\default.css" 1st then "\AutoIt3\AutoIt.css" 2nd is what you believe should be done ?
..or only "\AutoIt3\AutoIt.css" pointing via @import to elsewhere ( "\AutoIt3\Extras\helpfile-css\default.css" in this case ) ?
Mind you the gravity of deciding the fate of users around the world, is in our hands !

Not really what I meant. 
Let's take the standard installer as an example: The helpfile is located in C:\Program Files (x86)\AutoIt3 
All customization for the help file will be in C:\Program Files (x86)\AutoIt3 \Extras\helpfile-css. (The relative path)
The extras.js just scans only for:

if (window.location.protocol == 'mk:') { // for use in CHM file only
    if (document.documentMode == 11) {
        // Win7+
        loadExtCss('Extras/helpfile-css/AutoIt.css')

.. and AutoIt.css then contains, for example:

@import "file:dark.css"

Doing it this way, we keep things simple and do not "pollute" the root of AutoIt3 with extra files.

I see you also intent to modify the current JS code in the helpfile pages to Copy/Open examples, moving the code partly into the extras.js.
Should save a bit of code space in all the generated html files.

Have you already updated any of the AU3 scripts that do the generation of the helpfile pages or any of the fixed pages <head> sections?
We could setup a private github repo so we can share / update /test code and keep track of the changes while developing this when you wish.

SciTE4AutoIt3 Full installer Download page   - Beta files       Read before posting     How to post scriptsource   Forum etiquette  Forum Rules 
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Link to comment
Share on other sites

1 hour ago, Jos said:

The extras.js just scans only for:

We would have to keep in mind other editors.
Therefore after trying loadExtCss('Extras/helpfile-css/AutoIt.css')  the chm should look for loadExtCss('AutoIt.css') if the 1st path is not there. It does not take any consequential time to do so ( under 10 mSec. ) and would allow other editors to have their way with the chm as is "from factory", so to say.

1 hour ago, Jos said:

Have you already updated any of the AU3 scripts that do the generation of the helpfile pages or any of...

After fiddling around ( quire a lot ) with the standard building of the help file, I've decided to run an independent script to change the .htm(s) themselves.
It will be much easier ( right now ) to test out and/or keep in the SVN. Just add one file vs. changing a bunch of files.
The changes in the <head> are quite simple and those of the <body> are thankfully simple too.
I'll have the script ready in the next few days and I'll PM it to you instead of pushing to SVN.

After I finish this script, if more tinkering is needed, then yes, lets then setup a private github repo to share the ideas/code.

I feel better going about it this way :)

Follow the link to my code contribution ( and other things too ).
FAQ - Please Read Before Posting.
autoit_scripter_blue_userbar.png

Link to comment
Share on other sites

  • Developers
15 minutes ago, argumentum said:

We would have to keep in mind other editors.
Therefore after trying loadExtCss('Extras/helpfile-css/AutoIt.css')  the chm should look for loadExtCss('AutoIt.css') if the 1st path is not there. It does not take any consequential time to do so ( under 10 mSec. ) and would allow other editors to have their way with the chm as is "from factory", so to say.

You lost me here. The Extras directory comes with the AutoIt3 installer and is all about extra files for other editors and is always there, so why the need to check to helpfile root directory?

17 minutes ago, argumentum said:

After fiddling around ( quire a lot ) with the standard building of the help file, I've decided to run an independent script to change the .htm(s) themselves.
It will be much easier ( right now ) to test out and/or keep in the SVN. Just add one file vs. changing a bunch of files.
The changes in the <head> are quite simple and those of the <body> are thankfully simple too.
I'll have the script ready in the next few days and I'll PM it to you instead of pushing to SVN.

I took a look at what needs to be changed for the <head> part of all scripts and fixed files, and got the basics done to generate an AutoIt3 helpfile that works using your changes for the CSS. It works nicely and all right hand pages are updated to the defined css. The Index (Left part) remains the standard layout and isn't easy to change as far as I can see.
Didn't look at the other JS funcs in the scripts yet. So can share those if you want, else I just wait and see what you have.
Understand why you want to use another script to update the current generated files as that is faster while testing, but the ultimate target is to update the current build scripts. :)

 

SciTE4AutoIt3 Full installer Download page   - Beta files       Read before posting     How to post scriptsource   Forum etiquette  Forum Rules 
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Link to comment
Share on other sites

10 minutes ago, Jos said:

You lost me here. The Extras directory comes with the AutoIt3 installer and is all about extra files for other editors and is always there

Yes they are there but I guess, that is to take them and place them in their respective folders.

15 minutes ago, Jos said:

Understand why you want to use another script to update the current generated files as that is faster while testing, but the ultimate target is to update the current build scripts.

Yes !.

I'll have all the JS and a functional idea/code soon. Once I get that done, we'll take it from there to an acceptable adaptation to the existing code.

It is working twice towards the same goal, but I strongly believe it'll be better that way. Some of the modified htm will be used for the static htm too.
I'll be done in a day ( or two ).

Follow the link to my code contribution ( and other things too ).
FAQ - Please Read Before Posting.
autoit_scripter_blue_userbar.png

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...