我刚刚开始使用Octopress;在网络开发方面相当绿色,我遇到了以下问题:
当我运行rake generate
来创建我的octopress页面时,它主要生成一切正常但它没有提供对.css文件的良好引用。以下是它生成的链接:
<link href="/stylesheets/screen.css" media="screen, projection" rel="stylesheet" type="text/css">
这使我的index.html页面显示为纯HTML格式。但是,如果我将链接更改为:
<link href="stylesheets/screen.css" media="screen, projection" rel="stylesheet" type="text/css">
它有效。我所做的只是拿出正斜线。
我的问题是:我需要更改rake generate
以便在html文件中添加正确的引用?
答案 0 :(得分:1)
前面的斜杠将指向项目的根目录。 而没有斜杠,它将指向HTML文件的当前目录
因此,如果在您的情况下,项目结构是:
Project/something/index.html
"/stylesheets/"
的任何链接都将指向Project
目录中的文件夹。即它会寻找"Project/stylesheets"
而"stylesheets/"
的链接将指向something
目录中的文件夹,该目录是项目的当前目录。
答案 1 :(得分:0)
既然你是新手,我会就你如何运作提出一些想法
-
<强>资产强>
首先,当你在Rails中使用asset piepline时,它会为你做很多工作。具体来说,stylesheet
功能已有详细记录:
<%= stylesheet_link_tag "screen" %>
如果您的页面包含对样式表的硬编码引用,则会导致各种兼容性问题(包括生产等)。
我知道这不是您问题的直接答案,但您需要确保您的HTML文件正在使用Rails
辅助方法 - 这些创建动态路径,您的应用会自动跟踪
-
生成强>
至于你的发电机,我没有使用octopress的经验
如果宝石不是你写的,我不会太担心generator
。写了我自己的宝石&amp;在其他软件中,创建适用于每个系统的系统非常困难
如果你有能力自己改变路径(生成后),我会这样做,并在Github上提出作者的问题
答案 2 :(得分:0)
您需要编辑您的Rakefile。
我在Octopress上写了一篇关于Rake命令的文章:
http://www.tomordonez.com/blog/2013/03/12/rake-commands-in-octopress-on-github/
在主Octopress目录中应该有一个名为&#34; Rakefile&#34;
的文件打开此文件并查找以下行:
desc "Generate jekyll site
task :generate do
在这里有一行说:
system "compass compile -css-dir #{source_dir}/stylesheets"
将source_dir
分配到Rakefile的顶部,其中显示## Misc Configs ##
。
应该说:
source_dir = "source"
我几乎给了你所有解决方案。将它们放在一起并试一试,看看你是否可以使它工作:)