Skip to content

Commit e122944

Browse files
committed
(paip:open-pdf 1) to open pdf via browser.
1 parent a906ab2 commit e122944

File tree

2 files changed

+18
-2
lines changed

2 files changed

+18
-2
lines changed

lisp/open-pdf.lisp

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
(defvar *paip-pdf-uri* "https://github.com/norvig/paip-lisp/raw/master/")
2+
3+
(defun open-pdf (&optional (part 1))
4+
(let* ((name (format nil "PAIP-part~A.pdf" part))
5+
(path (namestring
6+
(merge-pathnames
7+
name
8+
(asdf:system-source-directory (asdf:find-system :paip))))))
9+
(when (<= 1 part 2)
10+
(unless (probe-file path)
11+
#+quicklisp(ql:quickload :dexador)
12+
(uiop:symbol-call :dex :fetch (format nil "~A~A" *paip-pdf-uri* name) path))
13+
#+quicklisp(ql:quickload :trivial-open-browser)
14+
(uiop:symbol-call :trivial-open-browser :open-browser path)
15+
path)))

paip.asd

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
(defpackage paip
22
(:use :cl)
33
(:shadow :defconstant)
4-
(:export :requires :*paip-files* :do-examples))
4+
(:export :requires :*paip-files* :do-examples :open-pdf))
55

66
(in-package :paip)
77

@@ -28,5 +28,6 @@
2828
:components
2929
((:file "auxfns")
3030
(:file "tutor")
31-
(:file "examples"))))
31+
(:file "examples")
32+
(:file "open-pdf"))))
3233
:description "Lisp code for the textbook \"Paradigms of Artificial Intelligence Programming\"")

0 commit comments

Comments
 (0)