首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Nanoc规则文件不处理我的JavaScript目录

Nanoc规则文件不处理我的JavaScript目录
EN

Stack Overflow用户
提问于 2014-09-29 06:07:51
回答 1查看 131关注 0票数 0

我的nanoc内容目录结构:

代码语言:javascript
复制
assets -> (css, images, files)
js
partials
[*.textile source files]

从我的规则文件中提取:

代码语言:javascript
复制
compile '/js/*/' do
    # don’t filter or layout
end
.
.
.
route '/js/*/' do 
  item.identifier.chop + '.' + @item[:extension].to_s
end

命令行结果:

代码语言:javascript
复制
Message:

RuntimeError: Found 2 content files for content/js/bootstrap; expected 0 or 1

Compilation stack:

  (empty)

Stack trace:

  0. /home/tomc/.rvm/gems/ruby-2.1.1/gems/nanoc-3.7.1/lib/nanoc/data_sources/filesystem.rb:168:in `block in all_split_files_in'
  1. /home/tomc/.rvm/gems/ruby-2.1.1/gems/nanoc-3.7.1/lib/nanoc/data_sources/filesystem.rb:158:in `each_pair'
  2. /home/tomc/.rvm/gems/ruby-2.1.1/gems/nanoc-3.7.1/lib/nanoc/data_sources/filesystem.rb:158:in `all_split_files_in'
  3. /home/tomc/.rvm/gems/ruby-2.1.1/gems/nanoc-3.7.1/lib/nanoc/data_sources/filesystem.rb:86:in `load_objects'
  4. /home/tomc/.rvm/gems/ruby-2.1.1/gems/nanoc-3.7.1/lib/nanoc/data_sources/filesystem.rb:45:in `items'
  5. /home/tomc/.rvm/gems/ruby-2.1.1/gems/nanoc-3.7.1/lib/nanoc/base/source_data/site.rb:334:in `block in load_items'
  6. /home/tomc/.rvm/gems/ruby-2.1.1/gems/nanoc-3.7.1/lib/nanoc/base/source_data/site.rb:333:in `each'
  7. /home/tomc/.rvm/gems/ruby-2.1.1/gems/nanoc-3.7.1/lib/nanoc/base/source_data/site.rb:333:in `load_items'
  8. /home/tomc/.rvm/gems/ruby-2.1.1/gems/nanoc-3.7.1/lib/nanoc/base/source_data/site.rb:244:in `load'
  9. /home/tomc/.rvm/gems/ruby-2.1.1/gems/nanoc-3.7.1/lib/nanoc/base/source_data/site.rb:128:in `layouts'
  ... 27 more lines omitted. See full crash log for details.

我咨询了How add own javascript file to nanoc?。我的设置似乎是正确的,但我的结果却并非如此。

我看不到错误。有谁有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2014-09-29 22:17:43

由于它将输入文件名映射到输出路径的方式,Nanoc要求content下每个文件的基本名称(即,文件名较少的扩展名)是唯一的。从Nanoc的角度来看,您为它提供了两个共享基本名称bootstrap的文件,因此不能具有唯一的输出路径,因此它会给出这个错误。

由于您真正想要的是让Nanoc逐字复制站点的这一部分(第三方JavaScript文件),因此最好将这些文件完全移出content树,并设置一个用于加载它们的静态数据源。然后Nanoc将简单地按原样复制文件,而不尝试处理或重命名它们。Nanoc网站上的"Troubleshooting"页面上有关于如何做到这一点的说明;请参阅"Error: “Found 3 content files for X; expected 0 or 1”下的"Solution #2“。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26090152

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档