Read template from file.
This commit is contained in:
parent
0e21b4b9b7
commit
caa5383e46
134
.github/readme-generate.js
vendored
134
.github/readme-generate.js
vendored
|
@ -1,4 +1,5 @@
|
||||||
const { readdir, writeFile, stat } = require('fs/promises');
|
const { readdir, writeFile, stat } = require('fs/promises');
|
||||||
|
const fs = require('fs').promises;
|
||||||
|
|
||||||
const README_PATH = './README.md';
|
const README_PATH = './README.md';
|
||||||
|
|
||||||
|
@ -59,125 +60,6 @@ const categories = {
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
let README_TEMPLATE = `# 程序员做饭指南
|
|
||||||
|
|
||||||
[![build](https://github.com/Anduin2017/HowToCook/actions/workflows/build.yml/badge.svg)](https://github.com/Anduin2017/HowToCook/actions/workflows/build.yml)
|
|
||||||
[![License](https://img.shields.io/github/license/Anduin2017/HowToCook)](./LICENSE)
|
|
||||||
[![GitHub contributors](https://img.shields.io/github/contributors/Anduin2017/HowToCook)](https://github.com/Anduin2017/HowToCook/graphs/contributors)
|
|
||||||
[![npm](https://img.shields.io/npm/v/how-to-cook)](https://www.npmjs.com/package/how-to-cook)
|
|
||||||
|
|
||||||
最近在家隔离,出不了门。只能宅在家做饭了。作为程序员,我偶尔在网上找找菜谱和做法。但是这些菜谱往往写法千奇百怪,经常中间莫名出来一些材料。对于习惯了形式语言的程序员来说极其不友好。
|
|
||||||
|
|
||||||
所以,我计划自己搜寻菜谱和并结合实际做菜的经验,准备用更清晰精准的描述来整理常见菜的做法,以方便程序员在家做饭。
|
|
||||||
|
|
||||||
同样,我希望它是一个由社区驱动和维护的开源项目,使更多人能够一起做一个有趣的仓库。所以非常欢迎大家贡献它~
|
|
||||||
|
|
||||||
## 如何贡献
|
|
||||||
|
|
||||||
针对发现的问题,直接修改并提交 Pull request 即可。
|
|
||||||
|
|
||||||
在写新菜谱时,请复制并修改已有的菜谱模板: [示例菜](https://github.com/Anduin2017/HowToCook/blob/master/dishes/template/%E7%A4%BA%E4%BE%8B%E8%8F%9C/%E7%A4%BA%E4%BE%8B%E8%8F%9C.md?plain=1)。
|
|
||||||
|
|
||||||
## 做菜之前
|
|
||||||
|
|
||||||
{{before}}
|
|
||||||
## 菜谱
|
|
||||||
|
|
||||||
### 家常菜
|
|
||||||
{{main}}
|
|
||||||
## 进阶知识学习
|
|
||||||
|
|
||||||
如果你已经做了许多上面的菜,对于厨艺已经入门,并且想学习更加高深的烹饪技巧,请继续阅读下面的内容:
|
|
||||||
|
|
||||||
{{after}}`;
|
|
||||||
|
|
||||||
let MKDOCS_TEMPLATE = `site_name: How To Cook
|
|
||||||
|
|
||||||
# Repository
|
|
||||||
repo_name: Anduin2017/HowToCook
|
|
||||||
repo_url: https://github.com/Anduin2017/HowToCook
|
|
||||||
edit_uri: ""
|
|
||||||
|
|
||||||
use_directory_urls: true
|
|
||||||
docs_dir: .
|
|
||||||
theme:
|
|
||||||
name: material
|
|
||||||
language: zh
|
|
||||||
features:
|
|
||||||
- content.code.annotate
|
|
||||||
# - content.tabs.link
|
|
||||||
# - header.autohide
|
|
||||||
#- navigation.expand
|
|
||||||
#- navigation.indexes
|
|
||||||
- navigation.instant
|
|
||||||
- navigation.sections
|
|
||||||
- navigation.tabs
|
|
||||||
- navigation.tabs.sticky
|
|
||||||
- navigation.top
|
|
||||||
- navigation.tracking
|
|
||||||
- search.highlight
|
|
||||||
- search.share
|
|
||||||
- search.suggest
|
|
||||||
- toc.follow
|
|
||||||
# # - toc.integrate
|
|
||||||
search_index_only: true
|
|
||||||
palette:
|
|
||||||
- media: "(prefers-color-scheme: light)"
|
|
||||||
scheme: default
|
|
||||||
toggle:
|
|
||||||
icon: material//weather-sunny
|
|
||||||
name: Switch to dark mode
|
|
||||||
- media: "(prefers-color-scheme: dark)"
|
|
||||||
scheme: slate
|
|
||||||
toggle:
|
|
||||||
icon: material/weather-night
|
|
||||||
name: Switch to light mode
|
|
||||||
|
|
||||||
icon:
|
|
||||||
admonition:
|
|
||||||
note: octicons/tag-16
|
|
||||||
abstract: octicons/checklist-16
|
|
||||||
info: octicons/info-16
|
|
||||||
tip: octicons/squirrel-16
|
|
||||||
success: octicons/check-16
|
|
||||||
question: octicons/question-16
|
|
||||||
warning: octicons/alert-16
|
|
||||||
failure: octicons/x-circle-16
|
|
||||||
danger: octicons/zap-16
|
|
||||||
bug: octicons/bug-16
|
|
||||||
example: octicons/beaker-16
|
|
||||||
quote: octicons/quote-16
|
|
||||||
|
|
||||||
markdown_extensions:
|
|
||||||
- admonition
|
|
||||||
- pymdownx.details
|
|
||||||
- pymdownx.superfences
|
|
||||||
- abbr
|
|
||||||
- pymdownx.snippets
|
|
||||||
- def_list
|
|
||||||
- pymdownx.tasklist:
|
|
||||||
custom_checkbox: true
|
|
||||||
- attr_list
|
|
||||||
|
|
||||||
plugins:
|
|
||||||
- same-dir
|
|
||||||
- search
|
|
||||||
- minify:
|
|
||||||
minify_html: true
|
|
||||||
|
|
||||||
nav:
|
|
||||||
- README.md
|
|
||||||
- 做菜之前:
|
|
||||||
{{before}}
|
|
||||||
- 菜谱:
|
|
||||||
- 按种类: # 只有两层section以上才能出现navigation expansion https://squidfunk.github.io/mkdocs-material/setup/setting-up-navigation/#navigation-sections
|
|
||||||
{{main}}
|
|
||||||
- 进阶知识学习:
|
|
||||||
{{after}}
|
|
||||||
- CONTRIBUTING.md
|
|
||||||
- CODE_OF_CONDUCT.md
|
|
||||||
`;
|
|
||||||
|
|
||||||
async function main() {
|
async function main() {
|
||||||
try {
|
try {
|
||||||
let README_BEFORE = (README_MAIN = README_AFTER = '');
|
let README_BEFORE = (README_MAIN = README_AFTER = '');
|
||||||
|
@ -212,16 +94,22 @@ async function main() {
|
||||||
MKDOCS_MAIN += categoryMkdocsTemplate(category.title, category.mkdocs);
|
MKDOCS_MAIN += categoryMkdocsTemplate(category.title, category.mkdocs);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const MKDOCS_TEMPLATE = await fs.readFile("./.github/templates/mkdocs_template.yml", "utf-8");
|
||||||
|
const README_TEMPLATE = await fs.readFile("./.github/templates/readme_template.md", "utf-8");
|
||||||
|
|
||||||
await writeFile(
|
await writeFile(
|
||||||
README_PATH,
|
README_PATH,
|
||||||
README_TEMPLATE.replace('{{before}}', README_BEFORE)
|
README_TEMPLATE
|
||||||
.replace('{{main}}', README_MAIN)
|
.replace('{{before}}', README_BEFORE.trim())
|
||||||
.replace('{{after}}', README_AFTER),
|
.replace('{{main}}', README_MAIN.trim())
|
||||||
|
.replace('{{after}}', README_AFTER.trim()),
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
await writeFile(
|
await writeFile(
|
||||||
MKDOCS_PATH,
|
MKDOCS_PATH,
|
||||||
MKDOCS_TEMPLATE.replace('{{before}}', MKDOCS_BEFORE)
|
MKDOCS_TEMPLATE
|
||||||
|
.replace('{{before}}', MKDOCS_BEFORE)
|
||||||
.replace('{{main}}', MKDOCS_MAIN)
|
.replace('{{main}}', MKDOCS_MAIN)
|
||||||
.replace('{{after}}', MKDOCS_AFTER),
|
.replace('{{after}}', MKDOCS_AFTER),
|
||||||
);
|
);
|
||||||
|
|
85
.github/templates/mkdocs_template.yml
vendored
Normal file
85
.github/templates/mkdocs_template.yml
vendored
Normal file
|
@ -0,0 +1,85 @@
|
||||||
|
site_name: How To Cook
|
||||||
|
|
||||||
|
# Repository
|
||||||
|
repo_name: Anduin2017/HowToCook
|
||||||
|
repo_url: https://github.com/Anduin2017/HowToCook
|
||||||
|
edit_uri: ""
|
||||||
|
|
||||||
|
use_directory_urls: true
|
||||||
|
docs_dir: .
|
||||||
|
theme:
|
||||||
|
name: material
|
||||||
|
language: zh
|
||||||
|
features:
|
||||||
|
- content.code.annotate
|
||||||
|
# - content.tabs.link
|
||||||
|
# - header.autohide
|
||||||
|
#- navigation.expand
|
||||||
|
#- navigation.indexes
|
||||||
|
- navigation.instant
|
||||||
|
- navigation.sections
|
||||||
|
- navigation.tabs
|
||||||
|
- navigation.tabs.sticky
|
||||||
|
- navigation.top
|
||||||
|
- navigation.tracking
|
||||||
|
- search.highlight
|
||||||
|
- search.share
|
||||||
|
- search.suggest
|
||||||
|
- toc.follow
|
||||||
|
# # - toc.integrate
|
||||||
|
search_index_only: true
|
||||||
|
palette:
|
||||||
|
- media: "(prefers-color-scheme: light)"
|
||||||
|
scheme: default
|
||||||
|
toggle:
|
||||||
|
icon: material//weather-sunny
|
||||||
|
name: Switch to dark mode
|
||||||
|
- media: "(prefers-color-scheme: dark)"
|
||||||
|
scheme: slate
|
||||||
|
toggle:
|
||||||
|
icon: material/weather-night
|
||||||
|
name: Switch to light mode
|
||||||
|
|
||||||
|
icon:
|
||||||
|
admonition:
|
||||||
|
note: octicons/tag-16
|
||||||
|
abstract: octicons/checklist-16
|
||||||
|
info: octicons/info-16
|
||||||
|
tip: octicons/squirrel-16
|
||||||
|
success: octicons/check-16
|
||||||
|
question: octicons/question-16
|
||||||
|
warning: octicons/alert-16
|
||||||
|
failure: octicons/x-circle-16
|
||||||
|
danger: octicons/zap-16
|
||||||
|
bug: octicons/bug-16
|
||||||
|
example: octicons/beaker-16
|
||||||
|
quote: octicons/quote-16
|
||||||
|
|
||||||
|
markdown_extensions:
|
||||||
|
- admonition
|
||||||
|
- pymdownx.details
|
||||||
|
- pymdownx.superfences
|
||||||
|
- abbr
|
||||||
|
- pymdownx.snippets
|
||||||
|
- def_list
|
||||||
|
- pymdownx.tasklist:
|
||||||
|
custom_checkbox: true
|
||||||
|
- attr_list
|
||||||
|
|
||||||
|
plugins:
|
||||||
|
- same-dir
|
||||||
|
- search
|
||||||
|
- minify:
|
||||||
|
minify_html: true
|
||||||
|
|
||||||
|
nav:
|
||||||
|
- README.md
|
||||||
|
- 做菜之前:
|
||||||
|
{{before}}
|
||||||
|
- 菜谱:
|
||||||
|
- 按种类: # 只有两层section以上才能出现navigation expansion https://squidfunk.github.io/mkdocs-material/setup/setting-up-navigation/#navigation-sections
|
||||||
|
{{main}}
|
||||||
|
- 进阶知识学习:
|
||||||
|
{{after}}
|
||||||
|
- CONTRIBUTING.md
|
||||||
|
- CODE_OF_CONDUCT.md
|
34
.github/templates/readme_template.md
vendored
Normal file
34
.github/templates/readme_template.md
vendored
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
# 程序员做饭指南
|
||||||
|
|
||||||
|
[![build](https://github.com/Anduin2017/HowToCook/actions/workflows/build.yml/badge.svg)](https://github.com/Anduin2017/HowToCook/actions/workflows/build.yml)
|
||||||
|
[![License](https://img.shields.io/github/license/Anduin2017/HowToCook)](./LICENSE)
|
||||||
|
[![GitHub contributors](https://img.shields.io/github/contributors/Anduin2017/HowToCook)](https://github.com/Anduin2017/HowToCook/graphs/contributors)
|
||||||
|
[![npm](https://img.shields.io/npm/v/how-to-cook)](https://www.npmjs.com/package/how-to-cook)
|
||||||
|
|
||||||
|
最近在家隔离,出不了门。只能宅在家做饭了。作为程序员,我偶尔在网上找找菜谱和做法。但是这些菜谱往往写法千奇百怪,经常中间莫名出来一些材料。对于习惯了形式语言的程序员来说极其不友好。
|
||||||
|
|
||||||
|
所以,我计划自己搜寻菜谱和并结合实际做菜的经验,准备用更清晰精准的描述来整理常见菜的做法,以方便程序员在家做饭。
|
||||||
|
|
||||||
|
同样,我希望它是一个由社区驱动和维护的开源项目,使更多人能够一起做一个有趣的仓库。所以非常欢迎大家贡献它~
|
||||||
|
|
||||||
|
## 如何贡献
|
||||||
|
|
||||||
|
针对发现的问题,直接修改并提交 Pull request 即可。
|
||||||
|
|
||||||
|
在写新菜谱时,请复制并修改已有的菜谱模板: [示例菜](https://github.com/Anduin2017/HowToCook/blob/master/dishes/template/%E7%A4%BA%E4%BE%8B%E8%8F%9C/%E7%A4%BA%E4%BE%8B%E8%8F%9C.md?plain=1)。
|
||||||
|
|
||||||
|
## 做菜之前
|
||||||
|
|
||||||
|
{{before}}
|
||||||
|
|
||||||
|
## 菜谱
|
||||||
|
|
||||||
|
### 家常菜
|
||||||
|
|
||||||
|
{{main}}
|
||||||
|
|
||||||
|
## 进阶知识学习
|
||||||
|
|
||||||
|
如果你已经做了许多上面的菜,对于厨艺已经入门,并且想学习更加高深的烹饪技巧,请继续阅读下面的内容:
|
||||||
|
|
||||||
|
{{after}}
|
Loading…
Reference in New Issue
Block a user