This repository has been archived by the owner on May 23, 2019. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 2
/
gen_content.rkt
58 lines (52 loc) · 2.15 KB
/
gen_content.rkt
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
#lang racket
(define (deal-file dir-path file-path)
(let ((file-path-string (path->string file-path)))
(let ((file-path-strings (string-split file-path-string ".")))
(let ((file-name (string-append (car file-path-strings)
"."
(cadr file-path-strings))))
(string-append "["
file-name
"](./"
dir-path
"/"
file-path-string
")")))))
(define (deal-files-rev dir-path file-list col-num)
(if (null? file-list)
(if (equal? col-num 10)
"\n"
(string-append "| "
(deal-files-rev dir-path file-list (+ col-num 1))))
(if (equal? col-num 10)
(string-append "\n"
(deal-files-rev dir-path file-list 0))
(let ((curr-link (deal-file dir-path (car file-list)))
(next-rev (deal-files-rev dir-path (cdr file-list) (+ col-num 1))))
(if (equal? col-num 0)
(string-append curr-link
next-rev)
(string-append " | "
curr-link
next-rev))))))
(define (deal-files dir-path file-list)
(string-append " | | | | | | | | | | \n"
":-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:\n"
(deal-files-rev dir-path file-list 0)
"\n"))
(define (deal-chapter path)
(let ((path-string (path->string path)))
(if (string=? "C" (substring path-string 0 1))
(string-append "### Chapter "
(string-replace (substring path-string 1)
"_"
" ")
"\n\n"
(deal-files path-string (directory-list path)))
"")))
(define (deal-chapters path-list)
(if (null? path-list)
""
(string-append (deal-chapter (car path-list))
(deal-chapters (cdr path-list)))))
(display (deal-chapters (directory-list)))