ikiwiki/ tips/ Ikiwiki with git-annex, the album and the underlay plugins

# Howto avoid heavy files in ikiwiki git repo

Continuation of discussion at git-annex forum turns out the git-annex tricks could be avoided.

## Setup on remote server

On the server activate album and underlay plugins in $wiki.setup file

    add_plugins:
    - album
    - underlay

Configure underlay plugin

    add_underlays:
    - /home/$user/$wiki.underlay

Create underlay directory and init git annex in direct mode

    mkdir ~/$wiki.underlay
    cd ~/$wiki.underlay;git init;git annex init $srcunderlay; git annex direct

Build ikiwiki for good measure ikiwiki --setup $wiki.setup --rebuild

## Setup on local laptop

Clone to laptop and initialise annex repo

    git clone ssh://$server/$wiki.git ~/$wiki
    git clone ssh://$server/$wiki.underlay ~/$wiki.underlay
    cd $wiki.underday;git-annex init $wrkunderlay
    git remote add $srcunderlay ssh://$server/$wiki.underlay

You now have an annex repo in the local $wiki.underlay called $wrkunderlay and one in the $wiki.underlay directory on the remote server called $srcunderlay.

## Add content locally

Add content to local $wiki directory in this case create $album.mdwn files for every album you have. Then `git add;git commit` files containing at the minimum the following

    [[!album  ]]

Create directories in the local $wiki.underlay corresponding to the album files in the local $wiki dir. Ie. create a directory named $album for every $album.mdwn file. Copy hi-res jpg files to each directory in the local $wiki.underlay and add + commit.

    git annex add .
    git commit -m 'jpgs added'

## Push to remote

    cd $wrkunderlay; git-annex copy --to $srcunderlay .; git-annex sync
    cd $wrkdir;git push

That's it! Ikiwiki should update the website and treat the jpg's as if they were part of the standard file structure.

How to accomplish this using the web interface is another questions. I guess the plugins have to setup and upload to underlaydir somehow.

My guess is that you have to git-annex copy the $wiki.underlay files to $srcunderlay before running git push from the local $wiki directory. Haven't tested this yet though.