我在Harp中有一个使用这个标准目录结构的项目:

(高亮部分是在我的混帐,bower_components并www应当在安装/编译创建).
当我安装一个新的bower组件时,我可以轻松地将其css包含在我的Less中,例如
@import "../../bower_components/some-component/stuff";
Run Code Online (Sandbox Code Playgroud)
但是什么是使用javascripts(或其他静态资产)的"正确"方式?当然,我可以简单地复制它们,例如
cp bower_components/some-jquery-plugin/plugin.js public/js/plugin.js
Run Code Online (Sandbox Code Playgroud)
这就是人们实际做的事情,但我正在寻找更好的东西.理想情况下,我想完全避免使用makefile/gruntfiles并且能够使用以下内容初始化我的项目bower install:
git clone myproject // this will create public/ and bower/harp.json
cd myproject
bower install // this populates bower_components
harp server/compile // just works...
Run Code Online (Sandbox Code Playgroud)
换句话说,我想以某种方式引用位于dir bower_components内部的静态资产public.Symlinking不是一个选项,因为harp compile不解析符号链接.
升级Harp后,我开始在一个不相关的CSS行中收到一个无法识别的输入错误.
Less -> CSS (Unrecognised input) /Users/jorge/Dropbox/harp.io/apps/mysite.com/public/css/main.less
使用Bootstrap v2.2.2和Harp v0.9.4.
我正在使用Harp创建一个静态网站,该网站将托管在GitHub页面上.到目前为止,一切正常,但我有点担心文件夹结构.
这是因为GitHub页面需要在存储库的根文件夹中传递的文件.
所以我最终得到了当前的结构:
/
.gitignore
index.html
_sources/
harp.json
README.md
public/
index.ejs
Run Code Online (Sandbox Code Playgroud)
困扰我的是我无法将README.md文件放在顶层(这意味着当我在GitHub上访问存储库时,我总是被告知我应该创建一个,并且我需要手动降低一个级别),如果我不希望README.md也通过GitHub页面公开.
此外,构建步骤感觉很奇怪.从_sources我需要运行的文件夹中:
$ harp compile --output ..
Run Code Online (Sandbox Code Playgroud)
这在某种程度上感觉不对,编译东西并将结果放在父文件夹中.这是一个理论上的问题,但如果_sources文件夹中有一个文件public夹,我最终会得到一个很大的泥球: - /
有没有办法如何构建这个,以便我可以将_sources文件夹中的所有内容放在顶层,同时仍然可以提供所有内容,因为它现在来自GitHub页面?
我正在使用Harp创建一个站点,我想知道是否有一种方法可以使用Jade块和正常的!= yield工作方式.基本上,对于页面特定的脚本,我想将一个块传递给我的布局.目前,无论我在模板中的块中拥有什么,都会被传递到我的布局中.
例如:
// _layout.jade
html
head
title Hello, world
body
!= yield
div Random delimiter
block scripts
// index.jade
h1 Hello, world
block scripts
script(src='/some/script.js').
div Not working
Run Code Online (Sandbox Code Playgroud)
输出:
<html>
<head>
<title>Hello, world</title>
</head>
<body>
<h1>Hello, world</h1>
<div>Not working</div>
<div>Random delimiter</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?