<!DOCTYPE html>
<html lang="en"><head>
<title>codemelted.rs Project</title>
<meta charset="UTF-8">
<meta name="description" content="The aim of this project is to deliver a swiss army knife module to aid software engineers in building full stack solutions for their applications. Utilizing the Rust programming language, the module serves as a backbone to engineer solutions for multiple build targets.">
<meta name="keywords" content="cli,cli-app,js,js-lib,js-library,js-module,pwsh,pwsh-scripts,pwsh-module,rust,rust-lang,rust-crate,rust-library,rust-wasm,rust-web">
<meta name="author" content="Mark Shaffer">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" type="image/x-icon" href="https://codemelted.com/favicon.png">
<meta property="og:type" content="website">
<meta property="og:title" content="codemelted.rs Project">
<meta property="og:description" content="The aim of this project is to deliver a swiss army knife module to aid software engineers in building full stack solutions for their applications. Utilizing the Rust programming language, the module serves as a backbone to engineer solutions for multiple build targets.">
<meta property="og:site_name" content="CodeMelted PWA">
<meta property="og:image" content="https://codemelted.com/assets/images/logo-codemelted-rs.png">
<link rel="stylesheet" href="https://codemelted.com/assets/css/scrollbars.css">
<style>
.top-panel {
text-align: center;
position: fixed;
top: 53px;
left: 0px;
right: 0px;
border: none;
padding-top: 3px;
padding-bottom: 1px;
border-bottom: 1px solid #585858;
}
.right-panel {
text-align: left;
color: white;
overflow-y: auto;
text-align: center;
background-color: black;
position: fixed;
left: 0;
top: 92px;
bottom: 39px;
width: 130px;
border: var(--app-bar-border);
}
.right-panel-button button {
text-align: left;
color: white;
height: 100%;
padding: 0;
margin: 0;
width: 100%;
border: 1px solid #161E27;
background-color: transparent;
}
#btn_buy_me_a_coffee button:hover {
background-color: var(--button-hover-color);
}
#btn_linkedin button:hover {
background-color: var(--button-hover-color);
}
#btn_threads button:hover {
background-color: var(--button-hover-color);
}
#btn_x button:hover {
background-color: var(--button-hover-color);
}
.frm_content_wrapper {
position: fixed;
top: 92px;
left: 132px;
right: 0;
bottom: 39px;
}
.frm_content_wrapper iframe {
width: 100%;
height: 100%;
}
.app-footer-nav-grid {
align-self: center;
align-items: center;
align-content: center;
text-align: center;
border: none;
}
.app-footer-nav-grid img {
height: 30px;
}
.app-footer-nav-grid codemelted-ui-button {
border: none;
}
.app-footer-nav-grid codemelted-ui-button button {
height: var(--app-bar-height);
background-color: transparent;
width: 100%;
border: 1px solid #585858;
}
.app-footer-nav-grid codemelted-ui-button button:hover {
background-color: var(--button-hover-color);
}
</style>
</head><body>
<codemelted-ui-grid-layout class="top-panel" cm_type="columns" cm_grid_template="auto auto auto auto">
<a tabindex="0" class="github-button" href="https://github.com/codemelted/codemelted.rs/discussions" data-color-scheme="no-preference: dark; light: dark; dark: dark;" data-icon="octicon-comment-discussion" data-size="large" title="Discuss codemelted/codemelted.rs on GitHub" aria-label="Discuss codemelted/codemelted.rs on GitHub">Discuss </a>
<a tabindex="1" class="github-button" href="https://github.com/codemelted/codemelted.rs/archive/HEAD.zip" data-color-scheme="no-preference: dark; light: dark; dark: dark;" data-size="large" title="Download codemelted/codemelted.rs on GitHu" aria-label="Download codemelted/codemelted.rs on GitHub">Download</a>
<a tabindex="2" class="github-button" href="https://github.com/codemelted/codemelted.rs/fork" data-color-scheme="no-preference: dark; light: dark; dark: dark;" data-icon="octicon-repo-forked" data-size="large" title="Fork codemelted/codemelted.rs on GitHub" aria-label="Fork codemelted/codemelted.rs on GitHub">Fork </a>
<a tabindex="3" class="github-button" href="https://github.com/codemelted/codemelted.rs/issues" data-color-scheme="no-preference: dark; light: dark; dark: dark;" data-icon="octicon-issue-opened" data-size="large" title="Issue codemelted/codemelted.rs on GitHub" aria-label="Issue codemelted/codemelted.rs on GitHub">Issue </a>
</codemelted-ui-grid-layout>
<codemelted-ui-grid-layout class="right-panel" cm_type="rows" cm_grid_template="140px 100px 40px 40px 40px 40px 40px">
<a id="a_resume" style="width: 100%; cursor: pointer;" title="My Software Engineering Experience"><img style="margin: 0; padding: 0; width: 100%; height: 100%;" src="https://codemelted.com/assets/images/icon-me-animated.png" /></a>
<div style="border: 1px solid #161E27; text-align: left; padding-left: 5px;">
<br>
<a class="github-button" href="https://github.com/codemelted" data-color-scheme="no-preference: dark; light: dark; dark: dark;" data-size="small" data-show-count="true" title="Follow @codemelted on GitHub" aria-label="Follow @codemelted on GitHub">codemelted</a><br>
<a class="github-button" href="https://github.com/codemelted/codemelted.rs/subscription" data-color-scheme="no-preference: dark; light: dark; dark: dark;" data-icon="octicon-eye" data-size="small" data-show-count="true" title="Watch codemelted/codemelted.rs on GitHub" aria-label="Watch codemelted/codemelted.rs on GitHub">Watch </a><br>
<a class="github-button" href="https://github.com/sponsors/codemelted" data-color-scheme="no-preference: dark; light: dark; dark: dark;" data-icon="octicon-heart" data-size="small" title="Sponsor @codemelted and the codemelted.rs project on GitHub" aria-label="Sponsor @codemelted on GitHub">Sponsor </a><br><br>
</div>
<codemelted-ui-button class="right-panel-button" id="btn_buy_me_a_coffee" cm_tooltip="Professional Services / Support Offered by CodeMelted." cm_label= " ☕ Coffee"></codemelted-ui-button>
<codemelted-ui-button class="right-panel-button" id="btn_linkedin" cm_tooltip="Career Networking" cm_label=" 👨🏻💼 LinkedIn"></codemelted-ui-button>
<codemelted-ui-button class="right-panel-button" id="btn_threads" cm_tooltip="The one social media 💍 to rule them all" cm_label=" 🧵 Threads"></codemelted-ui-button>
<codemelted-ui-button class="right-panel-button" id="btn_x" cm_tooltip="Latest tech trends / projects" cm_label=" ✖️.com"></codemelted-ui-button>
</codemelted-ui-grid-layout>
<main class="frm_content_wrapper">
<iframe id="frm_content" frameborder="0"></iframe>
</main>
<codemelted-ui-app-bar cm_type="footer" cm_border="1px solid #585858" cm_bg_color="--app-bar-bg-color" cm_fg_color="--app-bar-fg-color" cm_height="--app-bar-height" cm_z_index="--app-bar-z-index">
<codemelted-ui-grid-layout cm_type="columns" cm_grid_template="auto auto auto auto auto" class="app-footer-nav-grid">
<codemelted-ui-button id="btn_mdbook" cm_img_src="https://codemelted.com/assets/images/icon-design.png" cm_tooltip="codemelted.rs: The Swiss Army Knife Full Stack Solution Book"></codemelted-ui-button>
<codemelted-ui-button id="btn_rs" cm_img_src="https://codemelted.com/assets/images/icon-rust.png" cm_tooltip="codemelted.rs Module SDK"></codemelted-ui-button>
<codemelted-ui-button id="btn_js" cm_img_src="https://codemelted.com/assets/images/icon-js.png" cm_tooltip="codemelted.js Module SDK"></codemelted-ui-button>
<codemelted-ui-button id="btn_gists" cm_img_src="https://codemelted.com/assets/images/icon-code.png" cm_tooltip="CodeMelted GitHub Gists"></codemelted-ui-button>
<codemelted-ui-button id="btn_uml" cm_img_src="https://codemelted.com/assets/images/icon-uml.png" cm_tooltip="mermaid UML Modeler"></codemelted-ui-button>
</codemelted-ui-grid-layout>
</codemelted-ui-app-bar>
<codemelted-web></codemelted-web>
<script src="https://codemelted.com/assets/js/codemelted_web.js"></script>
<script>
let codemelted = undefined;
function reset_buttons(active_index) {
let buttons = [
"btn_mdbook",
"btn_rs",
"btn_js",
"btn_gists",
"btn_uml"
];
buttons.forEach((id, index) => {
let btn = codemelted.ui_widget({ request: codemelted.WIDGET_REQUEST.ElementById, data: id});
btn.style.backgroundColor = active_index == index ? "navy" : "black";
});
}
async function main() {
try {
codemelted = await import(`https://cdn.jsdelivr.net/gh/codemelted/codemelted.rs@main/js/codemelted.js`);
const frm_content = codemelted.ui_widget({ request: codemelted.WIDGET_REQUEST.ElementById, data:"frm_content" });
let btn_mdbook = codemelted.ui_widget({ request: codemelted.WIDGET_REQUEST.ElementById, data:"btn_mdbook" });
let btn_rs = codemelted.ui_widget({ request: codemelted.WIDGET_REQUEST.ElementById, data:"btn_rs" });
let btn_js = codemelted.ui_widget({ request: codemelted.WIDGET_REQUEST.ElementById, data:"btn_js" });
let btn_gists = codemelted.ui_widget({ request: codemelted.WIDGET_REQUEST.ElementById, data:"btn_gists" });
let btn_uml = codemelted.ui_widget({ request: codemelted.WIDGET_REQUEST.ElementById, data:"btn_uml" });
btn_mdbook.onclick = (ev) => {
frm_content.src = `mdbook/index.html?t=${Date.now()}`;
reset_buttons(0);
ev.stopPropagation();
};
btn_rs.onclick = (ev) => {
frm_content.src = `codemelted.rs/codemelted/index.html?t=${Date.now()}`;
reset_buttons(1);
ev.stopPropagation();
};
btn_js.onclick = (ev) => {
frm_content.src = `js/index.html?t=${Date.now()}`;
reset_buttons(2);
ev.stopPropagation();
};
btn_gists.onclick = (ev) => {
frm_content.src = `support/gists.html?t=${Date.now()}`;
reset_buttons(3);
ev.stopPropagation();
};
btn_uml.onclick = (ev) => {
frm_content.src = `support/uml-modeler.html?t=${Date.now()}`;
reset_buttons(4);
ev.stopPropagation();
};
let a_resume = codemelted.ui_widget({ request: codemelted.WIDGET_REQUEST.ElementById, data:"a_resume" });
let btn_buy_me_a_coffee = codemelted.ui_widget({ request: codemelted.WIDGET_REQUEST.ElementById, data:"btn_buy_me_a_coffee" });
let btn_linkedin = codemelted.ui_widget({ request: codemelted.WIDGET_REQUEST.ElementById, data:"btn_linkedin" });
let btn_threads = codemelted.ui_widget({ request: codemelted.WIDGET_REQUEST.ElementById, data:"btn_threads" });
let btn_x = codemelted.ui_widget({ request: codemelted.WIDGET_REQUEST.ElementById, data:"btn_x" });
a_resume.onclick = (ev) => {
frm_content.src = `support/resumeweb.html?t=${Date.now()}`;
reset_buttons(-1);
ev.stopPropagation();
}
btn_buy_me_a_coffee.onclick = (ev) => {
codemelted_web.open_buy_me_a_coffee();
ev.stopPropagation();
};
btn_linkedin.onclick = (ev) => {
codemelted.ui_open({
schema: codemelted.SCHEMA_TYPE.Https,
url: `linkedin.com/in/codemelted`,
popup_window: true,
});
ev.stopPropagation();
};
btn_threads.onclick = (ev) => {
codemelted_web.open_threads();
ev.stopPropagation();
};
btn_x.onclick = (ev) => {
codemelted_web.open_x();
ev.stopPropagation();
};
let open_url = codemelted.runtime_environment("open");
if (open_url) {
frm_content.src = open_url
if (open_url.includes("mdbook")) {
reset_buttons(0);
} else if (open_url.includes("codemelted.rs")) {
reset_buttons(1);
} else if (open_url.includes("js/")) {
reset_buttons(2);
} else if (open_url.includes("gists.html")) {
reset_buttons(3);
} else {
reset_buttons(4);
}
window.history.pushState({}, "", "/");
} else {
btn_mdbook.click();
}
setTimeout(() => {
let github_urls = {
"span0" : "github.com/codemelted/codemelted.rs/discussions",
"span2" : "github.com/codemelted/codemelted.rs/fork",
"span3" : "github.com/codemelted/codemelted.rs/issues",
"span4" : "github.com/codemelted",
"span5" : "github.com/codemelted/codemelted.rs/subscription",
"span6" : "github.com/sponsors/codemelted",
};
let github_btns = window.document.getElementsByTagName("span");
Array.from(github_btns).forEach((el, index) => {
el.id = `span${index}`;
});
window.document.addEventListener("click", (ev) => {
codemelted.ui_open({
schema: codemelted.SCHEMA_TYPE.Https,
url: github_urls[ev.srcElement.id],
popup_window: true,
});
ev.preventDefault();
});
}, 250);
} catch (err) {
console.error("Error setting up codemelted.com/rs/index.html", err);
}
}
main();
</script>
<script async defer src="https://buttons.github.io/buttons.js"></script>
</body></html>