Hello!

I experienced a similar problem last summer and I was just about to reply to 
your problem.  

In my project all my links contain the file extension ".muse".  I have not 
found a setting that would accomplish a correct publishing for this case.  To 
generate correct links to html-files I explicitly rewrite all the links before 
publishing .    I added a somewhat crude hack to my project file 
(`my-muse-publish-muse-links-map) which performs this task.   This hack may be 
polished up by using a somewhat more specific regular expression.  But it works 
for me for the time being.  

As far as I understand the solution that I apply is somewhat more general 
purpose, because the code works for any directory structure withouth 
modification.

When I have enough time I will look into the muse code to provide a more 
pleasant way to deal with this issue.

The test project that demonstrates the hack is contained in the attached 
tar.gz-file.  Proceed as described in "test-init.el" file.

Kind regards Stefan

--- On Tue, 2/9/10, Baranyi Péter <[email protected]> wrote:

> From: Baranyi Péter <[email protected]>
> Subject: Re: [Muse-el-discuss] multiple publish directory problem
> To: "Discussion and help for Emacs Muse" <[email protected]>
> Date: Tuesday, February 9, 2010, 11:34 AM
> Hi again, 
> 
> and thanks for your help, but I found it easier to just
> write a
> before-end publish hook, which rewrites html links in the
> second
> directory. Problem solved.
> 
> (muse-derive-style "html-one" "html"
>                
>    :maintainer "[email protected]")
> 
> (muse-derive-style "html-two" "html"
>                
>    :maintainer "[email protected]"
>        
>    :before-end
> 'my-muse-rewrite-html-links-to-point-to-same-directory
> )
> 
> (defun
> my-muse-rewrite-html-links-to-point-to-same-directory ()
>   "rewrite links in current buffer: <a
> href=\"../one/PageOne.html\"> -> <a
> href=\"PageOne.html\">"
>   (goto-char (point-min))
>   (while
>       (re-search-forward "<a
> href=\"../one/" nil t)
>     (replace-match "")
>     (muse-insert-markup "<a href=\"")
> ))
> 
> 
> 
> On Mon, 2010-02-08 at 08:27 +0100, Alex Ott wrote:
> > Hello
> > 
> > Baranyi Péter  at "Sun, 07 Feb 2010 23:37:18
> +0100" wrote:
> >  BP> Thank you for your comments but
> unfortunately this does not work for me.
> >  BP> I changed the index page to:
> > 
> >  BP>  - [[PageOne]]
> >  BP>  - [[PageTwo]]
> >  BP>  - [[./PageOne]]
> >  BP>  - [[./PageTwo]]
> > 
> >  BP> and all links still point to the one
> directory:
> > 
> >  BP> <a
> href="../one/PageOne.html">./PageOne</a>
> > 
> >  BP> But interestingly, if i use a
> [[./PageOne]] to a muse source file that
> >  BP> is in another directory, then the result
> is:
> > 
> >  BP> <a
> href="./PageOne">./PageOne</a>
> > 
> >  BP> So it works in this case but the file
> extension is missing. Any help
> >  BP> please?
> > 
> > The main idea, that you should use relative file
> names, instead of just
> > page names.  For example, to point to file in
> other directory, you need to
> > put name like [[../other-dir/File]], etc.  You
> can look to sources of my
> > site - http://alexott.net, if you'll replace .html with .muse,
> then you'll
> > see source code of it
> > 
> -- 
> Baranyi Péter <[email protected]>
> 
> 
> _______________________________________________
> Muse-el-discuss mailing list
> [email protected]
> https://mail.gna.org/listinfo/muse-el-discuss
>


      

Attachment: test_proj.tar.gz
Description: application/gzip

_______________________________________________
Muse-el-discuss mailing list
[email protected]
https://mail.gna.org/listinfo/muse-el-discuss

Reply via email to