PageSourceSearch

https://seunghoon-kam.github.io/

html seunghoon-kam.github.io collected 2026-10-03 09:55:51 UTC 6,190 bytes, 100 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en">
3<head>
4    <meta charset="UTF-8">
5    <meta name="viewport" content="width=device-width, initial-scale=1.0">
6    <title>Kevin Kam - Apps</title>
7    <style>[v-cloak]{display:none!important}</style>
8    <link rel="stylesheet" href="./assets/css/style.css">
9</head>
10<body>
11    <div id="app" v-cloak>
12        <header>
13            <div class="container">
14                <h1>Kevin Kam</h1>
15                <p class="subtitle">{{ translations[currentLang].subtitle }}</p>
16                <div class="social-links">
17                    <!-- Instagram and YouTube temporarily hidden -->
18                    <a href="https://instagram.com/icaros0226" target="_blank" rel="noopener noreferrer" aria-label="Instagram" class="social-link instagram" style="display: none;">
19                        <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
20                            <path d="M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zm0-2.163c-3.259 0-3.667.014-4.947.072-4.358.2-6.78 2.618-6.98 6.98-.059 1.281-.073 1.689-.073 4.948 0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98 1.281.058 1.689.072 4.948.072 3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98-1.281-.059-1.69-.073-4.949-.073zm0 5.838c-3.403 0-6.162 2.759-6.162 6.162 0 3.403 2.759 6.162 6.162 6.162 3.403 0 6.162-2.759 6.162-6.162 0-3.403-2.759-6.162-6.162-6.162zm0 10.162c-2.209 0-4-1.79-4-4 0-2.209 1.791-4 4-4 2.209 0 4 1.791 4 4 0 2.21-1.791 4-4 4zm6.406-11.845c-.796 0-1.441.645-1.441 1.44 0 .795.645 1.44 1.441 1.44.795 0 1.44-.645 1.44-1.44 0-.795-.645-1.44-1.44-1.44z" fill="white"/>
21                        </svg>
22                    </a>
23                    <a href="https://www.youtube.com/@icaros0226" target="_blank" rel="noopener noreferrer" aria-label="YouTube" class="social-link youtube" style="display: none;">
24                        <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
25                            <path d="M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z" fill="white"/>
26                        </svg>
27                    </a>
28                    <a href="https://shkam.tistory.com/" target="_blank" rel="noopener noreferrer" aria-label="Tistory" class="social-link tistory">
29                        <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
30                            <text x="50%" y="50%" dominant-baseline="central" text-anchor="middle" font-family="Arial, sans-serif" font-size="18" font-weight="bold" fill="currentColor">T</text>
31                        </svg>
32                    </a>
33                </div>
34            </div>
35        </header>
36
37        <main>
38            <div class="container">
39                <section class="apps-grid">
40                    <div 
41                        v-for="app in appsData" 
42                        :key="app.slug"
43                        class="app-card clickable"
44                        @click="handleCardClick(app, $event)"
45                    >
46                        <a 
47                            :href="getAppDetailUrl(app)" 
48                            class="app-icon-link"
49                            @click.stop
50                        >
51                            <div class="app-icon">
52                                <img 
53                                    v-if="app.appIconUrl"
54                                    :src="app.appIconUrl" 
55                                    :alt="getAppName(app) + ' 아이콘'"
56                                    class="app-icon-img"
57                                    @error="handleImageError($event, app)"
58                                />
59                                <span v-else class="app-icon-fallback">{{ app.icon || getAppName(app).charAt(0).toUpperCase() }}</span>
60                            </div>
61                        </a>
62                        <h3>{{ getAppName(app) }}</h3>
63                        <p>{{ getAppDescription(app) }}</p>
64                        <div class="app-links" @click.stop>
65                            <a 
66                                v-if="app.appStoreUrl"
67                                :href="app.appStoreUrl" 
68                                target="_blank" 
69                                class="btn btn-primary"
70                            >
71                                {{ getAppStoreLabel(app) }}
72                            </a>
73                            <a 
74                                v-if="app.playStoreUrl"
75                                :href="app.playStoreUrl" 
76                                target="_blank" 
77                                class="btn btn-primary"
78                            >
79                                Android
80                            </a>
81                        </div>
82                    </div>
83                </section>
84            </div>
85        </main>
86
87        <footer>
88            <div class="container">
89                <p>&copy; 2025 Kevin Kam. All rights reserved.</p>
90                <p class="contact">Contact: <a href="mailto:[email protected]">[email protected]</a></p>
91            </div>
92        </footer>
93    </div>
94
95    
95<script src="./assets/js/vendor/vue.global.prod.js"></script>
95
96    
96<script src="./assets/js/apps-data.js"></script>
96
97    
97<script src="./assets/js/app-utils.js"></script>
97
98    
98<script src="./assets/js/main.js"></script>
98
99</body>
100</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.