发布 GB/T 9704-2012 公文排版技能

This commit is contained in:
mizzlelover
2026-09-09 20:19:21 +08:00
commit 2dd6729f07
14 changed files with 1212 additions and 0 deletions
+17
View File
@@ -0,0 +1,17 @@
# 公文格式回归测试
## 一、一级标题
这是正文自然段,用于验证仿宋三号、固定行距和首行缩进。
### (一)二级标题
这是二级标题后的正文。
#### 1. 三级标题
这是三级标题后的正文。
##### 1)四级标题
这是四级标题后的正文。
+31
View File
@@ -0,0 +1,31 @@
#!/bin/sh
set -eu
SKILL_DIR=$(CDPATH= cd -- "$(dirname -- "$0")/.." && pwd)
NODE=${NODE:-node}
TMP_DIR=$(mktemp -d "${TMPDIR:-/tmp}/gongwen-test.XXXXXX")
trap 'rm -rf "$TMP_DIR"' EXIT
GEN="$SKILL_DIR/scripts/generate_gongwen_docx.mjs"
VERIFY="$SKILL_DIR/scripts/verify_gongwen_docx.mjs"
FIXTURE="$SKILL_DIR/tests/fixture.md"
"$NODE" --check "$GEN"
"$NODE" --check "$VERIFY"
"$NODE" "$GEN" --input "$FIXTURE" --output "$TMP_DIR/layout.docx" --title "公文格式回归测试" --page-number center
"$NODE" "$VERIFY" --input "$TMP_DIR/layout.docx" --profile layout
unzip -t "$TMP_DIR/layout.docx" >/dev/null
"$NODE" "$GEN" --input "$FIXTURE" --output "$TMP_DIR/standard.docx" --org "示例单位文件" --doc-no "示例发〔20261号" --title "公文格式回归测试" --page-number standard
"$NODE" "$VERIFY" --input "$TMP_DIR/standard.docx" --profile standard-pages
unzip -p "$TMP_DIR/standard.docx" word/document.xml | grep -q '示例单位文件'
unzip -p "$TMP_DIR/standard.docx" word/document.xml | grep -q '示例发〔20261号'
if command -v soffice >/dev/null 2>&1; then
mkdir -p "$TMP_DIR/pdf"
soffice --headless --convert-to pdf --outdir "$TMP_DIR/pdf" "$TMP_DIR/layout.docx" >/dev/null 2>&1
test -s "$TMP_DIR/pdf/layout.pdf"
fi
printf '%s\n' "gongwen regression tests passed"
+26
View File
@@ -0,0 +1,26 @@
#!/usr/bin/env bash
set -euo pipefail
skill_dir=$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)
test_home=$(mktemp -d "${TMPDIR:-/tmp}/gongwen-install-test.XXXXXX")
trap 'rm -rf "$test_home"' EXIT
HOME="$test_home" "$skill_dir/scripts/install.sh" --all
for path in \
.codex/skills/gongwen \
.claude/skills/gongwen \
.config/opencode/skills/gongwen \
.trae-cn/skills/gongwen \
.traecli/skills/gongwen \
.kimi/skills/gongwen \
.kimi-code/skills/gongwen \
.workbuddy/skills/gongwen \
.zcode/skills/gongwen; do
test -L "$test_home/$path"
test -f "$test_home/$path/SKILL.md"
done
unzip -t "$skill_dir/dist/traework-gongwen-skill.zip" >/dev/null
unzip -l "$skill_dir/dist/traework-gongwen-skill.zip" | grep -q 'gongwen/SKILL.md'
printf '%s\n' 'cross-platform installation tests passed'