サーバー側のホスティング、サーバーレスクラウド関数、またはデータベースは必要ありません。 Suriの静的サイトは、数分でVercel、Netlifyなど(通常は無料で)に展開できます。
スリは「技術的に優れた」 3xxサーバーのリダイレクトを気にしません。スリは、最終的に年間59ドルを費やして、BitysとTinyurlsから短いリンクを取り戻すことを望んでいます。
https://surishort.link/gh⇒https://github.com/surishortlink/suri
https://surishort.linkは、実際のスリを紹介する例です。サイトのリポジトリと、リンクを管理するファイルを確認して、その仕組みを確認できます。
スリにはテンプレートリポジトリがあり、それを簡単に開始できます。展開しているプラットフォームを選択し、ステップバイステップの指示に従います。
これらのプラットフォームのいずれかに展開していませんか?心配ない。他のほとんどのシナリオをカバーするいくつかの一般的なオプションを以下に示します。
スリの中心には、リンクを管理するsrcディレクトリにあるlinks.jsonファイルがあります。すべてのテンプレートリポジトリには、このファイルがいくつかの例が含まれています。
{
"/" : " https://www.youtube.com/watch?v=CsHiG-43Fzg " ,
"1" : " https://fee.org/articles/the-use-of-knowledge-in-society/ " ,
"gh" : " https://github.com/surishortlink/suri "
}それはより単純ではありません。キーはリダイレクトされる「短いリンク」パスであり、値はターゲットURLです。キーは、あなたが望むキャラクターの混合物を使用して、あなたが望む限り短いか、あなたが望むだけ長くすることができます。 /ルートパスをリダイレクトするための特別なエントリです。
スリは、 links.jsonファイルから静的サイトを生成するsuri実行可能ファイルを搭載しています。静的サイトは、 buildという名前のディレクトリに出力されます。
すべてのテンプレートリポジトリは、この実行可能ファイルを呼び出すbuildスクリプトで構成されているため、コマンドを簡単に作成します。
npm run build links.jsonファイルに変更を加えると、このコマンドを再実行して静的サイトを再生成します。 Suriがテンプレートリポジトリを持っているプラットフォームの多くは、これを自動的に実行するように構成されています。
構成は、ルートディレクトリのsuri.config.jsonファイルを介して処理されます。この時点では、1つのオプションしかありません。
| オプション | 説明 | タイプ | デフォルト |
|---|---|---|---|
js | <meta>更新の代わりにJavaScriptでリダイレクトするかどうか。 | ブール | false |
最後に、 publicディレクトリ内のファイルは、静的サイトが構築されたときに変更なしでbuildディレクトリにコピーされます。これは、 favicon.icoやrobots.txtなどのファイルに役立ちます(Suriは両方に賢明なデフォルトを提供します)。
以前にバージョン0.1から0.5.1にあるときにこのリポジトリをフォーク/クローニングした場合、バージョン1にいくつかの違いがあることに気付くでしょう。
バージョン1は、バージョン0の3つの主要な問題を解決します。
render.yamlとherokuのapp.jsonがまだありました。 V1は、各プラットフォームに個別のテンプレートリポジトリを持つことにより、これを修正します。これには、そのプラットフォームに必要なファイルのみが含まれます。では、どのようにアップグレードしますか? links.jsonファイルのみを編集した場合、アップグレードは簡単です。
links.jsonファイルをコピーします。publicディレクトリのファイルを変更した場合は、それらをコピーします。SURI_JSを1に設定した場合、 suri.config.jsonでjs trueに変更します。 links.njkテンプレートなどの110のファイルのいずれかを編集した場合、おそらくV0に固執して、Eleventyの使用を続けたいだけです。
それ以上のV1には、他にも注目に値する変更がいくつかあります。
_siteの代わりにbuildという名前のディレクトリに出力されます。suri.config.jsonファイルを介して行われるようになりました。npm run clean 。 npm run build新しいビルドごとにこれを自動的に行います。それ以外の場合は、便利だとわかった場合は、手動で追加することができます。npm run dev削除しました。 SURIが生成する小さなHTMLページにとっては過剰です。npm run lint削除して、きれいな糸くずに並んでいます。便利だとわかった場合は、手動で追加することができます。npm run release削除して、SURIの新しいバージョンをリリースしました。リポジトリのリリースバージョンにタグを付けたい場合は、手動で追加できます。jstaytonユーザーから、すべてのSURI関連のリポジトリの新しいsurishortlink組織に移動しました。 唯一の前提条件は、node.jsの互換性のあるバージョンです( package.jsonのengines.nodeを参照)。
npmに依存関係をインストールします:
npm install内蔵Node.jsテストランナーとアサーションモジュールがテストに使用されます。
テストを実行するには:
npm test開発中は、ファイルの変更でテストを自動的に実行することをお勧めします。
npm test -- --watchJSDOCは、コードの文書化に使用されます。
(git-inored) docsディレクトリにhtmlとしてドキュを生成するには:
npm run docsPrettierは、一貫したコードスタイルを実施するように設定されています。 Editorに統合を追加することを強くお勧めします。
ESLINTは、コード品質のレベルを実施するための「推奨」ルールを使用してセットアップされています。また、Editorに統合を追加することを強くお勧めします。
コマンドラインを介して実行するには:
npm run lintdevelopmentブランチのリリースの準備ができたら、リリースしてください!リリースプロセスを調整するために使用されます。
npm run releaseリリースプロセスが完了したら、 developmentブランチをmainブランチにマージします。これは、常に最新リリースを反映する必要があります。