1<!DOCTYPE html> 2<html lang="en"> 3 4<!-- Powered by Bear Blog --> 5 6<head> 7 8 9 <meta charset="utf-8"> 10 <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=5"> 11
11<script> 12 (function() { 13 'use strict'; 14 document.cookie = `timezone=${Intl.DateTimeFormat().resolvedOptions().timeZone};path=/`; 15 })(); 16 </script>
16 17 18 <title>Blog â smallbird games</title> 19 <link rel="canonical" href="https://smallbird.games/blog/"> 20 21 22 23<meta name="smallbirdgames" content="look-for-the-bear-necessities"> 24 25 26<!-- Primary Meta Tags --> 27<meta name="title" content="Blog"> 28<meta name="description" content="storytelling games for the tabletop, pen and paper, and computer."> 29 30<!-- Open Graph / Facebook --> 31<meta property="og:site_name" content="smallbird games"> 32<meta property="og:title" content="Blog"> 33<meta property="og:type" content="website"> 34<meta property="og:url" content="https://smallbird.games"> 35<meta property="og:description" content="storytelling games for the tabletop, pen and paper, and computer."> 36<meta property="og:image" content="https://bear-images.sfo2.cdn.digitaloceanspaces.com/smallbirdgames/previewthumb.png"> 37 38 39<!-- Twitter --> 40<meta property="twitter:card" content="summary"> 41<meta property="twitter:url" content="https://smallbird.games"> 42<meta property="twitter:title" content="Blog"> 43<meta property="twitter:description" content="storytelling games for the tabletop, pen and paper, and computer."> 44<meta property="twitter:image" content="https://bear-images.sfo2.cdn.digitaloceanspaces.com/smallbirdgames/previewthumb.png"> 45 46 47 48<!-- Microdata -->
49<script type="application/ld+json"> 50 { 51 "@context": "http://schema.org", 52 "@type": "website", 53 "name": "Blog", 54 "headline": "Blog", 55 "url": "https://smallbird.games", 56 "description": "storytelling games for the tabletop, pen and paper, and computer.", 57 "image": "https://bear-images.sfo2.cdn.digitaloceanspaces.com/smallbirdgames/previewthumb.png" 58 } 59</script>
59 60<link rel="alternate" type="application/atom+xml" href="/feed/" title="smallbird games"> 61<link rel="alternate" type="application/rss+xml" href="/feed/?type=rss" title="smallbird games"> 62 63 64 65<link href="mailto:[email protected]" rel="me"> 66<link rel="webmention" href="https://webmention.io/smallbird.games/webmention" /> 67 68 69 70 71 72 73 <link rel="icon" type="image/svg+xml" href="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20100%20100'%3E%3Ctext%20y='.9em'%20font-size='90'%3E⻦%3C/text%3E%3C/svg%3E"> 74 75 76 77 78 <style data-name="default"> 79 80 81@import url("https://cdn.jsdelivr.net/npm/@fortawesome/[email protected]/css/fontawesome.min.css"); 82@font-face { 83 font-family: "Nanum Gothic"; 84 src: url('https://bear-images.sfo2.cdn.digitaloceanspaces.com/smallbirdgames/nanumgothic-regular-webfont-1.woff2') format('woff2'), 85 url('https://bear-images.sfo2.cdn.digitaloceanspaces.com/smallbirdgames/nanumgothic-regular-webfont.woff') format('woff'); 86 font-style: normal; 87 font-weight: normal; 88} 89@font-face { 90 font-family: "Nanum Gothic"; 91 src: url('https://bear-images.sfo2.cdn.digitaloceanspaces.com/smallbirdgames/nanumgothic-bold-webfont-1.woff2') format('woff2'), 92 url('https://bear-images.sfo2.cdn.digitaloceanspaces.com/smallbirdgames/nanumgothic-bold-webfont.woff') format('woff'); 93 font-style: normal; 94 font-weight: 700; 95} 96@font-face { 97 font-family: "Nanum Gothic"; 98 src: url('https://bear-images.sfo2.cdn.digitaloceanspaces.com/smallbirdgames/nanumgothic-extrabold-webfont-1.woff2') format('woff2'), 99 url('https://bear-images.sfo2.cdn.digitaloceanspaces.com/smallbirdgames/nanumgothic-extrabold-webfont.woff') format('woff'); 100 font-style: normal; 101 font-weight: 800; 102} 103@font-face { 104 font-family: "MaiMai_e"; 105 src: url('https://bear-images.sfo2.cdn.digitaloceanspaces.com/smallbirdgames/maimai_e-regular-webfont-1.woff2') format('woff2'), 106 url('https://bear-images.sfo2.cdn.digitaloceanspaces.com/smallbirdgames/maimai_e-regular-webfont.woff') format('woff'); 107 font-style: normal; 108 font-weight: normal; 109} 110body { 111 font-family: "Nanum Gothic", sans-serif; 112 font-size: 14px; 113 background-color: #DAB49D; 114 color: #000000; 115 max-width: 600px; 116 margin: 20px auto; 117 line-height: 1.4; 118 padding: 0 20px; 119} 120 121a { 122 color: #5E3023; 123 text-decoration: none; 124} 125 126h1 { 127 font-size: 36px; 128 font-weight: normal; 129 font-family: "MaiMai_e", sans-serif; 130 margin: 0; 131 line-height: 1; 132} 133header h1:before { 134 content: ""; 135 width: 50px; 136 height: 50px; 137 display: inline-block; 138 vertical-align: middle; 139 background-image: url('https://bear-images.sfo2.cdn.digitaloceanspaces.com/smallbirdgames-1725053104.png'); 140 background-size: contain; 141} 142 143h2 { 144 font-family: "MaiMai_e", sans-serif; 145 font-weight: normal; 146 text-transform: lowercase; 147 font-size: 30px; 148 margin-bottom: 0; 149 line-height: 1; 150} 151 152input[type=text], 153input[type=number], 154input[type=email], 155input[type=tel] { 156 border: 1px #5E3023 solid; 157 border-radius: 3px; 158 font-family: "Nanum Gothic", sans-serif; 159} 160 161button, 162input[type=submit] { 163 background-color: #5E3023; 164 color: white; 165 padding: 5px 10px; 166 border: none; 167 font-family: "Nanum Gothic", sans-serif; 168 border-radius: 3px; 169 text-transform: lowercase; 170} 171 172form.email-signup br { 173 display: none; 174} 175 176header { 177 margin-bottom: 60px; 178 display: flex; 179 flex-wrap: wrap; 180} 181header .title { 182 color: inherit; 183 text-decoration: none; 184 order: 2; 185 margin-top: 50px; 186} 187header nav { 188 order: 1; 189 width: 100%; 190} 191header nav ul { 192 list-style: none; 193 display: flex; 194 flex-wrap: wrap; 195 margin: 0; 196 padding: 0; 197 text-transform: lowercase; 198} 199header nav ul li:after { 200 content: "/"; 201 margin: 0 10px; 202} 203header nav ul li:last-child:after { 204 display: none; 205} 206 207footer { 208 font-size: 0.8em; 209 margin-top: 50px; 210 border-top: 1px #5E3023 dotted; 211 padding-top: 10px !important; 212} 213 214main h1 + p { 215 margin: 0; 216 font-size: 10px; 217 text-transform: uppercase; 218} 219 220main h1 + p i { 221 font-style: normal; 222} 223 224main .blog-posts { 225 list-style: none; 226 padding: 0; 227} 228 229main .blog-posts li time { 230 text-transform: uppercase; 231 font-style: normal; 232} 233 234main .blog-posts li time:after { 235 content: " | "; 236} 237 238main .blog-posts li a { 239 font-weight: bold; 240} 241 242iframe { 243 max-width: 100%; 244} 245 246.upvote-button.upvoted { 247 color: #5E3023 !important; 248} 249 250.toc { 251 border: 1px rgba(0,0,0,.25) solid; 252 padding: 10px; 253 display: inline-block; 254 min-width: 300px; 255} 256 257.toc p:first-child { 258 margin: 0; 259} 260 261.toc ol { 262 list-style: upper-roman; 263 margin-bottom: 0; 264} 265 266 </style> 267</head> 268 269<body class="blog"> 270 271 <header> 272 <a class="title" href="/"> 273 <h1> 274 smallbird games 275 </h1> 276 </a> 277 <nav> 278 <ul> 279<li><a href='/'>Home</a></li> 280<li><a href='/about/'>About</a></li> 281<li><a href='/blog/'>Blog</a></li> 282<li><a href='/games/'>Games</a></li> 283<li><a href='/favs/'>Favorites</a></li> 284<li><a href='https://ko-fi.com/veryroundbird'>Ko-Fi</a></li> 285</ul> 286 287 </nav> 288 </header> 289 <main> 290 291 292 293 294 295 296<ul class="blog-posts"> 297 298 <li data-tags="lyric games,writing">
299 <span> 300 <i> 301 <time datetime="2024-09-11T06:45Z"> 302 11 Sep, 2024 303</time> 304 </i> 305 </span> 306 <a href="/the-process-of-emotional-writing/">The process of emotional writing</a> 307 308 309 310 311 312 </li> 313 314</ul> 315 316 317<small> 318 <div class="tags"> 319 320 <a rel="nofollow" href="/blog/?q=pot-of-honey" style="display:none;">#potofhoney</a> 321 322 <a rel="nofollow" href="/blog/?q=lyric%20games">#lyric games</a> 323 324 <a rel="nofollow" href="/blog/?q=writing">#writing</a> 325 326 </div> 327</small> 328 329 330 </main> 331 <footer> 332 333 334<span id="footer-directive">
335<script src="https://tinylytics.app/embed/3gtZobCmFSa2aySLn9x7.js" defer></script>
335
336<script type="text/javascript"> 337const links = document.querySelectorAll('a'); 338window.addEventListener('load', () => { 339 if (document.querySelector('body').classList.contains('post')) { 340 const wm = document.createElement('div'); 341 wm.id = 'webmentions'; 342 document.querySelector('main').append(wm); 343 } 344 links.forEach((item) => { 345 if (!item.href.match(/^https?:\/\/smallbird.games/)) { 346 item.target = "_blank"; 347 } 348 }); 349}); 350</script>
vendor: 1 bytes, line 350
350
351<script type="text/javascript"> 352!function(){"use strict";function e(e,t){return document.currentScript.getAttribute("data-"+e)||t}var t=e("page-url",window.location.href.replace(/#.*$/,"")),o=e("add-urls",void 0),n=e("data-id","webmentions"),r=e("wordcount"),a=e("max-webmentions",30),i=e("prevent-spoofing")?"wm-source":"url",s={"in-reply-to":"replied","like-of":"liked","repost-of":"reposted","bookmark-of":"bookmarked","mention-of":"mentioned",rsvp:"RSVPed","follow-of":"followed"},u={"in-reply-to":"ð¬","like-of":"â¤ï¸","repost-of":"ð","bookmark-of":"âï¸","mention-of":"ð¬",rsvp:"ð ","follow-of":"ð"},l={yes:"â ",no:"â",interested:"ð¡",maybe:"ð"};function c(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")}function f(e){var t='<a class="reaction" rel="nofollow ugc" title="'+c(e.author&&e.author.name?e.author.name:e.url.split("/")[2])+" "+(s[e["wm-property"]]||"reacted")+'" href="'+e[i]+'">';return e.author&&e.author.photo&&(t+='<img src="'+c(e.author.photo)+'">'),t+=u[e["wm-property"]]||"ð¥",e.rsvp&&l[e.rsvp]&&(t+="<sub>"+l[e.rsvp]+"</sub>"),t+="</a>"}function p(e){return e.substr(e.indexOf("//"))}function h(e){var t=[],o={};return e.forEach((function(e){var n=p(e.url);o[n]||(t.push(e),o[n]=!0)})),t}window.addEventListener("load",(function(){var e=document.getElementById(n);if(e){var s=[p(t)];o&&o.split("|").forEach((function(e){s.push(p(e))}));var u="https://webmention.io/api/mentions.jf2?per-page="+a;s.forEach((function(e){u+="&target[]="+encodeURIComponent("http:"+e)+"&target[]="+encodeURIComponent("https:"+e)})),function(e,t){if(window.fetch)window.fetch(e).then((function(e){return e.status>=200&&e.status<300?Promise.resolve(e):Promise.reject(new Error(e.statusText))})).then((function(e){return e.json()})).then(t).catch((function(e){console.error("Request failed",e)}));else{var o=new XMLHttpRequest;o.onload=function(e){t(JSON.parse(e))},o.onerror=function(e){console.error("Request failed",e)}}}(u,(function(t){var o="",n=[],a=[],s={"in-reply-to":n,"like-of":a,"repost-of":a,"bookmark-of":a,"mention-of":n,rsvp:n};t.children.forEach((function(e){var t=s[e["wm-property"]];t&&t.push(e)})),n.length>0&&(o+=function(e){var t="<h2>"+e.length+" Response"+(e.length>1?"s":"")+'</h2><ul class="comments">';return e.forEach((function(e){var o,n;if(t+="<li>",t+=f(e),t+=' <a class="source" rel="nofollow ugc" href="'+e[i]+'">',e.author&&e.author.name?t+=c(e.author.name):t+=c(e.url.split("/")[2]),t+="</a>: ",e.name)o="name",n=e.name;else if(e.content&&e.content.text){var a=c(e.content.text);if(r){var s=a.replace(/\s+/g," ").split(" ",r+1);s.length>r&&(s[r-1]+="…",a=(s=s.slice(0,r)).join(" "))}o="text",n=a}else o="name",n="(mention)";t+='<span class="'+o+'">'+n+"</span>",t+="</li>"})),t+="</ul>"}(h(n))),a.length>0&&(o+=function(e){var t="<h2>"+e.length+" Reaction"+(e.length>1?"s":"")+'</h2><ul class="reacts">';return e.forEach((function(e){t+=f(e)})),t}(h(a))),e.innerHTML=o}))}}))}(); 353</script>
353 354 355</span> 356 357<span> 358 Powered by <a href="https://bearblog.dev">Bear <span role="img" class="bear" aria-label="ASCII bear logo">Êâ¢á´¥â¢Ê</span></a> 359</span> 360 361 </footer> 362 363 364
364<script> 365 (() => { 366 "use strict"; 367 const times = document.querySelectorAll('time'); 368 const format_string = "" || "d M, Y" 369 370 times.forEach(time => { 371 time.innerText = formatDate(time.dateTime, format_string) 372 }); 373 374 function formatDate(dateStr, formatStr) { 375 const date = new Date(dateStr); 376 const day = date.getDate(); 377 const month = date.getMonth(); 378 const year = date.getFullYear(); 379 const weekday = date.getDay(); 380 const hours = date.getHours(); 381 const minutes = date.getMinutes(); 382 const monthsFull = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']; 383 const monthsShort = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']; 384 const daysFull = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']; 385 const daysShort = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']; 386 387 function getOrdinal(n) { 388 const s = ['th', 'st', 'nd', 'rd']; 389 const v = n % 100; 390 return s[(v - 20) % 10] || s[v] || s[0]; 391 } 392 393 const map = { 394 'd': () => day.toString().padStart(2, '0'), 395 'm': () => (month + 1).toString().padStart(2, '0'), 396 'Y': () => year.toString(), 397 'y': () => year.toString().slice(-2), 398 'F': () => monthsFull[month], 399 'j': () => day.toString(), 400 'D': () => daysShort[weekday], 401 'l': () => daysFull[weekday], 402 'S': () => getOrdinal(day), 403 'M': () => monthsShort[month], 404 'H': () => hours.toString().padStart(2, '0'), 405 'h': () => { 406 let h = hours % 12; 407 h = h === 0 ? 12 : h; 408 return h.toString().padStart(2, '0'); 409 }, 410 'g': () => { 411 let h = hours % 12; 412 return h === 0 ? '12' : h.toString(); 413 }, 414 'i': () => minutes.toString().padStart(2, '0'), 415 'a': () => hours < 12 ? 'am' : 'pm', 416 'A': () => hours < 12 ? 'AM' : 'PM', 417 }; 418 419 let result = ''; 420 for (let char of formatStr) { 421 result += map[char] ? map[char]() : char; 422 } 423 return result; 424 } 425 })(); 426 </script>
426 427 428</body> 429<!-- ID: smallbirdgames --> 430<!-- ð» --> 431</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.