0

初期の開発では、通常、静的バージョンのサイトを構築します。以前はPHPを使用していて、次のようなものがありました...

images
javascripts
stylesheets
templates
-- header.php
-- footer.php
index.php
users.php

そして、index.phpusers.phpには、これらのヘッダーファイルとフッターファイルの基本的なPHPインクルードコードが含まれます。

また、いくつかのPHP関数を使用できるという追加の利点もあります。

しかし、私は何年にもわたってPHPを使用したことがなく、Rubyをほぼ独占的に使用しています...だから、Rubyでこのような本当に基本的なものを実現する方法はありますか?

主に私ができるものを探しています:

  1. 基本的なファイルインクルードを実行します(簡単なテンプレートを作成できるようにします)
  2. ファイル内でRubyを実行する

理想的には、LiveReloadを一緒に使用することもできます。

追加の詳細:私はこれをOS Xでローカルに実行しており、通常はPowをサーバーとして使用しています。

4

5 に答える 5

1

ピーターがシナトラを推薦するのは正しい。通常、Sinatra アプリケーションには 2 つのタイプがあります。モジュラーでクラシカル。あなたの例では、古典的なアプリケーションを作成します。そのスタイルがニーズにより適していることがわかった場合、それをモジュラーに変換するのは大した作業ではありません。

でgemをインストールする必要がありますgem install sinatra。次のように、プロジェクト用の新しいディレクトリと 2 つの新しいファイルを作成します。

# app.rb
require 'sinatra'

get '/' do
  erb :index
end

# config.ru
require './app'
run Sinatra::Application

views という別のディレクトリを作成し、次のファイルを追加します。

# index.erb
Hello World!

次に ruby​​ app.rb と viola と入力すると、 で作業中のプロジェクトが作成されlocalhost:4567/ます。css や js などの静的ファイルを提供するには、public ディレクトリを作成するだけです。そこから、ルート URL の後に任意のファイルにアクセスできるようになります。したがって、css フォルダーを作成した場合、それぞれの URL は次のようになりますyourdomain.com/css/styles.css

したがって、ディレクトリ全体は次のようになります。

app/
  app.rb
  config.ru
  public/
    css/
    js/
    images/
  views/
    index.erb

Sinatra Bookread meの間で、必要なすべての情報を見つけることができるはずです。

テンプレートを完成させるには、Sinatra Partialと呼ばれるものが必要です。

私は LiveReload にあまり詳しくありませんが、Compassは同じことを達成し、Sinatra とうまく統合されているようです。pow がラックベースである限り、問題なく使用できます。

これは、私がすべてのプロジェクトで使用するSinatra Bootstrapです。Compass と Sinatra Partial が事前構成されており、Heroku で簡単にデプロイできます。また、Slim、Coffeescript、Thin (サーバーとして)、Twitter Bootstrap、および Sass も使用しますが、それぞれのお気に入りをサブスクライブしたり、それらをすべて削除したりするのはそれほど面倒ではありません。

于 2012-10-21T22:13:22.713 に答える
1

私はガールフレンドに彼女のドメイン名のウェブサイトを贈りました。私は目的のために RubyGems を使用する仕事に Jekyll を選びました。

簡単で楽しかったです。さらに、.YML ファイルで設定できるテーマがたくさんあります。そこを変更するだけで、ホール サイトで機能します。Linux または Mac OS は Jekyll の公式 Web サイトで推奨されていますが、私は Windows で実行しましたが、それほど問題はありませんでした。Web サイトのウィンドウで作業するための手順が定義されています。

http://jekyllrb.com/ 

最良の部分は、git ハブ ページのみを介して Web サイトをホストできることでした。何も買う必要はありませんでした。Git ハブでは、1 つのリポジトリをホストできます。(funFact : Jekyll は github の発明者によって開発されました)

これは私が使ったもので、Ruby と Jekyll の予備知識なしで 20 時間で Web サイトを作成しました。おすすめなのでチェックしてみてくださいね!

于 2014-11-24T11:51:16.433 に答える
0

Jekyll は、ファイルの "内部" で Ruby コードを実行したままにしておくことはありません。Jekyll は Ruby gem としてバンドルされている解析エンジンです。基本的に、HTML と Liquid を使用してテンプレートをコーディングし、任意の Web サーバーにアップロードできるプレーンな HTML ファイルを生成して埋め込まれたマークダウンを使用してコンテンツを記述します。

于 2012-10-21T21:45:11.010 に答える
0

おそらく、ジキルは法案に適合するでしょうか?

その説明:

Jekyll は、シンプルなブログ対応の静的サイト ジェネレーターです。テンプレート ディレクトリ (Web サイトの未加工の形式を表す) を取得し、Textile または Markdown および Liquid コンバーターを介して実行し、Apache またはお気に入りの Web サーバーで提供するのに適した完全な静的 Web サイトを吐き出します。これは GitHub Pages の背後にあるエンジンでもあり、GitHub からプロジェクトのページやブログをホストするために使用できます

于 2012-10-18T12:45:06.150 に答える
0

はい、これには Sinatra を使用します。いくつかのサンプルについては、 https://github.com/sinatra/sinatra/を参照してください。ファイル内で ruby​​ を実行することはあまり静的ではありませんが、Sinatra では両方を行うことができます。

于 2012-10-18T16:40:17.927 に答える