質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Hugo

Hugoとは、Go言語で実装された静的サイトジェネレータです。コンテンツ管理ではなく、Webサイトで用いられるHTMLファイルやRSSファイルといった生成に特化した機能を持ちます。データベースを必要としないため、バックエンド側の手間もなく、簡単にブログを運営することができます。

Go

Go(golang)は、Googleで開発されたオープンソースのプログラミング言語です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

解決済

1回答

1467閲覧

HUGOで作成したサイトをFTP経由でサーバにアップしたい

keiji_kc

総合スコア18

Hugo

Hugoとは、Go言語で実装された静的サイトジェネレータです。コンテンツ管理ではなく、Webサイトで用いられるHTMLファイルやRSSファイルといった生成に特化した機能を持ちます。データベースを必要としないため、バックエンド側の手間もなく、簡単にブログを運営することができます。

Go

Go(golang)は、Googleで開発されたオープンソースのプログラミング言語です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2021/04/20 11:11

Hugoで出力したファイルをFTP経由でアップしてサイトに表示したい

hugoを使って吐き出した静的なHTMLやCSSファイル等をFTPからWebサーバにアップして、ブログが作る、ということを目標に作業をしています。(そもそも、大前提が間違ってたら教えて下さい。。)

Themeは、Mainroadで、このインストール等は完了し、

hugo

1# サーバを起動 2hugo server -D

このコマンドでサーバを起動すると、localhost:1313で、ある程度レイアウトされたサイトが見れます。

  • ↓↓localhost:1313のページ↓↓

イメージ説明

しかし、このページと、"hugo"とコマンドを打って、生成された~/publicにあるindex.htmlをブラウザで開いた時の内容が異なります。index.htmlにはほとんどCSSや設定が反映されません。

  • ↓↓public/index.htmlをブラウザで表示させた場合↓↓

イメージ説明

このindex.htmlにも、「さぶたいとる」などconfig.tomlで設定した内容が反映されてはいるのですが、肝心のCSSが反映されていなかったり、そもそもコンテンツも入っていなかったりと、必要な内容がほとんど反映されていません。。

テーマはMainroadを使っていますが、他のテーマでも同じ結果でしたので、そもそも私が理解できていないようです。。

最終的には、必要なファイルをftp経由で一式アップロードしたいです。一体、どのファイルをアップロードすればlocalhost:1313と同じデザインを得られるのでしょうか。

もし、分かる方がいれば教えて頂けると嬉しいです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

publicフォルダをカレントフォルダにして、
静的ファイルのhttpサーバーを起動してみましょう。

python3があれば以下のコマンドで起動できます。

> python3 -m http.server Serving HTTP on :: port 8000 (http://[::]:8000/) ...

そして、http://localhost:8000を開いてみましょう。
おそらくある程度は表示されると思います。

こうなる理由はHUGOのリソース参照が絶対パスだからです。
例えば/dist/css/main-min.cssというパスを参照します。

index.htmlをブラウザにドロップして表示した場合、これらのファイルがファイルシステムのルート付近に置かれていることを期待します。

なので、静的ファイルサーバーを経由する必要があるのです。

追記

以下の設定を追加することで相対パスにして出力できます。

relativeURLs = true

また、例えば以下の設定を入れてあるとして、coontentフォルダにコンテンツを入れているか確認しましょう。

contentDir = "content"

ここから先に踏み込んでアドバイスするためにはconfig.tomlやフォルダツリーなどの開示が必要です。

投稿2021/04/20 11:19

編集2021/04/21 01:27
nobonobo

総合スコア3367

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

keiji_kc

2021/04/21 00:52

アドバイスありがとうございます! さらに色々とやったら、index.htmlをブラウザにドロップしても、レイアウトが保持されるようになりました。 しかし、pythonでサーバを立ち上げても、index.htmlを直接ブラウザで呼び出しても、肝心の記事コンテンツが読み込まれません。。 もし、アドバイス頂けましたら幸いです!
keiji_kc

2021/04/21 20:10

ありがとうございます。 contentDirの設定で無事見ることができました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問