UNPKG

moby

Version:

An open-source website (and CLI) for searching the largest thesaurus in the English language.

84 lines (65 loc) 3.92 kB
mixin form(q) form(method="get" action="/search") input(name="q" id="q" value=q type="text" placeholder="Find synonyms" autocapitalize="off" autocorrect="off" autofocus x-webkit-speech) doctype html html head title if q = "Synonyms for '" + q + "' in the Moby Thesaurus" else = "Moby Thesaurus" meta(name="viewport" content="width=device-width, initial-scale=1") meta(name="description" content="A free and open-source website for searching the largest thesaurus in the English language.") link(href='//fonts.googleapis.com/css?family=PT+Sans:400,700' rel='stylesheet' type='text/css') link(rel="shortcut icon" href="/images/favicon.ico" type="image/x-icon") link(rel="apple-touch-icon" href="/images/apple-touch-icon.png") link(rel="apple-touch-icon" sizes="57x57" href="/images/apple-touch-icon-57x57.png") link(rel="apple-touch-icon" sizes="72x72" href="/images/apple-touch-icon-72x72.png") link(rel="apple-touch-icon" sizes="76x76" href="/images/apple-touch-icon-76x76.png") link(rel="apple-touch-icon" sizes="114x114" href="/images/apple-touch-icon-114x114.png") link(rel="apple-touch-icon" sizes="120x120" href="/images/apple-touch-icon-120x120.png") link(rel="apple-touch-icon" sizes="144x144" href="/images/apple-touch-icon-144x144.png") link(rel="apple-touch-icon" sizes="152x152" href="/images/apple-touch-icon-152x152.png") link(rel='stylesheet', type='text/css', href='/styles.css') script(src='//cdnjs.cloudflare.com/ajax/libs/store.js/1.3.14/store.min.js') script. window.analytics=window.analytics||[],window.analytics.methods=["identify","group","track","page","pageview","alias","ready","on","once","off","trackLink","trackForm","trackClick","trackSubmit"],window.analytics.factory=function(t){return function(){var a=Array.prototype.slice.call(arguments);return a.unshift(t),window.analytics.push(a),window.analytics}};for(var i=0;i<window.analytics.methods.length;i++){var key=window.analytics.methods[i];window.analytics[key]=window.analytics.factory(key)}window.analytics.load=function(t){if(!document.getElementById("analytics-js")){var a=document.createElement("script");a.type="text/javascript",a.id="analytics-js",a.async=!0,a.src=("https:"===document.location.protocol?"https://":"http://")+"cdn.segment.io/analytics.js/v1/"+t+"/analytics.min.js";var n=document.getElementsByTagName("script")[0];n.parentNode.insertBefore(a,n)}},window.analytics.SNIPPET_VERSION="2.0.9", window.analytics.load("7yxiqtbj6t"); window.analytics.page(); document.addEventListener("DOMContentLoaded", function(event) { document.querySelector("#q").focus() // Toggle view mode if (document.querySelector("#mode_switcher")) { document.querySelector("#mode_switcher").addEventListener('click', function(event) { event.preventDefault(); document.body.classList.toggle('list-mode') }) } // Save query history in localStorage var query = document.querySelector("#q").value var queries = store.get("queries") if (!queries) queries = {} if (query) { queries[Date.now()] = query store.set("queries", queries) } if (location.hash === "#show-queries") { var recentQueryLinks = Object.keys(queries).reverse().map(function(key) { return "<li><a href=\"/search?q=" + queries[key] + "\">" + queries[key] + "</a><li>" }).join("") //- console.log(recentQueryLinks); document.querySelector("#queries") .insertAdjacentHTML('afterend', "<h2>Your recent queries:</h2> <ul class='results'>" + recentQueryLinks + "</ul>") } }) block head body header section if !q h1 moby +form(q) section block content footer