基于用户选择的环境的选择性ejs模板
Selective ejs template based on user selected environment
我正在ejs中构建一个hexo博客主题,它将为我的技术文档项目提供样式。我想允许用户选择一种语言(JavaScript或TypeScript)。然后我想键入一些代码片段,比如:
{% js %}
```JavaScript
var geolocation = require("nativescript-geolocation");
```
{% endjs %}
{% ts %}
```TypeScript
import geolocation = require("nativescript-geolocation");
```
{% endts %}
然后是两个按钮/a滑块,这样用户就可以选择typescript或javascript(默认为js)。我对UI实现很满意,但不确定如何设置属性来确定使用了上面的哪个片段?
根据用户选择的语言,将显示正确的摘录。我该如何实现?
想象一下,Hexo标记的输出是这样的。
<div>
<div class="codeblock js">
var geolocation = require("nativescript-geolocation");
</div>
<div class="codeblock ts">
import geolocation = require("nativescript-geolocation");
</div>
</div>
现在,您必须编写javascript到:
- 默认情况下显示代码块(默认语言)
- 单击按钮时以所需语言显示代码块
- 保存所选语言以在刷新或更改页面时显示正确的语言
以下是JSFiddle中jQuery库的一个示例,因为SO上的代码段中不允许会话存储
在本例中,我使用了.hide()
和.show()
方法,但您也可以使用CSS类来执行此操作。在所需的语言代码块上添加一个类(.addClass()
),并用一些css在其他代码块上删除类(.removeClass()
):
.codeblock {
display:none;
}
.codeblock.active {
display:block;
}
相关文章:
- 难以访问的JS环境中的语法错误
- 键入环境安装不起作用
- 在node.js中设置Apache环境变量
- 能够在指向本地环境的浏览器中设置JavaScript断点
- Rally SDK外部开发Rally环境未定义
- 如何在词法环境中管理块范围
- 可以'无法正确访问NODE_ENV环境变量,这是NODE.js的错误吗
- 使用Lodash从JSON对象获取特定于环境的配置
- 如何在Meteor中使每个环境都不那么不同
- moment.js年份/数字格式,阿拉伯语言环境
- 不同进程之间共享Node.js环境
- RubyonRails环境控制器操作JavaScript响应
- 对auth.logout的Facebook事件订阅仅选择性地将用户重定向到url
- 基于环境在Rails中加载不同的Javascript文件
- 我可以用JavaScript判断访问者是否'的语言环境遵循美国风格或世界其他地区's风格
- 选择性地支持某些浏览器
- 如何选择性地从主干集合和服务器中删除模型
- 响应菜单问题-如何在移动环境中处理HREF和onclick事件
- Sails.js日志传输依赖于环境
- 基于用户选择的环境的选择性ejs模板