Add filter for “The Monster under the Bed”
authorDavid ‘Bombe’ Roden <bombe@pterodactylus.net>
Wed, 25 Jul 2018 18:23:14 +0000 (20:23 +0200)
committerDavid ‘Bombe’ Roden <bombe@pterodactylus.net>
Wed, 25 Jul 2018 18:23:14 +0000 (20:23 +0200)
src/main/kotlin/net/pterodactylus/rhynodge/filters/comics/TheMonsterUnderTheBedFilter.kt [new file with mode: 0644]
src/test/kotlin/net/pterodactylus/rhynodge/filters/comics/TheMonsterUnderTheBedFilterTest.kt [new file with mode: 0644]
src/test/resources/net/pterodactylus/rhynodge/filters/comics/the-monster-under-the-bed.html [new file with mode: 0644]

diff --git a/src/main/kotlin/net/pterodactylus/rhynodge/filters/comics/TheMonsterUnderTheBedFilter.kt b/src/main/kotlin/net/pterodactylus/rhynodge/filters/comics/TheMonsterUnderTheBedFilter.kt
new file mode 100644 (file)
index 0000000..0e151d2
--- /dev/null
@@ -0,0 +1,20 @@
+package net.pterodactylus.rhynodge.filters.comics
+
+import com.google.common.base.*
+import com.google.common.base.Optional.*
+import net.pterodactylus.rhynodge.filters.*
+import org.jsoup.nodes.*
+
+class TheMonsterUnderTheBedFilter : ComicSiteFilter() {
+
+       override fun extractTitle(document: Document): Optional<String> =
+                       document.select("h2.post-title").text().toOptional()
+
+       override fun extractImageUrls(document: Document): List<String> =
+                       document.select("div#comic img").map { it.attr("src") }
+
+       override fun extractImageComments(document: Document): List<String> = emptyList()
+
+}
+
+private fun <T> T?.toOptional(): Optional<T> = fromNullable(this)
diff --git a/src/test/kotlin/net/pterodactylus/rhynodge/filters/comics/TheMonsterUnderTheBedFilterTest.kt b/src/test/kotlin/net/pterodactylus/rhynodge/filters/comics/TheMonsterUnderTheBedFilterTest.kt
new file mode 100644 (file)
index 0000000..df159c5
--- /dev/null
@@ -0,0 +1,25 @@
+package net.pterodactylus.rhynodge.filters.comics
+
+import net.pterodactylus.rhynodge.filters.ResourceLoader.*
+import net.pterodactylus.rhynodge.states.*
+import net.pterodactylus.rhynodge.states.ComicState.*
+import org.hamcrest.MatcherAssert.*
+import org.hamcrest.Matchers.*
+import org.junit.*
+
+class TheMonsterUnderTheBedFilterTest {
+
+       private val filter = TheMonsterUnderTheBedFilter()
+       private val htmlState = loadDocument(TheMonsterUnderTheBedFilter::class.java, "the-monster-under-the-bed.html", "http://themonsterunderthebed.net/")
+                       .let { HtmlState("http://themonsterunderthebed.net/", it) }
+
+       @Test
+       fun `filter can parse comic from html`() {
+               val state = filter.filter(htmlState) as ComicState
+               assertThat(state.comics(), contains(
+                               Comic("#153 “Push”")
+                                               .add(Strip("http://themonsterunderthebed.net/wp-content/uploads/2018/07/153-Push.png", ""))
+               ))
+       }
+
+}
diff --git a/src/test/resources/net/pterodactylus/rhynodge/filters/comics/the-monster-under-the-bed.html b/src/test/resources/net/pterodactylus/rhynodge/filters/comics/the-monster-under-the-bed.html
new file mode 100644 (file)
index 0000000..fd42e33
--- /dev/null
@@ -0,0 +1,360 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US"> 
+<head>
+       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+       <link rel="stylesheet" href="http://themonsterunderthebed.net/wp-content/themes/comicpress/style.css" type="text/css" media="screen" />
+       <link rel="pingback" href="http://themonsterunderthebed.net/xmlrpc.php" />
+       <meta name="ComicPress" content="4.4" />
+<title>The Monster Under the Bed &#8211; “Embrace your fear.”</title>
+<link rel='dns-prefetch' href='//s0.wp.com' />
+<link rel='dns-prefetch' href='//s.w.org' />
+<link rel="alternate" type="application/rss+xml" title="The Monster Under the Bed &raquo; Feed" href="http://themonsterunderthebed.net/?feed=rss2" />
+<link rel="alternate" type="application/rss+xml" title="The Monster Under the Bed &raquo; Comments Feed" href="http://themonsterunderthebed.net/?feed=comments-rss2" />
+               <script type="text/javascript">
+                       window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/2.2.1\/72x72\/","ext":".png","svgUrl":"https:\/\/s.w.org\/images\/core\/emoji\/2.2.1\/svg\/","svgExt":".svg","source":{"concatemoji":"http:\/\/themonsterunderthebed.net\/wp-includes\/js\/wp-emoji-release.min.js?ver=90d43fe4464bc511b720dd7823ff526e"}};
+                       !function(a,b,c){function d(a){var b,c,d,e,f=String.fromCharCode;if(!k||!k.fillText)return!1;switch(k.clearRect(0,0,j.width,j.height),k.textBaseline="top",k.font="600 32px Arial",a){case"flag":return k.fillText(f(55356,56826,55356,56819),0,0),!(j.toDataURL().length<3e3)&&(k.clearRect(0,0,j.width,j.height),k.fillText(f(55356,57331,65039,8205,55356,57096),0,0),b=j.toDataURL(),k.clearRect(0,0,j.width,j.height),k.fillText(f(55356,57331,55356,57096),0,0),c=j.toDataURL(),b!==c);case"emoji4":return k.fillText(f(55357,56425,55356,57341,8205,55357,56507),0,0),d=j.toDataURL(),k.clearRect(0,0,j.width,j.height),k.fillText(f(55357,56425,55356,57341,55357,56507),0,0),e=j.toDataURL(),d!==e}return!1}function e(a){var c=b.createElement("script");c.src=a,c.defer=c.type="text/javascript",b.getElementsByTagName("head")[0].appendChild(c)}var f,g,h,i,j=b.createElement("canvas"),k=j.getContext&&j.getContext("2d");for(i=Array("flag","emoji4"),c.supports={everything:!0,everythingExceptFlag:!0},h=0;h<i.length;h++)c.supports[i[h]]=d(i[h]),c.supports.everything=c.supports.everything&&c.supports[i[h]],"flag"!==i[h]&&(c.supports.everythingExceptFlag=c.supports.everythingExceptFlag&&c.supports[i[h]]);c.supports.everythingExceptFlag=c.supports.everythingExceptFlag&&!c.supports.flag,c.DOMReady=!1,c.readyCallback=function(){c.DOMReady=!0},c.supports.everything||(g=function(){c.readyCallback()},b.addEventListener?(b.addEventListener("DOMContentLoaded",g,!1),a.addEventListener("load",g,!1)):(a.attachEvent("onload",g),b.attachEvent("onreadystatechange",function(){"complete"===b.readyState&&c.readyCallback()})),f=c.source||{},f.concatemoji?e(f.concatemoji):f.wpemoji&&f.twemoji&&(e(f.twemoji),e(f.wpemoji)))}(window,document,window._wpemojiSettings);
+               </script>
+               <style type="text/css">
+img.wp-smiley,
+img.emoji {
+       display: inline !important;
+       border: none !important;
+       box-shadow: none !important;
+       height: 1em !important;
+       width: 1em !important;
+       margin: 0 .07em !important;
+       vertical-align: -0.1em !important;
+       background: none !important;
+       padding: 0 !important;
+}
+</style>
+<link rel='stylesheet' id='jetpack_css-css'  href='http://themonsterunderthebed.net/wp-content/plugins/jetpack/css/jetpack.css?ver=5.6.1' type='text/css' media='all' />
+<link rel='stylesheet' id='comiceasel-style-css'  href='http://themonsterunderthebed.net/wp-content/plugins/comic-easel/css/comiceasel.css?ver=90d43fe4464bc511b720dd7823ff526e' type='text/css' media='all' />
+<script type='text/javascript' src='http://themonsterunderthebed.net/wp-includes/js/jquery/jquery.js?ver=1.12.4'></script>
+<script type='text/javascript' src='http://themonsterunderthebed.net/wp-includes/js/jquery/jquery-migrate.min.js?ver=1.4.1'></script>
+<script type='text/javascript' src='http://themonsterunderthebed.net/wp-content/themes/comicpress/js/ddsmoothmenu.js?ver=90d43fe4464bc511b720dd7823ff526e'></script>
+<script type='text/javascript' src='http://themonsterunderthebed.net/wp-content/themes/comicpress/js/menubar.js?ver=90d43fe4464bc511b720dd7823ff526e'></script>
+<link rel='https://api.w.org/' href='http://themonsterunderthebed.net/?rest_route=/' />
+<link rel="EditURI" type="application/rsd+xml" title="RSD" href="http://themonsterunderthebed.net/xmlrpc.php?rsd" />
+<link rel="wlwmanifest" type="application/wlwmanifest+xml" href="http://themonsterunderthebed.net/wp-includes/wlwmanifest.xml" /> 
+
+<link rel='shortlink' href='https://wp.me/5lsCc' />
+<script type="text/javascript">
+(function(url){
+       if(/(?:Chrome\/26\.0\.1410\.63 Safari\/537\.31|WordfenceTestMonBot)/.test(navigator.userAgent)){ return; }
+       var addEvent = function(evt, handler) {
+               if (window.addEventListener) {
+                       document.addEventListener(evt, handler, false);
+               } else if (window.attachEvent) {
+                       document.attachEvent('on' + evt, handler);
+               }
+       };
+       var removeEvent = function(evt, handler) {
+               if (window.removeEventListener) {
+                       document.removeEventListener(evt, handler, false);
+               } else if (window.detachEvent) {
+                       document.detachEvent('on' + evt, handler);
+               }
+       };
+       var evts = 'contextmenu dblclick drag dragend dragenter dragleave dragover dragstart drop keydown keypress keyup mousedown mousemove mouseout mouseover mouseup mousewheel scroll'.split(' ');
+       var logHuman = function() {
+               if (window.wfLogHumanRan) { return; }
+               window.wfLogHumanRan = true;
+               var wfscr = document.createElement('script');
+               wfscr.type = 'text/javascript';
+               wfscr.async = true;
+               wfscr.src = url + '&r=' + Math.random();
+               (document.getElementsByTagName('head')[0]||document.getElementsByTagName('body')[0]).appendChild(wfscr);
+               for (var i = 0; i < evts.length; i++) {
+                       removeEvent(evts[i], logHuman);
+               }
+       };
+       for (var i = 0; i < evts.length; i++) {
+               addEvent(evts[i], logHuman);
+       }
+})('//themonsterunderthebed.net/?wordfence_lh=1&hid=A25D80440CCE2447F267816A5FC0DD5B');
+</script><meta name="Comic-Easel" content="1.14" />\r
+<meta name="Referrer" content="" />\r
+<style type='text/css'>img#wpstats{display:none}</style><!--Customizer CSS-->
+<style type="text/css">
+       #page { width: 1214px; max-width: 1214px; }\r
+       #add-width { width: 10px; }\r
+       #content-column { width: 796px; max-width: 100%; }\r
+       #sidebar-right { width: 204px; }\r
+       #sidebar-left { width: 204px; }\r
+       h2.widget-title { color: #ffffff!important; }\r
+       .menu ul li a:link, .menu ul li a:visited, .mininav-prev a, .mininav-next a, a.menunav-rss { color: #ffffff!important; }\r
+</style>
+<!--/Customizer CSS-->
+      <style type="text/css">
+       #header { width: 1452px; height: 310px; background: url('http://themonsterunderthebed.net/wp-content/uploads/2017/06/cropped-Monster-Header-4.png') top center no-repeat; overflow: hidden; }
+       #header h1 { padding: 0; }
+       #header h1 a { display: block; width: 1452px; height: 310px; text-indent: -9999px; }
+       .header-info, .header-info h1 a { padding: 0; }
+</style>
+       <style type="text/css" id="custom-background-css">
+body.custom-background { background-color: #1c2c5b; background-image: url("http://themonsterunderthebed.net/wp-content/themes/comicpress/images/background.jpg"); background-position: left top; background-size: auto; background-repeat: repeat; background-attachment: scroll; }
+</style>
+<link rel="me" href="https://twitter.com/TMUTBcomic" /><meta name="twitter:widgets:theme" content="dark" /><meta name="twitter:partner" content="tfwp" />
+<meta name="twitter:card" content="summary" /><meta name="twitter:title" content="The Monster Under the Bed" /><meta name="twitter:site" content="@TMUTBcomic" /><meta name="twitter:description" content="“Embrace your fear.”" />
+</head>
+
+<body class="home blog custom-background user-guest unknown pm day mon layout-3c scheme-mecha rounded-posts cnc">
+<div id="page-wrap">
+       <div id="page">
+               <header id="header">
+                       <div class="header-info">
+                               <h1><a href="http://themonsterunderthebed.net">The Monster Under the Bed</a></h1>
+                               <div class="description">“Embrace your fear.”</div>
+                       </div>
+                                               <div class="clear"></div>
+               </header>
+
+               <div id="menubar-wrapper">
+                       <div class="menu-container">
+                                                               <div class="menu"><ul>
+<li class="page_item page-item-354"><a href="http://themonsterunderthebed.net/?page_id=354">Gallery</a></li>
+<li class="page_item page-item-812 page_item_has_children"><a href="http://themonsterunderthebed.net/?page_id=812">Archive</a>
+<ul class='children'>
+       <li class="page_item page-item-1193"><a href="http://themonsterunderthebed.net/?page_id=1193">Chapter 01</a></li>
+       <li class="page_item page-item-1196"><a href="http://themonsterunderthebed.net/?page_id=1196">Chapter 02</a></li>
+       <li class="page_item page-item-1199"><a href="http://themonsterunderthebed.net/?page_id=1199">Chapter 03</a></li>
+       <li class="page_item page-item-1717"><a href="http://themonsterunderthebed.net/?page_id=1717">Chapter 04</a></li>
+</ul>
+</li>
+<li class="page_item page-item-348"><a href="http://themonsterunderthebed.net/?page_id=348">Fan Art</a></li>
+</ul></div>
+                               <div class="menunav">
+                                                                                                                                                       </div>
+                               <div class="clear"></div>
+                       </div>
+                       <div class="clear"></div>
+               </div>
+       <div id="content-wrapper">
+       
+                       
+       <div id="subcontent-wrapper">
+<div id="sidebar-left">
+    <div class="sidebar">
+    <div id="text-5" class="widget widget_text">\r
+<div class="widget-content">\r
+                       <div class="textwidget"><center>\r
+\r
+<p>\r
+<p>\r
+\r
+<A HREF="https://www.patreon.com/themonsterunderthebed"><IMG SRC="http://themonsterunderthebed.net/wp-content/uploads/2016/05/patreon_logo-e1463371183349.png"></A>\r
+\r
+<p>\r
+\r
+<A HREF="https://www.facebook.com/themonsterunderthebedcomic/"><IMG SRC="http://themonsterunderthebed.net/wp-content/uploads/2016/11/Facebook40.png"></A>\r
+\r
+<A HREF="https://twitter.com/TMUTBcomic"><IMG SRC="http://themonsterunderthebed.net/wp-content/uploads/2016/11/twitter40.png"></A>\r
+\r
+\r
+\r
+</center></div>
+               </div>\r
+<div class="clear"></div>\r
+</div>\r
+<div id="meta-2" class="widget widget_meta">\r
+<div class="widget-content">\r
+<h2 class="widget-title">Log in:</h2>\r
+                       <ul>
+                       <li><a href="http://themonsterunderthebed.net/wp-login.php?action=register">Register</a></li>                   <li><a href="http://themonsterunderthebed.net/wp-login.php">Log in</a></li>
+                       <li><a href="http://themonsterunderthebed.net/?feed=rss2">Entries <abbr title="Really Simple Syndication">RSS</abbr></a></li>
+                       <li><a href="http://themonsterunderthebed.net/?feed=comments-rss2">Comments <abbr title="Really Simple Syndication">RSS</abbr></a></li>
+                       <li><a href="https://wordpress.org/" title="Powered by WordPress, state-of-the-art semantic personal publishing platform.">WordPress.org</a></li>                       </ul>
+                       </div>\r
+<div class="clear"></div>\r
+</div>\r
+<div id="text-7" class="widget widget_text">\r
+<div class="widget-content">\r
+                       <div class="textwidget"><center>\r
+\r
+<IMG SRC="http://themonsterunderthebed.net/wp-content/uploads/2016/02/Comic-misc.png">\r
+\r
+<A HREF="http://tvtropes.org/pmwiki/pmwiki.php/WebComic/TheMonsterUnderTheBed"><IMG SRC="http://themonsterunderthebed.net/wp-content/uploads/2016/02/logo-light.png"></A>\r
+\r
+<p>\r
+\r
+<A HREF="http://imgur.com/a/97naj#0"><IMG SRC="http://themonsterunderthebed.net/wp-content/uploads/2016/02/imgurlogo.png"></A>\r
+\r
+</center></div>
+               </div>\r
+<div class="clear"></div>\r
+</div>\r
+    </div>
+</div>
+               <div id="content-column">
+                                               <div id="comic-wrap" class="comic-id-1723">
+                               <div id="comic-head">
+                                                                       </div>
+                                                               <div class="comic-table">       
+                                                                               <div id="comic">
+                                               <img src="http://themonsterunderthebed.net/wp-content/uploads/2018/07/153-Push.png" alt="#153 &#8220;Push&#8221;" title="#153 &#8220;Push&#8221;"   />                                  </div>
+                                                                       </div>                          
+                                                               <div id="comic-foot">
+                                               <table id="comic-nav-wrapper">
+               <tr class="comic-nav-container">
+                       <td class="comic-nav"><a href="http://themonsterunderthebed.net/?comic=test-post" class="comic-nav-base comic-nav-first">&lsaquo;&lsaquo; First</a></td>
+                       <td class="comic-nav"><a href="http://themonsterunderthebed.net/?comic=152-childhoods-end" class="comic-nav-base comic-nav-previous">&lsaquo; Prev</a></td>
+                       <td class="comic-nav"><a href="http://themonsterunderthebed.net/?comic=153-push#comments" class="comic-nav-comments" title="#153 &#8220;Push&#8221;"><span class="comic-nav-comment-count">Comments(214)</span></a></td>
+                       <td class="comic-nav"><a href="http://themonsterunderthebed.net?random&nocache=1" class="comic-nav-random" title="Random Comic">Random</a></td>
+       <td class="comic-nav"><span class="comic-nav-base comic-nav-next comic-nav-void ">Next &rsaquo;</span></td>
+       <td class="comic-nav"><span class="comic-nav-base comic-nav-last comic-nav-void ">Last &rsaquo;&rsaquo;</span></td>
+               </tr>
+       </table>
+                                       </div>
+                               <div class="clear"></div>
+                       </div>
+                                       <div id="content" class="narrowcolumn">
+                                                                                               <article id="post-1723" class="post-1723 comic type-comic status-publish has-post-thumbnail hentry chapters-04-different-strings uentry postonpage-1 odd post-author-jiveguru">
+       <div class="post-content">
+                               <div class="post-info">
+                       <h2 class="post-title"><a href="http://themonsterunderthebed.net/?comic=153-push">#153 &#8220;Push&#8221;</a></h2>\r
+                       <div class="post-text">
+                               <span class="post-author">by <a href="http://themonsterunderthebed.net/?author=2" rel="author">Brandon</a></span>\r
+<span class="posted-on">on&nbsp;</span><span class="post-date">July 14, 2018</span>\r
+<span class="posted-at">at&nbsp;</span><span class="post-time">11:00 pm</span>\r
+<div class="comic-post-info"><div class="comic-chapter">Chapter: <a href="http://themonsterunderthebed.net/?chapters=04-different-strings" rel="tag">04. Different Strings</a></div></div>                     </div>
+                       <div class="clear"></div>
+               </div>
+               <div class="clear"></div>
+               <div class="entry">
+                       <p>Alas, this page was meant to be so much more; however my computer <em>corrupted</em> the file during the final hours of completion, and after much raging and a good night&#8217;s sleep&#8230; I quickly managed to punch this replacement page out this afternoon.</p>
+<p>Merely the first panel (of five) of the lost original page, re-drawn and blown up to a full-page pin-up.</p>
+<p>*phew*</p>
+<p>&nbsp;</p>
+<p><a href="http://www.patreon.com/themonsterunderthebed">PATREON</a></p>
+<p>&nbsp;</p>
+<p>EDIT JULY 21st, 2018:</p>
+<p>Just letting you guys know that there won&#8217;t be an update this weekend. There&#8217;s no trouble or anything, I&#8217;m just taking this weekend to play a little catch up and get ahead of the curve again. I may do this every few weeks for a while. Who knows. Also, I&#8217;ve been doing some more scripting and you guys are gonna lose it once the mid-160&#8217;s start rolling out. I fear for my life&#8230; XD</p>
+                       <div class="clear"></div>
+               </div>
+               <div class="post-extras">
+                       <div class="post-tags"></div>\r
+                       <div class="comment-link">
+                               <a href="http://themonsterunderthebed.net/?comic=153-push#comments"><span class="comment-balloon">214</span> Comments</a>                       </div>
+                                               <div class="clear"></div>
+               </div>
+                       </div>
+</article>
+<div id="blogheader"></div>                                                    <div id="sidebar-under-blog" class="sidebar">
+                       <div id="text-4" class="widget widget_text">\r
+<div class="widget-content">\r
+                       <div class="textwidget"><center>\r
+\r
+<a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/4.0/"><img alt="Creative Commons Licence" style="border-width:0" src="https://i.creativecommons.org/l/by-nc-nd/4.0/88x31.png" /></a><br /><span xmlns:dct="http://purl.org/dc/terms/" property="dct:title">The Monster Under the Bed</span> by <a xmlns:cc="http://creativecommons.org/ns#" href="http://www.themonsterunderthebed.net" property="cc:attributionName" rel="cc:attributionURL">Brandon Shane</a> is licensed under a \r
+\r
+<p>\r
+\r
+<a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/4.0/">Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License</a>\r
+\r
+</center></div>
+               </div>\r
+<div class="clear"></div>\r
+</div>\r
+                       <div class="clear"></div>
+               </div>
+                               </div>
+               </div>
+<div id="sidebar-right">
+    <div class="sidebar">
+        <div id="ceo_comic_archive_dropdown_widget-2" class="widget ceo_comic_archive_dropdown_widget">\r
+<div class="widget-content">\r
+<form id="chapter-select" class="chapter-select" method="get">\r
+<select  name='chapter' id='chapter' class='postform'  onchange="document.location.href=this.options[this.selectedIndex].value;">
+       <option value='0' selected='selected'>Select Chapter</option>
+       <option class="level-0" value="http://themonsterunderthebed.net/?chapters=introduction">00. Introduction&nbsp;&nbsp;(3)</option>
+       <option class="level-0" value="http://themonsterunderthebed.net/?chapters=01-a-thief-in-the-night">01. A Thief in the Night&nbsp;&nbsp;(28)</option>
+       <option class="level-0" value="http://themonsterunderthebed.net/?chapters=02-the-learning-curve">02. The Learning Curve&nbsp;&nbsp;(41)</option>
+       <option class="level-0" value="http://themonsterunderthebed.net/?chapters=03-many-doors">03. Many Doors&nbsp;&nbsp;(77)</option>
+       <option class="level-0" value="http://themonsterunderthebed.net/?chapters=04-different-strings">04. Different Strings&nbsp;&nbsp;(4)</option>
+</select>
+       <noscript>\r
+               <input type="submit" value="View" />\r
+       </noscript>\r
+</form>\r
+</div>\r
+<div class="clear"></div>\r
+</div>\r
+<div id="text-3" class="widget widget_text">\r
+<div class="widget-content">\r
+                       <div class="textwidget"><center>\r
+\r
+<p>\r
+\r
+<IMG SRC="http://themonsterunderthebed.net/wp-content/uploads/2016/02/Comic-vote3.png">\r
+\r
+\r
+<a href='http://topwebcomics.com/vote/18850/default.aspx' title='Vote for The Monster Under the Bed on TopWebComics!'><img src='http://themonsterunderthebed.net/wp-content/uploads/2017/04/Vote02.png'></a>\r
+\r
+<p>\r
+\r
+<a href='http://topwebcomics.com/vote/18850/default.aspx' title='Vote for The Monster Under the Bed on TopWebComics!'><img src='http://topwebcomics.com/rankimages/rankimage.aspx?ImageTemplate=dynamiclink1&SiteID=18850'></a>\r
+\r
+<p>\r
+\r
+<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top">\r
+<input type="hidden" name="cmd" value="_s-xclick">\r
+<input type="hidden" name="encrypted" value="-----BEGIN PKCS7-----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-----END PKCS7-----\r
+">\r
+<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_donateCC_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">\r
+<img alt="" border="0" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" width="1" height="1">\r
+</form>\r
+\r
+<p>\r
+<p>\r
+<p>\r
+\r
+<IMG SRC="http://themonsterunderthebed.net/wp-content/uploads/2015/07/Comic-link-Title1.png">\r
+\r
+<A HREF="http://catsncameras.com/cnc/"><IMG SRC="http://themonsterunderthebed.net/wp-content/uploads/2015/07/catsncameras40.png"></A>\r
+\r
+<A HREF="http://thisis.delvecomic.com/NewWP/"><IMG SRC="http://themonsterunderthebed.net/wp-content/uploads/2015/09/DelveBadge40.jpg"></A>\r
+\r
+<A HREF="http://laslindas.katbox.net/"><IMG SRC="http://themonsterunderthebed.net/wp-content/uploads/2015/07/laslindas401.png"></A>\r
+\r
+<A HREF="http://shipinbottle.pepsaga.com/"><IMG SRC="http://themonsterunderthebed.net/wp-content/uploads/2015/07/shipinabottle40.png"></A>\r
+\r
+</center>\r
+</div>
+               </div>\r
+<div class="clear"></div>\r
+</div>\r
+    </div>
+</div>         <div class="clear"></div>
+       </div>
+</div>
+               <footer id="footer">
+                               <div id="footer-sidebar-wrapper">
+                               </div>
+               <div class="clear"></div>
+               <div id="footer-menubar-wrapper">
+                                               <div class="clear"></div>
+               </div>
+               <p class="copyright-info">\r
+&copy;2014-2018 <a href="http://themonsterunderthebed.net">The Monster Under the Bed</a> <span class="footer-pipe">|</span> Powered by <a href="http://wordpress.org/">WordPress</a> with <a href="http://frumph.net">ComicPress</a>\r
+<span class="footer-subscribe"><span class="footer-pipe">|</span> Subscribe: <a href="http://themonsterunderthebed.net/?feed=rss2">RSS</a>\r
+</span>\r
+<span class="footer-uptotop"><span class="footer-pipe">|</span> <a href="" onclick="scrollup(); return false;">Back to Top &uarr;</a></span>\r
+</p>\r
+                       </footer>       
+               </div> <!-- // #page -->
+</div> <!-- / #page-wrap -->
+<script type='text/javascript' src='http://themonsterunderthebed.net/wp-content/plugins/comic-easel/js/keynav.js'></script>
+<script type='text/javascript' src='https://s0.wp.com/wp-content/js/devicepx-jetpack.js?ver=201830'></script>
+<script type='text/javascript' src='http://themonsterunderthebed.net/wp-content/themes/comicpress/js/scroll.js'></script>
+<script type='text/javascript' src='http://themonsterunderthebed.net/wp-content/themes/comicpress/js/cvi_text_lib.js'></script>
+<script type='text/javascript' src='http://themonsterunderthebed.net/wp-content/themes/comicpress/js/instant.js'></script>
+<script type='text/javascript' src='http://themonsterunderthebed.net/wp-includes/js/wp-embed.min.js?ver=90d43fe4464bc511b720dd7823ff526e'></script>
+<script type='text/javascript' src='https://stats.wp.com/e-201830.js' async defer></script>
+<script type='text/javascript'>
+       _stq = window._stq || [];
+       _stq.push([ 'view', {v:'ext',j:'1:5.6.1',blog:'78996568',post:'0',tz:'-5',srv:'themonsterunderthebed.net'} ]);
+       _stq.push([ 'clickTrackerInit', '78996568', '0' ]);
+</script>
+</body>
+</html>
\ No newline at end of file