Update
[worg.git] / worg-setup.org
blobec1c218ebded1dec082b5d5ba36834037147ce22
1 #+STARTUP:    align fold nodlcheck hidestars oddeven lognotestate
2 #+SEQ_TODO:   TODO(t) INPROGRESS(i) WAITING(w@) | DONE(d) CANCELED(c@)
3 #+TAGS:       Write(w) Update(u) Fix(f) Check(c)
4 #+TITLE:      Worg setup on the https://orgmode.org server
5 #+AUTHOR:     Worg people
6 #+EMAIL:      mdl AT imapmail DOT org
7 #+LANGUAGE:   en
8 #+PRIORITIES: A C B
9 #+CATEGORY:   worg
10 #+OPTIONS:    H:3 num:nil toc:nil \n:nil ::t |:t ^:t -:t f:t *:t tex:t d:(HIDE) tags:not-in-toc
12 * How does Worg publish itself as a website?
14   The server behind https://orgmode.org website takes care of publishing
15   Worg into =HTML=.
17 ** How long does it take for a change to be published?
19 The changes should be available immediately following your =git push=.
21 ** There is a problem.  Can I check the export output?
23 As soon as you push a commit to the worg git repository on the org
24 server, the publishing process is triggered.  You should see the
25 output of the publishing process in your terminal.  If there's a
26 problem, you should see the error in this output.
28 ** Looks like file XXX breaks the export.  What can I do?
30 1. Put this file in the FIXME directory at the root of the Worg
31    repository.  Files in this FIXME directory won't be published.
33 2. Fix the page or contact the author of the page telling him about the
34    problem.
36 ** Where are the "raw" .org files kept?
38 In addition to publishing the html versions of the .org files Worg's
39 git repository, the raw source .org files are also put in
40 [[https://orgmode.org/worg/sources]]. It is nice to make the .org file
41 available for those following a tutorial so that the actual .org
42 file is viewable in addition to reading through the online html
43 version. To do this, simply link to the file in the worg sources directory:
44 - If the page in the git repository is =~/worg.git/path/to/file/file.org=,
45 - Link like so: =https://orgmode.org/worg/sources/path/to/file/file.org=
47 * Are there any writing conventions?
49   Please don't use [[http://www.gnu.org/software/emacs/manual/html_node/emacs/Specifying-File-Variables.html#Specifying-File-Variables][file variables]] in your org files.
51 * Can Worg execute code (via Babel)?
53   No.  The default automated export does not allow code execution on the
54   server for obvious security reasons.
56   If you absolutely need code execution:
58   - double-check there is no issue when exporting this file locally
59   - send [[mailto:mdl%20AT%20imapmail%20DOT%20org][me]] an email mentioning the file you want to export
60   - I will double-check it myself and manually export it if it's okay
62 * What software is available on Worg for Babel code execution?
64   If babel code execution works on your machine, it doesn't mean it will
65   work on the orgmode.org server.  Here is the list of available
66   software on orgmode.org:
68   | Software     |                    Version |
69   |--------------+----------------------------|
70   | GNU Emacs    |                  23.1.90.1 |
71   | shell        |                        3.1 |
72   | R            |                     2.11.1 |
73   | gnuplot-mode |                      O.6.0 |
74   | gnuplot      |                        4.4 |
75   | latex        | pdfeTeX 3.141592-1.21a-2.2 |
77 * What .emacs.el file is used on the server?
79 - https://orgmode.org/worg/code/elisp/emacs.el
81 * I want it for my own server!
83   Here is the detailed recipe:
85   1. Configure your =~/.emacs.el= to know about your publishing projects
86      (more information on publishing [[http://www.gnu.org/software/emacs/manual/html_node/org/Publishing.html][here]] and [[file:org-tutorials/org-publish-html-tutorial.org][here]]).
88   2. Use =(setq org-export-htmlize-output-type 'css)= in =~/.emacs.el=.
90      (Do =C-h v org-export-htmlize-output-type= for more information
91      about this.  Also =C-h v org-export-htmlize-generate-css= might
92      help.)
94   3. Create =~/bin/pull-worg.sh= containing this script:
96      #+BEGIN_SRC sh-mode
97      #!/bin/bash
99      # unless this is already done elsewhere:
100      export PATH=$PATH:/home/you/bin/
102      # go to the place where you pull Worg
103      cd /home/you/git/worg/;
105      # pull worg
106      /home/you/bin/git-pull
107      #+END_SRC
109   4. Create =~/bin/publish-worg.sh= containing this script:
111      #+BEGIN_SRC sh-mode
112      #!/bin/bash
114      # Adapt it to point at your emacs executable
115      /home/you/bin/emacs23 --batch -l ~/.emacs.el -f org-publish-all
116      #+end_src
118   5. Cron the two scripts to run every hour, not at the same time
120      #+BEGIN_SRC generic-mode
121      0 * * * * /home/you/bin/pull-worg.sh >> /dev/null 2>&1
122      30 * * * * /home/you/bin/publish-worg.sh >> /dev/null 2>&1
123      #+END_SRC
125   6. Sit and do something else while your Org repository is
126      automagically exported to HTML