[READ-ONLY] Mirror of https://github.com/sxzz/hanji. 一字之間,照見五地字形 hanji.sxzz.moe
chinese-characters cjk han hanja hanji hanzi kanji
Something went wrong. Try again.
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182#!/usr/bin/env bash
set -euo pipefail
: "${CODEX_WORKTREE_PATH:?CODEX_WORKTREE_PATH is not set}"
source_tree="${CODEX_SOURCE_TREE_PATH:-$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/.." && pwd -P)}"source_assets="$source_tree/app/assets"source_raw="$source_tree/data/raw"worktree_assets="$CODEX_WORKTREE_PATH/app/assets"worktree_raw="$CODEX_WORKTREE_PATH/data/raw"source_fonts="$source_tree/public/fonts"worktree_fonts="$CODEX_WORKTREE_PATH/public/fonts"source_notices="$source_tree/public/notices"worktree_notices="$CODEX_WORKTREE_PATH/public/notices"
if [[ ! -d "$CODEX_WORKTREE_PATH" ]]; then echo "Worktree does not exist: $CODEX_WORKTREE_PATH" >&2 exit 1fi
shopt -s nullglobdata_files=( "$source_assets/data/chars.json")stroke_shards=("$source_assets"/strokes/[0-9a-f][0-9a-f].json)font_binaries=("$source_fonts"/*.woff2)font_stylesheets=("$source_fonts"/fonts-*.css)notice_files=( "$source_notices/data-sources.md" "$source_notices/noto-ofl.txt" "$source_notices/animcjk-APL.txt" "$source_notices/animcjk-COPYING.txt")face_marks="$source_tree/app/generated/face-marks.ts"
complete=truefor file in "${data_files[@]}" "${notice_files[@]}" "$face_marks"; do if [[ ! -f "$file" ]]; then complete=false break fidone
if ( [[ "$complete" != true ]] || ((${#stroke_shards[@]} != 32)) || ((${#font_binaries[@]} == 0)) || ((${#font_stylesheets[@]} != 4))); then complete=falsefi
if [[ "$complete" == true ]]; then mkdir -p \ "$worktree_assets/data" \ "$worktree_assets/strokes" \ "$worktree_fonts" \ "$worktree_notices" cp -p "${data_files[@]}" "$worktree_assets/data/" cp -p "${stroke_shards[@]}" "$worktree_assets/strokes/" cp -p \ "${font_binaries[@]}" \ "${font_stylesheets[@]}" \ "$worktree_fonts/" cp -p "${notice_files[@]}" "$worktree_notices/" cp -p "$face_marks" "$CODEX_WORKTREE_PATH/app/generated/face-marks.ts"else echo "No complete data build found in $source_tree; rebuilding it in the worktree." if [[ -d "$source_raw" && "$source_raw" != "$worktree_raw" ]]; then mkdir -p "$worktree_raw" cp -Rp "$source_raw/." "$worktree_raw/" fifi
cd "$CODEX_WORKTREE_PATH"pnpm install --frozen-lockfile
if [[ "$complete" != true ]]; then pnpm build:datafi