FishEye: Tag 7ddb6045c9206cf4e29c1980e18e332dd85edf52 refers to a dead (removed) revision in file `vue/dist/103.49024261.js'.
FishEye: No comparison available.  Pass `N' to diff?
FishEye: Tag 7ddb6045c9206cf4e29c1980e18e332dd85edf52 refers to a dead (removed) revision in file `vue/dist/187.765f063a.js'.
FishEye: No comparison available.  Pass `N' to diff?
FishEye: Tag 7ddb6045c9206cf4e29c1980e18e332dd85edf52 refers to a dead (removed) revision in file `vue/dist/243.3fe293b3.js'.
FishEye: No comparison available.  Pass `N' to diff?
FishEye: Tag 7ddb6045c9206cf4e29c1980e18e332dd85edf52 refers to a dead (removed) revision in file `vue/dist/32.10f09e2b.js'.
FishEye: No comparison available.  Pass `N' to diff?
FishEye: Tag 7ddb6045c9206cf4e29c1980e18e332dd85edf52 refers to a dead (removed) revision in file `vue/dist/425.5de039de.js'.
FishEye: No comparison available.  Pass `N' to diff?
FishEye: Tag 7ddb6045c9206cf4e29c1980e18e332dd85edf52 refers to a dead (removed) revision in file `vue/dist/434.98757d28.js'.
FishEye: No comparison available.  Pass `N' to diff?
FishEye: Tag 7ddb6045c9206cf4e29c1980e18e332dd85edf52 refers to a dead (removed) revision in file `vue/dist/452.b98cabc4.js'.
FishEye: No comparison available.  Pass `N' to diff?
FishEye: Tag 7ddb6045c9206cf4e29c1980e18e332dd85edf52 refers to a dead (removed) revision in file `vue/dist/473.ad156629.js'.
FishEye: No comparison available.  Pass `N' to diff?
FishEye: Tag 7ddb6045c9206cf4e29c1980e18e332dd85edf52 refers to a dead (removed) revision in file `vue/dist/505.b25e5508.js'.
FishEye: No comparison available.  Pass `N' to diff?
FishEye: Tag 7ddb6045c9206cf4e29c1980e18e332dd85edf52 refers to a dead (removed) revision in file `vue/dist/520.25933175.js'.
FishEye: No comparison available.  Pass `N' to diff?
FishEye: Tag a79f3a17c8c604d0ba09d330c4af0b630224a18c refers to a dead (removed) revision in file `vue/dist/520.dcd6bfc0.js'.
FishEye: No comparison available.  Pass `N' to diff?
FishEye: Tag 7ddb6045c9206cf4e29c1980e18e332dd85edf52 refers to a dead (removed) revision in file `vue/dist/545.8c493236.js'.
FishEye: No comparison available.  Pass `N' to diff?
FishEye: Tag 7ddb6045c9206cf4e29c1980e18e332dd85edf52 refers to a dead (removed) revision in file `vue/dist/546.f4e809df.js'.
FishEye: No comparison available.  Pass `N' to diff?
FishEye: Tag 7ddb6045c9206cf4e29c1980e18e332dd85edf52 refers to a dead (removed) revision in file `vue/dist/629.2949011a.js'.
FishEye: No comparison available.  Pass `N' to diff?
FishEye: Tag d2133460ec003f42375d401a6329c35714b65209 refers to a dead (removed) revision in file `vue/dist/814.15eedfde.js'.
FishEye: No comparison available.  Pass `N' to diff?
FishEye: Tag d2133460ec003f42375d401a6329c35714b65209 refers to a dead (removed) revision in file `vue/dist/837.800159a0.js'.
FishEye: No comparison available.  Pass `N' to diff?
FishEye: Tag 7ddb6045c9206cf4e29c1980e18e332dd85edf52 refers to a dead (removed) revision in file `vue/dist/937.25418052.js'.
FishEye: No comparison available.  Pass `N' to diff?
FishEye: Tag d2133460ec003f42375d401a6329c35714b65209 refers to a dead (removed) revision in file `vue/dist/943.870f9ae9.js'.
FishEye: No comparison available.  Pass `N' to diff?
FishEye: Tag a79f3a17c8c604d0ba09d330c4af0b630224a18c refers to a dead (removed) revision in file `vue/dist/943.e3db1180.js'.
FishEye: No comparison available.  Pass `N' to diff?
FishEye: Tag 7ddb6045c9206cf4e29c1980e18e332dd85edf52 refers to a dead (removed) revision in file `vue/dist/assets/css/AlmSupport-vue.d65d0a8b.css'.
FishEye: No comparison available.  Pass `N' to diff?
FishEye: Tag 7ddb6045c9206cf4e29c1980e18e332dd85edf52 refers to a dead (removed) revision in file `vue/dist/assets/css/ComuContributor-vue.43f5c0cc.css'.
FishEye: No comparison available.  Pass `N' to diff?
FishEye: Tag a79f3a17c8c604d0ba09d330c4af0b630224a18c refers to a dead (removed) revision in file `vue/dist/assets/css/DevOpsView-vue.377a08dd.css'.
FishEye: No comparison available.  Pass `N' to diff?
FishEye: Tag 7ddb6045c9206cf4e29c1980e18e332dd85edf52 refers to a dead (removed) revision in file `vue/dist/assets/css/DevOpsView-vue.84d61fb4.css'.
FishEye: No comparison available.  Pass `N' to diff?
FishEye: Tag 7ddb6045c9206cf4e29c1980e18e332dd85edf52 refers to a dead (removed) revision in file `vue/dist/assets/css/DevToolsSupport-vue.7cf848da.css'.
FishEye: No comparison available.  Pass `N' to diff?
FishEye: Tag 7ddb6045c9206cf4e29c1980e18e332dd85edf52 refers to a dead (removed) revision in file `vue/dist/assets/css/HomeView-vue.7da1228c.css'.
FishEye: No comparison available.  Pass `N' to diff?
FishEye: Tag a79f3a17c8c604d0ba09d330c4af0b630224a18c refers to a dead (removed) revision in file `vue/dist/assets/css/HomeView-vue.81f05b60.css'.
FishEye: No comparison available.  Pass `N' to diff?
FishEye: Tag 7ddb6045c9206cf4e29c1980e18e332dd85edf52 refers to a dead (removed) revision in file `vue/dist/assets/css/JSTFDownload-vue.63fb718a.css'.
FishEye: No comparison available.  Pass `N' to diff?
FishEye: Tag 7ddb6045c9206cf4e29c1980e18e332dd85edf52 refers to a dead (removed) revision in file `vue/dist/assets/css/JSTFFaq-vue.1ca6a945.css'.
FishEye: No comparison available.  Pass `N' to diff?
FishEye: Tag 7ddb6045c9206cf4e29c1980e18e332dd85edf52 refers to a dead (removed) revision in file `vue/dist/assets/css/JSTFGoal-vue.be706474.css'.
FishEye: No comparison available.  Pass `N' to diff?
FishEye: Tag 7ddb6045c9206cf4e29c1980e18e332dd85edf52 refers to a dead (removed) revision in file `vue/dist/assets/css/JSTFIntroduction-vue.43523b37.css'.
FishEye: No comparison available.  Pass `N' to diff?
FishEye: Tag 7ddb6045c9206cf4e29c1980e18e332dd85edf52 refers to a dead (removed) revision in file `vue/dist/assets/css/JSTFLicense-vue.75566634.css'.
FishEye: No comparison available.  Pass `N' to diff?
FishEye: Tag 7ddb6045c9206cf4e29c1980e18e332dd85edf52 refers to a dead (removed) revision in file `vue/dist/assets/css/JSTFSdv-vue.ca3f18eb.css'.
FishEye: No comparison available.  Pass `N' to diff?
FishEye: Tag 7ddb6045c9206cf4e29c1980e18e332dd85edf52 refers to a dead (removed) revision in file `vue/dist/assets/css/JSTFShv-vue.3cd40612.css'.
FishEye: No comparison available.  Pass `N' to diff?
FishEye: Tag 7ddb6045c9206cf4e29c1980e18e332dd85edf52 refers to a dead (removed) revision in file `vue/dist/assets/css/JSTFSiv-vue.ca3f18eb.css'.
FishEye: No comparison available.  Pass `N' to diff?
FishEye: Tag 7ddb6045c9206cf4e29c1980e18e332dd85edf52 refers to a dead (removed) revision in file `vue/dist/assets/css/JSTFTiv-vue.ca3f18eb.css'.
FishEye: No comparison available.  Pass `N' to diff?
FishEye: Tag 7ddb6045c9206cf4e29c1980e18e332dd85edf52 refers to a dead (removed) revision in file `vue/dist/assets/css/JSTFUsage-vue.9d9ff02e.css'.
FishEye: No comparison available.  Pass `N' to diff?
FishEye: Tag 7ddb6045c9206cf4e29c1980e18e332dd85edf52 refers to a dead (removed) revision in file `vue/dist/assets/css/WelcomeDevops-vue.19dcc435.css'.
FishEye: No comparison available.  Pass `N' to diff?
FishEye: Tag 7ddb6045c9206cf4e29c1980e18e332dd85edf52 refers to a dead (removed) revision in file `vue/dist/assets/css/WhatJSTF-vue.db7ef2f0.css'.
FishEye: No comparison available.  Pass `N' to diff?
Index: vue/dist/assets/img/cms.bab28422.jpg
===================================================================
diff -u -r7ddb6045c9206cf4e29c1980e18e332dd85edf52 -ra79f3a17c8c604d0ba09d330c4af0b630224a18c
Binary files differ
Index: vue/dist/assets/img/jjs.5e2a435b.jpg
===================================================================
diff -u -r7ddb6045c9206cf4e29c1980e18e332dd85edf52 -ra79f3a17c8c604d0ba09d330c4af0b630224a18c
Binary files differ
Index: vue/dist/assets/img/jkh.71866fdd.jpg
===================================================================
diff -u -r7ddb6045c9206cf4e29c1980e18e332dd85edf52 -ra79f3a17c8c604d0ba09d330c4af0b630224a18c
Binary files differ
Index: vue/dist/assets/img/jkw.5645be8c.jpg
===================================================================
diff -u -r7ddb6045c9206cf4e29c1980e18e332dd85edf52 -ra79f3a17c8c604d0ba09d330c4af0b630224a18c
Binary files differ
Index: vue/dist/assets/img/jsr.d4604d75.jpg
===================================================================
diff -u -r7ddb6045c9206cf4e29c1980e18e332dd85edf52 -ra79f3a17c8c604d0ba09d330c4af0b630224a18c
Binary files differ
Index: vue/dist/assets/img/jsy.424e6693.jpeg
===================================================================
diff -u -r7ddb6045c9206cf4e29c1980e18e332dd85edf52 -ra79f3a17c8c604d0ba09d330c4af0b630224a18c
Binary files differ
Index: vue/dist/assets/img/jwg.10676d6e.jpg
===================================================================
diff -u -r7ddb6045c9206cf4e29c1980e18e332dd85edf52 -ra79f3a17c8c604d0ba09d330c4af0b630224a18c
Binary files differ
Index: vue/dist/assets/img/kbw1.4002e6f4.png
===================================================================
diff -u -r7ddb6045c9206cf4e29c1980e18e332dd85edf52 -ra79f3a17c8c604d0ba09d330c4af0b630224a18c
Binary files differ
Index: vue/dist/assets/img/kkj.c6e97bcd.jpg
===================================================================
diff -u -r7ddb6045c9206cf4e29c1980e18e332dd85edf52 -ra79f3a17c8c604d0ba09d330c4af0b630224a18c
Binary files differ
Index: vue/dist/assets/img/ldm.164ba48d.jpg
===================================================================
diff -u -r7ddb6045c9206cf4e29c1980e18e332dd85edf52 -ra79f3a17c8c604d0ba09d330c4af0b630224a18c
Binary files differ
Index: vue/dist/assets/img/lhj.66f4d345.jpg
===================================================================
diff -u -r7ddb6045c9206cf4e29c1980e18e332dd85edf52 -ra79f3a17c8c604d0ba09d330c4af0b630224a18c
Binary files differ
Index: vue/dist/assets/img/okw1.15e5c1a2.jpg
===================================================================
diff -u -r7ddb6045c9206cf4e29c1980e18e332dd85edf52 -ra79f3a17c8c604d0ba09d330c4af0b630224a18c
Binary files differ
Index: vue/dist/assets/img/rkh1.cf6d31a7.jpg
===================================================================
diff -u -r7ddb6045c9206cf4e29c1980e18e332dd85edf52 -ra79f3a17c8c604d0ba09d330c4af0b630224a18c
Binary files differ
Index: vue/dist/assets/img/son.6d41a2b9.jpg
===================================================================
diff -u -r7ddb6045c9206cf4e29c1980e18e332dd85edf52 -ra79f3a17c8c604d0ba09d330c4af0b630224a18c
Binary files differ
Index: vue/dist/assets/img/yjw.a08d1274.jpg
===================================================================
diff -u -r7ddb6045c9206cf4e29c1980e18e332dd85edf52 -ra79f3a17c8c604d0ba09d330c4af0b630224a18c
Binary files differ
FishEye: Tag a79f3a17c8c604d0ba09d330c4af0b630224a18c refers to a dead (removed) revision in file `vue/dist/assets/js/app.573400c7.js'.
FishEye: No comparison available.  Pass `N' to diff?
FishEye: Tag 7ddb6045c9206cf4e29c1980e18e332dd85edf52 refers to a dead (removed) revision in file `vue/dist/assets/js/app.a9c084e0.js'.
FishEye: No comparison available.  Pass `N' to diff?
Index: vue/dist/index.html
===================================================================
diff -u -r6474f06e06d307f7b4e63d58e5df4b4d36369f88 -ra79f3a17c8c604d0ba09d330c4af0b630224a18c
--- vue/dist/index.html	(.../index.html)	(revision 6474f06e06d307f7b4e63d58e5df4b4d36369f88)
+++ vue/dist/index.html	(.../index.html)	(revision a79f3a17c8c604d0ba09d330c4af0b630224a18c)
@@ -1 +1 @@
-<!doctype html><html lang=""><head><title>Java Service Tree Framework - DevOps Portal - 313 DEV GRP</title><meta charset="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no"/><meta http-equiv="Expire" content="-1"/><meta http-equiv="Keywords" content="Java Service Tree Framework, DevOps Portal"/><meta http-equiv="Reply-to" content="313@313.co.kr"/><meta http-equiv="Content-Language" content="Korean"/><meta http-equiv="Last-Modified" content="Thu 01 Nov 2016 23:59:59"/><meta http-equiv="Organization" content="www.313.co.kr"/><meta http-equiv="Content-Type" content="text/html;charset=utf-8"/><meta http-equiv="Cache-Control" content="no-cache"/><meta http-equiv="Pragma" content="no-cache"/><meta http-equiv="imagetoolbar" content="no"/><meta http-equiv="content-Script-type" content="text/javascript"/><meta http-equiv="content-Style-type" content="text/css"/><meta name="robots" content="ALL, INDEX, FOLLOW"/><meta name="Subject" content="313 DEV GRP DevOps Portal"/><meta name="Filename" content="index.html"/><meta name="Author-Date" content="31 Oct 16"/><meta name="Date" content="31 Oct 16"/><meta name="Author" content="313 DEV GRP"/><meta name="Other Agent" content="LeeDongMin"/><meta name="Email" content="313@313.co.kr"/><meta name="Reply-To" content="313@313.co.kr"/><meta name="Project" content="313 DEV GRP DevOps Portal"/><meta name="Status" content="Draft"/><meta name="Location" content="South Korea"/><meta name="/distribution" content="313 DEV GRP"/><meta name="Description" content="Standard Web Project"/><meta name="verify-v1" content="Eal6+fiCjgKAZb5A6pRvSLmsh9NLF2AsqxqJrLuFoAs="/><meta name="Revision" content="1.0"/><meta name="Generator" content="eclipse 3.6.1"/><meta name="Classification" content="Development,Deployment"/><meta name="Copyright" content="CopyRight @ 313 DEV GRP. All Rights Reserved"/><meta name="title" content="313 DEV GRP DevOps Portal"/><meta name="revisit-after" content="7 days"/><meta name="siteinfo" content="http://www.313.co.kr/robots.txt"/><meta name="HandheldFriendly" content="True"/><meta name="MobileOptimized" content="320"/><meta property="og:type" content="website"/><meta property="og:title" content="313 DEV GRP DevOps Portal"/><meta property="og:url" content="http://www.313.co.kr/"/><meta property="og:site_name" content="313 DEV GRP DevOps Portal"/><link rel="icon" href="/313devgrp/vue/dist/favicon.ico"/><title>vue</title><script defer="defer" src="/313devgrp/vue/dist/assets/js/chunk-vendors.833d084a.js"></script><script defer="defer" src="/313devgrp/vue/dist/assets/js/app.573400c7.js"></script><link href="/313devgrp/vue/dist/assets/css/chunk-vendors.723663e1.css" rel="stylesheet"><link href="/313devgrp/vue/dist/assets/css/app.330554bb.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but vue doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div></body></html>
\ No newline at end of file
+<!doctype html><html lang=""><head><title>Java Service Tree Framework - DevOps Portal - 313 DEV GRP</title><meta charset="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no"/><meta http-equiv="Expire" content="-1"/><meta http-equiv="Keywords" content="Java Service Tree Framework, DevOps Portal"/><meta http-equiv="Reply-to" content="313@313.co.kr"/><meta http-equiv="Content-Language" content="Korean"/><meta http-equiv="Last-Modified" content="Thu 01 Nov 2016 23:59:59"/><meta http-equiv="Organization" content="www.313.co.kr"/><meta http-equiv="Content-Type" content="text/html;charset=utf-8"/><meta http-equiv="Cache-Control" content="no-cache"/><meta http-equiv="Pragma" content="no-cache"/><meta http-equiv="imagetoolbar" content="no"/><meta http-equiv="content-Script-type" content="text/javascript"/><meta http-equiv="content-Style-type" content="text/css"/><meta name="robots" content="ALL, INDEX, FOLLOW"/><meta name="Subject" content="313 DEV GRP DevOps Portal"/><meta name="Filename" content="index.html"/><meta name="Author-Date" content="31 Oct 16"/><meta name="Date" content="31 Oct 16"/><meta name="Author" content="313 DEV GRP"/><meta name="Other Agent" content="LeeDongMin"/><meta name="Email" content="313@313.co.kr"/><meta name="Reply-To" content="313@313.co.kr"/><meta name="Project" content="313 DEV GRP DevOps Portal"/><meta name="Status" content="Draft"/><meta name="Location" content="South Korea"/><meta name="/distribution" content="313 DEV GRP"/><meta name="Description" content="Standard Web Project"/><meta name="verify-v1" content="Eal6+fiCjgKAZb5A6pRvSLmsh9NLF2AsqxqJrLuFoAs="/><meta name="Revision" content="1.0"/><meta name="Generator" content="eclipse 3.6.1"/><meta name="Classification" content="Development,Deployment"/><meta name="Copyright" content="CopyRight @ 313 DEV GRP. All Rights Reserved"/><meta name="title" content="313 DEV GRP DevOps Portal"/><meta name="revisit-after" content="7 days"/><meta name="siteinfo" content="http://www.313.co.kr/robots.txt"/><meta name="HandheldFriendly" content="True"/><meta name="MobileOptimized" content="320"/><meta property="og:type" content="website"/><meta property="og:title" content="313 DEV GRP DevOps Portal"/><meta property="og:url" content="http://www.313.co.kr/"/><meta property="og:site_name" content="313 DEV GRP DevOps Portal"/><link rel="icon" href="/313devgrp/vue/dist/favicon.ico"/><title>vue</title><script defer="defer" src="/313devgrp/vue/dist/assets/js/chunk-vendors.833d084a.js"></script><script defer="defer" src="/313devgrp/vue/dist/assets/js/app.a9c084e0.js"></script><link href="/313devgrp/vue/dist/assets/css/chunk-vendors.723663e1.css" rel="stylesheet"><link href="/313devgrp/vue/dist/assets/css/app.330554bb.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but vue doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div></body></html>
\ No newline at end of file
Index: vue/package.json
===================================================================
diff -u -r5d33cacdc5e645098238d92731e5715bc439e2a8 -ra79f3a17c8c604d0ba09d330c4af0b630224a18c
--- vue/package.json	(.../package.json)	(revision 5d33cacdc5e645098238d92731e5715bc439e2a8)
+++ vue/package.json	(.../package.json)	(revision a79f3a17c8c604d0ba09d330c4af0b630224a18c)
@@ -27,6 +27,7 @@
     "swiper": "^8.3.2",
     "vue": "^3.2.13",
     "vue-jstree": "^2.1.6",
+    "vue-plugin-load-script": "^2.1.1",
     "vue-router": "^4.0.3",
     "vuejs-tree": "^3.0.2",
     "vuex": "^4.0.0"
Index: vue/public/index.html
===================================================================
diff -u -r1cc6c607fc537d365794db05952bbb7c52893067 -ra79f3a17c8c604d0ba09d330c4af0b630224a18c
--- vue/public/index.html	(.../index.html)	(revision 1cc6c607fc537d365794db05952bbb7c52893067)
+++ vue/public/index.html	(.../index.html)	(revision a79f3a17c8c604d0ba09d330c4af0b630224a18c)
@@ -1,78 +1,69 @@
 <!DOCTYPE html>
 <html lang="">
-	<head>
-		<title>Java Service Tree Framework - DevOps Portal - 313 DEV GRP</title>
+  <head>
+    <title>Java Service Tree Framework - DevOps Portal - 313 DEV GRP</title>
 
-		<meta charset="utf-8" />
-		<meta http-equiv="X-UA-Compatible" content="IE=edge" />
-		<!-- Tell the browser to be responsive to screen width -->
-		<meta
-			name="viewport"
-			content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"
-		/>
+    <meta charset="utf-8" />
+    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
+    <!-- Tell the browser to be responsive to screen width -->
+    <meta
+      name="viewport"
+      content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"
+    />
 
-		<meta http-equiv="Expire" content="-1" />
-		<meta
-			http-equiv="Keywords"
-			content="Java Service Tree Framework, DevOps Portal"
-		/>
-		<meta http-equiv="Reply-to" content="313@313.co.kr" />
-		<meta http-equiv="Content-Language" content="Korean" />
-		<meta http-equiv="Last-Modified" content="Thu 01 Nov 2016 23:59:59" />
-		<meta http-equiv="Organization" content="www.313.co.kr" />
-		<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
-		<meta http-equiv="Cache-Control" content="no-cache" />
-		<meta http-equiv="Pragma" content="no-cache" />
-		<meta http-equiv="imagetoolbar" content="no" />
-		<meta http-equiv="content-Script-type" content="text/javascript" />
-		<meta http-equiv="content-Style-type" content="text/css" />
+    <meta http-equiv="Expire" content="-1" />
+    <meta http-equiv="Keywords" content="Java Service Tree Framework, DevOps Portal" />
+    <meta http-equiv="Reply-to" content="313@313.co.kr" />
+    <meta http-equiv="Content-Language" content="Korean" />
+    <meta http-equiv="Last-Modified" content="Thu 01 Nov 2016 23:59:59" />
+    <meta http-equiv="Organization" content="www.313.co.kr" />
+    <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
+    <meta http-equiv="Cache-Control" content="no-cache" />
+    <meta http-equiv="Pragma" content="no-cache" />
+    <meta http-equiv="imagetoolbar" content="no" />
+    <meta http-equiv="content-Script-type" content="text/javascript" />
+    <meta http-equiv="content-Style-type" content="text/css" />
 
-		<meta name="robots" content="ALL, INDEX, FOLLOW" />
-		<meta name="Subject" content="313 DEV GRP DevOps Portal" />
-		<meta name="Filename" content="index.html" />
-		<meta name="Author-Date" content="31 Oct 16" />
-		<meta name="Date" content="31 Oct 16" />
-		<meta name="Author" content="313 DEV GRP" />
-		<meta name="Other Agent" content="LeeDongMin" />
-		<meta name="Email" content="313@313.co.kr" />
-		<meta name="Reply-To" content="313@313.co.kr" />
-		<meta name="Project" content="313 DEV GRP DevOps Portal" />
-		<meta name="Status" content="Draft" />
-		<meta name="Location" content="South Korea" />
-		<meta name="/distribution" content="313 DEV GRP" />
-		<meta name="Description" content="Standard Web Project" />
-		<meta
-			name="verify-v1"
-			content="Eal6+fiCjgKAZb5A6pRvSLmsh9NLF2AsqxqJrLuFoAs="
-		/>
-		<meta name="Revision" content="1.0" />
-		<meta name="Generator" content="eclipse 3.6.1" />
-		<meta name="Classification" content="Development,Deployment" />
-		<meta
-			name="Copyright"
-			content="CopyRight @ 313 DEV GRP. All Rights Reserved"
-		/>
-		<meta name="title" content="313 DEV GRP DevOps Portal" />
-		<meta name="revisit-after" content="7 days" />
-		<meta name="siteinfo" content="http://www.313.co.kr/robots.txt" />
-		<meta name="HandheldFriendly" content="True" />
-		<meta name="MobileOptimized" content="320" />
+    <meta name="robots" content="ALL, INDEX, FOLLOW" />
+    <meta name="Subject" content="313 DEV GRP DevOps Portal" />
+    <meta name="Filename" content="index.html" />
+    <meta name="Author-Date" content="31 Oct 16" />
+    <meta name="Date" content="31 Oct 16" />
+    <meta name="Author" content="313 DEV GRP" />
+    <meta name="Other Agent" content="LeeDongMin" />
+    <meta name="Email" content="313@313.co.kr" />
+    <meta name="Reply-To" content="313@313.co.kr" />
+    <meta name="Project" content="313 DEV GRP DevOps Portal" />
+    <meta name="Status" content="Draft" />
+    <meta name="Location" content="South Korea" />
+    <meta name="/distribution" content="313 DEV GRP" />
+    <meta name="Description" content="Standard Web Project" />
+    <meta name="verify-v1" content="Eal6+fiCjgKAZb5A6pRvSLmsh9NLF2AsqxqJrLuFoAs=" />
+    <meta name="Revision" content="1.0" />
+    <meta name="Generator" content="eclipse 3.6.1" />
+    <meta name="Classification" content="Development,Deployment" />
+    <meta name="Copyright" content="CopyRight @ 313 DEV GRP. All Rights Reserved" />
+    <meta name="title" content="313 DEV GRP DevOps Portal" />
+    <meta name="revisit-after" content="7 days" />
+    <meta name="siteinfo" content="http://www.313.co.kr/robots.txt" />
+    <meta name="HandheldFriendly" content="True" />
+    <meta name="MobileOptimized" content="320" />
 
-		<meta property="og:type" content="website" />
-		<meta property="og:title" content="313 DEV GRP DevOps Portal" />
-		<meta property="og:url" content="http://www.313.co.kr/" />
-		<meta property="og:site_name" content="313 DEV GRP DevOps Portal" />
-		<link rel="icon" href="<%= BASE_URL %>favicon.ico" />
-		<title><%= htmlWebpackPlugin.options.title %></title>
-	</head>
-	<body>
-		<noscript>
-			<strong
-				>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work
-				properly without JavaScript enabled. Please enable it to continue.</strong
-			>
-		</noscript>
-		<div id="app"></div>
-		<!-- built files will be auto injected -->
-	</body>
+    <meta property="og:type" content="website" />
+    <meta property="og:title" content="313 DEV GRP DevOps Portal" />
+    <meta property="og:url" content="http://www.313.co.kr/" />
+    <meta property="og:site_name" content="313 DEV GRP DevOps Portal" />
+    <link rel="icon" href="<%= BASE_URL %>favicon.ico" />
+    <title><%= htmlWebpackPlugin.options.title %></title>
+  </head>
+  <body>
+    <noscript>
+      <strong
+        >We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly
+        without JavaScript enabled. Please enable it to continue.</strong
+      >
+    </noscript>
+    <div id="app"></div>
+    <!-- built files will be auto injected -->
+  </body>
 </html>
Index: vue/src/assets/images/devops/contributor/cms.jpg
===================================================================
diff -u -r7ddb6045c9206cf4e29c1980e18e332dd85edf52 -ra79f3a17c8c604d0ba09d330c4af0b630224a18c
Binary files differ
Index: vue/src/assets/images/devops/contributor/jjs.jpg
===================================================================
diff -u -r7ddb6045c9206cf4e29c1980e18e332dd85edf52 -ra79f3a17c8c604d0ba09d330c4af0b630224a18c
Binary files differ
Index: vue/src/assets/images/devops/contributor/jkh.jpg
===================================================================
diff -u -r7ddb6045c9206cf4e29c1980e18e332dd85edf52 -ra79f3a17c8c604d0ba09d330c4af0b630224a18c
Binary files differ
Index: vue/src/assets/images/devops/contributor/jkw.jpg
===================================================================
diff -u -r7ddb6045c9206cf4e29c1980e18e332dd85edf52 -ra79f3a17c8c604d0ba09d330c4af0b630224a18c
Binary files differ
Index: vue/src/assets/images/devops/contributor/jsr.jpg
===================================================================
diff -u -r7ddb6045c9206cf4e29c1980e18e332dd85edf52 -ra79f3a17c8c604d0ba09d330c4af0b630224a18c
Binary files differ
Index: vue/src/assets/images/devops/contributor/jsy.jpeg
===================================================================
diff -u -r7ddb6045c9206cf4e29c1980e18e332dd85edf52 -ra79f3a17c8c604d0ba09d330c4af0b630224a18c
Binary files differ
Index: vue/src/assets/images/devops/contributor/jwg.jpg
===================================================================
diff -u -r7ddb6045c9206cf4e29c1980e18e332dd85edf52 -ra79f3a17c8c604d0ba09d330c4af0b630224a18c
Binary files differ
Index: vue/src/assets/images/devops/contributor/kbw1.png
===================================================================
diff -u -r7ddb6045c9206cf4e29c1980e18e332dd85edf52 -ra79f3a17c8c604d0ba09d330c4af0b630224a18c
Binary files differ
Index: vue/src/assets/images/devops/contributor/kimdaegun.jpg
===================================================================
diff -u -r7ddb6045c9206cf4e29c1980e18e332dd85edf52 -ra79f3a17c8c604d0ba09d330c4af0b630224a18c
Binary files differ
Index: vue/src/assets/images/devops/contributor/kkj.jpg
===================================================================
diff -u -r7ddb6045c9206cf4e29c1980e18e332dd85edf52 -ra79f3a17c8c604d0ba09d330c4af0b630224a18c
Binary files differ
Index: vue/src/assets/images/devops/contributor/ldm.jpg
===================================================================
diff -u -r7ddb6045c9206cf4e29c1980e18e332dd85edf52 -ra79f3a17c8c604d0ba09d330c4af0b630224a18c
Binary files differ
Index: vue/src/assets/images/devops/contributor/lhj.jpg
===================================================================
diff -u -r7ddb6045c9206cf4e29c1980e18e332dd85edf52 -ra79f3a17c8c604d0ba09d330c4af0b630224a18c
Binary files differ
Index: vue/src/assets/images/devops/contributor/okw1.jpg
===================================================================
diff -u -r7ddb6045c9206cf4e29c1980e18e332dd85edf52 -ra79f3a17c8c604d0ba09d330c4af0b630224a18c
Binary files differ
Index: vue/src/assets/images/devops/contributor/rkh1.jpg
===================================================================
diff -u -r7ddb6045c9206cf4e29c1980e18e332dd85edf52 -ra79f3a17c8c604d0ba09d330c4af0b630224a18c
Binary files differ
Index: vue/src/assets/images/devops/contributor/son.jpg
===================================================================
diff -u -r7ddb6045c9206cf4e29c1980e18e332dd85edf52 -ra79f3a17c8c604d0ba09d330c4af0b630224a18c
Binary files differ
Index: vue/src/assets/images/devops/contributor/yjw.jpg
===================================================================
diff -u -r7ddb6045c9206cf4e29c1980e18e332dd85edf52 -ra79f3a17c8c604d0ba09d330c4af0b630224a18c
Binary files differ
FishEye: Tag 7ddb6045c9206cf4e29c1980e18e332dd85edf52 refers to a dead (removed) revision in file `vue/src/assets/jquery-3.3.1.min.js'.
FishEye: No comparison available.  Pass `N' to diff?
FishEye: Tag 7ddb6045c9206cf4e29c1980e18e332dd85edf52 refers to a dead (removed) revision in file `vue/src/assets/jstree.min.js'.
FishEye: No comparison available.  Pass `N' to diff?
Index: vue/src/components/DevOps/common/MobileNav.vue
===================================================================
diff -u -r77aa9bce312f92dd147a9a852a158f4e58ac6ce6 -ra79f3a17c8c604d0ba09d330c4af0b630224a18c
--- vue/src/components/DevOps/common/MobileNav.vue	(.../MobileNav.vue)	(revision 77aa9bce312f92dd147a9a852a158f4e58ac6ce6)
+++ vue/src/components/DevOps/common/MobileNav.vue	(.../MobileNav.vue)	(revision a79f3a17c8c604d0ba09d330c4af0b630224a18c)
@@ -1,127 +1,48 @@
 <template>
   <nav class="mobile-sidebar">
     <ul class="mobile-sidebar-menu">
-      <li class="mobile-category mobile-menu-list">
+      <li class="mobile-category" v-for="(list, idx) in menuList" :key="idx">
         <router-link
-          to="/DevOps/welcome"
+          :to="`/DevOps/Home/${list.title.replace(/(\s*)/g, '')}`"
+          :class="{ 'mobile-menu-list': list.title == 'Welcome' }"
           class="mobile-side-menu-title mobile-treeview-menu-title"
-          data-index="0"
+          v-if="list.title == 'Welcome'"
         >
-          <span>Welcome</span>
+          <span>{{ list.title }}</span>
         </router-link>
-      </li>
-
-      <li class="mobile-category">
-        <div class="mobile-side-menu-title mobile-treeview-menu-title" data-index="1">
-          <span>Dev Support</span>
-        </div>
-        <ul
-          class="mobile-treeview-menu"
-          id="mobile-treeview-menu-dev-support"
-          data-index="1"
+        <router-link
+          :to="`/DevOps/${list.title.replace(/(\s*)/g, '')}`"
+          :class="{ 'mobile-menu-list': list.title == 'Welcome' }"
+          class="mobile-side-menu-title mobile-treeview-menu-title"
+          v-if="list.title !== 'Welcome'"
         >
-          <li class="mobile-detail-menu mobile-menu-list">
-            <router-link to="/DevOps/ALM" class="mobile-side-menu-title">
-              ALM
+          <span>{{ list.title }}</span>
+        </router-link>
+        <ul class="mobile-treeview-menu" id="mobile-treeview-menu-dev-support">
+          <li
+            class="mobile-detail-menu mobile-menu-list"
+            v-for="(sublist, subidx) in list.children"
+            :key="subidx"
+          >
+            <router-link
+              :to="`/DevOps/${list.title.replace(/(\s*)/g, '')}/${sublist
+                .replace(/(\s*)/g, '')
+                .replace('?', '')}`"
+              class="mobile-side-menu-title"
+            >
+              {{ sublist }}
             </router-link>
           </li>
-          <li class="mobile-detail-menu mobile-menu-list">
-            <router-link to="/DevOps/DevTools" class="mobile-side-menu-title">
-              Dev Tools
-            </router-link>
-          </li>
         </ul>
       </li>
-
-      <li class="mobile-category">
-        <div class="mobile-side-menu-title mobile-treeview-menu-title" data-index="2">
-          <span>About JSTF</span>
-        </div>
-        <ul
-          class="mobile-treeview-menu"
-          id="mobile-treeview-menu-about-jstf"
-          data-index="2"
-        >
-          <li class="mobile-detail-menu mobile-menu-list">
-            <router-link to="/DevOps/WhatisJSTF" class="mobile-side-menu-title">
-              What is JSTF ?
-            </router-link>
-          </li>
-          <li class="mobile-detail-menu mobile-menu-list">
-            <router-link to="/DevOps/JSTFIntroduction" class="mobile-side-menu-title">
-              JSTF Introduction
-            </router-link>
-          </li>
-          <li class="mobile-detail-menu mobile-menu-list">
-            <router-link to="/DevOps/JSTFGoals" class="mobile-side-menu-title">
-              JSTF Goals
-            </router-link>
-          </li>
-          <li class="mobile-detail-menu mobile-menu-list">
-            <router-link to="/DevOps/JSTFUsage" class="mobile-side-menu-title">
-              JSTF Usage
-            </router-link>
-          </li>
-          <li class="mobile-detail-menu mobile-menu-list">
-            <router-link to="/DevOps/JSTFDemoSHV" class="mobile-side-menu-title">
-              JSTF Demo SHV
-            </router-link>
-          </li>
-          <li class="mobile-detail-menu mobile-menu-list">
-            <router-link to="/DevOps/JSTFDemoSIV" class="mobile-side-menu-title">
-              JSTF Demo SIV
-            </router-link>
-          </li>
-          <li class="mobile-detail-menu mobile-menu-list">
-            <router-link to="/DevOps/JSTFDemoSDV" class="mobile-side-menu-title">
-              JSTF Demo SDV
-            </router-link>
-          </li>
-          <li class="mobile-detail-menu mobile-menu-list">
-            <router-link to="/DevOps/JSTFDemoTIV" class="mobile-side-menu-title">
-              JSTF Demo TIV
-            </router-link>
-          </li>
-          <li class="mobile-detail-menu mobile-menu-list">
-            <router-link to="/DevOps/JSTFFAQ" class="mobile-side-menu-title">
-              JSTF FAQ
-            </router-link>
-          </li>
-          <li class="mobile-detail-menu mobile-menu-list">
-            <router-link to="/DevOps/JSTFLicense" class="mobile-side-menu-title">
-              JSTF License
-            </router-link>
-          </li>
-          <li class="mobile-detail-menu mobile-menu-list">
-            <router-link to="/DevOps/JSTFDownload" class="mobile-side-menu-title">
-              JSTF Download
-            </router-link>
-          </li>
-        </ul>
-      </li>
-
-      <li class="mobile-category">
-        <div class="mobile-side-menu-title mobile-treeview-menu-title" data-index="3">
-          <span>Community</span>
-        </div>
-        <ul
-          class="mobile-treeview-menu"
-          id="mobile-treeview-menu-community"
-          data-index="3"
-        >
-          <li class="mobile-detail-menu mobile-menu-list">
-            <router-link to="/DevOps/Contributors" class="mobile-side-menu-title">
-              Contributors
-            </router-link>
-          </li>
-        </ul>
-      </li>
     </ul>
   </nav>
 </template>
 <script setup>
-import { onMounted, defineEmits } from '@vue/runtime-core';
+import { onMounted, defineEmits, computed } from '@vue/runtime-core';
+import { useStore } from '@/store';
 const emit = defineEmits(['openMobileMenu']);
+const store = useStore();
 onMounted(() => {
   const link = document.querySelectorAll('.mobile-menu-list');
   link.forEach(list => {
@@ -130,6 +51,9 @@
     });
   });
 });
+const menuList = computed(() => {
+  return store.state.navMenuList;
+});
 </script>
 
 <style lang="scss" scoped>
@@ -141,8 +65,6 @@
   left: 0;
   background: rgba(0, 0, 0, 0.8);
   z-index: 100;
-  /*transition: 0.5s all;
-  transform: translateX(100%);*/
   overflow: scroll;
   &::-webkit-scrollbar {
     display: none;
@@ -161,8 +83,8 @@
     padding: 6rem 0 0 15%;
     li {
       font-size: 1.5rem;
-      .mobile-treeview-menu-title {
-        margin-bottom: 20px;
+      .mobile-treeview-menu {
+        margin-top: 20px;
       }
       &.mobile-category {
         margin-bottom: 2rem;
Index: vue/src/components/DevOps/common/NavBar.vue
===================================================================
diff -u -rc36d6a1edaefb3b4c0919906e90941504b46242c -ra79f3a17c8c604d0ba09d330c4af0b630224a18c
--- vue/src/components/DevOps/common/NavBar.vue	(.../NavBar.vue)	(revision c36d6a1edaefb3b4c0919906e90941504b46242c)
+++ vue/src/components/DevOps/common/NavBar.vue	(.../NavBar.vue)	(revision a79f3a17c8c604d0ba09d330c4af0b630224a18c)
@@ -1,213 +1,105 @@
 <template>
   <nav class="sidebar">
-    <ul class="sidebar-menu">
-      <li class="category">
-        <router-link
-          to="/DevOps/welcome"
-          class="side-menu-title page-list treeview-menu-title"
-          @click="openMenu"
-          data-index="0"
-        >
-          <i class="bi bi-house-door-fill"></i>
-          <span>Welcome</span>
-        </router-link>
-      </li>
-
-      <li class="category">
-        <div
-          class="side-menu-title treeview-menu-title"
-          @click="openMenu"
-          data-bs-toggle="collapse"
-          data-bs-target="#treeview-menu-dev-support"
-          data-index="1"
-        >
-          <i class="bi bi-motherboard-fill"></i>
-          <span>Dev Support</span>
-          <span class="pull-right-container">
+    <ul class="accordion" id="side-nav-bar">
+      <li
+        class="accordion-item"
+        v-for="(list, idx) in navList"
+        :key="idx"
+        ref="detailList"
+        :data-title="list.title.replace(/(\s*)/g, '')"
+      >
+        <div class="accordion-header" :id="`heading${idx}`">
+          <router-link
+            to="/DevOps/Home/Welcome"
+            v-if="list.title == 'Welcome'"
+            ref="firstmenu"
+          >
+            <i :class="list.icon"></i>
+            <span
+              class="accordion-button"
+              data-bs-toggle="collapse"
+              :data-bs-target="`#collapse${idx}`"
+            >
+              {{ list.title }}
+            </span>
+          </router-link>
+          <router-link
+            :to="`/DevOps/${list.title.replace(/(\s*)/g, '')}`"
+            v-if="list.title !== 'Welcome'"
+            class="accordion-button"
+            data-bs-toggle="collapse"
+            :data-bs-target="`#collapse${idx}`"
+          >
+            <i :class="list.icon"></i>
+            <span>
+              {{ list.title }}
+            </span>
             <i class="bi bi-chevron-left arrow"></i>
-          </span>
-        </div>
-        <ul class="treeview-menu collapse" id="treeview-menu-dev-support" data-index="1">
-          <li class="detail-menu">
-            <router-link to="/DevOps/ALM" class="side-menu-title page-list">
-              ALM
-            </router-link>
-          </li>
-          <li class="detail-menu">
-            <router-link to="/DevOps/DevTools" class="side-menu-title page-list">
-              Dev Tools
-            </router-link>
-          </li>
-        </ul>
-      </li>
+          </router-link>
 
-      <li class="category">
-        <div
-          class="side-menu-title treeview-menu-title"
-          @click="openMenu"
-          data-bs-toggle="collapse"
-          data-bs-target="#treeview-menu-about-jstf"
-          data-index="2"
-        >
-          <i class="bi bi-mortarboard-fill"></i>
-          <span>About JSTF</span>
-          <span class="pull-right-container">
-            <i class="bi bi-chevron-left arrow"></i>
-          </span>
+          <ul
+            :id="`collapse${idx}`"
+            class="accordion-collapse collapse"
+            data-bs-parent="#side-nav-bar"
+          >
+            <li
+              class="accordion-body"
+              v-for="(sublist, subIdx) in list.children"
+              :key="subIdx"
+            >
+              <router-link
+                :to="`/DevOps/${list.title.replace(/(\s*)/g, '')}/${sublist
+                  .replace(/(\s*)/g, '')
+                  .replace('?', '')}`"
+              >
+                {{ sublist }}
+              </router-link>
+            </li>
+          </ul>
         </div>
-        <ul class="treeview-menu collapse" id="treeview-menu-about-jstf" data-index="2">
-          <li class="detail-menu">
-            <router-link to="/DevOps/WhatisJSTF" class="side-menu-title page-list">
-              What is JSTF ?
-            </router-link>
-          </li>
-          <li class="detail-menu">
-            <router-link to="/DevOps/JSTFIntroduction" class="side-menu-title page-list">
-              JSTF Introduction
-            </router-link>
-          </li>
-          <li class="detail-menu">
-            <router-link to="/DevOps/JSTFGoals" class="side-menu-title page-list">
-              JSTF Goals
-            </router-link>
-          </li>
-          <li class="detail-menu">
-            <router-link to="/DevOps/JSTFUsage" class="side-menu-title page-list">
-              JSTF Usage
-            </router-link>
-          </li>
-          <li class="detail-menu">
-            <router-link to="/DevOps/JSTFDemoSHV" class="side-menu-title page-list">
-              JSTF Demo SHV
-            </router-link>
-          </li>
-          <li class="detail-menu">
-            <router-link to="/DevOps/JSTFDemoSIV" class="side-menu-title page-list">
-              JSTF Demo SIV
-            </router-link>
-          </li>
-          <li class="detail-menu">
-            <router-link to="/DevOps/JSTFDemoSDV" class="side-menu-title page-list">
-              JSTF Demo SDV
-            </router-link>
-          </li>
-          <li class="detail-menu">
-            <router-link to="/DevOps/JSTFDemoTIV" class="side-menu-title page-list">
-              JSTF Demo TIV
-            </router-link>
-          </li>
-          <li class="detail-menu">
-            <router-link to="/DevOps/JSTFFAQ" class="side-menu-title page-list">
-              JSTF FAQ
-            </router-link>
-          </li>
-          <li class="detail-menu">
-            <router-link to="/DevOps/JSTFLicense" class="side-menu-title page-list">
-              JSTF License
-            </router-link>
-          </li>
-          <li class="detail-menu">
-            <router-link to="/DevOps/JSTFDownload" class="side-menu-title page-list">
-              JSTF Download
-            </router-link>
-          </li>
-        </ul>
       </li>
-
-      <li class="category">
-        <div
-          class="side-menu-title treeview-menu-title"
-          @click="openMenu"
-          data-bs-toggle="collapse"
-          data-bs-target="#treeview-menu-community"
-          data-index="3"
-        >
-          <i class="bi bi-people-fill"></i> <span>Community</span>
-          <span class="pull-right-container">
-            <i class="bi bi-chevron-left arrow"></i>
-          </span>
-        </div>
-        <ul class="treeview-menu collapse" id="treeview-menu-community" data-index="3">
-          <li class="detail-menu">
-            <router-link to="/DevOps/Contributors" class="side-menu-title page-list">
-              Contributors
-            </router-link>
-          </li>
-        </ul>
-      </li>
     </ul>
   </nav>
 </template>
 
-<script scoped>
+<script>
 export default {
-  name: 'NavBar',
-  methods: {
-    openMenu(e) {
-      e.currentTarget.classList.toggle('active');
-      this.clickedMenuIndex = e.currentTarget.dataset.index;
+  computed: {
+    navList() {
+      return this.$store.state.navMenuList;
     },
   },
-  data() {
-    return {
-      clickedMenuIndex: 0,
-      activeCategory: 0,
-    };
-  },
-  mounted() {
-    const selectedMenu =
-      document.querySelector('.router-link-active').parentNode.parentNode;
-    const pageList = document.querySelectorAll('.page-list');
-    const treeviewMenu = document.querySelectorAll('.treeview-menu-title');
-    const mobileMenu = document.querySelectorAll('.mobile-menu-list');
 
-    //현재 페이지 메뉴 활성화
-    if (selectedMenu.classList[0] === 'treeview-menu') {
-      selectedMenu.classList.add('show');
-      selectedMenu.previousSibling.classList.add('active');
-      this.clickedMenuIndex = selectedMenu.previousSibling.dataset.index;
-      addActiveColor(Number(this.clickedMenuIndex));
-    }
-
-    treeviewMenu.forEach(menu => {
-      menu.addEventListener('click', () =>
-        toggleOpenSideMenu(Number(this.clickedMenuIndex)),
-      );
-    });
-
-    pageList.forEach((list, idx) => {
-      if (list.classList.contains('router-link-active')) {
-        this.activeCategory = list.parentNode.parentNode.dataset.index;
+  mounted() {
+    const detailList = this.$refs.detailList;
+    detailList.forEach((list, idx) => {
+      const path = this.$route.path.split('/');
+      const title = list.dataset.title;
+      const titleEl = list.children[0].children[0];
+      const subMenuEl = list.children[0].children[1];
+      if (path.includes(title)) {
+        titleEl.classList.add('router-link-exact-active');
+        titleEl.classList.remove('collapsed');
+        subMenuEl.classList.add('show');
+        titleEl.setAttribute('aria-expanded', 'true');
       }
-      const activeClickedPCMenu = () => {
-        self.activeCategory = list.parentNode.parentNode.dataset.index;
-        addActiveColor(Number(self.activeCategory));
-      };
+      if (idx === 0) {
+        list.addEventListener('click', clickMenuRemoveActive);
+      } else {
+        subMenuEl.childNodes.forEach(node => {
+          node.addEventListener('click', clickMenuRemoveActive);
+        });
+      }
 
-      list.addEventListener('click', () => activeClickedPCMenu());
+      function clickMenuRemoveActive() {
+        const newList = [...detailList];
+        newList.splice(detailList.indexOf(list), 1);
+        newList.forEach(newlist =>
+          newlist.children[0].children[0].classList.remove('router-link-exact-active'),
+        );
+        titleEl.classList.add('router-link-exact-active');
+      }
     });
-
-    //메뉴 오픈시 다른 메뉴들은 닫기
-    function toggleOpenSideMenu(index) {
-      const newList = [...treeviewMenu];
-      newList.splice(index, 1);
-      newList.forEach(list => {
-        list.classList.remove('active');
-        if (list.nextSibling) {
-          list.nextSibling.classList.remove('show');
-        }
-      });
-    }
-    //active 된 메뉴 color 추가
-    function addActiveColor(activeIndex) {
-      treeviewMenu.forEach((menu, idx) => {
-        if (activeIndex === idx) {
-          menu.style.color = 'lightblue';
-        } else {
-          menu.style.color = 'white';
-        }
-      });
-    }
   },
 };
 </script>
@@ -220,62 +112,46 @@
   width: 190px;
   padding: 10px 0;
   font-weight: 300;
-  ul {
-    li {
-      a.router-link-exact-active {
-        color: lightblue !important;
-      }
-    }
-    > li {
-      width: 190px;
+  .accordion {
+    .accordion-item {
       font-size: 13px;
       color: #fff;
       cursor: pointer;
-      font-weight: 300;
-
-      .side-menu-title {
-        position: relative;
-        width: 100%;
-        height: 100%;
-        display: block;
-        border-radius: 6px;
-        font-weight: 500;
-
-        &:hover,
-        &:focus {
-          background: rgba(0, 0, 0, 0.07);
-        }
-        &.active {
+      font-weight: 500;
+      .accordion-header {
+        a {
+          padding: 10px 20px;
+          display: inline-block;
+          width: 100%;
+          position: relative;
+          transition: rotate 0.5s;
+          transform: rotate(0deg);
+          &[aria-expanded='true'] {
+            .arrow {
+              transition: all 0.5s;
+              transform: rotate(-90deg);
+            }
+          }
+          .bi:nth-child(1) {
+            margin-right: 10px;
+          }
           .arrow {
-            transform: rotate(-90deg);
-            transform-origin: center center;
+            position: absolute;
+            right: 0;
           }
+
+          &.router-link-exact-active {
+            color: lightblue !important;
+          }
         }
-        .arrow {
-          transform: rotate(0deg);
-          transition: 0.5s transform;
-        }
       }
-      &.category {
-        > .side-menu-title {
-          padding: 10px 20px;
+      .accordion-collapse {
+        .accordion-body {
+          a {
+            padding: 4px 20px 4px 50px;
+          }
         }
       }
-      &.detail-menu {
-        > .side-menu-title {
-          padding: 4px 20px;
-          padding-left: 50px;
-        }
-      }
-
-      .bi {
-        margin-right: 10px;
-      }
-      .bi-chevron-left {
-        position: absolute;
-        right: 0;
-        top: 12px;
-      }
     }
   }
 }
Index: vue/src/components/DevOps/contents/AlmSupport.vue
===================================================================
diff -u -r77aa9bce312f92dd147a9a852a158f4e58ac6ce6 -ra79f3a17c8c604d0ba09d330c4af0b630224a18c
--- vue/src/components/DevOps/contents/AlmSupport.vue	(.../AlmSupport.vue)	(revision 77aa9bce312f92dd147a9a852a158f4e58ac6ce6)
+++ vue/src/components/DevOps/contents/AlmSupport.vue	(.../AlmSupport.vue)	(revision a79f3a17c8c604d0ba09d330c4af0b630224a18c)
@@ -297,6 +297,7 @@
           font-size: 13px;
           color: #fff;
           font-weight: 300;
+          align-self: center;
         }
       }
       .timeline-body {
@@ -319,10 +320,16 @@
   }
 }
 
-@media (min-width: 375px) and (max-width: 991px) {
+@media (min-width: 280px) and (max-width: 991px) {
   ul {
     li {
       .list-right {
+        h3 {
+          font-size: 14px;
+          span {
+            font-size: 12px;
+          }
+        }
         .timeline-body {
           flex-direction: column;
           .body-left {
FishEye: Tag 7ddb6045c9206cf4e29c1980e18e332dd85edf52 refers to a dead (removed) revision in file `vue/src/components/DevOps/contents/ComuContributor.vue'.
FishEye: No comparison available.  Pass `N' to diff?
FishEye: Tag 7ddb6045c9206cf4e29c1980e18e332dd85edf52 refers to a dead (removed) revision in file `vue/src/components/DevOps/contents/JSTFSdv.vue'.
FishEye: No comparison available.  Pass `N' to diff?
Index: vue/src/components/DevOps/contents/JSTFShv.vue
===================================================================
diff -u -r6474f06e06d307f7b4e63d58e5df4b4d36369f88 -ra79f3a17c8c604d0ba09d330c4af0b630224a18c
--- vue/src/components/DevOps/contents/JSTFShv.vue	(.../JSTFShv.vue)	(revision 6474f06e06d307f7b4e63d58e5df4b4d36369f88)
+++ vue/src/components/DevOps/contents/JSTFShv.vue	(.../JSTFShv.vue)	(revision a79f3a17c8c604d0ba09d330c4af0b630224a18c)
@@ -13,7 +13,6 @@
           :nodes="treeDisplayData"
         ></Tree>
       </div>
-      <!--<div class="table-section">fdsafasfd</div>-->
     </div>
   </div>
   <ContextMenu
@@ -90,6 +89,7 @@
     const jstree = this.$refs['js-tree-ref'];
     const jstreeNodeList = document.querySelectorAll('#js-tree ul li');
     const contextList = document.querySelectorAll('.context-list');
+
     window.addEventListener('click', () => {
       this.contextMenuIsActive = false;
     });
FishEye: Tag 7ddb6045c9206cf4e29c1980e18e332dd85edf52 refers to a dead (removed) revision in file `vue/src/components/DevOps/contents/JSTFSiv.vue'.
FishEye: No comparison available.  Pass `N' to diff?
FishEye: Tag 7ddb6045c9206cf4e29c1980e18e332dd85edf52 refers to a dead (removed) revision in file `vue/src/components/DevOps/contents/JSTFTiv.vue'.
FishEye: No comparison available.  Pass `N' to diff?
Index: vue/src/components/Home/HomeHeader.vue
===================================================================
diff -u -r77aa9bce312f92dd147a9a852a158f4e58ac6ce6 -ra79f3a17c8c604d0ba09d330c4af0b630224a18c
--- vue/src/components/Home/HomeHeader.vue	(.../HomeHeader.vue)	(revision 77aa9bce312f92dd147a9a852a158f4e58ac6ce6)
+++ vue/src/components/Home/HomeHeader.vue	(.../HomeHeader.vue)	(revision a79f3a17c8c604d0ba09d330c4af0b630224a18c)
@@ -16,7 +16,7 @@
           </router-link>
         </li>
         <li>
-          <router-link to="/DevOps/welcome" class="btn">
+          <router-link to="/DevOps/Home/welcome" class="btn">
             Contact us&nbsp;
             <i class="bi bi-browser-chrome"></i>
           </router-link>
Index: vue/src/components/Home/HomeSlide.vue
===================================================================
diff -u -r6474f06e06d307f7b4e63d58e5df4b4d36369f88 -ra79f3a17c8c604d0ba09d330c4af0b630224a18c
--- vue/src/components/Home/HomeSlide.vue	(.../HomeSlide.vue)	(revision 6474f06e06d307f7b4e63d58e5df4b4d36369f88)
+++ vue/src/components/Home/HomeSlide.vue	(.../HomeSlide.vue)	(revision a79f3a17c8c604d0ba09d330c4af0b630224a18c)
@@ -21,7 +21,7 @@
                 Preview &nbsp; <i class="bi bi-chevron-right"></i
               ></router-link>
               <router-link
-                to="/DevOps/welcome"
+                to="/DevOps/Home/welcome"
                 class="btn btn-transparent btn-lg contact-btn"
               >
                 Contact us &nbsp; <i class="bi bi-browser-chrome"></i>
Index: vue/src/router/routes.ts
===================================================================
diff -u -r77aa9bce312f92dd147a9a852a158f4e58ac6ce6 -ra79f3a17c8c604d0ba09d330c4af0b630224a18c
--- vue/src/router/routes.ts	(.../routes.ts)	(revision 77aa9bce312f92dd147a9a852a158f4e58ac6ce6)
+++ vue/src/router/routes.ts	(.../routes.ts)	(revision a79f3a17c8c604d0ba09d330c4af0b630224a18c)
@@ -1,23 +1,88 @@
 import { RouteRecordRaw } from 'vue-router';
 import { RoutePath } from '@/constants/enums/RoutePath';
+import component from '*.vue';
 
 const routeComponent = (name: string) => () =>
   import(/* webpackChunkName: "[request]" */ `@/views/${name}.vue`);
+const devopsChildrenComponent = (name: string) => () =>
+  import(/* webpackChunkName: "[request]" */ `@/components/DevOps/contents/${name}.vue`);
 
 const routes: RouteRecordRaw[] = [
-  //{
-  //  path: '/',
-  //  redirect: RoutePath.홈,
-  //},
   {
     path: '/',
+    redirect: RoutePath.홈,
+  },
+  {
+    path: '/home',
     name: 'Home',
     component: routeComponent('HomeView'),
   },
   {
-    path: '/DevOps/:path',
+    path: '/DevOps',
     name: 'DevOps',
     component: routeComponent('DevOpsView'),
+    children: [
+      {
+        path: '/DevOps/Home/Welcome',
+        component: devopsChildrenComponent('WelcomeDevops'),
+      },
+      {
+        path: '/DevOps/DevSupport/ALM',
+        component: devopsChildrenComponent('AlmSupport'),
+      },
+      {
+        path: '/DevOps/DevSupport/DevTools',
+        component: devopsChildrenComponent('DevToolsSupport'),
+      },
+      {
+        path: '/DevOps/AboutJSTF/WhatisJSTF',
+        component: devopsChildrenComponent('WhatJSTF'),
+      },
+      {
+        path: '/DevOps/AboutJSTF/JSTFIntroduction',
+        component: devopsChildrenComponent('JSTFIntroduction'),
+      },
+      {
+        path: '/DevOps/AboutJSTF/JSTFGoals',
+        component: devopsChildrenComponent('JSTFGoal'),
+      },
+      {
+        path: '/DevOps/AboutJSTF/JSTFUsage',
+        component: devopsChildrenComponent('JSTFUsage'),
+      },
+      {
+        path: '/DevOps/AboutJSTF/JSTFDemoSHV',
+        component: devopsChildrenComponent('JSTFShv'),
+      },
+      {
+        path: '/DevOps/AboutJSTF/JSTFDemoSIV',
+        component: devopsChildrenComponent('JSTFSiv'),
+      },
+      {
+        path: '/DevOps/AboutJSTF/JSTFDemoSDV',
+        component: devopsChildrenComponent('JSTFSdv'),
+      },
+      {
+        path: '/DevOps/AboutJSTF/JSTFDemoTIV',
+        component: devopsChildrenComponent('JSTFTiv'),
+      },
+      {
+        path: '/DevOps/AboutJSTF/JSTFFAQ',
+        component: devopsChildrenComponent('JSTFFaq'),
+      },
+      {
+        path: '/DevOps/AboutJSTF/JSTFLicense',
+        component: devopsChildrenComponent('JSTFLicense'),
+      },
+      {
+        path: '/DevOps/AboutJSTF/JSTFDownload',
+        component: devopsChildrenComponent('JSTFDownload'),
+      },
+      {
+        path: '/DevOps/Community/Contributors',
+        component: devopsChildrenComponent('ComuContributor'),
+      },
+    ],
   },
 ];
 
Index: vue/src/store/state.ts
===================================================================
diff -u -r1cc6c607fc537d365794db05952bbb7c52893067 -ra79f3a17c8c604d0ba09d330c4af0b630224a18c
--- vue/src/store/state.ts	(.../state.ts)	(revision 1cc6c607fc537d365794db05952bbb7c52893067)
+++ vue/src/store/state.ts	(.../state.ts)	(revision a79f3a17c8c604d0ba09d330c4af0b630224a18c)
@@ -2,6 +2,40 @@
 
 export const state = {
   [StateKeys.USER_INFO]: { name: 'arms' },
+  navMenuList: [
+    {
+      title: 'Welcome',
+      icon: 'bi bi-house-door-fill',
+      children: [],
+    },
+    {
+      title: 'Dev Support',
+      icon: 'bi bi-motherboard-fill',
+      children: ['ALM', 'Dev Tools'],
+    },
+    {
+      title: 'About JSTF',
+      icon: 'bi bi-mortarboard-fill',
+      children: [
+        'What is JSTF?',
+        'JSTF Introduction',
+        'JSTF Goals',
+        'JSTF Usage',
+        'JSTF Demo SHV',
+        'JSTF Demo SIV',
+        'JSTF Demo SDV',
+        'JSTF Demo TIV',
+        'JSTF FAQ',
+        'JSTF License',
+        'JSTF Download',
+      ],
+    },
+    {
+      title: 'Community',
+      icon: 'bi bi-people-fill',
+      children: ['Contributors'],
+    },
+  ],
 };
 
 export type RootState = typeof state;
Index: vue/src/views/DevOpsView.vue
===================================================================
diff -u -r6474f06e06d307f7b4e63d58e5df4b4d36369f88 -ra79f3a17c8c604d0ba09d330c4af0b630224a18c
--- vue/src/views/DevOpsView.vue	(.../DevOpsView.vue)	(revision 6474f06e06d307f7b4e63d58e5df4b4d36369f88)
+++ vue/src/views/DevOpsView.vue	(.../DevOpsView.vue)	(revision a79f3a17c8c604d0ba09d330c4af0b630224a18c)
@@ -9,17 +9,7 @@
   </transition>
 
   <div class="content-wrap">
-    <WelcomeDevops v-if="$route.params.path == pathName.welcome" />
-    <AlmDevops v-if="$route.params.path == pathName.DevSupport.alm" />
-    <DevTools v-if="$route.params.path == pathName.DevSupport.DevTools" />
-    <WhatJSTF v-if="$route.params.path == pathName.JSTF.what" />
-    <JSTFIntroduction v-if="$route.params.path == pathName.JSTF.introduction" />
-    <JSTFGoal v-if="$route.params.path == pathName.JSTF.goal" />
-    <JSTFUsage v-if="$route.params.path == pathName.JSTF.usage" />
-    <JSTFShv v-if="$route.params.path == pathName.JSTF.demoShv" />
-    <JSTFFAQ v-if="$route.params.path == pathName.JSTF.faq" />
-    <JSTFLicense v-if="$route.params.path == pathName.JSTF.license" />
-    <JSTFDownload v-if="$route.params.path == pathName.JSTF.JSTFDownload" />
+    <router-view></router-view>
     <ContentFooter />
     <CopyRight />
     <TopBtn />
@@ -34,43 +24,9 @@
 import ContentFooter from '@/components/DevOps/common/ContentFooter.vue';
 import TopBtn from '@/components/DevOps/common/TopBtn.vue';
 
-import WelcomeDevops from '@/components/DevOps/contents/WelcomeDevops.vue';
-import AlmDevops from '@/components/DevOps/contents/AlmSupport.vue';
-import DevTools from '@/components/DevOps/contents/DevToolsSupport.vue';
-import WhatJSTF from '@/components/DevOps/contents/WhatJSTF.vue';
-import JSTFIntroduction from '@/components/DevOps/contents/JSTFIntroduction.vue';
-import JSTFGoal from '@/components/DevOps/contents/JSTFGoal.vue';
-import JSTFUsage from '@/components/DevOps/contents/JSTFUsage.vue';
-import JSTFFAQ from '@/components/DevOps/contents/JSTFFaq.vue';
-import JSTFLicense from '@/components/DevOps/contents/JSTFLicense.vue';
-import JSTFDownload from '@/components/DevOps/contents/JSTFDownload.vue';
-import JSTFShv from '@/components/DevOps/contents/JSTFShv.vue';
 import { onMounted, ref } from 'vue';
 
 const openMobileMenu = ref(false);
-const pathName = {
-  welcome: 'welcome',
-  DevSupport: {
-    alm: 'ALM',
-    DevTools: 'DevTools',
-  },
-  JSTF: {
-    what: 'WhatisJSTF',
-    introduction: 'JSTFIntroduction',
-    goal: 'JSTFGoals',
-    usage: 'JSTFUsage',
-    demoShv: 'JSTFDemoSHV',
-    demoSiv: 'JSTFDemoSIV',
-    demoSdv: 'JSTFDemoSDV',
-    demoTiv: 'JSTFDemoTIV',
-    faq: 'JSTFFAQ',
-    license: 'JSTFLicense',
-    JSTFDownload: 'JSTFDownload',
-  },
-  community: {
-    contributors: 'Contributors',
-  },
-};
 onMounted(() => {
   document.title = 'Java Service Tree Framework - DevOps Portal - 313 DEV GRP';
 });