Skip to content

Commit

Permalink
deploy
Browse files Browse the repository at this point in the history
  • Loading branch information
sunface committed Jan 6, 2024
0 parents commit dec877e
Show file tree
Hide file tree
Showing 142 changed files with 42,842 additions and 0 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
book
1 change: 1 addition & 0 deletions .nojekyll
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
This file makes sure that Github Pages doesn't process mdBook's output.
203 changes: 203 additions & 0 deletions 404.html

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions CNAME
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
practice.rs
4 changes: 4 additions & 0 deletions FontAwesome/css/font-awesome.css

Large diffs are not rendered by default.

Binary file added FontAwesome/fonts/FontAwesome.ttf
Binary file not shown.
Binary file added FontAwesome/fonts/fontawesome-webfont.eot
Binary file not shown.
2,671 changes: 2,671 additions & 0 deletions FontAwesome/fonts/fontawesome-webfont.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added FontAwesome/fonts/fontawesome-webfont.ttf
Binary file not shown.
Binary file added FontAwesome/fonts/fontawesome-webfont.woff
Binary file not shown.
Binary file added FontAwesome/fonts/fontawesome-webfont.woff2
Binary file not shown.
43 changes: 43 additions & 0 deletions ace.js

Large diffs are not rendered by default.

156 changes: 156 additions & 0 deletions assets/custom3.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,156 @@
var initAll = function () {
var path = window.location.pathname;
if (path.endsWith("/print.html")) {
return;
}

var images = document.querySelectorAll("main img")
Array.prototype.forEach.call(images, function (img) {
img.addEventListener("click", function () {
BigPicture({
el: img,
});
});
});

// Un-active everything when you click it
Array.prototype.forEach.call(document.getElementsByClassName("pagetoc")[0].children, function (el) {
el.addEventHandler("click", function () {
Array.prototype.forEach.call(document.getElementsByClassName("pagetoc")[0].children, function (el) {
el.classList.remove("active");
});
el.classList.add("active");
});
});

var updateFunction = function () {
var id = null;
var elements = document.getElementsByClassName("header");
Array.prototype.forEach.call(elements, function (el) {
if (window.pageYOffset >= el.offsetTop) {
id = el;
}
});

Array.prototype.forEach.call(document.getElementsByClassName("pagetoc")[0].children, function (el) {
el.classList.remove("active");
});

Array.prototype.forEach.call(document.getElementsByClassName("pagetoc")[0].children, function (el) {
if (id == null) {
return;
}
if (id.href.localeCompare(el.href) == 0) {
el.classList.add("active");
}
});
};

var pagetoc = document.getElementsByClassName("pagetoc")[0];
var elements = document.getElementsByClassName("header");
Array.prototype.forEach.call(elements, function (el) {
var link = document.createElement("a");

// Indent shows hierarchy
var indent = "";
switch (el.parentElement.tagName) {
case "H1":
return;
case "H3":
indent = "20px";
break;
case "H4":
indent = "40px";
break;
default:
break;
}

link.appendChild(document.createTextNode(el.text));
link.style.paddingLeft = indent;
link.href = el.href;
pagetoc.appendChild(link);
});
updateFunction.call();

// Handle active elements on scroll
window.addEventListener("scroll", updateFunction);

document.getElementById("theme-list").addEventListener("click", function (e) {
var iframe = document.querySelector('.giscus-frame');
if (!iframe) return;
var theme;
if (e.target.className === "theme") {
theme = e.target.id;
} else {
return;
}

// 若当前 mdbook 主题不是 Light 或 Rust ,则将 giscuz 主题设置为 transparent_dark
var giscusTheme = "light"
if (theme != "light" && theme != "rust") {
giscusTheme = "transparent_dark";
}

var msg = {
setConfig: {
theme: giscusTheme
}
};
iframe.contentWindow.postMessage({ giscus: msg }, 'https://giscus.app');
});

pagePath = pagePath.replace("index.md", "");
pagePath = pagePath.replace(".md", "");
if (pagePath.length > 0) {
if (pagePath.charAt(pagePath.length-1) == "/"){
pagePath = pagePath.substring(0, pagePath.length-1)
}
}else {
pagePath = "index"
}

// add visitors count
var ele = document.createElement("div");
ele.setAttribute("align","center");
var count = document.createElement("img")
// count.setAttribute("src", "https://visitor-badge.glitch.me/badge?page_id=practice/en/" + path);
count.setAttribute("src", "https://api.visitorbadge.io/api/visitors?labelColor=%23595959&countColor=%230d81c3&style=flat-square&path=practice/en/" + path);
ele.appendChild(count);
var divider =document.createElement("hr")

document.getElementById("giscus-container").appendChild(ele);
document.getElementById("giscus-container").appendChild(divider);

// 选取浏览器默认使用的语言
const lang = navigator.language || navigator.userLanguage

// 若当前 mdbook 主题为 Light 或 Rust ,则将 giscuz 主题设置为 light
var theme = "transparent_dark";
const themeClass = document.getElementsByTagName("html")[0].className;
if (themeClass.indexOf("light") != -1 || themeClass.indexOf("rust") != -1) {
theme = "light"
}

var script = document.createElement("script")
script.type = "text/javascript";
script.src = "https://giscus.app/client.js";
script.async = true;
script.crossOrigin = "anonymous";
script.setAttribute("data-repo", "sunface/rust-by-practice");
script.setAttribute("data-repo-id", "MDEwOlJlcG9zaXRvcnkxMjk5OTAzOTY=");
script.setAttribute("data-category", "Book Comments");
script.setAttribute("data-category-id", "DIC_kwDOB79-_M4COQmx");
script.setAttribute("data-mapping", "specific");
script.setAttribute("data-term", pagePath);
script.setAttribute("data-reactions-enabled", "1");
script.setAttribute("data-emit-metadata", "0");
script.setAttribute("data-input-position", "top");
script.setAttribute("data-theme", theme);
script.setAttribute("data-lang", lang == 'en-US' ? 'en' : lang);
// 预先加载评论会更好,这样用户读到那边时,评论就加载好了
// script.setAttribute("data-loading", "lazy");
document.getElementById("giscus-container").appendChild(script);
};

window.addEventListener('load', initAll);
26 changes: 26 additions & 0 deletions assets/lang.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
(function () {
var path = window.location.pathname;
var link = "https://practice.rs" + path;
var word = "English";
var lang = "zh-CN";
var changeLang = "切换到英语";

if (window.location.href.indexOf("zh.") == -1) {
link = "https://zh.practice.rs" + path;
word = "简体中文";
lang = "en";
changeLang = "Switch to Chinese"
}

var lang_node = '';
if (link != '') {
lang_node = '<a href="' + link + '" title="' + changeLang + '" aria-label="' + changeLang + '"><i id="change-language-button" class="fa fa-language"> ' + word + '</i></a>';
}

console.log(lang_node)
var insertNode = document.getElementsByClassName('right-buttons');
if (insertNode.length > 0) {
var html = insertNode[0].innerHTML;
insertNode[0].innerHTML = html + lang_node;
}
})()
216 changes: 216 additions & 0 deletions async/async-await.html

Large diffs are not rendered by default.

216 changes: 216 additions & 0 deletions async/future.html

Large diffs are not rendered by default.

216 changes: 216 additions & 0 deletions async/intro.html

Large diffs are not rendered by default.

216 changes: 216 additions & 0 deletions async/pin-unpin.html

Large diffs are not rendered by default.

216 changes: 216 additions & 0 deletions async/stream.html

Large diffs are not rendered by default.

78 changes: 78 additions & 0 deletions ayu-highlight.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
/*
Based off of the Ayu theme
Original by Dempfi (https://github.com/dempfi/ayu)
*/

.hljs {
display: block;
overflow-x: auto;
background: #191f26;
color: #e6e1cf;
}

.hljs-comment,
.hljs-quote {
color: #5c6773;
font-style: italic;
}

.hljs-variable,
.hljs-template-variable,
.hljs-attribute,
.hljs-attr,
.hljs-regexp,
.hljs-link,
.hljs-selector-id,
.hljs-selector-class {
color: #ff7733;
}

.hljs-number,
.hljs-meta,
.hljs-builtin-name,
.hljs-literal,
.hljs-type,
.hljs-params {
color: #ffee99;
}

.hljs-string,
.hljs-bullet {
color: #b8cc52;
}

.hljs-title,
.hljs-built_in,
.hljs-section {
color: #ffb454;
}

.hljs-keyword,
.hljs-selector-tag,
.hljs-symbol {
color: #ff7733;
}

.hljs-name {
color: #36a3d9;
}

.hljs-tag {
color: #00568d;
}

.hljs-emphasis {
font-style: italic;
}

.hljs-strong {
font-weight: bold;
}

.hljs-addition {
color: #91b362;
}

.hljs-deletion {
color: #d96c75;
}
309 changes: 309 additions & 0 deletions basic-types/char-bool-unit.html

Large diffs are not rendered by default.

309 changes: 309 additions & 0 deletions basic-types/functions.html

Large diffs are not rendered by default.

221 changes: 221 additions & 0 deletions basic-types/intro.html

Large diffs are not rendered by default.

385 changes: 385 additions & 0 deletions basic-types/numbers.html

Large diffs are not rendered by default.

280 changes: 280 additions & 0 deletions basic-types/statements-expressions.html

Large diffs are not rendered by default.

Loading

0 comments on commit dec877e

Please sign in to comment.