Thank you for your help but the problem is solved for me with the :before-end function 'my-muse-rewrite-html-links-to-point-to-same-directory in the second style that i posted earlier.
On Thu, 2010-02-11 at 02:58 -0800, Stefan Schlee wrote: > Sorry to bother the list again about this topic, but there is a bug in the > function I posted. The function should read: > > (defun my-muse-publish-muse-links-map () > "Map every link target with a \".muse\" > file extension contained in a muse link to a link target with a > \".html\" extension. The function applies to the current buffer." > (goto-char (point-min)) > (while (search-forward ".muse][" nil t) > (replace-match ".html][" t t nil nil)) > > (goto-char (point-min)) > (while (search-forward ".muse]]" nil t) > (replace-match ".html]]" t t nil nil)) > > (goto-char (point-min)) > (while (search-forward ".muse#" nil t) > (replace-match ".html#" t t nil nil))) > > In the original version the second "(goto-char (point-min))" was missing. > > Kind regards Stefan > > --- On Tue, 2/9/10, Stefan Schlee <[email protected]> wrote: > > > From: Stefan Schlee <[email protected]> > > Subject: Re: [Muse-el-discuss] multiple publish directory problem > > To: [email protected], "Discussion and help for Emacs Muse" > > <[email protected]> > > Date: Tuesday, February 9, 2010, 4:59 PM > > 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 > > > > > > > > > > > -----Inline Attachment Follows----- > > > > _______________________________________________ > > Muse-el-discuss mailing list > > [email protected] > > https://mail.gna.org/listinfo/muse-el-discuss > > > > > > > _______________________________________________ > Muse-el-discuss mailing list > [email protected] > https://mail.gna.org/listinfo/muse-el-discuss -- Baranyi Péter <[email protected]> _______________________________________________ Muse-el-discuss mailing list [email protected] https://mail.gna.org/listinfo/muse-el-discuss
