forked from renard/o-blog
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathnav_breadcrumb.html
62 lines (51 loc) · 2.24 KB
/
nav_breadcrumb.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
<ul class="breadcrumb">
<li><a href="<lisp>(ob:path-to-root)</lisp>/index.html"><lisp>(ob:gettext :home)</lisp></a> <span class="divider"></span></li>
<lisp>
(cond
;; Static page or post
((boundp 'POST)
(let ((path (when (ob:get 'path POST)
(cdr (split-string (ob:get 'path POST) "/")))))
(loop for p in (if (ob:greater (length path) 1) (cons (ob:get 'category POST) path) path)
with prev = (ob:path-to-root)
do (progn
(setf prev (format "%s/%s" prev (if (ob:category-p p) (ob:get 'safe p) p)))
(insert
(format
"<li><a href=\"%s/index.html\">%s</a> <span class=\"divider\"></span></li>"
prev (if (ob:category-p p) (ob:category-name p) p))))))
(unless (and
(string= "index.html" (ob:get 'htmlfile POST))
(string= "." (ob:get 'path-to-root POST)))
(insert
(format "<li>%s</li>"
(ob:post-title POST)))))
;; archives
((and (boundp 'MONTH) (boundp 'YEAR) (boundp 'CATEGORY))
(insert "<li><a href=\"../../../archives.html\">Archives</a> <span class=\"divider\"></span></li>")
(insert (format "<li><a href=\"../../index.html\">%s</a> <span class=\"divider\"></span></li>" (ob:category-name CATEGORY)))
(insert (format "<li><a href=\"../index.html\">%s</a> <span class=\"divider\"></span></li>" YEAR))
(insert (format "<li>%.2d</li>" MONTH)))
((and (boundp 'YEAR) (boundp 'CATEGORY))
(insert "<li><a href=\"../../archives.html\">Archives</a> <span class=\"divider\"></span></li>")
(insert (format "<li><a href=\"../index.html\">%s</a> <span class=\"divider\"></span></li>" (ob:category-name CATEGORY)))
(insert (format "<li>%s</li>" YEAR)))
((boundp 'CATEGORY)
(insert "<li><a href=\"../archives.html\">Archives</a> <span class=\"divider\"></span></li>")
(insert (format "<li>%s</li>" (ob:category-name CATEGORY))))
((and
;;(boundp 'template)
(string= "blog_archives.html" template))
(insert (format "<li>Archives</li>")))
;; Tags
((boundp 'TAG)
(insert "<li><a href=\"index.html\">Tags</a> <span class=\"divider\"></span></li>")
(insert (format "<li>%s</li>" (ob:tags-name TAG))))
((and
;;(boundp 'template)
(string= "blog_tags.html" template))
(insert (format "<li>Tags</li>")))
((boundp 'BREADCRUMB)
(insert (format "<li>%s</li>" BREADCRUMB))))
</lisp>
</ul>