@ -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秒处,网站: |
语出B站《这就是中国》42集2分20秒处,网站: |
||||
|
|
||||
[这就是中国第42集-纪录片-高清正版在线观看-bilibili-哔哩哔哩](https://www.bilibili.com/bangumi/play/ep301215) |
[这就是中国第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美元还要舒服的多。 |
照我的计算,我在中国,如果我一个月有2000块钱,这个工资,我国的比在美国,有3000美元还要舒服的多。 |
||||
所以美国现在在水深火热里面,你明白吗?”(之后的省略……) |
所以美国现在在水深火热里面,你明白吗?”(之后的省略……) |
||||
|
|
||||
视频源地址:https://www.bilibili.com/video/BV1nz4y1Q7KG/ |
视频源地址:https://www.bilibili.com/video/BV1nz4y1Q7KG/ |
||||
|
|
||||
看视频55秒处的讲台背景,应该是陈平在2019年5月30日的清华大学国情讲坛上的发言。类似的还有“美国人民生活在水深火热之中”等等,然而他本人却在新冠肺炎疫情期间跑到美国德州享受生活去了🤣。 |
看视频55秒处的讲台背景,应该是陈平在2019年5月30日的清华大学国情讲坛上的发言。类似的还有“美国人民生活在水深火热之中”等等,然而他本人却在新冠肺炎疫情期间跑到美国德州享受生活去了🤣。 |
||||
|
|
||||
转自网友评论: |
转自网友评论: |
||||
|
|
||||
鲁迅不断公开批评自己所在的国家,但这个国家无论再糟糕他也没有离开它,他是爱国者。 |
鲁迅不断公开批评自己所在的国家,但这个国家无论再糟糕他也没有离开它,他是爱国者。 |
||||
陈平不断公开批评自己所在的国家,但这个国家无论再糟糕他也没有离开它,所以他也是爱国者。 |
陈平不断公开批评自己所在的国家,但这个国家无论再糟糕他也没有离开它,所以他也是爱国者。 |
||||
|
|
||||
### 知名不等式的意义 |
### 知名不等式的意义 |
||||
|
|
||||
陈平不等式就此诞生,又称Champion Inequality,后经互联网的传播而广为人知,成为21世纪中国对世界所作出的最重要的数学和经济学贡献之一。 |
陈平不等式就此诞生,又称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 |