Files
wehub-resource-sync 8cb1f9f479
Publish SDK (PyPI) / publish (push) Has been cancelled
Publish SDK (npm) / publish (@aionui/officecli-sdk) (push) Has been cancelled
SDK smoke / smoke (windows-latest) (push) Has been cancelled
Publish SDK (npm) / publish (@officecli/officecli-sdk) (push) Has been cancelled
Publish SDK (npm) / publish (@officecli/sdk) (push) Has been cancelled
Publish SDK (npm) / publish (officecli-sdk) (push) Has been cancelled
SDK smoke / smoke (macos-latest) (push) Has been cancelled
SDK smoke / smoke (ubuntu-latest) (push) Has been cancelled
Skill parity / diff (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 13:09:29 +08:00

75 lines
2.8 KiB
Bash
Executable File
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/bin/bash
# Band / strip transitions — the slide reveals through parallel bands,
# checkerboard squares, or diagonal strips.
#
# Orientation modifier (-horizontal / -vertical):
# blinds, venetian (alias for blinds), checker, checkerboard (alias),
# comb, bars, randombar (alias for bars)
#
# Corner direction (-leftup / -rightup / -leftdown / -rightdown):
# strips, diagonal (alias for strips)
#
# Orient + in/out (BOTH must be specified for explicit form):
# split-vertical-in, split-horizontal-out, ...
# Bare 'split' rounds back as 'split'; 'split-vertical' alone now
# defaults dir=in (canonical readback: split-vertical-in).
#
# Aliases land on the canonical token at readback time:
# checkerboard → checker, randombar → bars, diagonal → strips,
# venetian → blinds.
# NOTE: intentionally NO `set -e`. Like the SDK twin's doc.batch, this script
# tolerates forward-compat 'UNSUPPORTED props' warnings (officecli exit 2) and
# keeps building so the full document is produced.
DIR="$(dirname "$0")"
PPTX="$DIR/transitions-bands.pptx"
rm -f "$PPTX"
officecli create "$PPTX"
officecli open "$PPTX"
n=0
add_demo_slide() {
n=$((n+1))
local trans=$1 title=$2 bg=$3
officecli add "$PPTX" / --type slide
officecli add "$PPTX" "/slide[$n]" --type shape \
--prop x=0 --prop y=0 --prop width=33.87cm --prop height=19.05cm --prop fill="$bg"
officecli add "$PPTX" "/slide[$n]" --type shape \
--prop text="$title" --prop size=40 --prop bold=true --prop color=FFFFFF --prop align=center \
--prop x=2cm --prop y=7cm --prop width=29.87cm --prop height=4cm
if [ -n "$trans" ]; then officecli set "$PPTX" "/slide[$n]" --prop transition="$trans"; fi
}
add_demo_slide "" "Band Transitions" "1F3864"
# Orientation: vertical vs horizontal
for combo in blinds-horizontal blinds-vertical \
checker-horizontal checker-vertical \
comb-horizontal comb-vertical \
bars-horizontal bars-vertical; do
add_demo_slide "$combo" "$combo" "2E5C8A"
done
# Strips: 4 corner directions
for d in leftup rightup leftdown rightdown; do
add_demo_slide "strips-$d" "strips-$d" "4F7C3A"
done
# Split: orient × in/out matrix
for orient in horizontal vertical; do
for io in in out; do
add_demo_slide "split-$orient-$io" "split-$orient-$io" "8A5A2B"
done
done
# Alias demo — same XML, different input spelling
add_demo_slide "venetian-vertical" "venetian-vertical (alias → blinds)" "7030A0"
add_demo_slide "checkerboard-vertical" "checkerboard-vertical (alias → checker)" "7030A0"
add_demo_slide "randombar-vertical" "randombar-vertical (alias → bars)" "7030A0"
add_demo_slide "diagonal-leftdown" "diagonal-leftdown (alias → strips)" "7030A0"
officecli close "$PPTX"
officecli validate "$PPTX"
echo "Created: $PPTX"