サーバー側のホスティング、サーバーレスクラウド関数、またはデータベースは必要ありません。 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 -- --watch
JSDOCは、コードの文書化に使用されます。
(git-inored) docs
ディレクトリにhtmlとしてドキュを生成するには:
npm run docs
Prettierは、一貫したコードスタイルを実施するように設定されています。 Editorに統合を追加することを強くお勧めします。
ESLINTは、コード品質のレベルを実施するための「推奨」ルールを使用してセットアップされています。また、Editorに統合を追加することを強くお勧めします。
コマンドラインを介して実行するには:
npm run lint
development
ブランチのリリースの準備ができたら、リリースしてください!リリースプロセスを調整するために使用されます。
npm run release
リリースプロセスが完了したら、 development
ブランチをmain
ブランチにマージします。これは、常に最新リリースを反映する必要があります。