(www-display-object-desc):
authorMORIOKA Tomohiko <tomo.git@chise.org>
Wed, 8 Jun 2016 09:52:42 +0000 (18:52 +0900)
committerMORIOKA Tomohiko <tomo.git@chise.org>
Wed, 8 Jun 2016 09:52:42 +0000 (18:52 +0900)
- Add new argument `image-selection'.
- Add code to display image in head for genre `image-resource'.
(www-batch-view): Modify for interface change of
`www-display-object-desc'.

cwiki-view.el

index 82fe7c6..b0c1454 100644 (file)
@@ -44,6 +44,7 @@ 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
@@ -131,6 +132,9 @@ li { margin: 0 0 0 2em; }
 -->
 </style>
 
+<script
+ src=\"http://hng.chise.org/openseadragon/openseadragon.min.js\"></script>
+
 <title>EsT %s = %s</title>
 </head>\n"
                  genre
@@ -192,34 +196,69 @@ li { margin: 0 0 0 2em; }
                       (www-format-feature-name '->subsumptive lang))))
       (when (eq genre 'character)
        (setq GlyphWiki-id (char-GlyphWiki-id object)))
-      (setq ret (www-format-encode-string
-                (est-format-object object 'readable)))
-      (setq HNG-card
-           (if (string-match "<img alt=\"HNG\\([0-9]+\\)-\\([0-9]+\\)\"" ret)
-               (format "HNG/%s/cards/%s.jpg"
-                       (match-string 1 ret)
-                       (match-string 2 ret))))
-      (princ (format "<h%d>%s%s</h%d>\n"
-                    level
-                    (if uri-feature-name
-                         (format "<a href=\"%s\">%s</a>"
-                                ;; (if est-hide-cgi-mode
-                                 ;;     "<a href=\"../%s\">%s</a>"
-                                 ;;   "<a href=\"%s\">%s</a>")
-                                (www-uri-make-object-url object uri-object)
-                                ret)
-                      (if HNG-card
-                          (format
-                           "<a href=\"http://hng.chise.org/images/%s\">%s</a>"
-                           HNG-card ret)
-                        ret))
-                    (if GlyphWiki-id
-                        (format
-                         " <a href=\"http://glyphwiki.org/wiki/%s\"><img alt=\"%s\" src=\"http://glyphwiki.org/glyph/%s.50px.png\" /></a>"
-                         GlyphWiki-id
-                         GlyphWiki-id GlyphWiki-id)
-                      "")
-                    level))
+      (cond
+       ((eq genre 'image-resource)
+       (princ
+        (if (setq ret (concord-object-get object '=location@iiif))
+            (if (concord-object-get object 'image-offset-x)
+                (format "<img alt=\"%s\" src=\"%s\" />"
+                        ret ret)
+              (format "<div id=\"openseadragon1\"
+ style=\"width: 800px; height: 600px;\"></div>
+
+<script type=\"text/javascript\">
+    OpenSeadragon({
+        id: \"openseadragon1\",
+        prefixUrl: \"http://hng.chise.org/openseadragon/images/\",
+        preserveViewport:   true,
+        visibilityRatio:    1,
+        minZoomLevel:       1,
+        defaultZoomLevel:   1,
+        sequenceMode:       true,
+        tileSources:   [ \"%s/info.json\" ]
+    });
+</script>
+"
+                      ret))
+          (setq ret (concord-object-get object '=location))
+          (format "<img alt=\"%s\" src=\"%s\" />"
+                  ret ret)))
+       )
+       (t
+       (setq ret (www-format-encode-string
+                  (est-format-object object 'readable)))
+       (setq HNG-card
+             (if (string-match
+                  "<img alt=\"HNG\\([0-9]+\\)-\\([0-9]+\\)\"" ret)
+                 (format "HNG/%s/cards/%s.jpg"
+                         (match-string 1 ret)
+                         (match-string 2 ret))))
+       (princ
+        (format "<h%d>%s%s</h%d>\n"
+                level
+                (cond
+                 (uri-feature-name
+                  (format "<a href=\"%s\">%s</a>"
+                          ;; (if est-hide-cgi-mode
+                          ;;     "<a href=\"../%s\">%s</a>"
+                          ;;   "<a href=\"%s\">%s</a>")
+                          (www-uri-make-object-url object uri-object)
+                          ret)
+                  )
+                 (HNG-card
+                  (format
+                   "<a href=\"http://hng.chise.org/images/%s\">%s</a>"
+                   HNG-card ret)
+                  )
+                 (t ret))
+                (if GlyphWiki-id
+                    (format
+                     " <a href=\"http://glyphwiki.org/wiki/%s\"><img alt=\"%s\" src=\"http://glyphwiki.org/glyph/%s.50px.png\" /></a>"
+                     GlyphWiki-id
+                     GlyphWiki-id GlyphWiki-id)
+                  "")
+                level))
+       ))
       (if (> level 1)
          (princ "<ul>"))
       (when feature-name-to-edit
@@ -586,6 +625,7 @@ size=\"30\" maxlength=\"30\" value=\"%s\" />"
          (cond ((eq (car ret) 'char)
                 (www-display-object-desc
                  'character (cdr ret) (cdr (assq 'feature target))
+                 nil
                  lang nil
                  (eq mode 'simple))
                 )
@@ -600,6 +640,7 @@ size=\"30\" maxlength=\"30\" value=\"%s\" />"
                (t
                 (www-display-object-desc
                  (car ret) (cdr ret) (cdr (assq 'feature target))
+                 nil
                  lang nil
                  (eq mode 'simple))
                 ))
@@ -636,7 +677,7 @@ size=\"30\" maxlength=\"30\" value=\"%s\" />"
                           (car (split-string accept-language ","))
                           ";"))
                     "-"))))
-            ret genre feature json obj)
+            ret genre feature obj-url json obj)
        (cond
         ((stringp target)
          (when (string-match "/data\\.json$" target)
@@ -703,6 +744,7 @@ size=\"30\" maxlength=\"30\" value=\"%s\" />"
                       )
                   (www-display-object-desc
                    'character (nth 1 ret) (nth 2 ret)
+                   nil
                    lang nil
                    (eq mode 'simple)))
                 )
@@ -714,9 +756,32 @@ size=\"30\" maxlength=\"30\" value=\"%s\" />"
                  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)
+                 nil
                  lang nil
                  (eq mode 'simple))
                 ))