summaryrefslogtreecommitdiffstats
path: root/wiki-preview.mdwn
blob: 6454954f3599f0cb7456378a2c5bc15127a98137 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
Taking the [Create a Wiki](create-a-wiki) article as a starting point, this article describes how to set up preview of Friposts wiki.

The basic idea is something like the following:

    .         Bare Git Repository
    .   git.fripost.org:fripost-wiki.git
    .                  |
    .                  |
    .      Repository for Local Edits
    .         ~/git/fripost/wiki
    .                  |
	.                  |
	.     The Preview Ikiwiki Web Part
	.  ~/public_html/fripost-wiki-preview

Where *~/git/fripost/wiki* is a local git repository with remote
tracking of the main bare wiki repository
*git.fripost.org:fripost-wiki.git*. I define an alias command for
recompilation of the local version of the. The local preview version is accessed 
by pointing the browser to
*http\://localhost/~<name>/fripost-wiki-preview/*. 

First the basics. According to [Create a Wiki](create-a-wiki) do the following:

* Install and configure Git
* Install and configure Apache 2
* Install Ikiwiki

For the Ikiwiki configuration question, answer them as follows

    wikiname:    fripost-wiki-preview
    url:         http://localhost/~<name>/lab-wiki
    srcdir:      ~/git/fripost/wiki
    destdir:     ~/public_html/fripost-wiki-preview
    settings:    ~/public_html/fripost-wiki-preview/wiki.setup

Where *<name>* is the local user name and *~/git/fripost/wiki* is where the local wiki Git repository. This will generate a configuration file: *~/public_html/fripost-wiki-preview/wiki.setup*. Generate the first issue:

    $ ikiwiki --setup ~/public_html/fripost-wiki-preview/wiki.setup

For to preview local edits, run:

    $ ikiwiki --setup ~/public_html/fripost-wiki-preview/wiki.setup --refresh

and point your browser to *http\://localhost/~<name>/fripost-wiki-preview/*.

You can also create an alias for to refresh the preview command.

    $ alias fripost-wiki-preview-refresh='ikiwiki -setup /home/gustav/lab-wiki/fripost-wiki.setup -refresh'

Many links on the Fripost wiki are absolute. That means that you
sometimes will not be able to follow homepage page and wiki page links
between your local preview wiki. For testing purposes, that can
sometimes be necessary. The best strategy is to edit your */etc/hosts*
table and make *fripost.org* and *wiki.fripost.org* point to
*localhost*. Of course your web server need to be configured to serve
those pages. This is my Nginx configuration:

    # fripost.org
    server {
      server_name fripost.org;
      location / {
        root /home/gustav/public_html/fripost-wiki/website;
        location /static { root /home/gustav/public_html/fripost-wiki; }
      }
    }
    
    # wiki.fripost.org
    server {
	  server_name wiki.fripost.org;
      location / {
        root /home/gustav/public_html/fripost-wiki;
      }
    }

You might experience strange effects from that the web-browser has
cached DNS information. Search Internet for how to flush your
browser's DNS cache.