update repo layout

This commit is contained in:
sunface
2022-03-23 20:04:00 +08:00
parent e2d3027b60
commit c1d8b06518
111 changed files with 958 additions and 4 deletions

1
en/assets/CNAME Normal file
View File

@ -0,0 +1 @@
practice.rs

104
en/assets/custom.js Normal file
View File

@ -0,0 +1,104 @@
(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;
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.href.localeCompare(el.href) == 0) {
el.classList.add("active");
}
});
};
// Populate sidebar on load
window.addEventListener('load', function() {
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 "H2":
// indent = "20px";
// break;
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);
var p = path.replace("index.html", "");
p = p.replace(".html", "");
var strs = p.split("/");
if (strs[strs.length-1] == ""){
strs.pop()
}
var str = strs[strs.length-1];
var title = document.querySelector("main>h1,h2>a").textContent
var gitalk = new Gitalk({
clientID: '8e4b2cf9529ebb3dcad6',
clientSecret: '6f6e8c23575a780bdb1faba3c17be08d76dc35f8',
repo: 'rust-by-practice-comments',
owner: 'sunface',
admin: ["sunface"],
labels: ['comments'],
title: title,
createIssueManually: false,
id: str,
distractionFreeMode: true
});
gitalk.render('gitalk-container');
})();

BIN
en/assets/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 94 KiB

87
en/assets/temp.md Normal file
View File

@ -0,0 +1,87 @@
# 字符、布尔、单元类型
### 字符
🌟
```rust
use std::mem::size_of_val;
fn main() {
let c1 = 'a';
assert_eq!(size_of_val(&c1),1);
let c2 = '中';
assert_eq!(size_of_val(&c2),3);
}
```
🌟
```rust
fn main() {
let c1 = "中";
print_char(c1);
}
fn print_char(c : char) {
println!("{}", c);
}
```
### 布尔
🌟
```rust
// 让 println! 工作
fn main() {
let _f: bool = false;
let t = true;
if !t {
println!("hello, world");
}
}
```
🌟
```rust
fn main() {
let f = true;
let t = true && false;
assert_eq!(t, f);
}
```
### 单元类型
🌟🌟
```rust
// 让代码工作,但不要修改 `implicitly_ret_unit` !
fn main() {
let _v: () = ();
let v = (2, 3);
assert_eq!(v, implicitly_ret_unit())
}
fn implicitly_ret_unit() {
println!("I will returen a ()")
}
// 不要使用下面的函数,它只用于演示!
fn explicitly_ret_unit() -> () {
println!("I will returen a ()")
}
```
🌟🌟 单元类型占用的内存大小是多少?
```rust
// 让代码工作:修改 `assert!` 中的 `4`
use std::mem::size_of_val;
fn main() {
let unit: () = ();
assert!(size_of_val(&unit) == 4);
}
```