From 4c20d0abb94a96576ef4f05cc4029b48a4e49188 Mon Sep 17 00:00:00 2001 From: William Barkoff Date: Thu, 29 Aug 2019 23:35:33 -0400 Subject: [PATCH] change public key to seperate page --- _includes/foot.html | 39 +++++++---- _includes/head.html | 29 +++++--- contact.md | 97 +-------------------------- css/prism.css | 160 ++++++++++++++++++++++++++++++++++++++++++++ js/prism.js | 14 ++++ key.md | 134 +++++++++++++++++++++++++++++++++++++ 6 files changed, 356 insertions(+), 117 deletions(-) create mode 100644 css/prism.css create mode 100644 js/prism.js create mode 100644 key.md diff --git a/_includes/foot.html b/_includes/foot.html index 73122a6..af78994 100644 --- a/_includes/foot.html +++ b/_includes/foot.html @@ -1,14 +1,27 @@ - - - + + + + \ No newline at end of file + $(document).ready(() => { + $("body").fadeIn(); + }); + if ( + window.location.hostname.indexOf("williambarkoff.com") > -1 && + window.location.protocol == "http:" + ) { + window.location.protocol = "https:"; + } + diff --git a/_includes/head.html b/_includes/head.html index b826c68..67b52e7 100644 --- a/_includes/head.html +++ b/_includes/head.html @@ -1,8 +1,21 @@ - - - - - - -{% if page.url != '/' %}{{ page.title }} | {% endif %}William Barkoff \ No newline at end of file + + + + + + + + + {% if page.url != '/' %}{{ page.title }} | {% endif %}William Barkoff + diff --git a/contact.md b/contact.md index 34953f3..c3aeae7 100644 --- a/contact.md +++ b/contact.md @@ -11,102 +11,7 @@ layout: page

Found an Issue?

Most of my projects are open source on Github. If you have found an issue, feel free to use the form on the left, or open an issue on the Github repository associated with that project.

Encrypt a message

-

Feel free to encrypt or sign your message to me with my PGP key, available at keybase, or below.

-
- My PGP public key -

------BEGIN PGP PUBLIC KEY BLOCK-----
-Version: Keybase OpenPGP v2.1.3
-Comment: https://keybase.io/crypto
-
-xsFNBF1ofd0BEACnVlKguBOiTNSCBZ30lKlGYnPQ3YNdh8B1gDJnL9l8NLQKIIql
-anNXPrLEsptgorcOAuGjswtG1Ytqv89eU5fZ17zCC775NJUc72irvs6VBDb/vGTY
-wKzKHsMLZYZFIQxeklwkrUwt6hBqP2e48hZJSybrPxZWwZVDLBXWycTGrxK2eAqp
-9gjMbSqC6WAWZ1BN0Rr+i7Omi1FpEK5ZYvOxq4tw5PtdZQkqJ1XTd5lmXfzelFZf
-eXFFCD1L6R9apbsM6roHoTIKCR9ZaGaDgtsNIky4ss97zsZfxc4LG8vZSIsFcujb
-9l2C0B+htlhynABP8ZtdUtLD5ydS6rnlexpWrVZwfoNkmn7+z1z7xewSriBuL+L9
-WFCKl7eV5j+PaB5oACHiCM9EzkKSAIHsxJMh+fLcBjA0efKkYuh16zOoNg4l2dxr
-U7lQ6dybaQPTkMu/g62vkFwAPfLs3krot0NjcYHjGtFOlcrZmaqmQf20aEAdVmgd
-glDxIrAGQtuFHUaMTARF0Nwy2zmmr5IV5DauQC7eAVsGYZmsCtYxYWbfbolqNfCp
-+SRmjKGTFYId6Rmj2LPKDbe25yAPgPQRPepjAaY8XDHbv1WAx8bGd2IwTvIDl1lq
-t2wFA+V95ZT2LGHq3LJy6Ne3EgMEgGKSDAUOqwDMIaZCieJOKSPV3yOfNQARAQAB
-zSdXaWxsaWFtIEJhcmtvZmYgPG1lQHdpbGxpYW1iYXJrb2ZmLmNvbT7CwXQEEwEK
-AB4FAl1ofd0CGwMDCwkHAxUKCAIeAQIXgAMWAgECGQEACgkQUMmIRl9OO/2TNxAA
-ot+c2hX0089av5/RouSIGyWAKu/D63CgV5d8s85KIr5emcu2vZqdK6kxKDQ0taCs
-Sm50L6NP/rGTJ+a24f/Dt+hZiTM+mH7NxG2XRgdDmtvfKQPrM7c0a1tLLFP4bwX6
-4e2bXZziWQalTjRf8Xy9RLhS+KIeExypes6EK7Bx3vEDg5rK00zgm9ZjlW/bcekV
-cuT2pJVg2f7tcRfxq7t024hiWf4ijC/I0OS7MRYB9xGA+2958dFWZW+QOzPojtcJ
-r/IcznCs51qNhPiQweegWKtCGA+1IyAGsqB9gHTyICXOUBiRJ7iNNN0m3kAdxNYZ
-UkO5lDK2HoXbjDJBdBj+ljfVO9I/eRUJXZ1m4vd25LfU107GL9V4yDfh7AHmZBqv
-4o30Mhw15uAoMaZk+FibeYkqGQZ5EmBeJsco762ibJuAVNpt/ZU/7nv8tz4oCKR8
-jaK9yS6CfjW2A2nrWkEVMUrHLPHq0hXin3XiUPOCHtDVSOIuO5PPuEQ98CuA5YFE
-oE6KQe0racEsRt5epyRBCcFdKzyehC0TU3p0Y7LYdwcAkbYxk/1yUwRkSljEZEK7
-PH1tKexv+soxiE3Yjm1MxxUq34gJujTObtJ5adBNTfOoN66gjiYJA0/ZlC3IHydi
-hfUAFuo6/uBcxLl+pySywoRdIVI8goI//c1LKbnG6SvNKFdpbGxpYW0gQmFya29m
-ZiA8d2lsbGlhbUBiYXJrb2ZmdXNhLmNvbT7CwXEEEwEKABsFAl1ofd0CGwMDCwkH
-AxUKCAIeAQIXgAMWAgEACgkQUMmIRl9OO/2bAA//TZTVTku4LdaJN2QhLmF4mp03
-tpa0kWZYu+gtHrFSUePzAb1GhCenTi8LYKc74u85M0szHIbqpksk5dgSUAu6fWLo
-R7ybg98NLuVnRXXFf/yU2fe/XgVV/c2vlOYzUMzYepocrhoKPNYtBhf++UbnYnKa
-eblxaXwHht63NsUgOUeptIX1qifROzZXSaFoD1mhChSWY+6KsQPUVswyrgkVH5va
-qWej7oryg86LtrJLz5OgWcX3C0BQYsL0W4xOrlIx2wLEAwX6nFIQQtU17fpgHXkY
-XaEt+ceBeba8okEb+kjiX/1TkGHmwUHqdbrMTw34LxJirFxPDxZZvKYt+zQ6yLsk
-bxGQZOqqCwPKp6B5ZZhtpqipoypP9cW8NdMiwCzJzM+snBTaC5fYyegszpYrt68X
-Hzo5bDclIPQnLBl3XvAuJn+0FWKQuOSfbj5AhXgDAiYdAz0He64Je1v++inxKUsz
-RYo1kspHx6zRrnGp08TBN3Nfzp+BGT5sl2UUTGLXnJYnl+pvXUaxEZEstoJ5p+bT
-hJJLAkxHcbC+4u73ACjpCHo5I6OgV5IHLgIKM//y3lgasdeKZfpg9SeMzJXtb56Z
-AHTMSLOtPw3pbMOqbRB1lj8978kvJfAQ2MaVrzZUz+0sW30GyXr/uK8dqqEODLht
-YkZBCVFpUiqRjW40bufOwE0EXWh93QEIAMVfGWNf4nTxuUbds8l8iw3NoDYWW4Vl
-MYcsYu2irFkccWu+yvAhyPLP0tNyLPF9STEVYS8GU1hHHKercNOFbfXNxNyfB0g+
-Ysq3+dqBUoI+qHF3OYZ858edG86Z9Ebf/Yi7iERxj6mTq7ZG2eR48WTC5PxDyfqq
-2vMf4RLexXsOryPA1AS2HFjsPJ3mB003PeXfUPfDaiX4A1t4xB/8ZZFhm8B2Vbjq
-+Eh1T4aMulXsudBU5gv3bm05Cpw2iNM1VVXxY7QlEpHrAxXZz0yTuxuXHcllDt1G
-1iNNFqcHG61EqMIoNV7hTTQPjtsUtoHHiMXs2DZ13ml1NtXb92kBtWcAEQEAAcLC
-hAQYAQoADwUCXWh93QUJDwmcAAIbDAEpCRBQyYhGX047/cBdIAQZAQoABgUCXWh9
-3QAKCRBoQe82UDHeblznB/sElDt8tJo8hQ3SqSUMwgSVJ7DJPZAmZxN24I8uwQ79
-5+0FRAcF1j83gx3uEc2irkS8SuVZDCFe3EeJfl8KZ4FY3hbQ96lRZu1uceQv9jcR
-GYl/E6rJLT9edg6jMYasLwC9oBECW8ZCCb+3L/tOMIEbV3+3vU0UpgXXXypT69gE
-RFA6Jg+WqwYUSz9HcETOZYxH477PCrY23c5ixcoJiJKN/dsldeKQ7dy0ChghHUbW
-ZK0POcb3wCQ1but9OUiLJbzrRMOFk7SwUyy59FgS4i6Yy/WahYGqVaL/oC8Z7LYB
-R2vgkorM/WRdUcYjqv9OUxHF6I+USZrMV//vTeXxo9ap+GQP/jPAE6p2QE3GNm5Y
-tKTVuiBINJob+WeGy9uQoDXhPvDKJzL9E+3Lsvbn96V0EnPT1E7hmtabmQRIQycO
-0D8QvaL4KzIIy8aONTurRMzlQ+kJ90t5sQQz3y+l7ytnmaTzFsEKPtTIWBKmmsu9
-LBC1+69b455JLlb9xrd/Bl3vULKqTkBlTDAkdCNreRiW3xlf4vgYAg/mqVpRTvIB
-DQzTdPz+LVT51SnlwM1wjXVLCTM7XbedHJ/ROTRmZkjm9grJJTw+HTbQghHkL/YI
-kV8wOh3Bjd4wixDeKyOEXgy0ls/ODM9H777TklycUUny6SqJJwq1jIkrxURD/g4g
-1aWxaflQmOApmNA55RXAb1kPOoCSDEYxnLoDc0UfxErmXtyrQ/nfp7bSSIVQdIHG
-dSXvV56XbZJDGIyL1+MPNgCx4mpPGYRRX7jCsFCuWgojY+B91VF+7LYju5uqIcUT
-GTKMksN6IZdDy5p7p0797/7mggvtdIOo4kcfaxa2QmVO3NSCqjuirKR0SLdnNArD
-YJt+c3AzvV3GFQq20eN1ClBJ6pG4WOVqtT9S8tcERF+LpLrBRdhv7O9Uy3ooQLH6
-tuSnriqjZLc3/RNsJU70pl95GGjAGjZ/Elh8nY+2fFKTUAnnlz5zQG3Z8p3UoSmP
-mUg3LIRX0Bui2Df9gGWbRQIuLiUFzsBNBF1ofd0BCAC6ta17/b++FycsKXcvFqcR
-OuYQkQtqeDLo/8eBATcRD4MOZEkheRrLhcpoyN0aZn5noTXp98qom6Dilp4Lcd5F
-pwmgb4H8gv5DRNkK/hAYGFfZEe0JuOLpReA1gUPh5OUt4ioCPXlwxvvXckcVesqH
-X4GOBtlHO1UAjKKq+DS8Y741bRUv9GVrjkhS6h+bX9UWxs38+pVQoXwPJ3xVtOGl
-MBuHSEU9MV3HN6F9nA7u/alzMDpCxINKrezsPKbP3/JK5r5sB6pkSTOrNwsQ8TcZ
-BNnRryRCSymQiiSpGZiueAjDQfihsVIviazZ3fDHqMbMZ0lt7NkOi2o3BjFcEoIn
-ABEBAAHCwoQEGAEKAA8FAl1ofd0FCQ8JnAACGyIBKQkQUMmIRl9OO/3AXSAEGQEK
-AAYFAl1ofd0ACgkQBklZYXYnBMcHAwgAm8g4jcXY5Ag7Nl052Xnolo57dnO1gupn
-BSVs4o47M5DCpRhgHGSW/RM4LTozKQ8JEIdb5ba2wNL+YoJj9bZQ5+8Q60NFiP2N
-P6f6Rjwj3jVu0hmJW0w/BQmEjYlEZg/eyY7qw3Iiieprhob5KUlFE6k64DeMfYBP
-ttBAFGsUr9pIHHkfe5hMZ8ZNOrwpA5r1S2HhMqHlC6j1KFXarBifQhO4BXkB52Z1
-2aTryQPWHloJzGlpO1+BYI4bwV4UU5g121g3ABCOEkRrhzdtKGm4X7wx+aoKkjpZ
-NY8iiVGBm55fVs0jOfwF7AceU/75F8+Z3pCtDdLIP/d9C2xQhF1P2b/JD/9LAdYI
-f7ILTVOX7KJUNymshXiGLICXBqMUSHLgJDFwDOgVMDUHFKB3IRRGuV6NHM3zF6KX
-I3hysx6KjwoNJ56dtkv/I/18N9cIN84PsKe6Ndqr7HRkdmgjw5wpan9QtyiW884f
-FuvT92+xkl6ngMfdAz/+6HXplDZ6HhSkAmQZedfFCixGIkLdiX4rWcML50I+hH2P
-6w3zYObGbmGE3yL6/svY0CZQEo4soxboBuC41BJhNHsAyOmozD9GFvR+WJBadmUb
-DfB+TY8vjJTM7+oUedZGF4Kk/USH0BMYA9DSkHItXUfPukkSVsMEfP8bw2H8hTM9
-GbkKdyTOpjkX/WASWie3UNV9ZJ0jttTrjQd0YSiuchIRsOeLd9SUot6K3GzPd2R/
-hkDjHi+wqUWLjTm4xZ8EEhhKyH8/GmxyUSG4OGF9WNFRBRytOjSZIeuOePS673sU
-0SE0KE/hQc7ZDhsvEbIzM3oxWjF0E5b328TvO0otWAfWxaltDwNZgMHaRibCqN4U
-LCBXcmINfYl6haljOx0F2hnkMI6cF7AkkrhHhizdFz9jhJgWZG3j9mRbcDftT4MD
-y3TZ28vW4h/+j7vecEbZSyUbIARA5WWPwvLEAuS/FRrgjxh3qganox0rt4Bav2dN
-C+KvHkJQGVKs4YYPKe3KLR5G4u3w3C+h5Bz5AQ==
-=yRjr
------END PGP PUBLIC KEY BLOCK-----
-            
-
- +

Feel free to encrypt your message to me with my PGP key, available here.

Email Me

diff --git a/css/prism.css b/css/prism.css new file mode 100644 index 0000000..f5a3f84 --- /dev/null +++ b/css/prism.css @@ -0,0 +1,160 @@ +/* PrismJS 1.17.1 +https://prismjs.com/download.html#themes=prism-okaidia&languages=markup+css+clike+javascript+bash+markup-templating+go+handlebars+http+json&plugins=command-line */ +/** + * okaidia theme for JavaScript, CSS and HTML + * Loosely based on Monokai textmate theme by http://www.monokai.nl/ + * @author ocodia + */ + +code[class*="language-"], +pre[class*="language-"] { + color: #f8f8f2; + background: none; + text-shadow: 0 1px rgba(0, 0, 0, 0.3); + font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; + font-size: 1em; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + word-wrap: normal; + line-height: 1.5; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; + border-radius: 0.3em; +} + +:not(pre) > code[class*="language-"], +pre[class*="language-"] { + background: #272822; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; + white-space: normal; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: slategray; +} + +.token.punctuation { + color: #f8f8f2; +} + +.namespace { + opacity: .7; +} + +.token.property, +.token.tag, +.token.constant, +.token.symbol, +.token.deleted { + color: #f92672; +} + +.token.boolean, +.token.number { + color: #ae81ff; +} + +.token.selector, +.token.attr-name, +.token.string, +.token.char, +.token.builtin, +.token.inserted { + color: #a6e22e; +} + +.token.operator, +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string, +.token.variable { + color: #f8f8f2; +} + +.token.atrule, +.token.attr-value, +.token.function, +.token.class-name { + color: #e6db74; +} + +.token.keyword { + color: #66d9ef; +} + +.token.regex, +.token.important { + color: #fd971f; +} + +.token.important, +.token.bold { + font-weight: bold; +} +.token.italic { + font-style: italic; +} + +.token.entity { + cursor: help; +} + +.command-line-prompt { + border-right: 1px solid #999; + display: block; + float: left; + font-size: 100%; + letter-spacing: -1px; + margin-right: 1em; + pointer-events: none; + + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.command-line-prompt > span:before { + color: #999; + content: ' '; + display: block; + padding-right: 0.8em; +} + +.command-line-prompt > span[data-user]:before { + content: "[" attr(data-user) "@" attr(data-host) "] $"; +} + +.command-line-prompt > span[data-user="root"]:before { + content: "[" attr(data-user) "@" attr(data-host) "] #"; +} + +.command-line-prompt > span[data-prompt]:before { + content: attr(data-prompt); +} + diff --git a/js/prism.js b/js/prism.js new file mode 100644 index 0000000..c9f43aa --- /dev/null +++ b/js/prism.js @@ -0,0 +1,14 @@ +/* PrismJS 1.17.1 +https://prismjs.com/download.html#themes=prism-okaidia&languages=markup+css+clike+javascript+bash+markup-templating+go+handlebars+http+json&plugins=command-line */ +var _self="undefined"!=typeof window?window:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{},Prism=function(g){var c=/\blang(?:uage)?-([\w-]+)\b/i,a=0,C={manual:g.Prism&&g.Prism.manual,disableWorkerMessageHandler:g.Prism&&g.Prism.disableWorkerMessageHandler,util:{encode:function(e){return e instanceof M?new M(e.type,C.util.encode(e.content),e.alias):Array.isArray(e)?e.map(C.util.encode):e.replace(/&/g,"&").replace(/e.length)return;if(!(k instanceof M)){if(f&&y!=a.length-1){if(c.lastIndex=v,!(x=c.exec(e)))break;for(var b=x.index+(h&&x[1]?x[1].length:0),w=x.index+x[0].length,A=y,P=v,O=a.length;A"+n.content+""},!g.document)return g.addEventListener&&(C.disableWorkerMessageHandler||g.addEventListener("message",function(e){var a=JSON.parse(e.data),n=a.language,t=a.code,r=a.immediateClose;g.postMessage(C.highlight(t,C.languages[n],n)),r&&g.close()},!1)),C;var e=document.currentScript||[].slice.call(document.getElementsByTagName("script")).pop();return e&&(C.filename=e.src,C.manual||e.hasAttribute("data-manual")||("loading"!==document.readyState?window.requestAnimationFrame?window.requestAnimationFrame(C.highlightAll):window.setTimeout(C.highlightAll,16):document.addEventListener("DOMContentLoaded",C.highlightAll))),C}(_self);"undefined"!=typeof module&&module.exports&&(module.exports=Prism),"undefined"!=typeof global&&(global.Prism=Prism); +Prism.languages.markup={comment://,prolog:/<\?[\s\S]+?\?>/,doctype://i,cdata://i,tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/i,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/i,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/i,inside:{punctuation:[/^=/,{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:/&#?[\da-z]{1,8};/i},Prism.languages.markup.tag.inside["attr-value"].inside.entity=Prism.languages.markup.entity,Prism.hooks.add("wrap",function(a){"entity"===a.type&&(a.attributes.title=a.content.replace(/&/,"&"))}),Object.defineProperty(Prism.languages.markup.tag,"addInlined",{value:function(a,e){var s={};s["language-"+e]={pattern:/(^$)/i,lookbehind:!0,inside:Prism.languages[e]},s.cdata=/^$/i;var n={"included-cdata":{pattern://i,inside:s}};n["language-"+e]={pattern:/[\s\S]+/,inside:Prism.languages[e]};var i={};i[a]={pattern:RegExp("(<__[\\s\\S]*?>)(?:\\s*|[\\s\\S])*?(?=<\\/__>)".replace(/__/g,a),"i"),lookbehind:!0,greedy:!0,inside:n},Prism.languages.insertBefore("markup","cdata",i)}}),Prism.languages.xml=Prism.languages.extend("markup",{}),Prism.languages.html=Prism.languages.markup,Prism.languages.mathml=Prism.languages.markup,Prism.languages.svg=Prism.languages.markup; +!function(s){var t=/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/;s.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:/@[\w-]+[\s\S]*?(?:;|(?=\s*\{))/,inside:{rule:/@[\w-]+/}},url:{pattern:RegExp("url\\((?:"+t.source+"|[^\n\r()]*)\\)","i"),inside:{function:/^url/i,punctuation:/^\(|\)$/}},selector:RegExp("[^{}\\s](?:[^{};\"']|"+t.source+")*?(?=\\s*\\{)"),string:{pattern:t,greedy:!0},property:/[-_a-z\xA0-\uFFFF][-\w\xA0-\uFFFF]*(?=\s*:)/i,important:/!important\b/i,function:/[-a-z0-9]+(?=\()/i,punctuation:/[(){};:,]/},s.languages.css.atrule.inside.rest=s.languages.css;var e=s.languages.markup;e&&(e.tag.addInlined("style","css"),s.languages.insertBefore("inside","attr-value",{"style-attr":{pattern:/\s*style=("|')(?:\\[\s\S]|(?!\1)[^\\])*\1/i,inside:{"attr-name":{pattern:/^\s*style/i,inside:e.tag.inside},punctuation:/^\s*=\s*['"]|['"]\s*$/,"attr-value":{pattern:/.+/i,inside:s.languages.css}},alias:"language-css"}},e.tag))}(Prism); +Prism.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/((?:\b(?:class|interface|extends|implements|trait|instanceof|new)\s+)|(?:catch\s+\())[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,boolean:/\b(?:true|false)\b/,function:/\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&?|\|\|?|\?|\*|\/|~|\^|%/,punctuation:/[{}[\];(),.:]/}; +Prism.languages.javascript=Prism.languages.extend("clike",{"class-name":[Prism.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])[_$A-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\.(?:prototype|constructor))/,lookbehind:!0}],keyword:[{pattern:/((?:^|})\s*)(?:catch|finally)\b/,lookbehind:!0},{pattern:/(^|[^.])\b(?:as|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],number:/\b(?:(?:0[xX](?:[\dA-Fa-f](?:_[\dA-Fa-f])?)+|0[bB](?:[01](?:_[01])?)+|0[oO](?:[0-7](?:_[0-7])?)+)n?|(?:\d(?:_\d)?)+n|NaN|Infinity)\b|(?:\b(?:\d(?:_\d)?)+\.?(?:\d(?:_\d)?)*|\B\.(?:\d(?:_\d)?)+)(?:[Ee][+-]?(?:\d(?:_\d)?)+)?/,function:/#?[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,operator:/-[-=]?|\+[+=]?|!=?=?|<>?>?=?|=(?:==?|>)?|&[&=]?|\|[|=]?|\*\*?=?|\/=?|~|\^=?|%=?|\?|\.{3}/}),Prism.languages.javascript["class-name"][0].pattern=/(\b(?:class|interface|extends|implements|instanceof|new)\s+)[\w.\\]+/,Prism.languages.insertBefore("javascript","keyword",{regex:{pattern:/((?:^|[^$\w\xA0-\uFFFF."'\])\s])\s*)\/(\[(?:[^\]\\\r\n]|\\.)*]|\\.|[^/\\\[\r\n])+\/[gimyus]{0,6}(?=\s*($|[\r\n,.;})\]]))/,lookbehind:!0,greedy:!0},"function-variable":{pattern:/#?[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+[_$A-Za-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)?\s*\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\))/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*=>)/i,inside:Prism.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*=>)/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:[_$A-Za-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*\s*)\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*\{)/,lookbehind:!0,inside:Prism.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),Prism.languages.insertBefore("javascript","string",{"template-string":{pattern:/`(?:\\[\s\S]|\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}|(?!\${)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\${|}$/,alias:"punctuation"},rest:Prism.languages.javascript}},string:/[\s\S]+/}}}),Prism.languages.markup&&Prism.languages.markup.tag.addInlined("script","javascript"),Prism.languages.js=Prism.languages.javascript; +!function(e){var t="\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b",n={environment:{pattern:RegExp("\\$"+t),alias:"constant"},variable:[{pattern:/\$?\(\([\s\S]+?\)\)/,greedy:!0,inside:{variable:[{pattern:/(^\$\(\([\s\S]+)\)\)/,lookbehind:!0},/^\$\(\(/],number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--?|-=|\+\+?|\+=|!=?|~|\*\*?|\*=|\/=?|%=?|<<=?|>>=?|<=?|>=?|==?|&&?|&=|\^=?|\|\|?|\|=|\?|:/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,greedy:!0,inside:{variable:/^\$\(|^`|\)$|`$/}},{pattern:/\$\{[^}]+\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,punctuation:/[\[\]]/,environment:{pattern:RegExp("(\\{)"+t),lookbehind:!0,alias:"constant"}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|x[0-9a-fA-F]{1,2}|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{8})/};e.languages.bash={shebang:{pattern:/^#!\s*\/.*/,alias:"important"},comment:{pattern:/(^|[^"{\\$])#.*/,lookbehind:!0},"function-name":[{pattern:/(\bfunction\s+)\w+(?=(?:\s*\(?:\s*\))?\s*\{)/,lookbehind:!0,alias:"function"},{pattern:/\b\w+(?=\s*\(\s*\)\s*\{)/,alias:"function"}],"for-or-select":{pattern:/(\b(?:for|select)\s+)\w+(?=\s+in\s)/,alias:"variable",lookbehind:!0},"assign-left":{pattern:/(^|[\s;|&]|[<>]\()\w+(?=\+?=)/,inside:{environment:{pattern:RegExp("(^|[\\s;|&]|[<>]\\()"+t),lookbehind:!0,alias:"constant"}},alias:"variable",lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+?)\s*(?:\r?\n|\r)(?:[\s\S])*?(?:\r?\n|\r)\2/,lookbehind:!0,greedy:!0,inside:n},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s*(?:\r?\n|\r)(?:[\s\S])*?(?:\r?\n|\r)\3/,lookbehind:!0,greedy:!0},{pattern:/(["'])(?:\\[\s\S]|\$\([^)]+\)|`[^`]+`|(?!\1)[^\\])*\1/,greedy:!0,inside:n}],environment:{pattern:RegExp("\\$?"+t),alias:"constant"},variable:n.variable,function:{pattern:/(^|[\s;|&]|[<>]\()(?:add|apropos|apt|aptitude|apt-cache|apt-get|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\s;|&]|[<>]\()(?:if|then|else|elif|fi|for|while|in|case|esac|function|select|do|done|until)(?=$|[)\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\s;|&]|[<>]\()(?:\.|:|break|cd|continue|eval|exec|exit|export|getopts|hash|pwd|readonly|return|shift|test|times|trap|umask|unset|alias|bind|builtin|caller|command|declare|echo|enable|help|let|local|logout|mapfile|printf|read|readarray|source|type|typeset|ulimit|unalias|set|shopt)(?=$|[)\s;|&])/,lookbehind:!0,alias:"class-name"},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:true|false)(?=$|[)\s;|&])/,lookbehind:!0},"file-descriptor":{pattern:/\B&\d\b/,alias:"important"},operator:{pattern:/\d?<>|>\||\+=|==?|!=?|=~|<<[<-]?|[&\d]?>>|\d?[<>]&?|&[>&]?|\|[&|]?|<=?|>=?/,inside:{"file-descriptor":{pattern:/^\d/,alias:"important"}}},punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,number:{pattern:/(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,lookbehind:!0}};for(var a=["comment","function-name","for-or-select","assign-left","string","environment","function","keyword","builtin","boolean","file-descriptor","operator","punctuation","number"],r=n.variable[1].inside,s=0;s=d.length);t++){var a=n[t];if("string"==typeof a||a.content&&"string"==typeof a.content){var r=d[m],o=p.tokenStack[r],c="string"==typeof a?a:a.content,i=v(k,r),u=c.indexOf(i);if(-1(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,number:/(?:\b0x[a-f\d]+|(?:\b\d+\.?\d*|\B\.\d+)(?:e[-+]?\d+)?)i?/i,string:{pattern:/(["'`])(\\[\s\S]|(?!\1)[^\\])*\1/,greedy:!0}}),delete Prism.languages.go["class-name"]; +!function(e){e.languages.handlebars={comment:/\{\{![\s\S]*?\}\}/,delimiter:{pattern:/^\{\{\{?|\}\}\}?$/i,alias:"punctuation"},string:/(["'])(?:\\.|(?!\1)[^\\\r\n])*\1/,number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:[Ee][+-]?\d+)?/,boolean:/\b(?:true|false)\b/,block:{pattern:/^(\s*~?\s*)[#\/]\S+?(?=\s*~?\s*$|\s)/i,lookbehind:!0,alias:"keyword"},brackets:{pattern:/\[[^\]]+\]/,inside:{punctuation:/\[|\]/,variable:/[\s\S]+/}},punctuation:/[!"#%&'()*+,.\/;<=>@\[\\\]^`{|}~]/,variable:/[^!"#%&'()*+,.\/;<=>@\[\\\]^`{|}~\s]+/},e.hooks.add("before-tokenize",function(a){e.languages["markup-templating"].buildPlaceholders(a,"handlebars",/\{\{\{[\s\S]+?\}\}\}|\{\{[\s\S]+?\}\}/g)}),e.hooks.add("after-tokenize",function(a){e.languages["markup-templating"].tokenizePlaceholders(a,"handlebars")})}(Prism); +!function(t){t.languages.http={"request-line":{pattern:/^(?:POST|GET|PUT|DELETE|OPTIONS|PATCH|TRACE|CONNECT)\s(?:https?:\/\/|\/)\S+\sHTTP\/[0-9.]+/m,inside:{property:/^(?:POST|GET|PUT|DELETE|OPTIONS|PATCH|TRACE|CONNECT)\b/,"attr-name":/:\w+/}},"response-status":{pattern:/^HTTP\/1.[01] \d+.*/m,inside:{property:{pattern:/(^HTTP\/1.[01] )\d+.*/i,lookbehind:!0}}},"header-name":{pattern:/^[\w-]+:(?=.)/m,alias:"keyword"}};var a,e,n,i=t.languages,s={"application/javascript":i.javascript,"application/json":i.json||i.javascript,"application/xml":i.xml,"text/xml":i.xml,"text/html":i.html,"text/css":i.css},p={"application/json":!0,"application/xml":!0};for(var r in s)if(s[r]){a=a||{};var T=p[r]?(void 0,n=(e=r).replace(/^[a-z]+\//,""),"(?:"+e+"|\\w+/(?:[\\w.-]+\\+)+"+n+"(?![+\\w.-]))"):r;a[r]={pattern:RegExp("(content-type:\\s*"+T+"[\\s\\S]*?)(?:\\r?\\n|\\r){2}[\\s\\S]*","i"),lookbehind:!0,inside:{rest:s[r]}}}a&&t.languages.insertBefore("http","header-name",a)}(Prism); +Prism.languages.json={property:{pattern:/"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,greedy:!0},string:{pattern:/"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,greedy:!0},comment:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,number:/-?\d+\.?\d*(e[+-]?\d+)?/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:true|false)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}}; +!function(){if("undefined"!=typeof self&&self.Prism&&self.document){var u=/(?:^|\s)command-line(?:\s|$)/;Prism.hooks.add("before-highlight",function(e){var t=e.vars=e.vars||{},a=t["command-line"]=t["command-line"]||{};if(!a.complete&&e.code){var n=e.element.parentNode;if(n&&/pre/i.test(n.nodeName)&&(u.test(n.className)||u.test(e.element.className)))if(e.element.querySelector(".command-line-prompt"))a.complete=!0;else{var r=e.code.split("\n");a.numberOfLines=r.length;var s=a.outputLines=[],o=n.getAttribute("data-output"),i=n.getAttribute("data-filter-output");if(o||""===o){o=o.split(",");for(var l=0;lr.length&&(d=r.length),d--;for(var c=--p;c<=d;c++)s[c]=r[c],r[c]=""}}}else if(i)for(l=0;l');else{var i=r("data-user","user"),l=r("data-host","localhost");s=s.join('')}var m=document.createElement("span");m.className="command-line-prompt",m.innerHTML=s;for(var p=0,d=(a.outputLines||[]).length;pkeybase. + +```pgp +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: Keybase OpenPGP v2.1.3 +Comment: https://keybase.io/crypto + +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 +C+KvHkJQGVKs4YYPKe3KLR5G4u3w3C+h5Bz5AQ== +=yRjr +-----END PGP PUBLIC KEY BLOCK----- +``` + +Below is a message signed by myself, for testing purposes. + +```pgp +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA512 + +Hi! + +This message is to confirm that this is my PGP key, and I own https://williambarkoff.com + +Thanks, +William +-----BEGIN PGP SIGNATURE----- +Version: Keybase OpenPGP v2.1.3 +Comment: https://keybase.io/crypto + +wsBcBAABCgAGBQJdaJTRAAoJEAZJWWF2JwTH3qMH/1I9XgCH4BDhGIZM9hEamV+d +86+6uvDDBGHFWhdtc3ArF0uxFB91jLnGUUY6EF8/7wIJi7Jy3sKJzou9NzJaCX9V +RTfzrxJVCX8wbFeaAK8YnOToO3+kcInDrjbAI92rtKkUOYrsu3NTDZxQNI7QzNTZ +szHLDn3ZavEgkDbWf+hOpgO9HEF5qoKn/GZS9BOBsJxoG/7Tnt4ycdHb2knV8iCj +UNpPaXinExF17um+Dk6Pi+CSRBjfpbZxcIvuJWPipI/VNglNu40oHrMDJq9PKjIc +diXE4wsC7kp+jn/rrvo6FXmnEMAzI2GZ+M3ZZ/OmD+pys8hHsTVsYR3I3ambUD0= +=3AHZ +-----END PGP SIGNATURE----- +``` + +If you want to verify that I own this site, you can use keybase to do so. + +
dig williambarkoff.com TXT | grep keybase
+(out)
+(out)williambarkoff.com.	300	IN	TXT	"keybase-site-verification=o0UZqZ5KsFPe_UGfiAmiE00LGk-l9BjGiabMBg4ZWi0"
+ +View in keybase