1. MoinMoin과 설정및 한글패치 ¶
우선 MoinMoin은 깔려 있다고 가정합니다. 그 후에 다음 사항을 고쳐주면 됩니다.
- moin_config.py에서 다음 부분을 찾아 고쳐줍니다.
charset='euc-kr' # char sets (WikiNames) upperletters = "A-Z" lowerletters = "0-9a-z"
- (모인모인 1.0이하) wikimacro.py에서 TitleIndex 마크로 부분을 고쳐줍니다. _macro_TitleIndex 함수에서
if wikiutil.isUnicodeName(name): letter = "~"
부분을
if letter not in (string.letters + string.digits): letter = "~"
로 고쳐줍니다. 이 정도만 하면 당장 깨지는 글자 없이 MoinMoin을 즐길 수 있습니다. TitleIndex에서 '가/나/다' 인덱스도 쓰고 싶다고요?
wikimacro.py 부분은 에러가 나더군요(사용환경 IIS version 5.1 + Python 2.0.1 + moinmoin 0.9)
무슨 에러가요? MoinMoin 0.9부터 0.11까지 이 패치가 문제를 일으키지는 않던데..
혹시 Recent Changees 페이지에서 에러나는건가요? 저도 거기서 에러나는데요..
data디렉토리에 backup폴더가 없어서 생긴일인것 같습니다. 누가 확인좀 해주시기 바랍니다.
소스를 수정한건 잘못된거였습니다.
- (모인모인 1.1이하) macro/TitleIndexKr.py을 MoinMoin/macro 디렉토리에 넣어주시면 됩니다. 물론 TitleIndex 페이지에서
[[TitleIndex]]]
대신에[[TitleIndexKr]]
을 쓰도록 고치는 것도 잊으면 안 되죠.
moin-0.11부터는 i18n 텍스트를 다루는 방법이 조금 바뀌었습니다. 따라서, 만일 다운받으신 소스가 moin-0.11, moin-1.0 버전인 경우에는 macro/TitleIndexKr.py를 조금 수정할 필요가 있습니다. 먼저 다음의 부분을 찾아서
# Imports import cgi, string from MoinMoin import config, user, wikiutil from MoinMoin.Page import Page그 바로 뒤에 다음의 행을 삽입합니다.
from MoinMoin.i18n import _그 다음에 소스 맨 밑의 다음 부분을 찾아서
""" % (user.current.text('Plain title index'), user.current.text('XML title index')) ) + result다음과 같이 고쳐줍니다.
""" % (_('Plain title index', user.current.language), _('XML title index', user.current.language)) ) + result
모인모인 1.1의 경우는 문제 없습니다
2. MoinMoin 패치 ¶
모인모인기능수정 을 참고하면 노스모크모인모인이 아닌 일반 모인모인에서도 따옴표를 쓰지 않고 확장위키네임을 쓸 수 있고, 'GoTo' 검색창을 통해 입력한 페이지가 없을 경우에 유사 페이지 출력하게 만들 수 있습니다.
모인모인 설치시 반드시 아파치를 설치해야 하나요? 파이썬 모듈만 설치되면 iis에서도 가능할 것 같은데? 윈2000 설치시 주의사항 좀 알려주세요
see also 백록화의 모인모인설치기, DeadLinkFreeBSD에서모인모인포트설치기- 기타 여러 기능들이 MoinMoin의 CVS 버젼에 구현되어 있습니다. 기능 구현시에 참고하세요.
- ISBN 매크로 작성 : 89로시작하는 번호는 알라딘으로 ,4로시작하면 일본아마존으로, 그이외 코드는 아마존으로 연결합니다.
- 다음 내용을 ISBN.py로 저장한후,
{{|
- 다음 내용을 ISBN.py로 저장한후,
def execute(macro, isbn): if isbn[0] == '4': return '<table border="1" cellspacing="0" cellpadding="3"><tr><td align="center" valign="middle"><a href="http://www.amazon.co.jp/exec/obidos/ISBN%%3D%s"><img src="http://images.amazon.com/images/P/%s.09.MZZZZZZZ.jpg" border="0"><br>ISBN %s</a></tr></table>' %(isbn,isbn,isbn) elif isbn[0] == '8' and isbn[1] == '9': return '<table border="1" cellspacing="0" cellpadding="3"><tr><td align="center" valign="middle"><a href="http://www.aladdin.co.kr/catalog/book.asp?ISBN=%s"><img src="http://www.aladdin.co.kr/Cover/%s_1.gif" border=1><br>ISBN %s</a></tr></table>' %(isbn,isbn,isbn) else: return '<table border="1" cellspacing="0" cellpadding="3"><tr><td align="center" valign="middle"><a href="http://www.amazon.com/exec/obidos/ISBN%%3D%s"><img src="http://images.amazon.com/images/P/%s.01.MZZZZZZZ.gif" border="0"><br>ISBN %s</a></tr></table>' %(isbn,isbn,isbn)
|}}
- macro 디렉토리에 복사한다.
3.1. 칼렌더 기능 ¶
- 소스 가져오기
http://egret.bio.brandeis.edu/soft/tyaki.cgi/NiKKi/macro/CalendarMonth 에서 맨아래의 메뉴에서 소스를 다운받습니다.
- 소스 고치기
각 날짜별 약속내용은 {{|- ((todo)|(\d{1,2}(am|pm))|(\d\d:\d\d)):(.*)|}} 형식을 사용합니다. 그런데, 오리지날 모인모인에서는 댓쉬를 불릿으로 변환해주지 않기때문인데, 저의 경우에는 댓쉬를 *로 바꾸었습니다.
원본 소스 {{|defaultevents = r'^ - ((todo:)|(done:)|(note:)|(\d\d:\d\d):|(\d{1,2}(am|pm):))(.*)$' |}}
바뀐 소스 {{|defaultevents = r'^ \* ((todo:)|(done:)|(note:)|(\d\d:\d\d):|(\d{1,2}(am|pm):))(.*)$' |}}
- 참고: * 변경된 소스를 올려놨습니다. 편집이 번거로우면 다운받아서 사용하세요.
- 참고: * 변경된 소스를 올려놨습니다. 편집이 번거로우면 다운받아서 사용하세요.
- 저장하기
모인모인이 설치된 디렉토리중에서 macro 디렉토리에 위의 소스를 복사해서 넣는다.
- 사용하기
칼렌더를 사용하기를 원하는 페이지에서 EditText를 선택한후[[CalendarMonth(2001,11,1,log)]]
과 같은 형식으로 써주면된다. 이젠 2001년 11월의 달력이 나올것이다. 그러면 날짜를 클릭해서 위의 defaultevents의 포맷에 맞게 내용을 입력해주면 달력에 내용이 표시된다.
"위의 defaultevents의 포맷에 맞게 내용을 입력해주면 달력에 내용이 표시된다."의 의미를 잘 모르겠습니다. 예를 들어 설명해 주시면 감사하겠습니다. 예) r'^ \* ((빨래하기:) 같은
5. FreeBSD의 경우 ¶
FreeBSD를 사용하는 경우에는 root로서 단지 다음 1줄만 쳐주면 웹서버와 모인모인이 완벽히 세팅됩니다.
make install만 하는 것이 좋습니다.
현재 4.4 최신판 모인모인 포트는 Python2.2를 사용하고 있습니다만, Python2.1로 되어있지 않으면 몇몇 매크로가 동작하지 않습니다. (달력을 포함해서 말이죠. <:( ) 그러므로, 꼭 Python버젼을 패키지로 (/stand/sysinstall)을 통하여 2.1버젼으로 인스톨하세요. 그러니깐 설치순서는,
# cd /usr/ports/www/moinmoin && make install clean |
make install clean
까지 쓴다면 달력같은 추가적인 메크로 설치가 귀찮아지더군요. - redpixel/usr/ports/www/moinmoin
에서 포트 빌드를 통해 설치. 이때 Python2.2도 설치된다.
/stand/sysinstall
에서lang/Python2.1.1
패키지를 설치한다.
- 다시
/usr/ports/www/moinmoin
로 가서make do-install
을 한다./usr/local/lib/python2.1/site-어쩌구
디렉토리가 보이면 성공입니다. 2.1버젼을 꼭 확인하시길...
- 방금 FreeBSD 에 포트를 이용해서 moinmoin 설치를 막끝냈습니다. 타입은 STANDALONE으로 구성했구요 모든게 잘됩니다. 근데 한가지 막히는게 시스템을 다시 시작할때 자동으로 moinmoin을 구동시키려고 스크립트를 만들었는데 작동이 되질 않는군요.. 하지만 수동으로 /usr/local/etc/rc.d/moin.sh start 했을땐 잘됩니다.. 도데체 뭐가 문젠지 감을 못잡겠네여 ㅡ.ㅡ;; 다른분들은 어떻게 사용하시는지 궁금하군요.. 아래는 스크립트 내용입니다. 아시는분 답볍좀 부탁드릴께요.
#!/bin/sh case "$1" in start) [ -x /usr/home/service/wiki/moin.py ] && /usr/home/service/wiki/moin.py & > /dev/null && echo -n ' MoinMoin Start' ;; *) echo "Usage: `basename $0` {start}" >&2 ;; esac exit 0
질문입니다.!!!! 윈도우2003에서 IIS6.0을 사용하여 모인1.2.1를 설치하였습니다. 문제는 글을 수정하려고 하니 "SError[Errno 13] Permission denied", "OS SYSTEM CALL FAILED"라는 메세지가 뜨며서 수정이 되지 않습니다... ㅜㅜ 이 문제를 어찌 풀어야 되는지 꼭 좀 알려주세요..!!! -- silbersj