cevap

21

Chrome uzantıları genellikle HTML/CSS/JS ile yapılır, bu yüzden ClojureScript, JavaScript'i derlediği için düzgün çalışmalıdır. Bununla birlikte, kimsenin henüz ClojureScript ile büyük bir uzantı oluşturduğunu düşünmüyorum. Kavramın bir kanıtı olarak, Zaboomafoo (bu isim için özür dilerim) diyecek basit bir uyarı uzantısının nasıl yapılacağına dair genel bir taslak olarak:

Önce Leiningen ve lein-cljsbuild'u yükleyin. Lein-cljsbuild için dokümanları okuyun ve projeler ve derleme için lein-cljsbuild'in nasıl kullanıldığını anlamak için wiki on ClojureScript'a bakın.

(ns Zaboomafoo.hello) 
(js/alert "Zaboomafoo") 

bir JavaScript dosyası almak için lein cljsbuild ile bu derleme:

böyle "Zoboomafoo" belirten bir uyarı görüntüleyen bir ClojureScript dosyası olun. Ardından, uzantı için temel bir HTML dosyası ve manifest.json ekleyin.

Zaboomafoo.html:

<!Doctype html> 
<html> 
    <head> 
     <title>Zaboomafoo!</title> 
    </head> 
    <body> 
     <script type="text/javascript" src="Zaboomafoo.js"></script> 
    </body> 
</html> 

manifest.json:

{ 
    "name": "Displays Zaboomafoo when opening a new tab", 
    "version": "0.1", 
    "incognito": "split", 
    "chrome_url_overrides": { 
    "newtab": "Zaboomafoo.html" 
    }, 
"manifest_version": 2 
} 

yeni manifest.json koyun yere bariz bir klasöre Zaboomafoo.html ve Zaboomafoo.js. Son olarak, krom uzantı sayfasına gidin, geliştirici modunu açın, paketlenmemiş uzantıyı yükleyin ve yeni bir sekme açın. Uzantı, sekmeyi açtığınızda rahatsız edici bir şekilde "Zaboomafoo" yazan bir uyarı yüklemelidir. Umarız tarayıcı uzantıları biraz daha popüler olur ancak bu genel akışdır.

-1

Örnek olarak tarayıcınızda clojure kodunu değerlendirmenize olanak veren, cljs ile yazılmış this chrome uzantısına bir göz atın.

+1

görünüyor değilim Bu proje (goranjovic/chromeclojure) gibi herhangi bir ClojureScript kullanmaz. Bunun yerine, Chrome uzantısı (düz JavaScript’te yazılır) seçilen Clojure kodunu harici bir Clojure JVM işlemine gönderir ve sonucu tarayıcıya döndürür. Bunun posterin aradığı şey olduğunu sanmıyorum. – Aaron

0

ClojureScript kullanarak bir Chrome uzantısı yazma amacına tam olarak this projesini başlattım.

greenyouse yanıtı size ClojureScript'te yeni başlayanlar olarak genel yönergeleri sağlarken, lein ve kullanarak sorun yaşadım ve önce temel kurulum için gitmeyi tercih ettim. Belki birisine yardım eder.

Sidenote: Bir şeyleri daha iyi anladığımda projemi lein ve cljsbuild'a geçirmeyi planlıyorum. Bu noktada bu cevabı güncelleyeceğim. https://github.com/binaryage/chromex

Destek: https://github.com/binaryage/chromex-sample

O Chromex kütüphanesini kullanır:

3

Ben sadece bazı belgelerle birlikte basit bir Chrome uzantı örnek proje yayımlandı kütüphanenin yazarı