INNER CODE UNIT · Python
percent
WenyuChiou/awesome-agentic-ai-zh · scripts/build-banner.py:174
def percent(seconds):
return f"{seconds / 18 * 100:.4f}%"
def animation_css(locale):
css = [".dot,.halo{opacity:0}.dot{offset-rotate:0deg}"]
for (name, route, start, end), path in zip(EDGES, PATHS[locale], strict=True):
css.append(f'.dot-{name}{{offset-path:path("{path}");animation:travel-{name} 18s linear infinite}}')
css.append(f'@keyframes travel-{name}{{0%,{percent(start-.001)}{{opacity:0;offset-distance:0%}}'
f'{percent(start)}{{opacity:1;offset-distance:0%}}'
f'{percent(end)}{{opacity:1;offset-distance:100%}}'
f'{percent(end+.001)},100%{{opacity:0;offset-distance:100%}}}}')
for name, windows in WINDOWS.items():
css.append(f'.halo-{name}{{animation:light-{name} 18s linear infinite}}')
frames = ['0%,100%{opacity:0}']
for start, end in windows:
frames.extend([f'{percent(start)}{{opacity:0}}', f'{percent(start+.12)}{{opacity:.8}}',
f'{percent(end-.12)}{{opacity:.8}}', f'{percent(end)}{{opacity:0}}'])