10 Replies Latest reply on Apr 19, 2010 10:52 AM by stevenjs

    Is There a Way to Address RH Frameset Properties, like border?

    stevenjs Level 1

      Greetings:

       

      Where in the collection of RH files is the project frameset defined, and is there any way to change its properties?

       

      One of the ugliest things in all of the RH templates is the frameset border. I'm NOT talking about how the frames are set, how wide or narrow, or what percentage of the window they occupy, or how many frames are in the set, or what pages are allocated to load into each by default, or how the are laid out. I know there's some sort of primitive interface for addressing such things, at least in RH 8.

       

      I'm talking about the properties of the frames and the frameset, specifically the border, that fat sickly grey line that just barely works with the Titanium (black & white & grey) template, and with no other template. Is there a way to have no border? A thinner border? A different color border? Is this even supported in CSS or in current browsers?

       

      Also, on the subject of ugly templates, is there anyone or any company out there which offers RH skin templates way, way better than those included in the RH box? That will custom build a skin based on your custom design? Or design one to match an existing support web site's design?

       

      Seems to me all of these HAT's take ugly lessons ;-)

       

      Many thanks.

       

      stevenjs

      ________________________

      "I am but an egg."

      --Stranger in a Strange Land

        • 1. Re: Is There a Way to Address RH Frameset Properties, like border?
          Willam van Weelden Adobe Community Professional & MVP

          Hi,

           

          You can set options like border in the frameset dialog. The most powerfull option however, is to modify the HTML of your framesets directly. You set frameborder and framebordercolor as attributes to set the color. You can try setting it in CSS, I never tried it. Personally, I always disable frameborders by setting frameborder='0' See also http://www.w3schools.com/tags/tag_frameset.asp

           

           

          As for skins, it greatly depends on the output you use. CHM is pretty stuck, for AIR you need an AIR devoloper and you can build skins for WebHelp.

          You can build a custom WebHelp skin using the skin editor in Project Set-up | Skins (at least thats were it is in RH7). WebHelp is just a bunch of .htm files and javascript. You can greatly customize it trough Robo and even more by editing your output files. For questions about the latter, see Skinny on Skins or post back.

           

          Greet,

           

          Willam

          • 2. Re: Is There a Way to Address RH Frameset Properties, like border?
            stevenjs Level 1

            Countless thanks, William. Not only was I unaware of the built in skin "designer," I was unaware of your resource at http://www.robowizard.com/RoboWizard/NewProject.htm, and your zip download is priceless info, best resource of all. Adobe should pay you for it ;-) it's so good.

             

            Are you by any chance aware of any third-party RH "skin designers" out there in the wild? That make these little icon/button thingies and can put it all together in an RH skin?

             

            Also, I've been playing with the various marginwidth  and marginheight settings (using big numbers like +/- 15 or 20), but none of them seem to affect the margin between the navigation "books" and the left edge of the browser window. Any ideas on that? It's awfully tight in IE and bang flush in Firefox. [This is in partial answer to my own question. Reading your "skinny on skins" download, I changed the leftmargin and marginwidth numbers from 2 to 4 in the whtdhtml.htm webhelp output file. What a difference a 2 pixel left margin in the TOC makes in both browsers -- however, is there a way to change this pre-compile so it does not have to be redone with every re-compile?] [just answered the second question -- there is ! go to the program files for RH, find C:\Program Files\Adobe\Adobe Technical Communication Suite 2\Adobe RoboHelp 8\RoboHTML\WebHelp5Ext\template_stock/whtdhtml.htm. Of all the variable stuff in there, the body leftmargin and marginwidth are fixed values. Change them, and your Nav will enjoy some breathing room every time you re-compile ;-]

             

            Finally, is there no earthly way to have the TOC nav titles wrap inside the frame? I'd have thought they'd have thought of that.

             

            Great thanks, you're a true guru, and fabulous to hear from you.

             

            Steven

            • 3. Re: Is There a Way to Address RH Frameset Properties, like border?
              Willam van Weelden Adobe Community Professional & MVP

              Hi,

               

              Skinny on Skins is not mine, but Rick Stone's (honour to those who deserve it). Rick's not a guru, but a wizard

               

              You may also want to take a look at Peter's site (http://www.grainge.org/) which also is a veritable fountain of knowledge.

               

              For icons and images, you'll need a graphics designer or something like that. We have one in house, and we keep him very busy

               

              For the margins, open whtdhtml.htm and add a padding-left for the BODY. This will indent the books/topics. (Note that this is in an output file. Save the output file and copy it somewhere save. Paste the file in the output every time you generate it.)

               

              What do you mean by wrapping the titles inside the frame? No horizontal scrolling?

               

              Greet,

               

              Willam

               

              This e-mail is personal. For our full disclaimer, please visit www.centric.eu/disclaimer.

              • 4. Re: Is There a Way to Address RH Frameset Properties, like border?
                Peter Grainge Adobe Community Professional (Moderator)

                Not on this one though, to save time looking.

                 


                See www.grainge.org for RoboHelp and Authoring tips

                 

                @petergrainge

                • 5. Re: Is There a Way to Address RH Frameset Properties, like border?
                  stevenjs Level 1

                  "For the margins, open whtdhtml.htm and add a padding-left for the BODY. This will indent the books/topics. (Note that this is in an output file. Save the output file and copy it somewhere save. Paste the file in the output every time you generate it.)"

                   

                  -- better still, go to C:\Program Files\Adobe\Adobe Technical Communication Suite 2\Adobe RoboHelp 8\RoboHTML\WebHelp5Ext\template_stock/whtdhtml.htm. Of all the variable stuff in there, the body leftmargin and marginwidth are fixed values. Change them, and your Nav will enjoy some breathing room every time you re-compile in both IE and Firefox, no need to keep changing the output file.

                   

                  "What do you mean by wrapping the titles inside the frame? No horizontal scrolling?"

                   

                  -- Yes, no scrolling. You set the width for the nav pane, then let the book/topic titles wrap inside that. This were easy enough to do if I could find the actual file that is loaded into the nav pane, but it seems to be completely generated and not accessible (or what am I missing?)

                   

                  If this were an editable file, you could put a table or div inside, set the width to the width of the frame/pane, and it would wrap. Actually, even if scripted RH should be doing this. Verbose titles are the most informative, crazy to keep them short just because the app won't let them wrap and to avoid the dreaded scroll bar. If they have to script-write that pane's page they should write a table or div container to the same width as the frame and let the nav text wrap!

                   

                  Another question related to frameset/frames. I find that no amount of changing of frame tag properties in the .skn file produces a change in the border color (frameborder="1" bordercolor="#000000"), though I can remove the frame altogether with frameborder="0".

                   

                  Curously, if I create a new frame in RH and ascribe topics to the panes and add a bordercolor to it, the border color shows up nicely. What gives?

                   

                  And last but far from least, why is it not possible to create a new RH project and determine a different frameset for it instead of the default top toolbar, left nav, topic right? This can not be changed, either before or after a project is created? The create > new frame just gives you a framset topic, but has no effect on the project frameset.  What gives there??

                  • 6. Re: Is There a Way to Address RH Frameset Properties, like border?
                    Willam van Weelden Adobe Community Professional & MVP

                    Hi,

                    "What do you mean by wrapping the titles inside the frame? No horizontal scrolling?"

                    -- Yes, no scrolling. You set the width for the nav pane, then let the book/topic titles wrap inside that. This were easy enough to do if I could find the actual file that is loaded into the nav pane, but it seems to be completely generated and not accessible (or what am I missing?)

                    The TOC is build with a number of div elements. Look at the function writeBook in whthost.js on line 257 en at the function writeAnItem on line 420. Both functions use nobr tags. Deleting them won't produce the desired result. You'll have to play around by the styles in the function TocWriteClassStyle on line 643. I didn't see a straigforward solution, but I'll take a look again when I have some more time.

                    Another question related to frameset/frames. I find that no amount of changing of frame tag properties in the .skn file produces a change in the border color (frameborder="1" bordercolor="#000000"), though I can remove the frame altogether with frameborder="0".

                     

                    Have you changed all the occurances? Personally, I don't bother with the skn file. I always edit in the output files directly. Gives me the idea that I'm in control somehow

                     

                    And last but far from least, why is it not possible to create a new RH project and determine a different frameset for it instead of the default top toolbar, left nav, topic right? This can not be changed, either before or after a project is created? The create > new frame just gives you a framset topic, but has no effect on the project frameset.  What gives there??

                    You can do this using windows. You can create multiple windows and call the different windows when you need them.

                    • 7. Re: Is There a Way to Address RH Frameset Properties, like border?
                      stevenjs Level 1

                      Hi again. Delighted you're taking an interest.

                       

                      Yes, please do look into the ability to break or wrap TOC text. I believe this is neglected in all HAT's (certainly Flare has the same problem) and will definitely give RH users a leg up. The developers really should have thought of that.

                       

                      Regarding the frameborder and bordercolor, where would this be changed if not in the .skn file? I see frameset references strewn across half a dozen scripts and pages, none of which seem like the "right" one. I have to re-publish often, and often changes to multiple guides on the double quick, so it were ideal if I could change the .skn file once and forget about it, but that does not seem to be possible, or am I missing something? And yes, all instances of the same frame tag in the .skn file were changed, sometimes with outrageous values like frameborder="15" to no avail. Odd, isn't it??

                       

                      I am not myself a programmer/developer, and in any event I have no idea what you mean by "You can do this using windows. You can create multiple windows and call the different windows when you need them." Please explain.

                       

                      There really is no way in RH to make a project with some other kind of frameset? It's not a feature in some nook or cranny of the app l've overlooked? Curiouser and curiouser.

                      • 8. Re: Is There a Way to Address RH Frameset Properties, like border?
                        Willam van Weelden Adobe Community Professional & MVP

                        Hi,

                         

                        I'll look into the TOC wrapping, but it may take some time.

                         

                        Regarding the framesets, RH uses several files and script to build the webhelp. The most important ones are in whskin_frmset01.htm for the one dividing the TOC and the topics, and in the first file for the vertical bar with buttons.

                        Also, as far as I know, you can only turn the frameborder on or off. You can't create a very large border, as you can do with regular elements. See also http://www.w3schools.com/tags/tag_frame.asp

                         

                        For windows, there a part of the RH CSH. Please read http://www.adobe.com/devnet/robohelp/articles/context_help.html and http://www.techscribe.co.uk/ta/web-to-help.htm. This probably also answers you last question.

                         

                        Greet,

                         

                        Willam

                         

                        This e-mail is personal. For our full disclaimer, please visit www.centric.eu/disclaimer.

                        • 9. Re: Is There a Way to Address RH Frameset Properties, like border?
                          Willam van Weelden Adobe Community Professional & MVP

                          Hi again,

                           

                          That sure took me some time to get started


                          As far as I could find, TOC wrapping is not possible. There are three reasons for this:

                           

                          1. Robo uses <nobr>-tags to build the TOC. However, Robo 8 (not 7) uses the nobr tags to control the TOC. Removing these tags breaks the TOC. Ofcourse, some extra scripting could fix that... That brings on point two

                           

                          2. All contents under a book is added to a new div. This div is positioned under the book. So far so good. If you want the TOC te stay usable, you probably want some indentation in the TOC. When your TOC has more that five levels, the available space for the text becomes quite small.

                           

                          3. A browser will not normally break a word. (This may be possible in CSS3, but not yet). When the TOC gets too small, you're back where you started.

                           

                          If the TOC wrapping really bothers you, you can enlarge the standard width of the TOC, so users never have to scroll horizontally.

                           

                          Greet,

                           

                          Willam

                          1 person found this helpful
                          • 10. Re: Is There a Way to Address RH Frameset Properties, like border?
                            stevenjs Level 1

                            Countless thanks for following through on this.

                             

                            It looks like we're stuck ;-)