History

initial weewiki structure

Paul Batchelor committed 6 years ago

Commit 76e67e11 parent 5f348384 files · +155 −0Browse files

Unified · Split

4 files
  1. Makefile +32 −0
  2. mkdb.janet +25 −0
  3. update_db.sh +16 −0
  4. weewiki.janet +82 −0
Makefile+32−0
@@ -0,0 +1,32 @@
1PORT?=8080
2
3default: update
4
5sync:
6 weewiki sync
7
8update:
9 $(MAKE) db
10 $(MAKE) sync
11 $(MAKE) dump
12
13export: db
14 $(RM) -r _site/wiki
15 mkdir -p _site/wiki
16 weewiki sync
17 weewiki export
18 mv mkdb.janet mkdb.janet.old
19 weewiki dump mkdb.janet
20
21db:
22 @sh update_db.sh
23
24dump:
25 weewiki dump mkdb.janet
26
27transfer:
28 mkdir -p _live/wiki
29 cp -r _site/wiki/* _live/wiki
30
31server:
32 weewiki server - $(PORT)
mkdb.janet+25−0
@@ -0,0 +1,25 @@
1# open and clear wiki db
2
3(ww-open "a.db")
4(ww-clear)
5
6# unlinked pages
7
8
9# linked pages
10
11(ww-add-link "index" "index.org")
12(ww-add-link "bigverb" "bigverb.org")
13(ww-add-link "osc" "osc.org")
14(ww-add-link "dcblocker" "dcblocker.org")
15(ww-add-link "fmpair" "fmpair.org")
16(ww-add-link "vardelay" "vardelay.org")
17(ww-add-link "rline" "rline.org")
18(ww-add-link "peakeq" "peakeq.org")
19(ww-add-link "modalres" "modalres.org")
20(ww-add-link "phasewarp" "phasewarp.org")
21
22# sync and close
23
24(ww-sync)
25(ww-close)
update_db.sh+16−0
@@ -0,0 +1,16 @@
1if [ ! -f a.db ]
2then
3 echo "No db found. Generating."
4 weewiki janet mkdb.janet
5 exit
6fi
7
8if [ a.db -nt mkdb.janet ]
9then
10 echo "Nothing needed to be done."
11else
12 cmp mkdb.janet mkdb.janet.old ||\
13 weewiki janet mkdb.janet
14 cp mkdb.janet mkdb.janet.old
15
16fi
weewiki.janet+82−0
@@ -0,0 +1,82 @@
1(def ww-dir "_site/wiki")
2(def webroot "/wiki")
3
4(defn pgexists? (name)
5 (var db (ww-db))
6 (var x
7 (sqlite3/eval
8 db (string
9 "SELECT EXISTS(SELECT key from wiki "
10 "where key is \""name"\") as doiexist;")))
11 (= ((x 0) "doiexist") 1))
12
13(defn pglink (link)
14 (cond
15 (= link "index")
16 (string webroot "/")
17 (pgexists? link)
18 (string webroot "/" link) "#"))
19
20(defn refstr (link &opt name)
21 (if (nil? name)
22 (string "[[" (pglink link) "][" link "]]")
23 (string
24 "[["
25 (pglink link)
26 "]["
27 name
28 "]]")))
29
30(defn ref (link &opt name)
31 (if (nil? name)
32 (org (string "[[" (pglink link) "][" link "]]"))
33 (org
34 (string
35 "[["
36 (pglink link)
37 "]["
38 name
39 "]]"))))
40
41(defn img [path &opt alt]
42 (print
43 (string
44 "<img src=\""
45 path "\""
46 (if-not (nil? alt) (string " alt=\"" alt "\""))
47 ">")))
48
49(defn img-link [path link &opt alt]
50 (print
51 (string
52 "<a href=\"" link "\">"
53 "<img src=\""
54 path "\""
55 (if-not (nil? alt) (string " alt=\"" alt "\""))
56 "></a>")))
57
58(defn html-header
59 []
60(print
61``<!DOCTYPE html>
62<html lang="en">
63<head>
64
65<meta charset="utf-8">
66<link rel="stylesheet" href="/css/style.css">
67
68</head>
69<body>
70<div id="main">
71``)
72)
73
74(defn html-footer
75 []
76 (print
77``
78</div>
79</body>
80</html>
81``
82))

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t