From: Carsten Dominik <dominik@science.uva.nl>
To: Scot Becker <scot.becker@gmail.com>
Cc: Emacs-orgmode mailing list <emacs-orgmode@gnu.org>
Subject: Re: Publishing a HTML wiki
Date: Thu, 22 Jan 2009 16:02:35 +0100 [thread overview]
Message-ID: <DA473D5B-31C9-43B9-9E02-E6C1A9576CBB@uva.nl> (raw)
In-Reply-To: <e0e1fe620901220626s7400d2cy9557fdb559b3b708@mail.gmail.com>
On Jan 22, 2009, at 3:26 PM, Scot Becker wrote:
> Jan,
>
> Since a wiki is by nature an on-line editing experience, and org is by
> nature an off-line editing experience, you might have to specify a
> little more exactly what you mean. (So far :-] there is no emacs
> webapp). You may have seen the discussions on this list in the past
> few days about converting/exporting org texts to wiki *syntax*, and
> there were even some links to rough scripts to do conversion to
> particular wikis, as well as some discussion about extending org's
> export capabilities to more easily export wikified text. But this
> requires a wiki already in place, and some mechanism --like cut and
> paste--of passing org-exported text to it.
>
> If you want a whole site, I think it's just a matter of using org's
> "publishing" function. I assume this is what Worg does. Using
> something like 'git' makes it possible to have org files which are
> edited by the community (which is like a Wiki), but this is not
> 'publishing a wiki' exactly, since there is no editing possible
> online. Everyone has to get set up with your version management
> software.
>
> That said, I too have wondered exactly how the Worg is generated
> (automatically, manually?) from uploaded org files, and just how the
> styling (CSS I assume?) is done.
Bastien set this up. Here is how it works:
On the web server, we have a "git" directory that contains
clones of the public repositories of Worg and Org.
We have a .emacs file which defines publishing projects, and a little
helper function to call the publishing command:
(require 'org-publish)
(setq org-publish-project-alist
'(("worg" :components ("worg-pages" "worg-code" "worg-images"))
("worg-pages"
:base-directory "~/git/Worg/"
:base-extension "org"
:html-extension "php"
:publishing-directory "/home/cdominik/orgmode.org/worg/"
:publishing-function org-publish-org-to-html
:section-numbers nil
:table-of-contents nil
:style "<link rel=\"stylesheet\" href=\"/worg/worg.css\"
type=\"text/css\" />"
:recursive t
:auto-preamble t
:auto-postamble nil)
("worg-code"
:base-directory "~/git/Worg/code/"
:base-extension "html\\|css\\|png\\|js\\|bz2"
:html-extension "html"
:publishing-directory "/home/cdominik/orgmode.org/worg/code/"
:recursive t
:publishing-function org-publish-attachment)
("worg-images"
:base-directory "~/git/Worg/images/"
:base-extension "png\\|jpg\\|gif"
:html-extension "html"
:publishing-directory "/home/cdominik/orgmode.org/worg/
images/"
:recursive t
:publishing-function org-publish-attachment)
("orgweb"
:base-directory "~/git/org-mode/ORGWEBPAGE/"
:base-extension "org"
:html-extension "html"
:publishing-directory "/home/cdominik/orgmode.org/"
:publishing-function org-publish-org-to-html
:section-numbers nil
:table-of-contents t
:style "<link rel=\"stylesheet\" href=\"/org.css\" type=
\"text/css\" />"
:auto-preamble t
:exclude "DS_Store"
:recursive t
:auto-postamble nil)))
(defun worg-org-publish nil
"Publish Worg and Org."
(interactive)
;; (org-publish-initialize-files-alist t)
(org-publish-all))
Then we have two little shell scripts:
The first one pulls the git repositories for Org and Worg from the git
server:
#!/bin/bash
export PATH=$PATH:/home/cdominik/bin/
cd /home/cdominik/git/Worg/
/home/cdominik/bin/git-pull
cd /home/cdominik/git/org-mode/
/home/cdominik/bin/git-pull
The second calls emacs and tells it to publish all projects:
#!/bin/bash
/home/cdominik/bin/emacs23 --batch -l ~/.batch-color.el --eval "(load-
file \"/home/cdominik/.emacs.el\")" -f worg-org-publish
Finally there are crontab entries that trigger these
shell scripts the full and half hour, respectively.
0 * * * * /home/cdominik/bin/pull-worg-org.sh >> /dev/null 2>&1
30 * * * * /home/cdominik/bin/publish-worg-org.sh >> /dev/null 2>&1
So it can take at most 90 minutes for changes to arrive at the website.
I myself am impatient, with ssh access to the web server,
I can simply do
"make updateweb"
in my Org directory. This will do something like
ssh cdominik@caprisun.dreamhost.com 'pull-worg-org.sh && publish-worg-
org.sh'
i.e. it will pull and publish new stuff right away....
Great system, works well, kudos to Bastien!!!!!!
- Carsten
>
>
> Scot
>
>
> On Thu, Jan 22, 2009 at 12:25 PM, Jan Seeger
> <jan.seeger@thenybble.de> wrote:
>> Greetings list,
>>
>> Is there a guide anywhere how to use Org Mode to publish a wiki? A
>> howto on how to do something like worg, for example?
>>
>> Regards,
>> Jan Seeger
>>
>>
>> _______________________________________________
>> Emacs-orgmode mailing list
>> Remember: use `Reply All' to send replies to the list.
>> Emacs-orgmode@gnu.org
>> http://lists.gnu.org/mailman/listinfo/emacs-orgmode
>>
>
>
> _______________________________________________
> Emacs-orgmode mailing list
> Remember: use `Reply All' to send replies to the list.
> Emacs-orgmode@gnu.org
> http://lists.gnu.org/mailman/listinfo/emacs-orgmode
prev parent reply other threads:[~2009-01-22 15:02 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-01-22 12:25 Publishing a HTML wiki Jan Seeger
2009-01-22 14:26 ` Scot Becker
2009-01-22 14:30 ` Jan Seeger
2009-01-22 15:30 ` Matthew Lundin
2009-01-22 15:02 ` Carsten Dominik [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.orgmode.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=DA473D5B-31C9-43B9-9E02-E6C1A9576CBB@uva.nl \
--to=dominik@science.uva.nl \
--cc=emacs-orgmode@gnu.org \
--cc=scot.becker@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).