WiLiKi/マクロ/Edit

使い方

[[$$Edit]] または [[$$Edit ページ名]]

マクロが展開されるとリンクになる。 リンクを押すと、前者はこのマクロを書いたページを編集し、後者は指定したページを編集する。

例:[[$$Edit]]

マクロの設定方法

下記のマクロを適当な場所に置く。例えば /foo/edit.scm 。 その後、wiliki.cgi で、(load "/foo/edit.scm")。

;
; WiLiKi Edit macro by zu
;

(select-module wiliki.macro)


(define-reader-macro (Edit . maybe-page)
  (let* ((name (get-optional maybe-page #f))
        (page (cond (name (wdb-get (db) name #f))
                    (else (wiliki:current-page))))
        (editname (cond (name (format ($$ "[Edit ~a]") (ref page 'key)))
                        (else ($$ "[Edit]")))))
      (and (ref (wiliki) 'editable?)
           (wiliki:persistent-page? page)
           `((a (@ (href ,(url "p=~a&c=e" (ref page 'key)))) ,editname)))
  )
)

msgs.jp に下記のパッチを当てる。

diff -u msgs.jp.orig msgs.jp
        - msgs.jp.orig        Thu Feb 26 21:26:09 2004
+++ msgs.jp     Thu Feb 26 21:26:14 2004
@@ -265,3 +265,9 @@
 ("Search results"
  "検索結果"
 )
+
+;;  macro.scm : 355 zu
+("[Edit ~a]"
+ "[~aを編集]"
+)
+

[[$$include WiLiKi/マクロ]]