modifying HREFs for wiki import

The internal cross-references in my output currently have the format <a href="TargetFileName.htm#Rad#####">link text</a>.

What Confluence needs is this:

<ac:link>
<ri:page ri:content-title="Target File Name"/>
<ac:plain-text-link-body><![CDATA[link text]]></ac:plain-text-link-body>
</ac:link>

Is that currently possible? If not, please consider adding it. I think that's the one thing I have left to do to generate Confluence 4.x's storage format. With minor variations, the same settings could be used to generate MindTouch's XHTML.

Confluence links

Is that currently possible?

No. You can't do it with a macro, either.

If not, please consider adding it.

It wouldn't be that hard to do in code, but there's one bit that is problematic, and that's the CDATA section in the middle. Does it have to be CDATA? That would totally prevent any formatting in the link text, which would be a major loss and a dealbreaker for many Frame users... Aside from that, it wouldn't be very difficult. IOW, if we could use:

<ac:link><ri:page ri:content-title="Target File Name"/><ac:plain-text-link-body>
... link text ...
</ac:plain-text-link-body></ac:link>

that would be pretty straightforward.

And do they really allow spaces in the file name? If so, they are the only wiki to do that, AFAIK. The traditional wiki page name markup is CamelCase, no spaces.

Confluence ac:link-body markup

The markup tags permitted within the <ac:link-body> are <b>, <strong>, <em>, <i>, <code>, <tt>, <sub>, <sup>, <br> and <span>.

Confluence ac:link-body markup

FYI, so far as I can see, no tags are allowed in page titles. If I include them, they appear as literals, e.g. "this is <em>italic</em>" instead of "this is italic".

Link tags

OK, that list looks sufficient. The main fun part now is allowing spaces in the file name, and not having an extension on it, but those are tractable. We'll create an [HTMLOptions]Confluence=Yes setting to provide the whole lot of what you've requested so far for this format. I'll post again when that's ready.

[HTMLOptions]Confluence=Yes

Is that still in the pipeline?

Yes, it's been in the betas

Yes, it's been in the betas for a while now:

[HTMLOptions]
; Confluence = No (defalt, use normal linking) or Yes (make Confluence links, 
; turns on ConfluenceLinks below, sets RemoveANames,  NoLocations,
; StartingSplit, and NoFonts to Yes, and sets UseHash, UseSpanAsDefault,
; UseXMLDeclaration, UseDOCTYPE, UseHeadAndBody, [CSS]UseCSS, and
; AlignAttributes to No.  You can override these individually if necessary.)
Confluence=No
; ConfluenceLinks = No (default, use normal links) or Yes (use the link parts
; specified below)
ConfluenceLinks=No
; These are the default parts for Confluence links:
ConfluenceLinkStart = <ac:link>
ConfluenceLinkPage = <ri:page ri:content-title="
ConfluenceLinkPageEnd = "/>
ConfluenceLinkText = <ac:link-body>
ConfluenceLinkTextEnd = </ac:link-body>
ConfluenceLinkEnd = </ac:link>

Kindly let me know if there is anything else you want included.

FrameMaker headings > wiki page names

It's fine for the files to have .html extensions.

Titles vs. filenames

Perhaps I misunderstood. Is the page name in the link the title of the page's file, or is it the filename?

Does it actually link to the title, rather than the file name? Or do the title and file name need to be the same, with spaces, except that the filename can have an .html extension?

Confluence page titles & URLs

There are no file names in Confluence, page content is stored in a SQL database.

If I create a new page, enter "this is page a" in the title, and save, the URL is http://localhost:8090/display/scratch03/this+is+page+a. If go to another page and insert a link to that page, the link code is:

<ac:link>
<ri:page ri:content-title="this is page a"/>
</ac:link>

The HTML files are just a transitional stage to get the content from FM10 to Confluence 4.2. The syntax of the file name isn't too important so long as our import script can get the name Confluence is expecting somewhere. It could probably even be included in the file as a comment.

Confluence link syntax

Spaces are allowed in page titles, which are what you specify in the link code:

<p>This is a <ac:link>
<ri:page ri:content-title="this is page a"/>
<ac:plain-text-link-body><![CDATA[link to page a]]></ac:plain-text-link-body>
</ac:link>.</p>

That target page's URL is:

http://localhost:8090/display/scratch03/this+is+page+a

There is limited markup supported in the link text:

http://confluence.atlassian.com/display/DOC/Confluence+Storage+Format#Co...

I just posted a comment on that page asking for details of which tags are allowed in ac:link-body.