From 4e9add5e7e98013c131d9567f800cfe01b4645e0 Mon Sep 17 00:00:00 2001 From: yaozm Date: Tue, 30 Apr 2024 20:32:37 +0800 Subject: [PATCH 1/8] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E4=BE=9D=E8=B5=96?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E4=B8=8E=E5=B7=A5=E4=BD=9C=E6=B5=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/dependabot.yml | 2 +- .github/workflows/dependabot-auto-merge.yml | 31 +++++++++++++++++++++ .github/workflows/lint-md.yml | 24 ++++++++++++---- 3 files changed, 50 insertions(+), 7 deletions(-) create mode 100644 .github/workflows/dependabot-auto-merge.yml diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 4dc11cb7..845eca6d 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -12,4 +12,4 @@ updates: schedule: interval: daily time: "21:00" - open-pull-requests-limit: 10 \ No newline at end of file + open-pull-requests-limit: 10 diff --git a/.github/workflows/dependabot-auto-merge.yml b/.github/workflows/dependabot-auto-merge.yml new file mode 100644 index 00000000..7f288365 --- /dev/null +++ b/.github/workflows/dependabot-auto-merge.yml @@ -0,0 +1,31 @@ +name: dependabot-auto-merge +on: pull_request_target + +permissions: + pull-requests: write + contents: write + +jobs: + dependabot: + runs-on: ubuntu-latest + if: ${{ github.actor == 'dependabot[bot]' }} + steps: + - name: Dependabot metadata + id: metadata + uses: dependabot/fetch-metadata@v2.0.0 + with: + github-token: "${{ secrets.GITHUB_TOKEN }}" + + - name: Auto-merge Dependabot PRs for semver-minor updates + if: ${{steps.metadata.outputs.update-type == 'version-update:semver-minor'}} + run: gh pr merge --auto --merge "$PR_URL" + env: + PR_URL: ${{github.event.pull_request.html_url}} + GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} + + - name: Auto-merge Dependabot PRs for semver-patch updates + if: ${{steps.metadata.outputs.update-type == 'version-update:semver-patch'}} + run: gh pr merge --auto --merge "$PR_URL" + env: + PR_URL: ${{github.event.pull_request.html_url}} + GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} diff --git a/.github/workflows/lint-md.yml b/.github/workflows/lint-md.yml index 6064ee3b..815a32a5 100644 --- a/.github/workflows/lint-md.yml +++ b/.github/workflows/lint-md.yml @@ -7,11 +7,23 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 - - name: lint-md-github-action - uses: lint-md/github-action@v0.1.1 + - name: Set node version + uses: actions/setup-node@v4 + + - name: Install dependencies + run: npm install + + - name: Lint markdown + run: npm run md-fix + + - name: Lint zh_CN + run: npm run zh-fix + + - name: Commit changes + uses: stefanzweifel/git-auto-commit-action@v5 with: - configFile: .lintmdrc - failOnWarnings: false - files: ./ ./.github/ + commit_options: '--no-verify' + commit_message: Fix markdown + file_pattern: '*.md */*.md */*/*.md' From fb50f6df6acb814d512095ebdf2a3cfa11da06a0 Mon Sep 17 00:00:00 2001 From: yaozm Date: Tue, 30 Apr 2024 20:34:17 +0800 Subject: [PATCH 2/8] =?UTF-8?q?=E6=9B=B4=E6=96=B0lint=E4=B8=8Ezhlint?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .editorconfig | 19 +++++++++++++++++++ .github/workflows/lint-md.yml | 22 +++++++++------------- .lintmdrc | 28 ++++++++++++++++++++++------ .zhlintignore | 6 ++++++ .zhlintrc | 7 +++++++ 5 files changed, 63 insertions(+), 19 deletions(-) create mode 100644 .editorconfig create mode 100644 .zhlintignore create mode 100644 .zhlintrc diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 00000000..e74e04ca --- /dev/null +++ b/.editorconfig @@ -0,0 +1,19 @@ +root = true + +[*] +indent_style = space +indent_size = 4 +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = false + +[*.{vue,js,scss}] +indent_size = 2 +insert_final_newline = true + +[*.md] +trim_trailing_whitespace = false + +[*.{yml,yaml,xml,xml.dist}] +indent_size = 2 \ No newline at end of file diff --git a/.github/workflows/lint-md.yml b/.github/workflows/lint-md.yml index 815a32a5..74dc0976 100644 --- a/.github/workflows/lint-md.yml +++ b/.github/workflows/lint-md.yml @@ -1,6 +1,6 @@ name: lint markdown -on: [push, pull_request] +on: [workflow_dispatch, push, pull_request] jobs: lint-markdown: @@ -12,18 +12,14 @@ jobs: - name: Set node version uses: actions/setup-node@v4 - - name: Install dependencies - run: npm install + - name: Install lint-md + run: npm install @lint-md/cli -g - - name: Lint markdown - run: npm run md-fix + - name: Install zhlint + run: npm install zhlint -g - - name: Lint zh_CN - run: npm run zh-fix + - name: Lint markdown + run: lint-md 'README.md' --config=.lintmdrc --threads - - name: Commit changes - uses: stefanzweifel/git-auto-commit-action@v5 - with: - commit_options: '--no-verify' - commit_message: Fix markdown - file_pattern: '*.md */*.md */*/*.md' +# - name: Lint zh_CN +# run: zhlint 'README.md' --config=.zhlintrc diff --git a/.lintmdrc b/.lintmdrc index b82ea520..a16c496b 100644 --- a/.lintmdrc +++ b/.lintmdrc @@ -1,19 +1,35 @@ { "excludeFiles": [ - "src/", - "tests/", - "vendor/" + "./.build/**", + "./.github/**", + "./node_modules/**", + "./vendor/**", + "./vendor-bin/**" ], "rules": { - "no-empty-code": 1, + "space-around-alphabet": 2, + "space-around-number": 2, + "no-empty-code-lang": 2, + "no-empty-url": 2, + "no-empty-list": 2, + "no-empty-code": 2, + "no-empty-inline-code": 2, + "no-empty-blockquote": 2, + "no-special-characters": 2, + "use-standard-ellipsis": 2, + "no-fullwidth-number": 2, + "no-space-in-link": 2, + "no-multiple-space-blockquote": 2, + "correct-title-trailing-punctuation": 2, + "no-space-in-inline-code": 2, "no-long-code": [ 2, { - "length": 256, + "length": 120, "exclude": [ "dot" ] } ] } -} \ No newline at end of file +} diff --git a/.zhlintignore b/.zhlintignore new file mode 100644 index 00000000..371abdc5 --- /dev/null +++ b/.zhlintignore @@ -0,0 +1,6 @@ +/.build +/.github +/node_modules +/vendor +/vendor-bin +/传说部分/地方传说/鸠龙岗的来历.md \ No newline at end of file diff --git a/.zhlintrc b/.zhlintrc new file mode 100644 index 00000000..9db6bc57 --- /dev/null +++ b/.zhlintrc @@ -0,0 +1,7 @@ +{ + "preset": "default", + "rules": { + "noSinglePair": false, + "noSpaceBetweenFullwidthContent": false + } +} From 34e55c03baddfa7a1a221e90268ce7a848820da6 Mon Sep 17 00:00:00 2001 From: yaozm Date: Tue, 30 Apr 2024 21:10:51 +0800 Subject: [PATCH 3/8] =?UTF-8?q?=E8=B0=83=E6=95=B4=E8=AE=BE=E8=AE=A1?= =?UTF-8?q?=E6=A8=A1=E5=BC=8F=E8=AF=B4=E6=98=8E=E9=A1=BA=E5=BA=8F=E5=8F=8A?= =?UTF-8?q?=E6=A0=BC=E5=BC=8F=EF=BC=8C=E6=8F=90=E9=AB=98=E6=96=87=E6=A1=A3?= =?UTF-8?q?=E5=8F=AF=E8=AF=BB=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 64 +++++++++++++++++++++++++++---------------------------- 1 file changed, 32 insertions(+), 32 deletions(-) diff --git a/README.md b/README.md index 93f37deb..e49a5656 100644 --- a/README.md +++ b/README.md @@ -11,8 +11,8 @@ - [介绍](#介绍) - - [注意](#注意) - - [设计模式的类型](#设计模式的类型) +- [注意](#注意) +- [设计模式的类型](#设计模式的类型) - [创建型设计模式](#创建型设计模式) - [🏠简单工厂模式(Simple Factory)](#简单工厂模式simple-factory) - [🏭工厂方法模式(Factory Method)](#工厂方法模式factory-method) @@ -39,13 +39,13 @@ - [💡策略模式(Strategy)](#策略模式strategy) - [💢状态模式(State)](#状态模式state) - [📒模板方法模式(Template Method)](#模板方法模式template-method) - - [总结](#总结) - - [贡献](#贡献) - - [License](#license) +- [总结](#总结) +- [贡献](#贡献) +- [License](#license) -# 介绍 +## 介绍 设计模式是反复出现问题的解决方案,**如何解决某些问题的指导方针**。它们并不是可以插入应用程序就可以等待神奇发生的类、包或者库。相反它是如何在某些情况下解决某些问题的指导原则。 @@ -70,7 +70,7 @@ * [结构型](#structural-design-patterns) * [行为型](#behavioral-design-patterns) -# [](#creational-design-patterns)创建型设计模式 +## [](#creational-design-patterns)创建型设计模式 通俗解释: @@ -87,7 +87,7 @@ * [原型模式(Prototype)](#-prototype) * [单例模式(Singleton)](#-singleton) -## 🏠简单工厂模式(Simple Factory) +### 🏠简单工厂模式(Simple Factory) 现实生活中的例子: @@ -164,7 +164,7 @@ $door2 = DoorFactory::makeDoor(50, 100); 当创建一个对象不仅仅是一些分配而且涉及一些逻辑时,将它放在专用工厂中而不是在任何地方重复相同的代码是有意义的。 -## 🏭工厂方法模式(Factory Method) +### 🏭工厂方法模式(Factory Method) 现实生活中的例子: @@ -257,7 +257,7 @@ $marketingManager->takeInterview(); // Output: Asking about community building. 在类中有一些通用处理但在运行时动态决定所需的子类时很有用。换句话说,当客户端不知道它可能需要什么样的子类时。 -## 🔨抽象工厂模式(Abstract Factory) +### 🔨抽象工厂模式(Abstract Factory) 现实生活中的例子: @@ -388,7 +388,7 @@ $expert->getDescription(); // Output: I can only fit iron doors 当涉及到不那么简单的,存在相互依赖关系的创建逻辑时使用 -## 👷建造者模式 +### 👷建造者模式 现实生活中的例子: @@ -499,7 +499,7 @@ $burger = (new BurgerBuilder(14)) 当一个对象可能存在几种类型并避免构造函数伸缩时使用。与工厂模式的主要区别在于:当创建是一步过程时,将使用工厂模式,而当创建是多步骤过程时,将使用建造者模式。 -## 🐑原型模式(Prototype) +### 🐑原型模式(Prototype) 现实生活中的例子: @@ -573,7 +573,7 @@ echo $cloned->getCategory(); // Mountain sheep 当需要一个与现有对象类似的对象时,或者与克隆相比,创建的成本会很高。 -## 💍单例模式(Singleton) +### 💍单例模式(Singleton) 现实生活中的例子: @@ -633,7 +633,7 @@ $president2 = President::getInstance(); var_dump($president1 === $president2); // true ``` -# [](#structural-design-patterns)结构型设计模式 +## [](#structural-design-patterns)结构型设计模式 通俗解释: @@ -651,7 +651,7 @@ var_dump($president1 === $president2); // true * [享元模式(Flyweight)](#-flyweight) * [代理模式(Proxy)](#-proxy) -## 🔌适配器模式(Adapter) +### 🔌适配器模式(Adapter) 现实生活中的例子: @@ -742,7 +742,7 @@ $hunter = new Hunter(); $hunter->hunt($wildDogAdapter); ``` -## 🚡桥梁模式(Bridge) +### 🚡桥梁模式(Bridge) 现实生活中的例子: @@ -843,7 +843,7 @@ echo $about->getContent(); // "About page in Dark Black"; echo $careers->getContent(); // "Careers page in Dark Black"; ``` -## 🌿组合模式(Composite) +### 🌿组合模式(Composite) 现实生活中的例子: @@ -978,7 +978,7 @@ $organization->addEmployee($jane); echo "Net salaries: " . $organization->getNetSalaries(); // Net Salaries: 27000 ``` -## ☕装饰模式(Decorator) +### ☕装饰模式(Decorator) 现实生活中的例子: @@ -1101,7 +1101,7 @@ echo $someCoffee->getCost(); // 20 echo $someCoffee->getDescription(); // Simple Coffee, milk, whip, vanilla ``` -## 📦门面模式(Facade) +### 📦门面模式(Facade) 现实生活中的例子: @@ -1196,7 +1196,7 @@ $computer->turnOn(); // Ouch! Beep beep! Loading.. Ready to be used! $computer->turnOff(); // Bup bup buzzz! Haah! Zzzzz ``` -## 🍃享元模式(Flyweight) +### 🍃享元模式(Flyweight) 现实生活中的例子: @@ -1280,7 +1280,7 @@ $shop->serve(); // Serving tea to table# 5 ``` -## 🎱代理模式(Proxy) +### 🎱代理模式(Proxy) 现实生活中的例子: > 你有没有用过门禁卡进门?打开该门有多种选择,即可以使用门禁卡或按下绕过安检的按钮打开。门的主要功能是打开,但在它上面添加了一个代理来添加一些功能。让我用下面的代码示例更好地解释它。 @@ -1363,7 +1363,7 @@ $door->close(); // Closing lab door 另一个例子是某种数据映射器实现。例如,我最近使用这种模式为 MongoDB 制作了一个 ODM(对象数据映射器),我在使用魔术方法`__call()`围绕 mongo 类编写了一个代理。所有方法调用被代理到原始 mongo 类,检索结果被原样返回。但在`find`或`findOne`的情况下,数据被映射到所需的类对象,返回这个对象来代替`Cursor`。 -# [](#behavioral-design-patterns)行为型设计模式 +## [](#behavioral-design-patterns)行为型设计模式 通俗解释: @@ -1384,7 +1384,7 @@ $door->close(); // Closing lab door * [状态模式(State)](#-state) * [模板方法模式(Template Method)](#-template-method) -## 🔗责任链模式(Chain Of Responsibilities) +### 🔗责任链模式(Chain Of Responsibilities) 现实生活中的例子: @@ -1489,7 +1489,7 @@ $bank->pay(259); // Paid 259 using Bitcoin! ``` -## 👮命令行模式(Command) +### 👮命令行模式(Command) 现实生活中的例子: @@ -1613,7 +1613,7 @@ $remote->submit($turnOff); // Darkness! 命令模式还可用于实现基于事务的系统。当你一执行命令就持续维持命令历史记录的情况下。如果成功执行了最后一个命令,一切都很好,否则只需要遍历历史记录持续在已经执行过的命令上执行`undo`。 -## ➿迭代器模式(Iterator) +### ➿迭代器模式(Iterator) 现实生活中的例子: @@ -1724,7 +1724,7 @@ foreach($stationList as $station) { $stationList->removeStation(new RadioStation(89)); // Will remove station 89 ``` -## 👽中介者模式(Mediator) +### 👽中介者模式(Mediator) 现实生活中的例子: @@ -1802,7 +1802,7 @@ $jane->send('Hey!'); // Feb 14, 10:58 [Jane]: Hey! ``` -## 💾备忘录模式(Memento) +### 💾备忘录模式(Memento) 现实生活中的例子: @@ -1894,7 +1894,7 @@ $editor->restore($saved); $editor->getContent(); // This is the first sentence. This is second. ``` -## 😎观察者模式(Observer) +### 😎观察者模式(Observer) 现实生活中的例子: @@ -1991,7 +1991,7 @@ $jobPostings->addJob(new JobPost('Software Engineer')); // Hi Jane Doe! New job posted: Software Engineer ``` -## 🏃访问者模式(Visitor) +### 🏃访问者模式(Visitor) 现实生活中的例子: @@ -2141,7 +2141,7 @@ $dolphin->accept($speak); // Tuut tutt tuutt! $dolphin->accept($jump); // Walked on water a little and disappeared ``` -## 💡策略模式(Strategy) +### 💡策略模式(Strategy) 现实生活中的例子: @@ -2220,7 +2220,7 @@ $sorter = new Sorter(new QuickSortStrategy()); $sorter->sort($dataset); // Output : Sorting using quick sort ``` -## 💢状态模式(State) +### 💢状态模式(State) 现实生活中的例子: @@ -2320,7 +2320,7 @@ $editor->type('Fifth line'); // fifth line ``` -## 📒模板方法模式(Template Method) +### 📒模板方法模式(Template Method) 现实生活中的例子: From 81dbfe9d4484c39a272f271aa30840c29380b12d Mon Sep 17 00:00:00 2001 From: yaozm Date: Tue, 30 Apr 2024 21:20:05 +0800 Subject: [PATCH 4/8] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E8=AE=BE=E8=AE=A1?= =?UTF-8?q?=E6=A8=A1=E5=BC=8F=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 46 +++++++++++++++++++++++----------------------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/README.md b/README.md index e49a5656..f44f2fff 100644 --- a/README.md +++ b/README.md @@ -14,31 +14,31 @@ - [注意](#注意) - [设计模式的类型](#设计模式的类型) - [创建型设计模式](#创建型设计模式) - - [🏠简单工厂模式(Simple Factory)](#简单工厂模式simple-factory) - - [🏭工厂方法模式(Factory Method)](#工厂方法模式factory-method) - - [🔨抽象工厂模式(Abstract Factory)](#抽象工厂模式abstract-factory) - - [👷建造者模式](#建造者模式) - - [🐑原型模式(Prototype)](#原型模式prototype) - - [💍单例模式(Singleton)](#单例模式singleton) + - [🏠简单工厂模式(Simple Factory)](#简单工厂模式simple-factory) + - [🏭工厂方法模式(Factory Method)](#工厂方法模式factory-method) + - [🔨抽象工厂模式(Abstract Factory)](#抽象工厂模式abstract-factory) + - [👷建造者模式](#建造者模式) + - [🐑原型模式(Prototype)](#原型模式prototype) + - [💍单例模式(Singleton)](#单例模式singleton) - [结构型设计模式](#结构型设计模式) - - [🔌适配器模式(Adapter)](#适配器模式adapter) - - [🚡桥梁模式(Bridge)](#桥梁模式bridge) - - [🌿组合模式(Composite)](#组合模式composite) - - [☕装饰模式(Decorator)](#装饰模式decorator) - - [📦门面模式(Facade)](#门面模式facade) - - [🍃享元模式(Flyweight)](#享元模式flyweight) - - [🎱代理模式(Proxy)](#代理模式proxy) + - [🔌适配器模式(Adapter)](#适配器模式adapter) + - [🚡桥梁模式(Bridge)](#桥梁模式bridge) + - [🌿组合模式(Composite)](#组合模式composite) + - [☕装饰模式(Decorator)](#装饰模式decorator) + - [📦门面模式(Facade)](#门面模式facade) + - [🍃享元模式(Flyweight)](#享元模式flyweight) + - [🎱代理模式(Proxy)](#代理模式proxy) - [行为型设计模式](#行为型设计模式) - - [🔗责任链模式(Chain Of Responsibilities)](#责任链模式chain-of-responsibilities) - - [👮命令行模式(Command)](#命令行模式command) - - [➿迭代器模式(Iterator)](#迭代器模式iterator) - - [👽中介者模式(Mediator)](#中介者模式mediator) - - [💾备忘录模式(Memento)](#备忘录模式memento) - - [😎观察者模式(Observer)](#观察者模式observer) - - [🏃访问者模式(Visitor)](#访问者模式visitor) - - [💡策略模式(Strategy)](#策略模式strategy) - - [💢状态模式(State)](#状态模式state) - - [📒模板方法模式(Template Method)](#模板方法模式template-method) + - [🔗责任链模式(Chain Of Responsibilities)](#责任链模式chain-of-responsibilities) + - [👮命令行模式(Command)](#命令行模式command) + - [➿迭代器模式(Iterator)](#迭代器模式iterator) + - [👽中介者模式(Mediator)](#中介者模式mediator) + - [💾备忘录模式(Memento)](#备忘录模式memento) + - [😎观察者模式(Observer)](#观察者模式observer) + - [🏃访问者模式(Visitor)](#访问者模式visitor) + - [💡策略模式(Strategy)](#策略模式strategy) + - [💢状态模式(State)](#状态模式state) + - [📒模板方法模式(Template Method)](#模板方法模式template-method) - [总结](#总结) - [贡献](#贡献) - [License](#license) From c9549b5e043a2756a9b547b078b08a793991b253 Mon Sep 17 00:00:00 2001 From: yaozm Date: Tue, 30 Apr 2024 21:28:16 +0800 Subject: [PATCH 5/8] =?UTF-8?q?=E8=B0=83=E6=95=B4BurgerBuilder=E7=B1=BB?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=A0=BC=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index f44f2fff..85f98e2e 100644 --- a/README.md +++ b/README.md @@ -489,10 +489,10 @@ class BurgerBuilder ```php $burger = (new BurgerBuilder(14)) - ->addPepperoni() - ->addLettuce() - ->addTomato() - ->build(); + ->addPepperoni() + ->addLettuce() + ->addTomato() + ->build(); ``` **什么时候使用?** From f847c4df44884797d9c8562ea74cd788a14642dd Mon Sep 17 00:00:00 2001 From: yaozm Date: Tue, 30 Apr 2024 21:33:33 +0800 Subject: [PATCH 6/8] =?UTF-8?q?=E6=9B=B4=E6=96=B0README=EF=BC=9A=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E4=BB=A3=E7=90=86=E6=A8=A1=E5=BC=8F=E8=A7=A3=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 85f98e2e..0adf7d17 100644 --- a/README.md +++ b/README.md @@ -1281,6 +1281,7 @@ $shop->serve(); ``` ### 🎱代理模式(Proxy) + 现实生活中的例子: > 你有没有用过门禁卡进门?打开该门有多种选择,即可以使用门禁卡或按下绕过安检的按钮打开。门的主要功能是打开,但在它上面添加了一个代理来添加一些功能。让我用下面的代码示例更好地解释它。 @@ -1744,7 +1745,6 @@ $stationList->removeStation(new RadioStation(89)); // Will remove station 89 首先,我们有中介,即聊天室 - ```php interface ChatRoomMediator { @@ -2210,6 +2210,7 @@ class Sorter 它可以用作 And it can be used as + ```php $dataset = [1, 5, 4, 3, 2, 8]; @@ -2325,11 +2326,11 @@ $editor->type('Fifth line'); 现实生活中的例子: > 假设我们正在建造一些房屋。构建的步骤可能看起来像 -> -> * 准备房子的基地 -> * 建造墙壁 -> * 添加屋顶 -> * 添加其他楼层 +> +> * 准备房子的基地 +> * 建造墙壁 +> * 添加屋顶 +> * 添加其他楼层 > 这些步骤的顺序永远不会改变,即在建造墙壁等之前不能建造屋顶,但是每个步骤都可以修改,例如墙壁可以由木头或聚酯或石头制成。 From ad711efade839138338c7a4fef9a3e4e2d94ca3a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 30 Apr 2024 21:48:53 +0000 Subject: [PATCH 7/8] Bump dependabot/fetch-metadata from 2.0.0 to 2.1.0 Bumps [dependabot/fetch-metadata](https://github.com/dependabot/fetch-metadata) from 2.0.0 to 2.1.0. - [Release notes](https://github.com/dependabot/fetch-metadata/releases) - [Commits](https://github.com/dependabot/fetch-metadata/compare/v2.0.0...v2.1.0) --- updated-dependencies: - dependency-name: dependabot/fetch-metadata dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/workflows/dependabot-auto-merge.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/dependabot-auto-merge.yml b/.github/workflows/dependabot-auto-merge.yml index 7f288365..5cb69c00 100644 --- a/.github/workflows/dependabot-auto-merge.yml +++ b/.github/workflows/dependabot-auto-merge.yml @@ -12,7 +12,7 @@ jobs: steps: - name: Dependabot metadata id: metadata - uses: dependabot/fetch-metadata@v2.0.0 + uses: dependabot/fetch-metadata@v2.1.0 with: github-token: "${{ secrets.GITHUB_TOKEN }}" From f7cfeccb8fd428c2f515e59366ca4efc3cc7c6e7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 5 Jul 2024 21:30:53 +0000 Subject: [PATCH 8/8] Bump dependabot/fetch-metadata from 2.1.0 to 2.2.0 Bumps [dependabot/fetch-metadata](https://github.com/dependabot/fetch-metadata) from 2.1.0 to 2.2.0. - [Release notes](https://github.com/dependabot/fetch-metadata/releases) - [Commits](https://github.com/dependabot/fetch-metadata/compare/v2.1.0...v2.2.0) --- updated-dependencies: - dependency-name: dependabot/fetch-metadata dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/workflows/dependabot-auto-merge.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/dependabot-auto-merge.yml b/.github/workflows/dependabot-auto-merge.yml index 5cb69c00..13d00c8d 100644 --- a/.github/workflows/dependabot-auto-merge.yml +++ b/.github/workflows/dependabot-auto-merge.yml @@ -12,7 +12,7 @@ jobs: steps: - name: Dependabot metadata id: metadata - uses: dependabot/fetch-metadata@v2.1.0 + uses: dependabot/fetch-metadata@v2.2.0 with: github-token: "${{ secrets.GITHUB_TOKEN }}"