1<!DOCTYPE HTML> 2<html lang="en" class="rust sidebar-visible" dir="ltr"> 3 <head> 4 <!-- Book generated using mdBook --> 5 <meta charset="UTF-8"> 6 <title>Introduction</title> 7 8 9 <!-- Custom HTML head --> 10 11 <meta name="description" content=""> 12 <meta name="viewport" content="width=device-width, initial-scale=1"> 13 <meta name="theme-color" content="#ffffff"> 14 15 <link rel="icon" href="favicon.svg"> 16 <link rel="shortcut icon" href="favicon.png"> 17 <link rel="stylesheet" href="css/variables.css"> 18 <link rel="stylesheet" href="css/general.css"> 19 <link rel="stylesheet" href="css/chrome.css"> 20 <link rel="stylesheet" href="css/print.css" media="print"> 21 22 <!-- Fonts --> 23 <link rel="stylesheet" href="FontAwesome/css/font-awesome.css"> 24 <link rel="stylesheet" href="fonts/fonts.css"> 25 26 <!-- Highlight.js Stylesheets --> 27 <link rel="stylesheet" href="highlight.css"> 28 <link rel="stylesheet" href="tomorrow-night.css"> 29 <link rel="stylesheet" href="ayu-highlight.css"> 30 31 <!-- Custom theme stylesheets --> 32 33 34 <!-- Provide site root to javascript --> 35
35<script> 36 var path_to_root = ""; 37 var default_theme = window.matchMedia("(prefers-color-scheme: dark)").matches ? "ayu" : "rust"; 38 </script>
38 39 <!-- Start loading toc.js asap --> 40
40<script src="toc.js"></script>
40 41 </head> 42 <body> 43 <div id="body-container"> 44 <!-- Work around some values being stored in localStorage wrapped in quotes --> 45
45<script> 46 try { 47 var theme = localStorage.getItem('mdbook-theme'); 48 var sidebar = localStorage.getItem('mdbook-sidebar'); 49 50 if (theme.startsWith('"') && theme.endsWith('"')) { 51 localStorage.setItem('mdbook-theme', theme.slice(1, theme.length - 1)); 52 } 53 54 if (sidebar.startsWith('"') && sidebar.endsWith('"')) { 55 localStorage.setItem('mdbook-sidebar', sidebar.slice(1, sidebar.length - 1)); 56 } 57 } catch (e) { } 58 </script>
58 59 60 <!-- Set the theme before any content is loaded, prevents flash --> 61
61<script> 62 var theme; 63 try { theme = localStorage.getItem('mdbook-theme'); } catch(e) { } 64 if (theme === null || theme === undefined) { theme = default_theme; } 65 const html = document.documentElement; 66 html.classList.remove('rust') 67 html.classList.add(theme); 68 html.classList.add("js"); 69 </script>
69 70 71 <input type="checkbox" id="sidebar-toggle-anchor" class="hidden"> 72 73 <!-- Hide / unhide sidebar before it is displayed --> 74
74<script> 75 var sidebar = null; 76 var sidebar_toggle = document.getElementById("sidebar-toggle-anchor"); 77 if (document.body.clientWidth >= 1080) { 78 try { sidebar = localStorage.getItem('mdbook-sidebar'); } catch(e) { } 79 sidebar = sidebar || 'visible'; 80 } else { 81 sidebar = 'hidden'; 82 } 83 sidebar_toggle.checked = sidebar === 'visible'; 84 html.classList.remove('sidebar-visible'); 85 html.classList.add("sidebar-" + sidebar); 86 </script>
86 87 88 <nav id="sidebar" class="sidebar" aria-label="Table of contents"> 89 <!-- populated by js --> 90 <mdbook-sidebar-scrollbox class="sidebar-scrollbox"></mdbook-sidebar-scrollbox> 91 <noscript> 92 <iframe class="sidebar-iframe-outer" src="toc.html"></iframe> 93 </noscript> 94 <div id="sidebar-resize-handle" class="sidebar-resize-handle"> 95 <div class="sidebar-resize-indicator"></div> 96 </div> 97 </nav> 98 99 <div id="page-wrapper" class="page-wrapper"> 100 101 <div class="page"> 102 <div id="menu-bar-hover-placeholder"></div> 103 <div id="menu-bar" class="menu-bar sticky"> 104 <div class="left-buttons"> 105 <label id="sidebar-toggle" class="icon-button" for="sidebar-toggle-anchor" title="Toggle Table of Contents" aria-label="Toggle Table of Contents" aria-controls="sidebar"> 106 <i class="fa fa-bars"></i> 107 </label> 108 <button id="theme-toggle" class="icon-button" type="button" title="Change theme" aria-label="Change theme" aria-haspopup="true" aria-expanded="false" aria-controls="theme-list"> 109 <i class="fa fa-paint-brush"></i> 110 </button> 111 <ul id="theme-list" class="theme-popup" aria-label="Themes" role="menu"> 112 <li role="none"><button role="menuitem" class="theme" id="light">Light</button></li> 113 <li role="none"><button role="menuitem" class="theme" id="rust">Rust</button></li> 114 <li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li> 115 <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li> 116 <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li> 117 </ul> 118 <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar"> 119 <i class="fa fa-search"></i> 120 </button> 121 </div> 122 123 <h1 class="menu-title"></h1> 124 125 <div class="right-buttons"> 126 <a href="print.html" title="Print this book" aria-label="Print this book"> 127 <i id="print-button" class="fa fa-print"></i> 128 </a> 129 130 </div> 131 </div> 132 133 <div id="search-wrapper" class="hidden"> 134 <form id="searchbar-outer" class="searchbar-outer"> 135 <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header"> 136 </form> 137 <div id="searchresults-outer" class="searchresults-outer hidden"> 138 <div id="searchresults-header" class="searchresults-header"></div> 139 <ul id="searchresults"> 140 </ul> 141 </div> 142 </div> 143 144 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM --> 145
145<script> 146 document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible'); 147 document.getElementById('sidebar').setAttribute('aria-hidden', sidebar !== 'visible'); 148 Array.from(document.querySelectorAll('#sidebar a')).forEach(function(link) { 149 link.setAttribute('tabIndex', sidebar === 'visible' ? 0 : -1); 150 }); 151 </script>
151 152 153 <div id="content" class="content"> 154 <main> 155 <h1 id="introduction"><a class="header" href="#introduction">Introduction</a></h1> 156<p>Simple website for recommending Harry Potter fanfiction.</p> 157<p>Built using <a href="https://rust-lang.github.io/mdBook/">mdbook</a> and <a href="https://pages.github.com/">GitHub Pages</a>.</p> 158<h2 id="recommendations"><a class="header" href="#recommendations">Recommendations</a></h2> 159<h3 id="community-recs"><a class="header" href="#community-recs">Community Recs</a></h3> 160<p>Community Recs are fics I've prompted the community input from (or have wholesale copied recommendations lists from the community), so they might appeal more broadly.</p> 161<blockquote> 162<p>These tend to follow the pattern of <code>Longer</code>, <code>Shorter</code>, <code>One-shots</code>, <code>Ongoing</code>, and possibly <code>Unsorted</code>. With:</p> 163<ul> 164<li><code>Longer</code> indicating fics with word counts greater than 80k</li> 165<li><code>Shorter</code> indicating fics with word counts between 4k words and 80k words</li> 166<li><code>One-shots</code> indicating fics with word counts less than 4k words</li> 167<li><code>Ongoing</code> indicate fics that are not finished and updating</li> 168<li><code>Unorted</code> indicate fics that haven't been sorted yet</li> 169</ul> 170</blockquote> 171<ul> 172<li><a href="./recommendations/chibipot.html">chibipot</a> - Gabrielle Delacour/Harry Potter</li> 173<li><a href="./recommendations/flowerpot.html">flowerpot</a> - Fleur Delacour/Harry Potter</li> 174<li><a href="./recommendations/haphne.html">haphne</a> - Daphne Greengrass/Harry Potter</li> 175<li><a href="./recommendations/harmony.html">harmony</a> - Hermione Granger/Harry Potter</li> 176</ul> 177<h3 id="personal-recs"><a class="header" href="#personal-recs">Personal Recs</a></h3> 178<p>Personal Recs are fics I've chosen and thus are all over the place in terms of "quality" and might not suit your tastes.</p> 179<ul> 180<li><a href="./recommendations/milfoy.html">milfoy</a> - Narcissa Black Malfoy/Harry Potter</li> 181</ul> 182<h3 id="work-in-progress-recs"><a class="header" href="#work-in-progress-recs">Work in Progress Recs</a></h3> 183<p>Either I haven't started, or I need more fics before feeling confident in the recommendations.</p> 184<ul> 185<li><a href="./recommendations/hellatrix.html">hellatrix</a> - Bellatrix Black Lestrange/Harry Potter</li> 186<li><a href="./recommendations/hinny.html">hinny</a> - Ginny Weasley/Harry Potter</li> 187<li><a href="./recommendations/honks.html">honks</a> - Nymphadora Tonks/Harry Potter</li> 188<li><a href="./recommendations/huna.html">huna</a> - Luna Lovegood/Harry Potter</li> 189<li><a href="./recommendations/mult.html">mult</a> - Polyamory/Harem/etc.</li> 190</ul> 191<h2 id="glossary"><a class="header" href="#glossary">Glossary</a></h2> 192<h3 id="acronyms"><a class="header" href="#acronyms">Acronyms</a></h3> 193<ul> 194<li><code>EWE</code> - "Epilogue? What Epilogue?"; Fic is not compliant to the Epilogue</li> 195<li><code>PWP</code> - "Porn with Plot"; One of the tenants in writing the Fic is to write smut</li> 196</ul> 197<h3 id="pairings"><a class="header" href="#pairings">Pairings</a></h3> 198<ul> 199<li><code>Bonks</code> - Nymphadora Tonks/Bill Weasley</li> 200<li><code>Chibipot</code> - Gabrielle Delacour/Harry Potter</li> 201<li><code>Flowerpot</code> - Fleur Delacour/Harry Potter</li> 202<li><code>Haphne</code> - Daphne Greengrass/Harry Potter</li> 203<li><code>Harmony</code> - Hermione Granger/Harry Potter</li> 204<li><code>Harrissa</code> - Narcissa Malfoy/Harry Potter</li> 205<li><code>Hinny</code> - Ginny Weasley/Harry Potter</li> 206<li><code>Hellatrix</code> - Bellatrix Black Lestrange/Harry Potter</li> 207<li><code>Honks</code> - Nymphadora Tonks/Harry Potter</li> 208<li><code>Huna</code> - Luna Lovegood/Harry Potter</li> 209<li><code>Milfoy</code> - Narcissa Black Malfoy/Harry Potter</li> 210</ul> 211 212 </main> 213 214 <nav class="nav-wrapper" aria-label="Page navigation"> 215 <!-- Mobile navigation buttons --> 216 217 <a rel="next prefetch" href="recommendations/chibipot.html" class="mobile-nav-chapter
217s next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right"> 218 <i class="fa fa-angle-right"></i> 219 </a> 220 221 <div style="clear: both"></div> 222 </nav> 223 </div> 224 </div> 225 226 <nav class="nav-wide-wrapper" aria-label="Page navigation"> 227 228 <a rel="next prefetch" href="recommendations/chibipot.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right"> 229 <i class="fa fa-angle-right"></i> 230 </a> 231 </nav> 232 233 </div> 234 235 236 237 238
238<script> 239 window.playground_copyable = true; 240 </script>
240 241 242 243
243<script src="elasticlunr.min.js"></script>
243 244
244<script src="mark.min.js"></script>
244 245
245<script src="searcher.js"></script>
245 246 247
247<script src="clipboard.min.js"></script>
247 248
248<script src="highlight.js"></script>
248 249
249<script src="book.js"></script>
249 250 251 <!-- Custom JS scripts --> 252 253 254 </div> 255 </body> 256</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.