1<!doctype html> 2<html lang="en" class="no-js"> 3 4<head> 5 <meta charset="utf-8"> <!-- begin SEO --> 6 <title>Publications - Chathura Wimalasiri</title> 7 <link rel="canonical" href="https://academicpages.github.io/publications/"> 8
8<script 9 type="application/ld+json"> { "@context" : "http://schema.org", "@type" : "Person", "name" : "Chathura Wimalasiri", "url" : "https://academicpages.github.io", "sameAs" : null } </script>
9 10 <!-- end SEO --> <!-- Open Graph protocol data (https://ogp.me/), used by social media --> 11 <meta property="og:locale" content="en-US"> 12 <meta property="og:site_name" content="Chathura Wimalasiri"> 13 <meta property="og:title" content="Publications - Chathura Wimalasiri - PhD Candidate at UniMelb"> 14 <meta property="og:url" content="https://academicpages.github.io/publications/"> <!-- end Open Graph protocol --> 15 <link href="https://academicpages.github.io/feed.xml" type="application/atom+xml" rel="alternate" 16 title="Chathura Wimalasiri Feed"> <!-- http://t.co/dKP3o1e --> 17 <meta name="HandheldFriendly" content="True"> 18 <meta name="MobileOptimized" content="320"> 19 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 20
20<script> document.documentElement.className = document.documentElement.className.replace(/\bno-js\b/g, '') + ' js '; </script>
20 21 <!-- For all browsers --> 22 <link rel="stylesheet" href="https://academicpages.github.io/assets/css/main.css"> 23 <meta http-equiv="cleartype" content="on"> <!-- start custom head snippets --> <!-- Support for Academicons --> 24 <link rel="stylesheet" href="https://academicpages.github.io/assets/css/academicons.css" /> 25 <!-- favicon from https://commons.wikimedia.org/wiki/File:OOjs_UI_icon_academic-progressive.svg --> 26 <link rel="apple-touch-icon" sizes="180x180" href="assets/apple-touch-icon-180x180.png" /> 27 <link rel="icon" type="image/svg+xml" href="assets/favicon.svg" /> 28 <link rel="icon" type="image/png" href="assets/favicon-32x32.png" sizes="32x32" /> 29 <link rel="icon" type="image/png" href="assets/favicon-192x192.png" sizes="192x192" /> 30 <link rel="manifest" href="https://academicpages.github.io/images/manifest.json" /> 31 <link rel="icon" href="assets/favicon.ico" /> 32 <meta name="theme-color" content="#ffffff" /> 33 34 <style> 35 .content-section { 36 margin-bottom: 2rem; 37 padding: 1.5rem; 38 background: #f8f9fa; 39 border-radius: 8px; 40 border-left: 4px solid #007acc; 41 } 42 43 .section-title { 44 color: #2c3e50; 45 margin-bottom: 1rem; 46 font-size: 1.5rem; 47 font-weight: 600; 48 } 49 50 .education-item, 51 .experience-item { 52 margin-bottom: 1.5rem; 53 padding: 1rem; 54 background: white; 55 border-radius: 6px; 56 box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); 57 } 58 59 .institution, 60 .company { 61 font-weight: 600; 62 color: #2c3e50; 63 font-size: 1.1rem; 64 } 65 66 .degree, 67 .position { 68 color: #007acc; 69 font-weight: 500; 70 margin: 0.25rem 0; 71 } 72 73 .date { 74 color: #666; 75 font-size: 0.9rem; 76 font-style: italic; 77 } 78 79 .description { 80 margin-top: 0.5rem; 81 color: #555; 82 line-height: 1.5; 83 } 84 85 .news-list { 86 max-height: 500px; 87 overflow-y: auto; 88 padding-right: 10px; 89 } 90 91 .news-item { 92 margin-bottom: 1rem; 93 padding: 1rem; 94 background: white; 95 border-radius: 6px; 96 box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); 97 border-left: 3px solid #28a745; 98 } 99 100 .news-date { 101 color: #28a745; 102 font-weight: 600; 103 font-size: 0.9rem; 104 } 105 106 .news-content { 107 margin-top: 0.5rem; 108 color: #333; 109 } 110 111 /* #theme-toggle { 112 position: absolute; 113 right: 1rem; 114 top: 50%; 115 transform: translateY(-50%); 116 } */ 117 118 .masthead__menu { 119 position: relative; 120 } 121 122 /* Publications specific styles */ 123 .publications-controls { 124 margin-bottom: 2rem; 125 padding: 1.5rem; 126 background: #f8f9fa; 127 border-radius: 8px; 128 border-left: 4px solid #007acc; 129 } 130 131 .search-container { 132 margin-bottom: 1rem; 133 } 134 135 .search-input { 136 width: 100%; 137 padding: 0.75rem; 138 border: 2px solid #ddd; 139 border-radius: 6px; 140 font-size: 1rem; 141 transition: border-color 0.3s ease; 142 } 143 144 .search-input:focus { 145 outline: none; 146 border-color: #007acc; 147 box-shadow: 0 0 0 3px rgba(0, 122, 204, 0.1); 148 } 149 150 .filter-container { 151 display: flex; 152 gap: 0.5rem; 153 flex-wrap: wrap; 154 } 155 156 .filter-btn { 157 padding: 0.5rem 1rem; 158 border: 2px solid #ddd; 159 background: white; 160 border-radius: 20px; 161 cursor: pointer; 162 transition: all 0.3s ease; 163 font-size: 0.9rem; 164 } 165 166 .filter-btn:hover { 167 border-color: #007acc; 168 } 169 170 .filter-btn.active { 171 background: #007acc; 172 color: white; 173 border-color: #007acc; 174 } 175 176 .publications-list { 177 margin-top: 1rem; 178 } 179 180 .publication-item { 181 margin-bottom: 1.5rem; 182 padding: 1.5rem; 183 background: white; 184 border-radius: 8px; 185 box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); 186 border-left: 4px solid #28a745; 187 transition: transform 0.2s ease, box-shadow 0.2s ease; 188 } 189 190 .publication-item:hover { 191 transform: translateY(-2px); 192 box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15); 193 } 194 195 .publication-item.hidden { 196 display: none; 197 } 198 199 .publication-title { 200 font-size: 1.2rem; 201 font-weight: 600; 202 color: #2c3e50; 203 margin-bottom: 0.5rem; 204 line-height: 1.4; 205 } 206 207 .publication-title a { 208 color: inherit; 209 text-decoration: none; 210 } 211 212 .publication-title a:hover { 213 color: #007acc; 214 } 215 216 .publication-authors { 217 color: #666; 218 margin-bottom: 0.5rem; 219 font-size: 1rem; 220 } 221 222 .publication-venue { 223 font-weight: 500; 224 color: #2c3e50; 225 margin-bottom: 0.5rem; 226 } 227 228 .publication-year { 229 color: #666; 230 font-size: 0.9rem; 231 margin-bottom: 0.75rem; 232 } 233 234 .publication-type { 235 display: inline-block; 236 padding: 0.25rem 0.75rem; 237 border-radius: 15px; 238 font-size: 0.8rem; 239 font-weight: 500; 240 margin-bottom: 0.5rem; 241 } 242 243 .type-conference { 244 background: #e3f2fd; 245 color: #1976d2; 246 } 247 248 .type-journal { 249 background: #f3e5f5; 250 color: #7b1fa2; 251 } 252 253 .type-preprint { 254 background: #fff3e0; 255 color: #f57c00; 256 } 257 258 .publication-links { 259 display: flex; 260 gap: 0.5rem; 261 flex-wrap: wrap; 262 margin-top: 0.75rem; 263 } 264 265 .publication-link { 266 padding: 0.4rem 0.8rem; 267 background: #007acc; 268 color: white; 269 text-decoration: none; 270 border-radius: 4px; 271 font-size: 0.85rem; 272 transition: background 0.3s ease; 273 } 274 275 .publication-link:hover { 276 background: #005a94; 277 color: white; 278 } 279 280 .publication-abstract { 281 margin-top: 0.75rem; 282 color: #555; 283 line-height: 1.5; 284 font-size: 0.95rem; 285 } 286 287 .no-results { 288 text-align: center; 289 padding: 2rem; 290 color: #666; 291 font-style: italic; 292 } 293 294 @media (max-width: 768px) { 295 .filter-container { 296 justify-content: center; 297 } 298 299 .publication-links { 300 justify-content: center; 301 } 302 } 303 </style> 304 305</head> 306 307<body> 308 <div class="masthead">
309 <div class="masthead__inner-wrap"> 310 <div class="masthead__menu"> 311 <nav id="site-nav" class="greedy-nav"> <button> 312 <div class="navicon"></div> 313 </button> 314 <ul class="visible-links"> 315 <li class="masthead__menu-item masthead__menu-item--lg persist"><a href="index.html">Chathura 316 Wimalasiri</a></li> 317 <li class="masthead__menu-item"><a href="publications.html">Publications</a></li> 318 <!-- <li id="theme-toggle" class="masthead__menu-item persist tail"> <a role="button" 319 aria-labelledby="theme-icon"><i id="theme-icon" class="fa-solid fa-sun" 320 aria-hidden="true" title="toggle theme"></i></a></li> --> 321 </ul> 322 <ul class="hidden-links hidden"></ul> 323 </nav> 324 </div> 325 </div> 326 </div> 327 <div id="main" role="main"> 328 <div class="sidebar sticky"> 329 <div itemscope itemtype="http://schema.org/Person"> 330 <div class="author__avatar"> <img src="images/chathura.png" class="author__avatar" 331 alt="Chathura Wimalasiri" fetchpriority="high" /></div> 332 <div class="author__content"> 333 <h3 class="author__name">Chathura Wimalasiri</h3> 334 <p class="author__bio">PhD Candidate at UniMelb</p> 335 </div> 336 <div class="author__urls-wrapper"> <button class="btn btn--inverse">Follow</button> 337 <ul class="author__urls social-icons"> <!-- Font Awesome icons / Biographic information --> 338 <li class="author__desktop"><i class="fas fa-fw fa-location-dot icon-pad-right" 339 aria-hidden="true"></i>Melbourne, Australia</li> 340 <li class="author__desktop"><i class="fas fa-fw fa-building-columns icon-pad-right" 341 aria-hidden="true"></i>University of Melbourne</li> 342 <li><a href="mailto:[email protected]"><i 343 class="fas fa-fw fa-envelope icon-pad-right" aria-hidden="true"></i>Email</a></li> 344 <!-- Font Awesome and Academicons icons / Academic websites --> 345 <li><a href="https://scholar.google.com/citations?user=CU201E4AAAAJ&hl=en"><i 346 class="ai ai-google-scholar ai-fw icon-pad-right"></i>Google Scholar</a></li> 347 <li><a href="https://orcid.org/0009-0006-0590-9725"><i 348 class="ai ai-orcid ai-fw icon-pad-right"></i>ORCID</a></li> 349 <li><a href="https://www.researchgate.net/profile/Chathura-Wimalasiri"><i 350 class="ai ai-researchgate ai-fw icon-pad-right"></i>ResearchGate</a></li> 351 <!-- Font Awesome icons / Repositories and software development --> 352 <li><a href="https://github.com/chathurawimalasiri"><i 353 class="fab fa-fw fa-github icon-pad-right" aria-hidden="true"></i>GitHub</a></li> 354 <!-- Font Awesome icons / Social media --> 355 <li><a href="https://www.linkedin.com/in/chathura-wimalasiri-b0637b1a1"><i 356 class="fab fa-fw fa-linkedin icon-pad-right" aria-hidden="true"></i>LinkedIn</a> 357 </li> 358 <li><a 359 href="https://outlook.office365.com/owa/calendar/[email protected]/b5c4aef1b7f14a6eac9fd8979d08c3f116176886565967848821/calendar.html"><i 360 class="fa fa-fw fa-calendar icon-pad-right" aria-hidden="true"></i>Calendar</a> 361 </li> 362 </ul> 363 </div> 364 </div> 365 </div> 366 367 <article class="page" itemscope itemtype="http://schema.org/CreativeWork"> 368 <div class="page__inner-wrap"> 369 <header> 370 <h1 class="page__title" itemprop="headline">Publications</h1> 371 </header> 372 <section class="page__content" itemprop="text"> 373 374 <!-- Search and Filter Controls --> 375 <div class="publications-controls"> 376 <div class="search-container"> 377 <input type="text" id="searchInput" class="search-input" 378 placeholder="Search publications by title"> 379 </div> 380 <div class="filter-container"> 381 <button class="filter-btn active" data-filter="all">All</button> 382 <button class="filter-btn" data-filter="conference">Conference</button> 383 <button class="filter-btn" data-filter="journal">Journal</button> 384 <button class="filter-btn" data-filter="preprint">Preprint</button> 385 </div> 386 </div> 387 388 <!-- Publications List --> 389 390 <div class="publications-list" id="publicationsList"> 391 392 <div class="publication-item" data-type="journal"> 393 <div class="publication-type type-journal">Journal</div> 394 395 <div class="publication-title"> 396 <a href="https://www.nature.com/articles/s41597-025-05906-9" target="_blank" 397 rel="noopener noreferrer"> 398 DenPAR: Annotated Intra-Oral Periapical Radiogra
398phs Dataset for Machine Learning 399 </a> 400 </div> 401 402 <div class="publication-authors"> 403 Sumudu Rasnayaka, Dhanushka Leuke Bandara, Amali Jayasundara, Ruwan Jayasinghe, 404 <strong>Chathura Wimalasiri</strong>, Piumal Rathnayake, Shamod Wijerathne, 405 Roshan Ragel, Vajira Thambawita, and Isuru Nawinne 406 </div> 407 408 <div class="publication-venue"> 409 <em>Scientific Data</em> (Nature Portfolio) 410 </div> 411 412 <div class="publication-year">2025</div> 413 414 <div class="publication-links"> 415 <a href="https://www.nature.com/articles/s41597-025-05906-9" class="publication-link" 416 target="_blank" rel="noopener noreferrer">Journal</a> 417 418 <a href="https://www.nature.com/articles/s41597-025-05906-9.pdf" 419 class="publication-link" target="_blank" rel="noopener noreferrer">PDF</a> 420 </div> 421 </div> 422 423 </div> 424 425 426 427 <div class="publication-item" data-type="journal"> 428 <div class="publication-type type-journal">Journal</div> 429 <div class="publication-title"> 430 <a href="https://www.nature.com/articles/s41598-026-38061-1" target="_blank" 431 rel="noopener noreferrer"> 432 AI-assisted radiographic analysis in detecting alveolar bone-loss severity and 433 patterns 434 </a> 435 </div> 436 <div class="publication-authors"> 437 <strong>Chathura Wimalasiri</strong>, Piumal Rathnayake, Shamod Wijerathne, Sumudu 438 Rasnayaka, Dhanushka Leuke Bandara, Roshan Ragel, Vajira Thambawita, Isuru Nawinne 439 </div> 440 <div class="publication-venue"> 441 <em>Scientific Reports</em> (Nature Portfolio) 442 </div> 443 <div class="publication-year">2026</div> 444 <div class="publication-links"> 445 <a href="https://www.nature.com/articles/s41598-026-38061-1" class="publication-link" 446 target="_blank" rel="noopener noreferrer">Journal</a> 447 <a href="https://www.nature.com/articles/s41598-026-38061-1.pdf" class="publication-link" 448 target="_blank">PDF</a> 449 <!-- <a href="#" class="publication-link">Code</a> --> 450 </div> 451 </div> 452 453 <div class="publication-item" data-type="preprint"> 454 <div class="publication-type type-preprint">Preprint</div> 455 456 <div class="publication-title"> 457 <a href="https://arxiv.org/abs/2405.16478" target="_blank" 458 rel="noopener noreferrer"> 459 Vision-based approach for food weight estimation from 2D images 460 </a> 461 </div> 462 463 <div class="publication-authors"> 464 <strong>Chathura Wimalasiri</strong>, Prasan Kumar Sahoo 465 </div> 466 467 <div class="publication-venue"> 468 <em> arxiv </em> 469 </div> 470 471 <div class="publication-year">2024</div> 472 473 <div class="publication-links"> 474 <a href="https://arxiv.org/abs/2405.16478" class="publication-link" 475 target="_blank" rel="noopener noreferrer">Preprint</a> 476 477 <a href="https://arxiv.org/pdf/2405.16478.pdf" 478 class="publication-link" target="_blank" rel="noopener noreferrer">PDF</a> 479 </div> 480 </div> 481 482 <!-- <div class="publication-item" data-type="preprint"> 483 <div class="publication-type type-preprint">Preprint</div> 484 485 <div class="publication-title"> 486 <a href="https://arxiv.org/abs/2605.23995" target="_blank" 487 rel="noopener noreferrer"> 488 Task-Aligned Self-Supervised Learning for Medical Image Analysis: A Systematic Review and Practical Design Guidelines 489 </a> 490 </div> 491 492 <div class="publication-authors"> 493 <strong>Chathura Wimalasiri</strong>, Kishor Nandakishor, Marimuthu Palaniswami 494 </div> 495 496 <div class="publication-venue"> 497 <em> arxiv </em> 498 </div> 499 500 <div class="publication-year">2026</div> 501 502 <div class="publication-links"> 503 <a href="https://arxiv.org/abs/2605.23995" class="publication-link" 504 target="_blank" rel="noopener noreferrer">Preprint</a> 505 506 <a href="https://arxiv.org/pdf/2605.23995.pdf" 507 class="publication-link" target="_blank" rel="noopener noreferrer">PDF</a> 508 </div> 509 </div> --> 510 511 512 <!-- <div class="publication-item" data-type="conference"> 513 <div class="publication-type type-conference">Conference</div> 514 <div class="publication-title"> 515 <a href="#" target="_blank" rel="noopener noreferrer"> 516 Multimodal 3D Computer Vision for Spatial-Temporal Analysis 517 </a> 518 </div> 519 <div class="publication-authors"> 520 <strong>Chathura Wimalasiri</strong>, Alice Johnson, Bob Wilson 521 </div> 522 <div class="publication-venue"> 523 Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR) 524 </div> 525 <div class="publication-year">2024</div> 526 <div class="publication-abstract"> 527 We introduce a comprehensive framework for multimodal 3D computer vision that
528 effectively combines spatial and temporal dynamics for improved scene understanding and 529 object tracking in complex environments. 530 </div> 531 <div class="publication-links"> 532 <a href="#" class="publication-link">Paper</a> 533 <a href="#" class="publication-link">Supplementary</a> 534 <a href="#" class="publication-link">Code</a> 535 <a href="#" class="publication-link">Dataset</a> 536 </div> 537 </div> 538 539 <div class="publication-item" data-type="journal"> 540 <div class="publication-type type-journal">Journal</div> 541 <div class="publication-title"> 542 <a href="#" target="_blank" rel="noopener noreferrer"> 543 Advanced Computer Engineering Approaches for IoT Systems 544 </a> 545 </div> 546 <div class="publication-authors"> 547 David Lee, <strong>Chathura Wimalasiri</strong>, Sarah Brown 548 </div> 549 <div class="publication-venue"> 550 IEEE Transactions on Computer Engineering 551 </div> 552 <div class="publication-year">2024</div> 553 <div class="publication-abstract"> 554 This work presents advanced computer engineering methodologies for developing efficient 555 and scalable IoT systems, with particular focus on embedded systems integration and 556 network optimization. 557 </div> 558 <div class="publication-links"> 559 <a href="#" class="publication-link">IEEE Xplore</a> 560 <a href="#" class="publication-link">PDF</a> 561 <a href="#" class="publication-link">Bibtex</a> 562 </div> 563 </div> 564 565 566 <div class="publication-item" data-type="conference"> 567 <div class="publication-type type-conference">Conference</div> 568 <div class="publication-title"> 569 <a href="#" target="_blank" rel="noopener noreferrer"> 570 Embedded Systems Security in Computer Networks 571 </a> 572 </div> 573 <div class="publication-authors"> 574 <strong>Chathura Wimalasiri</strong>, Michael Chen 575 </div> 576 <div class="publication-venue"> 577 International Conference on Embedded Systems and Networks (ESN) 578 </div> 579 <div class="publication-year">2023</div> 580 <div class="publication-abstract"> 581 A comprehensive study on security vulnerabilities in embedded systems within computer 582 networks, proposing novel defensive mechanisms and implementation strategies for 583 enhanced network security. 584 </div> 585 <div class="publication-links"> 586 <a href="#" class="publication-link">Paper</a> 587 <a href="#" class="publication-link">Slides</a> 588 <a href="#" class="publication-link">Code</a> 589 </div> 590 </div> --> 591 592 </div> 593 594 <!-- No Results Message --> 595 <div id="noResults" class="no-results" style="display: none;">
596 No publications found matching your search criteria. 597 </div> 598 599 </section> 600 </div> 601 </article> 602 </div> 603 604 <!-- <div class="page__footer"> 605 <footer> 606 <div class="page__footer-follow"> 607 <ul class="social-icons"> 608 <li><strong>Follow:</strong></li> 609 <li><a href="http://github.com/chathurawimalasiri"><i class="fab fa-github" aria-hidden="true"></i> 610 GitHub</a></li> 611 <li><a href="https://academicpages.github.io/feed.xml"><i class="fa fa-fw fa-rss-square" 612 aria-hidden="true"></i> Feed</a></li> 613 </ul> 614 </div> 615 <div class="page__footer-copyright"> © 2025 Chathura Wimalasiri, Powered by <a href="http://jekyllrb.com" 616 rel="nofollow">Jekyll</a> & <a 617 href="https://github.com/academicpages/academicpages.github.io">AcademicPages</a>, a fork of <a 618 href="https://mademistakes.com/work/minimal-mistakes-jekyll-theme/" rel="nofollow">Minimal 619 Mistakes</a>.<br /> Site last updated 2025-08-06</div> 620 </footer> 621 </div> --> 622 623
623<script type="module" src="https://academicpages.github.io/assets/js/main.min.js"></script>
623 624 625
625<script> 626 // Publications filtering and search functionality 627 document.addEventListener('DOMContentLoaded', function () { 628 const searchInput = document.getElementById('searchInput'); 629 const filterButtons = document.querySelectorAll('.filter-btn'); 630 const publicationItems = document.querySelectorAll('.publication-item'); 631 const noResults = document.getElementById('noResults'); 632 633 let currentFilter = 'all'; 634 635 // Filter functionality 636 filterButtons.forEach(btn => { 637 btn.addEventListener('click', function () { 638 // Update active button 639 filterButtons.forEach(b => b.classList.remove('active')); 640 this.classList.add('active'); 641 642 currentFilter = this.getAttribute('data-filter'); 643 filterPublications(); 644 }); 645 }); 646 647 // Search functionality 648 let debounceTimer; 649 searchInput.addEventListener('input', function () { 650 clearTimeout(debounceTimer); 651 debounceTimer = setTimeout(() => { 652 filterPublications(); 653 }, 200); // 200ms delay after user stops typing 654 }); 655 656 function filterPublications() { 657 const searchTerm = searchInput.value.toLowerCase(); 658 let visibleCount = 0; 659 660 publicationItems.forEach(item => { 661 const type = item.getAttribute('data-type'); 662 const title = item.querySelector('.publication-title').textContent.toLowerCase(); 663 664 const matchesFilter = currentFilter === 'all' || type === currentFilter; 665 const matchesSearch = searchTerm === '' || title.includes(searchTerm); 666 667 if (matchesFilter && matchesSearch) { 668 item.classList.remove('hidden'); 669 visibleCount++; 670 } else { 671 item.classList.add('hidden'); 672 } 673 }); 674 675 noResults.style.display = visibleCount === 0 ? 'block' : 'none'; 676 } 677 678 // Sort publications by year, newest first 679 const list = document.getElementById('publicationsList'); 680 [...document.querySelectorAll('.publication-item')] 681 .sort((a, b) => { 682 const yearA = parseInt(a.querySelector('.publication-year').textContent, 10); 683 const yearB = parseInt(b.querySelector('.publication-year').textContent, 10); 684 return yearB - yearA; 685 }) 686 .forEach(item => list.appendChild(item)); 687 688 }); 689 </script>
689 690 691
691<script> 692 (function () { 693 const root = document.documentElement; 694 695 // Always default to LIGHT (ignores OS/browser dark) 696 const saved = localStorage.getItem("theme"); 697 root.dataset.theme = saved || "light"; 698 699 const btn = document.getElementById("theme-toggle"); 700 const icon = document.getElementById("theme-icon"); 701 702 function syncIcon(theme) { 703 if (!icon) return; 704 icon.className = theme === "dark" ? "fa-solid fa-moon" : "fa-solid fa-sun"; 705 } 706 syncIcon(root.dataset.theme); 707 708 if (!btn) return; 709 btn.addEventListener("click", function (e) { 710 e.preventDefault(); 711 const next = root.dataset.theme === "dark" ? "light" : "dark"; 712 root.dataset.theme = next; 713 localStorage.setItem("theme", next); 714 syncIcon(next); 715 }); 716 })(); 717 </script>
717 718 719 720</body> 721 722</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.