Skip to content

Commit

Permalink
Encode/Decoder Fix
Browse files Browse the repository at this point in the history
Hopefully fixes my js, worked locally 🤷‍♂️
  • Loading branch information
ghluka committed Apr 27, 2024
1 parent e58b587 commit 64583ac
Show file tree
Hide file tree
Showing 4 changed files with 43 additions and 59 deletions.
9 changes: 0 additions & 9 deletions _config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -66,15 +66,6 @@ defaults:
sass:
style: compressed

compress_html:
clippings: all
comments: all
endings: all
profile: false
blanklines: false
ignore:
envs: [development]

exclude:
- bin/*
- "*.gem"
Expand Down
File renamed without changes.
51 changes: 1 addition & 50 deletions techdemos/encode/index.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -22,53 +22,4 @@ Mode:
<textarea id="outputText" rows="10" class="panel" spellcheck="false" style="resize:none; width:100%;"></textarea>

<!-- Encode/Decode -->
<script type="text/javascript">
const mode = document.getElementById("mode");
const encode = document.getElementById("encode");
const decode = document.getElementById("decode");
const livemode = document.getElementById("livemode");
const input = document.getElementById("inputText");
const output = document.getElementById("outputText");

const codes = {
"Base64": {
encode: text => btoa(text),
decode: text => atob(text)
},
"URL": {
encode: text => encodeURI(text),
decode: text => decodeURI(text)
},
"URL (component)": {
encode: text => encodeURIComponent(text),
decode: text => decodeURIComponent(text)
}
}

for (const code in codes) {
let element = document.createElement("option");
element.value = code;
element.innerText = code;
mode.appendChild(element);
}

encode.addEventListener("click", () => {
output.value = codes[mode.value].encode(input.value);
});

decode.addEventListener("click", () => {
input.value = codes[mode.value].decode(output.value);
});

input.addEventListener("input", () => {
if (livemode.checked) {
output.value = codes[mode.value].encode(input.value);
}
});

output.addEventListener("input", () => {
if (livemode.checked) {
input.value = codes[mode.value].decode(output.value);
}
});
</script>
<script src="./js/main.js"></script>
42 changes: 42 additions & 0 deletions techdemos/encode/js/main.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
const mode = document.getElementById("mode");
const encode = document.getElementById("encode");
const decode = document.getElementById("decode");
const livemode = document.getElementById("livemode");
const input = document.getElementById("inputText");
const output = document.getElementById("outputText");
const codes = {
"Base64": {
encode: text => btoa(text),
decode: text => atob(text)
},
"URL": {
encode: text => encodeURI(text),
decode: text => decodeURI(text)
},
"URL (component)": {
encode: text => encodeURIComponent(text),
decode: text => decodeURIComponent(text)
}
}
for (const code in codes) {
let element = document.createElement("option");
element.value = code;
element.innerText = code;
mode.appendChild(element);
}
encode.addEventListener("click", () => {
output.value = codes[mode.value].encode(input.value);
});
decode.addEventListener("click", () => {
input.value = codes[mode.value].decode(output.value);
});
input.addEventListener("input", () => {
if (livemode.checked) {
output.value = codes[mode.value].encode(input.value);
}
});
output.addEventListener("input", () => {
if (livemode.checked) {
input.value = codes[mode.value].decode(output.value);
}
});

0 comments on commit 64583ac

Please sign in to comment.