Note: The information below about running this wiki on CentOS is out of date. It's now running on Ubuntu using the standard package.

To get autolink working using ikiwiki 3.20200202.3-1 on Ubuntu 22.04:

  • as shown below, add $flags |= Text::Markdown::Discount::MKD_AUTOLINK(); to /usr/share/perl5/IkiWiki/Plugin/mdwn.pm
  • cd /srv/wiki-srcdir && ikiwiki --setup wiki.setup

The diff:

$ diff -u mdwn.pm.orig mdwn.pm
--- mdwn.pm.orig    2020-02-13 09:52:14.000000000 +0000
+++ mdwn.pm 2022-12-17 23:58:26.490591527 +0000
@@ -152,6 +152,8 @@
    unless ($config{mdwn_alpha_lists}) {
        $flags |= Text::Markdown::Discount::MKD_NOALPHALIST();
    }
+   # Autolink so links don't require <> around them
+   $flags |= Text::Markdown::Discount::MKD_AUTOLINK();

    return Text::Markdown::Discount::markdown($t, $flags);
 }

This wiki is running ikiwiki on CentOS 6 with an RPM I rebuild from a ikiwiki Fedora spec file. I also had to rebuild a number of dependencies, which you can find at http://yum.greptilian.com

After installing the RPMs, I ran ikiwiki --setup wiki.setup on wiki.setup.

The source of this wiki (markdown, mostly) is available at http://git.greptilian.com/?p=wiki.git

That's where you can find my tweaks to the default page template, for example: http://git.greptilian.com/?p=wiki.git;a=history;f=templates/page.tmpl

In order to get autolinking working (MKD_AUTOLINK per http://www.pell.portland.or.us/~orc/Code/discount/ ), I made this change to http://cpansearch.perl.org/src/SEKIMURA/Text-Markdown-Discount-0.02/Discount.xs before running make:

[pdurbin@server1 Text-Markdown-Discount-0.02]$ diff -u Discount.xs.orig Discount.xs
--- Discount.xs.orig    2012-01-01 20:51:51.000000000 -0500
+++ Discount.xs 2012-04-21 23:12:45.376580002 -0400
@@ -46,7 +46,7 @@
         char *text;
     PREINIT:
         SV* r = &PL_sv_undef;
-        int flags = MKD_NOHEADER|MKD_NOPANTS;
+        int flags = MKD_NOHEADER|MKD_NOPANTS|MKD_AUTOLINK;
         char *html = NULL;
         int szhtml;
         Document *doc;
[pdurbin@server1 Text-Markdown-Discount-0.02]$ 

As http://ikiwiki.info/plugins/mdwn/ says, ikiwiki prefers to use Text::Markdown::Discount, if it's available.

You can subscribe to a feed of updates to this wiki at http://git.greptilian.com/?p=wiki.git;a=atom

Installing ikiwiki on Mac OS X with local::lib

I'm using perl Makefile.PL INSTALL_BASE= PREFIX=$HOME/perl5 as suggested at http://ikiwiki.info/install/discussion/

I installed dependencies with cpanm.

make worked fine but make install showed...

/bin/sh: msgmerge: command not found
unable to run msgmerge
/bin/sh: msgfmt: command not found
unable to run msgfmt

... so I ran brew link gettext per https://github.com/mxcl/homebrew/issues/7621

Previewing changes to this wiki locally before a git push

vim path/to/page.mdwn
ikiwiki --setup local.setup
cd _site
python -m SimpleHTTPServer

Browse to http://localhost:8000

Hack on table plugin

The following hack is for ikiwiki 3.20130904.1ubuntu1 on Ubuntu 14.04 for when the first column of CSV data starts with a "#" or "##" (such as IRC channels or hashtags) and you don't want h1 or h2 tags. Discuss at http://ikiwiki.info/forum/table_plugin_and_Markdown_side_effects_on_data/

root@server2:~# diff -u /usr/share/perl5/IkiWiki/Plugin/table.pm.orig /usr/share/perl5/IkiWiki/Plugin/table.pm
--- /usr/share/perl5/IkiWiki/Plugin/table.pm.orig       2013-09-04 18:11:12.000000000 -0400
+++ /usr/share/perl5/IkiWiki/Plugin/table.pm    2016-05-29 14:00:50.218858999 -0400
@@ -179,8 +179,12 @@
        my @ret;
        push @ret, "\t\t<tr>";
        for (my $x=0; $x < @data; $x++) {
+               # hack by pdurbin to avoid #sourcefu becoming <h1>sourcefu</h1>
+               my $hack = $data[$x];
+               $hack =~ s/#/&#x23;/g;
                my $cell=IkiWiki::htmlize($page, $destpage, $type,
-                        IkiWiki::preprocess($page, $destpage, $data[$x]));
+                        IkiWiki::preprocess($page, $destpage, $hack));
+                        #IkiWiki::preprocess($page, $destpage, $data[$x]));

                # automatic colspan for empty cells
                my $colspan=1;
root@server2:~# 

Home | About | Sitemap | Recent changes | © Philip Durbin | @philipdurbin | philipdurbin@gmail.com