@ -0,0 +1,3 @@ |
|||
{ |
|||
"extends": ["@commitlint/config-conventional"] |
|||
} |
@ -0,0 +1,9 @@ |
|||
root = true |
|||
|
|||
[*] |
|||
indent_style = space |
|||
indent_size = 2 |
|||
charset = utf-8 |
|||
end_of_line = lf |
|||
trim_trailing_whitespace = true |
|||
insert_final_newline = true |
@ -0,0 +1,55 @@ |
|||
{ |
|||
"plugins": ["prettier"], |
|||
"extends": ["next", "next/core-web-vitals", "prettier"], |
|||
"rules": { |
|||
"prettier/prettier": "error", |
|||
"camelcase": "off", |
|||
"import/prefer-default-export": "off", |
|||
"react/jsx-filename-extension": "off", |
|||
"react/jsx-props-no-spreading": "off", |
|||
"react/no-unused-prop-types": "off", |
|||
"react/require-default-props": "off", |
|||
"import/extensions": [ |
|||
"error", |
|||
"ignorePackages", |
|||
{ |
|||
"ts": "never", |
|||
"tsx": "never", |
|||
"js": "never", |
|||
"jsx": "never" |
|||
} |
|||
], |
|||
"quotes": "off", |
|||
"jsx-a11y/anchor-is-valid": [ |
|||
"error", |
|||
{ |
|||
"components": ["Link"], |
|||
"specialLink": ["hrefLeft", "hrefRight"], |
|||
"aspects": ["invalidHref", "preferButton"] |
|||
} |
|||
] |
|||
}, |
|||
"overrides": [ |
|||
{ |
|||
"files": "**/*.+(ts|tsx)", |
|||
"parser": "@typescript-eslint/parser", |
|||
"plugins": ["@typescript-eslint/eslint-plugin"], |
|||
"extends": ["plugin:@typescript-eslint/recommended", "prettier"], |
|||
"rules": { |
|||
"@typescript-eslint/explicit-function-return-type": "off", |
|||
"@typescript-eslint/explicit-module-boundary-types": "off", |
|||
"no-use-before-define": [0], |
|||
"@typescript-eslint/no-use-before-define": [1], |
|||
"@typescript-eslint/no-explicit-any": "off", |
|||
"@typescript-eslint/no-var-requires": "off", |
|||
"@typescript-eslint/quotes": [ |
|||
2, |
|||
"backtick", |
|||
{ |
|||
"avoidEscape": true |
|||
} |
|||
] |
|||
} |
|||
} |
|||
] |
|||
} |
@ -0,0 +1,32 @@ |
|||
name: Check PR |
|||
|
|||
on: [ pull_request ] |
|||
|
|||
jobs: |
|||
run-ci: |
|||
|
|||
name: Run Type Check & Linters |
|||
runs-on: ubuntu-latest |
|||
|
|||
steps: |
|||
- name: Checkout repository |
|||
uses: actions/checkout@v3 |
|||
with: |
|||
fetch-depth: 0 |
|||
|
|||
- name: Set up Node |
|||
uses: actions/setup-node@v3 |
|||
with: |
|||
node-version: 16 |
|||
|
|||
- name: Install dependencies (with cache) |
|||
uses: bahmutov/npm-install@v1 |
|||
|
|||
- name: Check types |
|||
run: yarn type-check |
|||
|
|||
- name: Check linting |
|||
run: yarn lint |
|||
|
|||
- name: Check commits messages |
|||
uses: wagoid/commitlint-github-action@v4 |
@ -0,0 +1,39 @@ |
|||
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. |
|||
|
|||
# dependencies |
|||
/node_modules |
|||
/.pnp |
|||
.pnp.js |
|||
|
|||
# JetBrains IDE files |
|||
.idea/ |
|||
|
|||
# testing |
|||
/coverage |
|||
|
|||
# next.js |
|||
/.next/ |
|||
/out/ |
|||
|
|||
# production |
|||
/build |
|||
|
|||
# misc |
|||
.DS_Store |
|||
*.pem |
|||
tsconfig.tsbuildinfo |
|||
|
|||
# debug |
|||
npm-debug.log* |
|||
yarn-debug.log* |
|||
yarn-error.log* |
|||
|
|||
# local env files |
|||
.env |
|||
.env.local |
|||
.env.development.local |
|||
.env.test.local |
|||
.env.production.local |
|||
|
|||
# vercel |
|||
.vercel |
@ -0,0 +1,5 @@ |
|||
#!/bin/sh |
|||
. "$(dirname "$0")/_/husky.sh" |
|||
. "$(dirname "$0")/common.sh" |
|||
|
|||
yarn commitlint --edit $1 |
@ -0,0 +1,8 @@ |
|||
command_exists () { |
|||
command -v "$1" >/dev/null 2>&1 |
|||
} |
|||
|
|||
# Workaround for Windows 10, Git Bash and Yarn |
|||
if command_exists winpty && test -t 1; then |
|||
exec < /dev/tty |
|||
fi |
@ -0,0 +1,5 @@ |
|||
#!/bin/sh |
|||
. "$(dirname "$0")/_/husky.sh" |
|||
. "$(dirname "$0")/common.sh" |
|||
|
|||
yarn lint-staged |
@ -0,0 +1 @@ |
|||
save-exact = true |
@ -0,0 +1 @@ |
|||
12.22 |
@ -0,0 +1,6 @@ |
|||
{ |
|||
"trailingComma": "all", |
|||
"singleQuote": true, |
|||
"printWidth": 80, |
|||
"tabWidth": 2 |
|||
} |
Before Width: | Height: | Size: 80 KiB After Width: | Height: | Size: 80 KiB |
Before Width: | Height: | Size: 70 KiB After Width: | Height: | Size: 70 KiB |
@ -1,5 +1,5 @@ |
|||
语出B站《这就是中国》42集2分20秒处,网站: |
|||
|
|||
[这就是中国第42集-纪录片-高清正版在线观看-bilibili-哔哩哔哩](https://www.bilibili.com/bangumi/play/ep301215) |
|||
|
|||
 |
|||
语出B站《这就是中国》42集2分20秒处,网站: |
|||
|
|||
[这就是中国第42集-纪录片-高清正版在线观看-bilibili-哔哩哔哩](https://www.bilibili.com/bangumi/play/ep301215) |
|||
|
|||
 |
Before Width: | Height: | Size: 1.4 MiB After Width: | Height: | Size: 1.4 MiB |
Before Width: | Height: | Size: 125 KiB After Width: | Height: | Size: 125 KiB |
Before Width: | Height: | Size: 118 KiB After Width: | Height: | Size: 118 KiB |
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 32 KiB |
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 34 KiB |
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 19 KiB |
Before Width: | Height: | Size: 36 KiB After Width: | Height: | Size: 36 KiB |
Before Width: | Height: | Size: 316 KiB After Width: | Height: | Size: 316 KiB |
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 25 KiB |
Before Width: | Height: | Size: 49 KiB After Width: | Height: | Size: 49 KiB |
Before Width: | Height: | Size: 59 KiB After Width: | Height: | Size: 59 KiB |
Before Width: | Height: | Size: 77 KiB After Width: | Height: | Size: 77 KiB |
Before Width: | Height: | Size: 69 KiB After Width: | Height: | Size: 69 KiB |
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 92 KiB After Width: | Height: | Size: 92 KiB |
Before Width: | Height: | Size: 35 KiB After Width: | Height: | Size: 35 KiB |
Before Width: | Height: | Size: 63 KiB After Width: | Height: | Size: 63 KiB |
@ -1,5 +1,5 @@ |
|||
语出叼盘侠2021年1月28日的一篇微博。 |
|||
|
|||
 |
|||
|
|||
|
|||
语出叼盘侠2021年1月28日的一篇微博。 |
|||
|
|||
 |
|||
|
|||
|
Before Width: | Height: | Size: 395 KiB After Width: | Height: | Size: 395 KiB |
Before Width: | Height: | Size: 121 KiB After Width: | Height: | Size: 121 KiB |
@ -1,21 +1,21 @@ |
|||
 |
|||
|
|||
### 陈平原话 |
|||
|
|||
“把中国的发展目的定为进入高收入社会是西方的一个陷阱,是希望中国像它一样,然后就不干活了。 |
|||
所以讲那个高收入的优势,是不存在的。 |
|||
照我的计算,我在中国,如果我一个月有2000块钱,这个工资,我国的比在美国,有3000美元还要舒服的多。 |
|||
所以美国现在在水深火热里面,你明白吗?”(之后的省略……) |
|||
|
|||
视频源地址:https://www.bilibili.com/video/BV1nz4y1Q7KG/ |
|||
|
|||
看视频55秒处的讲台背景,应该是陈平在2019年5月30日的清华大学国情讲坛上的发言。类似的还有“美国人民生活在水深火热之中”等等,然而他本人却在新冠肺炎疫情期间跑到美国德州享受生活去了🤣。 |
|||
|
|||
转自网友评论: |
|||
|
|||
鲁迅不断公开批评自己所在的国家,但这个国家无论再糟糕他也没有离开它,他是爱国者。 |
|||
陈平不断公开批评自己所在的国家,但这个国家无论再糟糕他也没有离开它,所以他也是爱国者。 |
|||
|
|||
### 知名不等式的意义 |
|||
|
|||
陈平不等式就此诞生,又称Champion Inequality,后经互联网的传播而广为人知,成为21世纪中国对世界所作出的最重要的数学和经济学贡献之一。 |
|||
 |
|||
|
|||
### 陈平原话 |
|||
|
|||
“把中国的发展目的定为进入高收入社会是西方的一个陷阱,是希望中国像它一样,然后就不干活了。 |
|||
所以讲那个高收入的优势,是不存在的。 |
|||
照我的计算,我在中国,如果我一个月有2000块钱,这个工资,我国的比在美国,有3000美元还要舒服的多。 |
|||
所以美国现在在水深火热里面,你明白吗?”(之后的省略……) |
|||
|
|||
视频源地址:https://www.bilibili.com/video/BV1nz4y1Q7KG/ |
|||
|
|||
看视频55秒处的讲台背景,应该是陈平在2019年5月30日的清华大学国情讲坛上的发言。类似的还有“美国人民生活在水深火热之中”等等,然而他本人却在新冠肺炎疫情期间跑到美国德州享受生活去了🤣。 |
|||
|
|||
转自网友评论: |
|||
|
|||
鲁迅不断公开批评自己所在的国家,但这个国家无论再糟糕他也没有离开它,他是爱国者。 |
|||
陈平不断公开批评自己所在的国家,但这个国家无论再糟糕他也没有离开它,所以他也是爱国者。 |
|||
|
|||
### 知名不等式的意义 |
|||
|
|||
陈平不等式就此诞生,又称Champion Inequality,后经互联网的传播而广为人知,成为21世纪中国对世界所作出的最重要的数学和经济学贡献之一。 |
Before Width: | Height: | Size: 1.4 MiB After Width: | Height: | Size: 1.4 MiB |
Before Width: | Height: | Size: 438 KiB After Width: | Height: | Size: 438 KiB |
Before Width: | Height: | Size: 744 KiB After Width: | Height: | Size: 744 KiB |
Before Width: | Height: | Size: 362 KiB After Width: | Height: | Size: 362 KiB |
Before Width: | Height: | Size: 321 KiB After Width: | Height: | Size: 321 KiB |
Before Width: | Height: | Size: 86 KiB After Width: | Height: | Size: 86 KiB |
Before Width: | Height: | Size: 100 KiB After Width: | Height: | Size: 100 KiB |
Before Width: | Height: | Size: 967 KiB After Width: | Height: | Size: 967 KiB |
Before Width: | Height: | Size: 716 KiB After Width: | Height: | Size: 716 KiB |
Before Width: | Height: | Size: 552 KiB After Width: | Height: | Size: 552 KiB |
Before Width: | Height: | Size: 776 KiB After Width: | Height: | Size: 776 KiB |
Before Width: | Height: | Size: 595 KiB After Width: | Height: | Size: 595 KiB |
Before Width: | Height: | Size: 927 KiB After Width: | Height: | Size: 927 KiB |
Before Width: | Height: | Size: 464 KiB After Width: | Height: | Size: 464 KiB |
Before Width: | Height: | Size: 940 KiB After Width: | Height: | Size: 940 KiB |
Before Width: | Height: | Size: 665 KiB After Width: | Height: | Size: 665 KiB |
Before Width: | Height: | Size: 498 KiB After Width: | Height: | Size: 498 KiB |
Before Width: | Height: | Size: 478 KiB After Width: | Height: | Size: 478 KiB |
Before Width: | Height: | Size: 514 KiB After Width: | Height: | Size: 514 KiB |
Before Width: | Height: | Size: 279 KiB After Width: | Height: | Size: 279 KiB |
Before Width: | Height: | Size: 487 KiB After Width: | Height: | Size: 487 KiB |
Before Width: | Height: | Size: 611 KiB After Width: | Height: | Size: 611 KiB |
Before Width: | Height: | Size: 133 KiB After Width: | Height: | Size: 133 KiB |
Before Width: | Height: | Size: 240 KiB After Width: | Height: | Size: 240 KiB |
Before Width: | Height: | Size: 138 KiB After Width: | Height: | Size: 138 KiB |
Before Width: | Height: | Size: 149 KiB After Width: | Height: | Size: 149 KiB |
Before Width: | Height: | Size: 101 KiB After Width: | Height: | Size: 101 KiB |
Before Width: | Height: | Size: 210 KiB After Width: | Height: | Size: 210 KiB |