;; -*- coding: utf-8-mcs-er -*-
-(defvar chise-wiki-view-url "../view.cgi")
+(defvar chise-wiki-view-url "view.cgi")
(defvar chise-wiki-edit-url "edit.cgi")
(require 'cwiki-common)
(setq name (car unit))
(if (stringp name)
nil
- (setq props (nth 1 unit)
+ (setq props (www-xml-to-stext-props (nth 1 unit))
children (nthcdr 2 unit))
(if children
(setq children (www-xml-to-stext-list children)))
+ (when (and (eq name 'link)
+ (consp (car children))
+ (eq (caar children) 'ref))
+ (setq props (list* :ref (nthcdr 2 (car children))
+ props)
+ children (cdr children)))
(if children
- (list* name
- (www-xml-to-stext-props props)
- children)
+ (list* name props children)
(if props
- (list name (www-xml-to-stext-props props))
+ (list name props)
(list name))))
)
(t
(defun www-parse-string-default (string)
(setq string (decode-uri-string string 'utf-8-mcs-er))
(condition-case nil
- (let ((ret
- (mapcar #'read (split-string string " "))))
- (if (cdr ret)
- ret
- (car ret)))
+ ;; (let ((ret
+ ;; (mapcar #'read (split-string string " "))))
+ ;; (if (cdr ret)
+ ;; ret
+ ;; (car ret)))
+ (let ((i 0)
+ (len (length string))
+ dest ret)
+ (while (< i len)
+ (setq ret (read-from-string string i))
+ (setq dest (cons (car ret) dest)
+ i (cdr ret)))
+ (if (cdr dest)
+ (nreverse dest)
+ (if (atom (car dest))
+ (car dest)
+ (nreverse dest))))
(error nil)))
(defun www-parse-string-as-space-separated-char-list (string)
(+ (lsh (+ ku 32) 8)
ten 32)))))
+(defun www-parse-string-as-kangxi-radical (string)
+ (setq string (decode-uri-string string 'utf-8-mcs-er))
+ (let ((i 0)
+ (len (length string))
+ char ret)
+ (while (and (< i len)
+ (setq char (aref string i))
+ (not
+ (and (setq ret (char-ucs char))
+ (<= #x2F00 ret)
+ (<= ret #x2FD5)))
+ (not (setq ret (char-feature char '->radical))))
+ (setq i (1+ i)))
+ (if (integerp ret)
+ (- ret #x2EFF)
+ (and (setq ret (car ret))
+ (setq ret (char-ucs ret))
+ (<= #x2F00 ret)
+ (<= ret #x2FD5)
+ (- ret #x2EFF)))))
+
(defun www-parse-string-as-wiki-text (string)
(www-stext-parse-xml-string
(decode-uri-string string 'utf-8-mcs-er))
((eq format 'string)
(decode-uri-string string 'utf-8-mcs-er)
)
+ ((eq format 'kangxi-radical)
+ (www-parse-string-as-kangxi-radical string))
((eq format 'wiki-text)
(www-parse-string-as-wiki-text string)
)
(www-format-encode-string uri-char)))
)))
-(defun www-set-display-feature-desc (feature-name property-name value
+(defun www-set-display-feature-desc (feature-name property-name value format
&optional lang uri-char)
(www-html-display-paragraph
(format
- "set: feature: %S, property-name: %S, value: %S, lang: %S, char: %S\n"
- feature-name property-name value lang uri-char))
+ "set: feature: %S, property-name: %S, format: %S, value: %S, lang: %S, char: %S\n"
+ feature-name property-name format value lang uri-char))
+ (setq value (www-feature-parse-string property-name value format))
+ (www-html-display-paragraph
+ (format
+ "set: feature: %S, property-name: %S, format: %S, value: %S, lang: %S, char: %S\n"
+ feature-name property-name format value lang uri-char))
(put-char-feature-property feature-name property-name value)
(let ((name@lang (intern (format "name@%s" lang)))
(uri-feature-name (www-uri-encode-feature-name feature-name)))
(or (www-feature-type feature-name)
;; (char-feature-property feature-name 'type)
'generic)))
+ (princ (format "<p>value-format : %s "
+ (www-format-value
+ nil 'value-format
+ (or (www-feature-value-format feature-name)
+ 'default)
+ 'default
+ 'without-tags)))
+ (princ
+ (format
+ " <a href=\"%s?feature=%s&property=value-format&format=wiki-text&char=%s\"
+><input type=\"submit\" value=\"edit\" /></a></p>"
+ chise-wiki-edit-url
+ uri-feature-name
+ uri-char))
(www-html-display-paragraph
(format "description : %s"
(or (char-feature-property feature-name 'description)
lang)
)
((eq (car ret) 'feature)
- (setq prop (nth 2 target))
+ (setq prop (nth 3 target))
(www-set-display-feature-desc
(intern (decode-uri-string (cdr ret) 'utf-8-mcs-er))
+ (intern (decode-uri-string
+ (cdr (assq 'feature-name (cdr target)))
+ 'utf-8-mcs-er))
+ (cdr prop) ; (decode-uri-string (cdr prop) 'utf-8-mcs-er)
(car prop)
- (decode-uri-string (cdr prop) 'utf-8-mcs-er)
lang
(cdr (assq 'char target))
- ;; (decode-uri-string (cdr (assq 'char target)))
)
))
(www-html-display-paragraph