astra-studio
v0.1.0
Published
Astra Studio "Odanda Gör" widget'ını web sitenize tek komutla kurar.
Maintainers
Readme
astra-studio
Astra Studio "Odanda Gör" widget'ını web sitenize tek komutla kurar.
npx astra-studio init --brand <marka-slug>Araç projenizi tanır, eklenecek satırı renkli bir önizleme olarak gösterir ve onayınızı alır.
Komutlar
| Komut | Açıklama |
| --- | --- |
| npx astra-studio init --brand <slug> | Widget kodunu ekler; zaten varsa marka/adresi günceller (tekrar eklemez) |
| npx astra-studio remove | Eklenen kodu her yerden kaldırır |
| npx astra-studio doctor | Kodun hangi dosyalarda olduğunu ve widget.js adresine erişilebildiğini kontrol eder |
Seçenekler
--brand <slug>— Marka kısa adı (küçük harf, rakam, tire). Verilmezse sorulur.--site <url>— Astra Studio adresi (varsayılanhttps://astrastudio.space).--yes,-y— Onay sormadan uygula.--dry-run— Yalnızca değişiklikleri göster.--cwd <klasör>— Proje klasörü.--help,--version
Desteklenen projeler
| Proje | Değişen dosya |
| --- | --- |
| Next.js App Router | app/layout.* — next/script ile <Script strategy="afterInteractive"> |
| Next.js Pages Router | pages/_document.* <Head> içi (yoksa oluşturulur) |
| Vite / CRA | index.html veya public/index.html |
| Nuxt | nuxt.config.* → app.head.script |
| Astro | src/layouts altında </head> içeren düzen |
| SvelteKit | src/app.html |
| Statik site | </head> içeren tüm .html dosyaları (node_modules, dist, build hariç) |
| WordPress teması | header.php (ayrıca functions.php için wp_enqueue_script önerisi) |
| Shopify teması | layout/theme.liquid |
| Magento 2 teması | app/design/frontend/<Vendor>/<tema>/Magento_Theme/layout/default_head_blocks.xml (yoksa oluşturulur) |
| Shopware 6 teması | src/Resources/views/storefront/layout/meta.html.twig → layout_head_javascript_tracking bloğu, {{ parent() }} korunur (yoksa oluşturulur; custom/plugins/* de taranır) |
| PrestaShop teması | themes/<tema>/templates/_partials/head.tpl sonuna |
| Joomla şablonu | templates/<şablon>/index.php → </head> öncesi |
| Drupal teması | themes/custom/<tema>/templates/html.html.twig ya da templates/layout/html.html.twig → </head> öncesi (web/ ve docroot/ altında da aranır) |
Satır sonları (CRLF/LF) ve girinti korunur.
Tema tabanlı altyapılarla ilgili notlar
- Magento 2:
default_head_blocks.xmliçindeki<script src="…"/>öğesidata-brandgibidata-*öznitelikleri yazamaz. Bu yüzden<body>bölümündehead.additionalbloğuna, etiketi olduğu gibi basan birMagento\Framework\View\Element\Textbloğu (astra.studio.widget) eklenir. Ardındanbin/magento cache:flush. - Shopware 6:
layout_head_javascript_trackingbloğubase.html.twig'de değil,<head>'i içerenlayout/meta.html.twig'de tanımlıdır; bu yüzden o dosyasw_extendsile genişletilir. Blok temada zaten varsa kod{{ parent() }}satırından sonra eklenir. Ardındanbin/console theme:compilevebin/console cache:clear. - Drupal: Temada
html.html.twigyoksa komut dosya oluşturmaz;core/modules/system/templates/html.html.twigdosyasını temaya kopyalayıp tekrar çalıştırın. Ardındandrush cr. - Çok satırlı eklemeler
astra-studio:start/astra-studio:endyorumları arasında durur;removebu aralığı, komutun oluşturduğu dosyaları ise tamamen siler.
Çıkış kodları
0 başarılı · 1 genel hata · 2 hatalı kullanım · 3 proje tanınmadı · 4 kod bulunamadı · 5 iptal · 6 widget.js'e erişilemedi
Gereksinim: Node.js 18 veya üzeri.
