üretimin terminal arayüzü
This commit is contained in:
17
src/ana.lisp
17
src/ana.lisp
@@ -44,7 +44,7 @@
|
|||||||
|
|
||||||
(defun dönüştürmeli? (kaynak hedef)
|
(defun dönüştürmeli? (kaynak hedef)
|
||||||
"Kaynak dosyadan hedef dosya oluşturulmalı mı ?
|
"Kaynak dosyadan hedef dosya oluşturulmalı mı ?
|
||||||
Markdown dosyası değişmediyse yeniden oluşturma."
|
Dosya değişmediyse yeniden oluşturma."
|
||||||
(or (not (dosya-var? hedef))
|
(or (not (dosya-var? hedef))
|
||||||
(> (mod-zamanı kaynak)
|
(> (mod-zamanı kaynak)
|
||||||
(mod-zamanı hedef))))
|
(mod-zamanı hedef))))
|
||||||
@@ -59,8 +59,10 @@ Markdown dosyası değişmediyse yeniden oluşturma."
|
|||||||
|
|
||||||
(defun dizin-kopyala (kaynak hedef)
|
(defun dizin-kopyala (kaynak hedef)
|
||||||
(ensure-directories-exist hedef)
|
(ensure-directories-exist hedef)
|
||||||
(mapc (lambda (yol)
|
(mapc (lambda (kaynak-dosya)
|
||||||
(dosya-kopyala yol (yol-çeviri yol kaynak hedef)))
|
(let ((hedef-dosya (yol-çeviri kaynak-dosya kaynak hedef)))
|
||||||
|
(when (dönüştürmeli? kaynak-dosya hedef-dosya)
|
||||||
|
(dosya-kopyala kaynak-dosya hedef-dosya))))
|
||||||
(uiop:directory-files kaynak))
|
(uiop:directory-files kaynak))
|
||||||
(loop :for d :in (uiop:subdirectories kaynak)
|
(loop :for d :in (uiop:subdirectories kaynak)
|
||||||
:do (dizin-kopyala d (yol-çeviri d kaynak hedef))))
|
:do (dizin-kopyala d (yol-çeviri d kaynak hedef))))
|
||||||
@@ -80,8 +82,9 @@ Markdown dosyası değişmediyse yeniden oluşturma."
|
|||||||
|
|
||||||
(defun ana ()
|
(defun ana ()
|
||||||
(let ((args sb-ext:*posix-argv*))
|
(let ((args sb-ext:*posix-argv*))
|
||||||
(assert (= 3 (length args)))
|
(if (= 4 (length args))
|
||||||
(let ((kaynak (nth 1 args))
|
(apply #'tamamen-üret (mapcar (lambda (str)
|
||||||
(hedef (nth 2 args)))
|
(merge-pathnames str (uiop:getcwd)))
|
||||||
(markdown->html kaynak hedef))))
|
(cdr args)))
|
||||||
|
(format *error-output* "Kullanım: [prog-adı] [statik dizin] [içerik dizini] [hedef dizin]~%"))))
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user