Worg setup on the https://orgmode.org server

How does Worg publish itself as a website?

The server behind https://orgmode.org website takes care of publishing Worg into HTML.

How long does it take for a change to be published?

The changes should be available immediately following your git push.

There is a problem. Can I check the export output?

As soon as you push a commit to the worg git repository on the org server, the publishing process is triggered. You should see the output of the publishing process in your terminal. If there's a problem, you should see the error in this output.

Looks like file XXX breaks the export. What can I do?

  1. Put this file in the FIXME directory at the root of the Worg repository. Files in this FIXME directory won't be published.
  2. Fix the page or contact the author of the page telling him about the problem.

Where are the "raw" .org files kept?

In addition to publishing the html versions of the .org files Worg's git repository, the raw source .org files are also put in https://orgmode.org/worg/sources. It is nice to make the .org file available for those following a tutorial so that the actual .org file is viewable in addition to reading through the online html version. To do this, simply link to the file in the worg sources directory:

  • If the page in the git repository is ~/worg.git/path/to/file/file.org,
  • Link like so: https://orgmode.org/worg/sources/path/to/file/file.org

Are there any writing conventions?

Please don't use file variables in your org files.

Can Worg execute code (via Babel)?

No. The default automated export does not allow code execution on the server for obvious security reasons.

If you absolutely need code execution:

  • double-check there is no issue when exporting this file locally
  • send me an email mentioning the file you want to export
  • I will double-check it myself and manually export it if it's okay

What software is available on Worg for Babel code execution?

If babel code execution works on your machine, it doesn't mean it will work on the orgmode.org server. Here is the list of available software on orgmode.org:

Software Version
GNU Emacs
shell 3.1
R 2.11.1
gnuplot-mode O.6.0
gnuplot 4.4
latex pdfeTeX 3.141592-1.21a-2.2

What .emacs.el file is used on the server?

I want it for my own server!

Here is the detailed recipe:

  1. Configure your ~/.emacs.el to know about your publishing projects (more information on publishing here and here).
  2. Use (setq org-export-htmlize-output-type 'css) in ~/.emacs.el.

    (Do C-h v org-export-htmlize-output-type for more information about this. Also C-h v org-export-htmlize-generate-css might help.)

  3. Create ~/bin/pull-worg.sh containing this script:

    # unless this is already done elsewhere:
    export PATH=$PATH:/home/you/bin/
    # go to the place where you pull Worg
    cd /home/you/git/worg/;
    # pull worg
  4. Create ~/bin/publish-worg.sh containing this script:

    # Adapt it to point at your emacs executable
    /home/you/bin/emacs23 --batch -l ~/.emacs.el -f org-publish-all
  5. Cron the two scripts to run every hour, not at the same time

    0 * * * * /home/you/bin/pull-worg.sh >> /dev/null 2>&1
    30 * * * * /home/you/bin/publish-worg.sh >> /dev/null 2>&1
  6. Sit and do something else while your Org repository is automagically exported to HTML

Documentation from the orgmode.org/worg/ website (either in its HTML format or in its Org format) is licensed under the GNU Free Documentation License version 1.3 or later. The code examples and css stylesheets are licensed under the GNU General Public License v3 or later.