使用javascript配置文件作为handlebas博客模板,但配置不是't工作正常

Using a javascript config file for a handlebars blog template but config isn't working correctly

本文关键字:配置 工作 配置文件 javascript handlebas 使用      更新时间:2023-09-26

我正试图为我正在处理的博客主题添加一个配置文件。任何使用该主题的人都可以在一个地方输入变量(例如:disqus shortname、谷歌分析UA代码等)。我已经完成了所有工作,但由于某种原因,它似乎没有加载配置文件。这是我的:

我在主题名称/assets/js文件夹中的一个名为"ichi-config.js"的文件中有这个:

// If you use DisQus comments, add your disqus shortname here
var config_disqus_shortname = 'barneycarney';

这是我在主题名称/assets/js文件夹中一个名为"disqus.js"的文件中的javascript,如果他们在配置文件中输入了一个短名称,就会加载注释部分:

var disqus_loaded = false;
function load_disqus() {
    if (config_disqus_shortname !== '') {
        disqus_loaded = true;
        var disqus_shortname = config_disqus_shortname;
        var disqus_identifier = '{{post.id}}'; // make sure to use the post.id as an identifier, otherwise disqus will use the pages url per default, which might be problematic...
        // For embedding disqus under a post
        (function() {
            var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
            dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
            (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
        })();
    }
}
load_disqus();

然后在主题根文件夹中的"post.hbs"文件中,我有:

<div id="disqus_thread"></div>
<script src="{{asset "js/disqus.js"}}"></script>

在"default.hbs"文件的头部,它基本上是所有博客页面的模板,我尝试加载"ichi-config.js"脚本:

<script type="text/javascript" src="{{asset "js/ichi-config.js"}}"></script>

我已经做了一百万次了,我正在努力让它发挥作用。提前感谢!如果您想查看存储库,可以在以下位置找到:

https://github.com/Bernjc/ichi/tree/feature/theme-config

我设法修复了它。前一天晚上一定是长时间编码,但当我最初设置config_disqus_shortname变量时,我将其设置为config-disqus-shortname,这导致了问题。现在效果很好!