2017-06-10 2 views
1

Ich erstelle App in crystal-lang mit kemal das Web-Framework.Bootstrap in kemal App verwenden

Wie kann ich style.css oder Bootstrap-Dateien in der App-Vorlage in kemal verwenden?

  • myapp.cr location = src/myapp.cr
  • Bootstrap befindet = src/public/css/bootstrap.css
  • Layout-Datei = src/views/Layout/Standard. ecr

Ich habe auch den vollständigen Pfad versucht, aber das hat auch nicht funktioniert. Es wird kein Style geladen.

Hier ist meine standard.ecr (Layout-Datei)

<!DOCTYPE html> 
 
<html lang="en"> 
 
<head> 
 
    <meta charset="utf-8"> 
 
    <meta http-equiv="X-UA-Compatible" content="IE=edge"> 
 
    <meta name="viewport" content="width=device-width, initial-scale=1"> 
 
    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags --> 
 
    <title><%= title %> | Crystal Website</title> 
 

 
    <!-- Bootstrap --> 
 
    <link href="../public/css/bootstrap.css" rel="stylesheet"> 
 

 
    <link href="/css/style.css" rel="stylesheet"> 
 

 
    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries --> 
 
    <!-- WARNING: Respond.js doesn't work if you view the page via file:// --> 
 
    <!--[if lt IE 9]> 
 
    <script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> 
 
    <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> 
 
    <![endif]--> 
 
</head> 
 
<body> 
 
<!-- Fixed navbar --> 
 
<nav class="navbar navbar-default navbar-fixed-top"> 
 
    <div class="container"> 
 
    <div class="navbar-header"> 
 
     <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar"> 
 
     <span class="sr-only">Toggle navigation</span> 
 
     <span class="icon-bar"></span> 
 
     <span class="icon-bar"></span> 
 
     <span class="icon-bar"></span> 
 
     </button> 
 
     <a class="navbar-brand" href="#">Crystal Website</a> 
 
    </div> 
 
    <div id="navbar" class="navbar-collapse collapse"> 
 
     <ul class="nav navbar-nav navbar-right"> 
 
     <li 
 
     <% if env.request.path == "/" %>class="active" 
 
     <% end %>><a href="/">Home</a></li> 
 
     <li 
 
     <% if env.request.path == "/about" %>class="active" 
 
     <% end %>><a href="/about">About</a></li> 
 
     <li 
 
     <% if env.request.path == "/contact" %>class="active" 
 
     <% end %>><a href="/contact"> Contact</a></li> 
 
     </ul> 
 
    </div><!--/.nav-collapse --> 
 
    </div> 
 
</nav> 
 

 
<div class="container"> 
 
    <%= content %> 
 
</div> 
 
<!-- jQuery (necessary for Bootstrap's JavaScript plugins) --> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> 
 
<!-- Include all compiled plugins (below), or include individual files as needed --> 
 
<script src="/js/bootstrap.js"></script> 
 
</body> 
 
</html>

+0

den Pfad relativ zum Webserver root Versuchen Sie, 'src = "css/bootstrap.css"'. –

Antwort

1

standardmäßig Öffentliche Ordner in /public Pfad sein sollte und nicht in /src/public.

Hier ist die Ordnerstruktur

- public 
    - css 
    - bootstrap.css 
- src 
    - myapp.cr 
    - views 
    - layout 
     - standard.ecr 
Verwandte Themen