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: "publications by categories in reversed chronological order.", 15 section: "Navigation", 16 handler: () => { 17 window.location.href = "/publications/"; 18 }, 19 },{id: "post-a-post-with-plotly-js", 20 21 title: "a post with plotly.js", 22 23 description: "this is what included plotly.js code could look like", 24 section: "Posts", 25 handler: () => { 26 27 window.location.href = "/blog/2025/plotly/"; 28 29 }, 30 },{id: "post-a-post-with-image-galleries", 31 32 title: "a post with image galleries", 33 34 description: "this is what included image galleries could look like", 35 section: "Posts", 36 handler: () => { 37 38 window.location.href = "/blog/2024/photo-gallery/"; 39 40 }, 41 },{id: "post-google-gemini-updates-flash-1-5-gemma-2-and-project-astra", 42 43 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>', 44 45 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.", 46 section: "Posts", 47 handler: () => { 48 49 window.open("https://blog.google/technology/ai/google-gemini-update-flash-ai-assistant-io-2024/", "_blank"); 50 51 }, 52 },{id: "post-a-post-with-tabs", 53 54 title: "a post with tabs", 55 56 description: "this is what included tabs in a post could look like", 57 section: "Posts", 58 handler: () => { 59 60 window.location.href = "/blog/2024/tabs/"; 61 62 }, 63 },{id: "post-a-post-with-typograms", 64 65 title: "a post with typograms", 66 67 description: "this is what included typograms code could look like", 68 section: "Posts", 69 handler: () => { 70 71 window.location.href = "/blog/2024/typograms/"; 72 73 }, 74 },{id: "post-a-post-that-can-be-cited", 75 76 title: "a post that can be cited", 77 78 description: "this is what a post that can be cited looks like", 79 section: "Posts", 80 handler: () => { 81 82 window.location.href = "/blog/2024/post-citation/"; 83 84 }, 85 },{id: "post-a-post-with-pseudo-code", 86 87 title: "a post with pseudo code", 88 89 description: "this is what included pseudo code could look like", 90 section: "Posts", 91 handler: () => { 92 93 window.location.href = "/blog/2024/pseudocode/"; 94 95 }, 96 },{id: "post-a-post-with-code-diff", 97 98 title: "a post with code diff", 99 100 description: "this is how you can display code diffs", 101 section: "Posts", 102 handler: () => { 103 104 window.location.href = "/blog/2024/code-diff/"; 105 106 }, 107 },{id: "post-a-post-with-advanced-image-components", 108 109 title: "a post with advanced image components", 110 111 description: "this is what advanced image components could look like", 112 section: "Posts", 113 handler: () => { 114 115 window.location.href = "/blog/2024/advanced-images/"; 116 117 }, 118 },{id: "post-a-post-with-vega-lite", 119 120 title: "a post with vega lite", 121 122 description: "this is what included vega lite code could look like", 123 section: "Posts", 124 handler: () => { 125 126 window.location.href = "/blog/2024/vega-lite/"; 127 128 }, 129 },{id: "post-a-post-with-geojson", 130 131 title: "a post with geojson", 132 133 description: "this is what included geojson code could look like", 134 section: "Posts", 135 handler: () => { 136
137 window.location.href = "/blog/2024/geojson-map/"; 138 139 }, 140 },{id: "post-a-post-with-echarts", 141 142 title: "a post with echarts", 143 144 description: "this is what included echarts code could look like", 145 section: "Posts", 146 handler: () => { 147 148 window.location.href = "/blog/2024/echarts/"; 149 150 }, 151 },{id: "post-a-post-with-chart-js", 152 153 title: "a post with chart.js", 154 155 description: "this is what included chart.js code could look like", 156 section: "Posts", 157 handler: () => { 158 159 window.location.href = "/blog/2024/chartjs/"; 160 161 }, 162 },{id: "post-a-post-with-tikzjax", 163 164 title: "a post with TikZJax", 165 166 description: "this is what included TikZ code could look like", 167 section: "Posts", 168 handler: () => { 169 170 window.location.href = "/blog/2023/tikzjax/"; 171 172 }, 173 },{id: "post-a-post-with-bibliography", 174 175 title: "a post with bibliography", 176 177 description: "an example of a blog post with bibliography", 178 section: "Posts", 179 handler: () => { 180 181 window.location.href = "/blog/2023/post-bibliography/"; 182 183 }, 184 },{id: "post-a-post-with-jupyter-notebook", 185 186 title: "a post with jupyter notebook", 187 188 description: "an example of a blog post with jupyter notebook", 189 section: "Posts", 190 handler: () => { 191 192 window.location.href = "/blog/2023/jupyter-notebook/"; 193 194 }, 195 },{id: "post-a-post-with-custom-blockquotes", 196 197 title: "a post with custom blockquotes", 198 199 description: "an example of a blog post with custom blockquotes", 200 section: "Posts", 201 handler: () => { 202 203 window.location.href = "/blog/2023/custom-blockquotes/"; 204 205 }, 206 },{id: "post-a-post-with-table-of-contents-on-a-sidebar", 207 208 title: "a post with table of contents on a sidebar", 209 210 description: "an example of a blog post with table of contents on a sidebar", 211 section: "Posts", 212 handler: () => { 213 214 window.location.href = "/blog/2023/sidebar-table-of-contents/"; 215 216 }, 217 },{id: "post-a-post-with-audios", 218 219 title: "a post with audios", 220 221 description: "this is what included audios could look like", 222 section: "Posts", 223 handler: () => { 224 225 window.location.href = "/blog/2023/audios/"; 226 227 }, 228 },{id: "post-a-post-with-videos", 229 230 title: "a post with videos", 231 232 description: "this is what included videos could look like", 233 section: "Posts", 234 handler: () => { 235 236 window.location.href = "/blog/2023/videos/"; 237 238 }, 239 },{id: "post-displaying-beautiful-tables-with-bootstrap-tables", 240 241 title: "displaying beautiful tables with Bootstrap Tables", 242 243 description: "an example of how to use Bootstrap Tables", 244 section: "Posts", 245 handler: () => { 246 247 window.location.href = "/blog/2023/tables/"; 248 249 }, 250 },{id: "post-a-post-with-table-of-contents", 251 252 title: "a post with table of contents", 253 254 description: "an example of a blog post with table of contents", 255 section: "Posts", 256 handler: () => { 257 258 window.location.href = "/blog/2023/table-of-contents/"; 259 260 }, 261 },{id: "post-a-post-with-giscus-comments", 262 263 title: "a post with giscus comments", 264 265 description: "an example of a blog post with giscus comments", 266 section: "Posts", 267 handler: () => { 268 269 window.location.href = "/blog/2022/giscus-comments/"; 270 271 }, 272 },{id: "post-displaying-external-posts-on-your-al-folio-blog", 273 274 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>', 275 276 description: "", 277 section: "Posts", 278 handler: () => { 279 280 window.open("https://medium.com/@al-folio/displaying-external-posts-on-your-al-folio-blog-b60a1d241a0a?source=rss-17feae71c3c4------2", "_blank"); 281 282 }, 283 },{id: "post-a-post-with-redirect", 284 285 title: "a post with redirect", 286 287 description: "you can also redirect to assets like pdf", 288 section: "Posts", 289 handler: () => { 290 291 window.location.href = "/assets/pdf/example_pdf.pdf"; 292 293 }, 294 },{id: "post-a-post-with-diagrams", 295 296 title: "a post with diagrams", 297 298 description: "an example of a blog post with diagrams", 299 section: "Posts", 300 handler: () => { 301 302 window.location.href = "/blog/2021/diagrams/"; 303 304 }, 305 },{id: "post-a-distill-style-blog-post", 306 307 title: "a distill-style blog post", 308 309 description: "an example of a distill-style blog post and main elements", 310 section: "Posts", 311 handler: () => { 312 313 window.location.href = "/blog/2021/distill/"; 314 315 }, 316 },{id: "post-a-post-with-twitter", 317 318 title: "a post with twitter", 319 320 description: "an example of a blog post with twitter", 321 section: "Posts", 322 handler: () => { 323 324 window.location.href = "/blog/2020/twitter/"; 325 326 }, 327 },{id: "post-a-post-with-disqus-comments", 328 329 title: "a post with disqus comments", 330 331 description: "an example of a blog post with disqus comments", 332 section: "Posts", 333 handler: () => { 334 335 window.location.href = "/blog/2015/disqus-comments/"; 336 337 }, 338 },{id: "post-a-post-with-math", 339 340 title: "a post with math", 341 342 description: "an example of a blog post with some math", 343 section: "Posts", 344 handler: () => { 345 346 window.location.href = "/blog/2015/math/"; 347 348 }, 349 },{id: "post-a-post-with-code", 350 351 title: "a post with code", 352 353 description: "an example of a blog post with some code", 354 section: "Posts", 355 handler: () => { 356 357 window.location.href = "/blog/2015/code/"; 358 359 }, 360 },{id: "post-a-post-with-images", 361 362 title: "a post with images", 363 364 description: "this is what included images could look like", 365 section: "Posts", 366 handler: () => { 367 368 window.location.href = "/blog/2015/images/"; 369 370 }, 371 },{id: "post-a-post-with-formatting-and-links", 372 373 title: "a post with formatting and links", 374 375 description: "march & april, looking forward to summer", 376 section: "Posts", 377 handler: () => { 378 379 window.location.href = "/blog/2015/formatting-and-links/"; 380 381 }, 382 },{id: "books-the-godfather", 383 title: 'The Godfather', 384 description: "", 385 section: "Books",handler: () => { 386 window.location.href = "/books/the_godfather/"; 387 },},{id: "news-a-simple-inline-announcement", 388 title: 'A simple inline announcement.', 389 description: "", 390 section: "News",}
390,{id: "news-a-long-announcement-with-details", 391 title: 'A long announcement with details', 392 description: "", 393 section: "News",handler: () => { 394 window.location.href = "/news/announcement_2/"; 395 },},{id: "news-a-simple-inline-announcement-with-markdown-emoji-sparkles-smile", 396 title: 'A simple inline announcement with Markdown emoji! :sparkles: :smile:', 397 description: "", 398 section: "News",},{id: "projects-project-1", 399 title: 'project 1', 400 description: "with background image", 401 section: "Projects",handler: () => { 402 window.location.href = "/projects/1_project/"; 403 },},{id: "projects-project-2", 404 title: 'project 2', 405 description: "a project with a background image and giscus comments", 406 section: "Projects",handler: () => { 407 window.location.href = "/projects/2_project/"; 408 },},{id: "projects-project-3-with-very-long-name", 409 title: 'project 3 with very long name', 410 description: "a project that redirects to another website", 411 section: "Projects",handler: () => { 412 window.location.href = "/projects/3_project/"; 413 },},{id: "projects-project-4", 414 title: 'project 4', 415 description: "another without an image", 416 section: "Projects",handler: () => { 417 window.location.href = "/projects/4_project/"; 418 },},{id: "projects-project-5", 419 title: 'project 5', 420 description: "a project with a background image", 421 section: "Projects",handler: () => { 422 window.location.href = "/projects/5_project/"; 423 },},{id: "projects-project-6", 424 title: 'project 6', 425 description: "a project with no image", 426 section: "Projects",handler: () => { 427 window.location.href = "/projects/6_project/"; 428 },},{id: "projects-project-7", 429 title: 'project 7', 430 description: "with background image", 431 section: "Projects",handler: () => { 432 window.location.href = "/projects/7_project/"; 433 },},{id: "projects-project-8", 434 title: 'project 8', 435 description: "an other project with a background image and giscus comments", 436 section: "Projects",handler: () => { 437 window.location.href = "/projects/8_project/"; 438 },},{id: "projects-project-9", 439 title: 'project 9', 440 description: "another project with an image ð", 441 section: "Projects",handler: () => { 442 window.location.href = "/projects/9_project/"; 443 },},{id: "teachings-data-science-fundamentals", 444 title: 'Data Science Fundamentals', 445 description: "This course covers the foundational aspects of data science, including data collection, cleaning, analysis, and visualization. Students will learn practical skills for working with real-world datasets.", 446 section: "Teachings",handler: () => { 447 window.location.href = "/teachings/data-science-fundamentals/"; 448 },},{id: "teachings-introduction-to-machine-learning", 449 title: 'Introduction to Machine Learning', 450 description: "This course provides an introduction to machine learning concepts, algorithms, and applications. Students will learn about supervised and unsupervised learning, model evaluation, and practical implementations.", 451 section: "Teachings",handler: () => { 452 window.location.href = "/teachings/introduction-to-machine-learning/"; 453 },},{ 454 id: 'social-cv', 455 title: 'CV', 456 section: 'Socials', 457 handler: () => { 458 window.open("/assets/pdf/example_pdf.pdf", "_blank"); 459 }, 460 },{ 461 id: 'social-email', 462 title: 'email', 463 section: 'Socials', 464 handler: () => { 465 window.open("mailto:%79%6F%75@%65%78%61%6D%70%6C%65.%63%6F%6D", "_blank"); 466 }, 467 },{ 468 id: 'social-inspire', 469 title: 'Inspire HEP', 470 section: 'Socials', 471 handler: () => { 472 window.open("https://inspirehep.net/authors/1010907", "_blank"); 473 }, 474 },{ 475 id: 'social-rss', 476 title: 'RSS Feed', 477 section: 'Socials', 478 handler: () => { 479 window.open("/feed.xml", "_blank"); 480 }, 481 },{ 482 id: 'social-scholar', 483 title: 'Google Scholar', 484 section: 'Socials', 485 handler: () => { 486 window.open("https://scholar.google.com/citations?user=qc6CJjYAAAAJ", "_blank"); 487 }, 488 },{ 489 id: 'social-custom_social', 490 title: 'Custom_social', 491 section: 'Socials', 492 handler: () => { 493 window.open("https://www.alberteinstein.com/", "_blank"); 494 }, 495 },{ 496 id: 'light-theme', 497 title: 'Change theme to light', 498 description: 'Change the theme of the site to Light', 499 section: 'Theme', 500 handler: () => { 501 setThemeSetting("light"); 502 }, 503 }, 504 {
505 id: 'dark-theme', 506 title: 'Change theme to dark', 507 description: 'Change the theme of the site to Dark', 508 section: 'Theme', 509 handler: () => { 510 setThemeSetting("dark"); 511 }, 512 }, 513 { 514 id: 'system-theme', 515 title: 'Use system default theme', 516 description: 'Change the theme of the site to System Default', 517 section: 'Theme', 518 handler: () => { 519 setThemeSetting("system"); 520 }, 521 },];
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.