Skip to main content

Posts

Mastering Google Apps Script: A Professional TypeScript Workflow

Building a robust backend on Google Apps Script requires moving beyond the built-in browser editor. For complex projects like the infrastructure powering Antinna, we need a modern development environment that enforces Clean Architecture and DRY principles. In this comprehensive guide, we will set up a professional workflow using TypeScript for type safety, esbuild for lightning-fast bundling, and clasp for automated deployment. 📖 Quick Navigation 1. The Directory Structure 2. Project Metadata & Dependencies 3. TypeScript Configuration 4. Pre-build Cleanup 5. The Esbuild Engine 6. The Clasp Bridge 7. The Project Manifest 8. Execution Commands 1. The Directory Structure A clean architecture begins with a clean file system. We strictly separate our source code ( src ) from the compiled output ( dist ). Note tha...
Recent posts

The Ultimate Guide: Hosting a Firebase Service Worker on Blogger via Cloudflare (~ Zero-CPU)

Adding progressive web app (PWA) features like background push notifications to a Google Blogger site has historically been an uphill battle. The core issue? Browsers demand that your background communication engine ( firebase-messaging-sw.js ) must live at the absolute root directory of your custom domain (e.g., yourdomain.com/firebase-messaging-sw.js ) to securely manage the site's network scope. Because Blogger is a completely managed platform, it lacks a traditional file directory system. You cannot simply upload a raw JavaScript file to your root path. If you try hosting it on an external CDN or storage bucket, the browser will instantly block it due to strict Service Worker cross-origin security protocols. The Architecture Strategy We bypass this platform limitation using Cloudflare Workers as an edge routing layer. By proxying your domain traffic through Cloudflare, we can intercept the exact path your service worker requires and dynamically inject t...

Level Up Your SEO: Type-Safe JSON-LD with @antinna/schema-ld-types

Building structured data for search engines just got a lot safer. When you are injecting dynamic SEO metadata or serializing complex search data for rich snippets, a single typo can cause Google to entirely ignore your markup. Enter @antinna/schema-ld-types : a comprehensive, fully type-safe library tailored for Schema.org JSON-LD objects. Whether you are building a headless CMS, an e-commerce storefront, or a dynamic blog, this package ensures both runtime and compile-time accuracy for your structured data pipelines, completely eliminating silent SEO failures before they reach production. The Problem with Raw JSON-LD Search engines are incredibly strict about schema structures. If you misspell jobTitle as jobtitle , or forget to declare an @type on a deeply nested organization object, Google Search Console will flag it as an error and strip your page of its Rich Snippet eligi...

Build Blogger XML Themes with Dart

If you have ever tried building or customizing a Blogger (Blogspot) theme from scratch, you know the struggle. Managing massive, unstructured XML files and mixing standard HTML with Blogger's proprietary tags quickly devolves into a frustrating maintenance nightmare. Enter blogger_theme —a robust Dart package designed to bring structure, strict type safety, and a modern component-based architecture to Blogger theme development. 📖 Quick Navigation 1. Why Choose blogger_theme? 2. Getting Started & Core Example 3. Under the Hood 4. Advanced: Handling Loops 1. Why Choose blogger_theme ? Component-Based Architecture: Break your complex layouts down into modular, reusable components, bringing the clean developer experience (DX) of modern frameworks like Flutter or React straight to Blogger. Type-Safe Blogger Tags: Catch missing attributes ...

Android CLI: Beyond the IDE

Agent-First Workflows Android CLI Command Reference The Android CLI is a unified developer interface architected to standardize environment control, workspace orchestration, and execution capabilities for standalone developer loops and automated AI agents. It serves as an optimized runtime engine connecting local projects directly to official tools, execution layers, and the centralized Android Knowledge Base . Quick Navigation Index Setup & Init Telemetry Scopes Global Option Flags Workspace Scaffolding Agent Systems Device & Vision Layers Toolchain & SDK IDE Deep Integration Installation & Global Setup Follow these structural phases to establish the system binary paths and expose core system hooks to target development execution layers. Phase 1 Bina...
Contact: