[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Orgmode] Fully featured Web publishing
From: |
Sebastian Rose |
Subject: |
Re: [Orgmode] Fully featured Web publishing |
Date: |
Wed, 18 Mar 2009 17:57:22 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.0.91 (gnu/linux) |
Sébastien Vauban <address@hidden> writes:
> Hello,
>
> I'd like to use Org exclusively for composing and then publishing my Web site.
> I've done it so far with Emacs Muse, but I have a strong deepish attraction to
> go the Org way, for many different reasons you must be aware of -- more than I
> am...
>
> The features I need are:
>
> - Conditional CSS [if IE]
> - Favicon
Both can be achieved through the
#+STYLE:
options. Multiple lines possible. Those lines are added to the `<head>'
section of the resulting documents.
Also, you might take a look into the documentation for
org-publish-project-alist in
http://orgmode.org/manual/Sample-configuration.html#Sample-configuration
> - JavaScript for Google Analytics
> - Date in the copyright
> - Contextual navigation menu
#+begin_html
your menu here
#+end_html
#+begin_html
your analytics script here
#+end_html
Regards,
Sebastian
> I'll come back into more details to these.
>
> All of these were coded in the header or footer of each page with Muse. What
> was good, is that I could write:
>
>
> (setq muse-project-alist
> `(
> ("My-Muse-Public-Website"
> ("~/Public/Websites/Muse/source/" :default "index")
> (:base "xhtml"
> :path "~/Public/Websites/Muse/publish/"
> :header "~/Public/Websites/Muse/source/header.html"
> :footer "~/Public/Websites/Muse/source/footer.html"))))
>
> Hence, specifying file names instead of file contents for both the header and
> footer. This is good, as I don't have to change my .emacs file every time I
> wanna change the way my pages have to look like. Such a feature would be nice
> for Org as well. Is it scheduled? Can we achieve the same result otherwise?
>
> Regarding the above features:
>
> - Conditional CSS [if IE]
>
> Can be coded in the common header string. OK.
>
> - Favicon
>
> Can be coded in the common header string -- if it's a common one for all my
> Web site. How can we specify on a per page basis? This more or less comes
> down to the recent addition of the `keywords' and `description' meta tags
> (thanks Carsten).
>
> - JavaScript for Google Analytics
>
> Can be coded in the common header string. OK.
>
> - Date in the copyright
>
> Can be coded in the common footer string. Well, it would be nice if it could
> be computed somehow, and be for example (depending of user prefs) the date
> when the file (or page) has been changed.
>
> Hence, it's not specifically a data that's common to every page of my Web
> site. How can we do this?
>
> This is what I did with Emacs Muse, embedding Emacs Lisp in the footer:
>
>
> Last Updated:
> <lisp>
> (format-time-string muse-footer-date-format
> (nth 5 (file-attributes (muse-current-file))))
> </lisp>
>
> but I think this is not currently possible with Org, right? Is there some
> other solution?
>
> - Contextual navigation menu
>
> Finally, the only real problem that I see (the above being nice-to-have's)
> is the following: I want to have a common navigation menu, but whose current
> page is highlighted. To do so, I just have to add the class `current' to
> the current entry, but this means the navigation menu is not constant
> between pages!
>
> I did that with Muse doing so:
>
>
> (setq nav-menu '((\"Home\" . \"index.html\")
> (\"About Me\" . ( (\"CV\" .
> \"curriculum-vitae.html\")
> (\"PGP Public Key\" .
> \"pgp-public-key.html\")
> (\"Contact Me\" .
> \"contact-me.html\")))
> (\"Resources\" . ( (\"Ubuntu\" .
> \"ubuntu.html\")
> (\"Emacs\" .
> \"dot-emacs.html\")))))
>
> and in the footer file:
>
>
> <div id=\"navigation\">
> <h2>Navigation</h2>
> <lisp>(my-muse-generate-nav-menu)</lisp>
> </div>
>
> with the following (ugly -- caus' it should be written in a recursive way!)
> definition for `my-muse-generate-nav-menu':
>
>
> (defun my-muse-generate-nav-menu ()
> (let* ((html-menu "")
> (cur-path-muse (muse-current-file))
> (cur-path-html
> (replace-regexp-in-string "\\.muse" ".html" cur-path-muse)))
> (setq html-menu "<ul>\n")
> (while nav-menu
> (progn
> (if (not (listp (cdr (car nav-menu))))
> (setq html-menu
> (concat html-menu
> "<li><a href=\"" (cdr (car nav-menu))
> "\" title=\"" (caar nav-menu) "\""
> (if (string-match
> (concat ".*" (cdr (car nav-menu)) "$")
> cur-path-html)
> " class=\"current\""
> "")
> ">" (caar nav-menu) "</a></li>\n"))
> (progn
> (setq html-menu
> (concat html-menu
> "<li>" (caar nav-menu) "\n" "<ul>\n"))
>
> (setq nav-submenu (cdr (car nav-menu)))
> (while nav-submenu
> (setq html-menu
> (concat html-menu
> "<li><a href=\"" (cdr (car nav-submenu))
> "\" title=\"" (caar nav-submenu) "\""
> (if (string-match
> (concat ".*" (cdr (car nav-submenu))
> "$")
> cur-path-html)
> " class=\"current\""
> "")
> ">" (caar nav-submenu) "</a></li>\n"))
> (setq nav-submenu (cdr nav-submenu)))
>
> (setq html-menu (concat html-menu "</ul>\n</li>\n"))))
> (setq nav-menu (cdr nav-menu))))
> (setq html-menu (concat html-menu "</ul>"))
> html-menu))
>
> How can I do such a thing in Org?
>
> THANK YOU VERY MUCH for all the hints or help you can provide me with!
>
> I really want to go the Org way for all my composed stuff...
>
> Best regards,
> Seb
--
Sebastian Rose, EMMA STIL - mediendesign, Niemeyerstr.6, 30449 Hannover
Tel.: +49 (0)511 - 36 58 472
Fax: +49 (0)1805 - 233633 - 11044
mobil: +49 (0)173 - 83 93 417
Email: address@hidden, address@hidden
Http: www.emma-stil.de
- [Orgmode] Fully featured Web publishing, Sébastien Vauban, 2009/03/18
- Re: [Orgmode] Fully featured Web publishing,
Sebastian Rose <=
- [Orgmode] Re: Fully featured Web publishing, Sébastien Vauban, 2009/03/18
- Re: [Orgmode] Re: Fully featured Web publishing, Sebastian Rose, 2009/03/18
- [Orgmode] Re: Fully featured Web publishing, Rasmus Pank Roulund, 2009/03/18
- Re: [Orgmode] Re: Fully featured Web publishing, Richard Riley, 2009/03/18
- [Orgmode] Re: Fully featured Web publishing, Rasmus Pank Roulund, 2009/03/19
- Re: [Orgmode] Re: Fully featured Web publishing, Richard Riley, 2009/03/19
- [Orgmode] Re: Fully featured Web publishing, Sébastien Vauban, 2009/03/19
- [Orgmode] Re: Fully featured Web publishing, Sébastien Vauban, 2009/03/23
- [Orgmode] Re: Fully featured Web publishing, Taru Karttunen, 2009/03/23
- Re: [Orgmode] Re: Fully featured Web publishing, Sebastian Rose, 2009/03/19