curl -fsSL https://antigravity.google/cli/install.sh | bashagy --version
mkdir -p ~/.antigravitymkdir -p ~/.agentsln -s /var/www/boilerplate/AGENTS.md ~/.antigravity/AGENTS.md
| <!doctype html> | |
| <html lang="de"> | |
| <head> | |
| <meta charset="utf-8"> | |
| <meta name="viewport" content="width=device-width, initial-scale=1"> | |
| <title>glow</title> | |
| <style> | |
| /* boilerplate */ | |
| * { | |
| box-sizing: border-box; |
| composer global require vildanbina/composer-upgrader | |
| composer upgrade-all | |
| composer update | |
| composer outdated -D --direct |
| <?php | |
| // smtp microsoft 365 exchange support | |
| add_filter( | |
| 'pre_wp_mail', | |
| function ($pre_wp_mail, $attributes) { | |
| $from_email = 'noreply@vielhuber.de'; | |
| $mailhelper = new \vielhuber\mailhelper\mailhelper([ | |
| $from_email => [ | |
| 'smtp' => [ | |
| 'host' => 'smtp.office365.com', |
| # auto switch | |
| find_up() { | |
| local file="$1" | |
| local dir="$PWD" | |
| while [[ "$dir" != "/" ]]; do | |
| if [[ -f "$dir/$file" ]]; then | |
| echo "$dir/$file" | |
| return 0 | |
| fi | |
| dir="$(dirname "$dir")" |
| // list voices | |
| speechSynthesis.getVoices().forEach(speech => { console.log(speech); }); | |
| // speak | |
| let message = new SpeechSynthesisUtterance('Verteidigungsminister Boris Pistorius hat die Berliner Ukraine-Gespräche mit Europäern und den USA gelobt.'); | |
| message.lang = 'de-DE'; | |
| message.voice = speechSynthesis.getVoices().filter(voice => voice.name === 'Google Deutsch')[0]; | |
| window.speechSynthesis.speak(message); | |
| // stop |
| <!doctype html> | |
| <html lang="de"> | |
| <head> | |
| <meta charset="utf-8" /> | |
| <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=5, minimum-scale=1" /> | |
| <title>Web Speech API</title> | |
| <script> | |
| class STT { | |
| static instances = []; |