Release typescript version
1
.gitignore
vendored
@@ -2,3 +2,4 @@
|
|||||||
BitwiseCmdPages/
|
BitwiseCmdPages/
|
||||||
.DS_Store
|
.DS_Store
|
||||||
node_modules/
|
node_modules/
|
||||||
|
build/
|
||||||
@@ -1,14 +1,15 @@
|
|||||||
(function() {
|
(function() {
|
||||||
|
|
||||||
var disableAnalytics = localStorage.getItem('trackAnalytics') === 'false' || window.location.hash.indexOf('-notrack') > -1
|
var key = 'TrackAnalytics';
|
||||||
|
var disableAnalytics = localStorage.getItem(key) === 'false' || window.location.hash.indexOf('-notrack') > -1
|
||||||
|
|
||||||
if(disableAnalytics) {
|
if(disableAnalytics) {
|
||||||
localStorage.setItem("trackAnalytics", "false");
|
localStorage.setItem(key, "false");
|
||||||
console.log('Analytics tracking disabled.');
|
console.log('Analytics tracking disabled.');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(window.location.host != 'bitwisecmd.com') {
|
if(window.location.host !== 'bitwisecmd.com') {
|
||||||
console.log("Analytics not tracked. Non-prod host")
|
console.log("Analytics not tracked. Non-prod host")
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
15
asset-manifest.json
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
{
|
||||||
|
"files": {
|
||||||
|
"main.css": "/static/css/main.c7a8b155.chunk.css",
|
||||||
|
"main.js": "/static/js/main.ff2608fb.chunk.js",
|
||||||
|
"main.js.map": "/static/js/main.ff2608fb.chunk.js.map",
|
||||||
|
"runtime~main.js": "/static/js/runtime~main.a8a9905a.js",
|
||||||
|
"runtime~main.js.map": "/static/js/runtime~main.a8a9905a.js.map",
|
||||||
|
"static/js/2.5133f82a.chunk.js": "/static/js/2.5133f82a.chunk.js",
|
||||||
|
"static/js/2.5133f82a.chunk.js.map": "/static/js/2.5133f82a.chunk.js.map",
|
||||||
|
"index.html": "/index.html",
|
||||||
|
"precache-manifest.306a719117545e31b16fdffd84fad1d1.js": "/precache-manifest.306a719117545e31b16fdffd84fad1d1.js",
|
||||||
|
"service-worker.js": "/service-worker.js",
|
||||||
|
"static/css/main.c7a8b155.chunk.css.map": "/static/css/main.c7a8b155.chunk.css.map"
|
||||||
|
}
|
||||||
|
}
|
||||||
139
css/styles.css
@@ -1,139 +0,0 @@
|
|||||||
body { padding:0; margin:0; height: 100%; overflow: hidden; }
|
|
||||||
html { height: 100% }
|
|
||||||
|
|
||||||
.app-root { font-family: Verdana; font-size: 0.8em; margin: 0; padding: 20px 100px 0 100px; height: 100%; overflow: auto; }
|
|
||||||
code { font-size: 1.2em; font-weight: bold; }
|
|
||||||
|
|
||||||
.header-cmd { color: #c5c5c5 }
|
|
||||||
|
|
||||||
.top-links { position: absolute; right: 10px; top: 10px; list-style-type: none; margin: 0 }
|
|
||||||
.top-links li { float: left; }
|
|
||||||
.top-links a { display: inline-block; padding: 10px 15px}
|
|
||||||
.top-links .icon { margin-right: 5px; }
|
|
||||||
|
|
||||||
.mono { font-family: monospace; font-size: 1.3em }
|
|
||||||
.expressionInput { width: 500px; padding: 3px; border: solid 1px lightgray; }
|
|
||||||
|
|
||||||
.result { margin: 10px 10px 30px; }
|
|
||||||
.result .input { margin-bottom: 10px; }
|
|
||||||
.result .content { padding-left: 10px}
|
|
||||||
.result .cur { margin-right: 5px; }
|
|
||||||
|
|
||||||
.hashLink { text-decoration: none; margin-left: 5px; visibility: hidden }
|
|
||||||
.hashLink:hover { text-decoration: underline; margin-left: 5px; }
|
|
||||||
.result:hover .hashLink { visibility: visible }
|
|
||||||
|
|
||||||
.expression .label { font-weight: bold; padding-right: 5px; text-align: right; }
|
|
||||||
.expression .bin { letter-spacing: 3px; }
|
|
||||||
.expression .flipable { cursor: pointer; opacity: 1 }
|
|
||||||
.expression .flipable:hover { opacity: 0.8 }
|
|
||||||
.expression .byte { margin: 0 3px; }
|
|
||||||
.expression .flipable { cursor: pointer; opacity: 1 }
|
|
||||||
.expression .flipable:hover { opacity: 0.8 }
|
|
||||||
.expression-result td { border-top: dotted 1px gray; }
|
|
||||||
.expression { font-size: 1.5em; font-family: monospace }
|
|
||||||
.expression .prefix { font-weight: normal; display: none; font-size: 0.9em }
|
|
||||||
.expression .other { font-size: 0.9em}
|
|
||||||
.expression .sign { text-align: right}
|
|
||||||
|
|
||||||
.hex .prefix { display: inline; }
|
|
||||||
|
|
||||||
.help { padding: 10px; }
|
|
||||||
.help ul { list-style-type: none; margin: 0; padding: 0; }
|
|
||||||
.help p { margin-top: 0 }
|
|
||||||
|
|
||||||
.indicator { padding: 2px 5px; font-family: monospace; font-size: 1.3em; background: transparent; border: none; cursor: pointer }
|
|
||||||
.error { color: maroon; }
|
|
||||||
|
|
||||||
.soft { opacity: 0.7 }
|
|
||||||
|
|
||||||
.changelog .item { margin-top: 2em; }
|
|
||||||
|
|
||||||
#view { padding: 10px}
|
|
||||||
|
|
||||||
.cur { color: lightgray; }
|
|
||||||
|
|
||||||
.icon { width: 16px; height: 16px; display: inline-block; }
|
|
||||||
.light .twitter { background: url('../img/twitter-light.png') }
|
|
||||||
.dark .twitter { background: url('../img/twitter-dark.png') }
|
|
||||||
.midnight .twitter { background: url('../img/twitter-dark.png') }
|
|
||||||
|
|
||||||
.light .feedback { background: url('../img/feedback-light.png') }
|
|
||||||
.dark .feedback { background: url('../img/feedback-dark.png') }
|
|
||||||
.midnight .feedback { background: url('../img/feedback-dark.png') }
|
|
||||||
|
|
||||||
.light .github { background: url('../img/github-light.png') }
|
|
||||||
.dark .github { background: url('../img/github-dark.png') }
|
|
||||||
.midnight .github { background: url('../img/github-dark.png') }
|
|
||||||
|
|
||||||
/* Light */
|
|
||||||
.light { background: #fafafa; }
|
|
||||||
.light a, .light a:visited { color: #222; }
|
|
||||||
.light .one { color: black; }
|
|
||||||
.light .zero { color: #888; }
|
|
||||||
.light .indicator { color: #ddd; }
|
|
||||||
.light .on { color: #121212; }
|
|
||||||
.light .prefix { color: #888}
|
|
||||||
.light .other { color: #bbb }
|
|
||||||
.light .hashLink, .light .hashLink:visited { color: #ddd }
|
|
||||||
.light .hashLink:hover { color: #888 }
|
|
||||||
.light ul.top-links li:hover { background: #ddd }
|
|
||||||
.light .error { color: #da586d }
|
|
||||||
|
|
||||||
/* Dark */
|
|
||||||
.dark { background: #121212; color: white;}
|
|
||||||
.dark .expression { color: white;}
|
|
||||||
.dark .expressionInput { background: #121212; color: white; }
|
|
||||||
.dark a, .dark a:visited { color: white; }
|
|
||||||
.dark .indicator { color: #555; }
|
|
||||||
.dark .on { color: white; }
|
|
||||||
.dark .zero { color: #999;}
|
|
||||||
.dark .prefix { color: #999}
|
|
||||||
.dark .other { color: #444;}
|
|
||||||
.dark .hashLink, .dark .hashLink:visited { color: #333 }
|
|
||||||
.dark .hashLink:hover { color: #999 }
|
|
||||||
.dark ul.top-links li:hover { background: #333 }
|
|
||||||
.dark .error { color: #da586d}
|
|
||||||
|
|
||||||
/*
|
|
||||||
Midnight Theme
|
|
||||||
*/
|
|
||||||
.midnight .header-cmd { color: #85a0ad }
|
|
||||||
.midnight { background: #2c3e50; color: white }
|
|
||||||
.midnight .expression { color: white;}
|
|
||||||
.midnight .expressionInput { background: #2c3e50; color: white; border-color: #85a0ad }
|
|
||||||
.midnight a, .dark a:visited { color: white; }
|
|
||||||
.midnight .indicator { color: #85a0ad; }
|
|
||||||
.midnight .on { color: white; }
|
|
||||||
.midnight .zero { color: #85a0ad;}
|
|
||||||
.midnight .prefix { color: #85a0ad}
|
|
||||||
.midnight .other { color: #9FBAC7;}
|
|
||||||
.midnight .hashLink, .dark .hashLink:visited { color: #85a0ad }
|
|
||||||
.midnight .hashLink:hover { color: #9FBAC7 }
|
|
||||||
.midnight ul.top-links li:hover { background: #132537 }
|
|
||||||
.midnight .error { color:#da586d}
|
|
||||||
.midnight .changelog .item-new .date { font-weight: bold }
|
|
||||||
|
|
||||||
/* Top Links Shrink */
|
|
||||||
@media (max-width: 800px) {
|
|
||||||
|
|
||||||
.top-links .link-text { display: none }
|
|
||||||
}
|
|
||||||
|
|
||||||
.social-container{ position:fixed; bottom:10px; right:10px }
|
|
||||||
|
|
||||||
/* Remove margin space on body. Inline top links with header */
|
|
||||||
@media (max-width: 700px) {
|
|
||||||
body { padding: 10px; }
|
|
||||||
.expressionInput { width: 500px; }
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Further shrink */
|
|
||||||
@media (max-width: 500px) {
|
|
||||||
.expressionInput { width: 350px; }
|
|
||||||
.top-links a { display: inline-block; padding: 5px 10px}
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (max-width: 350px) {
|
|
||||||
.expressionInput { width: 200px; }
|
|
||||||
}
|
|
||||||
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 470 B |
|
Before Width: | Height: | Size: 605 B |
|
Before Width: | Height: | Size: 6.4 KiB |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB |
40
index.html
@@ -1,39 +1 @@
|
|||||||
<!DOCTYPE>
|
<!doctype html><html lang="en"><head><meta charset="utf-8"/><link rel="shortcut icon" href="/favicon.ico"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#000000"/><link rel="manifest" href="/manifest.json"/><title>BitwiseCmd</title><link href="/static/css/main.c7a8b155.chunk.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root" style="height:100%"></div><script type="text/javascript" src="analytics.js"></script><div id="fb-root"></div><script>!function(e,n,t){var o,c=e.getElementsByTagName(n)[0];e.getElementById(t)||((o=e.createElement(n)).id=t,o.src="//connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.5",c.parentNode.insertBefore(o,c))}(document,"script","facebook-jssdk")</script><div class="social-container"><div class="fb-like" data-href="http://bitwisecmd.com" data-layout="box_count" data-action="like" data-show-faces="false" data-share="true"></div></div><script>!function(l){function e(e){for(var r,t,n=e[0],o=e[1],u=e[2],f=0,i=[];f<n.length;f++)t=n[f],p[t]&&i.push(p[t][0]),p[t]=0;for(r in o)Object.prototype.hasOwnProperty.call(o,r)&&(l[r]=o[r]);for(s&&s(e);i.length;)i.shift()();return c.push.apply(c,u||[]),a()}function a(){for(var e,r=0;r<c.length;r++){for(var t=c[r],n=!0,o=1;o<t.length;o++){var u=t[o];0!==p[u]&&(n=!1)}n&&(c.splice(r--,1),e=f(f.s=t[0]))}return e}var t={},p={1:0},c=[];function f(e){if(t[e])return t[e].exports;var r=t[e]={i:e,l:!1,exports:{}};return l[e].call(r.exports,r,r.exports,f),r.l=!0,r.exports}f.m=l,f.c=t,f.d=function(e,r,t){f.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},f.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},f.t=function(r,e){if(1&e&&(r=f(r)),8&e)return r;if(4&e&&"object"==typeof r&&r&&r.__esModule)return r;var t=Object.create(null);if(f.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:r}),2&e&&"string"!=typeof r)for(var n in r)f.d(t,n,function(e){return r[e]}.bind(null,n));return t},f.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return f.d(r,"a",r),r},f.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},f.p="/";var r=window.webpackJsonp=window.webpackJsonp||[],n=r.push.bind(r);r.push=e,r=r.slice();for(var o=0;o<r.length;o++)e(r[o]);var s=n;a()}([])</script><script src="/static/js/2.5133f82a.chunk.js"></script><script src="/static/js/main.ff2608fb.chunk.js"></script></body></html>
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta charset="UTF-8">
|
|
||||||
<meta name="description" content="Free Text Online Bitwise Calculator">
|
|
||||||
|
|
||||||
<title>BitwiseCmd</title>
|
|
||||||
<link rel="shortcut icon" href="http://bitwisecmd.com/favicon.ico">
|
|
||||||
<link rel="stylesheet" type="text/css" href="css/styles.css" />
|
|
||||||
|
|
||||||
<meta property="og:url" content="http://bitwisecmd.com" />
|
|
||||||
<meta property="og:type" content="website" />
|
|
||||||
<meta property="og:title" content="BitwiseCmd" />
|
|
||||||
<meta property="og:description" content="Free Text Online Bitwise Calculator" />
|
|
||||||
<meta property="og:image" content="http://bitwisecmd.com/img/social-avatar.png" />
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="root">
|
|
||||||
<p>Ooops... Something went wrong.</p>
|
|
||||||
<p>Either you have an old browser or I screwed something up ¯\_(ツ)_/¯</p>
|
|
||||||
<p>No worries! There is a still old version avaliable at <a href="http://bitwisecmd.com/old">http://bitwisecmd.com/old</a>.</p>
|
|
||||||
</div>
|
|
||||||
<script src="bundle.js"></script>
|
|
||||||
<script src="analytics.js"></script>
|
|
||||||
|
|
||||||
<div id="fb-root"></div>
|
|
||||||
<script>(function(d, s, id) {
|
|
||||||
var js, fjs = d.getElementsByTagName(s)[0];
|
|
||||||
if (d.getElementById(id)) return;
|
|
||||||
js = d.createElement(s); js.id = id;
|
|
||||||
js.src = "//connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.5";
|
|
||||||
fjs.parentNode.insertBefore(js, fjs);
|
|
||||||
}(document, 'script', 'facebook-jssdk'));</script>
|
|
||||||
|
|
||||||
<div class="social-container">
|
|
||||||
<div class="fb-like" data-href="http://bitwisecmd.com" data-layout="box_count" data-action="like" data-show-faces="false" data-share="true"></div>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
15
manifest.json
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
{
|
||||||
|
"short_name": "BitwiseCmd",
|
||||||
|
"name": "BitwiseCmd",
|
||||||
|
"icons": [
|
||||||
|
{
|
||||||
|
"src": "favicon.ico",
|
||||||
|
"sizes": "64x64 32x32 24x24 16x16",
|
||||||
|
"type": "image/x-icon"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"start_url": ".",
|
||||||
|
"display": "standalone",
|
||||||
|
"theme_color": "#000000",
|
||||||
|
"background_color": "#ffffff"
|
||||||
|
}
|
||||||
@@ -1 +0,0 @@
|
|||||||
.help ul,.top-links{list-style-type:none}body{font-family:Verdana;font-size:.8em;margin:0;padding:20px 100px 0}.expression,.indicator,.mono{font-family:monospace}code{font-size:1.2em;font-weight:700}.social-container{position:fixed;bottom:10px;right:10px}.top-links{position:absolute;right:10px;top:10px;margin:0}.top-links li{float:left}.top-links a{display:inline-block;padding:10px 15px}.top-links .icon{margin-right:5px}.mono{font-size:1.3em}.expressionInput{width:500px;padding:3px;border:1px solid #d3d3d3}.result{margin:10px 10px 30px}.result .input{margin-bottom:10px}.result .content{padding-left:10px}.result .cur{margin-right:5px}.hashLink{text-decoration:none;margin-left:5px;visibility:hidden}.hashLink:hover{text-decoration:underline;margin-left:5px}.input:hover .hashLink{visibility:visible}.expression .label{font-weight:700;padding-right:5px;text-align:right}.expression .bin{letter-spacing:3px}.expression .byte{margin:0 3px}.expression .flipable{cursor:pointer;opacity:1}.expression .flipable:hover{opacity:.8}.expression-result td{border-top:dotted 1px gray}.expression{font-size:1.5em}.expression .prefix{font-weight:400;display:none;font-size:.9em}.expression .other{font-size:.9em}.expression .sign{text-align:right}.hex .prefix{display:inline}.help{padding:10px}.help ul{margin:0;padding:0}.help p{margin-top:0}.indicator{padding:2px 5px;font-size:1.3em;background:0 0;border:none;cursor:pointer}.error{color:maroon}#view{padding:10px}.cur{color:#d3d3d3}.icon{width:16px;height:16px;display:inline-block}.light .twitter{background:url(../img/twitter-light.png)}.dark .twitter{background:url(../img/twitter-dark.png)}.light .feedback{background:url(../img/feedback-light.png)}.dark .feedback{background:url(../img/feedback-dark.png)}.dark .github{background:url(../img/github-dark.png)}.light .github{background:url(../img/github-light.png)}.light{background:#fafafa}.light a,.light a:visited{color:#222}.light .one{color:#000}.light .zero{color:#888}.light .indicator{color:#ddd}.light .on{color:#121212}.light .prefix{color:#888}.light .other{color:#bbb}.light .hashLink,.light .hashLink:visited{color:#ddd}.light .hashLink:hover{color:#888}.light ul.top-links li:hover{background:#ddd}.dark,.dark .expressionInput{background:#121212;color:#fff}.dark a,.dark a:visited{color:#fff}.dark .indicator{color:#555}.dark .on{color:#fff}.dark .prefix,.dark .zero{color:#999}.dark .other{color:#444}.dark .hashLink,.dark .hashLink:visited{color:#333}.dark .hashLink:hover{color:#999}.dark ul.top-links li:hover{background:#333}@media (max-width:800px){.top-links .link-text{display:none}}@media (max-width:700px){body{padding:10px}.expressionInput{width:500px}}@media (max-width:500px){.expressionInput{width:350px}.top-links a{display:inline-block;padding:5px 10px}}@media (max-width:350px){.expressionInput{width:200px}}
|
|
||||||
BIN
old/favicon.ico
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 470 B |
|
Before Width: | Height: | Size: 605 B |
|
Before Width: | Height: | Size: 5.3 KiB |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB |
175
old/index.html
@@ -1,175 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
<head lang="en">
|
|
||||||
<meta charset="UTF-8">
|
|
||||||
<meta name="description" content="Free Text Online Bitwise Calculator">
|
|
||||||
|
|
||||||
<title>BitwiseCmd</title>
|
|
||||||
<link rel="shortcut icon" href="http://bitwisecmd.com/favicon.ico">
|
|
||||||
|
|
||||||
<meta property="og:url" content="http://bitwisecmd.com" />
|
|
||||||
<meta property="og:type" content="website" />
|
|
||||||
<meta property="og:title" content="BitwiseCmd" />
|
|
||||||
<meta property="og:description" content="Free Text Online Bitwise Calculator" />
|
|
||||||
<meta property="og:image" content="http://bitwisecmd.com/img/social-avatar.png" />
|
|
||||||
|
|
||||||
<script src="js/bitwisecmd.js"></script>
|
|
||||||
|
|
||||||
<link rel="stylesheet" type="text/css" href="css/styles.css" />
|
|
||||||
</head>
|
|
||||||
<body id="rootView" class="dark">
|
|
||||||
|
|
||||||
<header>
|
|
||||||
<div class="header">
|
|
||||||
<h1>Bitwise<span style="color: #c5c5c5;">Cmd</span> <span>
|
|
||||||
|
|
||||||
</span></h1>
|
|
||||||
|
|
||||||
<ul class="top-links">
|
|
||||||
<li>
|
|
||||||
<a href="https://github.com/BorisLevitskiy/BitwiseCmd"><i class="icon github"> </i><span class="link-text">Project on GitHub</span></a>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a href="https://twitter.com/BitwiseCmd"><i class="icon twitter"> </i><span class="link-text">Twitter</span></a>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a href="mailto:bitwisecmd@gmail.com?subject=Feedback"><i class="icon feedback"> </i><span class="link-text">Send Feedback</span></a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="expressionInput-container">
|
|
||||||
<input id="in" type="text" class="expressionInput mono" data-controller="expressionInputCtrl" placeholder="type expression like '1>>2' or 'help' "/>
|
|
||||||
|
|
||||||
<span data-controller="configPanelCtrl" class="configPnl">
|
|
||||||
<span id="emphasizeBytes" data-cmd="em" class="indicator on" title="Emphasize Bytes">[em]</span>
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
</header>
|
|
||||||
|
|
||||||
<div id="output" data-controller="cmdController">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<script data-template="helpResultTpl" type="text/template">
|
|
||||||
<div class="help helpResultTpl">
|
|
||||||
<div style="overflow: hidden">
|
|
||||||
<div style="float: left; margin-right: 20px">
|
|
||||||
<p class="section">
|
|
||||||
<strong>Supported Commands</strong>
|
|
||||||
<ul>
|
|
||||||
<li><code>23 ^ 34</code> — type bitwise expression to see result in binary (only positive integers are supported now)</li>
|
|
||||||
<li><code>23 34</code> — type one or more numbers to see their binary representations</li>
|
|
||||||
<li><code>clear</code> — clear output pane</li>
|
|
||||||
<li><code>help</code> — display this help</li>
|
|
||||||
<li><code>em</code> — turn On/Off Emphasize Bytes</li>
|
|
||||||
<li><code>dark</code> — set Dark theme</li>
|
|
||||||
<li><code>light</code> — set Light theme</li>
|
|
||||||
<li><code>about</code> — about the app</li>
|
|
||||||
</ul>
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
<div class="float:left">
|
|
||||||
<p class="section">
|
|
||||||
<strong>Supported Bitwise Operations</strong><br/>
|
|
||||||
<small>
|
|
||||||
<a href="https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Operators/Bitwise_Operators">
|
|
||||||
as implemented in JavaScript engine
|
|
||||||
</a>
|
|
||||||
</small>
|
|
||||||
<ul>
|
|
||||||
<li><code>&</code> — bitwise AND</li>
|
|
||||||
<li><code>|</code> — bitwise inclusive OR</li>
|
|
||||||
<li><code>^</code> — bitwise exclusive XOR</li>
|
|
||||||
<li><code>~</code> — bitwise NOT</li>
|
|
||||||
<li><code><<</code> — left shift</li>
|
|
||||||
<li><code>>></code> — sign propagating right shift</li>
|
|
||||||
<li><code>>>></code> — zero-fill right shift</li>
|
|
||||||
|
|
||||||
</ul>
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<p style="font-style: italic">
|
|
||||||
<strong>Tip:</strong> Use Up and Down keys to navigate trough executed commands.
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<script data-template="aboutTpl" type="text/template">
|
|
||||||
<div class="aboutTpl">
|
|
||||||
<p> Created by <a href="http://boryslevytskyi.github.io/">Borys Levytskyi</a>. Please give it a like if BitwiseCmd has helped you in your work.</p>
|
|
||||||
<p>If you have an idea, suggestion or you've spotted a bug here, please send it to <a href="mailto:bitwisecmd@gmail.com?subject=Feedback">bitwisecmd@gmail.com</a> or tweet on <a href="http://twitter.com/BitwiseCmd">@BitwiseCmd</a>. Your feedback is greatly appreciated.</p>
|
|
||||||
<p><a href="https://github.com/BorisLevitskiy/BitwiseCmd">Project on <strong>GitHub</strong></a></p>
|
|
||||||
</div>
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<script data-template="resultView" data-compiled="" type="text/template">
|
|
||||||
<div class="result">
|
|
||||||
<div class="input mono"><span class="cur">></span>{m.input}<a class="hashLink" title="Link for this expression" href="{window.location.pathname}#{m.inputHash}">#</a></div>
|
|
||||||
<div class="content"></div>
|
|
||||||
</div>
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<script data-template="bitwiseExpressionView" data-compiled="" type="text/template">
|
|
||||||
<table class="expression" cellspacing="0">
|
|
||||||
{each itm in m.items}
|
|
||||||
<tr class="{itm.css}">
|
|
||||||
<td class="sign">{itm.sign}</td>
|
|
||||||
<td class="label">{itm.label}</td>
|
|
||||||
<td class="bin">{itm.bin.padLeft(m.maxNumberOfBits, '0')}</td>
|
|
||||||
<td class="other">{itm.other}</td>
|
|
||||||
</tr>
|
|
||||||
{/}
|
|
||||||
</table>
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<script data-template="numbersList" data-compiled="" type="text/template">
|
|
||||||
<table class="expression" cellspacing="0">
|
|
||||||
{each op in m.operands}
|
|
||||||
<tr data-kind="{op.kind}">
|
|
||||||
<td class="label">{op.input}</td>
|
|
||||||
<td class="bin">{op.bin.padLeft(m.bitsSize, '0')}</td>
|
|
||||||
<td class="other">{op.other}</td>
|
|
||||||
</tr>
|
|
||||||
{/}
|
|
||||||
</table>
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<script type="text/javascript">
|
|
||||||
|
|
||||||
var app = window.app;
|
|
||||||
app.bootstrap(document.getElementById('rootView'));
|
|
||||||
|
|
||||||
var cmd = app.get('cmd');
|
|
||||||
var hashArgs = app.get('hashArgs');
|
|
||||||
|
|
||||||
if(hashArgs.commands.length > 0) {
|
|
||||||
hashArgs.commands.forEach(cmd.execute.bind(cmd));
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
cmd.execute('help');
|
|
||||||
cmd.execute('1|2&6');
|
|
||||||
cmd.execute('1<<0x2a');
|
|
||||||
cmd.execute('2 4 8 16 32');
|
|
||||||
}
|
|
||||||
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<script src="js/analytics.js"></script>
|
|
||||||
|
|
||||||
<div id="fb-root"></div>
|
|
||||||
<script>(function(d, s, id) {
|
|
||||||
var js, fjs = d.getElementsByTagName(s)[0];
|
|
||||||
if (d.getElementById(id)) return;
|
|
||||||
js = d.createElement(s); js.id = id;
|
|
||||||
js.src = "//connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.5";
|
|
||||||
fjs.parentNode.insertBefore(js, fjs);
|
|
||||||
}(document, 'script', 'facebook-jssdk'));</script>
|
|
||||||
|
|
||||||
<div class="social-container">
|
|
||||||
<div class="fb-like" data-href="http://bitwisecmd.com" data-layout="box_count" data-action="like" data-show-faces="false" data-share="true"></div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
(function() {
|
|
||||||
|
|
||||||
if(window.location.host != 'bitwisecmd.com' || window.location.hash.indexOf('-notrack') > -1) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
|
|
||||||
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
|
|
||||||
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
|
|
||||||
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
|
|
||||||
|
|
||||||
ga('create', 'UA-61569164-1', 'auto');
|
|
||||||
ga('send', 'pageview');
|
|
||||||
})();
|
|
||||||
22
precache-manifest.306a719117545e31b16fdffd84fad1d1.js
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
self.__precacheManifest = (self.__precacheManifest || []).concat([
|
||||||
|
{
|
||||||
|
"revision": "493cfffd1b1c626477acabbae6ae9a22",
|
||||||
|
"url": "/index.html"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"revision": "8744c5f159badd11c19c",
|
||||||
|
"url": "/static/css/main.c7a8b155.chunk.css"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"revision": "188ceeb367d409ad29db",
|
||||||
|
"url": "/static/js/2.5133f82a.chunk.js"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"revision": "8744c5f159badd11c19c",
|
||||||
|
"url": "/static/js/main.ff2608fb.chunk.js"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"revision": "42ac5946195a7306e2a5",
|
||||||
|
"url": "/static/js/runtime~main.a8a9905a.js"
|
||||||
|
}
|
||||||
|
]);
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
(function() {
|
|
||||||
|
|
||||||
if(window.location.host != 'bitwisecmd.com' || window.location.hash.indexOf('-notrack') > -1) {
|
|
||||||
console.log("Analytics not tracked")
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
|
|
||||||
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
|
|
||||||
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
|
|
||||||
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
|
|
||||||
|
|
||||||
ga('create', 'UA-61569164-1', 'auto');
|
|
||||||
ga('send', 'pageview');
|
|
||||||
})();
|
|
||||||
@@ -1,110 +0,0 @@
|
|||||||
body { padding:0; margin:0; height: 100%; overflow: hidden; }
|
|
||||||
html { height: 100% }
|
|
||||||
|
|
||||||
.app-root { font-family: Verdana; font-size: 0.8em; margin: 0; padding: 20px 100px 0 100px; height: 100%; overflow: auto; }
|
|
||||||
code { font-size: 1.2em; font-weight: bold; }
|
|
||||||
|
|
||||||
.top-links { position: absolute; right: 10px; top: 10px; list-style-type: none; margin: 0 }
|
|
||||||
.top-links li { float: left; }
|
|
||||||
.top-links a { display: inline-block; padding: 10px 15px}
|
|
||||||
.top-links .icon { margin-right: 5px; }
|
|
||||||
|
|
||||||
.mono { font-family: monospace; font-size: 1.3em }
|
|
||||||
.expressionInput { width: 500px; padding: 3px; border: solid 1px lightgray; }
|
|
||||||
|
|
||||||
.result { margin: 10px 10px 30px; }
|
|
||||||
.result .input { margin-bottom: 10px; }
|
|
||||||
.result .content { padding-left: 10px}
|
|
||||||
.result .cur { margin-right: 5px; }
|
|
||||||
|
|
||||||
.hashLink { text-decoration: none; margin-left: 5px; visibility: hidden }
|
|
||||||
.hashLink:hover { text-decoration: underline; margin-left: 5px; }
|
|
||||||
.input:hover .hashLink { visibility: visible }
|
|
||||||
|
|
||||||
.expression .label { font-weight: bold; padding-right: 5px; text-align: right; }
|
|
||||||
.expression .bin { letter-spacing: 3px; }
|
|
||||||
.expression .flipable { cursor: pointer; opacity: 1 }
|
|
||||||
.expression .flipable:hover { opacity: 0.8 }
|
|
||||||
.expression .byte { margin: 0 3px; }
|
|
||||||
.expression .flipable { cursor: pointer; opacity: 1 }
|
|
||||||
.expression .flipable:hover { opacity: 0.8 }
|
|
||||||
.expression-result td { border-top: dotted 1px gray; }
|
|
||||||
.expression { font-size: 1.5em; font-family: monospace }
|
|
||||||
.expression .prefix { font-weight: normal; display: none; font-size: 0.9em }
|
|
||||||
.expression .other { font-size: 0.9em}
|
|
||||||
.expression .sign { text-align: right}
|
|
||||||
|
|
||||||
.hex .prefix { display: inline; }
|
|
||||||
|
|
||||||
.help { padding: 10px; }
|
|
||||||
.help ul { list-style-type: none; margin: 0; padding: 0; }
|
|
||||||
.help p { margin-top: 0 }
|
|
||||||
|
|
||||||
.indicator { padding: 2px 5px; font-family: monospace; font-size: 1.3em; background: transparent; border: none; cursor: pointer }
|
|
||||||
.error { color: maroon; }
|
|
||||||
|
|
||||||
#view { padding: 10px}
|
|
||||||
|
|
||||||
.cur { color: lightgray; }
|
|
||||||
|
|
||||||
.icon { width: 16px; height: 16px; display: inline-block; }
|
|
||||||
.light .twitter { background: url('../img/twitter-light.png') }
|
|
||||||
.dark .twitter { background: url('../img/twitter-dark.png') }
|
|
||||||
|
|
||||||
.light .feedback { background: url('../img/feedback-light.png') }
|
|
||||||
.dark .feedback { background: url('../img/feedback-dark.png') }
|
|
||||||
|
|
||||||
.dark .github { background: url('../img/github-dark.png') }
|
|
||||||
.light .github { background: url('../img/github-light.png') }
|
|
||||||
|
|
||||||
/* Light */
|
|
||||||
.light { background: #fafafa; }
|
|
||||||
.light a, .light a:visited { color: #222; }
|
|
||||||
.light .one { color: black; }
|
|
||||||
.light .zero { color: #888; }
|
|
||||||
.light .indicator { color: #ddd; }
|
|
||||||
.light .on { color: #121212; }
|
|
||||||
.light .prefix { color: #888}
|
|
||||||
.light .other { color: #bbb }
|
|
||||||
.light .hashLink, .light .hashLink:visited { color: #ddd }
|
|
||||||
.light .hashLink:hover { color: #888 }
|
|
||||||
.light ul.top-links li:hover { background: #ddd }
|
|
||||||
|
|
||||||
/* Dark */
|
|
||||||
.dark { background: #121212; color: white;}
|
|
||||||
.dark .expression { color: white;}
|
|
||||||
.dark .expressionInput { background: #121212; color: white; }
|
|
||||||
.dark a, .dark a:visited { color: white; }
|
|
||||||
.dark .indicator { color: #555; }
|
|
||||||
.dark .on { color: white; }
|
|
||||||
.dark .zero { color: #999;}
|
|
||||||
.dark .prefix { color: #999}
|
|
||||||
.dark .other { color: #444;}
|
|
||||||
.dark .hashLink, .dark .hashLink:visited { color: #333 }
|
|
||||||
.dark .hashLink:hover { color: #999 }
|
|
||||||
.dark ul.top-links li:hover { background: #333 }
|
|
||||||
.dark .error { color: mediumvioletred}
|
|
||||||
|
|
||||||
/* Top Links Shrink */
|
|
||||||
@media (max-width: 800px) {
|
|
||||||
|
|
||||||
.top-links .link-text { display: none }
|
|
||||||
}
|
|
||||||
|
|
||||||
.social-container{ position:fixed; bottom:10px; right:10px }
|
|
||||||
|
|
||||||
/* Remove margin space on body. Inline top links with header */
|
|
||||||
@media (max-width: 700px) {
|
|
||||||
body { padding: 10px; }
|
|
||||||
.expressionInput { width: 500px; }
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Further shrink */
|
|
||||||
@media (max-width: 500px) {
|
|
||||||
.expressionInput { width: 350px; }
|
|
||||||
.top-links a { display: inline-block; padding: 5px 10px}
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (max-width: 350px) {
|
|
||||||
.expressionInput { width: 200px; }
|
|
||||||
}
|
|
||||||
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 470 B |
|
Before Width: | Height: | Size: 605 B |
|
Before Width: | Height: | Size: 6.4 KiB |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB |
@@ -1,35 +0,0 @@
|
|||||||
<!DOCTYPE>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta charset="UTF-8">
|
|
||||||
<meta name="description" content="Free Text Online Bitwise Calculator">
|
|
||||||
|
|
||||||
<title>BitwiseCmd</title>
|
|
||||||
<link rel="shortcut icon" href="http://bitwisecmd.com/favicon.ico">
|
|
||||||
<link rel="stylesheet" type="text/css" href="css/styles.css" />
|
|
||||||
|
|
||||||
<meta property="og:url" content="http://bitwisecmd.com" />
|
|
||||||
<meta property="og:type" content="website" />
|
|
||||||
<meta property="og:title" content="BitwiseCmd" />
|
|
||||||
<meta property="og:description" content="Free Text Online Bitwise Calculator" />
|
|
||||||
<meta property="og:image" content="http://bitwisecmd.com/img/social-avatar.png" />
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="root">Ooops... Something went wrong ¯\_(ツ)_/¯</div>
|
|
||||||
<script src="bundle.js"></script>
|
|
||||||
<script src="analytics.js"></script>
|
|
||||||
|
|
||||||
<div id="fb-root"></div>
|
|
||||||
<script>(function(d, s, id) {
|
|
||||||
var js, fjs = d.getElementsByTagName(s)[0];
|
|
||||||
if (d.getElementById(id)) return;
|
|
||||||
js = d.createElement(s); js.id = id;
|
|
||||||
js.src = "//connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.5";
|
|
||||||
fjs.parentNode.insertBefore(js, fjs);
|
|
||||||
}(document, 'script', 'facebook-jssdk'));</script>
|
|
||||||
|
|
||||||
<div class="social-container">
|
|
||||||
<div class="fb-like" data-href="http://bitwisecmd.com" data-layout="box_count" data-action="like" data-show-faces="false" data-share="true"></div>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,23 +0,0 @@
|
|||||||
0 info it worked if it ends with ok
|
|
||||||
1 verbose cli [ '/usr/local/bin/node',
|
|
||||||
1 verbose cli '/usr/local/bin/npm',
|
|
||||||
1 verbose cli 'run',
|
|
||||||
1 verbose cli 'server-lite' ]
|
|
||||||
2 info using npm@3.10.10
|
|
||||||
3 info using node@v6.10.0
|
|
||||||
4 verbose stack Error: ENOENT: no such file or directory, open '/Users/boryslevytskyi/git/BitwiseCmdPages/package.json'
|
|
||||||
4 verbose stack at Error (native)
|
|
||||||
5 verbose cwd /Users/boryslevytskyi/git/BitwiseCmdPages/react
|
|
||||||
6 error Darwin 16.5.0
|
|
||||||
7 error argv "/usr/local/bin/node" "/usr/local/bin/npm" "run" "server-lite"
|
|
||||||
8 error node v6.10.0
|
|
||||||
9 error npm v3.10.10
|
|
||||||
10 error path /Users/boryslevytskyi/git/BitwiseCmdPages/package.json
|
|
||||||
11 error code ENOENT
|
|
||||||
12 error errno -2
|
|
||||||
13 error syscall open
|
|
||||||
14 error enoent ENOENT: no such file or directory, open '/Users/boryslevytskyi/git/BitwiseCmdPages/package.json'
|
|
||||||
15 error enoent ENOENT: no such file or directory, open '/Users/boryslevytskyi/git/BitwiseCmdPages/package.json'
|
|
||||||
15 error enoent This is most likely not a problem with npm itself
|
|
||||||
15 error enoent and is related to npm not being able to find a file.
|
|
||||||
16 verbose exit [ -2, true ]
|
|
||||||
39
service-worker.js
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
/**
|
||||||
|
* Welcome to your Workbox-powered service worker!
|
||||||
|
*
|
||||||
|
* You'll need to register this file in your web app and you should
|
||||||
|
* disable HTTP caching for this file too.
|
||||||
|
* See https://goo.gl/nhQhGp
|
||||||
|
*
|
||||||
|
* The rest of the code is auto-generated. Please don't update this file
|
||||||
|
* directly; instead, make changes to your Workbox build configuration
|
||||||
|
* and re-run your build process.
|
||||||
|
* See https://goo.gl/2aRDsh
|
||||||
|
*/
|
||||||
|
|
||||||
|
importScripts("https://storage.googleapis.com/workbox-cdn/releases/4.3.1/workbox-sw.js");
|
||||||
|
|
||||||
|
importScripts(
|
||||||
|
"/precache-manifest.306a719117545e31b16fdffd84fad1d1.js"
|
||||||
|
);
|
||||||
|
|
||||||
|
self.addEventListener('message', (event) => {
|
||||||
|
if (event.data && event.data.type === 'SKIP_WAITING') {
|
||||||
|
self.skipWaiting();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
workbox.core.clientsClaim();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The workboxSW.precacheAndRoute() method efficiently caches and responds to
|
||||||
|
* requests for URLs in the manifest.
|
||||||
|
* See https://goo.gl/S9QRab
|
||||||
|
*/
|
||||||
|
self.__precacheManifest = [].concat(self.__precacheManifest || []);
|
||||||
|
workbox.precaching.precacheAndRoute(self.__precacheManifest, {});
|
||||||
|
|
||||||
|
workbox.routing.registerNavigationRoute(workbox.precaching.getCacheKeyForURL("/index.html"), {
|
||||||
|
|
||||||
|
blacklist: [/^\/_/,/\/[^\/]+\.[^\/]+$/],
|
||||||
|
});
|
||||||
2
static/css/main.c7a8b155.chunk.css
Normal file
1
static/css/main.c7a8b155.chunk.css.map
Normal file
2
static/js/2.5133f82a.chunk.js
Normal file
1
static/js/2.5133f82a.chunk.js.map
Normal file
2
static/js/main.ff2608fb.chunk.js
Normal file
1
static/js/main.ff2608fb.chunk.js.map
Normal file
2
static/js/runtime~main.a8a9905a.js
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
!function(e){function r(r){for(var n,f,i=r[0],l=r[1],a=r[2],c=0,s=[];c<i.length;c++)f=i[c],o[f]&&s.push(o[f][0]),o[f]=0;for(n in l)Object.prototype.hasOwnProperty.call(l,n)&&(e[n]=l[n]);for(p&&p(r);s.length;)s.shift()();return u.push.apply(u,a||[]),t()}function t(){for(var e,r=0;r<u.length;r++){for(var t=u[r],n=!0,i=1;i<t.length;i++){var l=t[i];0!==o[l]&&(n=!1)}n&&(u.splice(r--,1),e=f(f.s=t[0]))}return e}var n={},o={1:0},u=[];function f(r){if(n[r])return n[r].exports;var t=n[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,f),t.l=!0,t.exports}f.m=e,f.c=n,f.d=function(e,r,t){f.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},f.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},f.t=function(e,r){if(1&r&&(e=f(e)),8&r)return e;if(4&r&&"object"===typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(f.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var n in e)f.d(t,n,function(r){return e[r]}.bind(null,n));return t},f.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return f.d(r,"a",r),r},f.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},f.p="/";var i=window.webpackJsonp=window.webpackJsonp||[],l=i.push.bind(i);i.push=r,i=i.slice();for(var a=0;a<i.length;a++)r(i[a]);var p=l;t()}([]);
|
||||||
|
//# sourceMappingURL=runtime~main.a8a9905a.js.map
|
||||||