Varlıklar ve stil

sitelo Vite üzerine kuruludur, bu yüzden ön yüz JavaScript’i ve CSS’i kendiliğinden derlenir. Betikleri ve stilleri src/ altına koyun (örneğin src/js ve src/css), HTML’inizden kök göreli URL’lerle bağlayın; gerisini sitelo halleder — TypeScript, CSS içe aktarmaları, paketleme ve küçültme.

Proje düzeni

Sayfalar ve varlıklar src/ dizinini paylaşır. js/ ve css/ gibi klasörler birer kural, zorunluluk değil — sitelo klasör adlarını değil, HTML’inizin neye başvurduğunu önemser.

my-site/
  src/
    index.ht.js          # sayfa — HTML döndürür
    css/
      styles.css         # HTML’den bağlandı → paketlenir
    js/
      main.js            # HTML’den bağlandı → paketlenir
      counter.ts         # main.js içe aktardı → o da paketlenir
    lib/
      posts.js           # yalnızca data() içinde kullanılır → hiç yayımlanmaz
  public/
    favicon.ico          # olduğu gibi kopyalanır

Varlıkları HTML’den bağlamak

Dosyalara kök göreli yollarla başvurun. sitelo’ya o dosyayı derlemeye dahil etmesini söyleyen şey bir <script type="module"> ya da <link rel="stylesheet"> etiketidir:

import { html, head, title, link, script, body, h1, button } from 'javascript-to-html'

export default () =>
  html({ lang: 'tr' },
    head(
      title('Sitem'),
      link({ rel: 'stylesheet', href: '/css/styles.css' }),
      script({ type: 'module', src: '/js/main.js' }),
    ),
    body(
      h1('Merhaba'),
      button({ id: 'count' }, '0'),
    ),
  )
import { createCounter } from './counter.ts'

const button = document.querySelector('#count')
const next = createCounter()

button.addEventListener('click', () => {
  button.textContent = String(next())
})
@import './tokens.css';

body {
  font-family: system-ui, sans-serif;
  margin: 0;
  padding: 2rem;
}

Vite’ın derledikleri

PostCSS, Sass ya da başka Vite eklentileri mi gerekiyor? Bunları sitelo.config.js içindeki vite altına ekleyin.

Varsayılan olarak sıfır JS

Eksik varlık doğrulaması

Ne src/ ne de public/ içinde bulunan bir dosyayı gösteren bir <script src> ya da stil sayfası href değeri derlemeyi başarısız kılar. Uyarı mı tercih edersiniz?

export default {
  missingAssets: 'warn',
}