lipeng.ac およびその他の関連プロジェクトを強化するソース コードと Docker イメージ
Antony-Nuxt (Nuxt.js / Vue.js v2) https://github.com/ttttonyhe/antony-nuxt →
Antony (Vue.js v2) https://github.com/ttttonyhe/antony →
Tony (Vue.js v2 / PHP) https://github.com/ttttonyhe/tony →
SSR/SSG/オンデマンド ISR
コマンドパレット
Redux + Redux Saga 状態管理
Nextコメントシステム
動的な目次サイドバー
個人用ダッシュボード
ダークモード
非常に独断的で、完全にやりすぎです。
TypeScript
フレームワーク
反応 (Next.js)
Foundation/Adapter の実装は近日中に予定されています
ストーリーブック
ターボレポ
データの取得
無限ロード
再検証
サスペンス
swr
フェッチ (API ルート)
状態管理
Redux ツールキット
リダックス・サーガ
スタイリング:
スタイル付きコンポーネント
追い風 CSS
コンテンツ管理:
WordPress (Qiniu - 静的ファイル ストレージ)
WP REST API (GraphQL 実装は近日公開予定)
Tencent クラウド CVM (CentOS/Nginx/MySQL/PHP)
ネクストメント(リーンクラウド)
ニュースレター (リストモンク)
エラーログと Web Vitals メトリック
セントリー
リンター
ESLint
より美しく
コミットLint
CI/CD
Github アクション
ヴェルセル
git clone [email protected]:ttttonyhe/ouorz-mono.git pnpm installcd apps/main
設定を使用して.env
ファイルを作成します。このプロジェクトで使用される環境変数のリストについては、以下を参照してください。
リーンクラウド:
NEXT_PUBLIC_LC_KEY
NEXT_PUBLIC_LC_ID
歩哨:
NEXT_PUBLIC_SENTRY_DSN
SENTRY_AUTH_TOKEN
SENTRY_PROJECT
SENTRY_ORG
オンデマンド ISR:
REVALIDATION_REQUEST_TOKEN
pnpm run dev:main
警告
Docker コンテナで WordPress を実行すると、低スペックのマシンでは非常に遅くなります
MySQL 8 を使用しない場合は 1 GB 以上の RAM、または MySQL 8 を使用する場合は 2 GB 以上の RAM を推奨します
このプロジェクトは、公式 WordPress Docker イメージ wordpress:php8.0-apache に基づいて構築された Docker コンテナーにまとめられています。
各ビルドは静的な Docker イメージ (一般的なコンテナ化されたアプリケーションと同様) を出力します。つまり、WordPress 自体を更新したり、新しいテーマやプラグインを追加したりするには、再デプロイが必要になります。
すべてのアップロードは外部ストア (Qiniu、AWS S3 と同様) に保存されるため、 wp-content/uploads
一時データとして扱うことができます。
main
アプリは WordPress REST API を使用してデータを取得し、 wordpress
アプリはヘッドレス CMS として機能します。テーマpeg
REST API エンドポイントの動作をカスタマイズするために使用されるため、 wordpress
アプリの開発に関してはpeg/functions.php
主な焦点となる必要があります。
MySQL データベース:
WORDPRESS_DB_HOST
WORDPRESS_DB_NAME
WORDPRESS_DB_PASSWORD
WORDPRESS_DB_USER
WORDPRESS_TABLE_PREFIX
設定:
WORDPRESS_DEBUG
オプションで、 WORDPRESS_CONFIG_EXTRA
を設定して他の構成を含めることができます。
MySQL SSL 接続:
define("MYSQL_CLIENT_FLAGS", MYSQLI_CLIENT_SSL);
PHP の警告と通知をオフにする:
ini_set("error_reporting", E_ALL & ~E_NOTICE);
ini_set("display_errors","Off")
Redis オブジェクト キャッシュ:
define("WP_REDIS_HOST", "redis_database_host");
define("WP_REDIS_PASSWORD", "redis_database_pwd");"
define("WP_REDIS_PORT", "redis_database_port")
docker build --tag ouorz-wordpress .docker run -p 8080:80 -e WORDPRESS_DB_HOST=[dev_database_host] -e WORDPRESS_DB_USER=[dev_database_user] -e WORDPRESS_DB_PASSWORD=[dev_database_pwd] -e WORDPRESS_DB_NAME=[dev_database_name] -e WORDPRESS_DEBUG=true -e WORDPRESS_CONFIG_EXTRA="定義('MYSQL_CLIENT_FLAGS', MYSQLI_CLIENT_SSL);" -e WORDPRESS_TABLE_PREFIX=[dev_database_prefix] ouorz-wordpress
うま味をテーマにしたプロジェクト
こちらの手順に従って→ Maxmind GeoLite2 にサインアップし、ライセンス キーを取得してください
git clone [email protected]:ttttonyhe/ouorz-mono.git pnpm installcd アプリ/分析
設定を使用して.env
ファイルを作成します。このプロジェクトで使用される環境変数のリストについては、以下を参照してください。
DATABASE_URL
ハッシュ_ソルト
MAXMIND_LICENSE_KEY
pnpm --filter @ouorz/analytics run build-postgresql-client pnpm run dev:analytics
非常にこだわりのあるフロントエンド ツールキット ライブラリ
ストーリーブック: https://ui.twilight-toolkit.ouorz.com →
現在 React でのみ利用可能ですが、Foundation/Adaptor の実装は近日中に行われる予定です。
作業中です
ビルドシステム: リモートキャッシュを備えた Turborepo
モノレポマネージャー: PNpm
プロジェクト エイリアスを使用すると、さまざまなパッケージのコマンドをより簡単に実行できます。
pnpm --filter @ouorz/main アップグレードの実行
コンテンツ認識 (キャッシュなど) が必要な場合は、事前定義された Turborepo スクリプトを使用します。
pnpm ビルド:メインを実行
ルートpackage.json
は開発依存関係のみを含める必要があります
WIP
実際にはこれに従っていませんが...
テストランナー: サイプレス
サーバーを起動します:
pnpm ビルド:メインを実行 pnpm run start:main# orcd apps/main pnpm 開発:テストを実行します
テストを実行します。
pnpm 実行テスト:メイン
apps/main
Cypress Dashboard を使用するため、構成ファイルを適宜変更して無効にします。
apps/wordpress/Dockerfile
経由で Docker イメージをビルドし、デプロイします。
注: デフォルトでは、イメージはより一般的な 8080 ではなくポート 80 で待機します。
このプロジェクトでは、サーバーサイド レンダリング (SSR) と (オンデマンド) 増分静的生成 (ISG) を組み合わせて利用します。
pnpm ビルド:メインを実行 pnpm 実行開始:メイン
pnpm ビルドを実行:分析 pnpm 実行開始:分析
ストーリーブックをデプロイするには、静的 Web アプリとしてエクスポートします。
pnpm 実行 build:twilight:ui:storybook
設定ファイルfly.toml
apps/wordpress
の下にあります。永続ストレージは/var/www/html/wp-content
にマウントする必要があります。
フライランチ フライ シークレット セット WORDPRESS_DB_HOST=[dev_database_host] WORDPRESS_DB_USER=[dev_database_user] WORDPRESS_DB_PASSWORD=[dev_database_pwd] WORDPRESS_DB_NAME=[開発データベース名] WORDPRESS_DEBUG=false WORDPRESS_TABLE_PREFIX=[dev_database_prefix] フライデプロイ
オプションで、同じ名前のボリュームを複数の Fly.io リージョンに作成できます。これにより、Fly が複数のリージョンでアプリの 1 つ以上のインスタンスを実行できるようになります。
フライ ボリューム create ouorz_wordpress_wp_content --region yyz --size 1 --no-encryption フライ ボリューム create ouorz_wordpress_wp_content --region fra --size 1 --no-encryption フライ ボリューム create ouorz_wordpress_wp_content --region hkg --size 1 --no-encryption
フライスケールカウント3
オプションで、Fly.io は、次のコマンドを使用して作成できるフルマネージド Redis データベースを提供します。
Redis を作成する
トラフィックは、Fly 組織に限定されたプライベート IPv6 アドレスを通じて自動的にルーティングされます。
ルート ディレクトリ パスをapps/<project-name>
に設定してから、ビルド コマンドを次のように更新してください。
cd ../.. && pnpm run build:<プロジェクト名>
差分ベースの展開を有効にすることを強くお勧めします。
git diff --quiet HEAD^ HEAD ./
GPL-3.0