X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=cwiki-view.el;h=3c4e0aa752c8ceb5b76547adca05929fb61b2305;hb=534806df1aa633ceac38159f69e0348673e1fc12;hp=75d32ecb9b304e6acaab9cd0f8e802ce345d2f6c;hpb=0dea394da296688c68308ece38cea0617274b696;p=chise%2Fest.git diff --git a/cwiki-view.el b/cwiki-view.el index 75d32ec..3c4e0aa 100644 --- a/cwiki-view.el +++ b/cwiki-view.el @@ -1,5 +1,6 @@ ;; -*- coding: utf-8-mcs-er -*- (require 'cwiki-format) +(require 'char-db-json) (defvar chise-wiki-view-url "view.cgi") (defvar chise-wiki-edit-url "edit.cgi") @@ -42,17 +43,31 @@ size=\"64\" maxlength=\"256\" value=\"%s\"> ""))) ) -(defun www-display-object-desc (genre uri-object &optional lang level simple +(defun www-display-object-desc (genre uri-object &optional uri-feature-name + lang level simple uri-feature-name-to-edit editing-format) (unless level (setq level 0)) (let ((object (www-uri-decode-object genre uri-object)) - feature-name-to-edit + (est-eval-list-feature-items-limit est-eval-list-feature-items-limit) + (est-view-url-prefix (if uri-feature-name + "../.." + "..")) + (rdf-uri-object (if est-hide-cgi-mode + (if (string-match "=" uri-object) + (concat + (est-uri-decode-feature-name-body + (substring uri-object 0 (match-beginning 0))) + ":" + (est-uri-decode-feature-name-body + (substring uri-object (match-end 0)))) + uri-object))) + feature-name-to-display feature-name-to-edit base-name-to-edit metadata-name-to-edit without-header logical-feature chise-wiki-displayed-features parents - GlyphWiki-id ret object-spec) + GlyphWiki-id HNG-card ret object-spec) (if (eq level 0) (setq level 1 without-header nil) @@ -77,6 +92,19 @@ size=\"64\" maxlength=\"256\" value=\"%s\"> (princ (encode-coding-string (format "
+ +%s %s
\n%S, %S, %S
" + ;; (car ret)(nth 1 ret)(nth 2 ret))) + ;; (princ (format "// %S %S\n" ret json)) + (cond ((or (eq (car ret) 'char) + (eq (car ret) 'character)) + (if (and json + (setq obj (www-uri-decode-object + (car ret)(nth 1 ret))) + (characterp obj)) + (with-temp-buffer + ;; (princ (encode-coding-string + ;; (format "// %S\n" obj) + ;; char-db-file-coding-system)) + (char-db-json-char-data-with-variant obj) + (encode-coding-region + (point-min)(point-max) + char-db-file-coding-system) + (princ (buffer-string)) + ) + (www-display-object-desc + 'character (nth 1 ret) (nth 2 ret) + lang nil + (eq mode 'simple))) + ) + ((eq (car ret) 'feature) + (www-display-feature-desc + (decode-uri-string (nth 1 ret) 'utf-8-mcs-er) + (car (nth 1 target)) + (nth 1 (nth 1 target)) + lang + (eq mode 'simple)) + ) + (t + (www-display-object-desc + (car ret) (nth 1 ret) (nth 2 ret) + lang nil + (eq mode 'simple)) + )) + )) + (unless json + (princ "\n