JPress は、JFinal を使用して開発された、WordPress に代わる Java です。テンプレートやプラグインなど、WordPressと同様のほぼすべての機能をサポートしています。同時に、テンプレートに関しては、JPress は「モデルとしてのテンプレート」という概念を提唱しており、テンプレート制作者が柔軟にビジネスモデルを構築できるようにし、ウィジェットなどの複雑な機能を排除し、WordPress よりも柔軟で簡潔なテンプレートを提供します。テンプレートとプラグインの制作。
ただし、JPress は WordPress の Java ではなく、WeChat パブリック プラットフォームと自然に統合されており、多くの国内クラウド プラットフォーム、SMS 送信、電子メール送信プラットフォームを統合しています。経験豊富なWordPress内部の微妙な関係はプレイヤーのみが理解できます。同時に、WeChat記事同期、QQパブリックプラットフォーム、Toutiao、Yidian、その他の新しいメディアの記事同期機能が将来的に追加され、より国内的でローカライズされたものになります。
機能面では
バックグラウンド関数ではなくテンプレートを通じて定義されるカスタム モデルをサポートします。同時に、モデルのコンテンツはカスタム カテゴリをサポートします。たとえば、記事モデルはトピック、カテゴリ、タグ、その他のカテゴリをサポートします。
複数のテンプレート エンジンをサポートします。テンプレート作成者は、レンダリングに thymeleaf などの他のエンジンを使用することもできます (現在は freemark エンジンのみがサポートされています)。
複数のデータベース タイプをサポートし、異なるデータベースを構成できます (現在、mysql のみがサポートされています)。
複数のエディタをサポートし、背景ビジュアル編集とマークダウン編集を自由に切り替えられ、オンライン画像編集やコードハイライトなどの機能をデフォルトでサポートします。
プラグインをサポートしており、わずか数行のコードでプラグインの開発を完了できます。このプラグインの helloworld インスタンスはすでに git.oschina.net と github にあります。
カスタム URL と Web サイトのコンテンツ URL スタイルのカスタマイズをサポートします。
API サポートにより、APP またはその他のサードパーティによるデータの呼び出しが容易になります。
国際化サポート。JPress を使用すると、あらゆる言語で Web サイトを簡単に作成できます。
ミニマリストSEO機能では、記事ごと、カテゴリーごと、タグごとにSEOを個別に設定でき、サイトマップ出力にも対応。
ユーザー登録では電子メールと SMS 認証がサポートされています。現在、SMS サービス プロバイダーは Alibaba Dayu のみをサポートしています。
Qiniu、Alibaba Cloud、Youpai Cloud などの CDN 設定をサポートします。
アップロードされた画像は透かし設定をサポートしており、アップロードされた画像は、画像表示が引き伸ばされないように、テンプレートで必要なさまざまな画像サイズに自動的にカットされます。
ユーザーログインはサードパーティログインをサポートしており、QQ、WeChat、Weibo、Open Source China、Github、Facebook、Twitter、LinkedIn をサポートしています (現在、QQ、WeChat、Weibo、Open Source China、Github へのログインのみが完了しています)。
WeChatで
WeChatメニュー設定をサポートします。
自動返信をサポートし、キーワードや返信内容を追加します。
ユーザーが注意を向けたとき、マルチカスタマー サービスに入るとき、マルチカスタマー サービスを終了するとき、写真を送信するとき、音声を送信するとき、ビデオを送信するとき、位置情報を送信するとき、接続を送信するとき、ユーザーがスキャンするときなどのデフォルトの応答をサポートします。ユーザーが振ると、パラメータ付きの QR コードが表示されます。
すべての自動返信またはデフォルトの返信は、記事への返信、URL への返信などの「高度な返信」機能をサポートしています。高度な返信は JPress に組み込まれた特別な返信ですが、完全に設定可能であり、さらに多くの「高度な返信」が追加されます。将来的に追加される機能です。
自動返信またはデフォルト返信はプラグイン返信をサポートしており、JPress プラグインを呼び出して返信を完了します。
記事検索をサポートします。キーワードに返信すると、キーワードに一致する記事が返されます。
将来的には、記事の同期やWeChatインポートなどの実用的な機能もサポートされる予定です。
テクノロジーの面では
JFinal をコアとして誇りを持って使用している JPress は、JFinal の柔軟なアーキテクチャからも恩恵を受けています。 JFinal フレームワークのオープン ソース システムでは、JPress はロジックの各行の実装に気を配り、コードの各行の品質に注意を払っています。これは JFinal のベスト プラクティスの 1 つであるため、必読の項目となります。すべての JFinaler に。
Freemarker と thymeleaf をテンプレート エンジンとして使用します。 JPress に組み込まれた独自のキャッシュにより、UI のレンダリング速度がテンプレート エンジンに依存しません。
Tinymce はビジュアル エディターとして使用され、simplemde はマークダウン エディターとして使用されます。この 2 つはバックグラウンドで自由に切り替えることができます。
ファイルおよび画像アップロード用の UI プラグインは、fine-uploader を使用します。
フロントエンドでは、JPress は jquery、bootstrap、admin lte、font-awesome、x-editable、fastclick、toastr、tag-editor、pace、layer などを使用します。
セキュリティに関しては、私は個人的に XSS、CSRF、SQL インジェクション、Cookie セキュリティなどについて多くの努力をし、多くの仕事をしてきましたが、セキュリティは永遠に続きます。 。 トピック。 (しかし、初心者の友人にとって、これらのセキュリティについては学び、理解する価値があるはずですよね?)
分散デプロイメントをサポートするために、JPress は HttpSession を書き換え、ehcache を使用してセッション機能を実装します。同時に、プロジェクトは Cookie に大きく依存しているため、分散アーキテクチャへの負担はありません。
JPressには以下のような特徴があります
1. 軽い。
データテーブル8個と軽量ですが、WordPressのほぼすべての機能を実現できます。依存する jar パッケージも非常に軽量で、現在は cos-26Dec2008.jar、druid-1.0.16.jar、ehcache-2.7.5.jar、fastjson-1.2.7.jar、freemarker-2.3.23 のみです。 jar、javax。mail.jar、jfinal-2.2-bin-with-src.jar、jfinal-weixin-1.7-bin-with-src.jar、jsoup-1.8.3.jar、log4j-1.2.17.jar 、mysql-connector- java-5.1.36.jar、slf4j-api-1.7.7.jar、slf4j-log4j12-1.7.7.jar、jetty-server-8.1.8.jar これら 14 個の jar パッケージ (そのうち、jetty) -server-8.1 .8.jar は必須ではなく、デバッグを容易にするためにのみ使用されます。
jar パッケージを含むプロジェクト全体のサイズは約 20MB です。
2. 速い。
どんなに複雑なページであっても、JPress はほぼ 10 ミリ秒で応答します。同時に、JPress は高速化として Alibaba Cloud、Qiniu、Youpaiyun などの CDN をサポートし、Hong のサーバーであっても分散展開やその他の機能をサポートします。コング、それは「速い」という表現でのみ使用できます。
3. 柔軟。
JPress は、「モデルとしてのテンプレート」という概念を提案しています。テンプレート作成者は、JPress を使用してブログ、ニュース システム、フォーラム、Q&A コミュニティ、ショッピング モールなどを構築できます。また、その柔軟なプラグイン機能を使用して、ほぼあらゆる種類の構築が可能です。ウェブサイトの。
4. 国内。
中国製なので、より中国人のニーズに合致しています。 JPress は WeChat パブリック アカウントと当然統合されており、Alibaba Big Fish の SMS 送信機能が組み込まれており、将来的には WeChat テンプレート メッセージの送信および通知ユーザーとして QQ メールボックス、163 メールボックスなどをサポートします。など、中国人のニーズに合わせた機能を追加していきます。
最も重要なことは
JPress は最も緩い LGPL オープンソース契約を使用していますが、これは民間契約を使用する国内の「オープンソース」製品と同レベルではありません。
jpress v4.2.0 変更ログ
新規: バックグラウンド検証コード スイッチを追加して、特定のシナリオでの自動テストを容易にします。
New: @AlienJunX のおかげで、支払い金額が 0 の場合、直接支払いが成功します。
新規: プラグインのインストール ディレクトリをカスタマイズする機能により、プラグインのインストールが容易になり、コンパイルおよびターゲット ディレクトリのクリア時にプラグインを引き続き使用できるようになります。
最適化: 記事モジュールを改善し、コレクション機能を追加します。ありがとう @ 猫を死ぬほど怖がらせるマウス
最適化: オプションのシステム構成では、構成をクリアするために空のデータを渡すことができます。
最適化: アップロードするデフォルトの添付ファイル サイズを調整します。写真のデフォルト サイズは 10 MB、その他のファイルのデフォルト サイズは 100 MB です。
最適化: これまで Jboot、Log4j2 をアップグレードします。
修正: バックグラウンドでカスタマイズされた不正なキーワードが無効になる問題
修正: API を介してオプションを削除すると、時間内に有効にならない場合があります
修正: プラグインは外部 jar に依存しているため、場合によってはインストールできない問題が発生する可能性があります。
修正: WeChat H5 支払いがページに正常に戻った後に 500 エラーが発生します、ありがとう @AlienJunX
修正: 添付ファイルが記事に挿入され、添付ファイルが大きすぎるエラーが発生すると、ページにプロンプトが表示されません。
修正: CKEditor エディターの画像を貼り付けてアップロードできない