::-- GuiXing [2006-04-17 11:20:51]

1. 把MoinMoin从1.3.5升级到1.5.2

升级~~~一切很简单~~~提前说一下本人的环境, FreeBSD 5.4 MoinMoin 1.3.2

1.1. 升级过程

  1. 备份
  2. 升级MoinMoin

  3. 定制MoinMoin

    1. macro::TableOfContents.py

    2. CSS

1.1.1. 备份

备份一事,也不多说了..只是把自己MoinMoin的data目录打包备份即可。

$tar -cf /BACKUP/DIR/backup_wiki_data_DATE.tar.gz /PATH/OF/WIKI/data

1.2. 升级MoinMoin

  • 本人安装时即是使用ports安装的,所以升级时也即是使用ports升级的。

$cd /usr/ports/www/moinmoin
$make deinstall
$make install
  • 这样只是升级了MoinMoin下面的目录

/usr/local/lib/python2.4/site-packages/MoinMoin
/usr/local/share/moin
  • 下面才是升级自己个人的MoinMoin

$cp -r /usr/local/share/moin/htdoc /PATH/OF/WIKI
$cp -r /usr/local/share/moin/underlay /PATH/OF/WIKI
$cp -r /usr/local/share/moin/server /PATH/OF/WIKI
$cp -r /usr/local/share/moin/config/wikifarm /PATH/OF/WIKI/config
  • 修改/PATH/OF/WIKI/server/moin.cgi

   1 # Path of the directory where wikiconfig.py is located.
   2 # YOU NEED TO CHANGE THIS TO MATCH YOUR SETUP.
   3 sys.path.insert(0, '/path/to/wikiconfig')
  • 改至如此

   1 sys.path.insert(0, '/PATH/OF/WIKI/config')

1.3. 定制MoinMoin

Hacking

1.3.1. 修TableOfContents

此是为了让TableOfContents宏,标出一个ID来,好让CSS把它Table给浮起来。

   1     def run(self):
   2         self.process_lines(self.pre_re.sub('',self.macro.parser.raw).split('\n'),
   3                            self.macro.formatter.page.page_name)
   4         # Close pending lists
   5         for i in range(self.baseindent, self.indent):
   6             self.result.append(self.macro.formatter.listitem(0))
   7             self.result.append(self.macro.formatter.number_list(0))
   8         return ''.join(self.result)
  • 至此

   1     def run(self):
   2         self.process_lines(self.pre_re.sub('',self.macro.parser.raw).split('\n'),
   3                            self.macro.formatter.page.page_name)
   4         # Close pending lists
   5         for i in range(self.baseindent, self.indent):
   6             self.result.append(self.macro.formatter.listitem(0))
   7             self.result.append(self.macro.formatter.number_list(0))
   8         ttc = ''.join(self.result)
   9         return u'<div id="TableOfContents">' + ttc + u'</div>'
  10         #return ''.join(self.result)

1.3.2. 修CSS

  • vi /PATH/OF/WIKI/htdocs/modern/css/common.css

加入下段, 或者也可把下段加入到/PATH/OF/WIKI/htdocs/modern/css/screen.css

#!css (-)
#TableOfContents {
    float: right;
    border: 3px solid #B8C5D9;
    background-color: whitesmoke;
    margin: 0px 0px 0px 5px;
    padding: 2px;
}
table div #TableOfContents {
    float: none;
    border: 2px dashed #fff;
    background-color: whitesmoke;
    padding: 4px;
}
H1 {
        font-size: 1.5em;
        font-weight: bold;
        border-left : 5px solid #204070;
        border-bottom : 1px dashed  #204070;
}
H2 {
        font-size: 1.5em;
        font-weight: bold;
        border-left : 10px solid #90B0E0;
        border-bottom : 1px dashed  #90B0E0;
}
H3 {
        font-size: 1.5em;
        font-weight: bold;
        border-left : 15px solid #749CD8;
        border-bottom : 1px dashed  #749CD8;
}
H4 {
        font-size: 1.5em;
        font-weight: bold;
        border-left : 20px solid #A4BEE5;
        border-bottom : 1px dashed  #A4BEE5;
}

1.4. 完成

至此完成,关于hacking MoinMoin那段是ZoomQuiet所做。本人是偷来的。

升级后本人在1.3.2下安装的latex插件依旧好用耶~~