KashyapiNagaHarshitha commited on
Commit
6df9c07
·
verified ·
1 Parent(s): 4488d7e

Upload index.html

Browse files
Files changed (1) hide show
  1. index.html +215 -0
index.html ADDED
@@ -0,0 +1,215 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <title>Marilyne Labrie</title>
6
+
7
+ <meta name="viewport" content="width=device-width, initial-scale=1">
8
+
9
+ <link rel="preconnect" href="https://fonts.googleapis.com">
10
+ <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
11
+ <link href="https://fonts.googleapis.com/css2?family=Kumbh+Sans:wght@600&display=swap" rel="stylesheet">
12
+
13
+ <link rel="apple-touch-icon" sizes="180x180" href="{{ PANEL_CDN }}images/apple-touch-icon.png">
14
+ <link rel="icon" type="image/png" sizes="32x32" href="{{ PANEL_CDN }}images/favicon.ico">
15
+ <link rel="manifest" href="{{ PANEL_CDN }}images/site.webmanifest">
16
+ <style>
17
+ body {
18
+ display: flex;
19
+ flex-direction: column;
20
+ font-family: "Kumbh Sans", "Segoe UI", Arial, Helvetica, sans-serif;
21
+ font-size: 16px;
22
+ font-weight: 600;
23
+ line-height: normal;
24
+ height: 100vh;
25
+ margin: 0px;
26
+ overflow: hidden;
27
+ padding: 0;
28
+ }
29
+ .header {
30
+ box-shadow: 0 .125rem .25rem 0 gray;
31
+ z-index: 1;
32
+ }
33
+ .header-content {
34
+ display: flex;
35
+ flex-direction: row;
36
+ padding: 1.5rem;
37
+ }
38
+ #panel-logo {
39
+ padding-right: 2em;
40
+ width: 300px;
41
+ }
42
+ .gallery-item {
43
+ border: 0.1px solid gray;
44
+ box-shadow: rgba(50, 50, 93, 0.25) 0px 6px 12px -2px, rgba(0, 0, 0, 0.3) 0px 3px 7px -3px;
45
+ cursor: pointer;
46
+ text-align: center;
47
+ }
48
+ .gallery-item:hover {
49
+ border: 0.1px solid black;
50
+ box-shadow: rgba(20, 20, 50, 0.25) 0px 9px 18px -2px, rgba(0, 0, 0, 0.3) 0px 6px 10px -3px;
51
+ }
52
+ #search-input {
53
+ border: 0.1px solid black;
54
+ box-shadow: rgba(50, 50, 93, 0.25) 0px 6px 12px -2px, rgba(0, 0, 0, 0.3) 0px 3px 7px -3px;
55
+ height: 3em;
56
+ margin: 1.5rem 2rem 0 2rem;
57
+ padding-left: 1em;
58
+ width: calc(100% - 6em);
59
+ }
60
+ #search-input:focus-visible {
61
+ border: 0.1px solid black;
62
+ box-shadow: rgba(20, 20, 50, 0.25) 0px 12px 12px -2px, rgba(0, 0, 0, 0.3) 0px 3px 7px -3px;
63
+ outline: none;
64
+ }
65
+ .main {
66
+ background-color: #f2f2f2;
67
+ flex-grow: 1;
68
+ overflow-x: hidden;
69
+ overflow-y: auto;
70
+ }
71
+ .cards-grid {
72
+ display: grid;
73
+ grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr));
74
+ grid-gap: 2rem;
75
+ list-style: none;
76
+ }
77
+ /* Presentational styles */
78
+ .card {
79
+ background-color: white;
80
+ padding: 0px;
81
+ }
82
+ .cards-grid {
83
+ margin: 2rem;
84
+ padding: 0px;
85
+ }
86
+ .avatar {
87
+ vertical-align: middle;
88
+ float: right;
89
+ width: 30px;
90
+ height: 30px;
91
+ margin-top: 5px;
92
+ border-radius: 50%;
93
+ }
94
+ .card-action svg {
95
+ vertical-align: middle;
96
+ float: right;
97
+ height: 20px;
98
+ color: white;
99
+ margin-top: 10px;
100
+ margin-right: 10px;
101
+ }
102
+ .card-image {
103
+ height: 175px;
104
+ width: 100%;
105
+ margin-top: 25px;
106
+ }
107
+ object {
108
+ height: 175px;
109
+ max-width: calc(100% - 50px);
110
+ margin-top: 25px;
111
+ border-radius: 5px;
112
+ }
113
+ .card-content {
114
+ padding: 10px 10px 10px;
115
+ }
116
+ .card-text {
117
+ height: 100px;
118
+ }
119
+ .card-header {
120
+ height: 2em;
121
+ text-align: center;
122
+ }
123
+ .card-link {
124
+ text-decoration: none;
125
+ color: black;
126
+ }
127
+ .title-area {
128
+ display: flex;
129
+ flex-direction: column;
130
+ margin: auto 0 auto auto;
131
+ }
132
+ #title {
133
+ font-size: 1.8em;
134
+ font-weight: bold;
135
+ }
136
+ #subtitle {
137
+ font-size: 1.2em;
138
+ text-align: right;
139
+ }
140
+ </style>
141
+ <script type="text/javascript">
142
+ function setParamsFromSearch(text){
143
+ const params = new URLSearchParams(location.search);
144
+ if (text === "") {
145
+ params.delete("search")
146
+ } else {
147
+ params.set('search', text);
148
+ }
149
+ window.history.replaceState({}, '', `${location.pathname}?${params}`);
150
+ }
151
+ function hideCards(text) {
152
+ text = text.toLowerCase();
153
+ const cards = document.getElementsByTagName("li")
154
+ for (const card of cards) {
155
+ const label = card.children[0].children[0].children[1]
156
+ if (text === "" || label.innerHTML.toLowerCase().includes(text)) {
157
+ card.style.display = ""
158
+ } else {
159
+ card.style.display = "none"
160
+ }
161
+ }
162
+ setParamsFromSearch(text)
163
+ }
164
+ function setSearchFromParams() {
165
+ const params = new URLSearchParams(window.location.search)
166
+ if (params.has('search')){
167
+ const search = params.get('search')
168
+ const searchEl = document.getElementById("search-input")
169
+ searchEl.value = search
170
+ hideCards(search)
171
+ }
172
+ }
173
+ setSearchFromParams()
174
+ </script>
175
+ </head>
176
+ <body>
177
+ <section class="header">
178
+ <div class="header-content">
179
+ <a href="https://panel.holoviz.org">
180
+ <img id="panel-logo" src="{{ PANEL_CDN }}images/logo_horizontal.png"/>
181
+ </a>
182
+ <div class="title-area">
183
+ <span id="title">Cyc IF</span>
184
+ <span id="subtitle">Labo Labrie</span>
185
+ </div>
186
+ </div>
187
+ </section>
188
+ <div class="main">
189
+ <section class="search">
190
+ <input id="search-input" placeholder="Search applications..." onInput="hideCards(event.target.value)"></input>
191
+ </section>
192
+ <section id="cards">
193
+ <ul class="cards-grid">
194
+ {% for item in sorted(items, key=lambda item: item[1:].replace("_", " ").title()) %}
195
+ <li class="card">
196
+ <a class="card-link" href=".{{ item }}" id="{{ item }}">
197
+ <div class="gallery-item">
198
+ <object data="thumbnails{{ item }}.png" type="image/png">
199
+ <svg class="card-image" xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-window" viewBox="0 0 16 16">
200
+ <path d="M2.5 4a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1zm2-.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0zm1 .5a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1z"/>
201
+ <path d="M2 1a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V3a2 2 0 0 0-2-2H2zm13 2v2H1V3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1zM2 14a1 1 0 0 1-1-1V6h14v7a1 1 0 0 1-1 1H2z"/>
202
+ </svg>
203
+ </object>
204
+ <div class="card-content">
205
+ <h2 class="card-header">{{ item[1:].replace("_", " ").title() }}</h2>
206
+ </div>
207
+ </div>
208
+ </a>
209
+ </li>
210
+ {% end %}
211
+ </ul>
212
+ </section>
213
+ </div>
214
+ </body>
215
+ </html>