mirror of
https://github.com/Ed94/metadesk.git
synced 2026-07-21 23:12:01 -07:00
string split cleanup
This commit is contained in:
@@ -1,91 +1,94 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"><meta name="author" content="Ryan Fleury">
|
||||
<meta property="og:title" content="Test Blog #1">
|
||||
<meta name="twitter:title" content="Test Blog #1">
|
||||
<link rel="canonical" href="https://example.site">
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:url" content="https://example.site">
|
||||
<meta property="og:site_name" content="Example Site">
|
||||
<meta name="twitter:card" content="summary">
|
||||
<meta name="twitter:site" content="@ryanjfleury">
|
||||
<link rel="stylesheet" type="text/css" href="style.css">
|
||||
<script src="site.js"></script>
|
||||
<title>Test Blog #1 | Example Site</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="header">
|
||||
<h1>Example Site</h1>
|
||||
<a href="#">Test Link 1</a>
|
||||
<a href="#">Test Link 2</a>
|
||||
<a href="#">Test Link 3</a>
|
||||
</div>
|
||||
<div class="page_content">
|
||||
<div class="standalone_link_container"><a class="link" href="blog_main.html">← Back</a></div><h1 class="title">Test Blog #1</h1><h2 class="subtitle">This is my test blog.</h2><h3 class="date">30 November 2020</h3><h2 class="subtitle">Section 1</h2>
|
||||
<p class="paragraph">
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse ut ornare neque, vitae finibus leo. Praesent pulvinar, urna id lobortis iaculis, velit turpis luctus tortor, quis malesuada neque neque vitae turpis. Phasellus id molestie elit. Sed elementum ipsum a ligula semper, at varius augue rutrum. Pellentesque fringilla, orci nec fringilla finibus, turpis lacus vehicula elit, nec bibendum magna est quis massa. Aliquam efficitur facilisis nibh, ut sodales sapien scelerisque nec. Integer justo sem, pellentesque et ante imperdiet, interdum placerat sem.</p>
|
||||
<p class="paragraph">Nunc hendrerit lobortis commodo. Morbi felis quam, fermentum vitae libero vitae, fermentum sodales quam. Nulla bibendum tellus quis lorem sollicitudin pretium. Etiam commodo ex eget aliquet porta. In sit amet dui eleifend, mattis sem nec, tristique erat. Morbi malesuada fringilla bibendum. Integer odio ex, cursus a sodales quis, vehicula non dolor.</p>
|
||||
<p class="paragraph">Praesent vitae pharetra felis. Curabitur non ex non nunc pretium feugiat eu sit amet turpis. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Aenean blandit ante leo. Vivamus iaculis mi vel sem tincidunt maximus. Aenean elementum ipsum non laoreet semper. Morbi non felis interdum lectus pulvinar mollis id non purus. Nullam eu ipsum ut turpis aliquam feugiat at non tellus. Suspendisse ornare erat quis enim ullamcorper, at rhoncus nulla suscipit.
|
||||
</p>
|
||||
<div class="img_container"><img class="img" src="test.png"></img></div>
|
||||
<h2 class="subtitle">Section 2</h2>
|
||||
<p class="paragraph">
|
||||
Aliquam quis diam at sem interdum imperdiet. Nunc imperdiet ligula tempus nibh semper mattis. Suspendisse fringilla molestie semper. Sed felis dolor, vehicula et tempus sed, porttitor finibus lacus. Pellentesque egestas ex finibus, facilisis tellus suscipit, accumsan turpis. Ut imperdiet vitae nisl eget vestibulum. Donec eu bibendum erat, id maximus magna. Vivamus quis rhoncus justo. Morbi eget commodo lorem, vulputate varius ipsum. Interdum et malesuada fames ac ante ipsum primis in faucibus. Integer accumsan, sem vel rutrum cursus, odio enim sodales leo, sit amet rutrum odio purus at nisi. Fusce iaculis ante id nunc volutpat tincidunt. Duis nec tincidunt ipsum. Fusce vitae odio ac velit sollicitudin maximus. Vestibulum ante dui, varius auctor ante eu, gravida laoreet justo.</p>
|
||||
<p class="paragraph">Vivamus dignissim mauris nec turpis convallis, vitae pellentesque sapien faucibus. Phasellus eu euismod elit, sit amet vehicula diam. Curabitur sit amet leo magna. In est erat, congue vel euismod id, venenatis vitae mauris. Vestibulum sit amet leo eget leo ornare feugiat. Interdum et malesuada fames ac ante ipsum primis in faucibus. Vivamus at efficitur ex, a mattis lorem. Maecenas blandit tincidunt tortor vel cursus. In in purus a nisi pretium venenatis in ut lacus. Maecenas venenatis rutrum laoreet. Donec aliquam leo vel risus cursus, placerat pretium lacus fringilla. Suspendisse ut porttitor mauris.
|
||||
</p>
|
||||
<iframe width="560" height="315" src="https://www.youtube.com/embed/BjdY1eXB6cY" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
|
||||
<h2 class="subtitle">Section 3</h2>
|
||||
<ul class="list">
|
||||
<li class="list_item">
|
||||
<p class="paragraph">hello</p>
|
||||
</li>
|
||||
<li class="list_item">
|
||||
<p class="paragraph">world</p>
|
||||
</li>
|
||||
<li class="list_item">
|
||||
<p class="paragraph">foo</p>
|
||||
</li>
|
||||
<ul class="list">
|
||||
<li class="list_item">
|
||||
<p class="paragraph">a</p>
|
||||
</li>
|
||||
<li class="list_item">
|
||||
<p class="paragraph">b</p>
|
||||
</li>
|
||||
<li class="list_item">
|
||||
<p class="paragraph">c</p>
|
||||
</li>
|
||||
</ul>
|
||||
<li class="list_item">
|
||||
<p class="paragraph">another list item</p>
|
||||
</li>
|
||||
</ul>
|
||||
<h2 class="subtitle">Section 4</h2>
|
||||
<pre class="code">
|
||||
char *html_tag = "p";
|
||||
if(DD_NodeHasTag(node, DD_S8Lit("title")))
|
||||
{
|
||||
html_tag = "h1";
|
||||
}
|
||||
else if(DD_NodeHasTag(node, DD_S8Lit("subtitle")))
|
||||
{
|
||||
html_tag = "h2";
|
||||
}
|
||||
else if(DD_NodeHasTag(node, DD_S8Lit("code")))
|
||||
{
|
||||
html_tag = "pre";
|
||||
}
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
<div class="footer">
|
||||
<h4>Example Site Footer</h4>
|
||||
<a href="#">Test Link 1</a>
|
||||
<a href="#">Test Link 2</a>
|
||||
<a href="#">Test Link 3</a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"><meta name="author" content="Ryan Fleury">
|
||||
<meta property="og:title" content="Test Blog #1">
|
||||
<meta name="twitter:title" content="Test Blog #1">
|
||||
<link rel="canonical" href="https://example.site">
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:url" content="https://example.site">
|
||||
<meta property="og:site_name" content="Example Site">
|
||||
<meta name="twitter:card" content="summary">
|
||||
<meta name="twitter:site" content="@ryanjfleury">
|
||||
<link rel="stylesheet" type="text/css" href="style.css">
|
||||
<script src="site.js"></script>
|
||||
<title>Test Blog #1 | Example Site</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
|
||||
<div class="header">
|
||||
|
||||
<h1>Example Site</h1>
|
||||
|
||||
<a href="#">Test Link 1</a>
|
||||
|
||||
<a href="#">Test Link 2</a>
|
||||
|
||||
<a href="#">Test Link 3</a>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="page_content">
|
||||
<div class="standalone_link_container"><a class="link" href="blog_main.html">← Back</a></div><h1 class="title">Test Blog #1</h1><h2 class="subtitle">This is my test blog.</h2><h3 class="date">30 November 2020</h3><h2 class="subtitle">Section 1</h2>
|
||||
<p class="paragraph">
|
||||
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse ut ornare neque, vitae finibus leo. Praesent pulvinar, urna id lobortis iaculis, velit turpis luctus tortor, quis malesuada neque neque vitae turpis. Phasellus id molestie elit. Sed elementum ipsum a ligula semper, at varius augue rutrum. Pellentesque fringilla, orci nec fringilla finibus, turpis lacus vehicula elit, nec bibendum magna est quis massa. Aliquam efficitur facilisis nibh, ut sodales sapien scelerisque nec. Integer justo sem, pellentesque et ante imperdiet, interdum placerat sem.
|
||||
|
||||
|
||||
|
||||
Nunc hendrerit lobortis commodo. Morbi felis quam, fermentum vitae libero vitae, fermentum sodales quam. Nulla bibendum tellus quis lorem sollicitudin pretium. Etiam commodo ex eget aliquet porta. In sit amet dui eleifend, mattis sem nec, tristique erat. Morbi malesuada fringilla bibendum. Integer odio ex, cursus a sodales quis, vehicula non dolor.
|
||||
|
||||
|
||||
|
||||
Praesent vitae pharetra felis. Curabitur non ex non nunc pretium feugiat eu sit amet turpis. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Aenean blandit ante leo. Vivamus iaculis mi vel sem tincidunt maximus. Aenean elementum ipsum non laoreet semper. Morbi non felis interdum lectus pulvinar mollis id non purus. Nullam eu ipsum ut turpis aliquam feugiat at non tellus. Suspendisse ornare erat quis enim ullamcorper, at rhoncus nulla suscipit.
|
||||
|
||||
</p>
|
||||
<div class="img_container"><img class="img" src="test.png"></img></div>
|
||||
<h2 class="subtitle">Section 2</h2>
|
||||
<p class="paragraph">
|
||||
|
||||
Aliquam quis diam at sem interdum imperdiet. Nunc imperdiet ligula tempus nibh semper mattis. Suspendisse fringilla molestie semper. Sed felis dolor, vehicula et tempus sed, porttitor finibus lacus. Pellentesque egestas ex finibus, facilisis tellus suscipit, accumsan turpis. Ut imperdiet vitae nisl eget vestibulum. Donec eu bibendum erat, id maximus magna. Vivamus quis rhoncus justo. Morbi eget commodo lorem, vulputate varius ipsum. Interdum et malesuada fames ac ante ipsum primis in faucibus. Integer accumsan, sem vel rutrum cursus, odio enim sodales leo, sit amet rutrum odio purus at nisi. Fusce iaculis ante id nunc volutpat tincidunt. Duis nec tincidunt ipsum. Fusce vitae odio ac velit sollicitudin maximus. Vestibulum ante dui, varius auctor ante eu, gravida laoreet justo.
|
||||
|
||||
|
||||
|
||||
Vivamus dignissim mauris nec turpis convallis, vitae pellentesque sapien faucibus. Phasellus eu euismod elit, sit amet vehicula diam. Curabitur sit amet leo magna. In est erat, congue vel euismod id, venenatis vitae mauris. Vestibulum sit amet leo eget leo ornare feugiat. Interdum et malesuada fames ac ante ipsum primis in faucibus. Vivamus at efficitur ex, a mattis lorem. Maecenas blandit tincidunt tortor vel cursus. In in purus a nisi pretium venenatis in ut lacus. Maecenas venenatis rutrum laoreet. Donec aliquam leo vel risus cursus, placerat pretium lacus fringilla. Suspendisse ut porttitor mauris.
|
||||
|
||||
</p>
|
||||
<iframe width="560" height="315" src="https://www.youtube.com/embed/BjdY1eXB6cY" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
|
||||
<h2 class="subtitle">Section 3</h2>
|
||||
<ul class="list">
|
||||
<li class="list_item">
|
||||
<p class="paragraph">hello</p>
|
||||
</li>
|
||||
<li class="list_item">
|
||||
<p class="paragraph">world</p>
|
||||
</li>
|
||||
<li class="list_item">
|
||||
<p class="paragraph">foo</p>
|
||||
</li>
|
||||
<ul class="list">
|
||||
<li class="list_item">
|
||||
<p class="paragraph">a</p>
|
||||
</li>
|
||||
<li class="list_item">
|
||||
<p class="paragraph">b</p>
|
||||
</li>
|
||||
<li class="list_item">
|
||||
<p class="paragraph">c</p>
|
||||
</li>
|
||||
</ul>
|
||||
<li class="list_item">
|
||||
<p class="paragraph">another list item</p>
|
||||
</li>
|
||||
</ul>
|
||||
<h2 class="subtitle">Section 4</h2>
|
||||
<pre class="code">
|
||||
|
||||
char *html_tag = "p";
|
||||
|
||||
if(DD_NodeHasTag(node, DD_S8Lit("title")))
|
||||
|
||||
{
|
||||
|
||||
|
||||
@@ -1,43 +1,45 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"><meta name="author" content="Ryan Fleury">
|
||||
<meta property="og:title" content="Hello, Again!">
|
||||
<meta name="twitter:title" content="Hello, Again!">
|
||||
<link rel="canonical" href="https://example.site">
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:url" content="https://example.site">
|
||||
<meta property="og:site_name" content="Example Site">
|
||||
<meta name="twitter:card" content="summary">
|
||||
<meta name="twitter:site" content="@ryanjfleury">
|
||||
<link rel="stylesheet" type="text/css" href="style.css">
|
||||
<script src="site.js"></script>
|
||||
<title>Hello, Again! | Example Site</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="header">
|
||||
<h1>Example Site</h1>
|
||||
<a href="#">Test Link 1</a>
|
||||
<a href="#">Test Link 2</a>
|
||||
<a href="#">Test Link 3</a>
|
||||
</div>
|
||||
<div class="page_content">
|
||||
<div class="standalone_link_container"><a class="link" href="blog_main.html">← Back</a></div><h1 class="title">Hello, Again!</h1><h2 class="subtitle">This is another test blog.</h2><h3 class="date">28 November 2020</h3><h2 class="subtitle">Section 1</h2>
|
||||
<p class="paragraph">
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse ut ornare neque, vitae finibus leo. Praesent pulvinar, urna id lobortis iaculis, velit turpis luctus tortor, quis malesuada neque neque vitae turpis. Phasellus id molestie elit. Sed elementum ipsum a ligula semper, at varius augue rutrum. Pellentesque fringilla, orci nec fringilla finibus, turpis lacus vehicula elit, nec bibendum magna est quis massa. Aliquam efficitur facilisis nibh, ut sodales sapien scelerisque nec. Integer justo sem, pellentesque et ante imperdiet, interdum placerat sem.</p>
|
||||
<p class="paragraph">Nunc hendrerit lobortis commodo. Morbi felis quam, fermentum vitae libero vitae, fermentum sodales quam. Nulla bibendum tellus quis lorem sollicitudin pretium. Etiam commodo ex eget aliquet porta. In sit amet dui eleifend, mattis sem nec, tristique erat. Morbi malesuada fringilla bibendum. Integer odio ex, cursus a sodales quis, vehicula non dolor.</p>
|
||||
<p class="paragraph">Praesent vitae pharetra felis. Curabitur non ex non nunc pretium feugiat eu sit amet turpis. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Aenean blandit ante leo. Vivamus iaculis mi vel sem tincidunt maximus. Aenean elementum ipsum non laoreet semper. Morbi non felis interdum lectus pulvinar mollis id non purus. Nullam eu ipsum ut turpis aliquam feugiat at non tellus. Suspendisse ornare erat quis enim ullamcorper, at rhoncus nulla suscipit.
|
||||
</p>
|
||||
<div class="img_container"><img class="img" src="test.png"></img></div>
|
||||
</div>
|
||||
|
||||
<div class="footer">
|
||||
<h4>Example Site Footer</h4>
|
||||
<a href="#">Test Link 1</a>
|
||||
<a href="#">Test Link 2</a>
|
||||
<a href="#">Test Link 3</a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"><meta name="author" content="Ryan Fleury">
|
||||
<meta property="og:title" content="Hello, Again!">
|
||||
<meta name="twitter:title" content="Hello, Again!">
|
||||
<link rel="canonical" href="https://example.site">
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:url" content="https://example.site">
|
||||
<meta property="og:site_name" content="Example Site">
|
||||
<meta name="twitter:card" content="summary">
|
||||
<meta name="twitter:site" content="@ryanjfleury">
|
||||
<link rel="stylesheet" type="text/css" href="style.css">
|
||||
<script src="site.js"></script>
|
||||
<title>Hello, Again! | Example Site</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
|
||||
<div class="header">
|
||||
|
||||
<h1>Example Site</h1>
|
||||
|
||||
<a href="#">Test Link 1</a>
|
||||
|
||||
<a href="#">Test Link 2</a>
|
||||
|
||||
<a href="#">Test Link 3</a>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="page_content">
|
||||
<div class="standalone_link_container"><a class="link" href="blog_main.html">← Back</a></div><h1 class="title">Hello, Again!</h1><h2 class="subtitle">This is another test blog.</h2><h3 class="date">28 November 2020</h3><h2 class="subtitle">Section 1</h2>
|
||||
<p class="paragraph">
|
||||
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse ut ornare neque, vitae finibus leo. Praesent pulvinar, urna id lobortis iaculis, velit turpis luctus tortor, quis malesuada neque neque vitae turpis. Phasellus id molestie elit. Sed elementum ipsum a ligula semper, at varius augue rutrum. Pellentesque fringilla, orci nec fringilla finibus, turpis lacus vehicula elit, nec bibendum magna est quis massa. Aliquam efficitur facilisis nibh, ut sodales sapien scelerisque nec. Integer justo sem, pellentesque et ante imperdiet, interdum placerat sem.
|
||||
|
||||
|
||||
|
||||
Nunc hendrerit lobortis commodo. Morbi felis quam, fermentum vitae libero vitae, fermentum sodales quam. Nulla bibendum tellus quis lorem sollicitudin pretium. Etiam commodo ex eget aliquet porta. In sit amet dui eleifend, mattis sem nec, tristique erat. Morbi malesuada fringilla bibendum. Integer odio ex, cursus a sodales quis, vehicula non dolor.
|
||||
|
||||
|
||||
|
||||
Praesent vitae pharetra felis. Curabitur non ex non nunc pretium feugiat eu sit amet turpis. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Aenean blandit ante leo. Vivamus iaculis mi vel sem tincidunt maximus. Aenean elementum ipsum non laoreet semper. Morbi non felis interdum lectus pulvinar mollis id non purus. Nullam eu ipsum ut turpis aliquam feugiat at non tellus. Suspendisse ornare erat quis enim ullamcorper, at rhoncus nulla suscipit.
|
||||
|
||||
@@ -1,68 +1,68 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"><meta name="author" content="Ryan Fleury">
|
||||
<meta property="og:title" content="Blog">
|
||||
<meta name="twitter:title" content="Blog">
|
||||
<link rel="canonical" href="https://example.site">
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:url" content="https://example.site">
|
||||
<meta property="og:site_name" content="Example Site">
|
||||
<meta name="twitter:card" content="summary">
|
||||
<meta name="twitter:site" content="@ryanjfleury">
|
||||
<link rel="stylesheet" type="text/css" href="style.css">
|
||||
<script src="site.js"></script>
|
||||
<title>Blog | Example Site</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="header">
|
||||
<h1>Example Site</h1>
|
||||
<a href="#">Test Link 1</a>
|
||||
<a href="#">Test Link 2</a>
|
||||
<a href="#">Test Link 3</a>
|
||||
</div>
|
||||
<div class="page_content">
|
||||
<h1 class="title">Blog</h1><input autofocus id="lister_search_0" class="lister_search" oninput="SearchInput(event, 0)" onkeydown="SearchKeyDown(event, 0)" placeholder="Filter..."></input><ul id="lister_0" class="lister">
|
||||
<a class="lister_item_link" href="blog1.html">
|
||||
<li class="lister_item">
|
||||
<div class="lister_item_text">
|
||||
<div class="lister_item_title">
|
||||
Test Blog #1
|
||||
</div>
|
||||
<div class="lister_item_date">
|
||||
30 November 2020
|
||||
</div>
|
||||
<div class="lister_item_desc">
|
||||
This is my test blog.
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<a class="lister_item_link" href="blog2.html">
|
||||
<li class="lister_item">
|
||||
<div class="lister_item_text">
|
||||
<div class="lister_item_title">
|
||||
Hello, Again!
|
||||
</div>
|
||||
<div class="lister_item_date">
|
||||
28 November 2020
|
||||
</div>
|
||||
<div class="lister_item_desc">
|
||||
This is another test blog.
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="footer">
|
||||
<h4>Example Site Footer</h4>
|
||||
<a href="#">Test Link 1</a>
|
||||
<a href="#">Test Link 2</a>
|
||||
<a href="#">Test Link 3</a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"><meta name="author" content="Ryan Fleury">
|
||||
<meta property="og:title" content="Blog">
|
||||
<meta name="twitter:title" content="Blog">
|
||||
<link rel="canonical" href="https://example.site">
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:url" content="https://example.site">
|
||||
<meta property="og:site_name" content="Example Site">
|
||||
<meta name="twitter:card" content="summary">
|
||||
<meta name="twitter:site" content="@ryanjfleury">
|
||||
<link rel="stylesheet" type="text/css" href="style.css">
|
||||
<script src="site.js"></script>
|
||||
<title>Blog | Example Site</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
|
||||
<div class="header">
|
||||
|
||||
<h1>Example Site</h1>
|
||||
|
||||
<a href="#">Test Link 1</a>
|
||||
|
||||
<a href="#">Test Link 2</a>
|
||||
|
||||
<a href="#">Test Link 3</a>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="page_content">
|
||||
<h1 class="title">Blog</h1><input autofocus id="lister_search_0" class="lister_search" oninput="SearchInput(event, 0)" onkeydown="SearchKeyDown(event, 0)" placeholder="Filter..."></input><ul id="lister_0" class="lister">
|
||||
<a class="lister_item_link" href="blog1.html">
|
||||
<li class="lister_item">
|
||||
<div class="lister_item_text">
|
||||
<div class="lister_item_title">
|
||||
Test Blog #1
|
||||
</div>
|
||||
<div class="lister_item_date">
|
||||
30 November 2020
|
||||
</div>
|
||||
<div class="lister_item_desc">
|
||||
This is my test blog.
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<a class="lister_item_link" href="blog2.html">
|
||||
<li class="lister_item">
|
||||
<div class="lister_item_text">
|
||||
<div class="lister_item_title">
|
||||
Hello, Again!
|
||||
</div>
|
||||
<div class="lister_item_date">
|
||||
28 November 2020
|
||||
</div>
|
||||
<div class="lister_item_desc">
|
||||
This is another test blog.
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
@@ -1,61 +1,61 @@
|
||||
function StringFitsFilter(str, filter)
|
||||
{
|
||||
let match = true;
|
||||
let filter_upper = filter.toUpperCase();
|
||||
let filter_substrings = filter_upper.split(/[ _*]+/);
|
||||
let str_upper = str.toUpperCase();
|
||||
let minimum_index = 0;
|
||||
|
||||
for(let i = 0; i < filter_substrings.length; ++i)
|
||||
{
|
||||
if(filter_substrings[i].length > 0)
|
||||
{
|
||||
let index_of_substring = str_upper.indexOf(filter_substrings[i], minimum_index);
|
||||
if(index_of_substring < 0 || index_of_substring < minimum_index)
|
||||
{
|
||||
match = false;
|
||||
break;
|
||||
}
|
||||
minimum_index = index_of_substring + filter_substrings[i].length - 1;
|
||||
}
|
||||
}
|
||||
|
||||
return match;
|
||||
}
|
||||
|
||||
function UpdateListByFilter(menu_id, filter_id)
|
||||
{
|
||||
let ul = document.getElementById(menu_id);
|
||||
let li = ul.getElementsByTagName("li");
|
||||
let input = document.getElementById(filter_id);
|
||||
let filter = input.value.toUpperCase();
|
||||
for(let i = 0; i < li.length; i++)
|
||||
{
|
||||
if(filter.length > 0)
|
||||
{
|
||||
let a = li[i].getElementsByTagName("a")[0];
|
||||
if(StringFitsFilter(a.innerHTML, filter))
|
||||
{
|
||||
li[i].style.display = "";
|
||||
}
|
||||
else
|
||||
{
|
||||
li[i].style.display = "none";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
li[i].style.display = "";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function SearchInput(event, lister_idx)
|
||||
{
|
||||
UpdateListByFilter("lister_"+lister_idx, "lister_search_"+lister_idx);
|
||||
}
|
||||
|
||||
function SearchKeyDown(event, lister_idx)
|
||||
{
|
||||
UpdateListByFilter("lister_"+lister_idx, "lister_search_"+lister_idx);
|
||||
function StringFitsFilter(str, filter)
|
||||
|
||||
{
|
||||
|
||||
let match = true;
|
||||
|
||||
let filter_upper = filter.toUpperCase();
|
||||
|
||||
let filter_substrings = filter_upper.split(/[ _*]+/);
|
||||
|
||||
let str_upper = str.toUpperCase();
|
||||
|
||||
let minimum_index = 0;
|
||||
|
||||
|
||||
|
||||
for(let i = 0; i < filter_substrings.length; ++i)
|
||||
|
||||
{
|
||||
|
||||
if(filter_substrings[i].length > 0)
|
||||
|
||||
{
|
||||
|
||||
let index_of_substring = str_upper.indexOf(filter_substrings[i], minimum_index);
|
||||
|
||||
if(index_of_substring < 0 || index_of_substring < minimum_index)
|
||||
|
||||
{
|
||||
|
||||
match = false;
|
||||
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
minimum_index = index_of_substring + filter_substrings[i].length - 1;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
return match;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
function UpdateListByFilter(menu_id, filter_id)
|
||||
|
||||
{
|
||||
|
||||
let ul = document.getElementById(menu_id);
|
||||
|
||||
let li = ul.getElementsByTagName("li");
|
||||
|
||||
let input = document.getElementById(filter_id);
|
||||
|
||||
let filter = input.value.toUpperCase();
|
||||
@@ -1,6 +1,6 @@
|
||||
|
||||
*
|
||||
{
|
||||
padding: 0;
|
||||
margins: 0;
|
||||
}
|
||||
|
||||
|
||||
*
|
||||
|
||||
{
|
||||
|
||||
|
||||
+2
-5
@@ -451,7 +451,7 @@ typedef enum MD_TokenKind
|
||||
MD_TokenKind_Whitespace,
|
||||
MD_TokenKind_Newline,
|
||||
MD_TokenKind_WhitespaceMax,
|
||||
|
||||
|
||||
MD_TokenKind_NonASCII,
|
||||
// Provisional category to deal with single characters > 127
|
||||
// while we don't support encodings other than ASCII
|
||||
@@ -668,13 +668,10 @@ MD_FUNCTION MD_String8 MD_PushStringF(char *fmt, ...);
|
||||
|
||||
MD_FUNCTION void MD_PushStringToList(MD_String8List *list, MD_String8 string);
|
||||
MD_FUNCTION void MD_PushStringListToList(MD_String8List *list, MD_String8List *to_push);
|
||||
// TODO(rjf): Just simplify to a single splitter
|
||||
MD_FUNCTION MD_String8List MD_SplitString(MD_String8 string, int split_count, MD_String8 *splits);
|
||||
MD_FUNCTION MD_String8List MD_SplitStringByString(MD_String8 string, MD_String8 split);
|
||||
MD_FUNCTION MD_String8List MD_SplitStringByCharacter(MD_String8 string, MD_u8 character);
|
||||
// TODO(allen): single joiner with MD_StringJoin optional parameter
|
||||
MD_FUNCTION MD_String8 MD_JoinStringList(MD_String8List list);
|
||||
MD_FUNCTION MD_String8 MD_JoinStringListWithSeparator(MD_String8List list, MD_String8 separator);
|
||||
// TODO(rjf): Radix
|
||||
MD_FUNCTION MD_i64 MD_I64FromString(MD_String8 string, MD_u32 radix);
|
||||
MD_FUNCTION MD_f64 MD_F64FromString(MD_String8 string);
|
||||
MD_FUNCTION MD_u64 MD_HashString(MD_String8 string);
|
||||
|
||||
Reference in New Issue
Block a user