Skip to content

Commit 2236390

Browse files
committed
fix: render toc from md file(Close #107)
1 parent 9a4ea23 commit 2236390

File tree

2 files changed

+91
-83
lines changed

2 files changed

+91
-83
lines changed

layouts/section.shtml

Lines changed: 1 addition & 83 deletions
Original file line numberDiff line numberDiff line change
@@ -8,89 +8,7 @@
88
<a class="brand" href="/" :text="$site.title"></a>
99
</div>
1010
<div class="toc" id="toc">
11-
<ul>
12-
<li><a href="$site.page('').link()" :text="$site.page('').title"></a></li>
13-
<li><strong>File System</strong>
14-
<ul>
15-
<li><a href="$site.page('01-01-read-file-line-by-line').link()" :text="$site.page('01-01-read-file-line-by-line').title"></a></li>
16-
<li><a href="$site.page('01-02-mmap-file').link()" :text="$site.page('01-02-mmap-file').title"></a></li>
17-
<li><a href="$site.page('01-03-file-modified-24h-ago').link()" :text="$site.page('01-03-file-modified-24h-ago').title"></a></li>
18-
<li><a href="$site.page('01-04-file-exists').link()" :text="$site.page('01-04-file-exists').title"></a></li>
19-
<li><a href="$site.page('01-05-iterate-dir').link()" :text="$site.page('01-05-iterate-dir').title"></a></li>
20-
</ul></li>
21-
<li><strong>Cryptography</strong>
22-
<ul>
23-
<li><a href="$site.page('02-01-sha-digest').link()" :text="$site.page('02-01-sha-digest').title"></a></li>
24-
<li><a href="$site.page('02-02-pbkdf2').link()" :text="$site.page('02-02-pbkdf2').title"></a></li>
25-
</ul></li>
26-
<li><strong>Date and Time</strong>
27-
<ul>
28-
<li><a href="$site.page('03-01-elapsed-time').link()" :text="$site.page('03-01-elapsed-time').title"></a></li>
29-
</ul></li>
30-
<li><strong>Network</strong>
31-
<ul>
32-
<li><a href="$site.page('04-01-tcp-server').link()" :text="$site.page('04-01-tcp-server').title"></a></li>
33-
<li><a href="$site.page('04-02-tcp-client').link()" :text="$site.page('04-02-tcp-client').title"></a></li>
34-
<li><a href="$site.page('04-03-udp-echo').link()" :text="$site.page('04-03-udp-echo').title"></a></li>
35-
</ul></li>
36-
<li><strong>Web Programming</strong>
37-
<ul>
38-
<li><a href="$site.page('05-01-http-get').link()" :text="$site.page('05-01-http-get').title"></a></li>
39-
<li><a href="$site.page('05-02-http-post').link()" :text="$site.page('05-02-http-post').title"></a></li>
40-
<li><a href="$site.page('05-03-http-server-std').link()" :text="$site.page('05-03-http-server-std').title"></a></li>
41-
</ul></li>
42-
<li><strong>Algorithms</strong>
43-
<ul>
44-
<li><a href="$site.page('06-01-rand').link()" :text="$site.page('06-01-rand').title"></a></li>
45-
</ul></li>
46-
<li><strong>Concurrency</strong>
47-
<ul>
48-
<li><a href="$site.page('07-01-spawn').link()" :text="$site.page('07-01-spawn').title"></a></li>
49-
<li><a href="$site.page('07-02-shared-data').link()" :text="$site.page('07-02-shared-data').title"></a></li>
50-
<li><a href="$site.page('07-03-threadpool').link()" :text="$site.page('07-03-threadpool').title"></a></li>
51-
<li><a href="$site.page('07-04-run-once').link()" :text="$site.page('07-04-run-once').title"></a></li>
52-
</ul></li>
53-
<li><strong>Operating System</strong>
54-
<ul>
55-
<li><a href="$site.page('08-01-cpu-count').link()" :text="$site.page('08-01-cpu-count').title"></a></li>
56-
<li><a href="$site.page('08-02-external').link()" :text="$site.page('08-02-external').title"></a></li>
57-
</ul></li>
58-
<li><strong>Development Tools</strong>
59-
<ul>
60-
<li><a href="$site.page('09-01-semver').link()" :text="$site.page('09-01-semver').title"></a></li>
61-
</ul></li>
62-
<li><strong>Encoding</strong>
63-
<ul>
64-
<li><a href="$site.page('10-01-json').link()" :text="$site.page('10-01-json').title"></a></li>
65-
<li><a href="$site.page('10-02-zon').link()" :text="$site.page('10-02-zon').title"></a></li>
66-
<li><a href="$site.page('10-03-base64').link()" :text="$site.page('10-03-base64').title"></a></li>
67-
</ul></li>
68-
<li><strong>Mathematics</strong>
69-
<ul>
70-
<li><a href="$site.page('11-01-complex-numbers').link()" :text="$site.page('11-01-complex-numbers').title"></a></li>
71-
</ul></li>
72-
<li><strong>Data Structures</strong>
73-
<ul>
74-
<li><a href="$site.page('12-01-bitfield').link()" :text="$site.page('12-01-bitfield').title"></a></li>
75-
<li><a href="$site.page('12-02-singly-linked-list').link()" :text="$site.page('12-02-singly-linked-list').title"></a></li>
76-
<li><a href="$site.page('12-03-doubly-linked-list').link()" :text="$site.page('12-03-doubly-linked-list').title"></a></li>
77-
</ul></li>
78-
<li><strong>Command line</strong>
79-
<ul>
80-
<li><a href="$site.page('13-01-argparse').link()" :text="$site.page('13-01-argparse').title"></a></li>
81-
</ul></li>
82-
<li><strong>Database</strong>
83-
<ul>
84-
<li><a href="$site.page('14-01-sqlite').link()" :text="$site.page('14-01-sqlite').title"></a></li>
85-
<li><a href="$site.page('14-02-postgres').link()" :text="$site.page('14-02-postgres').title"></a></li>
86-
<li><a href="$site.page('14-03-mysql').link()" :text="$site.page('14-03-mysql').title"></a></li>
87-
</ul></li>
88-
<li><strong>Text Processing</strong>
89-
<ul>
90-
<li><a href="$site.page('15-01-regex').link()" :text="$site.page('15-01-regex').title"></a></li>
91-
<li><a href="$site.page('15-02-string').link()" :text="$site.page('15-02-string').title"></a></li>
92-
</ul></li>
93-
</ul>
11+
<ctx :html="$site.page('toc').content()"></ctx>
9412
</div>
9513
<div class="body">
9614
<div class="content">

src/toc.smd

Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
---
2+
.title = "introduction",
3+
.date = "2024-01-01",
4+
.author = "ZigCC",
5+
.layout = "section.shtml",
6+
---
7+
8+
# Summary
9+
10+
[Introduction](/)
11+
12+
- File System
13+
14+
- [Read file line by line](01-01-read-file-line-by-line)
15+
- [Mmap file](01-02-mmap-file)
16+
- [Find Files modified in the last 24 hours](01-03-file-modified-24h-ago)
17+
- [Check file existence](01-04-file-exists)
18+
- [Iterate directory](01-05-iterate-dir)
19+
20+
- Cryptography
21+
22+
- [Calculate SHA-256 digest of a file](02-01-sha-digest)
23+
- [Salt and hash a password with PBKDF2](02-02-pbkdf2)
24+
25+
- Date and Time
26+
27+
- [Measure the elapsed time between two code sections](03-01-elapsed-time)
28+
29+
- Network
30+
31+
- [Listen on unused port TCP/IP](04-01-tcp-server)
32+
- [TCP Client](04-02-tcp-client)
33+
- [UDP Echo](04-03-udp-echo)
34+
35+
- Web Programming
36+
37+
- [HTTP Get](05-01-http-get)
38+
- [HTTP Post](05-02-http-post)
39+
- [HTTP Server(std)](05-03-http-server-std)
40+
41+
- Algorithms
42+
43+
- [Generate Random Values](06-01-rand)
44+
45+
- Concurrency
46+
47+
- [Explicit Threads](07-01-spawn)
48+
- [Shared Data](07-02-shared-data)
49+
- [Thread pool](07-03-threadpool)
50+
- [Run Once](07-04-run-once)
51+
52+
- Operating System
53+
54+
- [Processor](08-01-cpu-count)
55+
- [External Command](08-02-external)
56+
57+
- Development Tools
58+
59+
- [Versioning](09-01-semver)
60+
61+
- Encoding
62+
63+
- [(De)serialize JSON](10-01-json)
64+
- [(De)serialize Zon](10-02-zon)
65+
- [Encode and decode base64](10-03-base64)
66+
67+
- Mathematics
68+
69+
- [Complex Numbers](11-01-complex-numbers)
70+
71+
- Data Structures
72+
73+
- [Bitfield](12-01-bitfield)
74+
- [Singly Linked List](12-02-singly-linked-list)
75+
- [Doubly Linked List](12-03-doubly-linked-list)
76+
77+
- Command line
78+
79+
- [Argument Parsing](13-01-argparse)
80+
- ANSI Terminal
81+
82+
- [Database](database)
83+
84+
- [SQLite](14-01-sqlite)
85+
- [Postgres](14-02-postgres)
86+
- [MySQL](14-03-mysql)
87+
88+
- Text Processing
89+
- [Regex Expressions](15-01-regex)
90+
- [String Parsing](15-02-string)

0 commit comments

Comments
 (0)