MiniTocProxy in v4 - FYI

This forum is for all Flare issues related to styles, stylesheets and XML.
lacastle
Propellus Maximus
Posts: 1028
Joined: Thu Apr 12, 2007 7:28 am
Location: Wilmington, DE
Contact:

MiniTocProxy in v4 - FYI

Post by lacastle »

If you used a minitocproxy in online help, you have to redo it in v4. i lost my styles* and default level of included headings. i'm sure the new way is better (like having the styles all available in the stylesheet without hunting for them), but switching versions in the same project can be a pain sometimes. i also have to redo the styles for my glossary expanding terms.

*this is an issue because i had special bullets and formatting
lacastle
Propellus Maximus
Posts: 1028
Joined: Thu Apr 12, 2007 7:28 am
Location: Wilmington, DE
Contact:

Re: MiniTocProxy in v4

Post by lacastle »

So I guess I need help now. I found an older version of my help that i could open in v3.1, so i copied those minitocproxy styles to the v4 help.

this is what i want from what i had in v3.1:
want.jpg

Code: Select all

div.mcminitoclink
{
	margin-left: 30px;
	display: list-item;
	background-image: none;
	list-style-image: url('../Images/book_open.png');
}
this is what i get with the same styles in v4:
get.jpg

Code: Select all

MadCap|miniTocProxy
{
	padding-top: 0px;
	mc-toc-depth: 1;
	background-image: none;
	display: list-item;
	list-style-image: url('../Images/book_open.png');
	margin-left: 30px;
	border-top-style: none;
	margin-top: 0px;
	padding-left: 0px;
}
Does it have something to do with the old styles (like <div minitoclink> and <divminitocproxy>) still being in my stylesheet? Does MadCap|miniTocProxy override them?
You do not have the required permissions to view the files attached to this post.
RamonS
Senior Propellus Maximus
Posts: 4293
Joined: Thu Feb 02, 2006 9:29 am
Location: The Electric City

Re: MiniTocProxy in v4 - FYI

Post by RamonS »

My guess is that it uses the 'wrong' style MadCap|miniTocProxy instead of the style it is supposed to use. Probably the easiest thing would be to copy the style from div.mcminitoclink to MadCap|miniTocProxy and build again. That should stuff the styling into the right place. Since this is gray theory and untested I recommend a backup of the project first.
SG
Propeller Head
Posts: 31
Joined: Fri Feb 03, 2006 9:48 am

Re: MiniTocProxy in v4 - FYI

Post by SG »

I filed a bug about this yesterday. I can not got my old mini TOC style to work in Flare V4. I've changed it in the application and checked the stylesheet. It looks OK, but still won't work. Anyone have a fix for this?

Thanks,

SG
lacastle
Propellus Maximus
Posts: 1028
Joined: Thu Apr 12, 2007 7:28 am
Location: Wilmington, DE
Contact:

Re: MiniTocProxy in v4 - FYI

Post by lacastle »

Nothing worked for me, so I deleted my minitocproxy sections and filed a bug report.
RamonS
Senior Propellus Maximus
Posts: 4293
Joined: Thu Feb 02, 2006 9:29 am
Location: The Electric City

Re: MiniTocProxy in v4 - FYI

Post by RamonS »

Not even copying the style definition over?
lacastle
Propellus Maximus
Posts: 1028
Joined: Thu Apr 12, 2007 7:28 am
Location: Wilmington, DE
Contact:

Re: MiniTocProxy in v4 - FYI

Post by lacastle »

I tried a lot of different options (with 6 minutes of generating between each change to see if it worked), and nothing helped.

1. div.minitocproxy with original styles and MadCap|miniTocProxy with default styles
2. div.minitocproxy with original styles and MadCap|miniTocProxy with same original styles
3. delete div.minitocproxy and MadCap|miniTocProxy with original styles
4. div.minitocproxy with original styles and delete MadCap|miniTocProxy

I gave up for today, but i'm leaning towards deleting my stylesheet and starting over completely (with no extra styles that I had added previously to make my project work).
NorthEast
Master Propellus Maximus
Posts: 6359
Joined: Mon Mar 05, 2007 8:33 am

Re: MiniTocProxy in v4 - FYI

Post by NorthEast »

The miniTocProxy uses some extra styles in v4.

In v3.1, editing the the miniTocProxy style controlled the style of the container for the miniToc links (div.MCMiniTocBox in the output).
However, you couldn't directly modify the style of the links (e.g. add icons next to them), so you had to add div.MCMiniTocLink to your stylesheet (which is the container for the links in the output).

In v4, you can now control the style of the miniToc links by using the preset styles p.MiniTOC1-p.MiniTOC9.
(There's no div.MCMiniTocLink in the output now.)

So, if you previously had formatting for div.MCMiniTocBox, then put it in the p.MiniTOC1 style instead.
Note that by default p.MiniTOC1 is bold, so you might want to change the font-weight to Normal.


Also, by default MadCap|miniTocProxy has a TOC depth of 3, so if you only want one level in your miniTOC then set mc-toc-depth to 0.
SG
Propeller Head
Posts: 31
Joined: Fri Feb 03, 2006 9:48 am

Re: MiniTocProxy in v4 - FYI

Post by SG »

David:

Thanks for the note. I tried using p.MiniToc1 and it works.

My old MiniToc style automatically read all of my link, focus and hover styles. Can you tell me how to do get the p.MiniTOC1 to use these styles?
Thanks,

SG
NorthEast
Master Propellus Maximus
Posts: 6359
Joined: Mon Mar 05, 2007 8:33 am

Re: MiniTocProxy in v4 - FYI

Post by NorthEast »

In my project the link styles worked fine, using the normal formatting.
The links in the output use the style class a.MiniToc1, but afaik a.MiniTOC1 has no specific preset formatting (just p.MiniTOC1 which has bold and I think a margin setting).
SG
Propeller Head
Posts: 31
Joined: Fri Feb 03, 2006 9:48 am

Re: MiniTocProxy in v4 - FYI

Post by SG »

David

In my projects I don't have links underlined, so I had to do something like this to get my styles to work:

a.MiniTOC1:hover
{
text-decoration:underline
}


Thanks for your help,

SG
SG
Propeller Head
Posts: 31
Joined: Fri Feb 03, 2006 9:48 am

Re: MiniTocProxy in v4 - FYI

Post by SG »

I now see that my Minitoc styles still aren't working the way they worked in Flare 3. I'm going to contact Flare tech support.

SG
tomjohnson1492
Propeller Head
Posts: 90
Joined: Wed Nov 07, 2007 11:08 pm
Location: Salt Lake City
Contact:

Re: MiniTocProxy in v4 - FYI

Post by tomjohnson1492 »

The styles for my mini-TOC are as follows:

MadCap|miniTocProxy
{
background-image: url('../Images/toolboxbg.jpg');
background-repeat: repeat-x;
background-color: #e8e6da;
padding-left: 30px;
padding-right: 10px;
background-position: top left;
border: solid 1px #ccc9be;
margin-top: 0px;
padding-top: 5px;
width: 375px;
padding-bottom: 10px;
}

p.MiniTOC1
{
display: list-item;
list-style-type: none;
background-image: url('../Images/Topic.gif');
background-position: center left;
padding-left: 20px;
background-repeat: no-repeat;
font-weight: normal;
margin-top: 0px;
margin-bottom: 6px;
}

p.MiniTOC2
{
display: list-item;
list-style-type: none;
background-image: url('../Images/Topic.gif');
background-position: center left;
background-repeat: no-repeat;
font-weight: normal;
margin-top: 0px;
margin-bottom: 6px;
padding-left: 20px;
margin-left: 35pt;
}

p.MiniTOC3
{
display: list-item;
list-style-type: none;
background-image: url('../Images/Topic.gif');
background-position: center left;
background-repeat: no-repeat;
font-weight: normal;
margin-top: 0px;
margin-bottom: 6px;
padding-left: 20px;
margin-left: 70pt;
}

That works well. However, there's also a madcap.css file that defines the link styles for the mini-TOC. That style looks like this:

a.MiniTOC1:link
{
margin-left: 0;
margin-right: 0;
margin-top: 0;
margin-bottom: 0;
padding-left: 0;
padding-right: 0;
padding-top: 0;
padding-bottom: 0;
border-left-color: transparent;
border-left-style: none;
border-left-width: 0;
border-right-color: transparent;
border-right-style: none;
border-right-width: 0;
border-top-color: transparent;
border-top-style: none;
border-top-width: 0;
border-bottom-color: transparent;
border-bottom-style: none;
border-bottom-width: 0;
background-color: transparent;
background-image: none;
font-style: inherit;
font-variant: inherit;
text-transform: inherit;
letter-spacing: inherit;
word-spacing: inherit;
text-align: inherit;
mc-leader-format: '.';
color: #000000;
font-size: 14px;
font-family: Arial;
font-weight: normal;
text-decoration: none;
}

It seems to override the styles in my other stylesheet. How do I set the link properties for the mini-TOC?
-------------
my blog/podcast: http://www.idratherbewriting.com
NorthEast
Master Propellus Maximus
Posts: 6359
Joined: Mon Mar 05, 2007 8:33 am

Re: MiniTocProxy in v4 - FYI

Post by NorthEast »

Yep, the MadCap.css file includes a number of style definitions. Their properties are a combination of a number of 'default' properties and also the properties from the corresponding styles in your main stylesheet.
To override any of these 'default' properties, you'll need to set them in your main stylesheet.

div.MiniTocBox (based on MadCap|miniTocProxy)
p.MiniToc1
a.MiniToc1:link
p.MiniToc2 (if used)
a.MiniToc2:link (if used)
... etc

In an empty project, the miniToc styles in MadCap.css are:

Code: Select all

div.MCMiniTocBox
{
	padding-left: 20px;
	margin-top: 10px;
	padding-top: 10px;
	border-top-color: black;
	border-top-style: solid;
	border-top-width: 1px;
}

p.MiniTOC1
{
	font-weight: bold;
	margin-left: 0pt;
	margin: 1.12em 0;
	display: block;
	margin-bottom: 0pt;
	margin-top: 0pt;
	font-size: 12.0pt;
}

a.MiniTOC1:link
{
	margin-left: 0;
	margin-right: 0;
	margin-top: 0;
	margin-bottom: 0;
	padding-left: 0;
	padding-right: 0;
	padding-top: 0;
	padding-bottom: 0;
	border-left-color: transparent;
	border-left-style: none;
	border-left-width: 0;
	border-right-color: transparent;
	border-right-style: none;
	border-right-width: 0;
	border-top-color: transparent;
	border-top-style: none;
	border-top-width: 0;
	border-bottom-color: transparent;
	border-bottom-style: none;
	border-bottom-width: 0;
	background-color: transparent;
	background-image: none;
	font-family: inherit;
	font-style: inherit;
	font-variant: inherit;
	text-transform: inherit;
	letter-spacing: inherit;
	word-spacing: inherit;
	text-align: inherit;
	mc-leader-format: '.';
	color: black;
	font-size: 12.0pt;
	font-weight: bold;
	text-decoration: none;
}
For example, for p.miniToc1 you might want to set the font size; for a.MiniToc1:link you want to set the font size, weight, color and text decoration (underline).
NorthEast
Master Propellus Maximus
Posts: 6359
Joined: Mon Mar 05, 2007 8:33 am

Re: MiniTocProxy in v4 - FYI

Post by NorthEast »

tomjohnson1492 wrote:It seems to override the styles in my other stylesheet. How do I set the link properties for the mini-TOC?
I found quite a few issues with link properties not appearing as I expected (e.g. for glossary, expanding text, concept and related topic links). As I had so many problems with these and the 'default' styles in MadCap.css, I decided to add a second stylesheet to my project to completely override MadCap.css.

To get this stylesheet to load after MadCap.css was tricky. I added a link to it on my master page, but if I put the <link href...> in the head section it would be listed (and loaded) before MadCap.css in the head section in the output file. However, I found that if I stuck it in-between head and body sections on the master page, it would be loaded after MadCap.css in the head section in the output.

To give you an idea of the sort of things it includes, the section that defines all my link formatting is:

Code: Select all

a,
a:link,
a:visited
{
	color: #0067c5 !important;
}

a:hover,
a:focus
{
	color: #7fb3e2 !important;
}

a.MCXref,
a.MCXref:link,
a.MCXref:visited,
a.MCMiniTocLink,
a.MCMiniTocLink:link,
a.MCMiniTocLink:visited
a.MCConceptLink,
a.MCConceptLink:link,
a.MCConceptLink:visited,
a.MCRelatedTopics,
a.MCRelatedTopics:link,
a.MCRelatedTopics:visited
{
	text-decoration: none;
}

a.MCXref:hover,
a.MCXref:focus,
a.MCMiniTocLink:hover,
a.MCMiniTocLink:focus,
a.MCConceptLink:hover,
a.MCConceptLink:focus,
a.MCRelatedTopics:hover,
a.MCRelatedTopics:focus
{
	text-decoration: underline;
}

a.MCTextPopupSpot,
a.MCTextPopupSpot:link,
a.MCTextPopupSpot:visited,
a.MCExpandingHead_Expanding,
a.MCExpandingHead_Expanding:link,
a.MCExpandingHead_Expanding:visited,
a.Hyperlink_Hyperlink,
a.Hyperlink_Hyperlink:link,
a.Hyperlink_Hyperlink:visited
{
	color: #8e634f !important;
}

a.MCTextPopupSpot:hover,
a.MCTextPopupSpot:focus,
a.MCExpandingHead_Expanding:hover,
a.MCExpandingHead_Expanding:focus,
a.Hyperlink_Hyperlink:hover,
a.Hyperlink_Hyperlink:focus
{
	color: #d69577 !important;
}
These patch up issues I found in Flare 2.5/3.1, so some will be redundant now in v4 (or I may need to add more!).

I also use this extra stylesheet to fix some bugs (in 3.1), such as Flare not handling relative paths to background images in MadCap.css.

I'm not saying you need to do this in your project, as I'm probably using a hammer to crack a nut. I just use it in mine to make absolutely sure that my styles appear as I want them, without any stuff in MadCap.css getting in the way.
tomjohnson1492
Propeller Head
Posts: 90
Joined: Wed Nov 07, 2007 11:08 pm
Location: Salt Lake City
Contact:

Re: MiniTocProxy in v4 - FYI

Post by tomjohnson1492 »

Thanks for your response, Dave. I guess I'm still confused about where madcap.css is coming from. Is it a stylesheet produced by Madcap on the fly when you generate a target? I'm assuming that any styles set in my regular stylesheet will override those set in madcap.css, but that's not the case in my situation. Is there any way to directly edit madcap.css prior to generating?

I try adding the styles in the right place, but Flare just won't accept them. Am still wrangling with it. It's a bit frustrating b/c it was working fine in the latest beta, right before the official 4 was released.
-------------
my blog/podcast: http://www.idratherbewriting.com
LTinker68
Master Propellus Maximus
Posts: 7247
Joined: Thu Feb 16, 2006 9:38 pm

Re: MiniTocProxy in v4 - FYI

Post by LTinker68 »

tomjohnson1492 wrote:I guess I'm still confused about where madcap.css is coming from. Is it a stylesheet produced by Madcap on the fly when you generate a target?
Yes.
tomjohnson1492 wrote:I'm assuming that any styles set in my regular stylesheet will override those set in madcap.css...
The styles in madcap.css control some skin elements and some advanced features. If you have access to a style in the main Stylesheet GUI, then modifying the styles there will take precedence. If you don't specify the styles in the main stylesheet, then the default ones specified in the madcap.css stylesheet will be used. If you don't have access to a style in the main stylesheet because for whatever reason MadCap didn't create an interface for it, then you might be able to figure out the correct syntax and add it to your main stylesheet file manually. In that case, I'm pretty sure the main stylesheet will override the madcap.css stylesheet.
tomjohnson1492 wrote:Is there any way to directly edit madcap.css prior to generating?
Not unless you modify the one in the Flare program folder, which will then be used by each and every project you create in Flare.
tomjohnson1492 wrote:It's a bit frustrating b/c it was working fine in the latest beta, right before the official 4 was released.
That's odd. Something must have been changed between those versions that's causing an adverse affect. Make sure you submit a bug report.
Image

Lisa
Eagles may soar, but weasels aren't sucked into jet engines.
Warning! Loose nut behind the keyboard.
SG
Propeller Head
Posts: 31
Joined: Fri Feb 03, 2006 9:48 am

Re: MiniTocProxy in v4 - FYI

Post by SG »

I've been working several days with this mini toc problem in Flare 4, and I now have pages with miniTocs created with different fonts, different colors and different link attributes all on one page. It looks ridiculous.

I see that the problem is caused by Flare using multiple miniTOC classes on the same page. Is this a bug? Or perhaps I did something inadvertently to cause this? Anyone have a solution?

Thanks,

SG

Sample out code is below, I want all miniToc entries to use the MiniToc1 stye, but this is what I get:
<p class="MiniTOC1"><a class="MiniTOC1" href="Statistics/StatsIntro.htm">Risk Analysis</a>
</p>
<p class="MiniTOC2"><a class="MiniTOC2" href="Statistics/Statistics_Table_of_Contents.htm">Risk Reporting Statistics</a>
</p>
<p class="MiniTOC3"><a class="MiniTOC3" href="Statistics/RiskStats.htm">Introduction to Risk Statistics</a>
</p>
NorthEast
Master Propellus Maximus
Posts: 6359
Joined: Mon Mar 05, 2007 8:33 am

Re: MiniTocProxy in v4 - FYI

Post by NorthEast »

Right, there's a lot of points to cover there....
I guess I'm still confused about where madcap.css is coming from. Is it a stylesheet produced by Madcap on the fly when you generate a target?
Yes, the MadCap.css file is generated on-the-fly when you build your target. It is a stylesheet that includes all the extra styles that Flare needs to use for the output - the bulk of which are to support the special MadCap styles in the main stylesheet.
For example, if you set properties for miniTocProxy in your main stylesheet, those properties will be added to div.MCMiniTocBox in MadCap.css.

One slight problem is that a few of these styles in MadCap.css have some default properties, like the bold setting for p.MiniTOC1, or the border line on breadcrumbs. If you set the matching property in your main stylesheet then it'll be carried through to MadCap.css, otherwise you'll get the default property (which might not be what you wanted).
Is there any way to directly edit madcap.css prior to generating?
Not unless you modify the one in the Flare program folder, which will then be used by each and every project you create in Flare.
Not completely - the MadCap.css in the program files folder only has a small number of the 'default' styles. Flare will add more of these 'default' styles to the MadCap.css in your output when you make a build. For example, there's no MiniTOC1-9 styles in that file, those styles are added by Flare to the MadCap.css file if your project output actually needs them.
I'm assuming that any styles set in my regular stylesheet will override those set in madcap.css
If you mean for the MadCap specific styles in the main stylesheet (e.g. for proxies), then yes - because Flare carries through the properites you set for these styles into their corresponding styles in MadCap.css.
However, if you've copied any Flare generated styles from MadCap.css back into your main stylesheet, then those won't have priority as MadCap.css is loaded after your main stylesheet in the output.
NorthEast
Master Propellus Maximus
Posts: 6359
Joined: Mon Mar 05, 2007 8:33 am

Re: MiniTocProxy in v4 - FYI

Post by NorthEast »

SG wrote:I've been working several days with this mini toc problem in Flare 4, and I now have pages with miniTocs created with different fonts, different colors and different link attributes all on one page. It looks ridiculous.

I see that the problem is caused by Flare using multiple miniTOC classes on the same page. Is this a bug? Or perhaps I did something inadvertently to cause this? Anyone have a solution?

Thanks,

SG
In v4, the miniTocProxy has a default setting of 3 for the mc-toc-depth, which means the miniToc will not only show topics in the current book, but also topics 3 levels down in your TOC. In Flare v3 the miniToc only showed you the topics in that book, not those in further levels down.

To stop this happening, set the mc-toc-depth to 0.

If you want the extra levels of topics, but don't like their formatting, then edit the properties for p.MiniTOC1 - p.MiniTOC3 (to whatever level you're going to use).
SG
Propeller Head
Posts: 31
Joined: Fri Feb 03, 2006 9:48 am

Re: MiniTocProxy in v4 - FYI

Post by SG »

David:

Thanks. I figured out that the subbooks were using the other MiniTOC styles. This bit is especially helpful: "To stop this happening, set the mc-toc-depth to 0."

SG
tomjohnson1492
Propeller Head
Posts: 90
Joined: Wed Nov 07, 2007 11:08 pm
Location: Salt Lake City
Contact:

Re: MiniTocProxy in v4 - FYI

Post by tomjohnson1492 »

I'm convinced Flare 4 has a bug in which the madcap.css styles have priority over those in the regular stylesheet. I tried for quite a while yesterday to style my online mini-TOC links, but without success. So I reverted to this workaround.

1. Go to C:\Program Files\MadCap Software\MadCap Flare V4\Flare.app\Resources\WebHelp\Content\SkinSupport and open the MadCap.css file.

2. At the bottom of the file, add this:

Code: Select all

a.MiniTOC1:link
{
	color: #720000;
	text-decoration: none;
}

a.MiniTOC1:visited
{ 
         text-decoration:none;
}

a.MiniTOC2:link
{
	color: #720000;
	text-decoration: none;
}

a.MiniTOC2:visited
{
        text-decoration:none;
}

3. Change your parameters to those that you actually want.

Since this style declaration is listed last, it takes priority. This method works for me. It feels a little lame to do it like this, but that's the only way I could get it to work.
-------------
my blog/podcast: http://www.idratherbewriting.com
LTinker68
Master Propellus Maximus
Posts: 7247
Joined: Thu Feb 16, 2006 9:38 pm

Re: MiniTocProxy in v4 - FYI

Post by LTinker68 »

I had a little problem with a mini-TOC that I fixed yesterday, but I don't know if it was due to changes in the stylesheet or what. I think the problem was that the p.MiniTOC1 style was conflicting with the MadCap|MiniTocProxy. (I think that's the name of it.) After turning some properties on and off in the two to narrow down the problem, I finally deleted the p.MiniTOC1 style altogether and the only property I left in the MadCap|MiniTocProxy was border-top: none. I then manually added <a> styles for the MiniTOC1, because for some reason, the stylesheet doesn't give you pseudo classes for the mini-TOC. Why, I have no idea. Anyway, those changes took care of the problem for me. I didn't have to do anything with the madcap.css stylesheet or do anything to override it. Unless you count manually creating the <a> styles as overriding it.
Image

Lisa
Eagles may soar, but weasels aren't sucked into jet engines.
Warning! Loose nut behind the keyboard.
lacastle
Propellus Maximus
Posts: 1028
Joined: Thu Apr 12, 2007 7:28 am
Location: Wilmington, DE
Contact:

Re: MiniTocProxy in v4 - FYI

Post by lacastle »

LTinker68 wrote:I had a little problem with a mini-TOC that I fixed yesterday
I had similar issues (from the original post for this thread) that I fixed yesterday too. I also noticed that there were no <a> classes for MiniToc1, but i just added the color and underline look to MiniToc1. To get this look (that I had in v3.1), I applied these styles:
Untitled-1.jpg

Code: Select all

MadCap|miniTocProxy
{
	border-top-style: none;
	mc-toc-depth: 1;
	border: none;
	font-family: Arial;
	font-size: 100%;
	margin-left: 30px;
	padding-left: 0px;
	padding-top: 0px;
}

p.MiniTOC1
{
	font-weight: normal;
	display: list-item;
	list-style-image: url('../Images/book_open.png');
	margin-left: 10pt;
	text-decoration: underline;
	color: #003082;
}
I think my initial problem was that I had invested so much time into fixing the stylesheet in 3.1 and had added extra div's and non-default styles, so I wasn't expecting the stylesheet to be as easy as it was in 4.0.

I'm still having a problem with the glossary expanding text. Did anyone else notice that the entire word and expandingtext icon is underlined now, instead of just the word?
You do not have the required permissions to view the files attached to this post.
LTinker68
Master Propellus Maximus
Posts: 7247
Joined: Thu Feb 16, 2006 9:38 pm

Re: MiniTocProxy in v4 - FYI

Post by LTinker68 »

lacastle wrote:I also noticed that there were no <a> classes for MiniToc1, but i just added the color and underline look to MiniToc1.
But if you want a mouseover effect like your other hyperlinks, then you'll need to manually add the pseudo classes.
Image

Lisa
Eagles may soar, but weasels aren't sucked into jet engines.
Warning! Loose nut behind the keyboard.
Post Reply