@open330/kiwimu 0.4.0 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@open330/kiwimu",
3
- "version": "0.4.0",
3
+ "version": "0.4.1",
4
4
  "description": "Turn textbooks, PDFs, and web content into your own interlinked learning wiki powered by LLM",
5
5
  "type": "module",
6
6
  "bin": {
@@ -6,31 +6,33 @@
6
6
  --bg-hover: #eaeaea;
7
7
  --text: #1a1a1a;
8
8
  --text-muted: #6b6b6b;
9
- --link: #0067a3;
10
- --link-hover: #004b7a;
9
+ --link: #0275d8; /* NamuWiki blue link */
10
+ --link-hover: #0050a0; /* Darker blue for hover */
11
11
  --border: #dcdcdc;
12
- --accent: #00a495;
12
+ --accent: #00a495; /* NamuWiki green */
13
13
  --accent-dark: #008c7e;
14
- --accent-light: #e0f5f3;
14
+ --accent-light: #e0f5f3; /* Light green for backgrounds */
15
15
  --namu-green: #00a495;
16
16
  --namu-green-dark: #007a6e;
17
17
  --namu-heading-bg: #00a495;
18
18
  --sidebar-width: 250px;
19
19
  --topbar-height: 44px;
20
- --radius: 4px;
20
+ /* --radius variable removed as all corners are sharp */
21
21
  }
22
22
 
23
23
  * {
24
24
  margin: 0;
25
25
  padding: 0;
26
26
  box-sizing: border-box;
27
+ border-radius: 0; /* Enforce sharp flat edges everywhere */
28
+ box-shadow: none; /* Enforce no shadows */
27
29
  }
28
30
 
29
31
  body {
30
32
  font-family: "Noto Sans KR", -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif;
31
33
  color: var(--text);
32
34
  background: var(--bg);
33
- line-height: 1.7;
35
+ line-height: 1.65; /* Updated line-height */
34
36
  font-size: 15px;
35
37
  }
36
38
 
@@ -57,7 +59,7 @@ a:hover {
57
59
  padding: 0 16px;
58
60
  z-index: 100;
59
61
  gap: 12px;
60
- box-shadow: 0 1px 3px rgba(0,0,0,0.15);
62
+ /* box-shadow: none; -> Handled by global reset */
61
63
  }
62
64
 
63
65
  .topbar-brand {
@@ -92,7 +94,7 @@ a:hover {
92
94
  width: 100%;
93
95
  padding: 5px 12px;
94
96
  border: none;
95
- border-radius: 3px;
97
+ /* border-radius: 3px; -> Handled by global reset */
96
98
  font-size: 14px;
97
99
  outline: none;
98
100
  background: rgba(255,255,255,0.9);
@@ -101,7 +103,7 @@ a:hover {
101
103
 
102
104
  .topbar-search input:focus {
103
105
  background: #ffffff;
104
- box-shadow: 0 0 0 2px rgba(255,255,255,0.4);
106
+ /* box-shadow: none; -> Handled by global reset */
105
107
  }
106
108
 
107
109
  .search-dropdown {
@@ -112,8 +114,8 @@ a:hover {
112
114
  right: 0;
113
115
  background: var(--bg);
114
116
  border: 1px solid var(--border);
115
- border-radius: var(--radius);
116
- box-shadow: 0 4px 12px rgba(0,0,0,0.12);
117
+ /* border-radius: var(--radius); -> Handled by global reset */
118
+ /* box-shadow: none; -> Handled by global reset */
117
119
  max-height: 300px;
118
120
  overflow-y: auto;
119
121
  z-index: 200;
@@ -149,7 +151,7 @@ a:hover {
149
151
  .btn-graph {
150
152
  padding: 4px 10px;
151
153
  border: 1px solid rgba(255,255,255,0.3);
152
- border-radius: 3px;
154
+ /* border-radius: 3px; -> Handled by global reset */
153
155
  font-size: 13px;
154
156
  color: #ffffff;
155
157
  white-space: nowrap;
@@ -238,7 +240,7 @@ a:hover {
238
240
  }
239
241
 
240
242
  .page-body {
241
- line-height: 1.8;
243
+ /* line-height: 1.8; -> Removed to inherit from body's 1.65 */
242
244
  }
243
245
 
244
246
  .page-body h2 {
@@ -248,7 +250,7 @@ a:hover {
248
250
  padding: 4px 10px;
249
251
  background: var(--namu-green);
250
252
  color: #ffffff;
251
- border-radius: 2px;
253
+ /* border-radius: 2px; -> Handled by global reset */
252
254
  }
253
255
 
254
256
  .page-body h3 {
@@ -257,7 +259,7 @@ a:hover {
257
259
  margin: 22px 0 8px;
258
260
  padding: 3px 8px;
259
261
  border-left: 4px solid var(--namu-green);
260
- background: var(--accent-light);
262
+ background: none; /* Removed background */
261
263
  color: var(--text);
262
264
  }
263
265
 
@@ -293,14 +295,14 @@ a:hover {
293
295
  padding: 8px 14px;
294
296
  margin: 10px 0;
295
297
  background: #f0faf9;
296
- border-radius: 0 var(--radius) var(--radius) 0;
298
+ /* border-radius: 0 var(--radius) var(--radius) 0; -> Handled by global reset */
297
299
  font-size: 14px;
298
300
  }
299
301
 
300
302
  .page-body code {
301
303
  background: #f0f0f0;
302
304
  padding: 2px 5px;
303
- border-radius: 2px;
305
+ /* border-radius: 2px; -> Handled by global reset */
304
306
  font-size: 13px;
305
307
  font-family: "JetBrains Mono", "D2Coding", monospace;
306
308
  }
@@ -309,7 +311,7 @@ a:hover {
309
311
  background: #2b2b2b;
310
312
  color: #e0e0e0;
311
313
  padding: 14px;
312
- border-radius: var(--radius);
314
+ /* border-radius: var(--radius); -> Handled by global reset */
313
315
  overflow-x: auto;
314
316
  margin: 10px 0;
315
317
  }
@@ -322,7 +324,7 @@ a:hover {
322
324
 
323
325
  .page-body img {
324
326
  max-width: 100%;
325
- border-radius: var(--radius);
327
+ /* border-radius: var(--radius); -> Handled by global reset */
326
328
  margin: 10px 0;
327
329
  }
328
330
 
@@ -351,11 +353,11 @@ a:hover {
351
353
  font-weight: 800;
352
354
  }
353
355
 
354
- /* TOC - namuwiki style */
356
+ /* TOC - namuwiki style with counters */
355
357
  .toc-box {
356
358
  background: #f5f5f5;
357
359
  border: 1px solid var(--border);
358
- border-radius: var(--radius);
360
+ /* border-radius: var(--radius); -> Handled by global reset */
359
361
  padding: 10px 14px;
360
362
  margin-bottom: 20px;
361
363
  }
@@ -367,29 +369,81 @@ a:hover {
367
369
  color: var(--namu-green-dark);
368
370
  }
369
371
 
370
- .toc-box .toc ul {
372
+ .toc-box .toc {
373
+ counter-reset: h2; /* Reset counter for top-level headings */
374
+ }
375
+
376
+ .toc-box .toc ul { /* Use ul as the base, then li for items */
371
377
  list-style: none;
372
378
  margin: 6px 0 0 0;
373
379
  padding-left: 0;
374
380
  }
375
381
 
376
- .toc-box .toc ul ul {
377
- padding-left: 16px;
382
+ .toc-box .toc ul ul { /* Nested lists */
383
+ padding-left: 18px; /* Indent for sub-levels */
378
384
  }
379
385
 
380
386
  .toc-box .toc li {
381
- margin: 1px 0;
387
+ margin: 2px 0; /* Slightly more space */
388
+ position: relative; /* For counter positioning */
382
389
  }
383
390
 
384
- .toc-box .toc a {
391
+ .toc-box .toc li a {
385
392
  font-size: 13px;
386
393
  color: var(--link);
394
+ display: block; /* Make link clickable over full line */
395
+ padding-left: 20px; /* Space for counter */
387
396
  }
388
397
 
389
- .toc-box .toc a:hover {
398
+ .toc-box .toc li a:hover {
390
399
  color: var(--link-hover);
391
400
  }
392
401
 
402
+ /* Counter for h2 equivalent */
403
+ .toc-box .toc > ul > li {
404
+ counter-increment: h2;
405
+ counter-reset: h3; /* Reset h3 counter for each new h2 */
406
+ }
407
+ .toc-box .toc > ul > li > a::before {
408
+ content: counter(h2) ". ";
409
+ position: absolute;
410
+ left: 0;
411
+ color: var(--text-muted);
412
+ font-weight: 400;
413
+ width: 20px; /* Fixed width for alignment */
414
+ text-align: right;
415
+ }
416
+
417
+ /* Counter for h3 equivalent */
418
+ .toc-box .toc > ul > li > ul > li {
419
+ counter-increment: h3;
420
+ counter-reset: h4; /* Reset h4 counter for each new h3 */
421
+ }
422
+ .toc-box .toc > ul > li > ul > li > a::before {
423
+ content: counter(h2) "." counter(h3) ". ";
424
+ position: absolute;
425
+ left: 0;
426
+ color: var(--text-muted);
427
+ font-weight: 400;
428
+ width: 20px;
429
+ text-align: right;
430
+ }
431
+
432
+ /* Counter for h4 equivalent */
433
+ .toc-box .toc > ul > li > ul > li > ul > li {
434
+ counter-increment: h4;
435
+ }
436
+ .toc-box .toc > ul > li > ul > li > ul > li > a::before {
437
+ content: counter(h2) "." counter(h3) "." counter(h4) ". ";
438
+ position: absolute;
439
+ left: 0;
440
+ color: var(--text-muted);
441
+ font-weight: 400;
442
+ width: 20px;
443
+ text-align: right;
444
+ }
445
+
446
+
393
447
  /* Backlinks */
394
448
  .backlinks {
395
449
  margin-top: 36px;
@@ -416,7 +470,7 @@ a:hover {
416
470
  padding: 3px 10px;
417
471
  background: var(--accent-light);
418
472
  border: 1px solid var(--namu-green);
419
- border-radius: 3px;
473
+ /* border-radius: 3px; -> Handled by global reset */
420
474
  font-size: 13px;
421
475
  color: var(--namu-green-dark);
422
476
  }
@@ -463,7 +517,7 @@ a:hover {
463
517
  padding: 4px 10px;
464
518
  background: var(--namu-green);
465
519
  color: #ffffff;
466
- border-radius: 2px;
520
+ /* border-radius: 2px; -> Handled by global reset */
467
521
  }
468
522
 
469
523
  .page-cards {
@@ -478,7 +532,7 @@ a:hover {
478
532
  padding: 10px 14px;
479
533
  background: var(--bg);
480
534
  border: 1px solid var(--border);
481
- border-radius: var(--radius);
535
+ /* border-radius: var(--radius); -> Handled by global reset */
482
536
  color: var(--text);
483
537
  transition: all 0.15s;
484
538
  }
@@ -488,7 +542,7 @@ a:hover {
488
542
  border-color: var(--namu-green);
489
543
  text-decoration: none;
490
544
  transform: translateY(-1px);
491
- box-shadow: 0 2px 6px rgba(0,164,149,0.15);
545
+ /* box-shadow: none; -> Handled by global reset */
492
546
  }
493
547
 
494
548
  .card-title {
@@ -506,7 +560,7 @@ a:hover {
506
560
  padding: 10px 18px;
507
561
  background: var(--accent-light);
508
562
  border: 1px solid var(--namu-green);
509
- border-radius: var(--radius);
563
+ /* border-radius: var(--radius); -> Handled by global reset */
510
564
  font-size: 14px;
511
565
  color: var(--namu-green-dark);
512
566
  font-weight: 600;
@@ -539,7 +593,7 @@ a:hover {
539
593
  width: 100%;
540
594
  height: calc(100vh - 200px);
541
595
  border: 1px solid var(--border);
542
- border-radius: var(--radius);
596
+ /* border-radius: var(--radius); -> Handled by global reset */
543
597
  background: #fafafa;
544
598
  }
545
599
 
@@ -577,7 +631,7 @@ h4 .headerlink {
577
631
  font-size: 11px;
578
632
  font-weight: 700;
579
633
  padding: 2px 8px;
580
- border-radius: 2px;
634
+ /* border-radius: 2px; -> Handled by global reset */
581
635
  margin-bottom: 6px;
582
636
  letter-spacing: 0.03em;
583
637
  }
@@ -656,7 +710,7 @@ h4 .headerlink {
656
710
  padding: 14px;
657
711
  background: #f0f7ff;
658
712
  border: 1px solid #bdd7ee;
659
- border-radius: var(--radius);
713
+ /* border-radius: var(--radius); -> Handled by global reset */
660
714
  }
661
715
 
662
716
  .external-refs h3 {
@@ -678,7 +732,7 @@ h4 .headerlink {
678
732
 
679
733
  .external-refs a {
680
734
  font-size: 13px;
681
- color: #1565c0;
735
+ color: #1565c0; /* Specific blue for external refs */
682
736
  }
683
737
 
684
738
  /* Backlink type indicators */
@@ -715,7 +769,7 @@ h4 .headerlink {
715
769
  padding: 5px 14px;
716
770
  border: 1px solid var(--border);
717
771
  background: var(--bg-alt);
718
- border-radius: var(--radius);
772
+ /* border-radius: var(--radius); -> Handled by global reset */
719
773
  font-size: 13px;
720
774
  cursor: pointer;
721
775
  transition: all 0.15s;
@@ -744,7 +798,7 @@ h4 .headerlink {
744
798
  justify-content: center;
745
799
  padding: 18px;
746
800
  border: 2px dashed var(--border);
747
- border-radius: var(--radius);
801
+ /* border-radius: var(--radius); -> Handled by global reset */
748
802
  cursor: pointer;
749
803
  transition: all 0.15s;
750
804
  text-align: center;
@@ -778,7 +832,7 @@ h4 .headerlink {
778
832
  flex: 1;
779
833
  padding: 8px 12px;
780
834
  border: 1px solid var(--border);
781
- border-radius: var(--radius);
835
+ /* border-radius: var(--radius); -> Handled by global reset */
782
836
  font-size: 14px;
783
837
  outline: none;
784
838
  transition: border-color 0.2s;
@@ -786,7 +840,7 @@ h4 .headerlink {
786
840
 
787
841
  .add-form input:focus {
788
842
  border-color: var(--namu-green);
789
- box-shadow: 0 0 0 2px var(--accent-light);
843
+ /* box-shadow: none; -> Handled by global reset */
790
844
  }
791
845
 
792
846
  .add-form button {
@@ -794,7 +848,7 @@ h4 .headerlink {
794
848
  background: var(--namu-green);
795
849
  color: white;
796
850
  border: none;
797
- border-radius: var(--radius);
851
+ /* border-radius: var(--radius); -> Handled by global reset */
798
852
  font-size: 14px;
799
853
  font-weight: 600;
800
854
  cursor: pointer;
@@ -813,7 +867,7 @@ h4 .headerlink {
813
867
 
814
868
  .add-status {
815
869
  padding: 8px 12px;
816
- border-radius: var(--radius);
870
+ /* border-radius: var(--radius); -> Handled by global reset */
817
871
  font-size: 14px;
818
872
  }
819
873
 
@@ -849,7 +903,7 @@ h4 .headerlink {
849
903
  padding: 10px 14px;
850
904
  background: var(--bg-alt);
851
905
  border: 1px solid var(--border);
852
- border-radius: var(--radius);
906
+ /* border-radius: var(--radius); -> Handled by global reset */
853
907
  text-align: center;
854
908
  }
855
909
 
@@ -879,7 +933,7 @@ h4 .headerlink {
879
933
  display: inline-block;
880
934
  width: 12px;
881
935
  height: 12px;
882
- border-radius: 50%;
936
+ border-radius: 50%; /* Keep for circular dot */
883
937
  vertical-align: middle;
884
938
  margin-right: 4px;
885
939
  }
@@ -904,4 +958,4 @@ h4 .headerlink {
904
958
  .topbar-search {
905
959
  max-width: 180px;
906
960
  }
907
- }
961
+ }