ホームページ >ウェブフロントエンド >jsチュートリアル >クエリ文字列を操作して、動的に読み込まれるページをより適切に共有できるようにする
- ゲノミクスのデイリーの詳細な調査:日付の共有とローカライズされた操作の改善
最近BlueskyでMoreno Colaiacovoと通信した後、私は彼のGenomics Daily Projectを探求し始めました。 Githubページに基づくこの静的なWebサイトは、Jekyllを使用して構築されています。したがって、私はそれを改善するためにプルリクエストを送信することにしました。
Genomics Dailyは、emmecola.github.ioにあるGithub Pagesがホストする静的なWebサイトです。古典的なGithub Pagesプロジェクトとして、Jekyllを静的サイトジェネレーター(SSG)として使用します。
GitHubページがGitHubアクションを通じて展開をサポートしていることがわかりました:
並列で2つのJekyllインスタンスを実行します
port
レーキタスクを使用してジキルの操作を管理し、正規表現マッチングタスク名を介してポート番号を抽出します。
パラメーターとして副次番号を受信する関数、そしてJekyllを開始します:
<code class="language-ruby">rule(/^run-[0-9]+$/) do |t| port = t.name["run-".length() ..] run_jekyll port: port end</code>この方法では、(デフォルトポート)と
(ポート4001)を使用してJekyllを実行できます。 run_jekyll
<code class="language-ruby">def run_jekyll(port: nil) require "jekyll" opts = { 'show_drafts' => true, 'watch' => true, 'serving' => true } opts['port'] = port unless port.nil? conf = Jekyll.configuration(opts) Jekyll::Commands::Build.process conf Jekyll::Commands::Serve.process conf end</code>タスクも変更しました。
rake run
rake run-4001
url修正
最初にrake browser
を変更してURLパラメーターを変更しようとしていますが、これはゲノミクスの動的荷重メカニズムに毎日影響します。したがって、
APIを使用して、ページを更新せずにURLを更新します。
<code class="language-ruby">task :run,[:port] do |t, args| require "jekyll" opts = { ... } opts['port'] = args.port unless args.port.nil? ... end task :browser,[:port] do |t, args| port = args.port || 4000 sh "open ... http://localhost:#{port}/blog/" end</code>記事では、ボタンを追加すると、クリックするたびにURLパラメーターの値が増加します。コードは次のとおりです。
location.search
Clonomics Daily Warehouseの後、ComputariaのRakefileをコピーしました。ゲノミクスは毎日window.history.pushState
のテーマを使用しているため、対応するgemを
を実行してmarmota
を正常に実行する必要があります。
<code class="language-javascript">function alteraQueryParam() { const url = new URL(window.location.href); if (!window.history) return; const paramName = 'marmota'; let x = url.searchParams.get(paramName) || 0; x++; url.searchParams.set(paramName, x); window.history.pushState(null, '', url.toString()); }</code>を相対パスに変更しました。
の使用が含まれて、ロードページのタイミングを決定し、URLパラメーターminima
に基づいてコンテンツをロードします。 Gemfile
要するに、これらの改善を通じて、ゲノミクスの毎日の日付共有機能が強化され、ローカル開発とデバッグがより便利になりました。
以上がクエリ文字列を操作して、動的に読み込まれるページをより適切に共有できるようにするの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。