Gradle构建脚本样本现在有Kotlin DSL片段,与Gradle 5.0 docs和许多Gradle指南中的Groovy片段一起。
我们希望你能在你的READMEs和基于Web的文档中显示这两种DSL,所以这篇文章展示了你在GitHub和网站上显示多语言示例的方法。
GitHub上的Groovy和Kotlin DSL示例
很难找到没有README.md 或README.adoc 的OSS项目。虽然没有很多方法可以让这些README页面互动起来,但我们可以在Markdown或Asciidoc中使用<details> 和<summary> 的HTML元素,实现一点互动性,但又避免了有多个后续样本在视野中的啰嗦。
使用这些代码片断在GitHub上显示多语言片断。
<details open>
<summary>Groovy</summary>
```groovy
logging.captureStandardOutput LogLevel.INFO
println 'A message which is logged at INFO level'
```
</details>
<details>
<summary>Kotlin</summary>
```kotlin
logging.captureStandardOutput(LogLevel.INFO)
println("A message which is logged at INFO level")
```
</details>
++++
<details open>
<summary>Groovy</summary>
++++
[source,groovy]
----
logging.captureStandardOutput LogLevel.INFO
println 'A message which is logged at INFO level'
----
++++
</details>
++++
++++
<details>
<summary>Kotlin</summary>
++++
[source,kotlin]
----
logging.captureStandardOutput(LogLevel.INFO)
println("A message which is logged at INFO level")
----
++++
</details>
++++
下面是它的操作。
注意,这对jekyll 或静态网站不起作用,所以在那里我们必须写一点代码。
网络上的Groovy和Kotlin DSL样本
用一点CSS和JavaScript,你可以做一个漂亮的小语言选择器UI,记住用户的选择。 这个虚无缥缈的CSS、HTML和JavaScript的组合创造了你在文章顶部看到的东西。
稍微介绍一下代码的作用。
- 首先,JS初始化首选语言,获取并存储在
window.localStorage,以便用户的偏好被保存。 - 接下来,它折叠了所有有
class=multi-language-sample的兄弟姐妹,并为每个样本容器元素生成标签。 - 最后,当一个标签被点击时,JavaScript将测量并滚动窗口,以便内容不会在片段长短不一的情况下 "跳转"--不错吧?
CSS负责为相应的标签添加一个漂亮的Groovy或Kotlin标识,如果标签没有被激活,该标识会变灰。
奖励:你可以添加class="multi-language-text lang-foo" ,让任何内容只为选定的语言显示。
我测试了代码在IE10+中的工作情况,但如果有错误,请让我们知道。我的意思是它不像谷歌云存储文档那样花哨,但我找不到任何好的库来做这个。
总结
这些是一些想法,你可以用来在GitHub的README或你的网站上显示多语言的样本。 我希望你觉得这些对你的项目有用。 欢迎你的其他想法和贡献。