(load (string-append laml-dir "laml.scm"))
(laml-style "simple-html4.01-transitional-validating")

Show source file in large font In bookmark: Link from language-preference to it's cross reference table entry 
(define language-preference 'english) ; ---------------------------------------------------- ; Bookmark title and data Show source file in large font In bookmark: Link from page-title to it's cross reference table entry 
(define page-title "Part of Kurt Nørmark's Bookmarks") Show source file in large font In bookmark: Link from bookmarks to it's cross reference table entry 4.4. The left frame
(define bookmarks (file-read (string-append (startup-directory) "bookmark-sample.lsp"))) ; ---------------------------------------------------- ; Common functions Show source file in large font In bookmark: Link from bookmark-categories to it's cross reference table entry 
(define (bookmark-categories bookmark-list) (bookmark-categories-iterate bookmark-list '())) ; Selectors Show source file in large font In bookmark: Link from bookmark-title-of to it's cross reference table entry 4.3. Bookmark selectors and constructor
(define bookmark-title-of (make-selector-function 2)) Show source file in large font In bookmark: Link from bookmark-url-of to it's cross reference table entry 4.3. Bookmark selectors and constructor
(define bookmark-url-of (make-selector-function 3)) Show source file in large font In bookmark: Link from bookmark-category-of to it's cross reference table entry 4.3. Bookmark selectors and constructor 4.4. The left frame
(define bookmark-category-of (make-selector-function 4)) Show source file in large font In bookmark: Link from bookmark-comment-of to it's cross reference table entry 4.3. Bookmark selectors and constructor
(define bookmark-comment-of (make-selector-function 5)) Show source file in large font In bookmark: Link from bookmark-title-of-non-blank to it's cross reference table entry 
(define (bookmark-title-of-non-blank bm) (let ((bmt (bookmark-title-of bm))) (if (blank-string? bmt) "?" bmt))) ; Constructor Show source file in large font In bookmark: Link from make-bookmark to it's cross reference table entry 4.3. Bookmark selectors and constructor
(define (make-bookmark ttl url cat com) (list 'bookmark ttl url cat com)) ; -------------------------------------------------------- ; ; The list of frame widths Show source file in large font In bookmark: Link from frame-width-list to it's cross reference table entry 4.2. The frameset section
(define frame-width-list '(200 *)) Show source file in large font In bookmark: Link from frameset-page to it's cross reference table entry 4.2. The frameset section
;; frameset-page Write the index file (write-html '(raw) ; A linked program source marker to section 4.2:
'The frameset section'
Mark char: e (html (head ; A linked program source marker to section 4.2:
'The frameset section'
Mark char: a (title "Bookmark Browser") ; A linked program source marker to section 4.2:
'The frameset section'
Mark char: b ) (frameset ; A linked program source marker to section 4.2:
'The frameset section'
Mark char: c (frame 'name "bookmark-categories" 'src "bookmark-categories.html" 'scrolling "auto") (frame 'name "bookmark-main" 'src "bookmark-contents.html" 'scrolling "auto") 'cols (list-to-string (map as-string frame-width-list) ",") ; A linked program source marker to section 4.2:
'The frameset section'
Mark char: d )) ) ; A procedure that makes an empty x page. Show source file in large font In bookmark: Link from make-empty-page! to it's cross reference table entry 4.2. The frameset section
(define (make-empty-page! x) (write-html '(raw) (html (head (title x)) (body (h3 x))) (in-startup-directory (string-append x ".html")))) (make-empty-page! "bookmark-categories") (make-empty-page! "bookmark-contents") ; -------------------------------------------------------------- ; THE LEFT HAND PAGE. Show source file in large font In bookmark: Link from present-categories to it's cross reference table entry 4.4. The left frame
(define (present-categories bml) (let* ((cat-list (map bookmark-category-of bml)) ; A linked program source marker to section 4.4:
'The left frame'
Mark char: a (cat-list-unique (remove-duplicates cat-list)) ; A linked program source marker to section 4.4:
'The left frame'
Mark char: b ) (map ; A linked program source marker to section 4.4:
'The left frame'
Mark char: c (lambda (cat) (con (a-tag-target (string-append "bookmark-contents.html" "#" cat) cat "bookmark-main") (br)) ) (sort-list cat-list-unique (lambda (s t) (string<=? (downcase-string s) (downcase-string t))))))) Show source file in large font In bookmark: Link from left-frame-page to it's cross reference table entry 4.4. The left frame
;; left-frame-page Write the left frame. (write-html '(raw) (html (head (title "Bookmark Categories")) (body (font-1 4 red (b "Bookmark categories")) (p) (present-categories bookmarks) (p) (font-1 1 red (when-generated)))) (in-startup-directory "bookmark-categories.html") ) ; -------------------------------------------------------------- ; THE RIGHT HAND PAGE. Show source file in large font In bookmark: Link from sentinel-bookmark to it's cross reference table entry 5.1. Epilogue
(define sentinel-bookmark (make-bookmark "" "" 'empty "")) Show source file in large font In bookmark: Link from present-bookmarks to it's cross reference table entry 5.1. Epilogue
(define (present-bookmarks bml) (let* ((sorted-bookmarks ; A linked program source marker to section 5.1:
'Epilogue'
Mark char: a (sort-list bml (lambda (bm1 bm2) ; A linked program source marker to section 5.1:
'Epilogue'
Mark char: i (string<=? (downcase-string (bookmark-category-of bm1)) (downcase-string (bookmark-category-of bm2))))))) (present-bookmarks-1 sorted-bookmarks ; A linked program source marker to section 5.1:
'Epilogue'
Mark char: c (cons sentinel-bookmark (butlast sorted-bookmarks)) ; A linked program source marker to section 5.1:
'Epilogue'
Mark char: d ) ) ) Show source file in large font In bookmark: Link from present-bookmarks-1 to it's cross reference table entry 5.1. Epilogue
(define (present-bookmarks-1 bml prev-bml) (map2 (lambda (bm bm-prev) ; A linked program source marker to section 5.1:
'Epilogue'
Mark char: b (if (not ; A linked program source marker to section 5.1:
'Epilogue'
Mark char: a (equal? (bookmark-category-of bm) (bookmark-category-of bm-prev))) (con (a-name (bookmark-category-of bm)) (h3 (bookmark-category-of bm)) (present-a-bookmark bm)) (present-a-bookmark bm))) bml prev-bml)) Show source file in large font In bookmark: Link from present-a-bookmark to it's cross reference table entry 5.1. Epilogue
(define (present-a-bookmark bm) (let ((comment (bookmark-comment-of bm))) (con (a 'href (bookmark-url-of bm) 'title comment ; A linked program source marker to section 5.1:
'Epilogue'
Mark char: j (bookmark-title-of-non-blank bm)) (br)))) Show source file in large font In bookmark: Link from right-frame-page to it's cross reference table entry 5.1. Epilogue
;; right-frame-page Write the right frame. (write-html '(raw) (html (head (title "Bookmarks")) (body (font-1 6 red (b page-title)) (p) (present-bookmarks bookmarks) (vertical-space 25))) (in-startup-directory "bookmark-contents.html") )