我正在使用Jekyll创建一个文档站点,其中我试图记录一些包含句柄式语法的代码.例如{{foo}}
.问题是Jekyll使用液体标签,无论我做什么,我的双层玻璃都会被液体处理器撕掉.
顺便说一句,我使用kramdown作为降价处理器.
这是我尝试过的东西:
{% highlight html linenos %}
Hello, my name is {{name}}.
{% endhighlight %}
Run Code Online (Sandbox Code Playgroud)
这个完全删除了{{name}}部分,因为它认为它是对液体变量的引用.
我也试过这个:
{% highlight html linenos %}
Hello, my name is \{\{name\}\}.
{% endhighlight %}
Run Code Online (Sandbox Code Playgroud)
在这种情况下,我试图逃避花括号,但结果是斜杠被渲染到页面中.
我甚至试过这个:
{% highlight html linenos %}
Hello, my name is <span>{</span>{name}}.
{% endhighlight %}
Run Code Online (Sandbox Code Playgroud)
不可否认,这个非常愚蠢.在这种情况下,因为我已将语法指定为html(它需要),所以span标记将呈现到页面中.
那么我可以如何解决这个问题呢?
我有一个响应式网页,当您点按一个按钮时会打开一个模态.当模态打开时,它被设置为使用固定定位占据页面的整个宽度和高度.模态中还有一个输入字段.
在iOS设备上,当输入字段被聚焦时,键盘将打开.然而,在打开时,它实际上推动了完整的文档了出来,使得我的网页的一半以上去的视口顶部的方式.我可以确认实际的html
标签本身已被推高以补偿键盘,并且它没有通过CSS或JavaScript发生.
有没有人见过这个,如果有的话,有没有办法防止它,或在键盘打开后重新定位的东西?这是一个问题,因为我需要用户能够在模态顶部看到内容,同时,我想自动聚焦输入字段.
我正在为Rails应用程序做一些前端工作,我不会弄乱后端架构.基本上,我应该允许用户上传文件并使该提交基本上通过CarrierWave处理的表单直接进入亚马逊.如果你曾试图用ajax做同样的事情,你会知道这几乎是不可能的.
这让我在这里:我需要能够调用.submit()
一个html表单元素,然后挂钩上传的进程,就好像我正在侦听XMLHttpRequest上的"progress"事件.
原谅我没有显示大量的代码.我真的只是在寻找两件非常简单的事情.
form.addEventListener('progress', function () {...})
吗?(< - 顺便说一下,这不起作用.)所以这是一个有趣的,很可能无法有效地完成.但我有兴趣找到一种有效的方法来查询文档中具有任何属性的特定值集的所有html元素.所以,例如,而不是这个:
document.querySelectorAll('[attrName]');
Run Code Online (Sandbox Code Playgroud)
我正在寻找以下伪代码的等价物:
document.querySelectorAll('[*=specificValue]');
Run Code Online (Sandbox Code Playgroud)
所以基本上结果将是具有任何属性的所有元素,其值与"specificValue"匹配.我知道有很多方法可以做到这一点,例如:
var all = document.querySelectorAll('*');
var matches = [];
var attrs;
for (var i = 0; i < all.length; i += 1) {
attrs = Array.prototype.slice.call(all[i].attributes);
for (var j = 0; j < attrs.length; j += 1) {
if (attrs[j].value === 'specificValue') {
matches.push(all[i]);
break;
}
}
}
Run Code Online (Sandbox Code Playgroud)
但是,我真的很想避免分析这样的每一个html元素.有任何想法吗?
编辑:
感谢目前为止所有的帮助.在太多人给出替代建议之前,我应该解释一下这是什么.基本上,这是一个实验.我的想法是,我可能能够像Ember.js中那样创建实时的对象到数据绑定,但不必编译模板,您可以使用常规的html属性并在值本身中使用语法标记应该创建一个绑定.例如:<a href="{{linkLocation}}"></a>
.我认为如果能够有效地选择相关元素,这可能会很有趣.显然我知道循环必须在某个地方发生.但是,如果浏览器正在运行本机迭代,我宁愿使用我自己的JavaScript循环.我只是不确定是否有一些我不知道的"秘密"选择器语法,或者是否有人能想到任何其他很酷的技巧.
抱歉,如果这是重复的。我试图找到一个类似的问题,但没有。细目如下:
我需要在正在构建的程序包中使用秘密密钥,并且我不想发布它,因此我试图将其设置为本地bash环境变量。在我的.bashrc文件中,我有这个:
# Obviously this is not the REAL key, just an example
MY_KEY="1111111111111111"
Run Code Online (Sandbox Code Playgroud)
然后在我的Gulpfile中,我有一个名为“ dev”的任务。为了简单起见,假设它看起来像这样:
gulp.task('dev', function () {
console.log(process.env.SECRET_KEY);
});
Run Code Online (Sandbox Code Playgroud)
然后,为了使密钥进入环境,我的package.json中包含以下内容:
"scripts": {
"start": "SECRET_KEY=$MY_KEY gulp dev"
}
Run Code Online (Sandbox Code Playgroud)
所以问题是,当我运行命令时npm start
,我的gulp任务记录undefined
了密钥。但是,当我手动运行命令时SECRET_KEY=$MY_KEY gulp dev
,gulp任务将记录日志1111111111111111
。因此,由于某种原因,npm start
无法正确访问我的bash变量并将其传递到Node环境中。有没有办法使这项工作?
我在Clojure文档中找不到答案。我是Clojure的新手,似乎您可以recur
两种不同的方式使用并且基本上得到相同的结果。
范例1:
(defn my-function [num]
(if (> num 10)
num
(recur (+ num 1))))
Run Code Online (Sandbox Code Playgroud)
范例2:
(defn my-function [num]
(loop [cnt num]
(if (> cnt 10)
cnt
(recur (+ cnt 1)))))
Run Code Online (Sandbox Code Playgroud)
据我所知,这两种形式似乎做的完全相同。我知道,recur
总体上讲,这样做的原因是好的,因为在适当的情况下,编译器可以破解某种伪尾部调用优化方法,我非常喜欢并且希望尽可能多地利用它。所以这是我的问题:
loop
如果recur
没有它,似乎什么也可以使用?loop
仅创建“递归范围”,就像let
创建迷你范围一样?loop
吗?我正在使用Gulp运行babelify 7.2.0并且我在以下代码中收到错误:
class One {}
class Two extends One {
constructor() {
this.name = 'John';
}
}
Run Code Online (Sandbox Code Playgroud)
以下是错误的关键:
SyntaxError: [the file path in question]: 'this' is not allowed before super()
20 | class Two extends One {
21 | constructor() {
> 22 | this.name = 'John';
| ^
23 | }
24 | }
25 |
Run Code Online (Sandbox Code Playgroud)
在我看来,这不应该被解雇,因为我根本没有super
在构造函数中进行任何调用,因此没有冲突的风险.我已经在Github上提交了一个问题,但我想知道是否有办法可以在同一时间关闭它.
我正在尝试使用npm的babel,我认为我需要的包是babel-core.具体来说,我想要做的是传递一串ES6代码并让它将一串转换后的代码交给我.而已.你认为这很简单,但我无法用文档来解决这个问题.根据我的阅读,我应该能够这样做:
var babel = require('babel-core');
var code = 'x => x + 1';
var result = babel.transform(code);
Run Code Online (Sandbox Code Playgroud)
但问题是,结果是一个包含AST的对象,而不是一个字符串.我试图在该对象上运行transformFromAst,但这也不起作用.任何人都可以帮我获得实际的字符串吗?