在文章Embedding Kotlin Playground中,我們可以看到很多可以執行的Kotlin程式碼。然而文中我們只能看到實際應用的效果,到底該怎麼去應用這個功能呢,下面作簡單的介紹。
HTML
首先在頁面加入這行
1 |
<script src="https://unpkg.com/kotlin-playground@1"></script> |
data-selector
的語法類似於jquery中的選擇器,這裡”.kotlin-code”意為class=”kotlin-code”的html元素所包裹的內容將被轉換為一段可執行的kotlin程式碼,注意被包裹的程式碼中尖括號及引號的編碼。如下:
1 2 3 4 5 6 7 8 9 |
<script src="https://unpkg.com/kotlin-playground@1" data-selector=".kotlin-code" data-selector=".kotlin-code"></script> <div class="kotlin-code"> class Contact(val id: Int, var email: String) fun main(args: Array<String>) { val contact = Contact(1, "mary@gmail.com") println(contact.id) } </div> |
fun main(args: Array<String>) {
val contact = Contact(1, "mary@gmail.com")
println(contact.id)
}
當你的編碼有錯誤時,會有紅色波浪線或直接變紅標示錯誤的地方,滑鼠移上去還會有錯誤提示,還挺方便,如下(注意點選執行後ontact變紅了):
1 2 3 4 5 6 7 8 9 |
<script src="https://unpkg.com/kotlin-playground@1" data-selector=".kotlin-code" data-selector=".kotlin-code"></script> <div class="kotlin-code"> class Contact(val id: Int, var email: String) fun main(args: Array<String>) { val contact = ontact(1, "mary@gmail.com") println(contact.id) } </div> |
fun main(args: Array<String>) {
val contact = ontact(1, "mary@gmail.com")
println(contact.id)
}
如果你不指定data-selector
的話,需要透過這樣一段程式碼來指定哪一個元素需要被轉換
1 2 3 4 5 |
<script> document.addEventListener('DOMContentLoaded', function() { KotlinPlayground('.kotlin-code'); }); </script> |
同時可以在被選擇的標籤中新增data-min-compiler-version
、data-target-platform
、data-js-libs
、data-highlight-only
等屬性啟用不同的功能,前三個屬性需要指定進一步的取值,如
1 2 3 4 5 |
<div class="kotlin-code" data-target-platform="js"> fun main(args: Array<String>) { print("Hello World!"); } </div> |
print("Hello World!");
}
data-highlight-only
則可以建立一段不能執行只作展示的Kotlin程式碼
1 2 3 4 5 |
<div class="kotlin-code" data-target-platform="js" data-highlight-only> fun main(args: Array<String>) { print("Hello World!"); } </div> |
print("Hello World!");
}
在程式碼中新增//sampleStart
、//sampleEnd
可以將這兩段註釋包裹以外的內容被摺疊起來,如:
1 2 3 4 5 6 7 |
<div class="kotlin-code"> fun main(args: Array<String>) { //sampleStart print("Hello World!"); //sampleEnd } </div> |
//sampleStart
print("Hello World!");
//sampleEnd
}
滑鼠移向程式碼區域上邊界的”+”號標誌,點選則可展示被摺疊的內容。如果不想讓讀者看到被摺疊的內容,則應用屬性folded-button="false"
即可
1 2 3 4 5 6 7 |
<div class="kotlin-code" folded-button="false"> fun main(args: Array<String>) { //sampleStart print("Hello World!"); //sampleEnd } </div> |
//sampleStart
print("Hello World!");
//sampleEnd
}
WordPress外掛
除了在Html頁面中應用這個功能外,官方還提供了一個wp外掛,可以在wp博文中輕鬆應用這個環境。但功能較少,優勢是終於可以正常書寫尖括號及引號了。安裝完外掛後,博文裡新增以下內容即可:
1 2 3 4 5 |
[kotlin] fun main(args: Array<String>) { print("Hello, World!") } [/kotlin] |
目前提供3個配置項
runnable="true|false"
、folded-button="true|false"
、platform="java|js|junit|canvas"
。同時也可以用//sampleStart
、//sampleEnd
包裹不需要摺疊的程式碼,如下:
1 2 3 4 5 6 7 |
[kotlin folded-button="false"] fun main(args: Array<String>) { //sampleStart print("Hello, World!") //sampleEnd } [/kotlin] |
That’s All~