1// get the ninja-keys element 2const ninja = document.querySelector('ninja-keys'); 3 4// add the home and posts menu items 5ninja.data = [{ 6 id: "nav-about", 7 title: "about", 8 section: "Navigation", 9 handler: () => { 10 window.location.href = "/"; 11 }, 12 },{id: "nav-publications", 13 title: "publications", 14 description: "", 15 section: "Navigation", 16 handler: () => { 17 window.location.href = "/publications/"; 18 }, 19 },{id: "nav-projects", 20 title: "projects", 21 description: "A growing collection of your cool projects.", 22 section: "Navigation", 23 handler: () => { 24 window.location.href = "/projects/"; 25 }, 26 },{id: "nav-repositories", 27 title: "repositories", 28 description: "", 29 section: "Navigation", 30 handler: () => { 31 window.location.href = "/repositories/"; 32 }, 33 },{id: "nav-cv", 34 title: "cv", 35 description: "", 36 section: "Navigation", 37 handler: () => { 38 window.location.href = "/cv/"; 39 }, 40 },{id: "nav-teaching", 41 title: "teaching", 42 description: "List for courses I taught as TA at UCLA and UCSB", 43 section: "Navigation", 44 handler: () => { 45 window.location.href = "/teaching/"; 46 }, 47 },{id: "post-a-post-with-image-galleries", 48 49 title: "a post with image galleries", 50 51 description: "this is what included image galleries could look like", 52 section: "Posts", 53 handler: () => { 54 55 window.location.href = "/blog/2024/photo-gallery/"; 56 57 }, 58 },{id: "post-google-gemini-updates-flash-1-5-gemma-2-and-project-astra", 59 60 title: 'Google Gemini updates: Flash 1.5, Gemma 2 and Project Astra <svg width="1.2rem" height="1.2rem" top=".5rem" viewBox="0 0 40 40" xmlns="http://www.w3.org/2000/svg"><path d="M17 13.5v6H5v-12h6m3-3h6v6m0-6-9 9" class="icon_svg-stroke" stroke="#999" stroke-width="1.5" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg>', 61 62 description: "Weâre sharing updates across our Gemini family of models and a glimpse of Project Astra, our vision for the future of AI assistants.", 63 section: "Posts", 64 handler: () => { 65 66 window.open("https://blog.google/technology/ai/google-gemini-update-flash-ai-assistant-io-2024/", "_blank"); 67 68 }, 69 },{id: "post-a-post-with-tabs", 70 71 title: "a post with tabs", 72 73 description: "this is what included tabs in a post could look like", 74 section: "Posts", 75 handler: () => { 76 77 window.location.href = "/blog/2024/tabs/"; 78 79 }, 80 },{id: "post-a-post-with-typograms", 81 82 title: "a post with typograms", 83 84 description: "this is what included typograms code could look like", 85 section: "Posts", 86 handler: () => { 87 88 window.location.href = "/blog/2024/typograms/"; 89 90 }, 91 },{id: "post-a-post-that-can-be-cited", 92 93 title: "a post that can be cited", 94 95 description: "this is what a post that can be cited looks like", 96 section: "Posts", 97 handler: () => { 98 99 window.location.href = "/blog/2024/post-citation/"; 100 101 }, 102 },{id: "post-a-post-with-pseudo-code", 103 104 title: "a post with pseudo code", 105 106 description: "this is what included pseudo code could look like", 107 section: "Posts", 108 handler: () => { 109 110 window.location.href = "/blog/2024/pseudocode/"; 111 112 }, 113 },{id: "post-a-post-with-code-diff", 114 115 title: "a post with code diff", 116 117 description: "this is how you can display code diffs", 118 section: "Posts", 119 handler: () => { 120 121 window.location.href = "/blog/2024/code-diff/"; 122 123 }, 124 },{id: "post-a-post-with-advanced-image-components", 125 126 title: "a post with advanced image components", 127 128 description: "this is what advanced image components could look like", 129 section: "Posts", 130 handler: () => { 131 132 window.location.href = "/blog/2024/advanced-images/"; 133 134 }, 135 },{id: "post-a-post-with-vega-lite", 136 137 title: "a post with vega lite", 138 139 description: "this is what included vega lite code could look like", 140 section: "Posts", 141 handler: () => { 142 143 window.location.href = "/blog/2024/vega-lite/"; 144 145 }, 146 },{id: "post-a-post-with-geojson", 147 148 title: "a post with geojson", 149 150 description: "this is what included geojson code could look like", 151 section: "Posts", 152 handler: () => { 153
154 window.location.href = "/blog/2024/geojson-map/"; 155 156 }, 157 },{id: "post-a-post-with-echarts", 158 159 title: "a post with echarts", 160 161 description: "this is what included echarts code could look like", 162 section: "Posts", 163 handler: () => { 164 165 window.location.href = "/blog/2024/echarts/"; 166 167 }, 168 },{id: "post-a-post-with-chart-js", 169 170 title: "a post with chart.js", 171 172 description: "this is what included chart.js code could look like", 173 section: "Posts", 174 handler: () => { 175 176 window.location.href = "/blog/2024/chartjs/"; 177 178 }, 179 },{id: "post-a-post-with-tikzjax", 180 181 title: "a post with TikZJax", 182 183 description: "this is what included TikZ code could look like", 184 section: "Posts", 185 handler: () => { 186 187 window.location.href = "/blog/2023/tikzjax/"; 188 189 }, 190 },{id: "post-a-post-with-bibliography", 191 192 title: "a post with bibliography", 193 194 description: "an example of a blog post with bibliography", 195 section: "Posts", 196 handler: () => { 197 198 window.location.href = "/blog/2023/post-bibliography/"; 199 200 }, 201 },{id: "post-a-post-with-jupyter-notebook", 202 203 title: "a post with jupyter notebook", 204 205 description: "an example of a blog post with jupyter notebook", 206 section: "Posts", 207 handler: () => { 208 209 window.location.href = "/blog/2023/jupyter-notebook/"; 210 211 }, 212 },{id: "post-a-post-with-custom-blockquotes", 213 214 title: "a post with custom blockquotes", 215 216 description: "an example of a blog post with custom blockquotes", 217 section: "Posts", 218 handler: () => { 219 220 window.location.href = "/blog/2023/custom-blockquotes/"; 221 222 }, 223 },{id: "post-a-post-with-table-of-contents-on-a-sidebar", 224 225 title: "a post with table of contents on a sidebar", 226 227 description: "an example of a blog post with table of contents on a sidebar", 228 section: "Posts", 229 handler: () => { 230 231 window.location.href = "/blog/2023/sidebar-table-of-contents/"; 232 233 }, 234 },{id: "post-a-post-with-audios", 235 236 title: "a post with audios", 237 238 description: "this is what included audios could look like", 239 section: "Posts", 240 handler: () => { 241 242 window.location.href = "/blog/2023/audios/"; 243 244 }, 245 },{id: "post-a-post-with-videos", 246 247 title: "a post with videos", 248 249 description: "this is what included videos could look like", 250 section: "Posts", 251 handler: () => { 252 253 window.location.href = "/blog/2023/videos/"; 254 255 }, 256 },{id: "post-displaying-beautiful-tables-with-bootstrap-tables", 257 258 title: "displaying beautiful tables with Bootstrap Tables", 259 260 description: "an example of how to use Bootstrap Tables", 261 section: "Posts", 262 handler: () => { 263 264 window.location.href = "/blog/2023/tables/"; 265 266 }, 267 },{id: "post-a-post-with-table-of-contents", 268 269 title: "a post with table of contents", 270 271 description: "an example of a blog post with table of contents", 272 section: "Posts", 273 handler: () => { 274 275 window.location.href = "/blog/2023/table-of-contents/"; 276 277 }, 278 },{id: "post-a-post-with-giscus-comments", 279 280 title: "a post with giscus comments", 281 282 description: "an example of a blog post with giscus comments", 283 section: "Posts", 284 handler: () => { 285 286 window.location.href = "/blog/2022/giscus-comments/"; 287 288 }, 289 },{id: "post-displaying-external-posts-on-your-al-folio-blog", 290 291 title: 'Displaying External Posts on Your al-folio Blog <svg width="1.2rem" height="1.2rem" top=".5rem" viewBox="0 0 40 40" xmlns="http://www.w3.org/2000/svg"><path d="M17 13.5v6H5v-12h6m3-3h6v6m0-6-9 9" class="icon_svg-stroke" stroke="#999" stroke-width="1.5" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg>', 292 293 description: "", 294 section: "Posts", 295 handler: () => { 296 297 window.open("https://medium.com/@al-folio/displaying-external-posts-on-your-al-folio-blog-b60a1d241a0a?source=rss-17feae71c3c4------2", "_blank"); 298 299 }, 300 },{id: "post-a-post-with-redirect", 301 302 title: "a post with redirect", 303 304 description: "you can also redirect to assets like pdf", 305 section: "Posts", 306 handler: () => { 307 308 window.location.href = "/assets/pdf/example_pdf.pdf"; 309 310 }, 311 },{id: "post-a-post-with-diagrams", 312 313 title: "a post with diagrams", 314 315 description: "an example of a blog post with diagrams", 316 section: "Posts", 317 handler: () => { 318 319 window.location.href = "/blog/2021/diagrams/"; 320 321 }, 322 },{id: "post-a-distill-style-blog-post", 323 324 title: "a distill-style blog post", 325 326 description: "an example of a distill-style blog post and main elements", 327 section: "Posts", 328 handler: () => { 329 330 window.location.href = "/blog/2021/distill/"; 331 332 }, 333 },{id: "post-a-post-with-twitter", 334 335 title: "a post with twitter", 336 337 description: "an example of a blog post with twitter", 338 section: "Posts", 339 handler: () => { 340 341 window.location.href = "/blog/2020/twitter/"; 342 343 }, 344 },{id: "post-a-post-with-disqus-comments", 345 346 title: "a post with disqus comments", 347 348 description: "an example of a blog post with disqus comments", 349 section: "Posts", 350 handler: () => { 351 352 window.location.href = "/blog/2015/disqus-comments/"; 353 354 }, 355 },{id: "post-a-post-with-math", 356 357 title: "a post with math", 358 359 description: "an example of a blog post with some math", 360 section: "Posts", 361 handler: () => { 362 363 window.location.href = "/blog/2015/math/"; 364 365 }, 366 },{id: "post-a-post-with-code", 367 368 title: "a post with code", 369 370 description: "an example of a blog post with some code", 371 section: "Posts", 372 handler: () => { 373 374 window.location.href = "/blog/2015/code/"; 375 376 }, 377 },{id: "post-a-post-with-images", 378 379 title: "a post with images", 380 381 description: "this is what included images could look like", 382 section: "Posts", 383 handler: () => { 384 385 window.location.href = "/blog/2015/images/"; 386 387 }, 388 },{id: "post-a-post-with-formatting-and-links", 389 390 title: "a post with formatting and links", 391 392 description: "march & april, looking forward to summer", 393 section: "Posts", 394 handler: () => { 395 396 window.location.href = "/blog/2015/formatting-and-links/"; 397 398 }, 399 },{id: "books-the-godfather", 400 title: 'The Godfather', 401 description: "", 402 section: "Books",handler: () => { 403 window.location.href = "/books/the_godfather/"; 404 },},{id: "news-i-m-excited-to-share-that-a-study-i-co-authored-has-been-accepted-for-publication-in-advanced-science-key-connectomes-and-synaptic-compartment-specific-risk-genes-drive-pathological-α-synuclein-spreading-doi-10-1002-advs-202413052", 405 title: 'Iâm excited to share that a study I co-authored has been accepted for...', 406 description: "", 407 section: "News",},{id: "projects-building-a-clinical-data-pipeline-with-mimic-iv", 408 title: 'Building a Clinical Data Pipeline with MIMIC-IV', 409 description: "A comprehensive, production-oriented clinical data pipeline that mirrors real-world practices in pharma and biotechâfeaturing scalable ingestion, robust transformation, feature engineering, machine learning, and interactive delivery using modern data science tooling.", 410 section: "Projects",handler: () => { 411 window.location.href = "/projects/1_project/"; 412 },},{id: "projects-style-length-pollination-and-fitness-in-nemophila-menziesii", 413 title: 'Style Length, Pollination, and Fitness in Nemophila menziesii', 414 description: "A field-based ecology and evolution research project exploring plant reproductive traits, presented at the UCSB EEMB Undergraduate Research Symposium.", 415 section: "Projects",handler: () => { 416 window.location.href = "/projects/2_project/"; 417 },},{id: "projects-style-length-pollination-and-fitness-in-nemophila-menziesii", 418 title: 'Style Length, Pollination, and Fitness in *Nemophila menziesii*', 419 description: "A field-based ecology and evolution research project exploring plant reproductive traits, presented at the UCSB EEMB Undergraduate Research Symposium.", 420 section: "Projects",handler: () => { 421 window.location.href = "/projects/3_project/"; 422 },},{id: "projects-project-4", 423 title: 'project 4', 424 description: "another without an image", 425 section: "Projects",handler: () => { 426 window.location.href = "/projects/4_project/"; 427 },},{id: "projects-project-5", 428 title: 'project 5', 429 description: "a project with a background image", 430 section: "Projects",handler: () => { 431 window.location.href = "/projects/5_project/"; 432 },},{id: "projects-project-6", 433 title: 'project 6', 434 description: "a project with no image", 435 section: "Projects",handler: () => { 436 window.location.href = "/projects/6_project/"; 437 },},{id: "projects-project-7", 438 title: 'project 7', 439 description: "with background image", 440 section: "Projects",handler: () => { 441 window.location.href = "/projects/7_project/"; 442 },},{id: "projects-project-8", 443 title: 'project 8', 444 description: "an other project with a background image and giscus comments", 445 section: "Projects",handler: () => { 446 window.location.href = "/projects/8_project/"; 447 },},{id: "projects-project-9", 448 title: 'project 9', 449 description: "another project with an image ð", 450 section: "Projects",handler: () => { 451 window.location.href = "/projects/9_project/"; 452 },},{ 453 id: 'social-email', 454 title: 'email', 455 section: 'Socials', 456 handler: () => { 457 window.open("mailto:%79%6F%75@%65%78%61%6D%70%6C%65.%63%6F%6D", "_blank"); 458 }, 459 },{ 460 id: 'social-inspire', 461 title: 'Inspire HEP', 462 section: 'Socials', 463 handler: () => { 464 window.open("https://inspirehep.net/authors/1010907", "_blank"); 465 }, 466 },{ 467 id: 'social-rss', 468 title: 'RSS Feed', 469 section: 'Socials', 470 handler: () => { 471 window.open("/feed.xml", "_blank"); 472 }, 473 },{ 474 id: 'social-scholar', 475 title: 'Google Scholar', 476 section: 'Socials', 477 handler: () => { 478 window.open("https://scholar.google.com/citations?user=qc6CJjYAAAAJ", "_blank"); 479 }, 480 },{ 481 id: 'social-custom_social', 482 title: 'Custom_social', 483 section: 'Socials', 484 handler: () => { 485 window.open("https://www.alberteinstein.com/", "_blank"); 486 }, 487 },{ 488 id: 'light-theme', 489 title: 'Change theme to light', 490 description: 'Change the theme of the site to Light', 491 section: 'Theme', 492 handler: () => { 493 setThemeSetting("light"); 494 }, 495 }, 496 {
497 id: 'dark-theme', 498 title: 'Change theme to dark', 499 description: 'Change the theme of the site to Dark', 500 section: 'Theme', 501 handler: () => { 502 setThemeSetting("dark"); 503 }, 504 }, 505 { 506 id: 'system-theme', 507 title: 'Use system default theme', 508 description: 'Change the theme of the site to System Default', 509 section: 'Theme', 510 handler: () => { 511 setThemeSetting("system"); 512 }, 513 },];
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.