From 40ebf56768f9e6a8eb61ffa5fe97804c0593722d Mon Sep 17 00:00:00 2001
From: Alfex4936 <ikr@kakao.com>
Date: Wed, 22 Mar 2023 14:56:17 +0900
Subject: [PATCH] Optimize js and css

---
 docs/01_ko.html        |   2 +-
 docs/02_ko.html        |   2 +-
 docs/03_ko.html        |   2 +-
 docs/04_ko.html        |   2 +-
 docs/06_ko.html        |   2 +-
 docs/07_ko.html        |   2 +-
 docs/08_ko.html        |   2 +-
 docs/09_ko.html        |   2 +-
 docs/10_ko.html        |   2 +-
 docs/11_ko.html        |   2 +-
 docs/12_ko.html        |   2 +-
 docs/13_ko.html        |   2 +-
 docs/14_ko.html        |   2 +-
 docs/15_ko.html        |   2 +-
 docs/16_ko.html        |   2 +-
 docs/17_ko.html        |   2 +-
 docs/18_ko.html        |   2 +-
 docs/19_ko.html        |   2 +-
 docs/21_ko.html        |   2 +-
 docs/22_ko.html        |   2 +-
 docs/23_ko.html        |   2 +-
 docs/24_ko.html        |   2 +-
 docs/25_ko.html        |   2 +-
 docs/26_ko.html        |   2 +-
 docs/28_ko.html        |   2 +-
 docs/30_ko.html        |   2 +-
 docs/32_ko.html        |   2 +-
 docs/34_ko.html        |   2 +-
 docs/TOC_ko.html       |   2 +-
 docs/chapter_1_ko.html |   2 +-
 docs/chapter_2_ko.html |   2 +-
 docs/chapter_3_ko.html |   2 +-
 docs/chapter_4_ko.html |   2 +-
 docs/chapter_5_ko.html |   2 +-
 docs/chapter_6_ko.html |   2 +-
 docs/index.html        |   2 +-
 docs/tour.css          |   3 +-
 docs/tour.js           |  32 +++++----
 frontend/generate.js   | 156 ++++++++++++-----------------------------
 39 files changed, 97 insertions(+), 166 deletions(-)

diff --git a/docs/01_ko.html b/docs/01_ko.html
index 382c787..43c7157 100644
--- a/docs/01_ko.html
+++ b/docs/01_ko.html
@@ -6,7 +6,7 @@
         <meta charset="UTF-8">
         <meta content="text/html;charset=utf-8" http-equiv="Content-Type">
         <meta content="utf-8" http-equiv="encoding">
-        <meta name="viewport" content="user-scalable=no, width=device-width, initial-scale=1, maximum-scale=1"
+        <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
         <meta name="keywords" content="Rust, Programming, Learning">
         <meta name="description" content="Rust tutorial website based on tour_of_rust">
         <meta name="theme-color" content="#ff6801"/>
diff --git a/docs/02_ko.html b/docs/02_ko.html
index 1e10a64..f1b8447 100644
--- a/docs/02_ko.html
+++ b/docs/02_ko.html
@@ -6,7 +6,7 @@
         <meta charset="UTF-8">
         <meta content="text/html;charset=utf-8" http-equiv="Content-Type">
         <meta content="utf-8" http-equiv="encoding">
-        <meta name="viewport" content="user-scalable=no, width=device-width, initial-scale=1, maximum-scale=1"
+        <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
         <meta name="keywords" content="Rust, Programming, Learning">
         <meta name="description" content="Rust tutorial website based on tour_of_rust">
         <meta name="theme-color" content="#ff6801"/>
diff --git a/docs/03_ko.html b/docs/03_ko.html
index 5c5000d..2f02083 100644
--- a/docs/03_ko.html
+++ b/docs/03_ko.html
@@ -6,7 +6,7 @@
         <meta charset="UTF-8">
         <meta content="text/html;charset=utf-8" http-equiv="Content-Type">
         <meta content="utf-8" http-equiv="encoding">
-        <meta name="viewport" content="user-scalable=no, width=device-width, initial-scale=1, maximum-scale=1"
+        <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
         <meta name="keywords" content="Rust, Programming, Learning">
         <meta name="description" content="Rust tutorial website based on tour_of_rust">
         <meta name="theme-color" content="#ff6801"/>
diff --git a/docs/04_ko.html b/docs/04_ko.html
index d5c419e..e277dd6 100644
--- a/docs/04_ko.html
+++ b/docs/04_ko.html
@@ -6,7 +6,7 @@
         <meta charset="UTF-8">
         <meta content="text/html;charset=utf-8" http-equiv="Content-Type">
         <meta content="utf-8" http-equiv="encoding">
-        <meta name="viewport" content="user-scalable=no, width=device-width, initial-scale=1, maximum-scale=1"
+        <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
         <meta name="keywords" content="Rust, Programming, Learning">
         <meta name="description" content="Rust tutorial website based on tour_of_rust">
         <meta name="theme-color" content="#ff6801"/>
diff --git a/docs/06_ko.html b/docs/06_ko.html
index fb829f9..2885a8f 100644
--- a/docs/06_ko.html
+++ b/docs/06_ko.html
@@ -6,7 +6,7 @@
         <meta charset="UTF-8">
         <meta content="text/html;charset=utf-8" http-equiv="Content-Type">
         <meta content="utf-8" http-equiv="encoding">
-        <meta name="viewport" content="user-scalable=no, width=device-width, initial-scale=1, maximum-scale=1"
+        <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
         <meta name="keywords" content="Rust, Programming, Learning">
         <meta name="description" content="Rust tutorial website based on tour_of_rust">
         <meta name="theme-color" content="#ff6801"/>
diff --git a/docs/07_ko.html b/docs/07_ko.html
index 0ae59e1..1f7f475 100644
--- a/docs/07_ko.html
+++ b/docs/07_ko.html
@@ -6,7 +6,7 @@
         <meta charset="UTF-8">
         <meta content="text/html;charset=utf-8" http-equiv="Content-Type">
         <meta content="utf-8" http-equiv="encoding">
-        <meta name="viewport" content="user-scalable=no, width=device-width, initial-scale=1, maximum-scale=1"
+        <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
         <meta name="keywords" content="Rust, Programming, Learning">
         <meta name="description" content="Rust tutorial website based on tour_of_rust">
         <meta name="theme-color" content="#ff6801"/>
diff --git a/docs/08_ko.html b/docs/08_ko.html
index bea90db..250a516 100644
--- a/docs/08_ko.html
+++ b/docs/08_ko.html
@@ -6,7 +6,7 @@
         <meta charset="UTF-8">
         <meta content="text/html;charset=utf-8" http-equiv="Content-Type">
         <meta content="utf-8" http-equiv="encoding">
-        <meta name="viewport" content="user-scalable=no, width=device-width, initial-scale=1, maximum-scale=1"
+        <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
         <meta name="keywords" content="Rust, Programming, Learning">
         <meta name="description" content="Rust tutorial website based on tour_of_rust">
         <meta name="theme-color" content="#ff6801"/>
diff --git a/docs/09_ko.html b/docs/09_ko.html
index d2f0c8d..d2d0ddc 100644
--- a/docs/09_ko.html
+++ b/docs/09_ko.html
@@ -6,7 +6,7 @@
         <meta charset="UTF-8">
         <meta content="text/html;charset=utf-8" http-equiv="Content-Type">
         <meta content="utf-8" http-equiv="encoding">
-        <meta name="viewport" content="user-scalable=no, width=device-width, initial-scale=1, maximum-scale=1"
+        <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
         <meta name="keywords" content="Rust, Programming, Learning">
         <meta name="description" content="Rust tutorial website based on tour_of_rust">
         <meta name="theme-color" content="#ff6801"/>
diff --git a/docs/10_ko.html b/docs/10_ko.html
index 22e6f90..0f402e3 100644
--- a/docs/10_ko.html
+++ b/docs/10_ko.html
@@ -6,7 +6,7 @@
         <meta charset="UTF-8">
         <meta content="text/html;charset=utf-8" http-equiv="Content-Type">
         <meta content="utf-8" http-equiv="encoding">
-        <meta name="viewport" content="user-scalable=no, width=device-width, initial-scale=1, maximum-scale=1"
+        <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
         <meta name="keywords" content="Rust, Programming, Learning">
         <meta name="description" content="Rust tutorial website based on tour_of_rust">
         <meta name="theme-color" content="#ff6801"/>
diff --git a/docs/11_ko.html b/docs/11_ko.html
index 8e7362a..b8cd4a0 100644
--- a/docs/11_ko.html
+++ b/docs/11_ko.html
@@ -6,7 +6,7 @@
         <meta charset="UTF-8">
         <meta content="text/html;charset=utf-8" http-equiv="Content-Type">
         <meta content="utf-8" http-equiv="encoding">
-        <meta name="viewport" content="user-scalable=no, width=device-width, initial-scale=1, maximum-scale=1"
+        <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
         <meta name="keywords" content="Rust, Programming, Learning">
         <meta name="description" content="Rust tutorial website based on tour_of_rust">
         <meta name="theme-color" content="#ff6801"/>
diff --git a/docs/12_ko.html b/docs/12_ko.html
index a28c74a..88ba123 100644
--- a/docs/12_ko.html
+++ b/docs/12_ko.html
@@ -6,7 +6,7 @@
         <meta charset="UTF-8">
         <meta content="text/html;charset=utf-8" http-equiv="Content-Type">
         <meta content="utf-8" http-equiv="encoding">
-        <meta name="viewport" content="user-scalable=no, width=device-width, initial-scale=1, maximum-scale=1"
+        <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
         <meta name="keywords" content="Rust, Programming, Learning">
         <meta name="description" content="Rust tutorial website based on tour_of_rust">
         <meta name="theme-color" content="#ff6801"/>
diff --git a/docs/13_ko.html b/docs/13_ko.html
index 5beebea..e948bd8 100644
--- a/docs/13_ko.html
+++ b/docs/13_ko.html
@@ -6,7 +6,7 @@
         <meta charset="UTF-8">
         <meta content="text/html;charset=utf-8" http-equiv="Content-Type">
         <meta content="utf-8" http-equiv="encoding">
-        <meta name="viewport" content="user-scalable=no, width=device-width, initial-scale=1, maximum-scale=1"
+        <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
         <meta name="keywords" content="Rust, Programming, Learning">
         <meta name="description" content="Rust tutorial website based on tour_of_rust">
         <meta name="theme-color" content="#ff6801"/>
diff --git a/docs/14_ko.html b/docs/14_ko.html
index 4fe3f5f..0345c0e 100644
--- a/docs/14_ko.html
+++ b/docs/14_ko.html
@@ -6,7 +6,7 @@
         <meta charset="UTF-8">
         <meta content="text/html;charset=utf-8" http-equiv="Content-Type">
         <meta content="utf-8" http-equiv="encoding">
-        <meta name="viewport" content="user-scalable=no, width=device-width, initial-scale=1, maximum-scale=1"
+        <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
         <meta name="keywords" content="Rust, Programming, Learning">
         <meta name="description" content="Rust tutorial website based on tour_of_rust">
         <meta name="theme-color" content="#ff6801"/>
diff --git a/docs/15_ko.html b/docs/15_ko.html
index 3d474a4..bb5b362 100644
--- a/docs/15_ko.html
+++ b/docs/15_ko.html
@@ -6,7 +6,7 @@
         <meta charset="UTF-8">
         <meta content="text/html;charset=utf-8" http-equiv="Content-Type">
         <meta content="utf-8" http-equiv="encoding">
-        <meta name="viewport" content="user-scalable=no, width=device-width, initial-scale=1, maximum-scale=1"
+        <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
         <meta name="keywords" content="Rust, Programming, Learning">
         <meta name="description" content="Rust tutorial website based on tour_of_rust">
         <meta name="theme-color" content="#ff6801"/>
diff --git a/docs/16_ko.html b/docs/16_ko.html
index 577907b..8d6c6bf 100644
--- a/docs/16_ko.html
+++ b/docs/16_ko.html
@@ -6,7 +6,7 @@
         <meta charset="UTF-8">
         <meta content="text/html;charset=utf-8" http-equiv="Content-Type">
         <meta content="utf-8" http-equiv="encoding">
-        <meta name="viewport" content="user-scalable=no, width=device-width, initial-scale=1, maximum-scale=1"
+        <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
         <meta name="keywords" content="Rust, Programming, Learning">
         <meta name="description" content="Rust tutorial website based on tour_of_rust">
         <meta name="theme-color" content="#ff6801"/>
diff --git a/docs/17_ko.html b/docs/17_ko.html
index 3c99a86..9c5f094 100644
--- a/docs/17_ko.html
+++ b/docs/17_ko.html
@@ -6,7 +6,7 @@
         <meta charset="UTF-8">
         <meta content="text/html;charset=utf-8" http-equiv="Content-Type">
         <meta content="utf-8" http-equiv="encoding">
-        <meta name="viewport" content="user-scalable=no, width=device-width, initial-scale=1, maximum-scale=1"
+        <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
         <meta name="keywords" content="Rust, Programming, Learning">
         <meta name="description" content="Rust tutorial website based on tour_of_rust">
         <meta name="theme-color" content="#ff6801"/>
diff --git a/docs/18_ko.html b/docs/18_ko.html
index f0a10dd..9329370 100644
--- a/docs/18_ko.html
+++ b/docs/18_ko.html
@@ -6,7 +6,7 @@
         <meta charset="UTF-8">
         <meta content="text/html;charset=utf-8" http-equiv="Content-Type">
         <meta content="utf-8" http-equiv="encoding">
-        <meta name="viewport" content="user-scalable=no, width=device-width, initial-scale=1, maximum-scale=1"
+        <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
         <meta name="keywords" content="Rust, Programming, Learning">
         <meta name="description" content="Rust tutorial website based on tour_of_rust">
         <meta name="theme-color" content="#ff6801"/>
diff --git a/docs/19_ko.html b/docs/19_ko.html
index e566377..62052da 100644
--- a/docs/19_ko.html
+++ b/docs/19_ko.html
@@ -6,7 +6,7 @@
         <meta charset="UTF-8">
         <meta content="text/html;charset=utf-8" http-equiv="Content-Type">
         <meta content="utf-8" http-equiv="encoding">
-        <meta name="viewport" content="user-scalable=no, width=device-width, initial-scale=1, maximum-scale=1"
+        <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
         <meta name="keywords" content="Rust, Programming, Learning">
         <meta name="description" content="Rust tutorial website based on tour_of_rust">
         <meta name="theme-color" content="#ff6801"/>
diff --git a/docs/21_ko.html b/docs/21_ko.html
index 356a9b1..b358728 100644
--- a/docs/21_ko.html
+++ b/docs/21_ko.html
@@ -6,7 +6,7 @@
         <meta charset="UTF-8">
         <meta content="text/html;charset=utf-8" http-equiv="Content-Type">
         <meta content="utf-8" http-equiv="encoding">
-        <meta name="viewport" content="user-scalable=no, width=device-width, initial-scale=1, maximum-scale=1"
+        <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
         <meta name="keywords" content="Rust, Programming, Learning">
         <meta name="description" content="Rust tutorial website based on tour_of_rust">
         <meta name="theme-color" content="#ff6801"/>
diff --git a/docs/22_ko.html b/docs/22_ko.html
index e6a76b6..d32f8d1 100644
--- a/docs/22_ko.html
+++ b/docs/22_ko.html
@@ -6,7 +6,7 @@
         <meta charset="UTF-8">
         <meta content="text/html;charset=utf-8" http-equiv="Content-Type">
         <meta content="utf-8" http-equiv="encoding">
-        <meta name="viewport" content="user-scalable=no, width=device-width, initial-scale=1, maximum-scale=1"
+        <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
         <meta name="keywords" content="Rust, Programming, Learning">
         <meta name="description" content="Rust tutorial website based on tour_of_rust">
         <meta name="theme-color" content="#ff6801"/>
diff --git a/docs/23_ko.html b/docs/23_ko.html
index a873b44..ecfc167 100644
--- a/docs/23_ko.html
+++ b/docs/23_ko.html
@@ -6,7 +6,7 @@
         <meta charset="UTF-8">
         <meta content="text/html;charset=utf-8" http-equiv="Content-Type">
         <meta content="utf-8" http-equiv="encoding">
-        <meta name="viewport" content="user-scalable=no, width=device-width, initial-scale=1, maximum-scale=1"
+        <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
         <meta name="keywords" content="Rust, Programming, Learning">
         <meta name="description" content="Rust tutorial website based on tour_of_rust">
         <meta name="theme-color" content="#ff6801"/>
diff --git a/docs/24_ko.html b/docs/24_ko.html
index d53a269..0faada8 100644
--- a/docs/24_ko.html
+++ b/docs/24_ko.html
@@ -6,7 +6,7 @@
         <meta charset="UTF-8">
         <meta content="text/html;charset=utf-8" http-equiv="Content-Type">
         <meta content="utf-8" http-equiv="encoding">
-        <meta name="viewport" content="user-scalable=no, width=device-width, initial-scale=1, maximum-scale=1"
+        <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
         <meta name="keywords" content="Rust, Programming, Learning">
         <meta name="description" content="Rust tutorial website based on tour_of_rust">
         <meta name="theme-color" content="#ff6801"/>
diff --git a/docs/25_ko.html b/docs/25_ko.html
index 0717b8e..9544215 100644
--- a/docs/25_ko.html
+++ b/docs/25_ko.html
@@ -6,7 +6,7 @@
         <meta charset="UTF-8">
         <meta content="text/html;charset=utf-8" http-equiv="Content-Type">
         <meta content="utf-8" http-equiv="encoding">
-        <meta name="viewport" content="user-scalable=no, width=device-width, initial-scale=1, maximum-scale=1"
+        <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
         <meta name="keywords" content="Rust, Programming, Learning">
         <meta name="description" content="Rust tutorial website based on tour_of_rust">
         <meta name="theme-color" content="#ff6801"/>
diff --git a/docs/26_ko.html b/docs/26_ko.html
index 7c6cbef..4f4a453 100644
--- a/docs/26_ko.html
+++ b/docs/26_ko.html
@@ -6,7 +6,7 @@
         <meta charset="UTF-8">
         <meta content="text/html;charset=utf-8" http-equiv="Content-Type">
         <meta content="utf-8" http-equiv="encoding">
-        <meta name="viewport" content="user-scalable=no, width=device-width, initial-scale=1, maximum-scale=1"
+        <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
         <meta name="keywords" content="Rust, Programming, Learning">
         <meta name="description" content="Rust tutorial website based on tour_of_rust">
         <meta name="theme-color" content="#ff6801"/>
diff --git a/docs/28_ko.html b/docs/28_ko.html
index 64a27c8..74a5a44 100644
--- a/docs/28_ko.html
+++ b/docs/28_ko.html
@@ -6,7 +6,7 @@
         <meta charset="UTF-8">
         <meta content="text/html;charset=utf-8" http-equiv="Content-Type">
         <meta content="utf-8" http-equiv="encoding">
-        <meta name="viewport" content="user-scalable=no, width=device-width, initial-scale=1, maximum-scale=1"
+        <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
         <meta name="keywords" content="Rust, Programming, Learning">
         <meta name="description" content="Rust tutorial website based on tour_of_rust">
         <meta name="theme-color" content="#ff6801"/>
diff --git a/docs/30_ko.html b/docs/30_ko.html
index 0e875ce..3f8dd1d 100644
--- a/docs/30_ko.html
+++ b/docs/30_ko.html
@@ -6,7 +6,7 @@
         <meta charset="UTF-8">
         <meta content="text/html;charset=utf-8" http-equiv="Content-Type">
         <meta content="utf-8" http-equiv="encoding">
-        <meta name="viewport" content="user-scalable=no, width=device-width, initial-scale=1, maximum-scale=1"
+        <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
         <meta name="keywords" content="Rust, Programming, Learning">
         <meta name="description" content="Rust tutorial website based on tour_of_rust">
         <meta name="theme-color" content="#ff6801"/>
diff --git a/docs/32_ko.html b/docs/32_ko.html
index 3dbc0b4..11d0604 100644
--- a/docs/32_ko.html
+++ b/docs/32_ko.html
@@ -6,7 +6,7 @@
         <meta charset="UTF-8">
         <meta content="text/html;charset=utf-8" http-equiv="Content-Type">
         <meta content="utf-8" http-equiv="encoding">
-        <meta name="viewport" content="user-scalable=no, width=device-width, initial-scale=1, maximum-scale=1"
+        <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
         <meta name="keywords" content="Rust, Programming, Learning">
         <meta name="description" content="Rust tutorial website based on tour_of_rust">
         <meta name="theme-color" content="#ff6801"/>
diff --git a/docs/34_ko.html b/docs/34_ko.html
index b3edb7e..b8294ad 100644
--- a/docs/34_ko.html
+++ b/docs/34_ko.html
@@ -6,7 +6,7 @@
         <meta charset="UTF-8">
         <meta content="text/html;charset=utf-8" http-equiv="Content-Type">
         <meta content="utf-8" http-equiv="encoding">
-        <meta name="viewport" content="user-scalable=no, width=device-width, initial-scale=1, maximum-scale=1"
+        <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
         <meta name="keywords" content="Rust, Programming, Learning">
         <meta name="description" content="Rust tutorial website based on tour_of_rust">
         <meta name="theme-color" content="#ff6801"/>
diff --git a/docs/TOC_ko.html b/docs/TOC_ko.html
index 5eaf3c1..989b270 100644
--- a/docs/TOC_ko.html
+++ b/docs/TOC_ko.html
@@ -6,7 +6,7 @@
         <meta charset="UTF-8">
         <meta content="text/html;charset=utf-8" http-equiv="Content-Type">
         <meta content="utf-8" http-equiv="encoding">
-        <meta name="viewport" content="user-scalable=no, width=device-width, initial-scale=1, maximum-scale=1"
+        <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
         <meta name="keywords" content="Rust, Programming, Learning">
         <meta name="description" content="Rust tutorial website based on tour_of_rust">
         <meta name="theme-color" content="#ff6801"/>
diff --git a/docs/chapter_1_ko.html b/docs/chapter_1_ko.html
index dd002df..958ab60 100644
--- a/docs/chapter_1_ko.html
+++ b/docs/chapter_1_ko.html
@@ -6,7 +6,7 @@
         <meta charset="UTF-8">
         <meta content="text/html;charset=utf-8" http-equiv="Content-Type">
         <meta content="utf-8" http-equiv="encoding">
-        <meta name="viewport" content="user-scalable=no, width=device-width, initial-scale=1, maximum-scale=1"
+        <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
         <meta name="keywords" content="Rust, Programming, Learning">
         <meta name="description" content="Rust tutorial website based on tour_of_rust">
         <meta name="theme-color" content="#ff6801"/>
diff --git a/docs/chapter_2_ko.html b/docs/chapter_2_ko.html
index 7cdd23f..207ca9b 100644
--- a/docs/chapter_2_ko.html
+++ b/docs/chapter_2_ko.html
@@ -6,7 +6,7 @@
         <meta charset="UTF-8">
         <meta content="text/html;charset=utf-8" http-equiv="Content-Type">
         <meta content="utf-8" http-equiv="encoding">
-        <meta name="viewport" content="user-scalable=no, width=device-width, initial-scale=1, maximum-scale=1"
+        <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
         <meta name="keywords" content="Rust, Programming, Learning">
         <meta name="description" content="Rust tutorial website based on tour_of_rust">
         <meta name="theme-color" content="#ff6801"/>
diff --git a/docs/chapter_3_ko.html b/docs/chapter_3_ko.html
index a6a8444..9276b4d 100644
--- a/docs/chapter_3_ko.html
+++ b/docs/chapter_3_ko.html
@@ -6,7 +6,7 @@
         <meta charset="UTF-8">
         <meta content="text/html;charset=utf-8" http-equiv="Content-Type">
         <meta content="utf-8" http-equiv="encoding">
-        <meta name="viewport" content="user-scalable=no, width=device-width, initial-scale=1, maximum-scale=1"
+        <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
         <meta name="keywords" content="Rust, Programming, Learning">
         <meta name="description" content="Rust tutorial website based on tour_of_rust">
         <meta name="theme-color" content="#ff6801"/>
diff --git a/docs/chapter_4_ko.html b/docs/chapter_4_ko.html
index 8cda647..1356b80 100644
--- a/docs/chapter_4_ko.html
+++ b/docs/chapter_4_ko.html
@@ -6,7 +6,7 @@
         <meta charset="UTF-8">
         <meta content="text/html;charset=utf-8" http-equiv="Content-Type">
         <meta content="utf-8" http-equiv="encoding">
-        <meta name="viewport" content="user-scalable=no, width=device-width, initial-scale=1, maximum-scale=1"
+        <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
         <meta name="keywords" content="Rust, Programming, Learning">
         <meta name="description" content="Rust tutorial website based on tour_of_rust">
         <meta name="theme-color" content="#ff6801"/>
diff --git a/docs/chapter_5_ko.html b/docs/chapter_5_ko.html
index d90356b..6a5ee51 100644
--- a/docs/chapter_5_ko.html
+++ b/docs/chapter_5_ko.html
@@ -6,7 +6,7 @@
         <meta charset="UTF-8">
         <meta content="text/html;charset=utf-8" http-equiv="Content-Type">
         <meta content="utf-8" http-equiv="encoding">
-        <meta name="viewport" content="user-scalable=no, width=device-width, initial-scale=1, maximum-scale=1"
+        <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
         <meta name="keywords" content="Rust, Programming, Learning">
         <meta name="description" content="Rust tutorial website based on tour_of_rust">
         <meta name="theme-color" content="#ff6801"/>
diff --git a/docs/chapter_6_ko.html b/docs/chapter_6_ko.html
index abf54ed..d66dff0 100644
--- a/docs/chapter_6_ko.html
+++ b/docs/chapter_6_ko.html
@@ -6,7 +6,7 @@
         <meta charset="UTF-8">
         <meta content="text/html;charset=utf-8" http-equiv="Content-Type">
         <meta content="utf-8" http-equiv="encoding">
-        <meta name="viewport" content="user-scalable=no, width=device-width, initial-scale=1, maximum-scale=1"
+        <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
         <meta name="keywords" content="Rust, Programming, Learning">
         <meta name="description" content="Rust tutorial website based on tour_of_rust">
         <meta name="theme-color" content="#ff6801"/>
diff --git a/docs/index.html b/docs/index.html
index afc2baa..11f34f6 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -6,7 +6,7 @@
         <meta charset="UTF-8">
         <meta content="text/html;charset=utf-8" http-equiv="Content-Type">
         <meta content="utf-8" http-equiv="encoding">
-        <meta name="viewport" content="user-scalable=no, width=device-width, initial-scale=1, maximum-scale=1"
+        <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
         <meta name="keywords" content="Rust, Programming, Learning">
         <meta name="description" content="Rust tutorial website based on tour_of_rust">
         <meta name="theme-color" content="#ff6801"/>
diff --git a/docs/tour.css b/docs/tour.css
index 07b322d..764e165 100644
--- a/docs/tour.css
+++ b/docs/tour.css
@@ -1,5 +1,4 @@
-@import url("https://fonts.googleapis.com/css?family=Noto+Sans+KR&display=swap");
-@import url("https://fonts.googleapis.com/css?family=Fira+Code&display=swap");
+@import url("https://fonts.googleapis.com/css?family=Noto+Sans+KR|Fira+Code&display=swap");
 
 a {
   color: #1e90ff;
diff --git a/docs/tour.js b/docs/tour.js
index 8ac6809..f1245ee 100644
--- a/docs/tour.js
+++ b/docs/tour.js
@@ -63,20 +63,22 @@ document.addEventListener("touchstart", handleTouchStart, false);
 document.addEventListener("touchmove", handleTouchMove, false);
 setupKeys();
 
-const iframeElement = document.querySelector("iframe");
-if (iframeElement) {
-  setupKeys();
-  iframeElement.addEventListener("load", () => {
-    setTimeout(() => {
-      document.querySelector("a").focus();
-      setupKeys();
-    }, 100);
-    setTimeout(() => {
-      document.querySelector("a").focus();
+document.addEventListener("DOMContentLoaded", function () {
+  const iframeElement = document.querySelector("iframe");
+  if (iframeElement) {
+    setupKeys();
+    iframeElement.addEventListener("load", () => {
+      setTimeout(() => {
+        document.querySelector("a").focus();
+        setupKeys();
+      }, 100);
+      setTimeout(() => {
+        document.querySelector("a").focus();
+        setupKeys();
+      }, 1000);
       setupKeys();
-    }, 1000);
+    });
+  } else {
     setupKeys();
-  });
-} else {
-  setupKeys();
-}
+  }
+});
diff --git a/frontend/generate.js b/frontend/generate.js
index 223fe4c..ee0d417 100644
--- a/frontend/generate.js
+++ b/frontend/generate.js
@@ -5,71 +5,33 @@ const yaml = require("js-yaml");
 const lessonSource = process.argv[2];
 const targetDir = process.argv[3];
 
-showdown.extension("rust", function () {
-  return [
-    {
-      type: "lang",
-      regex: /%rust%([^]+?)%end%/gi,
-      replace: function (s, match) {
-        return '<pre><code class="rust">' + match.trim() + "</code></pre>";
-      },
-    },
-  ];
-});
+const rustExtension = {
+  type: "lang",
+  regex: /%rust%([^]+?)%end%/gi,
+  replace: (s, match) => `<pre><code class="rust">${match.trim()}</code></pre>`,
+};
 
-showdown.extension("centerImage", function () {
-  return [
-    {
-      type: "lang",
-      regex: /%center\s*-\s*([^\s%]+)(?:\s*,\s*([^%\n]+))?\s*%/gi,
-      replace: function (s, src, subtitle) {
-        var html =
-          '<div align="center">' +
-          '<p><img src="' +
-          src +
-          '" alt="NO IMG" style="width: 20%; margin-bottom: 20px; border-radius: 10px;"></p>';
-        if (subtitle) {
-          html += "<h3>" + subtitle.trim() + "</h3>";
-        }
-        html += "</div>";
-        return html;
-      },
-    },
-  ];
-});
+const centerImageExtension = {
+  type: "lang",
+  regex: /%center\s*-\s*([^\s%]+)(?:\s*,\s*([^%\n]+))?\s*%/gi,
+  replace: (s, src, subtitle) => {
+    const baseHtml = `<div align="center"><p><img src="${src}" alt="NO IMG" style="width: 20%; margin-bottom: 20px; border-radius: 10px;"></p>`;
+    return subtitle
+      ? baseHtml + `<h3>${subtitle.trim()}</h3></div>`
+      : baseHtml + "</div>";
+  },
+};
 
-/**
- * @param {number} num
- * @returns {string}
- */
-function pad(num) {
-  const s = `${num}`;
-  return s.padStart(2, "0");
-}
+const pad = num => String(num).padStart(2, "0");
+const getWord = (words, lang, w) => words[lang][w] || words.ko[w];
 
-/**
- * @param {string} lang
- * @param {number} i
- * @param {boolean} isBeta currently unused
- * @param {string} chapter
- * @returns {string}
- */
-function getFileName(lang, i, isBeta, chapter) {
-  if (i === 0 && lang === "ko") {
-    return "index.html";
-  }
-  // let fileName = `${pad(i)}_${lang}.html`;
-  let fileName = `${pad(i)}_${lang}.html`;
-  if (chapter !== undefined && chapter !== null) {
-    fileName = `chapter_${chapter}_${lang}.html`;
-  }
-  return fileName;
-}
+const getFileName = (lang, i, chapter) =>
+  i === 0 && lang === "ko"
+    ? "index.html"
+    : chapter
+    ? `chapter_${chapter}_${lang}.html`
+    : `${pad(i)}_${lang}.html`;
 
-/**
- * @param {string} source
- * @returns {string[]}
- */
 const getDirectories = source =>
   fs
     .readdirSync(source, { withFileTypes: true })
@@ -87,35 +49,31 @@ const commonWords = {};
 const chapters = [];
 
 languages.forEach(lang => {
-  //   const lang = languages[x];
   const langDir = `${lessonSource}/${lang}`;
   commonWords[lang] = getYaml(`${langDir}/common_words.yaml`);
-  const languageFiles = fs
-    .readdirSync(langDir, { withFileTypes: true })
-    .filter(f => f.isFile() && f.name.indexOf("chapter_") === 0)
-    .map(f => f.name);
-  languageFiles.forEach(l => {
-    const chap = parseInt(l.substring(8, l.indexOf(".")), 10);
-    if (chapters[chap] === undefined) {
-      chapters[chap] = {};
-    }
-    chapters[chap][lang] = getYaml(`${langDir}/${l}`);
-  });
+
+  fs.readdirSync(langDir, { withFileTypes: true })
+    .filter(f => f.isFile() && f.name.startsWith("chapter_"))
+    .forEach(f => {
+      const chap = parseInt(f.name.substring(8, f.name.indexOf(".")), 10);
+      chapters[chap] = chapters[chap] || {};
+      chapters[chap][lang] = getYaml(`${langDir}/${f.name}`);
+    });
 });
 
 const pages = [];
 
 chapters.forEach((c, x) => {
-  for (let i = 0; i < c.ko.length; i += 1) {
+  c.ko.forEach((_, i) => {
     const page = {};
     if (i === 0 && x !== 0) {
       page.chapter = x;
     }
-    Object.keys(c).forEach(lang => {
-      page[lang] = c[lang][i];
+    Object.entries(c).forEach(([lang, content]) => {
+      page[lang] = content[i];
     });
     pages.push(page);
-  }
+  });
 });
 
 const lessons = {
@@ -132,25 +90,11 @@ const aBinder = [
 ];
 
 const converter = new showdown.Converter({
-  extensions: [...aBinder, "rust", "centerImage"],
+  extensions: [...aBinder, rustExtension, centerImageExtension],
 });
-
 converter.setOption("parseImgDimensions", true);
 converter.setOption("simpleLineBreaks", true);
 
-/**
- * @param {string[]} words
- * @param {string} lang
- * @param {string} w
- * @returns {string}
- */
-function getWord(words, lang, w) {
-  if (words[lang][w]) {
-    return words[lang][w];
-  }
-  return words.ko[w];
-}
-
 /**
  *
  * @param {string[]} words
@@ -165,7 +109,7 @@ const getHead = (words, lang) => `<!DOCTYPE html>
         <meta charset="UTF-8">
         <meta content="text/html;charset=utf-8" http-equiv="Content-Type">
         <meta content="utf-8" http-equiv="encoding">
-        <meta name="viewport" content="user-scalable=no, width=device-width, initial-scale=1, maximum-scale=1"
+        <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
         <meta name="keywords" content="Rust, Programming, Learning">
         <meta name="description" content="Rust tutorial website based on tour_of_rust">
         <meta name="theme-color" content="#ff6801"/>
@@ -196,7 +140,6 @@ const getHead = (words, lang) => `<!DOCTYPE html>
  * @param {number} index
  * @param {boolean} isLast
  * @param {string[]} words
- * @param {boolean} isBeta
  * @returns
  */
 function template(
@@ -208,8 +151,7 @@ function template(
   source,
   index,
   isLast,
-  words,
-  isBeta
+  words
 ) {
   return `${getHead(words, lang)}
     <body>
@@ -218,7 +160,6 @@ function template(
                 <span class="title"><a href="${getFileName(
                   lang,
                   0,
-                  isBeta,
                   lessonsData[0]?.chapter
                 )}">${getWord(words, lang, "tor")}</a></span>
                 <span class="nav">
@@ -234,12 +175,9 @@ function template(
             <div class="bottomnav">
                 ${
                   index !== 0
-                    ? `<span class="back"><a href="${
-                        isBeta ? "beta_" : ""
-                      }${getFileName(
+                    ? `<span class="back"><a href="${getFileName(
                         lang,
                         index - 1,
-                        isBeta,
                         lessonsData[index - 1]?.chapter
                       )}" rel="prev">❮ ${getWord(
                         words,
@@ -251,12 +189,9 @@ function template(
                 ${
                   isLast
                     ? ""
-                    : `<span class="next"><a href="${
-                        isBeta ? "beta_" : ""
-                      }${getFileName(
+                    : `<span class="next"><a href="${getFileName(
                         lang,
                         index + 1,
-                        isBeta,
                         lessonsData[index + 1]?.chapter
                       )}" rel="next">${getWord(
                         words,
@@ -314,7 +249,7 @@ languages.forEach(lang => {
   });
 
   langLessons.forEach((lesson, i) => {
-    let fileName = getFileName(lang, i, false, lesson?.chapter);
+    let fileName = getFileName(lang, i, lesson?.chapter);
     if (i === 0 && lang === "ko") {
       fileName = "index.html";
     }
@@ -388,7 +323,7 @@ languages.forEach(lang => {
             if (x[lang] && x[lang].clone) {
               targetLang = x[lang].clone;
             }
-            let s = `<li><a href="${getFileName(lang, i, false, x.chapter)}">${
+            let s = `<li><a href="${getFileName(lang, i, x.chapter)}">${
               x[targetLang]
                 ? x[targetLang].title
                 : `[${getWord(words, targetLang, "untranslated")}] ${
@@ -396,12 +331,7 @@ languages.forEach(lang => {
                   }`
             }</a></li>`;
             if (x.chapter !== undefined) {
-              s = `</ul><h3><a href="${getFileName(
-                lang,
-                i,
-                false,
-                x.chapter
-              )}">${
+              s = `</ul><h3><a href="${getFileName(lang, i, x.chapter)}">${
                 x[targetLang]
                   ? x[targetLang].title
                   : `[${getWord(words, targetLang, "untranslated")}] ${
-- 
GitLab