octopress生成中css文件的错误路径

时间:2014-07-01 03:01:37

标签: html css ruby-on-rails octopress

我刚刚开始使用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文件中添加正确的引用?

3 个答案:

答案 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"

我几乎给了你所有解决方案。将它们放在一起并试一试,看看你是否可以使它工作:)