1
0

项目:quartz 发布

This commit is contained in:
周中平 2024-01-10 16:40:48 +08:00
parent 031b845f81
commit e31131008e
Signed by: zhouzhongping
GPG Key ID: 6666822800008000
3 changed files with 71 additions and 6 deletions

View File

@ -0,0 +1,57 @@
name: Build and Deploy Quartz Site
on:
push:
branches: [ dev ]
jobs:
build-and-deploy:
runs-on: ubuntu-latest
steps:
# 使用 Git 克隆 Quartz 仓库到指定目录
- name: Clone Quartz repository (quartz)
run: git clone https://${{ secrets.GIT_PUSH_PULL_TOKEN }}@git.7wate.com/zhouzhongping/quartz-wiki.git /wiki/quartz
# 克隆 Wiki 仓库到 Quartz 项目的 content 目录
- name: Check out repository (Wiki)
run: git clone https://${{ secrets.GIT_PUSH_PULL_TOKEN }}@git.7wate.com/zhouzhongping/wiki.git /wiki/quartz/content
# 设置 Node.js 环境
- name: Set up Node.js
uses: actions/setup-node@v2
with:
node-version: '20'
- name: Install Quartz dependencies and Build site
run: |
# 进入 Quartz 项目目录,安装依赖并构建网站
cd /wiki/quartz
npm ci
npx quartz build
# 创建 public 目录并复制构建结果到此目录
mkdir -p /wiki/public/ && cp -r public/* /wiki/public/
- name: Deploy to HTML branch of current repository (A仓库)
run: |
# 设置 Git 用户名和邮箱
git config --global user.name "Actions"
git config --global user.email "Actions@7wate.com"
# 在 public 目录下初始化 git 仓库
cd /wiki/public/
git init
# 添加远程仓库地址
git remote add origin https://${{ secrets.GIT_PUSH_PULL_TOKEN }}@git.7wate.com/zhouzhongping/wiki.git
# 添加所有文件并提交
git add .
# 获取当天日期作为提交信息
DATE=`date '+%Y-%m-%d'`
git commit -m "Deploy HTML files - $DATE"
# 强制推送到远程的 html 分支
git push origin quartz --force

View File

@ -37,9 +37,9 @@ date: 2023-07-17
> 在Python中函数用*args来获取不确定数量的参数算是一种经典写法了。
> seq[start:stop:step]进行求值的时候Python会调用seq.__getitem__(slice(start, stop, step))。
> `seq[start:stop:step]`进行求值的时候Python会调用`seq.__getitem__(slice(start, stop, step))`
> 如果在a * n这个语句中序列a里的元素是对其他可变对象的引用的话你就需要格外注意了因为这个式子的结果可能会出乎意料。比如你想用my_list=[[]] * 3来初始化一个由列表组成的列表但是你得到的列表里包含的3个元素其实是3个引用而且这3个引用指向的都是同一个列表。这可能不是你想要的效果。
> 如果在a * n这个语句中序列a里的元素是对其他可变对象的引用的话你就需要格外注意了因为这个式子的结果可能会出乎意料。比如你想用`my_list=[[]] * 3`来初始化一个由列表组成的列表但是你得到的列表里包含的3个元素其实是3个引用而且这3个引用指向的都是同一个列表。这可能不是你想要的效果。
> Python Tutor是一个对Python运行原理进行可视化分析的工具
@ -65,7 +65,7 @@ date: 2023-07-17
> 接受函数为参数或者把函数作为结果返回的函数是高阶函数higher-order function
> all(iterable)如果iterable的每个元素都是真值返回Trueall([])返回True。any(iterable)只要iterable中有元素是真值就返回Trueany([])返回False。
> all(iterable)如果iterable的每个元素都是真值返回True`all([])`返回True。any(iterable)只要iterable中有元素是真值就返回True`any([])`返回False。
> Python简单的句法限制了lambda函数的定义体只能使用纯表达式。换句话说lambda函数的定义体中不能赋值也不能使用while和try等Python语句。

View File

@ -148,11 +148,19 @@ root@debian:~$ ip link set dev ens32 up
### NetworkManager
NetworkManager 是一款在 Linux 操作系统上用于管理网络连接的软件,最初由 Red Hat 公司开发。NetworkManager 的首个版本发布于 2004 年,之后迅速成为了 **Linux 操作系统中最流行的网络管理工具之一。**在 NetworkManager 诞生之前,**Linux 中的网络管理需要手动配置网络文件,使得网络配置繁琐、困难且容易出错。**随着 NetworkManager 的发展和普及,用户可以更加方便地配置和管理网络,从而提高了 Linux 操作系统的易用性
NetworkManager是由Red Hat公司开发的一款用于管理Linux操作系统上网络连接的软件。自2004年首次发布以来它迅速成为Linux操作系统中最流行的网络管理工具之一。在NetworkManager诞生之前Linux中的网络管理通常需要通过手动配置网络文件完成这一过程不仅繁琐且易出错但随着NetworkManager的出现这一切都变得简单和直观
NetworkManager 的工作原理是通过插件和 D-Bus 通信机制实现。插件用于处理特定类型的网络连接,例如 Wi-Fi、以太网、PPP 等等。当用户启动 NetworkManager 后它会扫描系统中可用的网络连接并调用相应的插件进行配置。在用户连接到一个新的网络时NetworkManager 会自动识别网络类型,并根据相应的插件进行设置。
#### 架构和工作原理
NetworkManager 的核心功能是管理网络连接和网络接口。它提供了许多命令行工具和 GUI 工具使得用户可以轻松地添加、修改、启用和禁用网络连接。当用户添加或修改一个网络连接时NetworkManager 会自动更新相关的配置文件,从而保证网络设置的一致性和正确性。
NetworkManager展现了其在管理网络连接和网络接口方面的核心能力提供了一整套综合工具大大简化了网络设置的复杂性。用户得以轻松添加、修改、启用或禁用各类网络连接包括有线和无线网络乃至虚拟私人网络VPN。其核心由负责监控和管理网络的后台守护进程、提供直观操作的图形界面以及功能强大的命令行界面组成还包括管理设备驱动和处理连接请求的高效后端服务。在用户进行网络设置调整时NetworkManager自动更新相关配置文件确保网络设置的一致性和准确性得到坚实保障。借助灵活的插件体系和高效的D-Bus通信机制NetworkManager能够轻松处理多种类型的网络连接将配置和管理过程自动化从而提供了一个无缝、直观且高度可靠的网络管理解决方案。
#### nmcli
`nmcli`是NetworkManager的命令行界面提供了全面的功能来管理网络。用户可以通过它快速创建、修改和监控网络连接。无论是列出网络设备状态管理网络连接设置静态IP还是管理VPN和其他特殊连接`nmcli`都能提供强大支持。
#### nmtui
对于那些偏好图形界面或在终端中工作的用户,`nmtui`提供了一个简单直观的解决方案。这个交互式的文本界面应用使得配置NetworkManager控制的网络设置变得轻松。它的直观操作和无需鼠标的特性使得`nmtui`成为SSH会话和终端窗口中理想的网络管理工具。
#### 命令