Fripost wiki » wiki-preview »

Taking the 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/~/fripost-wiki-preview/.

First the basics. According to 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 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/~/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'

Public www locations (userdir)

For to be able to access http://localhost/~user the “userdir” functionality is needed. For Nginx, put the following in e.g. /etc/nginx/sites-available/localhost:

server {
  location ~ ^/~(.+?)(/.*)?$ {
    alias /home/$1/public_html$2;
    index index.html index.htm
    autoindex on;
  }
}

Relative paths

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.


Last modified | History | Source | Preferences