X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=cwiki-view.el;h=570e6e3ee729a09f49926fa203d9a31d0de88eab;hb=d1e966abdea0032bd1a78b264e97b1402c03c022;hp=9fc844fd2659e5a3ebfab0c702ee1cbaf933bf7c;hpb=b51f59a45c63ff95a0773b5b51d1751f6759788d;p=chise%2Fest.git diff --git a/cwiki-view.el b/cwiki-view.el index 9fc844f..570e6e3 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") @@ -43,18 +44,32 @@ size=\"64\" maxlength=\"256\" value=\"%s\"> ) (defun www-display-object-desc (genre uri-object &optional uri-feature-name + image-selection lang level simple uri-feature-name-to-edit editing-format) (unless level (setq level 0)) (let ((object (www-uri-decode-object genre uri-object)) (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 HNG-card-id HNG-card-cobj ret object-spec + width height image-cobj base-image x y w h) (if (eq level 0) (setq level 1 without-header nil) @@ -79,6 +94,50 @@ 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 'printable) + (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) + nil + 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)) + ) + ;; ((eq (car ret) 'image-resource) + ;; ;; (cond + ;; ;; ((string-match "^\\.iiif=" (nth 1 ret)) + ;; ;; (setq obj-url (decode-uri-string + ;; ;; (substring (nth 1 ret) (match-end 0)) + ;; ;; 'utf-8-mcs-er)) + ;; ;; (setq obj (concord-images-add-iiif obj-url)) + ;; ;; (www-display-object-desc + ;; ;; 'image-resource + ;; ;; (www-uri-encode-object obj) + ;; ;; (nth 2 ret) + ;; ;; lang nil + ;; ;; (eq mode 'simple)) + ;; ;; ) + ;; ;; (t + ;; (princ (nth 1 ret)) + ;; (www-display-object-desc + ;; 'image-resource (nth 1 ret) (nth 2 ret) + ;; lang nil + ;; (eq mode 'simple)) + ;; ;; )) + ;; ) + (t + (www-display-object-desc + (car ret) (nth 1 ret) (nth 2 ret) + (nth 3 ret) + lang nil + (eq mode 'simple)) + )) + )) + (unless json + (princ "\n