Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rakefileの:directory_with_pageタスクの処理を見直す #761

Open
maimux2x opened this issue Nov 20, 2023 · 6 comments
Open

Rakefileの:directory_with_pageタスクの処理を見直す #761

maimux2x opened this issue Nov 20, 2023 · 6 comments

Comments

@maimux2x
Copy link
Collaborator

Rakefileでディレクトリ+ファイルを同時に生成するタスク :directory_with_page を実行する際、

  • name= 以下を指定しない
  • name= piyo.html などのファイル名を指定する

とどのディレクトリにも属さないファイルが作成される。

$ bundle exec rake directory_with_page                 
(in /Users/maimux2x/Documents/Source/RailsGirls/railsgirls-jp.github.io/railsgirls.jp)
mkdir -p .
Creating new page: ./new-page.md

現在、公開されているファイルは何らかのディレクトリ配下にて管理されているため、:directory_with_pageタスクの処理を見直したい。

ガイド・ブログ・独自コンテンツを作成するためのタスクはあるため、:directory_with_page は名前の通りディレクトリとファイルを生成するためのものとして修正する方向でひとまず修正してみる。

@urimaro
Copy link
Collaborator

urimaro commented Nov 23, 2023

現状、定義されているrakeタスクは以下のとおりです

> bundle exec rake -T                                                                                                                                                                                                                         (master)
rake blog                 # Begin a new post in ./_posts/blog
rake directory_with_page  # Create a new directory and page
rake guide                # Begin a new guide in ./_pages
rake original_content     # Begin a new original_content in ./_pages-jp
rake preview              # Launch preview environment

現状、以下のように棲み分けされていると思っています

コンテンツの呼び名 説明 追加するrakeタスク
ガイド .comのコンテンツを翻訳したもの https://railsgirls.jp/start rake guide
独自コンテンツ .jp独自のコンテンツ https://railsgirls.jp/getting-started-jp rake original_content
ブログ 参加者の感想など https://railsgirls.jp/2023/11/09/kaigi-on-rails-support-for-alumni/ rake blog

rake preview はローカル環境で動作を確認するのに使うタスクですね
rake directory_with_page は…🤔


imo
3つのコンテンツ以外のコンテンツを追加する場合を想定したタスクだと理解しています
directory_with_page について今の挙動から以下のような意図で作られたのだろうと推測しました

  • name で拡張子を含むパスが指定された場合、指定されたパスにファイルを作る
  • name で拡張子を 含まない パスが指定された場合、 ディレクトリが指定されたものと解釈し、指定されたパスまでディレクトリを作り、そのディレクトリに特定の(デフォルトの)名前でファイルを作る

これを踏まえて「このタスクが必要か」を検討するのが良さそうに思いました
必要な場合、追加で以下のようなことを検討すると良さそうに思いました

  1. 拡張子の有無を考慮しない
    指定されたパスにファイルを作成する
  2. 拡張子の有無を考慮する
    1. 拡張子あり
      指定されたパスにファイルを作成する
    2. 拡張子なし
      1. 指定されたパスにディレクトリだけ作成する
      2. 指定されたパスにディレクトリを作り、特定の名前でファイルを作成する

@maimux2x
Copy link
Collaborator Author

@urimaro
わかりやすく整理してくださり、ありがとうございます😭✨

私自身の考えは上記にまとめていただいた

拡張子の有無を考慮しない
指定されたパスにファイルを作成する

です。
理由としては

  • 既存のディレクトリ配下にファイルを作成するタスクは既に別タスクとして存在する
  • Eventsのように独立したディレクトリを新規作成してそこに新たなコンテンツをファイルを作成して追加していくことは有り得そう

なためです🤔

@urimaro
Copy link
Collaborator

urimaro commented Nov 24, 2023

以下のように理解しました

  • タスク rake original_content は残す
  • 拡張子の有無は考慮しない

rake original_content name=path/to/file を実行した場合、以下のような結果になるということであっていますか?

  • path/to というディレクトリに file という名前のファイルが生成される

気になることがあるというわけではなく、どんな動きをイメージしているのか知りたかったので質問しました

@maimux2x
Copy link
Collaborator Author

maimux2x commented Nov 24, 2023

@urimaro

タスク rake original_content は残す
拡張子の有無は考慮しない

こちらで相違ありません。
ただ、directory_with_page を実行した場合の動作としてはディレクトリの階層は directory/file の一階層の想定でいます。

まとめると以下のように考えています。

■ タスク rake original_content は残す

こちらは現在の実装通り、_pages-jp 配下にファイルを作成するタスク
railsgirls.jp/_pages-jp/about.md のようなパスになる

■ タスク directory_with_page も残す

こちらはdirectory/file の一階層でディレクトリとファイルを新規作成する
railsgirls.jp/events/index.html のようなパスになる
railsgirls.jp/ 以下がタスクによって作成される

また、name に渡す文字列は拡張子は考慮せず、ディレクトリ名となる

==========

上記について認識の相違や気になりがありましたら教えていただけると幸いです🙏

@urimaro
Copy link
Collaborator

urimaro commented Nov 25, 2023

タスク rake original_content は残す

すみません
書き間違えていました:bow:
rake original_content ではなく rake directory_with_page のことでした

■ タスク directory_with_page も残す

こちらはdirectory/file の一階層でディレクトリとファイルを新規作成する
railsgirls.jp/events/index.html のようなパスになる
※railsgirls.jp/ 以下がタスクによって作成される

また、name に渡す文字列は拡張子は考慮せず、ディレクトリ名となる

理解しました
ありがとうございます

@maimux2x
Copy link
Collaborator Author

@urimaro
ご確認ありがとうございます🙏
上記に記載の要件で修正あげてみます!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants