# clo
-another personal draught of a typesetting language and engine.
-website: https://kianting.info/wiki/w/Project:Clo
-License: MIT
+ - another personal draught of a typesetting language and engine.
+ - website: https://kianting.info/wiki/w/Project:Clo
+ - license: MIT
+ - docs : https://kianting.info/wiki/w/Project:Clo
+ - issue tracking mailing list: `clo@kianting.info`
+
+## How to use
+```
+ cd /path/to/clo
+ node . [.clo FILE] --output-js=[.js FILE]
+ node [.js FILE]
+```
## changing journal
- 20230904 建立 thenDo、matchRange的函數、refactor harfbuzzjs 以及libpdf 等測試界面
- 20231012: clo->js converter successfully (maybe.)
- 20231016:basic font guessing and `putText` function
- 20231023-24:fix .ttc bug.
+ - 20231026-27 : clo basic interface, preprocessor of stream of text,
+ add cjk-english splitter, etc.
+ - 20231029-30: hyphenating for english.
+ - 20231105-06: 利用fontkit算文字的對應px寬度 initially pushed.
+ - 20231109-10: Keng-kái oa̍h-chōa ián-sǹg-hoat.
+ - 20231113: the algorithm is basically fixed, and make a `bigFrame` to prepare for convert to boxes and positions.
+ - 20231115-16: grid and basic types laying.
+ - 20231120: fix the line-breaking algorithm
+ - 20231125: multiple paragraph basic
## 之後的做法
- 先做一個前處理註冊器,註冊下列的前處理
- 然後算出每個Box的x, y, page
- 最後納入排版
-## 排版語法:
+## 排版語法
使用lisp表示,但其實是陣列
```lisp
(hglue 寬度 伸展值)
(vglue 高度 伸展值)
- (breakpoint 原始模式 斷行模式)
+ (bp 原始模式 斷行模式) ; breakpoint
+ (br) ; force newline
(em 數字)
(ex 數字)
(span {"font-family" : "Noto Sans" , "font-size" : 16 })
(vbox 高度 內容)
-```
\ No newline at end of file
+```
+
+## How to generate documents
+ - `typedoc /path/to/src1 [/path/to/another/src/or/.js ...]`
+the generated page will be stored in `/docs`.
+
+ - set the referee source to my repo:
+ - `typedoc --sourceLinkTemplate "https://git.kianting.info/?p=clo;a=blob;f={path};hb=HEAD#l{line}" /path/to/src1 ...`
+
+store the documents
+ - `rsync /path/to/docs host@/var/www/docs`
\ No newline at end of file