diff --git a/.gitea/workflows/deploy-docs.yml b/.gitea/workflows/deploy-docs.yml deleted file mode 100644 index d30b2b65..00000000 --- a/.gitea/workflows/deploy-docs.yml +++ /dev/null @@ -1,67 +0,0 @@ -# 构建 VitePress 站点并将其部署到 GitHub Pages 的示例工作流程 -# -name: Deploy VitePress site to Pages - -on: - # 在针对 `main` 分支的推送上运行。如果你 - # 使用 `master` 分支作为默认分支,请将其更改为 `master` - push: - branches: [main] - - # 允许你从 Actions 选项卡手动运行此工作流程 - workflow_dispatch: - -# 设置 GITHUB_TOKEN 的权限,以允许部署到 GitHub Pages -permissions: - contents: write - -# 只允许同时进行一次部署,跳过正在运行和最新队列之间的运行队列 -# 但是,不要取消正在进行的运行,因为我们希望允许这些生产部署完成 - -jobs: - # 构建工作 - build: - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v4 - with: - fetch-depth: 0 # 如果未启用 lastUpdated,则不需要 - # - uses: pnpm/action-setup@v3 # 如果使用 pnpm,请取消注释 - # - uses: oven-sh/setup-bun@v1 # 如果使用 Bun,请取消注释 - - name: Setup Python - uses: actions/setup-python@v2 - with: - python-version: '3.11' - - - name: Setup API markdown - run: |- - python -m pip install litedoc - litedoc liteyuki -o docs/zh/dev/api -l zh-Hans -cd class -fd func -md func -vd var -cs -bu https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/ - litedoc liteyuki -o docs/en/dev/api -l en -cd class -fd func -md func -vd var -cs -bu https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/ - - - name: 安装 pnpm - uses: pnpm/action-setup@v2 - with: - run_install: true - version: 8 - - - name: 设置 Node.js - run: |- - cd docs - pnpm install - - - name: 构建文档 - env: - NODE_OPTIONS: --max_old_space_size=8192 - run: |- - cd docs - pnpm run docs:build - > .vitepress/dist/.nojekyll - - - name: 部署文档 - uses: JamesIves/github-pages-deploy-action@v4 - with: - # 这是文档部署到的分支名称 - branch: docs - folder: docs/.vitepress/dist diff --git a/.github/ISSUE_TEMPLATE/resource_publish_zh.yml b/.github/ISSUE_TEMPLATE/resource_publish_zh.yml index f9bd40fe..5cbbca7f 100644 --- a/.github/ISSUE_TEMPLATE/resource_publish_zh.yml +++ b/.github/ISSUE_TEMPLATE/resource_publish_zh.yml @@ -1,7 +1,7 @@ name: 发布资源 -title: "Plugin: {name}" +title: "Resource: {name}" description: 发布资源到轻雪机器人官方商店 -labels: ["Resource"] +labels: [ "Resource" ] body: - type: input id: name @@ -20,7 +20,7 @@ body: placeholder: e.g. 使渲染卡片的样式更美观 validations: required: true - + - type: input id: author attributes: @@ -29,7 +29,7 @@ body: placeholder: e.g. snowykami validations: required: true - + - type: input id: link attributes: @@ -38,7 +38,7 @@ body: placeholder: e.g. https://aaa.com/r.zip validations: required: true - + - type: input id: homepage attributes: diff --git a/.github/ISSUE_TEMPLATE/zh/resource_publish.yml b/.github/ISSUE_TEMPLATE/zh/resource_publish.yml deleted file mode 100644 index 4014975c..00000000 --- a/.github/ISSUE_TEMPLATE/zh/resource_publish.yml +++ /dev/null @@ -1,43 +0,0 @@ -name: 发布插件 -title: "Plugin: {name}" -description: 发布插件到 NoneBot 官方商店 -labels: ["Plugin"] -body: - - type: input - id: pypi - attributes: - label: PyPI 项目名 - description: PyPI 项目名 - placeholder: e.g. nonebot-plugin-xxx - validations: - required: true - - - type: input - id: module - attributes: - label: 插件 import 包名 - description: 插件 import 包名 - placeholder: e.g. nonebot_plugin_xxx - validations: - required: true - - - type: input - id: tags - attributes: - label: 标签 - description: 标签 - placeholder: 'e.g. [{"label": "标签名", "color": "#ea5252"}]' - value: "[]" - validations: - required: true - - - type: textarea - id: config - attributes: - label: 插件配置项 - description: 插件配置项 - render: dotenv - placeholder: | - # e.g. - # KEY=VALUE - # KEY2=VALUE2 diff --git a/liteyuki_flow/markdown_parser.py b/liteyuki_flow/markdown_parser.py index faf1cfcc..575c7873 100644 --- a/liteyuki_flow/markdown_parser.py +++ b/liteyuki_flow/markdown_parser.py @@ -3,11 +3,11 @@ """ from typing import Any +from github.Issue import Issue + from liteyuki_flow.typ import Nil, err, nil # type: ignore - - # # xxx class Header: def __init__(self, level: int, content: str): @@ -137,3 +137,10 @@ class MarkdownParser: self._parsed = True return self._content_list, nil + + +# 解析资源发布issue体 +def parse_resource_publish_info(issue: Issue) -> dict[str, str]: + parser = MarkdownParser(issue.body) + parser.parse_front_matters() + return parser.front_matters \ No newline at end of file diff --git a/liteyuki_flow/resource_handler.py b/liteyuki_flow/resource_handler.py index 1d4a21e7..3802cc81 100644 --- a/liteyuki_flow/resource_handler.py +++ b/liteyuki_flow/resource_handler.py @@ -17,7 +17,7 @@ from liteyuki_flow.typ import err, nil user_agent = "liteyuki-flow" headers = { - "User-Agent": user_agent + "User-Agent": user_agent } @@ -121,14 +121,6 @@ def pre_check(github: Github, issue: Issue, repo: Repository) -> err: def add_resource(github: Github, issue: Issue, repo: Repository) -> err: # 检测关闭时是否有管理员发布的通过评论 try: - # closed_by = issue.closed_by - # if closed_by is None: - # print(issue.closed_by) - # push_publish_result(issue, "❌ 无法获取关闭者信息。") - # return ValueError("无法获取关闭者信息。") - # if not any([True for u in repo.get_collaborators() if u.login == closed_by.login]): - # push_publish_result(issue, "❌ 你不是仓库管理员,无法发布资源包。") - # return ValueError("你不是仓库管理员,无法发布资源包。") if "pre-checked" not in [l.name for l in issue.labels]: issue.edit(state="open") push_publish_result(issue, "❌ 请先通过预检查。") @@ -159,22 +151,22 @@ def add_resource(github: Github, issue: Issue, repo: Repository) -> err: # 编辑仓库内的json文件 resources = json.load(open(RESOURCE_JSON)) resources.append({ - "name" : name, - "description": desc, - "link" : link, - "homepage" : homepage, - "author" : author + "name": name, + "description": desc, + "link": link, + "homepage": homepage, + "author": author }) ref = repo.get_git_ref("heads/main") tree = repo.create_git_tree( base_tree=repo.get_git_commit(ref.object.sha).tree, tree=[ - InputGitTreeElement( - path=RESOURCE_JSON, - mode="100644", - type="blob", - content=json.dumps(resources, indent=4, ensure_ascii=False) - ) + InputGitTreeElement( + path=RESOURCE_JSON, + mode="100644", + type="blob", + content=json.dumps(resources, indent=4, ensure_ascii=False) + ) ] ) commit = repo.create_git_commit(